목록2024/07 (3)
Hyun's Wonderwall
ERD를 설계할 때 컬럼을 NOT NULL로 설정하고, 엔티티 매핑을 위해 도메인 코드를 작성하다가 이것과 관련해 선택지가 많음을 알게 되었다. (사실 알게 된 지가 세 번은 넘었을 텐데, 정리를 해놓지 않았더니 헷갈려서 이번에 정리하게 되었다.)1. nullable=false컬럼을 NOT NULL로 설정하는 것. 엔티티와 매핑되는 테이블 생성을 위한 DDL 쿼리(create table)가 나갈 때, 컬럼에 NOT NULL 제약조건(constraints)를 걸어준다.이것은 데이터베이스 테이블 컬럼에 NULL 값이 삽입되는 것을 막는 것이어서, 서비스 로직에서 엔티티에 NULL이 들어오는 것은 아무런 에러를 발생시키지 않는다.2. @NotNullSpring Boot Validation 라이브러리(buil..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1AhgK/btsIkAEO6mP/9nXMK9WrtwXYqmaoTmZnR0/img.jpg)
자바 스프링을 시작한 지가 벌써 1년이 넘었다. 시간이 무섭도록 빠르다!내가 스프링을 처음 공부했던 것은 작년 3월 인터넷 강의 스터디를 통해서였다. C++ 알고리즘 공부를 어느 정도 해본 상황이었어서, 자바 문법을 간단히 익히고 용기 있게 바로 스프링에 도전했었다. 그러나 얼마 못 가 내가 얼마나 무모했는지를 깨달았는데, 강의 자체도 어려운 강의였는데 나는 객체 지향과 웹 기초 지식(HTTP 등) 조차 없었다. 결국 막막한 이론 부분은 감만 잡고 넘어가버리고 코드를 따라 치고 구현하는 것을 확인하기 급급했던 기억이 난다.. 이론 지식이 빈약하다보니 프로젝트 실전에 뛰어들었을 때 더욱 많은 에러를 만났다. ERD 설계를 잘못하거나 Service끼리 필드 주입을 해주어 순환 참조가 나는 등... 프로젝트 ..
교내동아리 EFUB에서 Songpin 프로젝트를 진행중이다!개발 기술 스택은 프론트 - React, 백엔드 - Java Spring boot이고 AWS와 Docker로 배포할 예정이다.외부 API로는 Spotify Web API와 Kakao Map Web API를 사용하게 되었다.서비스에 음악 검색 기능과 지도 장소 검색 기능이 필요한데, 스포티파이 API를 통한 음악 검색은 백엔드를 거치고 지도 장소 검색은 프론트엔드에서 처리하기로 했다.핀이 1개일 때는 음악 상세보기로 이동하고, 핀이 여러개일 때는 장소 상세보기로 이동한다. 이에 따라 백엔드에서 나름의 클러스터링(?)을 하게 되었다.pinList과 placePinList(여러 핀을 묶은)를 구분해 배열에 담아 응답을 전송한다. 이전 Kidari 프로..