일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 중급자바
- 실전 자바 중급 2편
- 컨테이너
- 리스트
- 시작하세요! 도커 & 쿠버네티스
- Docker
- 알고리즘
- java
- 오케스트레이션
- 쿠버네티스
- contatiner
- container
- 스레드
- 도커 엔진
- LIST
- 김영한
- 실전 자바 고급 1편
- 자료구조
- 쓰레드
- 스레드 제어와 생명 주기
- Kubernetes
- 제네릭스
- Thread
- 도커
- Collection
- 동시성
- 멀티 쓰레드
- 인프런
- 시작하세요 도커 & 쿠버네티스
- Today
- Total
목록전체 글 (240)
쌩로그
목록 포스팅 개요 본론 2-1. 구성 클래스 2-2. 문제 살펴보기 2-3. 문제 해결하기 2-3-1. 번외 @Getter 사용해보기 2-3-2. @Setter로 진짜 문제 해결하기 요약 1. 포스팅 개요 이번 프로젝트에서 동행 도메인 같은 경우, 쿼리스트링으로, 지역과 날짜(동행시작 날짜)를 검색해서 조회하는 기능을 구현했는데, 쿼리스트링으로 검색 조건을 넣더라도, 검색조건을 가지는 클래스(AccompanySearchCondition)의 필드와 바인딩 되지 않던 문제를 해결하는 포스팅이다. 결론부터 말하자면 @Setter를 쓰면 된다. 2. 본론 2-1. 구성 클래스 먼저 관련된 클래스 코드를 보면 다음과 같다. Controller // 동행 전체 조회(날짜, 지역) @GetMapping public ..
목록 포스팅 개요 본론 2-1. 일단 결론 2-2. 애플리케이션 로직 2-3. 문제 발생 2-4. 문제 해결 방향 2-5. 문제 해결 요약 1. 포스팅 개요 Entity 클래스에 @Builder 애너테이션을 클래스 레벨에 두었었는데, 클래스에 new ArrayList();를 다음과 같이 선언했음에도 불구하고, NullPointerException(이하 NPE)이 발생했다. 이를 해결한 포스팅이다. @OneToMany(cascade = CascadeType.ALL, mappedBy = "accompany", orphanRemoval = true) List 땡땡List = new ArrayList();예전에 봤던 글에서 @Builder를 주의해서 쓰자고 봤는데,,, 흠.. 이번에 마주쳤다. 2. 본론 2-1..
목차 포스팅 개요 본론 2-1. 문제가 무엇인가? 2-2. 문제 해결 2-3. 해결 결과 요약 1. 포스팅 개요 AOP로 AccessToken 검증(빡쳐서 만듬)이라는 제목으로 포스팅을 했다. AccessToken을 검증하는데 코드상으론 400대 에러를 던지도록 해야하는데, 왠지 모르게 500번대 에러를 던졌다. 이걸 AOP로 해결했었는데, 물론 구현한 부분에서는 나름 괜찮았다고 생각하지만, 사실 AOP를 사용할 필요가 없었고, 또 한 분은 감사하게도 댓글로 알려주시길.. 라고 남겨주셨다. 말씀하신 것처럼 AOP의 목적에 맞게 쓰이지 않았다. 이를 수정하고, 무엇이 문제였는지에 대한 포스팅이다. 2. 본론 2-1. 문제가 무엇인가? 먼저 당시 왜 500번대 에러가 발생했는지를 살펴보자. 먼저 Securi..
목록 포스팅 개요 본론 2-1. Redis 설치 2-2. Redis 설정 권한 주기 2-3. Redis 설정 2-4. 윈도우 시스템의 서비스를 활용하여, Redis-cli 실행 2-5. 윈도우 시스템의 서비스를 이용하지 않는 경우 요약 1. 포스팅 개요 또 과정 포스팅이다..;;ㅋㅋ 그래도 나중에 나를 위해.. 윈도우즈에 Redis를 설치하고, 실행하여 접속해보고자 해당 포스팅을 하게 되었다. 명령어는 다른 블로그들이 참, 잘 정리해놨다.. ✅ 참고! 스프링부트와 연계되는 부분은 없다. 단순히 windows로 Redis를 이용하기 위한 방법이다. "나는 왜 Redis를 사용하게 되었는가?" 부터 얘기해보고자 한다. JWT 토큰 관리를 위해서 자료들을 찾아보다가, 부캠 메인 프로젝트 팀원이 JWT 토큰 관..
목록 포스팅 개요 본론 요약 1. 포스팅 개요 AccessToken을 검증하는데 코드상으론 400대 에러를 던지게 해놨지만, Spring Security 설정 때문인지 내부적으로 500대 에러를 내보낸다. 그래서 살짝 빡쳤다... 계속 살펴보고 살펴보다가 생각해낸 것이 AOP였고, AOP를 이용해서 AccessToken에 대한 검증을 하게 되었다. 지금은 잘 나온다. 토큰 만료시("Token is expired") 토큰 일부러 이상하게 준 뒤 결과("Token is INVALID") 2. 본론 2-1. 발생한 문제 현재 JWT 관리를 어떻게 해야할지 고민 중이다. Redis를 이용해서 AccessToken이 만료될 때 어떻게 해야할지, 로그아웃 처리는 어떻게 해야할지 고민중이었다. 고민을 해결해나가기 위..
목차 포스팅 개요 본론 요약 및 결심 1. 포스팅 개요 class Board { private Long id; private String title; private String content; private LocalDateTime createdAt; private LocalDateTime modifiedAt; }대략 이런 게시판 역할을 하는 Entity가 있다고 가정해보자. (애너테이션 생략) 게시판 단일 조회시, 이 Entity의 필드들을 응답용 데이터 전송 객체(이하 ResponseDto)에 그대로 담아서 줄 수 있을 것이다. class BoardDto { public static OnethignResponseDto { private Long id; private String title; priva..
목차 포스팅 개요 본론 2-1. NginX 설치 2-2. 로드밸런스 적용 2-3. SSL 적용 요약 살짝 푸념. 1. 포스팅 개요 HTTP 프로토콜로 통신하는 배포서버에 NginX를 이용하여 SSL인증서를 발급받아 서버가 HTTPS 프로토콜로 통신되도록 해보려고 한다. 2. 본론 2-1. NginX 설치 일단 배포 서버에 NginX를 설치해줘야 한다. $ sudo apt-get install nginx -y # EC2에 NginX 설치NginX를 설치한 후, 서버URL을 들어가면 다음과 같이 나온다. 그러면 NginX가 잘 설치 된 것이다. 참고로 NginX는 80포트를 기본으로 사용한다. 만약 80포트로 다른 무언가가 적용되어 있다면, 아래 화면이 나오지 않을 수도 있다. 2-2. 로드밸런스 적용 현재..
목차 포스팅 개요 본론 2-1. GitHub Actions란? 2-2. GitHub Actions 구축 2-2-1. 사전 준비 요약 1. 포스팅 개요 GitHub Actions가 무엇인지 간략히 알아보고 구축 과정을 살펴보고자 포스팅을 하게 되었다. 2. 본론 2-1. GitHub Actions란? GitHub Actions는 GitHub가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼이다. CI/CD에 간략히 정리한 글이 있다. 이제 GitHub Actions를 구축해보도록 하자. 2-2. GitHub Actions 구축 2-2-1. 사전 준비 S3가 준비되어있어야 한다. CodeDeploy가 준비되어있어야 한다. EC2가 준비되어있어야 한다. IAM 서비스..
목록 포스팅 개요 본론 2-1. 파라미터 그룹 생성 2-2. 데이터 베이스 설정 요약 1. 포스팅 개요 AWS에서 RDS 인스턴스를 생성해주고, DB를 이용하는데, 시간이 한국 시간(GMT+9)으로 들어가는 것이 아니라, 유럽 런던 시간으로 들어가서 이걸 해결하고 싶었는데, AWS RDS에서 설정해주는 방법이 있었다. 그래서 트러블 슈팅 겸, RDS 설정 겸해서 포스팅하게 되었다. 간단하게는 하나의 파라미터 그룹을 만들고 그 그룹에 묶어주면 된다. 2. 본론 2-1. 파라미터 그룹 생성 먼저 RDS를 생성해준 이후, RDS의 파라미터 그룹 탭에서 파라미터 그룹 생성을 해준다. 각 항목을 적절히 입력하고, 생성하면 된다. 그리고 파라미터 그룹에서 생성된 파라미터 그룹을 선택해서 들어간다. 그럼 time 혹..
목록 포스팅 개요 본론 2-1. CI 2-2. CD 2-3. 지속적인 전달 요약 1. 포스팅 개요 CI/CD를 구축하는데 있어서 CI/CD에 대한 개념을 정리해보고자 포스팅하게 되었다. 쁠라스(+) 지속적인 전달 2.본론 2-1. CI CI는 continuous integration 의 줄임말로써 지속적인 통합을 의미한다. CI는 CI/CD 파이프라인을 구현하기 위한 첫 번째 단계이다. CI의 이점 배포 위험 감소 : 코드를 작성하면서 지속적으로 병합하면 초기에 발생하는 모든 오류를 해결할 수 있다. 높은 품질 : 수작업의 상당 부분을 자동화하면 개발자가 더 높은 수준의 테스트 활동에 집중할 수 있다. 비용 절감 : 지속적 통합을 구현하고 세분화된 배치로 나누어 많은 작업을 자동화하면 소프트웨어 전달과 ..