프로젝트

    첫 팀 프로젝트 후기

    3월 9일부터 시작한 팀프로젝트가 드디어 마무리가 되었다 원래는 6주정도로 생각중이었지만 프론트 한 분 잠수, 기타 이유로 1주일 정도 밀리기는 했지만 그래도 첫 팀프로젝트가 완성이 되어서 만족이지만 몇가지 아쉬운 부분들이 남아있다 팀 프로젝트 후기 "개인이 아닌 함께 하는 것의 즐거움" 항상 개발 공부는 혼자 진행해왔고 누군가의 피드백 또한 받아본 적이 없다 몇번 친구들과 스터디를 진행을 해봤지만 항상 알려주는 역할을 해왔기에 소통이 오간다기 보단 일방적인 정보 전달에만 국한되어왔다 하지만 이번 팀 프로젝트를 하면서 기술적인 문제들, 서로 고민하던 내용들, 부족한 부분을 채워나가면서 즐거움이 생기게 되었다 협업과 소통의 즐거움을 배울 수 있던 시간이었다 "부딪칠 수 있는 자신감" 부끄러운 얘기지만 나는..

    졸작 프로젝트 마무리

    프로젝트를 마무리하면서 부족했던 부분을 정리하고자 한다 처음으로 스프링을 사용해서 처음 부터 끝까지 진행한 프로젝트이고 많은 어려움이 있었지만 완벽하다고는 하지 못하지만 완성을 해냈다 아쉬웠던 점 컨트롤러에서 Entity 노출 JPA를 사용하면서 몇몇 엔티티에 양방향 관계를 맺어 둔 것이 있다 개발을 첫 시작할때만 해도 우선 기능이 돌아가게끔 만들자라는 생각 뿐이었고 뷰에 반환 하는 값에 대해서는 전혀 생각을 하지 않고 있었다 이부분이 화두의 시작이었다 뷰에 반환하는 값에 양방향 관계를 맺은 값이 포함이 되었고 순환참조의 문제가 생기게 되었다 경험해보지 못한 오류상황이었고 꽤 긴시간 골머리를 앓았던 기억이 있다 그 당시에는 DTO를 만들어서 보낼 생각은 하지 않은채 결국 문제만 해결하기 위해 @JsonI..

    졸작 도메인 구성

    졸작 도메인 구성

    개요 졸작을 위해 만든 프로젝트를 정리 사용기술 Spring boot JPA thymeleaf MySQL H2(테스트 용도) 도메인 설계 기본 시간 사용자 정보 작성 위 ERD를 보면 알 수 있듯이 저장되는 거의 모든 엔티티에 시간정보와 사용자 정보를 기본으로 입력을 하도록 설정을 하였다 모든 엔티티에 직접 작성하여 넣을 수도 있지만 하나의 클래스로 도출하여 값만 상속을 받을 수 있도록 설계를 하였다 하지만 어느 엔티티는 시간정보만 다른 엔티티느 시간, 사용자 정보둘다 필요로 하기 때문에 위 문제는 아래와 같이 두개의 클래스로 나누어서 사용을 하였다 @Getter @MappedSuperclass public class TimeInfo { @Column(name = "CREATED_AT", updatabl..