Light Blue Pointer
본문 바로가기

TIL(Develop)53

Spring 프로젝트 HTTP에서 HTTPS로 변경하기 (Java로 SSL 만들어서 Spring 프로젝트에 적용하기(P12 방식)) Spring 프로젝트를 http에서 https로 만들기 위해서 SSL을 발급받아서 추가하는 방법을 설명하려고 한다 인텔리제이 cmd가 먹히지 않아서 Windows cmd prompt로 했다 관리자 모드로 열어주지 않으면 아래와 같은 에러가 발생한다 keytool error: java.io.FileNotFoundException: keystore.p12 (Access is denied) jdk bin으로 이동하면 keytool이 있어서 jdk bin으로 이동해준다 C:\\Program Files\\Java\\jdk-17\\bin> Keystore + 키 쌍 생성 keytool -genkey -alias {keystore name} -keyalg RSA -storetype PKCS12 -keystore {k.. 2024. 4. 17.
네이버 지도 API에 좌표로 마커 표시하기 1. head에 네이버 지도를 달아준다 2. 지도를 넣고싶은 자리에 코드를 넣어준다 3. 자바스크립트 코드로 지도와 마커를 출력함 데이터를 ajax로 받아와서 넣어줬다 function getData() { $.ajax({ type: 'GET', url: `/api/v1/posts/[[${postId}]]`, dataType: "json", contentType: 'application/json', data: {}, success: function (response) { latitude = response.data.latitude; longitude = response.data.longitude drawMap(latitude, longitude); }, error: function (error) { con.. 2024. 3. 25.
네이버 지도 API로 선택한 위치의 좌표 추출하기 1. head에 네이버 지도를 달아준다 2. 지도를 넣고싶은 자리에 코드를 넣어준다 3. 자바스크립트 코드를 작성한다 나는 알 수 없는 이유로 naver.maps.Event.addListener 가 활성화되지 않아서 naver.maps.만으로 쓸 수 있는 infowindow를 응용해서 사용했다 지도를 클릭하면 인포윈도우가 뜨고 그 좌표의 경도와 위도가 전역변수인 latlng에 저장된다 map.addListener('click', function (e) { latlng = e.coord; 2024. 3. 25.
네이버 지도 API 사용하기 1. 네이버 클라우드 플랫폼에 가입 https://auth.ncloud.com/join NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification www.ncloud.com 2. 네이버 클라우드 플랫폼 콘솔에 애플리케이션을 등록함 https://console.ncloud.com/dashboard AI·Application Service > AI·NAVER API > Application 에서 애플리케이션을 등록함 일단 url에는 이걸 넣어봄 http://localhost.:8080 3. 네이버 클라우드 플랫폼 콘솔에서.. 2024. 3. 25.
Custom annotation으로 Bean Validation + Parameter Validation 하기 (어노테이션 정의해서 검증하기) 1. Bean Validation 참고 자료: https://www.baeldung.com/spring-mvc-custom-validator baeldung 을 읽으면서 따라해봄 3단계 과정 1. Annotation 만들기 2. Validator 만들기 3. 사용하기 나는 들어오는 값이 정해진 값 중의 하나인지 검증하고 싶었다 1) The New Annotation @Documented @Constraint(validatedBy = CategoryValidator.class) @Target( { ElementType.METHOD, ElementType.FIELD }) @Retention(RetentionPolicy.RUNTIME) public @interface Category { String messa.. 2024. 3. 25.
📖Entity에 복합키로 id구성하는 방법 @IdClass, @EmbeddedId 📖 How to make Composite Keys in Spring Entity 1. IdClass로 구현하는 방식 사용 방법은 간단하다! 1) Entity에 id를 설정해준다 @IdClass(UserPostId.class) 클래스에 이 어노테이션을 붙여서 id를 지정해주고 @Id 복합키로 사용할 fk Column 두개에 해당 어노테이션을 붙여준다 전체 Entity 코드 @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity @Table(name = "tb_user_post") @IdClass(UserPostId.class) public class UserPost { @Id @ManyToOne @OnDelete(action = OnDele.. 2024. 3. 15.
📖Hibernate/JPA의 id 생성 전략들 📖Identifiers in Hibernate/JPA strategies of id generations https://www.baeldung.com/hibernate-identifiers AUTO Generation strategy 숫자 타입 the primary key value들은 database level에서 unique하게 됨 based on a sequence or table generator @Entity public class Student { @Id @GeneratedValue private long studentId; // ... } UUID 타입 Hibernate 5부터 추가된 UUIDGenerator를 이용 Hibernate will generate an id of the form .. 2024. 1. 17.
클라이언트에서 데이터를 받아오는 방법 클라이언트에서 데이터를 받아오는 방법 Path Variable (GET) 방식 → Primitive 타입으로 받는다 Request Param (GET)방식 → Primitive 타입으로 받는다 Request Param (POST) 방식 Model Attribute 방식 → QueryString을 객체로 받는다 Request Body 형식 → JSON을 객체로 받는다 1. Path Variable (GET)방식 → Primitive 타입으로 받는다 html에서 /hello/request/star/${name}/age/${age} 데이터를 전송 // [Request sample] // GET @GetMapping("/star/{name}/age/{age}") @ResponseBody public String.. 2023. 12. 6.
인증과 인가 인증과 인가 인증(Authentication) 인증 : 해당 유저가 실제 유저인지 인증하는 개념 실제 그 유저가 맞는지를 확인하는 절차 ex) 스마트폰 지문인식, 사이트 로그인 등 인가(Authorization) 인가 : 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념 ex) 관리자 페이지-관리자 권한, 회원/비회원 여부에 따라 다른 권한을 받음 “웹 애플리케이션 인증” 일반적으로 서버-클라이언트 구조로 되어있고, 실제로 이 두가지 요소는 아주 멀리 떨어져 있다. 그리고 Http 라는 프로토콜을 이용하여 통신하는데, 그 통신은 **비연결성(Connectionless) 무상태(Stateless)**로 이루어짐 비연결성(Connectionless) 서버와 클라이언트가 연결되어 있지 않다 채팅.. 2023. 11. 20.