전체 글

스터디/Spring Boot 스터디

[스터디] 상점 도메인 추가 및 Swagger 설정(7회차)

😁 배운 내용 이미 설계가 완료된 Domain과 연관된 새로운 Domain이 추가 됐을 때 변경 사항과 발생하는 문제를 하나씩 해결해 볼 수 있었던 경험이었습니다! ✏️ 미션 제출 미션 전체 코드는 다음 PR에서 살펴볼 수 있습니다. [이호석] DAY7 상점 도메인 추가 및 swagger 설정(완료) ✅ 상점 테이블 설계 Store 도메인은 id, 상점 이름, 주소, 전화번호를 가집니다. (필드 정의) 주소에는 도로명 주소와 상세 주소가 포함됩니다. (주소 -> 값 타입 객체) 하나의 상점은 여러 개의 상품을 가질 수 있습니다. (연관관계 1:N) 따라서 다음과 같이 Entity 객체를 만들 수 있습니다. N 측 개체가 외래키를 갖게 되므로 연관관계 주인은 Product가 됩니다. 따라서 Store의 p..

일상

[회고록] 1일 1커밋을 365 + 1일을 하고나서

velog에 작성했던걸 티스토리로 옮긴 글입니다! 원문 2021년은 방황했던 해였다. 개발자가 되고 싶어 소프트웨어 학과로 전과했으나, 학교 공부 말고도 무엇을 해야 할지 갈피를 잡지 못했고, 백엔드? 프론트엔드? 어렴풋이나마 이름만 알고 있었고 어떤 일을 하는지도 몰랐다. 그나마 아는 거라곤 남들보다 조금 잘하는 프로그래밍언어였는데 이마저도 해당 언어의 특성을 잘 알지도 못했고, 문법만 맞춰가며 쓰는 수준이었다. 동욱(향로)님을 유튜브 EO 채널에서 처음 보게 됐고, 향로 님의 개발자 인생썰과 1일 1커밋이라는 단어를 처음 알게 됐다. 공부하면서도 느끼지 못했던 신선한 충격을 받았다. 흔히 말하는 대기업들은 천재들이 상주하는 곳이라 생각해왔는데 그게 아니었다는 약간의 안심도 할 수 있었다. 1일 1커밋..

스터디/Spring Boot 스터디

[스터디] Spring Data JPA(6회차)

😁 배운 내용 Spring Data JPA에서 메소드 명명 규칙에 대해 좀 더 자세히 공부할 수 있었습니다. 또한 Controller에서 작성한 api에 대한 테스트를 작성하여 테스트 커버리지를 88%까지 증가시키며 확실한 테스트 코드를 통해 새로운 로직 작성이나 기존 로직에 대한 테스트 시 빠른 피드백을 받을 수 있어 편리함을 느꼈습니다. BDD 방식은 공부 중이라 적용해보지 못했습니다.🥲 ✏️ 미션 제출 미션 전체 코드는 다음 PR에서 살펴볼 수 있습니다. [이호석] DAY6 Spring Data JPA(완료) ✅ 상품 상세조회 구현하기 요청 URI: GET /api/products?id=1 ProductController id값을 받아와 서비스에게 해당 id값에 맞는 상품을 찾도록 합니다. Prod..

스터디/Spring Boot 스터디

[스터디] Spring Data JPA 세팅하기(5회차)

😁 배운 내용 데이터베이스의 개념적인 부분을 다시한번 복습하고, 이해할 수 있었습니다. 더불어 예상 꼬리질문들을 작성하고 답해보면서 왜? 라는 것을 다시 한번 생각해볼 수 있었습니다! 미션 코드는 다음 PR에서 확인할 수 있습니다. [이호석] DAY5 Spring Data JPA 세팅하기 PR ✏️ 미션 제출 ✅ 데이터베이스 면접 단골 질문 1. 데이터베이스의 특징에 관해 설명해주세요. ✏️ 데이터베이스의 정의 데이터베이스는 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합이다. 공유 데이터 : 데이터베이스는 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있어야 합니다. 통합 데이터 : 데이터베이스는 중복을 최소화하고 통제가 가능한 중복만 허용하는 데이터들의 ..

스터디/Spring Boot 스터디

[스터디] Controller, Service, Repository 구분하기(4회차)

😁 배운 내용 간단한 API이라고 생각했지만, 심화 내용들을 추가하면서 꽤 많이 고민했던 미션들이었습니다. 처음 사용해본 RestTemplate KRW -> USD를 변환하기 위해서는 현재 환율에 대한 정보가 필요했습니다. 따라서 외부 API를 호출해야 하는 상황이 있었고, Spring Framework는 해당 기능으로 RestTemplate을 제공해줍니다. exchange라는 도메인으로 분리해 별도의 외부 API를 호출하여 사용하면서 RestTemplate의 사용경험을 할 수 있었습니다. RestTemplate과 Connection Pool RestTemplate을 사용하기 위해 정보를 찾아보던 중 RestTemplate의 모든 요청마다 새로운 Connection을 생성합니다. JDBC에서 가장 많은 ..

스터디/Spring Boot 스터디

[스터디] 프로젝트 생성 및 test api 구성하기(3회차)

😁 배운 내용 ✔︎ Plain jar vs Executable jar 현재 프로젝트를 빌드하게 되면 2개의 jar파일이 생성된다. Plain jar는 현재 작성한 소스코드에 대한 클래스 및 리소스 파일만을 포함한다. 따라서 의존성을 포함시켰더라도 당장 사용하지 않으면 plain jar는 포함되지 않는다. 배포를 해야한다면 plain.jar를 배포하는일은 없도록 해야한다! ✔︎ Java의 jar 내용이 많아 별도로 포스팅 jar 파일이란? ✏️ 미션 제출 제출 코드는 PR에서도 확인할 수 있습니다. DAY3 Pull Request ✔︎ 빌드 이후 jar 파일 실행하기 빌드 이후 jar 파일 실행 http://localhost:8080 접속시 정상 접속 확인 ✔︎ api 생성하기 문자열 리턴 GET api ..

HiiWee
HiiWee's Devlog