프로그래머스 데브코스/TIL

오늘 배운 내용 📚 좋아요 추가, 삭제 서브쿼리와 EXISTS를 이용하여 도서조회에 좋아요 여부 확인 추가 정리 내용 📑 스칼라 서브쿼리란? SQL을 어떻게 사용하면 좋을까? 오늘 좋아요를 추가하고 삭제하는 것을 배웠는데 조금 아쉬운 부분이 존재했습니다. 그 이유로는 프런트영역이 같이 진행이 되는 게 아니다 보니 이렇게 추가와 삭제만 할 수 있다고 해서 이미지가 변경이 되고 어떤 원리로 추가와 삭제를 하게 되는 건지 알 수 없었기 때문입니다. 예를 들어서 비활성화된 좋아요를 누르면 POST /likes/:id로 연결이 되고 활성화된 좋아요를 누르면 DELETE /likes/:id로 연결이 되는 건지 이런 설명이 없어서 그냥 '만들어는 놨는데...'로 끝난 거 같아서 아쉬웠습니다. 그리고 이제 서브쿼리를 ..
오늘 배운 내용 📚 SQL 시간범위를 구해 신간 도서 조회 페이지 별로 도서 정보 전달 - 코드 보러 가기 추가 정리 내용 📑 정렬 추가 작업 count를 이용하여 좋아요 개수 표기 어제에 이어서 도서 조회 API를 작성을 하였는데요. 강사님이 진행한 내용뿐만 아니라 도서 정렬 기능도 추가하였습니다. 또한 좋아요 테이블에 해당 도서번호가 존재한다면 count 하여 likes 칼럼을 생성을 하였고, 중첩이 되지 않게 GROUP BY를 사용하였습니다. 그리고 SQL의 중복을 어떻게 해야 줄일 수 있을까 하다가 기본적으로 다 들어가는 코드는 변수에 담아두고 각 조건에 맞춰서 +=를 이용하여 SQL을 추가하는 방식으로 진행하였습니다. 이전에 작성해 본 코드들과 비교를 해볼 수 있었습니다 // 이전 코드 cons..
오늘 배운 내용 📚 전체 도서조회와 카테고리별 도서조회 BookController 분리 추가 정리 내용 📑 이미지 테이블 데이터 삽입 및 SQL 작성 오늘 수업에서는 도서 테이블을 생성하고 그에 따른 코드를 작성하였습니다. 도서등록API가 존재하지 않아서 테이블에 직접적으로 데이터를 입력을 해주어야 해서 다음에 시간이 조금 남는다면 해당 API를 작성해봐야겠다는 생각을 했습니다. 작업을 하면서 명세에 작성한 전체 도서조회와 카테고리별 도서 조회에 대해서 생각을 하게 됐습니다. 1-1. localhost:8080/books?category=category&new=true 1-2. localhost:8080/books/category?sort=popular&new=true 조건 : 전체도서조회 / 카테고리별..
오늘 배운 내용 📚 Router와 Controller 비밀번호의 암호화 추가 정리 내용 📑 FK 사용 시 FK name설정 문제 복습방학을 이용하여 기존에 설정했던 테이블생성을 하고 있었는데 FK를 사용하는 과정에서 오류가 발생했었습니다. Error Code: 1005. Can't create table `bookstore`.`likes` (errno: 121 "Duplicate key on write or update") 위 에러코드를 해결하기위해서 뭘 잘못했는가 한참 테이블 설정을 확인을 하는 과정에서 FK name을 동일하게 설정한 것을 발견하였고, 중복된 name을 설정할 수 없는 것을 알게 되었습니다. 뿐만 아니라 테이블 생성이 자꾸 안 되는 이슈도 존재했는데요. 이 이슈는 FK 설정하는 과정에..
오늘 수업 내용📚 express-generator 구조에 맞춰 기존에 설정한 API 설계 기반 만들기 database 구축하기 오늘은 express-generator의 구조를 참조하면서 설계했던 API를 세팅하고 그에 필요한 database를 구축했고 기존강의에서 놓친 부분들을 체크하여 확인 후 추가도 하였습니다. 예시로 기존에 테이블 가이드 해놓은 것들 중에 부족한 부분(제1 정규화를 지키지 않음)이 존재하여 그것도 테이블 분리 작업을 하여 수정하였습니다. 오늘 수업에서는 많은 내용들을 다루지 않았지만 기초적인 부분이다 보니 더 나은 방법이 뭐가 있을까 생각을 했습니다. 그 과정에서 궁금한 것도 생겼는데 http URI에서 localhost/books?p=1 이런 주소가 존재할 때 query 영역은 경..
오늘 배운 내용📚 dbdiagram.io를 이용하여 ERD 짜기 ERD를 통해서 API 설계 추가 정리 내용📑 테이블 구성 완성 테이블을 가지고 ERD 짜기 프로젝트 명세 정리 오늘은 dbdiagram.io로 ERD를 만들고 어제 배운 API를 조금 더 디벨롭하는 방식으로 진행됐다. 그 과정을 거치면서 우리 하 흔히 주문하기라고 말하는 페이지는 사실 주문하기 API가 아니라 주문 예상 페이지에 불과하여 장바구니에 속한다는 것이었다. 이번에 테이블을 혼자 구성해보면서 느꼈던 점은 와이어프레임을 보고 내가 어떤 데이터가 필요한지 이 데이터들로 어떤 테이블이 나올지, 그 테이블을 어떻게 분리할지에 대해서 많이 생각해 봤고, 그 필요한 데이터 들을 최대한 와이어프레임 내에서만 가져오는 반면에 나는 어느새 조금 ..
오늘 배운 내용📚 회원/도서/좋아요/장바구니/주문 부분 설계 명세 짜보기 추가 정리 내용📑 와이어프레임 보고 데이터베이스 테이블 구성해 보기 이번 프로젝트를 시작하면서 설계 명세라는 단어를 처음 들었다. 설계 명세서란 요구사항들을 분석하고 산출된 결과들을 설계하는 과정을 말하는데 우리 과정에서는 구체적인 설계 명세서가 아니라 와이어프레임을 보고 요구사항들을 분석해서 어떻게 API로 만들지를 작성을 하였다. 미니프로젝트의 API설계와 비슷하게 진행하지만 차이점은 와이어프레임 존재 유무였던 것 같다. 이 과정에서 강사님이 분석한 내용과 내가 분석한 내용이 다른데, 그 점을 추가정리내용 링크에서 확인할 수 있는데, 기본적으로 API를 만들기 전에 분석한 내용을 정리할 겸 테이블로 하나하나 작성을 하였다. 수업..
오늘 배운 내용📚 백엔드 학습 방법 알고리즘 모의고사 실무역량 과제테스트 스프린트 2~3 설명 오늘은 알고리즘 모의고사와 실무역량테스트를 진행했고, 라이브 수업으로 백엔드 학습 방법에 대해서 공부하게 되었는데요. 알고리즘은... 네 많이 부족한 것 같습니다. 많이 풀어보면 좋아질 거라는 이야기는 듣고 있지만 너무 처참하게 끝나서 기초부터 차근차근 접근해야 할 것 같다는 생각을 했습니다. 실무 역량과제 테스트 경우에는 라이브시간을 잘못 알고 있어서 라이브시간과 테스트시간이 겹치는 일이 발생했고 두 마리 토끼를 다 놓치게 된 것 같습니다. 뒤늦게 백엔드 학습방법 수업도 들었는데 앞에 테스트 때문에 못 들은 부분들은 라이브강의가 올라오면 해당 영상을 다시 꼼꼼하게 보고 정리를 할 것 같습니다. 두 번째 스프린..
오늘 배운 내용📚 로그인 인증 env 환경변수 jwt 추가 정리 내용📑 docker shutdown시 database 초기화 오늘 드디어 JWT에 대해서 수업을 들었습니다. 로그인 인증을 할 때 사용되는 세 가지 형태 세션, 쿠키, jwt를 알려주셨는데 그중에서 jwt를 집중적으로 배웠습니다. 아직 session과 cookie가 많이 사용되긴 하지만 이전에 작업했던 프로젝트에서 jwt를 사용했었기 때문에 조금 더 깊게 알 수 있는 계기가 되지 않을까 해서 집중해서 들었던 것 같습니다. 이번 과정을 통해서 그간 궁금했던 back과 front에서 jwt를 사용할 때 어떻게 주고받아 보안을 강화하는지 알 수 있었으면이라는 생각을 했습니다. 그리고 그간 괴롭던 docker의 database 초기화의 원인이 될만..
코드둥
'프로그래머스 데브코스/TIL' 카테고리의 글 목록 (3 Page)