본문 바로가기

전체 글158

로그파일 생성과 관리(logback-spring.xml) 로그파일을 생성하고 관리를 위한 반복 정책을 설정하는 방법*자세한 설명 생략  ▷ logback-spring.xml *Cassandra 관련 부분은 무시(다양한 로그를 한 파일에 담을 수 있다.)   ${LOG_MSG_PATTERN} %green(%d{yyyy-MM-dd HH:mm:ss} [%-5level] : %msg %n) ${LOG_FILE_MSG_PATTERN} .. 2023. 10. 17.
요청 필드 값 공통 체크 API 별 다른 요청 필드 값을 체크하는 메서드*상황에 따라 변경해서 사용*자세한 설명 생략  /** * 요청 필드 값 공통 체크 * * [체크 리스트] * 1. JWT VERIFY * 2. 요청 필드 값 체크 * * * @param req * @param reqVO * @param resVO * @return CmmResVO */public CmmResVO fieldsCheck(HttpServletRequest req, Object reqVO, CmmResVO resVO) { try { /** JWT 체크 */ if (!"0000".equals(JWTVerify(req, resVO).getResultCode())) { return resVO; .. 2023. 10. 12.
VERIFY JWT(nimbus) JWT 검증 메소드*JWE*자세한 설명 생략  /** * JWT VERIFY * * @param HttpServletRequest * @param resVO * @return CmmResVO */public CmmResVO JWTVerify(HttpServletRequest req, CmmResVO resVO) { try { final String jwt = req.getHeader("Authorization"); if(CmmUtile.nullCheck(jwt)) { return resVO.ERR_9005(); } /** JWE RSA KEYPAIR */ final KeyFactory keyFactory = KeyFactory.getInstance.. 2023. 10. 12.
Cassandra Snapshot Backup And Restore 방법 Cassandra에서 Snapshot을 이용한  Backup 및 Restore 방법*Cassandra 설치 환경 생략*Cassandra 기본 설정으로 진행 *자세한 설명 생략  ▷ Table 생성 *Snapshot은 원하는 시점에 생성할 수 있다.( nodetool snapshot --table {table} {keyspace} ) *여기서는 Table 삭제 시 자동으로 생성된 Snapshot으로 진행 CREATE TABLE {Keyspace}.TB_TEST( TEST_CD TEXT, TEST_NM TEXT, PRIMARY KEY ((TEST_CD)));  ▷ Cassandra Backup 확인 *Data 생성 후에도 Cassandra Backup 폴더는 변하지 않는다. #Cassandra Backup.. 2023. 10. 4.
SpringBoot Security Login 기능 추가 아주 간단한 Spring Security Login 기능 추가 방법*Maven 사용*Spring Boot Project 생성 과정 생략*자세한 설명 생략  ▷ pom.xml*의존성 추가  org.springframework.boot spring-boot-starter-security  ▷ application.properties*사용자 지정 ID/PWD 설정* Default user ID : user * Default user Pwd : 서버 실행 시 제공( Using generated security password: fd67f8d9-652b-46cd-a147-4b6681292d50 ) spring.security.user.name = testspring.security.user.passwo.. 2023. 9. 26.
Objcet to String Object를 String으로 변환하는 간단한 방법  /** * * Object to String * * @param Object * @return String * @throws JsonProcessingException */public static String getObjStr(Object obj) throws JsonProcessingException { return new ObjectMapper() .registerModule(new JavaTimeModule()) .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) .writeValueAsString(obj);} 2023. 9. 21.
@Value 사용법 application.properties에 설정한 값을 가져와 사용하는 @Value*자세한 설명 생략  ▷ application.properties*Test를 위한 값 설정 # valuetest.val = HELLO# maptest.mapInt = {W:0, O:1, R:2, L:3, D:4}test.mapStr = {W:'w', O:'o', R:'r', L:'l', D:'d'}# listtest.listInt = 0, 1, 2, 3, 4test.listStr = H, E, L, L, O  ▷ Application.java*간단한 Test를 위해 Application.java에서 진행*Bean이 생성된 후 사용해야 하기 때문에 CommandLineRunner 사용*CommandLineRunner : Se.. 2023. 9. 21.
LocalTime AVG LocalTime 평균 구하기*parameter는 상황에 따라 변경해서 사용(LocalTime t1, LocalTime...ts)  /** * LocalTime AVG * * @param List * @return AVG LocalTime */public static LocalTime getLocalTimeAVG(List list) { LocalTime result = LocalTime.of(0, 0, 0); if (!list.isEmpty()) { long nanoSum = 0L; for (LocalTime time : list) { nanoSum += time.toNanoOfDay(); } result = LocalTi.. 2023. 9. 21.
String to LocalTime String time format은 상황에 따라 변경해서 사용  /*** String(HHmmss) to LocalTime* * @param String(HHmmss)* @return LocalTime(HH:mm:ss)*/public static LocalTime getStrLocalTime(String str) { return LocalTime.parse(str, DateTimeFormatter.ofPattern("HHmmss"));} 2023. 9. 21.
728x90
728x90