SpringBoot101 영문과 숫자를 조합한 랜덤키 만들기 // 영문 + 숫자를 조합한 키 생성 public static String generateKey() throws Exception{ // 16byte 의 랜럼 수치를 저장 String key = ""; while(true) { byte[] bytes = new byte[16]; SecureRandom random = new SecureRandom(); random.nextBytes(bytes); try { key = new String(Base64.encodeBase64(bytes, false), "UTF-8").replace("==", ""); } catch (Exception e) { log.error("generateKey: "+e); throw new Exception(e); } if(key.ma.. 2017. 8. 2. 특정 날짜로부터 남은 날짜 구하기 남은 날짜를 계산할때 23시간 전은 0 으로 되기 때문에 , 0일 경우 시간으로 다시 계산 한 후 시간으로 비교하도록 하였다 // 남은 날짜 계산 public static int calcRemainDate(Date end) throws Exception{ Date now = new Date(); int remain = (int) ChronoUnit.DAYS.between(now.toInstant(),end.toInstant()); if(remain == 0){ // 시간으로 계산 하고 있으므로 23시간 전이면 0 이 되므로 시간으로 다시 계산한다 remain = (int)ChronoUnit.HOURS.between(now.toInstant(),end.toInstant()); if(remain >0){ r.. 2017. 8. 2. 특정날짜의 요일 구하기 특정 날짜의 요일을 구한다. public static String getDateDay(Date date) throws Exception { String day = null; Calendar cal = Calendar.getInstance(); cal.setTime(date); int dayNum = cal.get(Calendar.DAY_OF_WEEK); switch(dayNum){ case 1: day = "일"; break; case 2: day = "월"; break; case 3: day = "화"; break; case 4: day = "수"; break; case 5: day = "목"; break; case 6: day = "금"; break; case 7: day = "토"; break; }.. 2017. 8. 2. Java 시간 포맷 및 시간 계산 쉽게 하기 아파치 commons 의 라이브러리를 사용한다. import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; 오늘 날짜를 yyyyMMdd 형식의 문자열로 출력 System.out.println("XX: "+DateFormatUtils.format(new Date(),"yyyyMMdd")); 오늘부터 3일전 날짜 구하기 DateUtils.addDays(new Date(),-3) 이밖에도 다양한 시간을 계산 할 수있는 라이브러리를 제공 한다. 2017. 7. 27. JPA Indexing 설정 방법 Entity 클래스에 인덱싱 설정 하려는 컬럼 명을 명시해주면 인덱싱 설정이 된다.@Table(indexes = {@Index(columnList="mycol1"), @Index(columnList="mycol2")})참고로 JPA 를 사용하여 자동 테이블 생성시 기본키, 참조키 는 자동으로 인덱싱을 해주게 된다. 참고자료 :https://stackoverflow.com/questions/3405229/specifying-an-index-non-unique-key-using-jpa 2017. 7. 25. EnableSNIExtension 확장 기능 끄기 handshake alert: unrecognized_name; nested exception is javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name Server to Server 로 API 서비스를 호출 할 경우 위와 같은 exception 발생함.restTemplate.postForObject(new URI(apiServerUrl),request,String.class); 해결책:enableSNIExtension=false 로 SNI 확장 기능을 끄도록 한다.여러가지 방법이 있겠지만 일단 아래와 같은 방법으로 해결java -jar -Djsse.enableSNIExtension=false "${DAEMON}" 서버 실행시 위와.. 2017. 7. 20. 이전 1 ··· 9 10 11 12 13 14 15 ··· 17 다음