Web/node.js

    Express로 웹서버 만들기 (Basic)

    Express로 웹서버 만들기 (Basic)

    2021.07 에 올렸던 게시글입니다. 이번 글에서는 웹 프레임워크인 Express 로 간단히 웹 서버를 만들어보겠습니다. 웹 서버 우리가 웹브라우저 주소창에 주소를 입력하면 화면에 해당 화면 창이 보이지요?? 이 화면을 우리에게 보내주는 것을 웹 서버가 하는 것입니다! 특정 주소를 주소창에 입력하면, 브라우저는 해당 주소에 있는 웹 서버를 호출하고 웹서버는 해당 홈페이지 내용을 웹 브라우저에 보내는 방식 이런 웹서버를 만들 수 있는 패키지를 웹 프레임워크라 하는데요. 구체적으로 말하면, 웹서버를 만들기 위해서는 여러가지를 매번 해야하는 일들이 있어요! 예를 들면, url로 넘어온 파라미터들을 분류해서 가져오는 일, 정적인 이미지나 js파일들을 관리하는 일, 로그인을 위한 작업 등.. 이렇게 웹서버를 만..

    Node.js를 이용한 크롤링

    Node.js를 이용한 크롤링

    사담 저는 스파르타 코딩클럽 node.js 강의를 들으면서 간단한 쇼핑몰 웹을 구축하던 중 파이썬이 아닌 node.js를 이용해서도 크롤링을 할 수 있다는 것을 알게되어 진행해보면서 기록하기위해 글을 적게 되었습니다. 필요한 패키지 설치 1. Node.js 서버에서 외부의 웹브라우저에 요청해서 특정 HTML을 내려받기 위해 필요한 패키지 => axios 2. 가져온 HTML에서 특정 위치(depth)를 가져오기 위해 필요한 패키지 => cheerio 3. 사이트에서 한글을 가져오면, 발생하는 문제(인코딩 문제 등..)를 해결하기 위해 필요한 패키지 => iconv-lite => npm install axios cheerio iconv-lite -s 설치하고 나면, package.json에 설치가 된 걸 ..

    html의 유용한 기능

    이번 글에서는 어느정도 알고있으면 편한 (은근 자주 쓰이는데 익히지 못해 매번 알아보기 귀찮은) (혹은 이렇게 쓰이는거였군! 싶은) 정보들 위주로 적어보려고합니다. 어디까지나 저의 입장에서 적은 정보들입니다. 태그 브라우저에게 정보를 주는 부분이 태그인데요, • 웹 브라우저 화면에는 보이지 않지만, 웹 브라우저가 알아두어야 할 정보들 입력 • 문서에서 사용할 외부 파일들 링크 들을 포함하고 있습니다. 즉, 웹 브라우저에는 보이지 않지만, 웹브라우저가 웹문서를 해석하기위해 필요한 정보들을 입력하는 공간입니다. 보통 태그와 태그가 있습니다. 태그 : 문자 인코딩 방법 및 문서의 키워드와 요약 정보를 지정 참고로! 태그와 내용을 포함한 전체 문자열 ex) 제목 을 HTML의 기본 구성단위, 엘리먼트 (elem..

    [개념] Routing

    라우팅 express에서 라우팅이라는 개념은 클라이언트로부터 요청받은 URL과 뷰를 매칭시키는 것이라고 할 수 있습니다. 우리가 웹 브라우저에 google.com 이라고 입력하면 해당 구글 웹서버가 응답하여 매칭되는 화면을 띄우는 것이라고 할 수 있죠. 아래 예시를 보면 , 같은 도메인 주소(www.naver.com) 에서 path에 따라 다른 페이지를 보여주는 역할을 라우터가 해주는 것입니다. 여기서 path는 webtoon과 blog 이네요. https://www.naver.com/webtoon https://www.naver.com/blog //예시를 들고자 편하게 적은 것이며 실제와 다릅니다. 웹을 제작할 때 초기에 해당 코드를 많이 볼 수 있습니다. 페이지가 있어야 그 페이지를 구성하고 꾸미겠죠..

    [개념] 비동기 처리를 위한 문법 (ES6)

    비동기 처리를 위한 문법의 "역사" 이런 말이 맞을 지 모르겠지만 거창하게 역사 라는 말을 붙여보았다..ㅋㅋ비동기 처리를 위해 ES6에서 여러 문법이 추가되는 과정을 공부하고 나니 괜히 하나의 "역사"를 본 것 같아서ㅎㅎ Promises ES6의 새로운 문법 javascript에서 비동기를 처리할 때 주로 사용되는 문법 콜백 지옥(callback hell, 프로미스가 나오기 전에는 콜백을 사용해서 비동기를 처리하였는데, 콜백이 점점 쌓이면서 깊이가 점점 깊어지는 문제)을 해결하였다!! 용어 정리 비동기 처리 동기와 비동기에 대해 먼저 알아야 한다. 동기 (synchronus : 동시에 일어나는) 동시에 일어난다. 요청과 동시에 응답이 주어져야한다. 즉, 요청을 보냈을 때 응답을 받아야지만 다음 동작이 이..

    [개념] JS와 ES6 문법

    Node.js란? 구글에서 만든 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 (V8은 구글이 만들었지만 node는 'Ryan Lienhart' 님이 만들었다는 사실) javascript는 기존에 브라우저 내에서만 실행할 수 있는 언어였지만, 브라우저가 없이 로컬에서 혹은 서버에서 실행할 수 있도록 만든 것이다. 서버 환경으로 유명한 Node.js에서는 express 모듈을 사용해서 웹 서버를 구축할 수 있다. 쉽게 말해서, Node.js란 자바스크립트를 브라우저가 아닌 컴퓨터에서 로컬 혹은 서버에서 실행하도록 도와주는 환경이라 생각하면 된다. npm이란? 나중에 실습할 때 나올 아이로, 웹 개발을 진행하는데 필요한 여러 라이브러리를 설치해야할 때 'npm' 을 사용하게..