BE7 [Node.js] Controller, Service, Repository로 계층 분리하기 백엔드 코드 리뷰를 받고, Service와 Controller에 대해 알아보고 계층을 나눠보라는 코드 리뷰가 있어서 이번 기회를 통해 알아보고 계층별로 코드를 분리하는 시간을 가져보겠습니다 ! 우선 기존의 폴더 구조는 최상단에 app.js가 있고 그 아래 routes 폴더에 login 로직이 들어있는 파일이 있습니다. 본론에 들어가기에 앞서 Service와 Controller, 나아가서 Repository로 분리하는 이유와 각각 어떤 역할을 하는지에 대해 알아보겠습니다.Controller는 HTTP 요청과 응답을 처리하고 클라이언트와 상호작용하는 역할을 합니다.Service는 Controller에 의해 비즈니즈 로직 즉, 핵심 로직을 처리하는 부분으로 Repository를 활용하여 DB와 상호작용합니다... 2024. 12. 22. 4장 http 모듈로 서버 만들기 4.1 요청과 응답 이해하기 포트: 서버 내에서 프로세스를 구분하는 번호 80번 포트의 경우 주소에서 생략 가능 const http = require('http'); http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }); res.write('Hello Node!'); res.end('Hello Server!'); }) .listen(8080, () => { // 서버 연결 console.log('8080번 포트에서 서버 대기 중입니다!'); }); http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'te.. 2023. 11. 3. 3장 노드 기능 알아보기 3.1 REFL 사용하기 REFL (Read Eval Print Loop): 코드를 읽고 해석하고 결과물을 반환하고 종료할 때 까지 반복하는 것 (자바스크립트는 스크립트 언어이므로 미리 컴파일 하지 않아도 즉석에서 코드실행이 가능) 3.2 JS 파일 실행하기 예제파일 실행하여 파일 디렉터리로 노드 실행 3.3 모듈로 만들기 모듈: 특정한 기능을 하는 함수나 변수들의 집합 보통 파일 하나가 모듈 하나이며 파일별로 코드를 모듈화 할 수 있어 관리가 용이 노드 모듈 종류 CommonJS 모듈 ECMAScript 모듈 3.3.1 CommonJS 모듈 노드 생태계에서 가장 널리 쓰이는 모듈 (표준 이전부터 쓰였기 때문에 표준이 아니어도 널리 쓰인다.) cf. exports vs module.export 차이 //.. 2023. 11. 3. 2장 알아둬야 할 자바스크립트 2.1 ES2015+ const 와 let const: 변수 재선언, 재할당 불가능let: 변수 재할당 가능, 재선언시 오류 발생 → 따라서, 변수 선언시 기본적으로 const 사용, 재할당시 let 사용 템플릿 문자열 `${변수}` → 사용시 따옴표 사용+가독성 향상 객체 리터럴객체란? 배열이나 함수가 아닌 이외의 형태를 갖춘 것 객체 리터럴 안에 동적 속성 선언 가능 const name = "김유라" const year = 1999 const month = 3 const date = 2 const gender = "F"; -------------------------- const info = { name = "김유라" year = 1999 month = 3 date = 2 gender = "F"; }.. 2023. 10. 31. 1장 노드 시작하기 1.1 핵심 개념 이해하기 Node.js란 Chrome V8 Javascript 엔진으로 빌드된 자바스크립트 런타임 libuv 라이브러리 이벤트 기반 논블로킹 I/O 구현 이벤트 기반 (Event-driven) 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식 이벤트 루프(event loop) 여러 이벤트가 동시에 발생했을 때 어떤 순서로 콜백 함수를 호출할지 이벤트 루프가 판단 function first() { second(); console.log('첫번째'); } function second() { third(); console.log('두번째'); } function third() { console.log('세번째'); } first(); 호출순서: first() → second() → th.. 2023. 10. 31. 미들웨어(Middleware) 미들웨어란 ?"Middleware functions are functions that have access to the request object (req), the response object (res), and the next function in the application’s request-response cycle."미들웨어 함수는 req(요청) 객체, res(응답) 객체, 그리고 어플리케이션 요청-응답 사이클 도중 그 다음의 미들웨어 함수에 대한 엑세스 권한을 갖는 함수미들웨어란 간단하게 말하면 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는, 말하자면 거쳐가는 함수들이다.내장되어있는데 왜 따로쓸까 ? → 내장되어있는 기능 이외에도 다양한 기.. 2023. 10. 13. 이전 1 2 다음