![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/css66E/btsH16XMCRg/7Jx4LA0qT6TGcgyLsqkDsk/img.jpg)
1. 정리하게된 배경초기 도메인 필드의 유효성을 검증하고자, 아래와 같이 @NonNull을 이용해서 구현했다. 초기 프로젝트 환경에서 validation 의존성이 추가되지 않아서, Spring 에서 제공되는 @NonNull이 있길래 사용했다. 클라이언트에서 입력받았을 때 해당 필드값이 비어있으면 예외를 처리가하기 위함이었는데 이에 대해 리뷰어님께 코멘트를 받았다. 해당 어노테이션에 대한 이해가 부족한 것으로 판단해서 코멘트를 주신것 같아 이번기회에 정리해보기로 했다.NonNull 과 NotNull, NotBlank 는 서로 어떤 차이가 있을까요?이들의 차이를 알아보고 적용해보는 것도 좋을거 같습니다AS-IS 코드import org.springframework.lang.NonNull;import roome..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/PMTns/btsH0MZI80q/XBAkZVOtIPhD7d2j6kwoUK/img.webp)
※ 배경 설명프로젝트 : Spring 기반 방탈출 예약 시스템자바 버전 : 17스프링부트 버전 : 3.2.4스프링 버전 : 6.x데이터 저장 방식 : HashMap 기반 인메모리 예외처리 초기 예약 삭제 기능을 개발할 때, 클라이언트로부터 예약 id값을 이용해 인메모리 저장소에서 조회 후 반환하도록 로직을 구성했다.자료구조는 HashMap 이고, stream의 filter를 이용해 조건을 조회 후 List로 반환한다. 해당 로직에 대한 코드리뷰는 아래와 같은데, 조회할 id 값이 없는 경우 예외처리가 필요하다는 것을 놓쳤다. (기본적으로 유효성 검증은 필수인데 이런 부분에서 실수를 하다니... 분발해야지) id에 해당되는 원소가 존재하지 않는 경우는 어떻게 될까요? 사용자가 이를 인지할 수 있도록 해주..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/boxho2/btsH097j3VG/B0aUaJVJNqG5KSQye0Dbj1/img.png)
이번달부터 학습 테스트로 배우는 Spring 강의를 듣고 있다. 해당 강의는 방탈출 예약 시스템 레거시 프로젝트를 리팩터링 하면서 Spring의 전반적인 기능들을 몸소 겪어볼 수 있는 강의이다.기존에 알고 있던 개발 방식외에 실무자의 개발 방식이 궁금해서 강의를 신청하기로 결심했고, 1차로 받았던 코드 리뷰에 대해 정리해보고자 한다. 1. Entity 와 Dto 의존 관계Service Layer에서 Repository 를 통해 반환한 Entity를 Controller로 반환할 때 편의성을 위해 toDto() 메서드를 만들었다.매번 Entity를 Dto로 변환하는 과정이 많기에 메서드로 작업을 최소화 하고자 했다. 이에 대하여 아래와 같이 리뷰어님의 코멘트를 받았다.Reservation 은 비즈니스 로직을..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/eKlvOW/btsHxfCl4j4/Q4LtUhEaBrTs1ysF5WmBCk/img.png)
BFS 문제풀이6593번 상범빌딩 문제는 시작점에서 종점까지 도달 가능한지와 도달했을 때 최소시간을 구하는 문제이다.아래 문제 내용 중 문제 풀이에 도움되는 부분을 정리해 보았다.6개의 칸(동, 서, 남, 북, 상, 하)으로 1분의 사간을 들여 이동할 수 있다. ▶ dx, dy 테크닉을 이용한 동, 서, 남, 북에서 "상, 하"를 추가시작 지점은 'S', 출구는 'E' & x는 상범 빌딩을 탈출하는 데에 필요한 최단 시간▶ 최단 시간 = BFS▶ BFS를 이용해 방문 처리(visited) 및 최소 시간(timeTable) 배열을 초기화 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;impo..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/EtCBv/btsHmv5Itfv/XZ0OQEzlFItgppc3qcKeb1/img.jpg)
2023년 11월 말부터 2024년 5월까지 활동한 글또 9기에 대한 회고록을 남겨보려 합니다. 작년 지인의 추천으로 글또라는 모임을 처음 알게 됐습니다. 글쓰는 또라이 라는 타이틀로 개발자 + 데이터엔지니어 + 데이터분석가 등 다양한 분야의 사람들이 2주에 한번 포스팅을 하는 모임이라 더군요. 흥미로웠습니다. 그간 조금씩 블로그에 공부해온걸 정리해오고 있었던터라 포스팅은 크게 부담스럽지 않았고, 개발과 관련된 다양한 사람들과 소통해보고 싶다는 목표를 가지고 글또 활동을 시작하게 됐습니다. 음악으로 모인 뮤직스타또글또 슬랙에 참여해 처음으로 활동한 건 글또 내 소모임을 만든 것인데요. 평소 음악을 듣는 것도 좋아하고 부르는 것도 좋아해서 `음악또` 라는 걸 만들었습니다. 별다른 목표는 없었고 내가 좋아하..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/KNyXY/btsGYMgi7aX/SkWeMn3K0eVzBIW71zjR4k/img.png)
환경구성Spring boot version: 3.2.5Java version : 17dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' // 테스트에서 lombok 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProc..
배경 설명 webtob 설정 중 지원 프로토콜 중 이슈가 있는 프로토콜이 활성화 되어있어 보완 필요 작업 목적웹서버 SSL 프로토콜 사용 시 MITM 등의 공격에 암호화된 통신 내용 유출 사전 방지를 위해 버전(SSL 3.0이하, TLS 1.2 미만) 사용 비활성화 조치 사항TLSv1.2 지원 확인${WEBTOBDIR}/bin/wbssl ciphers -v ALL | grep TLSv1.2 config backupcp -p ${WEBTOBDIR}/config/http.m ${WEBTOBDIR}/config/http.m.`date+%Y%m%d`config 수정 ("-" 기호로 미반영 조치)#AS-ISProtocols = "-SSLv3, TLSv1, TLSv1.1, TL..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dy4v87/btsGANGGroB/n4dkZXI2ANG3z4JGY1KiT1/img.png)
안녕하세요. 오늘은 유데미 강의 중 React 완벽 가이드 with Redux, Next.js, TypeScript 수강후기를 작성해보려 합니다. 강의 링크 : https://www.udemy.com/course/best-react/ 들어가기 앞서 개발 유튜브를 많이 구독하다 보니 알고리즘님 덕분에 아래와 쇼츠도 보게 되었는데, 간접적으로 프런트엔드 개발 환경어 어떤지 느낄 수 있었습니다. 댓글들을 보니 '신기술이 너무나 자주 빨리 나오는 상황에서 기존 개발했던 환경이 레거시가 된다' 자조적인 댓글이 눈에 들어왔습니다. 그래서 프런트엔드 개발자분들이 어떤 환경에서 개발하는지 궁금해졌고, 운이 좋게도 글 또 9기 커뮤니티에서 유데미 강의 쿠폰을 지원받게 되어 이번 기회에 대표적인 프런트엔드 개발 라이브러리..
- Total
- Today
- Yesterday
- BufferedWriter
- BFS
- 재기동
- script
- 챗봇
- 나만의챗봇
- springboot
- JWT
- 객체정렬
- RASA
- final 사용예시
- JPA
- Comparator
- 알고리즘
- Spring
- 준영속성
- 전자정부프레임워크
- Java
- NLU
- jeus
- 백준
- 온라인강의
- 유데미
- 코드트리
- Comparable
- 자바
- thymeleaf
- BufferedReader
- 글또
- dxdy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |