본문 바로가기

Programming/Java15

never search api 적용하기 - 자바 Never Search API 적용하기테스트 코드 / 실행 코드 package com.naver.api.service;​import org.apache.catalina.util.URLEncoder;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Service;​import javax.transaction.Transactional;import java.io.UnsupportedEncodingException;​@Service@Transactionalpublic class NaverApiService { Logger logger = LoggerFactory.getLogger(NaverApiS.. 2016. 9. 2.
spring boot schedule 사용하기 @Component public class Schedule { @Autowired CommandService commandService; Logger logger = LoggerFactory.getLogger(this.getClass()); // @Scheduled(cron = "0/10 * * * * *") @Scheduled(cron = "0 55 11 * * *") public void runMemberInfo(){ logger.info("send member and evidence info to fms"); commandService.changeStatusToB("MEM","APPLY"); commandService.changeStatusToB("EVD","APPLY"); } // @Schedul.. 2016. 5. 26.
java config & message & properties & MessageSourceAccessor src/main/resources/messages_ko.propertiesconfig.1 = 설정1 config.2 = 설정2 src/main/java/.../PropertyMessage.javapackage project.common; import org.springframework.context.support.MessageSourceAccessor; public class PropertyMessage { static MessageSourceAccessor messageSourceAccessor; public MessageSourceAccessor getMessageSourceAccessor() { return messageSourceAccessor; } public void setMessageSour.. 2016. 4. 22.
자바에서 String to Timestamp private Timestamp stringToTimestamp(String date){ Calendar cal; SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmss"); try { sd.parse(date); } catch (ParseException e) { e.printStackTrace(); } cal = sd.getCalendar(); return new Timestamp(cal.getTime().getTime()); } 2016. 4. 12.
JAVA에서 문자열 - 한글, 영문, 숫자 구분 java.util.regex 패키지에 있는 Match 클래스와 Pattern 클래스를 사용하여 문자열을 정규표현식으로 검증할 수 있다. boolean bln = Pattern.matches("^[a-zA-Z0-9]*$", this.input); 정규표현식은 다음과 같은 문법으로 되어 있다. ^ : 문자열의 시작을 나타냄. $ : 문자열의 종료를 나타냄. . : 임의의 한 문자를 나타냄. (문자의 종류는 가리지 않는다) | : or를 나타냄. ? : 앞 문자가 없거나 하나있음을 나타냄. + : 앞 문자가 하나 이상임을 나타냄. * : 앞 문자가 없을 수도 무한정 많을 수도 있음을 나타냄. 만약, .* 으로 정규식이 시작한다면 시작하는 문자열과 같은 문자열이 뒤에 없거나 많을 수도 있는 경우에만 일치를 시킨.. 2016. 3. 24.
JAVA에서 파일 확장자 구하기 int pos = strFileName.lastIndexOf( "." ); String ext = strFileName.substring( pos + 1 ); 2016. 3. 22.
spring boot 에서 db - autoreconnect 설정 추가 application.properties 에 다음 라인 추가spring.datasource.testOnBorrow=true spring.datasource.validationQuery=SELECT 1testOnBorrow 설정에는 validationQuery가 반드시 필요 2016. 1. 15.
springBoot / jpa / hibernate 에서 엔티티의 테이블명, 컬럼명 오류 spring boot JPA@Entity @Table(name="SC_TRAN") public class Sms extends Message{ @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "TR_NUM") private long id; 위와 같이 어노테이션으로 테이블명도 대문자, 컬럼명도 대문자로 지정되어 있다. 하지만 쿼리가 소문자 or 대소문자 구분이 안되어 나오는 문제.. spring boot 가 자동으로 컬럼명, 테이블명을 넣어서 생기는 문제다. application.properties에서 naming-strategy를 아래와 같이 수정한다.spring.datasource.url=jdbc:mysql://localhost/s.. 2016. 1. 13.
TDD 테스트 주도 개발 프로그래머라면 다음과 같은 코드를 만들어야한다."Clean code that works!"TDD(Test Driven Development)는 이것을 추구하는 가장 현실적인 방법이다.수많은 하드웨어와 소프트웨어, 언어와 개발방법론, 프레임워크 등 끊임없이 쏟아져 나오는 IT업계의 신기술은 이 시대의 프로그래머에게 마냥 좋은 소식만은 아닌 것 같다. 프로그래머란 변화를 수용하지 않고는 가까운 미래마저 보장받기 어려운 직업이기 때문이다. 항상 새로운 것을 배우고 개척해야만 뒤쳐지지 않을 것이라는 부담이 우리를 억누르고 있고, 또한 일정한 나이가 지나면 지금껏 쌓아온 지식과 경험이 대부분 쓸모없는 것이 되어 버릴 것이라는 불안감이 늘 함께한다. 필자의 주관적인 느낌이지만, 여러분이 프로그래머라면 공감하는 부분.. 2015. 6. 13.