다마고치로 배우는 제너레이터
loop
를 generator
객체를 사용하여 좀 더 유려하게 개발할 수 있다. 아직 많은 브라우저에서 미지원 기능이 다수 있음
Don't block the event loop!
자바스크립트는 싱글스레드 기반의 언어이기에 하나의 호출 스택을 사용한다.
그래서 Run to Completion
이라는 특징을 갖고 있는데 이는 '하나의 함수가 실행되면 이 함수 실행이 끝날 때까지 다른 함수(task)가 수행이 안됨'이라는 뜻이다.
JS의 동작방식은 다음과 같다.
요청이 들어오면 순차적으로 호출 스택
에 담아 순서대로 쌓는다.
함수가 실행될 때 콜 스택
에 push
되고 함수 실행이 끝나면 pop
된다.
Task Queue
라는 자바스크립트의 런타임 환경에서 처리해야 하는 Task를 임시 저장하는 공간이 있다. 이 공간은 콜 스택
이 비어젔을때 대기열에 들어온 순서대로 수행한다.
Task Queue 에 들어가는 Task 들을 괸리하는 Event loop
는 콜 스택
이 비워지면 Task Queue
대기열에 추가된 콜백함수를 순차대로 실행
이는 결국 사용자 경험에 영향을 미치게 된다.
매끄러운 경험을 위한 자바스크립트 비동기 처리
call stack - run to completion
event loop
- Task : 순차적 실행
- Micro Task : 비동기 작업, Task 보다 우선순위가 높음
해결
- web worker 사용 (멀티스레드) : 직접적으로 DOM이나 메인 스레드에 관여X
- 작은 task 단위로 쪼개서 실행중엔 취소하고 한번에 처리를 함
오픈소스 프로젝트 mocha 에서 배운 것들
오픈소스 프로젝트 'mocha' (자바스크립트 테스트 프레임워크) 에 참여하여 느낀 생태계에서 배운점을 공유
오픈소스 프로젝트의 메인테이너의 역할과 바쁜 삶(?)에 대하여 발표
이슈 생성시엔 MCVE (작고 완벽하고 증명할수 있는 케이스)
⇒ 오픈소스 프로젝트에 컨트리뷰터부터 시작을 해야겠다고 느낌
생명을 살리는 자바스크립트와 인공지능
- data refining (model)
- deploying (property based testing)
- data pipeline (Back-end)
- Front-end
과정을 거쳐 프로젝트를 띄웠음
⇒ Tensorflow.js 는 아직 실무에서 사용하기 힘들다
백 투 더 퓨처 오브 자바스크립트 II : 미래를 넘어
pipeline operator
를 사용하여 중첩 함수 호출을 좀 더 읽기 좋은 형식으로 작성할 수 있지만, 미지원 스펙인 경우가 많음
함수형, Redux 와 Canvas 에 적용하면서 배워나가기
주니어 프론트엔드 개발자(3년차)의 '루*' 입사 회고록
React app 으로 개발하면서 상태관리는 Redux로 한 프로젝트의 코드리뷰 정도
얕은 레벨의 간략한 후기식의 컨퍼런스였는데 제일 별로였다.
Typescript로 디자인 시스템에 날개 달기
잘 구축된 디자인 시스템으로 프론트엔드의 Typescript
를 활용한 UI 구축의 날개 달기. UI 모듈과 디자인 시스템의 유기적인 협업 시스템이 제일 부러웠다.