본문 바로가기

개발

(46)
Javascript로 작성하는 선언적 프로그래밍(Declarative Programming) 선언적 프로그래밍 이라는 개념을 Dev Matching의 해설을 보며 처음 접했다. 장점이 많은 프로그래밍 패러다임이여서 그것에 대해 알아보고 코드에 어떻게 적용시킬지 알아보자. 선언적 프로그래밍(declarative programming) What- What to do 무엇을 하는지에 초점을 맞추는 것 명령형 프로그래밍(imperative programming) How 어떻게 할건지를 순서대로 나열한 것 추상적인 예 집에 가는 경우 선언적 방식 : 서울특별시 왕십리역입니다. 명령형 방식 : 주차장 북쪽 출구를 나와 왼쪽으로 가세요. 12번가 출구에 도착할 때까지 15번 북쪽 도로를 타세요. 이케아를 끼고 우회전하세요. 직진하여 첫 번째 신호등에서 우회전 하세요. 다음 신호등을 지나 좌회전을 하세요. 선..
REST API 개념, 특징, 및 설계 규칙 개념 REST API란 ? REpresentational State Transfer (자원을 이름으로 구분하여 해당 자원의 정보를 주고 받는 모든 것을 의미) REST 아키텍쳐 스타일을 따르는 API 그렇다면 REST란? 분산 하이퍼 미디어 시스템(웹)을 위한 아키텍쳐 스타일 그렇다면 아키텍쳐 스타일이란? 제약 조건의 집합 즉, REST API란 분산 하이퍼 미디어 시스템(웹)에서 자원을 이름으로 구분하여 정보를 주고받는 제약 조건들을 적용한 API REST API가 필요한 이유? 다양한 클라이언트의 등장 에플리케이션 분리 및 통합 REST API 특징 1. Server-Client (서버 클라이언트 구조) 서로간의 의존성이 줄어든다. 2. Stateless (무상태) Client의 context를 Se..
[nodejs] Multer를 이용한 파일 업로드 파일 다루는 방식을 한번 정리해보고 싶어서 블로그를 작성해본다. 파일 업로드는 일단 Multer라는 모듈을 사용할 것이다. Multer는 파일 업로드를 위해 사용되는 multipart/form-data 를 다루기 위한 node.js 의 미들웨어이다. Multer Reference를 참고해보자. https://github.com/expressjs/multer/blob/master/doc/README-ko.md GitHub - expressjs/multer: Node.js middleware for handling `multipart/form-data`. Node.js middleware for handling `multipart/form-data`. - GitHub - expressjs/multer: No..
쿠키(Cookie), 세션(Session)의 정의, 차이점 쿠키와 세션이 필요한 이유 HTTP 프로토콜의 특징이자 약점을 보완하기 위해 사용 1. Connectless 프로토콜 (비 연결지향) 클라이언트가 서버에 요청을 했을 때, 그 요청에 맞는 응답을 보낸 후 연결을 끊는 처리방식 2. Stateless 프로토콜 통신이 끝나면 상태를 유지하지 않는 특징 쿠키와 세션은 이 두가지 특징을 해결하기 위해 사용한다. 쿠키 (Cookie) 쿠키는 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터파일이다. 특징 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효시간이 정해지면 브라우저가 종료되어도 인증이 유지된다. 클라이언트에 300개까지 저장가능하고 하나의 도메인당 20개의 값만 가질 수 있으며, 하나의 쿠키값은 4KB까지 저장한다. 쿠키는 사용자가 따로 요..
[nodejs] 오류 처리 미들웨어 사용법 (비동기) 이전글 : 미들웨어 개념, 종류, 사용법 https://datobi.tistory.com/34 [nodejs] Middleware 미들웨어 개념, 종류, 사용법(에플리케이션 레벨 미들웨어, 라우터 레벨 미들웨어 미들웨어란? 미들웨어는 요청(Request)과 응답(Response) 도중에 다른 함수로 접근할 수 있는 함수이다. 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시된다. 또한 app.use() 나 app.Method() - app.g datobi.tistory.com 오류처리 미들웨어 다른 미들웨어 함수와 동일반 방법으로 정의할 수 있지만, 오류 처리 함수는 3개가 아닌 4개의 인수, 구체적으로 말하면 (err, req, res, next) 시그니처를 갖는다는 점이 다르다. 오류처리 미..
[nodejs] Middleware 미들웨어 개념, 종류, 사용법(에플리케이션 레벨 미들웨어, 라우터 레벨 미들웨어) 1 미들웨어란? 미들웨어는 요청(Request)과 응답(Response) 도중에 다른 함수로 접근할 수 있는 함수이다. 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시된다. 또한 app.use() 나 app.Method() - app.get(), app.post()... 함수를 통해서 바인딩 된다. 나는 token을 이용한 로그인을 구현하다가 미들웨어를 공부하게 되었다. 정의 함수 정의와 비슷하게 정의한다. (그림참고) 미들웨어를 사용하는 간단한 예제를 실행해보겠다. app.js let myMiddleware = function(req, res, next){ // 미들웨어 선언 console.log('이곳을 거쳐갑니다.'); next(); }; app.use(myMiddleware) // 미들웨어..
Docker 간단한 개념정리 및 간단한 실습 (컨테이너, 이미지 생성 및 포트포워딩, 파일시스템과 도커 연결 등 경험해보기) 핵심 개념 Docker란? Docker란 Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다. 에플리케이션의 실행환경을 구축하고 관리하기 위한 플랫폼이다. Docker는 애플리케이션을 환경에 구애 받지 않고 실행할 수 있으며 에플리케이션 개발을 촉진하고 단순화하도록 설계된 오픈 소스 소프트웨어이다. Docker 작동원리 Docker는 시스템이나 서버의 image를 만들고 container에 그 이미지를 담아 가상머신(VM)에서 실행한다. 레이어 시스템을 사용하는데 파일들을 추가하거나 수정할 때 새로운 레이어가 생성되어 기존 레이어에 덧붙여지는 시스템이다. 자원을 아낄 수 있다. Docker를 사용하는 이유 코드를 더 빨리 전달하고, 애플리케이션 운영을 표준화하고, 코드를 원활하게 이..
nodejs를 이용한 페이징 처리 (DB 연결) Step3 Step1 : https://datobi.tistory.com/28?category=948178 Step2 : https://datobi.tistory.com/29?category=948178 Step3에서는 DB를 연결 했다. 코드가 많이 바뀌진 않았다. 수정한 코드는 db/index.js와 view/index.ejs, routes/index.js 이다 그리고 DB 데이터 몇가지를 추가하였다. DB는 postgre를 사용하였다. 더보기를 누르면 해당 데이터를 추가 할 수 있다. 더보기 CREATE TABLE "student" ( "idx" INTEGER NOT NULL, "name" VARCHAR NOT NULL, "age" INTEGER NOT NULL, "grade" CHAR(1) NOT NULL,..