본문 바로가기

전체 글162

34. Socket.IO를 활용한 웹소켓 채팅 및 ORM vs ODM 비교 1. 환경 변수 관리로컬에서 개발 또는 서버에 배포할 때 db연결, 포트 설정, 시크릿 키 등 안전하게 관리하기 위한 환경 변수로 처리.env라는 파일에 환경 변수를 설정 npm i dotenv 2. HTTP 통신요청(request, 클라이언트)과 응답(reponse, 서버)으로 이루어짐클라이언트가 요청을 먼저하고 서버는 수동적으로 응답해주는 구조반이중통신3. 웹소켓(Web Socket)브라우저에서 지원하는 소켓통신실시간 네트워킹이 보장전이중통신웹소켓의 동작 원리최초 연결 요청 시 클라이언트에서 HTTP를 통해 웹서버에 요청    (핸드쉐이크, Handshake: Websocket 프로토콜로 전환)연결이 수립되면 클라이언트와 서버 양측간의 데이터 통신 단계가 시작양방향 통신(전이중통신)상대방에서 p.. 2024. 5. 8.
33. Express 리팩토링 & 유효성 검증 1. 리팩토링소프트웨어 개발 과정에서 코드를 재구성하여 가독성을 높이고 유지보수를 쉽게 만드는 과정코드의 구조를 개선하고 중복을 제거하여 더 나은 설계 패턴을 도입함으로 코드의 품질을 향상코드의 기능을 변경하지 않으면서 코드를 개선하는 방법express-validatorExpress.js를 사용하여 웹 어플리케이션을 개발할 때 입력 데이터의 유효성을 검사하기 위한 패키지설치npm i express-validatorisLength(): 문자열 길이 검증 app.get('/:email', [param('email').isLength({min:3}).withMessage('이메일을 입력하세요'), validate], (req, res, next) => { res.send('📧') }).. 2024. 4. 24.
2. (Update 5.9)Git & GitHub 관련 내용 1. Git버전관리 시스템의 종류 ✔ 버전 관리 여러 파일을 하나의 버전으로 묵어 관리하는 것2. 버전관리 시스템의 종류클라이언트 - 서버 모델하나의 중앙 서버로 여러 클라이언트들이 각자 필요한 것만 가져와서 작업을 하고 다시 중앙 서버로 보내서 통합하는 방식분산 모델하나의 중앙 서버가 존재하지만 여러 클라이언트들은 각자의 컴퓨터 저장소에 전체 사본을 가지고 작업하는 방식 3. Git의 장점동시에 작업하는 사람들과 소스코드를 주고받을 필요가 없음같은 파일을 여러명이 동시에 병렬 개발이 가능변동 과정을 체계적으로 관리할 수 있고, 언제든지 지난 시점의 버전으로 되돌릴 수 있음인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있고, 중앙 서버의 데이터가 유실되어도 다시 복구할 수 있음Git 설치구글에서 'g.. 2024. 4. 24.
32. 자바스크립트 다양한 출력들8 1. post.jsimport express from 'express';const app =express();app.use(express.json());app.post('/posts', (req, res) => { console.log(req.body); res.status(201).send('글이 새로 등록되었어요');});app.listen(8080); 2. error.jsimport express from 'express';import fs from 'fs';const app = express();app.use(express.json());app.get('/file1', (req, res) => { fs.readFile('file1.txt', (err, data) => { .. 2024. 4. 24.
31. 자바스크립트 고급 정리4(node.js) 1. route()특징 URL에 대한 미들웨어 및 라우팅 로직을 모듈화하고 그룹화할 수 있음가독성을 향상시키고 유지 보수를 용이하게 함route() 메서드는 Router 객체를 반환. 해당 객체로 특정 URL 경로에 대한 라우팅을 설정2. morganhttp 요청에 대한 로깅을 수행하기 위한 미들웨어express와 함께 사용되며 클라이언트로부터 오는 각각의 요청에 대한 정보를 로깅요청 HTTP 메서드, 발생한 URL, IP주소, 응답상태코드, 데이터의 크기를 알 수 있음옵션: common, short, tiny, dev, combined 2024. 4. 24.
30. 자바스크립트 다양한 출력들7 1. buffer.jsconst buf = Buffer.from('Hi');console.log(buf);console.log(buf.length);console.log(buf[0]);console.log(buf[1]);console.log(buf.toString());const buf2 = Buffer.alloc(2);buf2[0] = 72;buf2[1] = 105;console.log(buf2.toString());// node.js 를 메모리 버퍼에 문자열 사이즈 만큼 메모리를 할당하고 문자를 저장// 단, 아스키코드를 사용const buf3 = Buffer.alloc(6);buf3[0] = 110;buf3[1] = 111;buf3[2] = 100;buf3[3] = 101;buf3[4] = 106.. 2024. 4. 24.