
이번엔 미들웨어에 대해 알아보자 서버에 필요한 기능들을 익스프레스 인스턴스(어플리케이션)에 추가하는 것이다. helmet, cooieParser, bodyPerser, morgan 등이 있고 그 외에도 Custom Middleware를 작성할 수도 있다. middleware를 추가할 때는 app.use()를 사용한다. index.js를 위와 같이 바꿔주고 실행시킨 후 cmd창에서 curl -X GET "localhost:3000" 를 실행시켜주면 index.js를 실행시킨 쪽에서 아래와 같이 나오게 된다. Custom logging Middleware가 찍혀나오게 된다. middleware에는 req, res, next를 인자로 가지며 next를 실행시켜야 다음 함수로 넘어가게 되는 것이다. 다른 함수를..

가볍게 디버깅하는 법을 알아봅시다. hello.py를 수정해서 간단히 코드를 작성해봅시다. 그리고 c=a+b 파트에 중단점을 걸어줍시다. 그리고 F5로 디버깅을 시작합시다. (참고로 처음 가상환경에 진입하면 Formatter나 Linter 가 깔리지 않았다고 나오면 Yes를 눌러줍시다) 왼쪽 디버거에 등등 이 나오게 될겁니다. 여기서 F10을 누르면 다음 코드가 실행됩니다. Local에 c가 생겼고 b=c-b 앞에서 멈췄다고 나오네요 한번더 F10을 눌러서 b값이 변경되는걸 확인해봅시다. b값이 변경되었음을 알 수 있습니다. 다음은 간단한 재귀함수를 작성해보겠습니다. 1~n까지의 합을 구하는 재귀함수를 작성해보았습니다. 중단점은 return 문에 걸어둡시다. 디버깅을 시작하면 local에 n이 5, ca..

VS code를 설치 후 Microsoft에서 나온 python extension을 설치해줍시다. 지금은 아마 큰 상관없겠지만 다양한 package들을 설치하게 될 경우, 프로젝트마다 다른 버전의 패키지를 사용하게 될 것에 대비해서 가상환경을 setup해놓는 것을 알아보겠습니다. 저는 윈도우10 기준으로 작성할 겁니다. terminal에서 아래 코드를 실행합니다. Python_Programming 대신 다른 이름을 써도 괜찮습니다. py -3.7 -m venv Python_Programming 아래와 같은 폴더가 생성될 겁니다. 이후 아래를 터미널에서 입력해줍시다. Python_Programming은 여러분이 위에서 선택한 이름을 써도 됩니다. Python_Programming\Scripts\activa..
전 포스팅에서 서버에서 일일히 url을 설정하지 않기 위해 express.js에 대해 알아보겠다. http://expressjs.com/ Express - Node.js web application framework Fast, unopinionated, minimalist web framework for Node.js $ npm install express --save expressjs.com express는 Node.js를 위한 웹 프레임 워크이다. express에는 어플리케이션 미들웨어 라우터 request response 등의 개념이 있다. 어플리케이션은 익스프레스 인스턴스를 의미한다. 우선은 express를 설치하자 npm install express --save index.js 파일을 (http..

우선은 terminal을 하나 더 열고 curl -X GET "localhost:3000" 를 실행해보면 Hello World가 찍힐 것이다. 서버가 listen의 대기상태이고 요청이 들어올 때 마다 해당 서버 코드의 콜백함수가 동작하는 것이다. const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader("Content-Type", "text/plain"); res.end("Hello World"); }); 이때 아래를 실행해도 Hello World가 찍힐 것이다. 그렇다면 /intro는 어디에 있는 것일까? curl -X GET "localhost:3000/intro" 정답은 저 곳의 req에 있다. req.u..

https://nodejs.org/en/docs/guides/getting-started-guide/ Getting Started Guide | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 를 살펴보자. index.js파일을 만들고 코드를 작성해보자. 다음 node index.js를 terminal에서 실행해주면 127.0.0.1, port는 3000에서 Hello World를 찍어준다. 코드를 간단히 살펴보면 http 모듈을 불러오고. hostname 과 port를 지정해주었다. 다음은 http모듈의 createServer method를 활용하여 Server를 만들었다. 마지막으로 s..
브라우저 밖에서 자바스크립트 코드를 실행한다. V8 엔진을 사용한다 이벤트 기반의 비동기 I/O 프레임워크이다. Client , Event Loop , Non-blocking Worker 로 크게 이루어져 있고 Event Loop은 single thread로 이루어져 있다. Client가 HTTP requests를 Node.JS 서버로 보내게 되면 Event Loop에서 일을 처리하고 Client로 결과를 return 하게 된다. Event Loop에서는 Event Queue에 있는 일을 하나씩 실행하게 된다. 이 때 Event Loop에서 일을 처리할 때 Event Loop에서 바로 처리할 수 없을 때는 다른 스레드, Non-blocking Worker로 일을 넘겨주어 실행시킨다. 결과가 완료된 후에는..
https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 에서 Node.js를 설치해주면 node.js와 npm이 같이 설치됩니다. 저는 VS Code를 쓸거니까 https://code.visualstudio.com/download Download Visual Studio Code - Mac, Linux, Windows Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experien..
자바스크립트는 Web Frontend를 개발하는데 있어서 필수적이다. Backend는 자바, 파이썬 등등 다른 언어도 가능하지만 프론트에서는 자바스크립트외에는 다른 선택지가 없다고 봐야한다. 웹 브라우저에서 자바스크립트 코드를 작성할 수도 있지만 개발 도구들을 통해 자바스크립트에 대해 알아보겠습니다. 제가 사용할 툴은 VS Code입니다. 그리고 https://nodejs.org/ko/ 에서 Nodejs를 설치해줍니다. Nodejs는 자바스크립트가 브라우저밖에서 자바스크립트를 실행하게 해준 도구이며 Node를 설치하면 npm이 같이 설치됩니다. Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.or..

이제는 스프링 프로젝트를 만들어 보겠습니다. Create New Project를 누르시고 Maven을 선택하신 후 프로젝트이름과 위치를 설정하신 후 Finish를 누릅니다. 이후 pom.xml을 세팅해야 합니다 https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/html/getting-started.html#getting-started Getting Started If you are getting started with Spring Boot, or “Spring” in general, start by reading this section. It answers the basic “what?”, “how?” and “why?” questions...