본문 바로가기

전체 글

(341)
[두번째] Node.js 기본 / 모듈과 NPM 모듈, NPM 모듈(Module)이란 무엇인가?쉽게 말하면 부품이라고 이해하면 될 것 같다.선배 개발자분들께서 기본적인 웹 서버를 구축하는데 필요한 부품들을 이미 만들어놨다.그리고 그것들을 사용할 수 있도록 해두었다.오픈소스의 힘이라고 볼 수 있다.하지만 수 많은 도구들이 있어도 그것을 사용하는 방법을 모르면 그것들은 무용지물이 된다.우리는 그것들을 가져다 사용할 방법을 알아야한다. 그렇기에 Node.js 홈페이지의 Docs(사용설명서)를 읽을 줄 알아야한다. 모듈 사용해보기.자신이 작업할 폴더에 module.js 파일을 만들어두고module.js 파일에 입력한다.var o = require('os');console.log(o.platform());os라는 모듈은 현재 node.js가 구동되고 있는 운영..
[개발상식] 6. 인터넷 기초 II / 인터넷 동작 방법, 포트 지금 이 순간에도 사용하고 있는 인터넷어떻게 동작하는걸까? 인터넷의 동작 방법 독립적이었던 컴퓨터들이 인터넷에 의해 연결되었다.컴퓨터들은 서로 데이터를 요청하고 제공하기도 한다.우리는 요청하는 컴퓨터를 클라이언트, 제공하는 컴퓨터를 서버라고 한다.서버-클라이언트, 클라이언트-서버어느 컴퓨터가 서버인지 클라이언트인지는 상대적인 개념이다.상황에 따라서 내 컴퓨터가 클라이언트가 될 수도 있고 서버가 될 수도 있다.일반적으로 웹브라우저가 설치된 컴퓨터와 서버측 컴퓨터가 있다면 웹브라우저가 클라이언트가 된다. 상황을 가정해보자.클라이언트가 주소창에 http://a.com 을 입력하였다.서버에게 http://a.com 라는 주소가 넘겨졌다.a.com 에 여러 가지 서버가 있을 수 있다.(DB서버 / 채팅서버 / 웹..
[개발상식] 5.인터넷 기초 I / DNS,IP 서버에 대한 공부를 하면서 인터넷에 대한 기초적인 개념은 필수라고 생각했다.수업에서 들은 내용을 정리하면서 조금 더 공부해봤다. 실제 서비스 배포에 대한 기초하여 인터넷을 알아보자. 우리가 인터넷을 이용하면서 웹사이트를 접속하는 방법은 총 두 가지이다.IP주소도메인 네임대부분의 사람들이 후자를 이용하여 웹사이트에 접속할 것이다. IP주소란 무엇인가Internet Protocol Address쉽게 말하면 숫자로 이루어진 주소로네트워크 상에서 통신을 하기 위해 각각의 컴퓨터가 갖고 있는 고유한 번호라고 할 수 있겠다.ex)127.0.0.1 IP주소는 기억하기 어렵다는 치명적인 단점이 있다.그래서 사용자가 도메인 네임을 주소창에 입력을 하게 되면도메인네임에 해당하는 ip주소로 이동하게 된다.그래서 우리는 도메..
[첫번째] Node.js 기본 / About node! / 간단한 웹 애플리케이션 만들기 Node.js가 무엇인지 얕게 알아보았다.하지만 아직도 어떻게 생겼는지도 모른다.이번 첫시간에 실체를 밝힌다.https://nodejs.org/en/about/node.js 홈페이지에 들어가서 [About]탭에 들어가면 바로 나오는 코드이다.자신의 실체를 몇줄의 코드로 명확히 밝히고 있다. const http = require('http');const hostname = '127.0.0.1';const port = 1337;http.createServer((req, res) => {res.writeHead(200, { 'Content-Type': 'text/plain' });res.end('Hello World\n');}).listen(port, hostname, () => {console.log(`Se..
[개발상식] 4. REST or RESTFul Node.js 를 공부하는 중에 서버에서 데이터를 전송하는 방식에는 GET과 POST 방식 이렇게 크게 두 가지가 있다는 것을 배웠다.그러면서 GET방식에서 'params' 라는 것을 배우는데나중에 다룰 'RESTFul'을 알아야 하기 때문에 일단 넘어간다고 해서 한 번 알아봤다. RestFulRest (Representational State Transfer)> 소프트웨어 아키텍처 > 네트워크 시스템의 아키텍처 스타일어떤 범주에 속하느냐로 우선 접근해보았다.소프트웨어 아키텍처 중 하나였고 그 중에서도 네트워크와 관련된 아키텍처 스타일이였다. 위키백과의 정의,1. 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식.2. 네트워크 아키텍처 원리(자원을 정의하고 자원에 대한..
[개발상식] 3. 라우팅 / 패킷 네트워크 쪽이야기에서 라우팅, 라우터 이야기가 빠질 수 없다.라우팅을 아주 아주 얕게 이야기하는데 패킷을 모르고 넘어갈 수 없어 패킷이랑 묶었다. 패킷(packet)이란?: 통신, 네트워크에서 한 번에 전송하는 정보의 단위.패킷 단위로 잘게 쪼개서 전송을 한다고 한다.(패킷 교환 방식)패킷 교환 방식을 사용하는 이유는에러 발생 시 발생한 부분부터 보낼 수 있다는 점 때문이다.3~4계층의 데이터 단위를 패킷이라 정의하고1~2계층의 데이터 단위는 프레임이라고 지칭한다.패킷은 헤더, 데이터, 테일러로 이루어져 있다.헤더에는 수신처의 인터넷 주소와 순서테일러에는 에러 정보가 기록되어 있다. 라우팅(Routing)이란?1. 데이터를 최적의 경로를 선택하여 목적지까지 이송하는 모든 절차.2. 하나의 컴퓨터로 자신이..
[프롤로그] Node.js 란 무엇인가? 자바스크립트로 서버를 개발할 수 있다던데?웹의 역사에서부터 천천히 출발해보자.1990년 Tim Berners lee 가 WEB 을 창시했다.이때의 웹은 정적인 체계의 웹이였다.Marc Andreessen 에 의해 Netscape 라는 대중적 웹브라우저가 등장하게 되었고Brendan Eich에 의해 JavaScript 등장하고 웹에 동적인 체계를 탑재하게 되었다.즉, 사용자와 상호작용이 가능해졌다는 이야기이다. WEB이라는 울타리안에 갇혀있던 JavaScript,대중성을 중시해서 천대 받던 JavaScript가 재조명 받게되는 계기가 있었다.2004 년, Gmail 등장이다.순수한 웹기술(HTML, JavaScript 등)을 통해서 만들었음에도 불구하고뛰어난 성능을 보인 것이다.이어서 GMap도 순수 웹기..
[그들이 쓰는 언어] 2.파싱 / 파서 / 컴파일 / 루틴 파싱'HTML을 파싱해 DOM을 구성한다.''파싱'이라는 말을 밥먹듯이 사용하는 개발자님들이다.컴퓨터 과학 분야에서 파싱은 일련의 문자열을 의미있는 토큰으로 분해하고 이들로 이루어진 파스트리를 만드는 과정을 말한다.가공되지 않은 데이터에서 원하는 특정한 문자열을 빼내는 작업이라고 할 수 있다 즉, 어떤 데이터를 원하는 모양으로 만들어 내는 것을 말한다.원하는 모양은 내가 설정하지 않는다.컴퓨터가 이해하기 쉬운, 컴퓨터가 원하는 모양으로 만들어 내는 것이다. 구체적으로 말하자면 특정문서를 읽어 들여서 이를 다른 프로그램이나 서브루틴이 사용할 수 있는 내부의 표현 방식으로 변환시켜 주는 것이다. 즉 사용자가 입력한 코드를 컴퓨터가 이해할 수 있도록 변환해주는 과정인 것이다. 파싱을 하는 프로세서를 '파서'라..