국비지원교육

오늘 배운 내용 📚 주문하기 테이블부터 API 생성까지 👉 코드 바로가기 추가 정리 내용 📑 가장 최근에 등록한 PK 값 받아오기 여러 행 한 번에 데이터 추가하는 방법 쇼핑몰을 제작하는 과정 중에 가장 중요하다 생각이 되는 결제페이지 API를 만드는데 신경 쓸게 너무 많았습니다. 첫 번째로 배송지 문제였습니다. 제가 생각하는 배송지는 유저가 매번 입력을 하지 않더라도 만약에 등록해 놓은 배송지가 있다면 해당 배송지를 바로 전달을 해주고, 등록해 놓은 배송지가 없다면 새로 배송지를 입력하는 form이 생겼으면 했습니다. 왜냐하면 배송지 database에 계속 누적이 되는 것도 불필요한 데이터차지라고 생각을 했고, 저희가 배송지를 미리 등록을 할 수도, 혹은 새로운 배송지가 추가될 수도 있기 때문이었습니다..
오늘 배운 내용 📚 장바구니 테이블 생성부터 API 구현까지 👉 코드 바로가기 추가 정리 내용 📑 제약조건 이름 설정 및 INDEX 설정 이전에 테이블 미리 생성을 해보면서 겪었던 제약조건 이름 설정과 인덱스 설정에 대해서 정리를 해주셨는데 추측했던 내용이 맞았어서 좋았던 것도 있지만 언제 INDEX를 사용하는지 그 부분이 해결이 되지 않아 정리를 더 해야겠다는 생각을 했습니다. 그리고 요즘 SQL을 많이 작성하면서 느낀 건데 확실히 내가 작성한 SQL를 보면서 공부가 되는 것 같습니다. 이전에 작성한 코드를 토대로 추가적으로 표현하고 싶은 컬럼이나 어떻게 구현을 할지 생각을 하게 되는데 그걸 바로 controller에 작성하는 게 아니라 CLI나 workbench를 통해서 내가 표현하고 싶은 테이블이 ..
오늘 배운 내용 📚 좋아요 추가, 삭제 서브쿼리와 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를 만들기 전에 분석한 내용을 정리할 겸 테이블로 하나하나 작성을 하였다. 수업..
코드둥
'국비지원교육' 태그의 글 목록 (3 Page)