들어가며최근 대학교 동문 개발자들끼리 네트워킹을 한 적이 있었다. 다양한 포지션의 개발자분들이 모여서 이런저런 이야기를 나누었는 데, 가장 흥미로웠던 주제는 아이폰에서의 safari 및 chrome이 프론트엔드 개발자의 골칫덩어리라는 것이다. 결론부터 말하면 아이폰에서는 우리가 흔하게 아는 chromium이라는 웹 브라우저 엔진이 아니라 WebKit이라는 엔진을 통해서 웹사이트를 렌더링 하기 때문에 자질구레한 에러들이 많이 발생하게 된다. 웹 서핑을 하는 도중 문득 위 이야기가 생각이 났다. 대체 웹 브라우저에 어떠한 역사가 있었기에 그러한 일이 일어나는 것일까? 간단하게 나마 한 번 살펴보자고 하였는데, 생각보다 방대한 양에 조금 놀랐다. 관련해서 흥미로운 것들을 많이 확인할 수 있었는데, 내가 정리했..
V8
들어가며 가끔씩 다양한 언어의 빌드를 지원하는 사이트를 보면 자바스크립트라는 언어로 코드를 작성하고 싶은데, 자바스크립트는 안 보이고 node.js라고 쓸 때가 있다. 예를 들어서 repl.it이 그렇다. 처음에는 어째서 자바스크립트가 아닐까 생각했는데, node.js 생태계에 익숙해지면서 node.js라고 적는 이유를 알 것 같게 되었다. 그 외에도 다양한 언어를 통해서 서버를 만들면서 자바스크립트의 작동 원리는 굉장히 신기했다. 자바스크립트 싱글 스레드 기반이며 논 블로킹 패러다임의 비동기적인 동시성 언어입니다. 라는 한 줄에 담긴 심오한 작동 원리가 있다. 그 외에도 웹 브라우저를 위해 태어난 언어인 자바스크립트를 높은 퍼포먼스로 작동시키기 위해 C++로 짜인 node.js의 모듈이 돕는다거나, 이..