프론트엔드-코드 237

동기, 비동기

동기 vs 비동기 작업을 순차적으로 처리할 것이냐, 아니냐 블로킹 vs 논블로킹 현재 작업을 차단/대기 해 놓느냐, 아니냐. 동기식은 블로킹이고, 비동기는 아니지. 비동기는 성능 상 이점이 있다. 왜 게임 멀티쓰레드 지원.. 생각해보면 된다. 비동기는 타이머, 애니메이션, 등등 많다. 자바스크립트 코드 자체는 Call Stack에서 실행되지만, 비동기 처리 관련해서는 Web API로 보낸다.

1. 시작

타입스크립트란. 일단 느낌상으로는 정확히 타입을 지정해 주는 것 같다. 확장자 : ts파일 ts -> 타입스크립트 컴파일러 -> 자바스크립트 타입스크립트는 독자적 언어처럼 보이지만, 라이브러리이기도 하다. 그래서 컴파일 느림. 노드js가 필요함. npm i -g typescript -g는 글로벌이란 뜻. 지역말고 전체적으로 사용할 수 있게끔 설치한단 뜻. 그 다음 ts파일을 만들고 코드를 쓰면 된다. const message: string = 'hello world'; console.log(message); message의 타입을 string으로 한다는.. let 변수명:타입명; 이렇게 코드를 다 짜고 나면, 콘솔로 그 스크립트 짠 곳 가서, tsc 파일명.ts 하면 컴파일이 되는거다. 그러면 js 파일..

리스트 vs 배열

배열은 메모리 상 순서가 있고, 리스트는 메모리 상 순서로 되어있는게 아니다. 즉 배열은 읽는게 빠르지만 사이에 추가나 삭제가 느리다. 배열 중간에 추가나 삭제법 array.splice(시작위치, 여기까지원소삭제, 들어갈값1,들어갈값2); array.splice(2,1,'a'); 두번째 인덱스부터 자리 하나를 삭제하고 'a'를 넣음. 만약 array.splice(2,3,'a'); 이렇게 해서 3개 삭제하고 a 하나만 넣어도 그 뒤는 null이 아니라 자동으로 땡겨짐. 리스트는 메모리 상 순서로 되어 있지 않기 때문에, 사이에 추가나 삭제가 상관없다. 리스트는 노드 리스트를 말하는 것 같다. 값과 인덱스, 다음 인덱스의 위치를 가지고 있는 그걸 말하는 듯. 배열.map() 배열반복함수 참고로 querySe..