일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시작하세요 도커 & 쿠버네티스
- 쓰레드
- Thread
- java socket
- 함수형 인터페이스
- lambda
- LIST
- 실전 자바 고급 1편
- Java IO
- 동시성
- 자바
- 리스트
- 스레드
- 자바 입출력 스트림
- 도커
- 람다
- 스트림
- Kubernetes
- 자료구조
- 알고리즘
- 인프런
- 쿠버네티스
- 김영한
- 멀티 쓰레드
- container
- 도커 엔진
- java
- Collection
- Docker
- 컨테이너
- Today
- Total
목록Spring Project/Spring & Spring Boot (52)
쌩로그
목록 포스팅 개요 본론 2-1. 웹 애플리케이션과 싱글톤 2-2. 싱글톤 패턴 2-3. 싱글톤 컨테이너 2-4. 싱글톤 방식의 주의점 2-5. @Configuration과 싱글톤 2-6. @Configuration과 바이트코드 조작의 마법 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section05 싱글톤 컨테이너를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 웹 애플리케이션과 싱글톤 싱글톤 싱글톤은 객체가 프로젝트 생명주기에서 단 하나의 인스턴스만 존재하는 패턴을 의미한다. 스프링의 태생은 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 웹이 아닌 애플리케이션 개발도 가능하다. 웹 애플리케이션은 ..
목록 포스팅 개요 본론 2-1. 스프링 컨테이너 생성 2-2. 컨테이너에 등록된 모든 빈 조회 2-3. 스프링 빈 조회 - 기본 2-4. 스프링 빈 조회 - 동일한 타입이 둘 이상 2-5. 스프링 빈 조회 - 상속 관계 2-6. BeanFactory와 ApplicationContext 2-7. 다양한 설정 형식 지원 - 자바 코드, XML 2-8. 스프링 빈 설정 메타 정보 - BeanDefinition 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section04 스프링 컨테이너와 스프링 빈를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 스프링 컨테이너 생성 스프링 컨테이너가 생성되는 과정은 다음과 같다. ApplicationContext applicat..
목록 포스팅 개요 본론 2-1. 새로운 할인 정책 개발 2-2. 새로운 할인 정책 적용과 문제점 2-3. 관심사의 분리 2-4. AppConfig 리팩터링 2-5. 새로운 구조와 할인 정책 적용 2-6. 좋은 객체 지향 설계의 5가지 원칙의 적용 2-7. IoC, DI, 그리고 컨테이너 2-8. 스프링으로 전환하기 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section03 스프링 핵심 원리 이해2 - 객체 지향 원리 적용를 학습하며 정리한 포스팅이다. | 참고 이전 포스팅 2. 본론 2-1. 새로운 할인 정책 개발 이전 내용에서 할인 정책을 정액 할인을 적용했지만, 비율에 따라 할인되는 정률 할인 정책으로 변경되었다고 하자. 이미 정액 할인으로 적용하도록 했지만, 유연한 설계가..
목록 포스팅 개요 본론 2-1. 스프링 탄생 2-2. 스프링이란? 2-3. 좋은 객체 지향 프로그래밍이란? 2-4. 좋은 객체 지향 설계의 5가지 원칙(SOLID) 2-5. 객체 지향 설계와 스프링 요약 1. 포스팅 개요 인프런에서 영한님의 스프링 핵심 원리 기본편 Section01 객체 지향 설계와 스프링을 학습하며 정리한 포스팅이다. 2. 본론 2-1. 스프링 탄생 당시 Java 진영에서는 EJB(Enterprise Java Beans)라는 기술을 사용하고 있었다. 당시 EJB는 비용을 지불해서 사용했는데, 비용이 만만치 않았다. 그에 반해 실행시키는 데도 오래 걸리고, 개발을 할 때는 EJB에 의존적으로 개발을 해야했다. 그래서 당시에 순수한 자바로 돌아가자는 의미로 POJO(Plain Old Ja..
목록 포스팅 개요 본론 2-1. @Builder 선언하기 2-2. 생성되는 생성자 코드 비교하기 2-3. 이제 진짜 이유 2-4. 빌더 패턴 요약 1. 포스팅 개요 List list = new ArrayList();예전에 @Builder를 클래스레벨에 선언하고, 사용하다가 위와 같이 Entity에서 선언한 List타입 객체를 호출하려 했을 때 초기화가 원활하게 일어나지 않아서 문제가 된 글을 포스팅한 적이 있다. 이 글이다. 지금 확인해보니 문제에 대한 원인을 정확히 파악하지 못 한 상태에서 글을 썼고, 오히려 나의 무지만... 드러낸 글이다.. 문제되는 글은 이 문장인데.. 클래스 레벨에 @Builder를 붙였기 때문에, 인스턴스 초기화시 모든 선언된 변수들은 각 타입의 기본값으로 들어간다. 헷갈린 내..
목록 포스팅 개요 본론 2-1. AWS S3의 파일에 대한 정보를 얻는 클래스 2-2. AWS S3 서비스 클래스 2-3. AWS S3 Configuration 클래스 요약 1. 포스팅 개요 AWS S3를 이용해서 파일 업로드를 구현해야 하는 일이 있었고, 구글링과 Chat GPT를 통해 구현하여 사용한 코드들이다. 그 코드를 재사용하기 위해 기록하는 포스팅이다. 2. 본론 AWS S3의 파일 업로드를 위해 필요한 클래스들에 대한 예시 코드이다. 2-1. AWS S3의 파일에 대한 정보를 얻는 클래스 @Getter public class FileInfo { UrlResource urlResource; // S3 파일 Url String contentDisposition; // HTTP 응답 헤더 중 하나..
목록 포스팅 개요 본론 및 요약 1. 포스팅 개요 스프링 사용시 @Transactional 애너테이션을 사용하면, 두 패키지가 나오는데 제가 잘 못 쓰고 있었습니다. 그에 대한 기록을 위한 포스팅입니다. 2. 본론 및 요약 인텔리 제이에서 쉬프트를 두번 누르면, 클래스 파일을 검색할 수 있는데, 두 가지가 나옵니다. 하나는 javax.transaction 패키지의 애너테이션이고, 하나는 org.springframework.transaction.annotation 애너테이션입니다. 결론적으로는 아래의 애너테이션을 사용해야 합니다. JPA를 쓰고, JPA는 javax 패키지의 클래스들이 표준이니, 당연하게도 javax 패키지의 @Transactional을 사용했는데, 개발시 정상적으로 작동하면 commit하..
목록 포스팅 개요 본론 요약 1. 포스팅 개요 실무에서 Vue와 SpringBoot를 이용해서 파일을 업로드해야하는 상황이 있었습니다. 처음 시도해봤었는데, 적용했고, 잊지않고자 기록합니다. 정말 간단히 세팅했고, Controller로만 확인해보도록 하겠습니다. 참고로 프로젝트 시작시에 일어나는 에러가 있긴했습니다. yml에 아무것도 추가하지 않고, 최소한으로 시도하려 했습니다만, log를 사용하기로 했는데, 로깅 레벨을 추가하지 않거나, database를 사용한다고 gradle에 추가해놓고, database 정보를 주지 않거나, 혹은 Spring Security를 추가했는데, 프론트에서 백으로 403 에러가 나는 부분이 있었지만, yml에 파일 설정을 더해줬고, Spring Security는 gradl..
목록 포스팅 개요 본론 요약 1. 포스팅 개요 제 곧 내이다. Rest Docs를 이용하다가 given.willReturn을 사용하는데, void일 때 어떻게 해야되는지 찾아보았고, 이를 간단하게 기록하고, 기억하려고 포스팅을 하게되었다. 2. 본론 정말 간단하다. willDoNothing() 혹은, doNothing()을 사용하면된다. doNothing()이 Mockito 라이브러리를 이용한 방식이고, willDoNothing()은 Mockito를 확장한 BDDMockito 라이브러리를 이용한 방식이다. doNothing()은 조금은 레거시적인 방법이다. // willDoNothing().given(tokenService).verificationLogOutToken(Mockito.any(HttpServ..
목차. 개요 본론 2-1. 어떤 문제였는가. 2-2. Mapper의 역할 2-3. 그래서 어떻게 해결했는가? 2-4. 약간의 생각.. 요약 1. 개요 아래 사진을 보면, CRUD기반 게시판을 HTTP의 POST메서드로 생성하는데, 필요한 정보를 서버로 보내면, 생성된 게시판은 ResponseDTO를 통해서 생성된 게시판의 데이터가 나오는데, 처음 생성하는 게시판임에도 불구하고, Id값이 null로 나왔다. 이를 해결한 간단한 내용의 포스팅이다. 2.본론 2-1. 어떤 문제였는가. 결론부터 말하면, Entity로 사용하던 Board 클래스의 Id 필드와 ResponseEntity에 담을 ResponseDTO(응답객체)의 Id의 필드의 이름이 달랐다. 이렇게 말이다.. 2-2. Mapper의 역할 데이터 전..