Computer Science

    [JS/EventLoop/CS] JS의 코드의 실행을 이해기 위한 CS

    JavaScript는 다른 언어들과 다르게, 특이한 흐름이 있습니다. JS는 "싱글 쓰레드"언어이지만, 동시성을 갖고 있는 언어이기도 합니다. 이게 무슨말인지 잘 와닿지 않을 수 있습니다. 여기서는 CS지식이 들어갈 수 밖에 없고, 저는 다행히 전공을 했기 때문에 이해가 가지만, 어려운 개념에는 틀림이 없습니다! 천천히 가보죠! 동시성(Concurrency) 프로그램 처리 관점에서 Concurrency는 "동시에 수행하는 것 처럼 동작시키는 것"을 이야기합니다. 아래의 예시를 보시죠. 어떤 작업 Task1,Task2가 듀얼코어의 CPU 시스템에서 처리된다고 생각해봅시다. cpu는 1개의 task밖에 처리를 못한다고 가정하겠습니다. 이런상황에서 , task 3,task 4를 진행시키고 싶은겁니다. 다른 말..

    [웹 통신/Protocol/HTTP] 웹 통신과 HTTP에 대해서

    Node JS 글을 곧 업로드하기전, 웹 서버에 대한 기본적인 지식을 업로드합니다. 사실, 서버는 "통신"이 기본이기 때문에, 다양한 Computer Network 지식이 필요하지만 항상 "필요한 지식"을 습득하고 바로 적용시키는 인재가 되기 위해서, 필요한 정도까지 , 깊이감있게 해보도록 하겠습니다! HTTP (HyperText Transfer Protocol) HTML 문서를 주고 받기위해서 정의된 통신규약입니다. 웹에서 이루어지는 모든 데이터교환의 기초이고, 클라이언트 -서버 모델을 기본으로 합니다. "Client(브라우저) - Server(웹 서버) 사이에서 이루어지는 데이터 교환에 대한 약속" 이라고 생각하면 쉬울것 같습니다. Server - Client 모델 Client 저는 태어날 때 부터,..