[JPA] Spring Data JPA의 DB 초기화
개발/Spring&JPA
/ 2022. 10. 2.
안녕하세요 백엔드 개발자 제임스입니다.😎 서론 최근 우리 팀은 구현 단계에 돌입했습니다. 이에 따라 백엔드 팀도 도메인 별로 역할을 나누어 기능을 구현하고 있죠. 하지만 점점 도메인 수가 증가하면서 테스트에 어려움을 겪고 있습니다. 가령 포스트맨으로 직접 데이터를 넣으며 테스트를 하려고 해 해도 시간이 오래 걸리죠. 물론 가장 좋은 방법은 테스트 코드를 작성하는 것입니다. 하지만 우리 팀은 아직 테스트 코드를 작성하는 것이 미숙합니다. 그래서 오늘 해결책이 될 수 있는 방법을 소개하려고 합니다. 제시하는 방법은 프로그램을 시작할 때 DB에 초기 데이터를 자동으로 저장시키는 방법입니다. 이제 자세하게 알아보도록 하겠습니다. 초기 데이터 저장 목표 : 프로그램 실행 시 DB에 초기 데이터 자동 저장 1) y..
[Project] 험난했던 'SPRINT 1'을 마치고
글쓰기/회고
/ 2022. 9. 28.
안녕하세요 NOT-ERROR팀 백엔드 개발자이자 PM 강시혁(제임스)입니다.😎 서론 프로젝트가 본격적으로 시작했던, 첫 번째 스프린트가 끝났습니다. 아마 짧았던 일정과 주말로 인해 진행이 쉽지 않았을 것입니다. 저 또한 이러한 방식을 처음 도전하다보니 많은 어려움을 느꼈습니다.😥그리고 팀과 일정 등에 대해서 부족한 점도 여러 보였습니다. 따라서 PM인 저는 좋은 결과물과 팀의 발전을 위해서 회고하는 시간이 필요하다고 생각했습니다. 1) SPRINT 1 일정 2) SPRINT 1 결과 22.09.16 ~ 22.09.27 마감기한 내에 역할 수행 실패 (원래 목표는 '26일까지' 이었으나, 이루지 못했습니다.) 총 44개 이슈 중 35개 성공(프론트 7개 미완료, 백엔드 2개 미완료) 이유를 분석하자면, (..
[스프링] 백엔드 개발자의 필수 과제, '순환 참조(Circular Reference)' 문제 해결
개발/Spring&JPA
/ 2022. 9. 18.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 서론 어제 '백기선 개발자님'의 Youtube 라이브 방송을 보게 되었습니다. 방송은 신입 또는 취업을 준비하는 개발자들의 프로젝트를 '리팩토링' 하는 내용이었습니다. 많은 프로젝트들이 방송에 나왔는데요. 출연한 프로젝트들의 공통점은 대부분 클래스 순환 참조 문제에 대한 지적을 받은 것입니다. 초보 개발자들이 대부분 빈(Bean)들 간의 의존성을 무시해서 발생하게 된 문제였습니다. 만약 순환 참조를 고려하지 않는다면, 추후 서비스 런칭 후 문제가 발생할 수 있다고 합니다. 저 또한 순환 참조란 용어가 굉장히 생소했습니다. 최근에 백엔드 개발자들과 협업하며, 많은 도메인을 개발하고 있기 때문에, 순환참조 문제에 대해서 제대로 알아야 할 필요를 느꼈습니다. 추가로..
[Project] 백엔드 개발자의 PM 회고록: 사전 프로젝트를 마치고 😆
글쓰기/회고
/ 2022. 9. 9.
전체를 읽는데, 예상 소요 시간 : 15분 지난 글 지난 글에서는 사전 프로젝트의 중간 회고를 주제로 작성했습니다. https://kang-james.tistory.com/entry/%ED%9A%8C%EA%B3%A0-%EC%A7%80%EA%B8%88%EC%9D%80-%ED%8C%80-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A7%84%ED%96%89-%EC%A4%91-%EC%9D%B4%EC%83%81-%EC%9C%A0%F0%9F%86%98 [회고] 지금은 팀 프로젝트 진행 중, 이상 유!!!!🆘 1. 코드스테이츠 교육 과정을 마치고 (22.05.01 ~ 08.18) 22년 8월 18일부로, 코드스테이츠의 교육 과정을 마치게 되었다. 여기서 마쳤다는 교육 과정은 projec..
[JPA] JPA에서 Spring Data의 Audit 기능 적용하기
개발/Spring&JPA
/ 2022. 9. 7.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 Spring Data에서 제공하는 Audit 기능에 대해서 알아보도록 하겠습니다. 먼저 audit의 사전적 의미를 안다면 기능을 쉽게 이해할 수 있습니다. (사전적 의미) Audit : 심사, 감사, 회계 감사 Audit는 '심사'라는 사전적 의미를 갖습니다. 가령 '조직에 문제가 발생했을 때, 외부 기관에서 감사를 진행한다' 할 때와 같이 사용됩니다. Spring Data 에서 제공하는 Audit 기능은 Database에 값이 변경되었을 때 [누가, 언제] 변경했는지 감사하는 기능입니다. 사실 이것은 사전적 의미입니다. 정확하게는 어떤 역할을 갖으며, 기능 사용은 어떻게 해야 할까요? 이제 자세하게 알아보도록 하겠습니다. :) 1. JPA에서 Spri..
[빌드] ./gradlew: /bin/sh^m: bad interpreter: no such file or directory 오류 발생 그리고 해결
개발/Programming
/ 2022. 9. 2.
안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 제가 프로젝트를 진행하던 도중 겪었던 에러와 이를 어떻게 해결 해결했는지 공유하도록 하겠습니다. 상황은 AWS EC2의 인스턴스를 통해서 jar 서버를 배포하려던 중이었습니다. 우리 팀은 gradlew를 통해 build 하여 jar파일을 만들려고 했습니다. 하지만 ubuntu [Linux] 환경인 인스턴스에서 gradlew 파일을 찾지 못한다는 에러를 접하게 되었습니다. 전에 실습할 때는 겪어보지 못했던 문제여서 당황했습니다. 문제 ./gradlew: /bin/sh^m: bad interpreter: no such file or directory 원인 분석 해당 문제는 운영체제 Linux에서 스크립트를 실행할 때 발생할 수 있는 에러입니다. 자세하게는 ..