분류 전체보기63 #009. 백엔드 주간 소식: 모각글 반상회, 깜짝 생일파티, 티코지 아티스트웨이라는 책에서 삶을 관찰하는 태도에 대해 감명 깊게 읽었다. 많은 성현들이 말한 것처럼 인생은 너무 순식간에 지나가기 때문에 매 순간 '지금 여기'에 무슨 일이 일어났는 지 온전히 느끼는 것이 중요하다. 그런 연장 선에서 한 주간 소소하게 있었던 일을 간단하게 정리하려고 한다. 스타트~! 1. 모각글 대위기 반상회 인프랩 내에는 모각글(모여서 각자 글쓰기) 모임이 있다. 매주 글을 쓰기로 하고 안쓰면 커피 한 잔이 적립되어서 누군가에게 사주는 규칙인데, 글을 너무 안써서 모각글 대위기 반상회가 열렸다. 11명 맴버가 다같이 모여서 다시 규칙을 정하고 으쌰으쌰하는 시간이었다. 감사하게도 내 아이디어가 채택이 되어서 매주 한 가지 주제로 각자 글을 써보자 하는 약속을 하게 되었다. 이번주 주제는 .. 2022. 5. 2. #008. 백엔드 성장일기: SQL 사용법( INNER OUTER JOIN 등) 이번주 프로젝트를 하면서 SQL문 사용법을 몇가지 배우게 되어서 정리하려고 한다. 아래 이미지 중에서 자주 사용하는 개념은 두 원이 겹치는 부분인 INNER JOIN과 왼쪽 초승달 모양 부분의 LEFT OUTER JOIN이다. [INNER JOIN] INNER JOIN은 조인 하는 컬럼을 기준으로 두 테이블에 모두 존재하는 데이터를 가지고 와서 합친다. 예를 들어서 아래와 같은 경우 school 과 church 에 동시에 존재하는 user를 기준으로 JOIN을 하기 때문에 학교와 교회에 동시에 존재하는 사람들의 id와 name을 조회한다. INNER JOIN을 여러번 겹칠 수도 있다. 아래의 경우 학교, 교회, 동아리에 동시에 소속되어 있는 사람을 조회한다. [LEFT OUTER JOIN] 위와 달리 존.. 2022. 5. 2. #007. 백엔드 성장일기: 주간 프리뷰(작은 동물 의자, 이별 휴가 등) 인프런에서는 현재 매주 화요일 오후 3시에 한 주를 돌아보고 공유하는 주간 프리뷰를 하고 있다. 새로 이사한 회사의 타운홀에 모여 앉아 이야기를 듣는 시간. 어제 진행한 이번주 주간 프리뷰에서 재밌었던 걸 기록해두려고 한다. 운영팀에서 동물 인형을 주문했는데 작은 동물들이 왔다. 나는 이게 스툴이라고 생각했는데, 그냥 의자가 작은 거였다. ㅎㅎ 타운홀은 통유리로 되어있고 주간 프리뷰에는 계단에 모여 앉아서 이야기를 한다. 키친도 넓고 책상과 의자도 많아서 한 두분 씩 앉아 계실 때가 많다. 회사 슬랙에 올려주신 동물 의자 사진들 CSO님(?!)의 생일이어서 같이 케이크를 나눠 먹었다. 오랜만에 타르트였다. 수습 1달 차 HR 원온원을 진행하면서 먹었다. 한창 재밌게 이야기하고 나왔는데, 알고보니 대화한 .. 2022. 4. 20. #006. 백엔드 성장일기: 안티패턴 return await 챙겨보는 연사 중 조용민 작가님이 있다. 해주신 말 중 요즘 글을 쓰며 자주 생각나는 부분이 "이불킥을 하세요"이다. 매일 하는 루틴이 있냐는 질문에, "자기 전에 이불킥을 한 날은 그만큼 부끄러운 일을 한 것이다. 헛소리를 했거나, 바보같은 이야기를 했거나, 점수를 잃을 일을 했거나 하는 건데. 이불 킥을 한다는 건 성장하는 날이었다는 뜻이다. 자꾸 부딛히고 실수해야 성장을 하기 때문이다."라고 말하신다. 최근에 코드리뷰를 받고 동료 개발자 분들께 질문을 많이 하다보니 부끄러운 일들이 정말 많다. 그런데 그런 감정이 드는 만큼 마음에 남고 다시 그 코드를 볼 때 이전에는 안보이던 게 보이는 경험을 하면서 성장했다는 기분을 느꼈다. 그래서 저 말씀이 기억났던 것 같다. https://youtu.be/Nv.. 2022. 4. 19. #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. 이전 1 ··· 7 8 9 10 11 다음