일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 빌드스크립트
- 어노테이션
- 프로그래머스
- 정보처리기사필기
- 롬복사용시주의할점
- PULL방식아키텍쳐
- Groovy문법
- 자바
- 정처기필기
- java
- spring
- 시계열디비
- git
- Docker
- 무중단배포
- 정처기공부
- API
- CICD
- aws
- 롬복
- 롬북
- controller
- 빌드자동화도구
- 정처기
- 완전탐색알고리즘
- 생성자
- Java8
- 알고리즘
- 서버
- 정보처리기사
- Today
- Total
목록개발 (7)
우당탕탕 개발일지
@Data 어노테이션에 포함된 기능은@Getter / @Setter / @ToString / @EqualsAndHashCode / @RequiredArgsConstructor 이다.많은 기능을 포함한 만큼 @Data 어노테이션 하나로 코드를 대폭 줄일 수 있다.하지만, @Data를 사용할 때 몇가지 주의할 점이 있다.@Data 어노테이션은 callSuper / includeFieldName / exclude와 같은 파라미터와는 같이 사용할 수 없다.해당 파라미터를 이용할 경우엔 개별 어노테이션을 따로 다 명시해주어야한다./** * @see Getter * @see Setter * @see RequiredArgsConstructor * @see ToString * @see EqualsAndHashCode ..
멋쟁이사자처럼 백엔드 스쿨 2기를 교육 받으면서 만들었던 프로젝트를 리팩토링 하며,불필요한 코드를 공부하고 프로젝트를 정리해보기로 했다.제일 먼저 눈에 띈 한 클래스 내 같이 작성된 @AllArgsConstructor / @NoArgsConstructor해당 애노테이션이 어떤 용도인지를 파악하며 코드를 수정해보기로 했다.@AllArgsConstructor 클래스의 모든 필드 값을 파라미터로 받는 생성자를 자동으로 생성한다.고로 클래스의 모든 필드를 한 번에 초기화할 수 있다.하지만 파라미터를 꼭 다 받아야하는 경우가 아니라면 이 생성자는 굳이 필요가 없을 수 있다.@NoArgsConstructor파라미터가 없는 기본 생성자를 자동으로 생성한다.이 애노테이션을 사용하면, 클래스에 명시적으로 선언된 생성자..
Gradle(그래이들)이란? 유연성과 성능에 중점을 둔 오픈 소스 빌드 자동화 도구 Groovy Script 를 이용한 Build 자동화 시스템 같은 빌드 도구인 Ant, Maven의 장점을 모아 2012년에 출시 Android OS의 빌드 도구로 채택 간결함 / 빠른 속도 / 유연성 / 확장성 / 다양하고 많은 문서화 등의 장점이 있음 📌 빌드 관리 도구 ( = Gradle / Maven / Ant ) 프로젝트에서 필요한 xml, properties, jar 파일들을 자동으로 인식하여 빌드해주는 도구 빌드 되기전 미리 소스 코드를 컴파일, 테스트, 정적분석 등을 하여 실행가능한 앱인지 확인 및 빌드 실행을 해줌 프로젝트의 정보 관리, 테스트 빌드, 배포 등의 작업을 해줌 배포작업 ⇒ 배포가 되는 위치로..
클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리들어가기 앞서...📚 객체 지향 프로그래밍※ 해당 예시를 통해 SOLID의 원칙을 보충 설명함컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 “객체”들의 모임으로 파악하고자 하는 것각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.(협력)객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다.운전자가 아반떼를 타다가 테슬라 모델3를 타더라도 자동차를 운전하는데 문제가 없다.운전자가 K3, 아반떼, 테슬라 모델3에 대한 구성과 부품등을 알필요없다. 기존의 자동차 역할만 잘 유지가 된다면 운전자에게 문제가 되지 않는다. ✍ SRP :..
@RequiredArgsConstructor Spring 사용 시 final 로 DI(의존성주입)를 할 때 필요한 객체를 선언하여 생성자를 만들어주어야 함 이때, 생성자 코드를 직접 작성하는 것이 아니라 @RequiredArgsConstructor 어노테이션을 사용하여 자동으로 설정 👀 실습코드 👉 @RequiredArgsConstructor 사용 전 (생성자 추가 필요) 1 2 3 4 5 6 7 8 9 10 11 @RestController @RequestMapping("/api/v1/reviews") @Slf4j public class ReviewController { private final ReviewService reviewService; public ReviewController(ReviewS..
@RequiredArgsConstructor Spring 사용 시 final 로 DI(의존성주입)를 할 때 필요한 객체를 선언하여 생성자를 만들어주어야 함 이때, 생성자 코드를 직접 작성하는 것이 아니라 @RequiredArgsConstructor 어노테이션을 사용하여 자동으로 설정 👀 실습코드 👉 @RequiredArgsConstructor 사용 전 (생성자 추가 필요) 1 2 3 4 5 6 7 8 9 10 11 @RestController @RequestMapping("/api/v1/reviews") @Slf4j public class ReviewController { private final ReviewService reviewService; public ReviewController(ReviewS..
로깅(logging)이란? 애플리케이션이 동작하는 동안 시스템의 상태나 동작 정보를 시간순으로 기록하는 것비기능 요구사항 → 사용자나 고객에게는 불필요한 기능디버깅하거나 개발 이후 발생한 문제를 해결할 때 원인을 분석하는 요소 로깅라이브러리 - Logback log4j 이후 출시 된 로깅 프레임워크 중 하나로 slf4j를 기반으로 구현(slf4j를 구현체로 사용)스프링 부트의 spring-boot-starter-web 라이브러리 내부에 내장돼 있어 별도 의존성을 추가하지 않아도 사용가능크게 5개의 로그 레벨을 설정할 수 있음(가장 많이 사용 되는 것은 INFO)로그 레벨을 남기는 이유? 기록이 너무 많이 남으면 보기 힘듦- ERROR : 로직 수행 중에 시스템에 심각한 문제가 발생해서 애플리케이션의 작동..