내배캠 - 최종 프로젝트 SpotOn
·
프로젝트
최종 프로젝트 - SpotOn거의 한달간 이루어진 마지막 팀 프로젝트가 어제 발표회를 마지막으로 마무리 됐다. 이번 협업에서 담당한 업무와 느낀점을 정리해보려고 한다.프로젝트 결과물 👇 GitHub - team4-SpotOn/spoton-backendContribute to team4-SpotOn/spoton-backend development by creating an account on GitHub.github.com 내 담당 업무 ♣️실시간 로깅 및 모니터링S3 이미지 업로드프로모션 이벤트 CRUDEC2 서버에 배포프로젝트를 진행하며 잘한 점 & 아쉬운점 🎃잘한점각 기능별로 이슈를 만들어서 작업 한 것기능 구현 사항들을 Phase 1,2,3 으로 나누어 개발 진행담당 파트에 대해 이틀전에 완료 ..
내배캠 - 플러스 팀 프로젝트
·
프로젝트
프로젝트 목표 - Cache를 이용한 성능 개선프로젝트 기간 - 24.11.22 ~ 24.11.29구성원 - 4명프로젝트 GitHub  GitHub - ocean-sunfish9/ocean-backend: ocean-backendocean-backend. Contribute to ocean-sunfish9/ocean-backend development by creating an account on GitHub.github.com KPT 회고  KeepDocker compose로 MySQL, Redis를 실행각자 properties 파일을 맞추지 않아도 되어서 편했다.개발에 관한 의견 제시시에 일방적인 강요가 아닌 설득각 이슈마다 브랜치를 생성하여 개발한 것병합할 때 충돌 최소화nGrinder 를 이용해서..
IoC & DI
·
TIL
IoC (Inversion of Control)란 ?IoC란 제어의 역전이라 부른다제어의 역전이란 메서드나 객체의 호출 작업을 개발자가 아닌 외부에서 결정되는 것을 의미한다.객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게하여가독성 및 코드 유지 보수를 편하게 할 수 있게 한다. DI (Dependency Injection)란 ?DI란 의존성 주입이라 부르며 객체를 직접 생성하는게 아닌 외부(IoC 컨테이너)에서 생성한 후 주입시켜주는 방식이다.DI를 사용한다면 의존성이 줄어들고 가독성이 높아지며 코드의 재사용성이 높아진다는장점이 있습니다. 의존성 주입 방식으로는 3가지가 있다.생성자 주입Set 메서드를 이용한 주입필드 주입 이 3가지 중에서 스프링에서 권장하는 의존성 주..
ResponseEntity
·
TIL
오늘 과제 마감 후 튜터님이 실시간으로 과제를 해셜해주셨다 근데 해설을 보는데내가 이번 과제에서 응답을 보내줄 때 사용한 방식은ResetController을 이용한 @ResponseBody방식으로 보내줬다. @GetMapping("/scheduler") public List getAllSchedules(){ return schedulerService.getAllSchedules(); }그런데 이번 해설 세션에서 Controller 단에서 응답을 보내 줄때 튜터님이 처음보는 ResponseEntity를 이용하여 보내시는거였다 저게 뭔지 궁금해서ResponseEntity에 대하여 정리해보려고 한다. ResponseEntity란 Spring Framework에서 제..
Spring - 일정관리 앱 만들기
·
프로젝트
저번주 월요일에 일정관리 앱을 만드는 과제를 받았다. 과제에 집중하느라 블로그 작성이 소홀해졌다...ㅠ이번 과제에서 구현해야할 기능들은 아래와 같다. 일정 생성 및 조회일정 수정일정 삭제일정 테이블과 작성자 테이블의 연관관계 설정 페이지네이션 API 명세서 작성 ERD 작성이렇게 크게 5가지이다.거의 처음하다시피하는 스프링으로 하다보니 생성 조회부터 막혔었다....그래도 과제 제출일인 오늘까지 꾸역꾸역 다 구현해서 다행인것같다. API 명세서와 erd는 시작하기 전에 작성해보고 개발을 했지만 API 명세서 같은 경우는 굉장히많이 추가됐다. 개발 전 쓴 API 명세서처음 작성하는것이다보니 그냥 예시에  나와있는 것과 굉장히 유사하게 작성했었다.. 솔직히 이정도면 굴러가겠구나 싶기도했지만 크나큰 착각이였다 ..
Lombok
·
TIL
Lombok이란?자바 개발 시 반복적으로 작성해야하는 코드는 개발자의 생산성을 저하시키는 요인 중 하나이다.롬북(Lombok)은 이러한 문제를 해결하기 위해 등장한 라이브러리로,어노테이션을 사용하여 자동으로 코드를 생성해주는 기능을 제공한다. Lombok  자주 사용하는 어노테이션@Getter@Getterpublic class Memo { private String username; private String contents;}// @Get어노테이션을 사용하면// 아래처럼 get() 메서드를 자동으로 추가public class Memo{ private String username; private String contents; public String getUserName(){..
Request와 Response
·
TIL
Request와 Response에 대해 알아보기전에 HTTP부터 알아보자. HTTP (HyperText Transfer Protocol)HTTP는 데이터를 주고 받는 양식을 정의한 "통신 규약" 중 하나이다.클라이언트가 브라우저를 통해 어떤 서비스 url을 통하거나 다른 방법으로 요청(Request)을 하면, 서버에서는 해당 요청에 맞는 응답(Response)을 하는 형태로 동작한다. Request 클라이언트가 서버에게 연락하는 것을 요청(Request)이라고 하며, 요청에 대한 정보를 담아 서버로 보낸다. - Request Method 종류GET리소스를 검색하고, 반환받기 위해 사용되는 메서드원하는 정보를 서버에 요청할 때 쓰인다.HEADGET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포..
SRP - 단일 책임 원칙
·
TIL
"어떤 클래스를 변경 해야 하는 이유는 오직 하나뿐 이어야 한다 - 로버트 C 마틴"  단일 책임 원칙 : SRP (Single Responsibility Principle)SRP는 객체는 단 하나의 책임만 가져야 한다는 원칙을 의미한다.여기서 '책임' 이라는 의미는 하나의 '기능 담당'으로 보면 된다.즉,하나의 클래스는 하나의 기능만을 담당하여 하나의 책임을 수행하는데 집중되어 있어야 한다는 의미다. 하나의 클래스에 여러 기능(책임)을 넣는 설계와 클래스를 분리하여 기능(책임)을 분산시키는 설계는 프로그램의 유지보수와 밀접한 관련이 있다. 클래스를 따로 분리하지 않고 하나의 클래스에 여러 기능(책임)을 넣는 설계를 한다면 클래스 내부에서 서로 다른 기능을 수행하는 코드끼리 강하게 결합될 가능성이 높아진..