[데브코스] Express 라우터 모듈화와 userId를 활용한 API 구조 개선
·
🕊️프로그래머스 데브코스/TIL
어제에 이어 router을 사용하여 코드 개선 작업을 진행하였다. 기존에 구현했던 API를 모듈화하고, 구조화하면서 더 효율적인 코드 관리 방법을 배웠다⭐서버와 라우터이전에도 정리했지만 한 번 더 간단하게 정리하고 넘어가기서버클라이언트로부터 HTTP 요청을 받아 처리하는 주체Express에서 app 객체가 서버의 역할을 담당하며, 모든 요청은 이 서버를 통해 처리된다.const express = require("express");const app = express();app.listen(7773); 라우터클라이언트의 요청 URL에 따라 적절한 경로로 요청을 전달하는 역할.쉽게 말해, 요청이 들어왔을 때 "어떤 함수가 이 요청을 처리할지" 결정한다!const userRouter = require("./ro..
[데브코스] 빈 객체 초기화 패턴과 app.route()를 활용한 Express API 구조화
·
🕊️프로그래머스 데브코스/TIL
🫥빈 객체는 truthy로그인을 구현하기 위해 loginUser = {}로 선언하고 로직을 작성하였다.if (loginUser) { if (loginUser.password === password) { ... } else { res.status(401).json({ message: "비밀번호가 틀렸습니다" }); }} else { res.status(401).json({ message: "존재하지 않는 아이디입니다" });}위 코드를 실행하면, 비밀번호는 맞고 아이디는 틀리게 요청을 보내도 무조건 "비밀번호가 틀렸습니다"라는 메시지가 나온다. loginUser은 초기값이 {}(빈 객체)로 설정되어 있다. 자바스크립트에서 빈 객체는 무조건 truthy로 평가되기 때문에, 아래 조건은 무..
[데브코스] 3주차 회고
·
🕊️프로그래머스 데브코스/회고
회고: ⭐⭐⭐⭐👍Liked1. WTL, Nest 스터디, 매일 아티클 읽기 임무 완료이번주차 WTL은 로드밸런싱 알고리즘과 프록시를 준비해갔다. 다음주부터는 본격적으로 소켓을 한 번 들여다봐야겠다.Nest.js 섹션 3까지 듣고 PR하기도 완료.매일 아티클 하나씩 읽고, 간단하게 느낀점을 정리하고 있다. 영어 본문 그대로 읽으려고 노력 중! (사실 매일 2개가 목표였지만🙄) 2. 집 밖으로 나가기데브코스를 시작하니 집 밖으로 나갈 일도 없고, 점점 무기력 상태에 빠져서 침대에서 으아아아하고 있었는데, 이번주는 두 번이나 외출을 했다. 오픈소스 컨트리뷰션 아카데미 발대식, 해커톤. 발대식 갈지말지 고민 엄청 했는데 유혹에 지지 않고 오프라인 참여 하고 온 내가 짱 기특😺 3. 열정! 몰입!해커톤을 위..
[데브코스] HTTP 상태코드를 활용한 예외처리 고도화(+핸들러, 리스너, 배열 메서드)
·
🕊️프로그래머스 데브코스/TIL
🚗핸들러와 리스너핸들러요청에 의해 호출되는 메서드HTTP 요청이 날아오면 자동으로 호출되는 함수를 의미한다. Node.js에서는 콜백 함수 형태로 app.HTTPMethod(path, 핸들러) 구조로 사용한다. 예를 들어, Express에서 GET 요청을 처리하는 핸들러는 다음과 같이 작성할 수 있다.app.get('/youtubers', function(req, res) { //여기서 function(req, res) {} 부분이 핸들러!! res.json(youtubers);}); 핸들러의 역할과 구조핸들러 함수는 일반적으로 req, res 두 개의 중요한 매개변수를 받는다.req(request): 클라이언트의 요청 정보를 담고 있는 객체req.params: URL 경로에서 추출한 매개변..
[데브코스] Express DELETE와 PUT 메서드 활용(+http 상태코드)
·
🕊️프로그래머스 데브코스/TIL
오늘은 Express에서 REST API의 DELETE와 PUT 메서드를 활용하여 유튜버 정보를 삭제하고 수정하는 방법을 배웠다. 드디어 CRUD를 전부 한번씩 작성해봄🗑️DELETE개별 유튜버 삭제 DELETE /youtubers/:id- req: params.id- res: "삭제되었습니다." app.delete("/youtubers/:id", function (req, res) { const { id } = req.params; if (db.get(parseInt(id)) == undefined) { res.json({ message: "존재하지 않는 채널입니다" }); } else { db.delete(parseInt(id)); res.json({ message: "삭제되..
[데브코스] ⭐기술 블로그를 써야 하는 이유와 DB 면접 꿀팁
·
🕊️프로그래머스 데브코스/TIL
📒포트폴리오포트폴리오는 "나 이런 개발자야"라고 어필할 수 있는 수단이다. 작업물을 보여주거나, 이력을 보여줄 수 있어야 하고, 다양한 종류로 만들 수 있다.깃헙(코드, 커밋 이력, PR 등) -> READMEpdf(word, ppt, notion 등으로 작성한 문서를 pdf로 변환하여 제출) -> FE(컴포넌트 구조, 기술 선택 이유) / BE(클린코드)웹사이트(직접 만든 포트폴리오 웹사이트 또는 노션 링크 등)블로그개발자 포트폴리오를 보면 꼭 보이는 키워드들-창의적, 꾸준한, 성장하는, 소통하는...-이 있다. 그럼 내가 진짜 이런 사람인지 어떻게 아느냐?👉 기술블로그 학습 블로그 != 기술블로그학습 블로그는 기술블로그가 아니다. 사실 어느정도 알고 있긴 했지만 그래도 많이 슬펐던 말...학습 블..