본문 바로가기

전체 글

(134)
Node.js(9) - express를 활용한 게시판 구현 1) Node.js 1-1) express 기본 세팅 1-1-1) server 대기 상태 1-1-2) 템플릿 엔진 설정 1-1-3) 정적파일 미들웨어 생성 1-1-4) bodyParser 1-2) 코드 정리 1) Node.js 1-1) express 기본 세팅 DBMS, 즉 데이터베이스 없이 구현할 예정 사전 숙지 사항 express 기본 설명 게시판 형태 숙지 1-1-1) server 대기 상태 $ npm init -y # package.json 파일 생성 $ npm install express # 외장모듈인 express 설치 및 node_modules 디렉토리 생성 # server.js 파일 생성 및 실행 $ node server const express = require("express"); co..
Javascript 복습(2) - 클로저, 로또 Refactoring 1) Javascript 복습 1-1) 클로저 1-2) 로또 Refactoring 1) Javascript 복습 1-1) 클로저 function main() { for (var i = 0; i { console.log(i); }, 1000 * i); } } main(); // 문제 // var 키워드는 "함수 레벨 스코프"이므로 // main 함수 바로 밑(for 문 바로 위)에 "var i;"로 선언이 되고, // setTimeout()의 경우, 본인 스코프(for 문 내부) 내에서는 변수 i를 찾을 수 없기에 // for 문 위로 올라와 변수 i를 찾게 되는데 // 이때 변수 i는 이미 for 문을 다 돈 상태이기에 결과적으로 "i = 5"의 값을 ..
Javascript 복습 - 스코프, 호이스팅, function 키워드, this binding 1) Javascript 복습 1-1) 스코프 1-2) 호이스팅 1-3) function 키워드 1-4) this binding(this가 어려운 이유) 1) Javascript 복습 Javascript 기본문법 - 공부 순서 1. 함수 선언과 호출 2. 콜스택 3. 스코프(전역변수, 지역변수) 4. 호이스팅("실행 컨텍스트"를 배우기 위한 사전 작업) 5. function 키워드 6. this 7. 클로저 8. 함수형 프로그래밍 : map, forEach, filter 등 1-1) 스코프 var, let의 차이는 호이스팅의 발생유무(var는 호이스팅이 일어나는 반면 let은 호이스팅이 일어나지 않는다!!)이다!! 블록 레벨 스코프 함수 레벨 스코프 렉시컬 스코프 { var a = 10; } consol..
Node.js(8) - express 1) Node.js 1-1) express 1) Node.js 1-1) express 지난 블로그 글(Node.js 기초(7) - HTTP, 동적 웹 페이지 구현)에서 정적 파일 구현한 것까지 express로 구현할 예정! req 객체 res 객체 bodyParser static template engine 새로 사용해 본 것 request method : POST redirect 위의 내용들을 express로 구현할 예정!! "express"는 Node.js의 외장모듈이기에 기본적으로 설치를 진행(이때 template engine 또한 설치해줘야 하는데 우리는 express 내의 여러 template engine 중 "nunjucks"를 사용할 예정)해야 하는데, 설치에 앞서 "npm init"을 통해..
Node.js(7) - HTTP, 동적 웹 페이지 구현 1) Node.js 1-1) HTTP 1-2) 동적 웹 페이지 구현 1) Node.js 1-1) HTTP HTTP는 한 번 request와 response를 주고 받으면 연결을 끊기 때문에 다시 request와 response를 주고 받으려면 반드시 다시 연결(3-way Handshaking)을 먼저 한 뒤 request와 response를 주고 받아야 한다!!(HTTP의 "비연결성") request와 response가 파일 단위로 계속 주고 받는다는 점을 명심할 것!! - lib - req.js - res.js - template.js - views - html 파일들...(index.html, list.html, write.html, modify.html, view.html) - server.js 코..
Node.js(6) - HTTP, Node.js 내부 카테고리, file system, HTML 불러오기 1) Node.js 1-1) HTTP Protocol 1-2) Node.js 내부 카테고리 1-3) file system 1-4) HTML 불러오기 1) Node.js 1-1) HTTP Protocol 'React'가 개발('meta'에서 개발함!)되면서 React로 웹 페이지를 많이 구현하게 되었고, 이로 인해 프론트엔드 개발자가 생겨났다! ※ API : 내 서버가 아닌 다른 사람의 서버에 데이터를 요청해서 가져오는 것 HTML을 어떻게 표현하나? --> 2가지 형태로 표현 가능하다!! 1-2) Node.js 내부 카테고리 - 내장객체 - global - process - Buffer - __dirname - __filename - module - require - 내장모듈 - path - net - ..
Node.js(5) - TCP, HTTP(Request Message / Response Message), express 1) Node.js 1-1) TCP 1-2) HTTP 1-3) request message / response message 1-4) express 1) Node.js 1-1) TCP OSI 7계층 LAN 선이 꽂혔을 때 데이터가 변하는 과정을 OSI 7계층으로 표현한 것이다! 5계층 ~ 7계층까지가 사람이 개발하는 영역(User 영역)이다!! 3계층(IP)과 4계층(TCP)은 Kernel 영역이다! TCP는 순서를 지키고 연결이라는 작업이 있다! UDP는 연결 작업이 없기에 순서를 지키지 않고 데이터를 보낸다! 데이터를 보낼 시 쪼개서 보내기 때문에 순서를 잘 지켜서 보내야 한다! Node.js와 브라우저의 차이 브라우저에서 실행하는 코드는 내 컴퓨터를 조작할 수 없지만 Node.js에서 실행하는 코드..
Node.js(4) - TCP, 프로토콜, request message / response message 1) Node.js 1-1) TCP(L4) 1-2) L5 ~ L7 프로토콜 1-3) request message / response message 1) Node.js 1-1) TCP(L4) L4의 식별자 : port L3의 식별자 IP 프로그램과 프로세스의 차이 프로그램 : 코드 프로세스 : 코드를 실행시키는 것 프로세스는 데이터 공유가 안되는 반면, 스레드는 데이터 공유가 가능하다! 프로세스끼리 데이터를 공유하려면 "통신"으로 데이터 공유를 해야 한다! OSI 7계층 : 컴퓨터의 네트워크를 계층별로 설명한 것 우리는 인터넷(L3 해당), TCP(L4 해당)를 사용할 것이다! 5 ~ 7 계층(통틀어 Application Layer) TCP와 Application Layer 간의 통신을 하기 위해 sock..