[데브코스] RDBMS 핵심 개념과 정규화 이해(RDBMS vs NoSQL, PK, FK)
·
🕊️프로그래머스 데브코스/TIL
1차 단위기간 강의를 모두 수강했다.👏👏👏👏💽데이터베이스데이터를 구조적으로 저장하고, 효율적으로 조회, 수정, 관리를 가능하게 하는 시스템데이터베이스는 정형화된 틀에 따라 데이터를 정리하고, 필요한 정보를 빠르게 찾고 유지할 수 있도록 도와주는 정보의 구조화된 집합이다. 이를 통해 데이터의 중복을 줄이고, 다양한 조건의 검색이 가능하며, 일관성 있는 데이터 처리가 가능하다. DBMSDatabase Management System, 데이터베이스를 관리하고 운용할 수 있도록 도와주는 소프트웨어사용자는 직접 파일에 데이터를 쓰거나 읽는 대신, DBMS에서 SQL을 이용해 데이터를 다룬다. 운영체제를 통해 파일을 다루는 것처럼, DBMS는 데이터베이스에 대한 추상화된 접근을 가능하게 해주는 관리자 역할..
[데브코스] 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: "삭제되..