[Conf] Javascript in everywhere
06.22. 2019#1 CRA 으로 SSR 을 구현하며 배운 점 (승형수)
CSR? SSR?
- CRS : 초기 로딩 속도가 느리고, 각 브라우저에 따라 자바스크립트 버전 의존도가 높다
- SSR : 서버에서 한번, 클라이언트에서 한번 각각 렌더링
hydrate
: render
의 전체 로드가 아닌 부분적으로 업데이트된 부분만 업데이트
Checklist
서버 코드와 클라이언트 코드는 분리
빛보다 빠른 굴절 (ts)
- TS 의 타입 체킹과 동시에 바벨 모듈을 거치지 않아서 생산성 향상
필수 패키지 설치 이슈
#2 ProtoPie 개발 경험기 (류성탁)
Electron
- Chromium + Node.js + Native APIs = Electron
- Main Processor + Renderer Process
- Main Processor : V8 + Nodejs + Electron (전반적인 라이프사이클 관리)
- Renderer Process : Main Processor + Chromium
- Electron API Domos
ProtoPie 개발기
- ASAR : Electron Application packaging library
- → 개발 버전과 빌드 버전에서 소스코드의 대소문자를 구분하지 못하는 이슈가 있었음
- Context Menu 와 Menu
- → Menu 는 읽기 전용이라 재빌드를 했음
- →
Role
옵션
- ⇒ Electron 내부에서 제공해주는 기본 동작들에 대한 기능
- ⇒ visivle, enabled 의 일부 옵션은 적용이 되지않음
- CSP (Content-Security-Policy) 이슈
- → 인라인 코드와
eval
은 유해한 것으로 간주
- Node-integration option 이슈
- → Renderer Process 에서 Nodejs 를 통합하여 사용할 것인가 (CommonJS 모듈 방식을 사용할 수 있음)
- → Electron v.5.0.0 이후부터 기본값이 false 로 바뀜
ProtoPie 소스코드 보호
- Model 을 포함한 비즈니스 로직을 담당, 소스코드를 보호하기 위해 PKG로 패키징
- Renderer Process - Main Process ← (Node IPC) → Server Process (File I/O)
- Preview 와 Studio 에서 연속적으로 큰 데이터를 주고 받기 때문에 IPC에서 병목현상이 생겼음
Elecetron Debugging
- IED Debugger 설정
Electron quick stater
사용해서 연습!
#3 Serverless 프레임워크로 Nuxt 앱 배포하기 (전창완)
NuxtJS
- Vue Framework : 3가지 옵션으로 선택할 수 있음
- SPA : AWS S3 호스팅 가능
- Static Generated : API, Login (인증) 불가, AWS S3 호스팅 가능
- Server Side Rendering : Serverless 에서 가능
- Serverless : 서비스 + 인프라 구성이 손쉽게 가능
- AWS Lamda
- Azure Function
- Google ColudFunction
- Severless 장점
- 정적 파일(Static file) 처리 : S3
- Serverless 배포 (Serverless lifecycle)
- S3 CloudFront 적용 ( + Lamda@edge)
- Serverless Framework 는 API Gateway 는 HTTP 만 지원 (HTTP → HTTPS Redirect issue)
- ⇒ ALB Event 지원 (API Gateway HTTPS 지원)
#4 React Hooks + TS + Funtional = 아름다움 (이윤재)
- Functional component 안에서 함수를 정의하면 컴포넌트가 렌더 될때마다 함수도 같이 호출되기 때문에 X
- Hooks 의
useState
를 사용하여 함수를 전달 할 경우 최초 컴포넌트가 렌더될때만 실행 됨
- 모든 Hooks 는 함수의 최상위 레벨에서만 사용할 수 있다
useEffect
에서는 Clean up function 만, useCallback
에서는 async
가 사용 가능
Was it useful?