본문 바로가기

반응형

Backend/JAVA

(34)
[Algorithm] 데일리 백준 사칙연산 관련 문제 + 문자열 추가 출력 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); // // enter 구분 // // int a = Integer.parseInt(br.readLine()); // int b = Integer.parseInt(br.readLine()); // // if ( 0 ..
[Java] 시간 비교, 시간 파싱 event기간에 따라 문구를 변경하고 싶다는 요청사항이 들어왔다. 1. event 종료 전이지만 closed상태에서의 문구 2. event 종료 후 closed상태에서의 문구 이렇게 두 가지로 케이스를 분리해달라고 했다. 그래서 그냥 현재시간을 model에 담아서 client단에서 비교하게 구현하려고 했다. // java ... Date timestamp = new Date(System.currentTimeMillis()); model.addAttribute("timestamp", timestamp); ... // js ... console.log("${timestamp}"); console.log("${EvnetEndDate}"); popup_text(""); popup_text(""); ... 하지만..
Response로 Json 생성 @SuppressWarnings("unchecked") @RequestMapping(value = "/sample/sample", produces="application/json; charset=utf-8") @ResponseBody public String selectMapData(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap hMap, Model model, HttpSession session) throws IOException, Exception { JSONObject jsonObject = new JSONObject(); try { List DemoVOList = sampleService.selectS..
Gradle-JDK이슈 Project Spec Project : Gradle - Groovy Language : Java Spring Boot : 3.2.2 Packaging : Jar Java : 17 1st 빌드 에러 JAVA 17은 Gradle 8.5를 완전히 지원해주지 않는다고 한다. 대신 7.3버전을 지원해 주기때문에 JAVA 17은 Gradle 7.3을 사용하도록 하자 gradle\wrapper\gradle-wrapper.properties파일을 수정한다 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists #distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip dist..
01/30 회고 X-Forwarded-For 취약점 방지 XFF ( X-Forwarded-For )란? 클라이언트 IP ⟶ Proxy 서버 및 장비 ⟶ 웹 서버 X-Forwarded-For는 일반적으로 HTTP 헤더의 일부로 클라이언트의 IP 주소를 식별하는 데 사용. 이 헤더는 웹 요청이 프록시(Proxy) 또는 로드 밸런서(Road Balancer)를 통해 이루어질 때 실제 요청을 보낸 클라이언트의 IP를 식별할 때 유용하게 사용. 일반적인 형식 - X-Forwarded-For: client, proxy1, proxy2 XFF 취약점 보완 // 검증 코드 import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.Lis..
12/19 회고 JSON양식으로 변환 {"resultCode" : 0,"resultMsg" : "SUCCESS","Items" : [{"DATA_SEQ" : 75005,"DATA_CODE" : "A1A1A0","REGION" : "A","SERIESNAME" : "전체","YEAR" : "1998","TOTAL" : 8823,"VALUE" : 25.1,"CI" : "(34.0, 36.2)","MODEL_VALUE" : 34.1,"APC_YEAR" : "1998-2018","APC_VALUE" : -2.1,"APC_CI" : "(-2.4, -1.9)"}]}; 이런식의 텍스트가 있고 이것을 JSON 형식으로 맞추어야 했다. import json def parse_json_objects(json_string): # 문자열을 ..
12/15 뻘짓 뻘짓 업무... // Controller @GetMapping(value = "/table/cancerData/all") public @ResponseBody ResponseEntity getJsonData() throws Exception { JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray(); for(int i = 1 ; i < 144 ; i++) { jsonObject.put("resultCode", "00"); jsonObject.put("resultMsg", "SUCCESS"); if(i == 85 || i == 86 || i == 87 || i == 88 || i == 89 || i == 90 || i ..
12/06 회고 spring batch spring boot 였다면 더 편했겠지만 legacy에서 작업해서 정보가 많이 없었다. 하지만 @Schedule을 이용한 방법이 간단하게 많은 수정이 필요하지 않아 사용해보았다. context관련 xml파일 수정 // task를 위한 추가 // 어노테이션 스캔동작 // 실제 배치동작을 수행할 파일 classpath:/egovframework/message/message-common UTF-8 60 * ​ 배치 동작할 파일 작성 예시로 스케쥴을 1초단위로 실행하면서 log를 찍는 것을 작성 package ncdc.cancermonitor.util; import java.text.SimpleDateFormat; import java.util.Calendar; import org.sl..

반응형