본문 바로가기

전체138

두 지점간의 거리 계산 공식을 이용한 거리 계산 ▷ Example public class LocationDistance { public static void main(String[] args) { // 마일(Mile) 단위 double distanceMile = distance(37.504198, 127.047967, 37.501025, 127.037701, ""); // 미터(Meter) 단위 double distanceMeter = distance(37.504198, 127.047967, 37.501025, 127.037701, "meter"); // 킬로미터(Kilo Meter) 단위 double distanceKiloMeter = distance(37.504198, 127.047967, 37.501025, 127.037.. 2021. 4. 16.
Object List 정렬(Collectrions.sort()) Collectrions.sort로 간단하게 해결 *정렬 시 사용 할 Comparator Override *아래 더 간단한 로직 참고 ▷ Example - 나와 가장 가까운 분식집 순으로 정렬 public static void testSort() { // 테스트 데이터 생성 List list = new ArrayList(); DistVO vo; vo = new DistVO(); vo.setName("짱구분식"); vo.setDist(11); list.add(vo); vo = new DistVO(); vo.setName("홍길동분식"); vo.setDist(5); list.add(vo); vo = new DistVO(); vo.setName("김길동분식"); vo.setDist(5); list.add(vo).. 2021. 4. 16.
숫자 천 단위 콤마 추가 NumberFormat으로 간단하게 해결 ▷ Example public void test() { int number01 = 1000000000; int number02 = 100; String number03 = "1000"; System.out.println(number01); // 1000000000 System.out.println(number02); // 100 System.out.println(number03); // 1000 // NumberFormat.getInstance().format(숫자) String commaNum01 = NumberFormat.getInstance().format(number01); String commaNum02 = NumberFormat.getInstance().. 2021. 3. 5.
문자열에 가변적인 특정 문자열을 원하는 위치에 추가 StringBuffer Class로 간단하게 해결 *고정된 메세지에 가변적 문자열을 추가해야 한다고 가정 ▷ Example public void test(){ String str = "오늘 총 걸음 걸으셨습니다."; // 고정 문자열 int number01 = 1000; int number02 = 10000; // .insert(원하는 위치, 추가할 문자열) StringBuffer msg01 = new StringBuffer(str); msg01.insert(5, NumberFormat.getInstance().format(number01)); StringBuffer msg02 = new StringBuffer(str); msg02.insert(5, NumberFormat.getInstance().for.. 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; } - 선언한 필드 이외 모든 요소 제.. 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 --x 2 -w- 3 -wr 4 r-- 5 r-x 6 rw- 7 rwx ▷ Example *현재 디렉토리 위치 기준 - 현재 디렉토리를 포함한 하위의 모든 파일+디렉토리 권한 변경 chmod 644.. 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