본문 바로가기

전체 글156

두 지점간의 거리 계산 공식을 이용한 거리 계산  ▷ Example public class LocationDistance { public static void main(String[] args) { double lat1 = 37.504198, lon1 = 127.047967; double lat2 = 37.501025, lon2 = 127.037701; System.out.printf("Distance in miles: %.4f%n", distance(lat1, lon1, lat2, lon2, "mile")); System.out.printf("Distance in meters: %.2f%n", distance(lat1, lon1, lat2, lon2, "meter.. 2021. 4. 16.
List<Object> 정렬 ▷ Example *개선 2024-11-26public static void testSort() { // 테스트 데이터 생성 var list = new ArrayList(List.of( new DistVO("짱구분식", 11), new DistVO("홍길동분식", 5), new DistVO("김길동분식", 5), new DistVO("십이분식", 34), new DistVO("저먼분식", 94) )); // 정렬 전 출력 System.out.println("정렬 전 ===================="); list.forEach(System.out::println); // 거리순으로 정렬(오름차순 ASC.. 2021. 4. 16.
숫자 천 단위 콤마 추가 NumberFormat으로 간단하게 해결  ▷ Example import java.text.NumberFormat;public void test() { int number01 = 1000000000; int number02 = 100; String number03 = "1000"; // 숫자 포맷터 재사용 NumberFormat numberFormat = NumberFormat.getInstance(); // 숫자 포맷팅 결과 String commaNum01 = numberFormat.format(number01); String commaNum02 = numberFormat.format(number02); String commaNum03 = numberFo.. 2021. 3. 5.
가변적인 특정 문자열을 원하는 위치에 추가 ▷ Example import java.text.NumberFormat;public void test() { // 고정 문자열 String baseMessage = "오늘 총 %s걸음 걸으셨습니다."; int number01 = 1000; int number02 = 10000; // 숫자 포맷팅 NumberFormat numberFormat = NumberFormat.getInstance(); // 메시지 생성 String msg01 = baseMessage.formatted(numberFormat.format(number01)); String msg02 = baseMessage.formatted(numberFormat.format(number02)); .. 2021. 3. 5.
JSON Unrecognized field 해결방법(@JsonIgnoreProperties) JSON 데이터를 구성하는 요소가 가변적일 때 무시하는 방법*소스는 변하지 않았지만 연동 했던 API 응답 값이 변했다고 가정  ▷ ERROR- JSON 데이터를 매핑하지 못해 에러 발생com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field  ▷ 해결 방법*2가지 중에 골라서 사용 - Example JSON data{ "id": 1, "name":"test"}  ① 클래스 레벨에 @JsonIgnoreProperties 어노테이션- 특정 요소 제외 @JsonIgnoreProperties({"name"})public class TestClass{ String id;}  - 선언한 필드 이외 모든 요소 제외@J.. 2021. 3. 3.
리눅스 권한(Permission) 설정(8진수 표기) 멀티유저 운영체제인 리눅스는 보안을 위해 파일, 디렉토리에 대한 권한, 소유자, 그룹을 설정  ▷ 권한  - 읽기(r) : 조회  - 쓰기(w) : 등록, 수정, 삭제  - 실행(x) : 실행  ▷ 권한 정보rwxr-xr-x - rwx : 소유자 권한(User)- r-x : 그룹 권한(Group)- r-x : 기타 사용자 권한(Other)  ▷ 권한 설정 명령어chmod [옵션][모드][파일]- 도움말 명령어 : chmod --help  ▷ 8진수 표기*문자 표기 설명 생략8진수 표기문자 표기0---1--x2-w-3-wr4r--5r-x6rw-7rwx  ▷ Example*현재 디렉토리 위치 기준- 현재 디렉토리를 포함한 하위의 모든 파일+디렉토리 권한 변경chmod 644 -R ../현재 디렉토리 명- .. 2021. 2. 17.
리눅스 파일 속성 ▷ 파일 목록 조회 명령어 ll : ls 명령어에 -l 옵션을 준 형태 ▷ 파일 속성drwxr-xr-x. 19 root root 4096 Feb 17 15:17 opt*현재 디렉토리에서 조회된 파일 목록 중 하나(예시) - d :  파일 유형( - : 일반 파일 , d : 디렉터리 )- rwxr-xr-x : 권한정보- 19 : 하드 링크 개수(바로가기)- root  : 파일 소유자 ID- root : 파일 소유자 그룹 이름- 4096 : 파일 크기(바이트)- Feb 17 15:17 : 파일 마지막 수정 날짜- opt : 파일명 2021. 2. 17.
Mybatis Oracle BEGIN-END(PL/SQL) 한 번에 쿼리를 2개 이상 실행해야 하는 경우 사용*PL/SQL에 대한 설명은 간단히 하고, Mybatis에서 어떻게 사용했는지를 다룰 예정  ▷ PL/SQL(Oracle's Procedural Language extension to SQL)이란오라클에서 제공하는 SQL을 확장한 프로그래밍 언어(절차적 언어, 블록 언어)로 블록 구조를 가지고 있다.  ▷ PL/SQL 블록 구조 -- 전체가 하나의 블록이고 구성요소는 아래와 같다.DECLARE -- 선언부(옵션) -- 변수나 상수를 정의 BEGIN -- 실행부(필수, BEGIN-END) -- 로직 수행(일반 SQL문, 조건문, 반복문 등) EXCEPTION -- 예외처리부(옵션) -- 로직 수행중 에러 발생 시 예외 사항 처리 END;  ▷ PL/SQL.. 2021. 2. 4.
Tomcat 404 페이지 에러 정보 숨기기 기본 에러 페이지 사용 시 서버 정보 노출로 해커에게 서버 취약점을 이용한 공격을 당할 수 있다.*보통 에러 페이지를 생성해 보안 취약점을 해결  ▷ 적용전  ▷ server.xml에 아래 태그 추가 후 서버 재기동  ▷ 적용 후 2021. 2. 4.
728x90
728x90