일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 정처기
- 시계열디비
- 어노테이션
- 정보처리기사필기
- git
- Java8
- controller
- 정처기공부
- Docker
- 생성자
- 롬복사용시주의할점
- 무중단배포
- 롬복
- PULL방식아키텍쳐
- CICD
- API
- 서버
- 자바
- 정처기필기
- java
- 프로그래머스
- 완전탐색알고리즘
- 롬북
- spring
- 정보처리기사
- Groovy문법
- aws
- 알고리즘
- 빌드자동화도구
- 빌드스크립트
- Today
- Total
목록우당탕당 개발일지 (47)
우당탕탕 개발일지
" 복합 객체의 생성 과정과 표현 방법을 분리하고 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법 " 생성과 관련된 디자인 패턴 👉 빌더 패턴(Builder Pattern) 복잡한 인스턴스를 조립하여 만드는 구조 복잡한 것을 만들 때는 전체를 한번에 만드는것 보다 작게 분리하여 만든 후 조립하여 합치는 것이 편리 객체를 생성하는 과정 / 객체를 구현하는 방법 이 2가지로 분리 📌 빌더 패턴의 장점 인스턴스 생성 시 인자를 선택적으로 가독성 좋게 넘길 수 있음 필요한 데이터만 넘길 수 있음 인자의 순서가 상관 없음 불필요한 생성자를 만들지 않음 유연성을 확보할 수 있음 불변성을 확보할 수 있음 📌 Builder 사용 " 생성자의 매개변수가 많은 경우 @Builder를 사용해 볼 수 있다. " ..
도커는 컨테이너 기술을 기반으로 하는 일종의 가상화 플랫폼이다. 리눅스 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈 프로젝트 / 기존에 쓰이던 가상화 방법인 가상 머신(VirturalBox, VMware 등) 보다 성능의 손실이 훨 씬 덜하다. 📚 가상화 vs 컨테이너 가상 머신(VirturalBox, VMware 등) 하나의 하드웨어에 여러 개의 가상 머신으로 분할해 효율적으로 사용할 수 있는 기술 분할 된 가상 머신들은 각각 독립적인 환경으로 구동됨 기존 환경( Host OS ) 분할 된 각각의 환경( Guest OS ) Guest OS는 하이퍼바이저에 의해 생성되고 관리됨 → 항상 하이퍼바이저를 거쳐야함 속도 저하, 가상 머신 배포 시 이..
🌈 TDD 란?Test-Driven-Development 의 약자로 테스트 주도 개발이라는 의미를 가진다.테스트를 먼저 설계 및 구축하고 테스트를 통과할 수 있는 코드를 짜는 것을 말한다.애자일(Agail) 개발 방식 중 하나코드 설계 시 원하는 단계적 목표에 대해 설정하여 진행하고자 하는 것에 대한 결정 방향의 갭을 줄임최초 목표에 맞춘 테스트를 구축하여 그에 맞게 코드를 설계하기 때문에 보다 적은 의견 충돌 기대테스트코드의 목적개발 과정에서 문제를 미리 발견할 수 있음리팩토링의 리스크가 줄어듦애플리케이션을 가동해서 직접 테스트하는 것보다 테스트를 빠르게 진행할 수 있음하나의 명세 문서로서의 기능을 수행몇 가지 프레임워크에 맞춰 테스트 코드를 작성하면 좋은 코드를 생산할 수 있음코드가 작성된 목적을 ..
👇 일반적으로 컨트롤러는 아래와 같은 과정을 통해 클라이언트의 요청을 View로 반환하여준다. 📚 spring에서 컨트롤러를 지정해주는 어노테이션은 @Controller와 @RestController 가 있다.📌 @Controller 란?주로 View를 반환하기 위해 사용한다.👉 Model 객체를 만들어 데이터를 담아 View를 반환한다.@Controller에서 데이터를 반환하기 위해선 @ResponseBody 어노테이션을 함께 사용해야한다.import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.ResponseBody;@Controller@ResponseBodypublic class..
로깅(logging)이란? 애플리케이션이 동작하는 동안 시스템의 상태나 동작 정보를 시간순으로 기록하는 것비기능 요구사항 → 사용자나 고객에게는 불필요한 기능디버깅하거나 개발 이후 발생한 문제를 해결할 때 원인을 분석하는 요소 로깅라이브러리 - Logback log4j 이후 출시 된 로깅 프레임워크 중 하나로 slf4j를 기반으로 구현(slf4j를 구현체로 사용)스프링 부트의 spring-boot-starter-web 라이브러리 내부에 내장돼 있어 별도 의존성을 추가하지 않아도 사용가능크게 5개의 로그 레벨을 설정할 수 있음(가장 많이 사용 되는 것은 INFO)로그 레벨을 남기는 이유? 기록이 너무 많이 남으면 보기 힘듦- ERROR : 로직 수행 중에 시스템에 심각한 문제가 발생해서 애플리케이션의 작동..
📌MVC 패턴 이란?MVC 패턴은 디자인패턴 중 하나로 Model, View, Controller 의 약자이다.개발의 효율성, 유지보수성, 운용성이 높아지고 프로그램의 최적화에 도움이 된다.비즈니스 로직과 UI로직을 분리하여 유지보수를 독립적으로 수행할 수 있다.Model과 View가 다른 컴포넌트들에 종속되지 않아 애플리케이션의 확장성, 유연성에 유리하다.중복 코딩의 문제점을 제거할 수 있다. User 접속 → Controller 조작(필요한 데이터를 User에게 요청받음)Model을 통해 요청받은 data를 가져와 View에게 전달View를 제어하여 최종 페이지를 생성하여 User에게 보여줌 Model(모델)데이터를 가진 객체사용자가 편집하기 원하는 모든 data를 가지고 있어야함view 나 con..
🌈 Optional 개발 시 가장 많이 발생하는 예외인 NPE(NullPointerException)을 피하기 위해 Null 여부를 검사하는데 Null 검사를 해야하는 변수가 많아 질 경우 코드가 복잡해지고 많아진다. 그래서 Null 대신 초기값을 사용하길 권장하는데 이 때, 사용하는 것을 Optional 이라고 한다.JAVA8 부터 Optional 클래스를 사용해 NPE를 방지할 수 있도록 도와줌Optional 클래스는 제너릭(Generic)으로 값의 타입을 지정Optional 클래스는 Null이 올 수 있는 값을 감싸는 래퍼(Wrapper) 클래스Null 이더라도 바로 NPE가 발생하지 않음 👉 NPE(NullPointerException)를 방지클래스이기 때문에 각종 메소드를 제공해줌.orEl..