목록프로그래밍 언어/Java (14)
IT 일기장
간단한건데 찾아보니 적어놓지 않았었다.. 그래도 적어놓는 습관은 좋으니 남겨둔다.SimpleDateFormat을 이용한 방식이며 한국 시간 기준으로 정확하게 출력된다. 날짜 뽑아내는 패턴도 알아두자. yy : 년도 (뒷 2자리)ex) 2024년 => 24yyyy : 년도 (4자리)ex) 2024년 => 2024M : 월 (1자리 숫자인 경우 그대로)ex) 6월 => 6 MM : 월 (1자리 숫자인 경우 앞에 0이 붙음)ex) 6월 => 06d : 일 (1자리 숫자인 경우 그대로) ex) 1일 => 1 , 26일 => 26dd : 일 (1자리 숫자인 경우 앞에 0이 붙음) ex) 1일 => 01 , 26일 => 26h : 시 (1자리 숫자인 경우 그대로, 오전/오후 구분이 없음) ex) 1시 => 1 , ..
Excel POI로 엑셀 다운로드 개발하고 있을때 발생한 개념이였다.여러 방법을 생각하기 위해 시행착오를 몇 번 겪었었는데 그 중에서 DB에서 Column들에 대한 Key값들을 순서대로 가져오고 싶었을때 이 개념을 찾아냈다. LinkedHashMap 사용법은 간단하다. HashMap과 동일한 개념이다. HashMap 예제부터 살펴보면 HashMap map = new HashMap();map.put("test1", 1);map.put("test2", 2);map.put("test3", 3);map.put("test4", 4);map.put("test5", 5);for (Map.Entry result : map.entrySet()) { System.out.println(result.getKey() + ..
정말 오랜만에 블로그 포스팅을 한다. 10개월만에 다시 부활.. 회사 프로젝트로 인해 바쁘기도 하고~ 야근도 많이 하고~ 여행도 많이 다니고~ 하다보니머릿속에 컨텐츠들이 쌓이고 쌓여 다시 초심으로 돌아가 포스팅 시작! Spring Boot 기반 Rest API 개발 시작을 위해 유틸을 만드는 중 생각나서 정리한다.포스팅 해놓은줄 알았는데 안적어놨더라.. List>의 성격상 Array 형태로 Response 된다. 따라서 JSONArray로 선언하여 추가 해줘야한다.물론 그 전에 Map 데이터들을 JSONObject에 담는게 먼저다. // List> => json array로 변환@SuppressWarnings("unchecked")public static JSONArray convertListToJso..
프로젝트를 진행하면서 소스에 이상이 생겼다. 이전에는 아래 그림처럼 코드에 취소선이 그어지지 않았었는데 오늘 소스를 작업하면서 발견하게 된것이다.. 뭐야.. 하면서 그려려니 추가 작업하고 로컬에서도 문제없이 동작하니 상관없겠지~ 하고 테스트 서버에 반영했더니 getSqlMapClientTemplate 함수에서 NoSuchMethod 오류가 발생했다. 해당 취소선의 의미는 deprecated 된 함수라는 의미로. 정확하게는 중요도가 떨어지거나 무의미한 함수거나 안전하지 못한 함수이거나 등의 이유로 해당 함수 사용을 금지한다고 알려주는 것이다. 헌데 나는 이 함수를 사용해야되는 상황이기 때문에 다른 소스에도 취소선이 발생한 점을 고려해서 아.. 내가 없는동안 누군가가 프레임워크나 소스 버전을 높였다는 것임을..
JDK 1.8 쓰고 있었다가 1.7이 필요해서 설치하고 다시 1.8을 쓰려는데 발생한 에러였다. CMD에 JAVA 명령어를 적으니 아래와 같은 에러가 발생했다. 구글링 해보니 해결 방법은 다음과 같았다. 윈도우 키 + S 입력 후 "regedit" 또는 "레지스트리 편집기" 타이핑 후 검색 HKEY_LOCAL_MACHINE => SOFTWARE => JavaSoft => Java Runtime environment CurrentVersion 더블클릭 또는 우클릭 후 수정 값을 1.8로 변경 마지막으로 C:\Windows\System32에서 java.exe, javaw.exe, javaws.exe 3가지를 삭제해주고 다시 JAVA 명령어를 입력하면 정상적으로 해결된다.
값이 Null인 경우 NullPointException 에러가 자주뜨는데 이를 막기 위해 공백으로 바꿔주는 방법이 있었다. public static String NullCheck(String obj, String defaultStr){ String result = defaultStr; if(obj != null && !"".equals(obj)){ result = String.valueOf(obj); } return result; } 사용법 예시는 다음과 같다. request.getParameter("test") 값이 Null이면 공백으로 치환해준다. String test = NullCheck(request.getParameter("test"),"");
회사에서 유틸로 사용하고 있는 Java 파일에서 발견한 getClientIP라는 함수가 있었다 아무래도 접속한 사람의 ip를 갖고올수있는 함수인거같은데.. 굉장히 간단해 보인다 실제로 getHeader, getRemoteAddr, HttpServletRequest 클래스를 파보면 복잡하겠지만.. 접속 로그를 구현할 때 써먹으면 유용한 함수다 public static String getClientIP(HttpServletRequest request){ String ip = request.getHeader("X-FORWARDED-FOR"); if(ip == null || ip.length() == 0){ ip = request.getHeader("Proxy-Client-IP"); } if(ip == null..
1편에 정리한거 이어서 "사용자 화면 검색순위"는 다음과 같이 구현했다 사용자 화면 검색 순위 삭제 순위 사용자화면 위치 ${status.count} 이거 최초 구현했을때 시행착오를 좀 겪었었는데.. "DB 검색순위" 에서 추가 버튼 눌렀을때 append 되는거까진 좋았다 근데 화살표를 누르니까 동작을 안한다. append 이후에 정적으로 동작하다 보니 이 버튼으로 동적으로 클릭할 수 있게 만들어줘야 되는데.. document의 on 함수에 클릭할 class 속성을 추가하면 append 이후 버튼을 동적으로 클릭할 수 있더라 $(document).ready(function(){ // append 이후 버튼 동적클릭 $(document).on("click",".up",function() { var inde..