전체 글(212)
-
[Etc] Presigned URL이란
[Etc] Presigned URL 스프링 이미지 업로드를 구현하기 위해 구글링을 하다가 알게 되었다. 기존에 생각한 방법은 다음과 같다. 클라이언트가 서버에 MultipartFile을 보내면서 요청을 한다. 서버는 해당 이미지를 받아서 S3 버킷에 해당 이미지를 업로드한다. 기존의 경우에는 용량이 있는 파일을 과정 상으로 두 번 옮겨야한다. 다만 구글링을 통해 발견한 Presigned URL의 방식으로 사용하면 과정이 변하게 된다. 클라이언트는 서버에 이미지를 올리고 싶다는 요청을 전송한다. 서버는 해당 요청을 받게 되면 S3에 업로드 가능한 URL을 요청한다. S3는 서버에게 URL을 발급한다. 서버는 클라이언트에서 업로드 URL, 파일명을 지정한다. 클라이언트는 주어진 URL을 통해 S3에 바로 업..
2023.08.28 -
[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 -
[Etc] 5.리눅스 편집기
5.리눅스 편집기 CLI에서 자주 사용하는 vi 편집기 vi 편집기 커맨드 환경에서 주로 사용 유닉스 시절부터 시스템 내장으로 사용됨 그래픽 인터페이스 편집기(gedit)에 비해 인터페이스가 복잡해 처음에는 접근 난이도 ↑ 모드 명령 모드 커서, 페이지 이동, 검색 입력 모드 : 명령 모드( i, a ) 글자 입력, 수정, 삭제 EX 모드 : 명령 모드( : ) 저장, 종료, 취소 명령키(명령 모드) 명령 모드 키 설명 예시 k 커서 한 행 위로 이동 ↑ j 커서 한 행 아래로 이동 ↓ h 커서 한 글자 왼쪽 이동 ← l 커서 한 글자 오른쪽 이동 → g(shift + g) 파일 마지막 행 이동 행번호 G 지정된 행 번호로 이동 3G : 3번째 줄로 이동 x 커서 위치의 글자 삭제 yy, 숫자 yy 커서..
2023.08.08