일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- topologySpreadConstraints
- AWS Route53
- spring
- AWS RDS
- Java
- html
- git
- json
- post
- javascript
- mysql
- jsp
- AWS
- zombie-hit apartment
- Bootstrap
- sessionStorage
- Kubernetes
- 예매로직
- MySQL Error
- ajax
- ssh
- node.js
- ES6
- Get
- spread operator
- terminationGracePeriodSeconds
- chartjs
- mongodb
- 영화예매
- 인생이재밌다
- Today
- Total
목록javascript & typescript (13)
jongviet
-이상한 고집이 있어서 항상 반복문을 통해 DB를 get, put, update, delete 할 때 항상 for await of를 썼었다. 언제부터인지는 모르겠지만 개발 첫 회사에서 통계 관련 데이터를 몽고DB에 update를 치다가, 업데이트 직후 후처리를 순차적으로 해야 할 일이 있어서 그랬던 것 같다. 이번에 특정 기능을 고도화하다가 확실하게 깨달았는데 for await of 대비 promise.all이 단순 get 기준 5배 정도 빨랐다. 1.for await of -순차적으로 반드시 처리되어야 하고 res를 받아서 후처리를하거나 응답값에 포함되어야 해야 할 때 사용! 2.promise.all -순차적으로 처리될 필요가 없는 경우 사용하기 아주 적절. 특히 get의 경우 전부다 받은 다음 추가적..
*3월6일 union type type WindowStates = "open" | "closed" | "minimized"; type LockStates = "locked" | "unlocked"; type OddNumbersUnderTen = 1 | 3 | 5 | 7 | 9; Generic type StringArray = Array; type NumberArray = Array; type ObjectWithNameArray = Array; Tuple: 요소 타입과 개수가 고정된 배열 const tuple: [string, number]; tuple = [“hi”, 1000]; Enum enum Color {Red = 1, Green, Blue} function a(): void { return not..
*10월17일 -불변성 지키면서 객체 수정 / 병합 / 제거 const obj= { a: 1, b: 2 }; const newObj= { ...object, //spread operator로 복사 후, 변경원하는 값만 변경 b: 3 }; const schedules= [ { id: 1, whatDay: 'Mon', isDone: true }, { id: 2, whatDay: 'Wed', isDone: false } ]; const merged= schedules.concat({ // concat을 활용한 병합 id: 3, whatDay: 'days', isDone: false }); const filtered = schedules.filter(schedule=> schedule.id !== 3); //3..
*10월10일 *Spread operator -객체 넘길 때에는 새로운 객체 안에 넣어서 파라미터로 넘겨야하고, 받을 때도 새로운 객체 안에서 받는 형태여야만 가능 -그게 아닐 시 TypeError: Found non-callable @@iterator 에러남!! const result = { bankInfo: null, accountInfo: null } function test( {bankInfo = undefined, accountInfo = undefined} ) { console.log(bankInfo) console.log(accountInfo) } test( {…result} )
*9월30일 -객체 형태 배열 string화 하기 const msgBox = [ {msg : "환불계좌 입금 전 1"}, {msg : "환불계좌 입금 전 2"}, {msg : "환불계좌 입금 전 3"} ] const arr = msgBox.map(obj => { return obj.msg // 배열화 }) console.log(arr) // ["환불계좌 입금 전 1", "환불계좌 입금 전 2", "환불계좌 입금 전 3"] const result = arr.join(',\n') console.log(result) // "환불계좌 입금 전 1, 환불계좌 입금 전 2, 환불계좌 입금 전 3"
*9월25일 -for await of는 반복문 내에 있는 모든 비동기함수를 기다려 주는 구문이다. 일반적인 for문 내에 await functionA, await functionB와 같이 사용하면 경고 표시줄과 함께 반복문 내에서는 사용할 수 없다는 문구가 뜬다. 의외로 작업하면서 반복문 내에서 await function을 여러개 사용할 일이 많았기 때문에 아주 유용했다. -promise.all()과 비교해보자면, promise all은 반복문 내의 모든 함수를 동시에 실행하지만, for await of는 내부의 await function을 순차적으로 실행한다. const funcs = [ { do: functionA }, { do: function B} ....] for(let func of funcs..

*9월5일 -non-blocking, asynchronous, single-threaded, callback queue, eventloop 자바스크립트를 가장 잘 설명해주는 단어들이다. ->자바스크립트는 multi가 아닌 single-threaded language이기에 stack에 있는 task 중, 한번에 하나의 task만 수행 가능하다. 이로인해 작업을 synchronous하게 할 시, 특정한 작업이 끝날 때까지 아무런 작업을 하지 않고 대기하기 때문에, 클라이언트로부터 수 많은 요청이 오는 것이 일반적인 요즘에는 적합하지 않다. ->이를 극복하기 위해 등장한 것이 바로 asynchronous하게 작업을 처리하는 것이다. 한번에 a, b, c 작업을 진행 시, a 작업이 끝날 때까지 기다리지 않고,..
*8월26일 -underscore '_' -자바스크립트 라이브러리로 매우 작은 용량에 80여가지의 function을 제공 npm install underscore const _ = require('underscore'); -배열 구조 분해 -'...rest'로 배정되지 않은 그외 모든 배열값 할당 가능, 반드시 제일 뒤에 위치 해야함 let a, b, rest; [a, b, ...rest] = [1, 2, 3, 4, 5, 6, 7]; console.log(rest); -obj 형태 let c,d ({c, d} = {c:1, d:2}) console.log(c) // 1 console.log(d) // 2 -기본값 설정 let a, b [a = 5, b =7] = [1] console.log(a) // 1..