[ Multer ] 클라이언트(사용자)가 특정 정보(크기가 크거나 보안성이 요구되는 정보)와 함께 요청을 하면 우리는 Post 메서드를 통해 정보를 저장하고 response를 할 수 있게 됩니다. 이번엔 클라이언트가 파일을 보내는 요청을 다뤄보도록 하겠습니다.요청하는 파일을 그대로 받아서 저장하기 위해서 Multer라는 모듈이 필요합니다. node install multer 설치가 끝나면 다른 모듈처럼 multer를 사용하면 됩니다. //upload file const multer = require('multer');const upload = multer({dest:'uploaded_file'}); dest는 destination의 약자로 클라이언트로부터 받은 파일을 저장할 위치를 정해주면 됩니다. (물..
[ File System ] 클라이언트가 보내고자 하는 정보를 담아 서버에 요청하면, 서버는 그 정보를 저장하고 페이지를 통해 응답할 수 있습니다. 그 응답은 당연하게도 그 저장된 정보를 그대로 보여줄 수도 있죠. Express가 제공하는 File System을 이용하면 됩니다. //Web Aplication //moduleconst express = require('express');const app = express();const fs = require('fs') //listeningapp.listen(3000, function(){ console.log('connected!')}) 다음과 같이 'fs'라는 이름을 가진 File system 모듈을 불러올 수 있습니다. 이제 저 모듈을 사용해 서버에 ..
[ Get과 Post의 차이점 - Get ] Get과 Post는 모두 서버에 요청을 보내는 메서드입니다. 서버에 요청을 보낼 때에는 클라이언트(사용자)가 파라미터와 함께 서버에 요청할 수 있는 상황이 있죠. (예를들어 로그인을 할 때, 아이디, 비밀번호를 로그인 요청과 함께 보내게 됩니다.) 이 때, 클라이언트(사용자)가 제공하는 파라미터를 URL에 포함시키느냐 시키지 않느냐가 Get과 Post의 차이입니다. Get을 이용해 사용자가 보내는 정보를 서버에 저장해 보겠습니다. 먼저 보낼 수 있는 양식을 만들어야 하기때문에 jade 파일을 만들겠습니다. 파일 이름은 form.jade로 생성했습니다.doctype html html head meta(charset='utf-8') body form(action=..
[ Query String이란 ] 사용자가 path(페이지 경로)를 가지고 페이지에 접근했을 때 상황에 따라 다른 모습을 보여준다면 더 다채로운 웹사이트를 구축할 수 있겠죠. 그것을 가능하게 하는 것이 Query String입니다. (URL = 'http://' + 'ip' +'path' + 'query string'으로 구성됩니다.) 즉, Query String에 따라 같은 페이지(같은 path)에서 다른 내용을 볼 수 있는 것입니다. Query String은 와 같은 url에서 ?id=0 부분을 말합니다. id=0, id=1, id=2...에 따라서 topic 페이지의 내용이 바뀌는 겁니다.그럼 Query String에 따라 page의 내용이 바뀌는 모습을 확인해 보겠습니다. const express..
[ Jade ] (2016년 이후로 Jade는 "PUG"로 대체되어서 업데이트가 되고 있습니다.) Jade는 html과 같은 정적파일의 태그와 변수(구문)를 함께 사용할 수 있는 템플릿 엔진이라는 것을 제공합니다. 쉽게 말하면 서버와 독립된 파일 속에 html contents를 변수와 함께 사용할 수 있고 서버가 그 파일을 페이지에 제공할 수 있습니다.정적페이지와 동적페이지를 상호 보완하는 것이죠. jade의 템플릿 엔진을 사용하기 위해서는 jade를 설치해야합니다. $ npm install jade --save 설치가 완료되면 이제 jade를 사용할 수 있습니다.이제 app.set('view engine','jade'); 를 추가하면 jade의 템플릿 엔진을 express와 함께 사용할 수 있습니다. ..
[ Express란 ] express는 서버를 더 쉽게 구축할 수 있게 도와주는 프레임워크입니다. express를 기반으로 작업할 환경(폴더)로 이동해서 express를 설치해줍니다. (만약 npm 디렉토리로 설정이 되어 있는 상황이면 npm init을 건너 뜁니다.) $ npm init$ npm install express --save 자, 이제 node_module 폴더로 들어가면 express가 설치되어 있는 것을 확인할 수 있습니다. 그리고 패키지를 사용하고자 하는 폴더에 있는 package.js 파일 하단, dependencies 부분에 express 버전이 추가되어 있습니다.설치가 끝났다면 main file(= main application, entry file)을 만들어 보겠습니다. main..
[ JavaScript란 ] JavaScript는 "객체기반의 스크립트 언어이다 (위키백과 왈)"라고 정의되어 있습니다. 그 말은 필요한 것들을 필요한 때에 꺼내 사용할 수 있다는 뜻이겠죠. 정확히 이 언어가 하는 일은 웹브라우저의 소프트웨어를 프로그래밍 언어로 제어합니다. 현재까지 웹브라우저에서 유일하게 사용할 수 있는 프로그래밍 언어이기 때문에 그 중요성은 어느정도 대변되겠죠. 게다가 최근 Node.js의 등장으로 자바스크립트 언어로만 클라이언트, 서버를 구축할 수 있게 됐습니다. 이제 자바스크립트로 할 수 있는 일은 웹브라우저를 넘어서 굉장히 많아 졌습니다.웹페이지 스크립팅(DOM), 서버 스크립팅(Node.js), 브라우저 확장기능(Chrome, Opera, Safari...), PDF, Adob..
[Web은 무엇일까?] Web 이란 단어를 많이 들어보셨을 겁니다. 웹어플리케이션, 웹사이트, 홈페이지... 웹이라는 단어를 떠올렸을 때, 따라오는 단어들.Web이란 정확하게 무엇일까요? Web은 World Wide Web (www)을 줄여서 쓰고 있습니다.Web = World Wide Web 그럼 World Wide Web은 무엇일까요?홈페이지의 주소 맨 앞에 쓰는 www는 많이 봤어도 정확하게 뭘 의미하는지는 모릅니다. World Wide Web의 이름이 탄생하기 전에 팀 버너스리(Tim Berners-Lee) 는 하이퍼텍스트 시스템을 만듭니다.하이퍼텍스트 시스템은 어떤 사람이 다른 사람의 문서를 보고싶을 때 바로 확인할 수 있는 시스템이죠.원하는 문서를 보고 싶다면?맞습니다. '컴퓨터'와 '통신시스..
[NoSQL] 시간이 지날수록 데이터의 양은 방대해지고 있습니다.과거에는 개인이 아닌 기업들이 수집하는 데이터의 양은 어느정도 한정되어 있었고 일정한 틀에 맞춰 데이터를 저장함으로써 사용하기 편하게 만들었습니다. 그 산물이 SQL 언어를 사용한 RDBMS (관계형 데이터베이스 관리 시스템) 이죠.하지만 데이터의 양이 방대해지고 유입과 유출이 많아지면서 이러한 관리 시스템은 비효율적이라는 걸 알게 됐습니다.다양한 데이터가 발생하면서 그 틀에 맞춰 수집하기에는 한계가 있었던 것이죠.그래서 등장한 것이 NoSQL입니다. [그림1] 데이터 양의 증가폭. 플랫폼이 많아지면서 개인이 데이터를 생산할 수 있는 시대가 왔고 때문에 데이터의 양이 증가할 수 밖에 없다.(그림참조 http://thegioi360.vn/po..
[Database] 정보를 통합 저장해 운영할 수 있는 시스템을 말합니다.Database에 있는 정보들은 사용자들이 사용(편집)할 수 있으며 추가, 삭제도 할 수 있습니다.물론 모든 유저가 Database에 있는 정보를 사용할 수 있는 건 아닙니다.권한을 부여한 뒤 접근제한을 설정할 수 있습니다. 이런 특징이 Database의 가장 큰 장점이기도 합니다. 데이터베이스는 오랜 역사를 자랑합니다.그렇기 때문에 다양한 시스템과 그 시스템을 만든 기업들이 있죠.최근 NoSQL이 떠오르기 전에는 관계형 DBMS (DataBase Management System)가 주류를 이뤘습니다.먼저 RDMBS (Relational DataBase Management System)에 대해서 알아보겠습니다. [RDBMS, 관계형..
- query string
- 재귀
- 딥러닝
- 알고리즘
- Machine Learning
- Queue
- logistic regression
- Crawling
- Linear Regression
- LR
- Crawler
- 머신러닝
- DFS
- 크롤링
- neural network
- 백준
- 크롤러
- softmax
- BFS
- Express
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |