본문 바로가기

반응형

개발(합니다)/Java&Spring

(73)
Spring에서 메세지 처리하기 공통적으로 사용하는 메세지들이 있습니다.이러한 메세지를 한 곳에서 정의하고 여러 곳에서 가져다 쓰는 형식으로 설정하여 개발을 하면 편리합니다. 1.message-context.xmlerror.BadCredentials=아이디나 비밀번호가 맞지 않습니다. 다시 확인해주세요.error.Disaled=계정이 비활성화되었습니다. 관리자에게 문의하세요.error.CredentialsExpired=비밀번호 유효기간이 만료 되었습니다. 관리자에게 문의하세요.error.Locked=계정이 잠겨있습니다. 관리자에게 문의하세요.error.AccountExpired=계정이 만료되었습니다. 관리자에게 문의하세요.message-context.xml을 생성합니다.{파일명}_ko_KR.properties로 생성합니다._ko_KR은..
Java HashMap 정렬하기 알고리즘 문제를 풀면서, 현업에서 쉽게 중복을 제거하고 정렬하는 방법을 고민한적이 있습니다. 문제 : 아스키 코드화 하여 문자열 정렬 String[] str = { "but", "i", "wont", "hesitate", "no", "more", "no", "more", "it", "cannot", "wait", "im", "yours" }; HashMap map = new HashMap(); int temp = 0; for (int i = 0; i < str.length; i++) { temp = 0; for (int j = 0; j < str[i].length(); j++) { temp += str[i].charAt(j) - 48; } map.put(temp, str[i]); }문자를 아스키 코드로 ..
Spring Security 정리(3) : https Spring Security 정리(2) : DB 연결 포스팅에 이어서 작성합니다. 1. security 설정 추가 requires-channel="https" />추가 합니다. 2. key 생성C:\___>keytool -genkey -alias MyKeyAlias -keyalg RSA -keystore ./roger.keystore 3. tomcat : server.xml password는 본인이 설정한 비밀번호를 설정하면 됩니다. 4. 연결 확인공인 된 SSL 인증서가 아니라서 주의 요함이 나옵니다. 공인 된 인증서는 유료인줄로만 알았는데 무료가 있었습니다. 참고 연습용이니까 나는 나중에! 참고
Spring Security 정리(2) : DB 연결 Spring Security 정리(1) : 로그인 화면 포스팅을 일부는 이어서 작성하지 않고 새롭게 작성했습니다. login 폴더 구성1. security-context.xml SELECT user_id, password, enabled FROM login_info WHERE user_id=? SELECT user_id, password, CASE WHEN authority = '1' THEN 'ROLE_USER' when authority = '2' then 'ROLE_ADMIN' END AS ROLE_ID FROM login_info WHERE user_id=? 의 value는 유저가 있는지 확인합니다. 의 value는 권한을 설명합니다. authentication-success-handler-ref..
Spring Security 정리(1) : 로그인 화면 프로젝트를 진행하면서 작성한 내용을 순서대로 정리합니다. 1. pom.xml 작성 org.springframework.security spring-security-core ${spring.security.version} org.springframework.security spring-security-web ${spring.security.version} org.springframework.security spring-security-config ${spring.security.version} org.springframework.security spring-security-taglibs ${spring.security.version} 2. web.xml 작성 contextConfigLocation /WEB..
Java에서 배열 동적으로 늘리기 배열을 선언하고 배열 크기가 다 차게 되면 곤란한 경우 반복문을 통해 하나씩 옮기는 방법이 있지만 라이브러리를 쓰고 싶었습니다. Arrays.copyOf로 해결 if (heap.usedSize == heap.capacity) { heap.capacity *= 2; HeapNode[] temp = new HeapNode[heap.capacity]; temp = Arrays.copyOf(heap.nodes, temp.length); heap.nodes = temp; } pq.nodes = Arrays.copyOf(pq.nodes, pq.capacity); 한줄로 할 수 있습니다.
Java에서 프로그램 수행 시간 측정하기 import java.io.BufferedWriter;import java.io.OutputStreamWriter;public class Main { public static void main(String args[]) { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); long start = System.currentTimeMillis(); // 수행 코드 long end = System.currentTimeMillis(); bw.write("실행 시간 : " + (end - start) /1000.0 + "초"); bw.flush(); bw.close(); } catch (NumberFormatException e..
Spring HATEOAS 특징과 설정 정리 REST API의 단점 1. 엔드 포인트 URL 변경 시 모두 수정해야 합니다.API의 엔드 포인트 URL이 정해지고 나면 변경하기가 어렵습니다.API의 URL이 변경하면 모든 클라이언트가 똑같이 수정해주어야 합니다. 2. 자원의 상태를 고려하지 않습니다.작업을 수행이 가능한지 여부를 판단하는 로직이 클라이언트에도 포함되어 있어야 합니다. 이러한 단점을 보완한 방식이 HATEOAS입니다. HATEOAS(Hypermedia As The Engine Of Application state)란하이퍼 미디어 어플리케이션의 상태를 관리학 위한 매커니즘으로 사용하는 아이디어입니다.LINK에 사용 가능한 URL을 리소스로 전달하여 클라이언트가 참고하여 사용 할 수 있도록 합니다. 참고 레벨 0. REST 도입 전모든 ..

반응형