복잡한 쿼리 어떻게? 여러 다른 서비스에 존재하는 피드들을 해시태그 기반으로 한 곳에서 모아 볼 수 있는 서비스 기능을 개발하는 과정에서, 게시글을 쿼리의 조건별로 필터링과 정렬을 하는 쿼리를 작성해야 했다. Typeorm을 처음 제대로 사용해 봤기 때문에 좀 헤맸지만, 결국 결과물은 만들어 냈다. api 조건을 살펴보자. 위의 내용에서 확인 할 수 있듯이, 쿼리 파라미터로 들어오는 조건에 따라 쿼리의 결과를 동적으로 필터링하여 데이터를 처리하여야 했다. 이 부분에서 typeorm의 querybuilder를 사용하였는데, 발생했던 문제를 기록으로 남겨야 겠다고 생각했다. 구현해야 할 조건은 다음과 같았다. 쿼리로 받아온 검색조건을 반영하여 데이터 처리하기 해당 게시글에 모든 해시태그 같이 보여주기 con..
다대다 관계 설정을 위한 매핑 테이블 엔터티 스키마를 작성하는 중, typeorm에서 지원하는 @JoinTable(연결테이블)을 통해서 자동 생성 할 수 있는 것을 배웠다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 주어진 조건들을 split을 통해 사용 가능한 데이터로 저장하여 이용하는 것이 첫 번째로 떠올랐다. 그러고 나서, 유효기간이 지났는지 어떻게 비교를 해야 할까 생각했을 때, 시간의 단위처럼 날짜도 절대적인 숫자로 바꿔서 크기를 비교해 주면 될 것 같았다. def solution(today, terms, privacies): #약관 종류 , (절대적기준)유효기간 딕셔너리 형태로 저장 data_dic={} today_info = list(map(int,today.split('.'))) # 오..
좋은 코드란 무엇일까? 프로젝트를 반복하고, 서비스를 만들면서 반복되는 코드들을 타이핑하면서 생각하고 궁금해졌다. (몸으로 체감한 궁금증) "좋은 코드는 무엇이고 어떻게 만드는 걸까? 지금 내가 작성한 코드들에서 서비스가 변경되고 확장되면, 새로운 기능에 맞춰서 전체적인 부분을 살펴봐야 하고, 또 오류를 수정하고 이런 일을 반복하면 너무 힘들 것 같은데... 이게 맞나?" 머릿속에서 드는 생각은 현재 내가 작성하는 방식의 코드가 좋은 코드에 충족하지는 않은 것 같았다. 그래서 이참에 제대로 좋은 코드에 대해 학습해 보았다. 이 글의 목적은 "아하, 이런 느낌이구나"를 공유하는 데에 있다. 아래의 세 가지 정도의 기준을 만족하면 좋은 코드라고 할 수 있을 것 같다. 변경사항을 쉽게 반영 할 수 있는가? 일..