Web(30)
-
[Spring] 이메일 인증
[Spring] 이메일 인증 - Spring Boot Starter Mail 사용 개인 학습용 프로젝트에 이메일 인증을 적용하면서 진행했던 과정을 정리하려고 한다. 사용한 API는 Spting Boot Starter Mail을 사용하였다. Spting Boot Starter Mail Spring Boot에서 제공하는 라이브러리 중 하나 이메일을 보내기 위한 라이브러리 JavaMailSender 인터페이스를 구현하여 이메일을 보내는 용도로 사용 가능 Spring Boot에서는 JavaMailSender를 자동으로 구성하기에 별도의 설정 없이 사용가능 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail/3.1..
2023.08.26 -
[Error] java.lang.ClassNotFoundException: org.apache.hc.client5.http.classic.HttpClient
[Error] java.lang.ClassNotFoundException: org.apache.hc.client5.http.classic.HttpClient 네이버 클라우드 플랫폼을 이용하여 문자 인증을 구현하는 도중에 생긴 문제이다. 분명히 해당 관련 라이브러리를 가져올 수 있도록 build.gradle에 추가를 했는데 찾을 수 없다 하여 구글링을 시작했다 https://stackoverflow.com/questions/76772549/caused-by-java-lang-classnotfoundexception-org-apache-hc-client 5-http-classic
2023.08.17 -
[Etc] application.yml 변경 및 Jasypt
application.yml과 암호화 Applcation.properties vs yml 사용 이유 데이터를 저장하고 읽어오는데 사용하는 포멧 yaml 여러 언어에 쓰이고 같은 configuration 파일을 여러 개의 애플리케이션이 읽기 가능 계층 구조로 작성이 되기에 가독성의 이점 존재 → 읽기 쉬워짐 데이터의 구조를 명확하게 표현 가능 properties 키와 값으로 이루어짐 → 가독성이 떨어짐 yaml의 경우 복잡한 데이터 구조를 다루는 것에 적합 properties의 경우 간단한 설정 정보를 다루는데 적합 주의점 두 개의 파일을 같이 사용한다면 properties의 우선순위가 더 높기에 yml의 설정 내용이 덮어씌워짐 → 되도록 하나의 방식으로 통일해서 사용 yml의 경우 들여 쓰기를 정확하게 ..
2023.08.09 -
[Web 지식] IPv6 - Internet Protocol
IPv6 - Internet Protocol Internet Protocol의 최신 버전 각 기기들이 어떤 방식으로 네트워크에서 소통할 것인지 정의해 놓은 것 기존 IPv4를 대체하기 위해 만들어짐 IPv4의 경우 제한된 주소록의 공간과 이용 가능한 주소의 범위를 넘었기 때문 기존 IPv4의 32비트 주소 공간에 비해 IPv6의 경우 128비트 주소공간을 사용하여 더 많은 주소를 지원 무상태 주소 자동 구성을 지원하여 장치가 수동 구성이나 서버 없이도 IP 주소를 자동으로 얻을 수 있음 IPv4에서 IP 주소를 수동으로 설정하거나 네트워크 관리자로부터 부여받은 것에 비하면 큰 이점 단순하고 효율적인 헤더 구조를 사용하여 패킷의 처리 오버헤드를 줄이고 라우팅 성능 개선 플로 레이블링을 지원하여 실시간 통신..
2023.05.25 -
[Test Code] @WithMockUser / @WithUserDetails / @WithSecurityContext
@WithSecurityContext - 커스텀 어노테이션 만들기 시큐리티가 적용이 된 프로젝트에서 단위 테스트 코드 - 컨트롤러를 작성하던 도중에 여러가지 오류가 지속적으로 발생하였다. 그래서 그때의 과정을 되짚고 작성하면서 내용을 정리하려고 한다. 작성하면서 내용을 채우려고 확인을 하다가 알게 되었는데 만약 Principle / UserDetailsService 객체를 커스텀해서 사용을 하게 된다면 해당 WithMockUser를 사용할 수 없고 직접 SecurityContext를 넣어줘야한다. 순서는 다음과 같다. @WithMockUser @WithUserDetatils @WithSecurityContext @WithMockUser 처음에 시큐리티를 통과하기 위해 사용했던 어노테이션이다. When u..
2023.01.27 -
[REST API] REST API 설계
[REST API] REST API 설계 기존에 만든 개인 프로젝트 URI를 수정하기 위해 사이트의 URI를 검색해보고 조사하였다. 이전에 개인 프로젝트를 진행하면서 나름 규칙이나 연결 URI를 잘 작성하였다고 생각했는데 REST API의 URI에 관해 공부를 하고 강의를 들으면서 체크를 하니 고칠 점이 눈에 들어왔다. REST API REpresentational State Transfer - REST API의 기본 원칙 uniform interface : 통일성 있는 인터페이스를 통해 구성 요소의 동작의 향상 클라이언트와 서버간의 자원을 고유하게 식별 리소스는 서버 응답에서 일정한 응답을 가져와야 함 각 리소스는 해당 리소스의 처리방식에 대한 명세가 존재해야 함 클라이언트에는 각 응용 프로그램의 초기..
2022.12.22