본문 바로가기

Development/JavaScript

(4)
Development/JavaScript Javascript와 Node.js 개념 정리(제대로 알자) - 프롤로그 추가 들어가며최근 어떤 6년차 개발자로부터 아래와 같이 괴상한 말을 들은 적이 있다.React로 개발한 웹 애플리케이션을 배포할 때 S3로 배포하지 말고 별도의 서버 애플리케이션을 두어 배포해야 한다.React 웹 애플리케이션도 S3에 로깅해야 한다.React도 Node.js이며 서버이므로 Socket 서버를 열 수 있으며, Chrome에서 동작하는 Javascript도 Node.js이므로 Node.js에서 사용 가능한 모듈은 React에서도 사용할 수 있다(예 : Redis, MongoDB 커넥션 등).이 말들에 반박을 하였지만, 마치 무한루프에 빠진 것 같았다. 그리고 필자에게 이런 말을 하곤 했다.원래 잘 모르는 경우에는 경력 많은 사람의 말이 이해가 안 된다.자기도 그랬다. 찾아봐라.Javascript..
Development/JavaScript Javascript의 병렬 처리에 관한 견해(동기, 비동기, blocking, non-blocking) 개념 정리 개요 Javascript를 공부해본 사람이라면 단일 쓰레드, 콜백, 비동기, 병렬처리에 대한 내용을 접해본 경험이 있을 것이다. 위의 용어 자체가 추상적이기도 하고, 쉽게 와닿지 않기 때문에 단번에 이해하기에는 꽤 어려운 개념일수도 있는데, 사실 위에서 언급 내용은 모두 연관성이 있기 때문에 Javascript의 동작 방식을 이해하고 나면 전체적인 그림이 그려질 것이라 생각한다. 이번 글은 100% 정확한 사실에 기반한 내용을 정리한 것이 아니라는 점을 참고하기 바란다. 병렬처리에 대한 주관적인 생각 구글링을 하다보면, 'Javascript는 병렬적으로 수행된다'라는 내용을 가끔 확인할 수 있다. 이 내용을 처음 보았을 때에는 '그런가보다'하며 넘어갔었는데, 단일 쓰레드, 콜..
Development/JavaScript JavaScript 위치 및 async/defer 속성에 따른 HTML 렌더링 효율성 위치에 따른 렌더링 시간 웹 브라우저의 역할은 서버로부터 웹 페이지를 이루고 있는 여러 파일을 전달(다운로드) 받은 후 HTML 문서를 위에서부터 한 줄씩 읽으며(parsing) 화면에 보여주는 것이라고 할 수 있다. HTML 파일에는 CSS, JavaScript와 같은 여러 파일이 링크된 상태로 포함되어 있는데, 이러한 파일들은 해당 파일을 링크하는 코드가 읽힌 후 다운로드 된다. 먼저, 웹 브라우저는 이 경우에는 웹 브라우저가 HTML 파싱을 모두 마친 후 JavaScript 파일을 다운로드하기 때문에 앞의 상황에 비해 훨씬 빠르게 웹 페이지를 화면에 나타낼 수 있다. 그러나, 해당 웹 사이트의 주된 컨텐츠가 JavaScript를 통해 생성되는 등 JavaScript에 의존적인 경우 정상적인 웹 페이..
Development/JavaScript JavaScript를 공부하기 전에 알고 있으면 좋은 내용 정리 '역사는 미래를 비추는 거울'이라는 말이 있지 않은가? 따라서, JavaScript를 제대로 공부하기 전에 JavaScript의 탄생 배경, 역사와 일화 등을 간략히 정리해보았다. 이를 통해 앞으로 어떠한 방향으로 웹 개발을 공부해야 하는지 파악하기 위한 정보가 되었으면 한다. 최초의 UI 기반 웹 브라우저 Mosaic의 등장 1993년, 최초로 UI요소가 더해진 Mosaic Web Browser가 등장하였다. Mosaic Web Browser의 개발팀을 이끌던 Marc Andreessen은 대학교 졸업과 동시에 Netscape를 설립하였고, Mosaic Web Browser 보다 다양한 UI 요소가 더해진 NetScape Navigator라는 웹 브라우저를 시장에 내놓았다. 이 당시 모든..