Web/Spring(20)
-
[Spring] Category 구현하기
[Spring] Category 구현하기 쇼핑몰, 커뮤니티에 존재하는 주제를 표현할 때 자주 사용되는 것이 카테고리이다. 카테고리는 전형적인 계층형으로 서로 연관이 되는 구조이다. 해당 카테고리만을 단순히 구현해 보고 구현을 할 때 과정을 정리하려고 한다. 코드 먼저 코드들은 다음과 같다. 좀 더 구체화를 시키기 위해서는 인터페이스를 사용하고 DI를 사용하는 등의 과정을 거쳐야하는 것이 맞지만 현재의 경우 카테고리를 구현하는 것이 목표였기에 간단하게 컨트롤러, 엔티티, 서비스, 레포지토리 4개의 구성 요소만을 사용해서 진행을 하였다. 후에 다른 프로젝트를 진행할 때는 해당 부분에 대해 자세하게 세분화하고 DI를 지키는 식으로 진행을 할 예정이다. Controller package com.example.c..
2024.02.21 -
[Spring] HTTPS 적용하기
[Spring] HTTPS 적용하기 [HTTP] HTTPS란? (tistory.com) [HTTP] HTTPS란? [HTTP] HTTP / HTTPS란? 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 기존 HTTP는 인터넷상에서 데이터를 주고받기 위한 프로토콜이었다. 해당 프로토콜은 웹 브라우저 skyriv312079.tistory.com 학습하던 스프링 프로젝트에 HTTPS를 적용하고자 한다. 단계는 다음과 같이 이루어진다 SSL/TLS인증서 생성 Spring Boot - application.yml 작성 코드 수정 실행 후 postman으로 테스트 SSL/TLS 인증서 생성 먼저 SSL/TLS 인증서를 생성해야 한다. 방법은 두 가지가 있다. 첫 번째는 자체적으..
2024.02.17 -
[Spring] 휴대폰 인증 - 네이버 sens 사용
[Spring] 휴대폰 인증 - 네이버 sens 사용 지난번에 이메일 인증에 이어서 휴대폰 인증을 적용해보려고 한다. 적용을 하려고 한 범위는 휴대폰 인증을 통해 한 사람당 하나의 계정만 가지게 하려는 목적으로 알아보게 되었다. 구현을 하면서 과정을 정리하려고 한다. 이전에 CoolSMS등의 인증을 거치는 서비스도 고려를 해봤으나 네이버 네이버 클라우드 플랫폼 Sens 사용한 api는 네이버 클라우드 플랫폼 sens이다. 네이버 클라우드 플랫폼에서는 다양한 서비스를 제공하는데 휴대폰 문자인증을 위해 사용할 서비스는 Simple & Easy Notification Service로 한번 구현을 해볼 예정이다. 해당 서비스를 사용하면 문자메시지뿐만 아니라 스마트폰 앱 Push 알람 전송 기능도 구현이 가능하다..
2023.08.26 -
[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