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