All Articles

[20190904 TIL]


2019-09-04 TIL


잘 알려지지 않은 유용한 CSS 속성 알아보기

[ 출처: https://ahnheejong.name/articles/less-famous-css-properties/ ]


코드 스플리팅

싱글 페이지 애플리케이션의 단점은 페이지 로딩 속도가 지연될 수 있다는 점입니다. 로딩 속도가 지연되는 이유는 자바스크립트 번들 파일에 모든 애플리케이션의 로직을 불러오므로 규모가 커지면서 용량도 커지기 때문입니다.

코드 스플리팅은 말 그대로 코드를 분할한다는 의미입니다. webpack에서 프로젝트를 번들링할 때 파일 하나가 아니라 파일 여러 개로 분리시켜서 결과물을 만들 수 있습니다. 또 페이지를 로딩할 때 한꺼번에 불러오는 것이 아니라 필요한 시점에 불러올 수도 있습니다.


Koa 프레임워크

Node.js 환경에서 웹 서버를 구축할 때는 보통 Express, Hapi, Koa 등 웹 프레임워크를 사용합니다.

현재 웹 프레임워크 중에서 Express가 가장 사용률이 높기는 합니다. 하지만 이 프레임워크는 오픈 소스의 소유권이 IBM 계열사인 StringLoop로 이전되어 유지 보수는 하고 있지만 인지도는 조금씩 잃고 있습니다.

Koa 프레임워크는 Express의 기존 개발 팀이 소유권을 IBM에 넘기기 전부터 개발해 오던 프로젝트로, Express를 리팩토링한 결과물이며, 기존 Express에 비해 아키텍처가 많이 바뀌어서 버전을 높이지 않고 새 이름을 붙였다고 합니다.

Koa는 Express에 비해 훨씬 가볍고, Node v7.6부터 정식으로 지원하는 async/await 문법을 아주 편하게 사용할 수 있습니다. 따라서 콜백을 무수하게 사용하는 콜백 지옥을 겪을 일도 없고, 비동기 작업도 편리하게 관리할 수 있습니다.