본문 바로가기

백엔드 개발58

#005. 백엔드 코드리뷰 : DTO에 엔티티 값을 그대로 사용하는 안티패턴 DTO는 데이터를 전달하거나 받을 때 데이터를 담는 요소로 클라이언트와 서버 간, 서버 내에서 레이어 간에 데이터를 주고 받을 때 사용할 수 있다. 그런데 DTO를 이렇게 표면적인 정의로 접근하면 엔티티를 그대로 DTO에 사용하는 안티패턴을 만들 수 있다. 아래는 유저의 전화번호 뒷자를 확인해서 일치하는 것이 있으면 아이디와 비밀번호를 알려주는 시스템을 아주 간단하게 만든 예시이다. 아래와 같은 테스트를 통과시켜보려고 한다. // test.ts import request from "supertest"; import app from './app'; describe("005 sample test", function () { it('요청의 결과 200이 리턴된다.', async() => { await requ.. 2022. 4. 18.
#004. 백엔드 성장 일기 : source tree 어제 오후 향로가 태그를 하셔서 확인해보니 source tree 이미지와 함께 PR merge를 하기 전에 rebase가 빠져있다는 말씀을 해주셨다. 보통 인프런에서는 지정 리뷰어가 approve를 한 후에 merge를 해주고 있고, 리뷰를 부탁드리기 전에 rebase + push를 하고 있다. 혹시나 내가 rebase를 빠뜨렸나 하는 생각에 source tree를 다시 찾아보는데 rebase를 하면서 메인 브랜치에 맞추는 용도로는 자주 사용해봤어도, 전체적인 흐름에서 본 적이 없다는 것을 알게되었다. 그래서 어떻게 생긴 문제였고 어떻게 확인할 수 있었으며 어떻게 해결할 수 있는 지까지 확인해서 정리해보려고 한다. 우선 source tree는 코딩에 완전히 집중할 수 있도록 Git 리포지토리와 상호 작용.. 2022. 4. 15.
#003. 코드리뷰: 디미터의 법칙 혼자 개발을 할 때 가장 어려운 점 중 하나가 내 코드에 대한 피드백을 할 수 없다는 것이다. 향로가 공유해주셨던 트위터이다. 개발자가 성장했다는 것은 자기가 쓴 코드에서 무엇인가가 어색하다는 것을 느끼는 것에서부터 시작한다고 말하는데, 이 말에 크게 공감되었다. 코드 리뷰를 해주는 동료가 있다는 것은 내가 내 코드에서 떨어져나와 어색한 점을 찾는 것이니 코드리뷰는 개발자의 성장과 직결되어있다고 생각된다. 그리고 혼자 공부를 하면서 가장 어려웠던 점이기도 하므로, 코드리뷰를 받으며 배운 것에 대한 글도 꾸준히 올리려고 한다. 오늘 글에서 정리하려는 내용은 '디미터의 법칙(law of demeter)'이다. 디미터의 법칙을 위키에 찾아보면 AOP를 만들 때 생각된 개념인 것을 알 수 있다. AOP란 모듈성.. 2022. 4. 14.
#002: 글을 쓰기 시작하는 목적 두 가지 1. 향로의 글을 읽으면서 회사에 들어오기 전에 "대체 어떤 걸 알아야 개발자가 되기 위한 최소한의 문턱을 넘을 수 있을까?" 궁금해하던 것이 기억났다. 그래서 개발자로 입사를 하고 성장하는 경험을 담아, 그 때의 내게 필요했던 글을 한 번 써보고 싶어졌다. 2. 생각 정리해서 글로 써야지라고 생각만 하고 글을 쓰지 않고 있었다. 내가 글에 관해 몇번이고 다시 보고 사유하는 두 개의 컨텐츠가 김혜리 기자님의 이 트위터 글과 김영하 작가님의 강연이다. 지금까지는 그럭저럭 나는 아직 자기 해방의 글쓰기가 필요할만큼 힘들지 않은 게 아닐까 변명을 하며 글쓰기를 미뤘다. 그러다 우연히 본 이 트위터가 자꾸 생각에 맴돌면서 내가 지금 글쓰기를 시작하지 않는다면 글쓰기가 필요해진 어느날 나는 나를 표현하는 적절한 .. 2022. 4. 13.