본문 바로가기

분류 전체보기

(80)
웹 풀사이클 데브코스 TIL 34일차 SELECT 컬럼명 변경 SELECT name AS category_name FROM categories; 이와 같이 AS를 활용해 원하는 이름으로 컬럼을 변경해줄 수 있다. name -> category_name 외래키 설정과 조인 books 테이블과 categories 테이블의 FK 설정을 해주었고 LEFT JOIN을 통해 카테고리 이름을 함께 얻어올 수 있게되었다. SELECT * FROM Bookshop.books LEFT JOIN categories ON books.category_id = categories.id; `'1','어린왕자들','7','0','종이책','0','어리다...','..
웹 풀사이클 데브코스 TIL 33일차 SQL 관리 프로젝트에서 sql등을 따로 정리해 놓고 싶다면 다음과 같이 data.sql 파일을 하나 만들어서 사용하면 된다. picsum 더미 이미지를 제공하는 사이트. https://picsum.photos/ https://picsum.photos/id/1/200/300 이와같이 간단한 URL로 이미지를 가져올 수 있다. 쿼리 스트링과 일반 요청이 같은 url을 사용할 때 router.get('/', allBooks) router.get('/:id', bookDetail) router.get('/', booksByCategory) books 라우터를 보면 한가지 문제점이 있다. allBooks와 booksByCategory가 같은 URL을 사용하고 있는 것이..
웹 풀사이클 데브코스 TIL 32일차 http-status-codes npm 모듈로 http 상태 코드를 문자형식으로 사용할 수 있다. https://www.npmjs.com/package/http-status-codes const {StatusCodes} = require('http-status-codes') if(err) { console.log(err); return res.status(StatusCodes.BAD_REQUEST).end(); } res.status(StatusCodes.CREATED).json(results); 사용 예시 코드이다. node.js 패키지(파일) 구조 app.js: 프로젝트의 메인 라우터 역할 users.js: 하위 라우터 역할 books.js: 하위 라우터 역할 라우터가 로직까지 다 수행..
웹 풀사이클 데브코스 회고록 12월 두번째 회고록 웹 풀사이클 데브코스의 두번째 회고록이다. 국비지원교육이 시작된지 두달 차이지만 정말 많은것들을 배운 것 같다. 도서지원 첫번째 책 프로그래머스 데브코스에서는 도서를 지원해준다. 나는 이번에는 자바스크립트에 대한 이해를 위해 "모던 자바스크립트 Deep Dive" 라는 책을 신청하였다. 정말 두꺼운 책이었고 많은 내용이 들어있는 것 같다. 전부 다 읽어보진 않고 필요한 내용들을 그때그때 찾아보면서 보고 있지만 나름 유용한 도서인 것 같다. 앞으로 계속 이 책을 학습해 나가며 자바스크립트에 대한 이해도를 끌어올리는 것이 목표이다. 백엔드 기본, 심화학습 이번달에는 본격적인 백엔드 학습에 들어갔다. 백엔드 기본지식 REST API, URL, HTTP 등의 백엔드 및 웹 기본지식에 대하여 학습하..
웹 풀사이클 데브코스 TIL 31일차 Express-generator 구조 bin/www 포트넘버, 에러 등등 웹 서버를 구축하는데에 필요한 설정 데이터가 정의되어 있음 => .env 파일과 같이 설정 값을 가지고 에러 처리, 기타 추가 설정을 해주는 파일 node_modules Node.js, Express 에 필요한 모듈들이 설치되는 폴더 public images, javascripts, stylesheets -> 정적 파일(ex. 로고, 회사 소개) routes app.js 서버의 시작점에서 URL에 따라서 각 경로를 담당하는 모듈들이 들어있는 폴더. 라우팅 로직을 구현하는 모듈들 클라이언트에서 어떤 요청을 주느냐에 따라서 어떤 로직을 수행할 지 파일별로 분할 해서 관리하는 정도(cf. 자바의 controller 역할) views 클라..
웹 풀사이클 데브코스 TIL 30일차 dbdiagram.io 데이터베이스 ERD 설계를 위해 dbdiagram.io 라는 사이트를 이용하였다. https://dbdiagram.io/d 좋아요 ERD 좋아요는 새로 테이블을 만들어서 관리한다. Table likes { user_id integer liked_book_id integer } 좋아요 누른 유저 아이디와 눌려진 책 아이디를 한꺼번에 관리하면 된다. 이렇게 하면 따로 books table에 좋아요 숫자를 가지고 있지 않고 그때 그때 집계함수로 계산할 수 있다. 장바구니 ERD Table cartItems { id integer bookId integer count integer } 장바구니는 ERD를 그릴 때 cartitems 라는 테이블로 만든다. 컬럼은 bookId와 count 가..
자바스크립트 Math 객체 Math 는 자바스크립트 표준 객체 중 하나로 수학적인 연산을 위한 다양한 기능들을 제공한다. 코딩테스트나 프로젝트에서도 자주 쓰이는 객체이므로 한번 알아보고자 하였다. Math.PI Math.PI //3.141592653589793 이름그대로 파이의 값을 반환한다. Math.abs Math.abs(1) //1 Math.abs(-1) //1 Math.abs(0) //0 절댓값을 반환한다. Math.round Math.round(1.4) //1 Math.round(1.6) //2 소숫점 아래를 반올림하는 메소드이다. Math.ceil Math.ceil(1.4) //2 Math.ceil(1.6) //2 소숫점 아래를 올림하는 메소드이다. Math.floor Math.floor(1.4) //1 Math.flo..
웹 풀사이클 데브코스 TIL 29일차 오늘부터 본격적으로 프로젝트 2가 시작되었다. 주제는 책 쇼핑몰이다. 쇼핑몰에는 웹 기술의 많은 부분이 들어있기 때문에 잘 익혀두도록 하자. 회원 API 설계 주어진 요구사항에 맞게 회원 API를 구현하였다. 회원가입 Method: POST URI: /join Status Code: 성공 201 Request body: {email: “사용자가 입력한 이메일”, password: “사용자가 입력한 비밀번호” } Response body: 로그인 Method: POST URI: /login Status Code: 성공 200 Request body: {email: “사용자가 입력한 이메일”, password: “사용자가 입력한 비밀번호” } Response body: JWT Token 비밀번호 초기화 요청..