프로그래머스 데브코스

오늘 수업 내용📚 RDBMS란? 데이터 중복 처리(정규화) 실전 ERD 추가 정리 추가 정리 내용📑 database의 key 오늘 수업은 데이터베이스를 다루었습니다. 데이터베이스의 종류와 테이블을 구성을 어떻게 하는지, 데이터 중복을 어떻게 하는지 그걸 토대로 실습으롤 진행했던 유튜브 ERD 수정을 진행하였는데요. 수업외적으로 궁금한 것들을 정리하느라 조금 시간이 걸렸던 것 같습니다. 특히 DBMS의 종류와 데이터 중복 처리를 위한 정규화의 정의라던가 database의 key에 대해서 알고 싶었습니다. 책을 찾아보기도 했고 인터넷을 찾아보기도 하였습니다. 본다고 바로 이해할 수가 없었고 이해하는데 시간이 많이 들더라고요. 특히 정규화의 경우에는 총 6가지의 정규화 작업이 존재했는데 BCNF부터 이해가 잘..
오늘 수업 내용📚 실습에 Router 적용하기 Map객체 → DB로 ERD 구성해 보기 ERD에 따른 코드 수정 (기존 프로젝트 posts) 오늘 수업으로 인해 코드수정을 하게 되었습니다. 기초코드부터 찬찬히 작성하여 조금씩 디벨롭해 가는 방향으로 수업을 진행 중인데 제가 스스로 짠 코드를 강사님의 조건에 맞게 코드를 수정을 하는 부분에 있어서 누락이 된 부분, 참고하면 좋을 부분들을 정리하면서 하느라 조금 시간이 걸렸습니다. 일단 강사님과 코드를 짜면서 달랐던 부분은 db.size를 확인하는 작업에서 차이가 났습니다. 저는 아무래도 db는 당연히 있다라고 생각을 한 것 같은데 허를 찔린 기분이 들었고 db.size를 추가하는 작업을 했습니다. 저는 if 중점 최대한 지양하려고 하는 편이라 early r..
오늘 수업 내용 📚 미니 프로젝트 로그인 : 예외처리 Object.key 채널 API 설계 채널 생성, 채널 개별 조회, 채널 개별 삭제, 채널 개별 수정, 채널 전체 조회 오늘은 어제에 이어서 미니 프로젝트를 통해서 실전 코드 작성을 해보았습니다. API 설계부터 설계에 맞는 API 작성을 하였는데요. 아무래도 제가 작성하는 방식과 강사님이 하는 방식이 다르다 보니 그 부분에 있어서 조금 혼란스러웠던 게 있었던 것 같습니다. 예를 들어서 로그인할 때 강사님은 let hasUser = false; let loginUser = {}; db.forEach((user,id)=>{ if(user.userId === userId){ hasUser = true; loginUser = user } }) if(hasU..
오늘 수업 내용 📚 핸들러란? 객체와 일치하는 데이터를 찾는 find 백엔드에서 예외처리 미니 프로젝트 - youtube 안정성을 위한 예외처리를 어제 공부를 했는데 이 예외처리는 사실 프론트, 백 둘 다 해당되는 얘기였다면 오늘 배운 예외처리는 백엔드에서 예외처리를 해줘야하는 것과 이 처리를 해주면 프론트엔드에서 어떻게 좋은지에 대해서 알 수 있었습니다. 항상 프론트에서 일을 더 하냐 백에서 일을 더하냐로 이야기가 많이 나오는 걸 알고 있습니다. 예를 들어서 토큰관리를 어디서 할 것인가? 유효성검사를 어디서 할 것인가 같은 이야기들 말입니다. 사실 오늘 배운 이야기도 이것과 관련이 있지 않을까 생각이 들었습니다. 백엔드에서 해주면 감사하고 안 해주면 프론트에서 다시 한번 검사를 한다고 생각을 했기 때문..
오늘 수업 내용 📚 API 실습 - DELETE와 PUT forEach와 Map 예외처리 리팩토링 http status code 오늘 수업을 통해서 깨달을 바가 있다 하면 바로 예외 처리였습니다. 혼자 작업하던 코드들을 살펴보면 전부 예외처리가 거의 없었기 때문입니다. 그래서 기존에 작성한 코드들을 전부 예외처리를 추가해 보았습니다. 특히 개별조회, 삭제, 수정일 때 발생하는 에러가 줄어든 걸 확인을 했습니다. 이를 통해서 기존에 작업한 코드들 도 마찬가지로 차근차근 바꿔보려 합니다. 또한 앞으로 작업할 코드들도 최대한 예외적으로 발생할 일을 생각하여 예외처리를 해보도록 하려고 합니다. 그리고 예외처리를 하면서 어디까지 코드를 줄여야 하는 것일까 생각을 해보았습니다. app.put("/youtubers/..
오늘 수업 내용 📚 API - POST를 이용하여 데이터 입력하기 API - postman을 사용하자 Invalid character in header content ['Host'] 강사님이 작성한 코드를 그대로 작성하는 게 아닌 내 생각을 기반으로 하기 때문에 조금씩 다른 부분들이 존재했습니다. 일단 key값을 설정하는 방식이 달랐습니다. db.set(key, value) 기존에 이 형태로 데이터를 입력을 했는데요. value는 req.body가 객체로 받사오니 그대로 입력을 하면 문제가 없었지만 key의 값은 특정 값을 받아올 수 없어서 그 부분을 해결하고자 했습니다. key 형태가 1,2,3이었기 때문에 다음에 등록을 하게 되면 4 그다음은 5가 순차적으로 와야 한다고 생각을 했고, Map의 속성을..
오늘 수업 내용 📚 Map 객체를 이용하여 API 실습 express-generator 알아보기 다양한 형태의 함수 형태 Map 객체를 배운 후에 간단하게 API 실습을 진행했는데요. 하나하나 강의를 들으며 코드를 따라 쓰는 게 아니라 강사님이 조건을 제시하면 우리가 먼저 작업을 해보고 그 작업과 해설이 일치하는지를 확인하는 게 내가 생각을 할 수 있게 해주는 느낌을 받았습니다. 또한 실습을 한 번만 하는 게 아니라 여러 번 반복을 통해 express 구조를 익힐 수 있었습니다. express에서 제공하는 기본 폴더 구조를 알아보기 위해 express-generator를 이용도 해봤는데요. 나혼자 작업이고 큰 프로젝트가 아니어서 대부분 그냥 하나의 폴더에 js파일들이 넘쳤는데 express-generat..
사용한 기술 express 객체 Map params parseInt // express 모듈셋팅 const exporss = require("express"); const app = exporss(); // 데이터 셋팅 const youtube1 = { chennelTitle: "십오야", sub: "593만명", vidioNum: "993개" }; const youtube2 = { chennelTitle: "침착맨", sub: "227만명", vidioNum: "6.6천개" }; const youtube3 = { chennelTitle: "테오", sub: "54.8만명", vidioNum: "726개" }; const db = new Map(); db.set(1, youtube1).set(2, you..
오늘 수업 내용📚 req.params와 req.qeury 객체의 비 구조화 할당 네이밍 케이스 Map 객체를 이용하여 화면에 출력하기 params와 query를 배우니 이 둘과 세트로 절대 빠지지 않는 req.body를 같이 정리해 보았습니다. 노드 공부하면서 가장 많이 사용하기도 했고 해당 data를 넘기는 body를 그냥 넘기면 안될것 같았습니다. 대게 req.params와 query는 GET 메서드에서 많이 사용되지만 body의 경우 데이터를 넘기기 위해 POST 메서드에서 사용을 많이 한다는걸 깨달았던것 같습니다. 또 충격을 받은 것중 하나는 바로 비구조화 할당인데요 이전에 node 프로젝트 연습할때 const [list] = await pool.query(pageListSql);라는 코드를 쓴적..
코드둥
'프로그래머스 데브코스' 카테고리의 글 목록 (5 Page)