로고 이미지

고정 헤더 영역

글 제목

메뉴 레이어

로고 이미지

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (80)
    • [TIL] (65)
    • [WIL] (0)
    • 면접준비 (2)
    • 설치 자료 (0)

검색 레이어

로고 이미지

검색 영역

컨텐츠 검색

전체 글

  • [TIL] 2024.02.23 테스트 코드 멸망

    2024.02.23 by 재호링

  • [TIL] 2024.02.21 노드 심화 1차 회고

    2024.02.22 by 재호링

  • [TIL] 2024.02.20 트러블슈팅

    2024.02.21 by 재호링

  • [TIL] 2024.02.19 jest 디버깅 오류

    2024.02.19 by 재호링

  • [TIL] 2024.02.16 타입스크립트 맛만볼게

    2024.02.16 by 재호링

  • [TIL] 2024.02.15 sparpet 발표 후 회고

    2024.02.15 by 재호링

  • [TIL] 2024.02.14 sparpet 트러블슈팅

    2024.02.15 by 재호링

  • [TIL] 2024.02.14 passport-kakao

    2024.02.14 by 재호링

[TIL] 2024.02.23 테스트 코드 멸망

정리하기 1. 컨트롤러와 서비스는 입력값 땅따먹기를 한다. 2. 레포지토리는 디비에 연결만함 3. sevice 정책이나 방향에 가까운 예외처리를 할 때 (논리적이고 정책적인 검사) 4. 컨트롤러는 형태에 가까운 검사 결국에 예외는 컨트롤러를 통해 반환됨 문을 타고 타고 타고 어차피 클라이언트에게 전달해주는 녀석은 '컨트롤러' 처음에 서비스단에서 예외를 처리하면서 throw문을 안쓰고 res로 반환해 주었을 때 에러를 반환한 이유가 이거임 service.js에서 throw문으로 바꿔주어 에러처리를 해줬을 때 에러 메세지는 잘 띄우는데 에러로그도 같이 띄웠음. 그럴바엔 어차피 컨트롤러에서 response를 하니까 에러처리를 컨트롤러로 옮겼더니 해결 서비스나 레포에서 예외가 발생했을 때 다시 컨트롤러에 알려야..

[TIL] 2024. 2. 23. 01:44

[TIL] 2024.02.21 노드 심화 1차 회고

자 보자보자 트러블 먼저 const { tokenValue } = req.cookies; console.log(req.cookies) if (!tokenValue) { throw new Error('인증 정보가 틀dfdf렸습니다.'); } const [tokenType, accessToken] = tokenValue.split(' '); console.log(req.cookies) if (tokenType !== 'Bearer') throw new Error('토큰 타입이 일치하지 않습니다.'); const token = jwt.verify(accessToken, 'resume@#'); const userId = token.userId; if (!token.userId) { throw new Error(..

[TIL] 2024. 2. 22. 00:31

[TIL] 2024.02.20 트러블슈팅

게시되어 있는 프로젝트를 Copy해서 받아옴 es6문법으로 되어 있지 않은걸 전체적으로 바꿔 줬음 근데 여기서 accessToken을 헤더에 담아오는데까지는 성공 몇시간의 삽질이 끝나고 jwt에서 userId를 받아오질 못해서 원래 결과가 잘 반환되던 코드가 오류를 뿜어냄 결국 카피 받아오는걸 던지고 기존에 개인 과제했던 프로젝트에 3Layerd-architecture 진행함 근데 하나하나 뜯어본 결과 결국에 userId를 받아오게끔 return을 주면 되는거라 생각들었지만 일단 개인 프로젝트를 진행해야하기 때문에 개인프로젝트 끝나고 위에 오류난 트럽블 슈팅 할 생각임. controller, service, repository 계층으로 분할 먼저 계층 분리를 해주면 유지보수가 쉽고 가독성이 좋아짐. 근데..

[TIL] 2024. 2. 21. 04:56

[TIL] 2024.02.19 jest 디버깅 오류

vscode에서 jest를 디버깅하려고하면 오류가 발생했다. $ yarn test yarn run v1.22.21 $ node --experimental-vm-modules node_modules/.bin/jest C:\Users\Desktop\sparta\jest-example\node_modules\.bin\jest:2 basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") ^^^^^^^ 처음엔 Node 버전과 jest 버전이 맞지 않아 생기는 문제인가 싶어서 Node를 최신버전으로 적용시켰다.( 오래 전에 깔아놔서 최신화 시키면 고쳐질 줄) 윈도우 환경에서 발생하는 문제인걸 알고 경로를 바꾸었다. node_modules/jest/bin/jest.js 윈도우에..

[TIL] 2024. 2. 19. 22:30

[TIL] 2024.02.16 타입스크립트 맛만볼게

타입스크립트와 자바스크립트의 차이 ? What THE,, 단어에서 알 수 있듯이 타입에 차이가 있겠지.. 그냥 C나 자바에서 쓰는 것 처럼 변수 앞에 int, char, boolean 주는 거겠지.. 라고 생각했는데 진짜 맞네? 그래서 이 둘의 차이 점이란 자바스크립트는 동적타이핑 언어였다면 타입스크립트는 정적타이핑 이라는 소리 그럼 생각보다 쉽겠는데? // JS let isDone = false; let amount = 20; let userName = "Alice"; function multiply(a, b) { return a * b; } console.log(multiply(5, 3)); // TS let isDone: boolean = false; let amount: number = 20; l..

[TIL] 2024. 2. 16. 20:30

[TIL] 2024.02.15 sparpet 발표 후 회고

✨ 구글 로그인 ✨ 구글 로그인 후 게시물 작성 ✨ 팔로우 & 댓글 기능 ✨ 좋아요 & 좋아요 취소 기능 🎈 이메일 로그인 🎈 이메일 로그인 프로필 페이지 우리 프로젝트의 일부 영상을 gif로 만들어봤다. 📌 개발 진행 시 어려웠던 점 & 끝나고 아쉬웠던 점 1. 클라이언트 로그인 이슈 ✨ insomnia 환경에서는 위처럼 clientID를 키를 주며 테스트 했었음 ✨ 소셜에서 인증값을 보내주니까 프론트에서는 알아서 잘 되겠지하며 발표 전날 까지 문제가 없다고 판단했음 ✨ 그러나 발표 직전에 프론트엔드에도 clientId를 담고 전달해줘야 로그인 된다는걸 발견함. ✨ 대처하기 위해 긴급히 프론트엔드에 clientId 입력란을 만들고 입력 후 로그인 버튼을 누르면 정상작동하게 만들었음. ✨ 뭔가 배운 내용..

[TIL] 2024. 2. 15. 21:44

[TIL] 2024.02.14 sparpet 트러블슈팅

1. git 개인개발 브랜치에서 dev or main에 브랜치할 때 // 메인 브랜치로 전환 git checkout main // 메인 브랜치 최신 상태 확인 git pull origin main // 최신 상태 확인되면 머지 git merge localBranch // 푸쉬 git push origin main 2. 호환 이슈 이미지 리사이징을 위해 팀원분께서 npm install sharp를 이용했음 근데 main에서 풀받고 새로운 패키지를 받아야되는 상황이 오면 sharp가 계속 오류를 내뿜음 찾아보니 노드에 되지 않아 그랬던 것 의존성을 선택해서 다운해야 된다 그랬음 이용하는 패키지에 맞게 인스톨해줌 npm install --include=optional sharp yarn add sharp --..

[TIL] 2024. 2. 15. 20:18

[TIL] 2024.02.14 passport-kakao

passport-kakao passport-naver와 동작원리는 비슷하다. app.get('/auth/kakao', passport.authenticate('kakao', { state: 'myStateValue' })); 먼저 라우터를 통해 /kakao 로그인 요청을 받고 카카오 로그인 페이지로 이동되는 코드다. app.get( '/auth/kakao/callback', passport.authenticate('kakao', { failureRedirect: '/', }), (req, res) => { res.redirect('/'); } ); 이후 /auth/kakao/callback URL 경로로 값을 전달해주고 passport.use( new KakaoStrategy( { clientID: cl..

[TIL] 2024. 2. 14. 02:53

추가 정보

인기글

최신글

페이징

이전
1 ··· 3 4 5 6 7 8 9 10
다음
TISTORY
재호링의 쌉꿀마코딩티비 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바