Event
null
생활 계획표
AM 3:00 프로그래머스 Lv.2
AM 4:30 공부
PM 2:30 산삼 팀 회의
PM 3:00 페어 프로그래밍
PM 4:00 공부
PM 12:00 취침
이번 주 목표
수요일 : 자바스크립트 문법 종합반 강의 자료
목요일 : 노드 입문 강의자료금요일 : 노드 숙련 강의 자료
토요일 : 노드 심화 강의자료
일요일 : 노드 테스트 코드 강의 자료
- 잡담 줄이기
- 매 시간 몰입하기
오늘 목표
TIL 작성
TIL 리뷰
프로그래머스 Lv.2
자바스크립트 문법 종합반 강의 자료 3~5주차
오늘 한 것
TIL 작성
TIL 리뷰
프로그래머스 Lv.2 1문제
최댓값과 최솟값 : https://verdantjuly.tistory.com/303
자바스크립트 문법 종합반 강의 자료 5주차까지
노드 입문 chapter 7까지
노드 숙련 2-6까지
Lv.5 service layer 수정
1. REPL
문제
REPL 이 뭔지 모른다.
시도
예측 : 콘솔창 같은 것 같다. 짧은 코드를 바로 구현해 볼 수 있는...
해결
REPL은 Read-Eval-Print-Loop의 약자
애플리케이션 실행 상태에서 사용자가 입력한 명령어(소스코드)를 읽고(Read) 명령어를 평가(Eval)하고 결과를 출력(Print)한 다음 다시 입력을 기다리는 상태로 돌아가는 과정을 반복(Loop)합니다.
참고 자료 : https://developer-talk.tistory.com/542
알게된 것
REPL은 Read-Eval-Print-Loop
2. 인터페이스
문제
인터페이스가 뭔지 잘 모르겠다. 헷갈린다.
시도
예측 : 하나의 사용 환경을 말하는 것 같기도 하다.
해결
서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면
사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템
알게 된 점
인터페이스 : 시스템이나 장치 사이의 매개 시스템
3. controller 에서의 if문
문제
if문을 처리하는 것은 비즈니스 로직이기 때문에 service layer가 더 알맞다고 한다.
시도
미들웨어를 만들어서 유효성 검사를 진행하고 res를 보내준다.
해결
튜터 님 : service layer에서 status 숫자를 그대로 리턴하여 해 보세요.
알게 된 점
4. Invalid status code : undefined
문제
시도
눈 빠지게 오타를 찾았다.
해결
서비스 레이어를 수정하면서 Posts를 models에서 가져오지 않았다...
const { Posts } = require("../models");
알게 된 점
시작점이 undefined라면 끝까지 undefined가 나온다.
페어 프로그래밍
Layerd Architecture Pattern의 전반적인 흐름
시작 / router > controller > service > repositroy > service > controller / 끝
0. router: API (post, get, delete, patch, put)
1. controller
request 요청
req.body : json 형식 > {title : "제목"}
req.params : localhost:3000/api/posts/1 > posts/:postId
req.query : localhost:3000/api/posts?postId=1
response 응답
res.status(status).json({message})
2. service
password 같은 정보의 가공,
예외처리 (error)
status 400, 200
json : {message : 게시글 작성에 성공했습니다}
3. repository
CRUD (DB에 유일하게 접근)
sequelize :
create(Create),
findAll / findOne (Read)
Update(Update)
Destroy (Delete)
- 게시글 작성 라우터 부분
수정, 삭제, 생성 등 회원 정보가 필요한 기능에는 authmiddleware를 넣어서 인증을 꼭 거쳐야 한다!
// posts.route.js
const express = require("express");
const router = express.Router();
const authmiddleware = require("../middlewares/auth-middleware.js");
const PostsController = require("../controllers/posts.controller");
const postsController = new PostsController();
router.get("/posts", postsController.viewpostslist);
router.get("/posts/:postId", postsController.viewonepost);
router.post("/posts", authmiddleware, postsController.createPost);
router.patch("/posts/:postId", authmiddleware, postsController.editPost);
router.delete("/posts/:postId", authmiddleware, postsController.deletePost);
module.exports = router;
정리
REPL은 Read-Eval-Print-Loop
인터페이스 : 시스템이나 장치 사이의 매개 시스템
시작점이 undefined라면 끝까지 undefined가 나온다.
체크리스트
[ O ] 예쁜 말로 협업하였는가?
[ O ] 12시간 동안 몰입하였는가?
[ O ] 코딩 시 복사 + 붙여넣기를 하지 않았는가?
[ O ] 친절한 개발자였는가?
[ O ] 오늘을 평가하였을 때 주니어 개발자가 될 수 있겠는가?
새벽 3시에 일어나서 지금까지 열심히 해서 목표 분량을 달성하고 추가 공부를 하고 있는 스스로 칭찬한다.
KPT
Keep
조언과 피드백을 받아들이는 자세
개선하려고 노력하는 자세
Problem
공격적인 말투
TIL 및 몰입 시간 꽉꽉 채우기
Try
부드러운 말투
죽기 살기로 TIL
무조건 무언가 하면 적자
소감
동생네 회사에서 신입 개발자가 수습 종료하게 되었다는 소식을 들었다.
공부도 공부지만 사회생활을 하는 것도 중요한 것 같다.
입을 다물고 열심히 하는 습관을 기르자.
매니저님께서 사비!!로 사 주신 커피를 마시면서 카공!!! 파이팅하자~
'verdantjuly > Today I Learned' 카테고리의 다른 글
TIL 20230714 (0) | 2023.07.14 |
---|---|
TIL 20230713 (0) | 2023.07.13 |
TIL 20230711 (0) | 2023.07.11 |
TIL 20230710 (0) | 2023.07.10 |
TIL 20230709 (0) | 2023.07.09 |