[Conf] 2019 JS Conf

다마고치로 배우는 제너레이터

loopgenerator 객체를 사용하여 좀 더 유려하게 개발할 수 있다. 아직 많은 브라우저에서 미지원 기능이 다수 있음

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 모듈과 디자인 시스템의 유기적인 협업 시스템이 제일 부러웠다.

Was it useful?