개발 일지

개요 벌써 취업해서 일한지 4주차이다. 나는 지금 하루가 다르게 성장하며 배우고 즐겁게 일하고 있다. 다만 시간이 부족할 뿐...! 입사하자 마자 4주차까지 SI로 일했고, 이제 드디어 자사 서비스 개발에 들어간다. 그래서 4주간 일했던 경험을 피드백으로 작성해볼 것이다. 평소 나는 ORM을 주로 사용했다. Spring에 DataJPA 또는 NestJS에 TypeORM으로 코드로 추상화 된 DB 작업만 했는데 여기에선 Spring에 xml 파일 기반의 MyBatis라는 DB Mapper를 사용했다. 4주간 이 덕분에 기술 부채로 남겨뒀던 SELECT 문을 맘껏 써봤다. 지금은 SELECT문 작성과 두 개 이상의 서브 쿼리, CTE(Common Table Expression)을 사용한 복잡한 조회 문을 손..
[개요] 프로젝트를 진행하며 Front-end와 Back-end 사이에 주고 받을 API 명세서를 설계하게 되었다. 두 번의 웹 서비스 프로젝트를 거치며 적당하다 생각하는 정도를 담아 규칙 등을 이유와 함께 정리하려 한다. [본문] HTTP status code JWT 등 토큰이 만료 되었거나 유효하지 않은 토큰일 시 401(Unauthorized)를 응답한다. HTTP(하이퍼텍스트 전송 프로토콜) 401 Unauthorized 응답 상태 코드는 요청된 리소스에 대한 유효한 인증 자격 증명이 없기 때문에 클라이언트 요청이 완료되지 않았음을 나타냅니다. 이 상태 코드는 사용자에게 인증 자격 증명을 입력하라는 메시지를 표시한 후 클라이언트가 리소스를 다시 요청할 수 있는 방법이 포함된 HTTP WWW-Aut..
개요 프로젝트를 진행하며 User에 대해 ERD를 설계했다. 이때 왜 이렇게 설계했는지 판단의 기준 등을 기록해보려 한다. 본문 User(회원) id는 Primary key이며 정수이고, NULL이 아닌 항상 값을 할당 받아야 한다. 속성은 1부터 Auto increment를 갖고 있다. nickname은 서비스에서 사용할 별명을 저장하며 아직 길이 제한을 갖지 않았다. 제한된 길이를 가질 예정이다. email 의 최대 길이는 320이다. RFC 2811에서 찾은 길이 정보는 다음과 같다. '${local-part}''@''${domain}' 1) local-part: The maximum total length of a user name or other local-part is 64 characters..
개요 개발 팀 프로젝트는 github에서 버전 관리를 주로 한다. 이때 누군가 작업을 했고, PR 같이 직후에 팀원의 확인이 필요한 작업이 있을 수 있다. 이때 팀원들에게 '나 작업했어!'라고 일일이 팀 단체 채팅방에 올릴 수도 있지만, 이를 이벤트로써 감지하여 '관련 메시지를 바로 받아볼 수 없을까?'라는 생각을 해볼 수 있다. 해당 부분에 대해 만족할 수 있는 방법이 있고, 이를 웹 후크라고 한다. 이번에 팀 프로젝트를 진행하는 김에 웹 후크를 이용한 자동화 기능을 사용해보기로 했고, 사용 방법에 대해 포스팅하려 한다. 본문 방법 Discord 서버에서 채널을 생성한다. 생성된 채널 설정에 들어간다. 연동의 웹후크에 들어간다. 새 웹후크를 생성하고, 웹후크 URL을 복사한다. Github Reposi..
개요 개발을 하다보면 누군가가 이미 만들어둔 프로그램 또는 코드를 사용하게 된다. 이때 어떤 것은 프레임워크라 하고, 어떤 것은 라이브러리라고 하는데 결국 둘 다 다른 사람이 만든 것이라 차이가 헷갈린다. Spring을 공부하다 이 차이를 깨닫게 되었다. 개념 상 헷갈리는 이 둘, 구분할 수 있을까? 프레임워크 이는 사용했을 때 제어권을 자신이 작성한 코드가 아닌 다른 무엇인가 가졌을 때이다. 예를 들어 Spring의 IoC 컨테이너(Inversion of Controll Container)는 사용하는 객체를 Bean으로써 싱글톤으로 관리해주며, 필요할 때 하나씩 가져올 수 있게 한다. IoC(제어의 역전)이란 프로그램에서 프로그램의 비즈니스를 담당하는 주 객체들이 객체의 생성이나 보조적인 흐름을 관리하..
공부하는 날 어떤 공부를 했는지 개발일지를 적을 계획이다. 그런데 현재 이미 플랫폼을 여러 개 사용하고 있어서 어떤 것을 선택할지 고민된다. 42 Seoul 에서 공부하는 내용과 개인적인 공부 내용, 강연과 책 내용 정리는 모두 Notion 으로 정리 중이고, Github 에도 꾸준히 내가 작성하는 코드를 업로드 중이고, 42 스터디 그룹인 '구해줘 카뎃'을 진행하며 오늘 공부한 내용을 slack 에 공지하기 때문에 블로그에 글을 업로드해야만 하는 이유를 찾아야 한다. 또 지금까지는 공부하는 분야 등을 카테고리로 나눠 정리했는데 날짜 별로 분류하면 좋을까에 대한 물음도 생각해 볼 계획이다. 공부하는 분야나 과제 별로 분류해서 정리하면 장점이 많다. 그 중에서 가장 좋은 점은 쉽게 원하는 정보를 찾아갈 수..
작성 중.. (도입부 내 썰 늘여놓기) 나는 먼저 시간 관리 앱을 만들고 싶다. https://band.us/n/a9a05e53zcP30 '매일 운동하기, 규칙적으로 자기, 일찍 일어나기, 코로나 블루 떨쳐내기' 밴드에 초대합니 매일 규칙적으로 자기, 운동하기(숙면 Tip 제공) 매일 규칙적인 수면, 운동, 공부, 취미 등을 관리하도록 도와주는 미션 밴드입니다. 멤버들과 함께 미션을 하다보면 어느새 규칙적인 생활을 하고 band.us 그리하여 내 이상향과 가장 비슷한 밴드라는 웹과 앱으로 내 목표를 먼저 시험해보고 있다. 이 밴드를 소개해드리자면 세 가지의 미션이 존재하고, 매일 구성원들은 이 세 가지 미션을 수행한다. 양식은 정해져 있지만 자유롭게 작성해도 된다. 굉장히 쉬워보이지만 '매일' 진행한다는..
jayoon
'개발 일지' 카테고리의 글 목록