Programming 77

[JSP/Servlet] JSP/Servlet 500 에러 "javax.servlet.ServletException: java.lang.NoClassDefFoundError" 해결 방법

JSP/Servlet 500 에러 "javax.servlet.ServletException: java.lang.NoClassDefFoundError" 해결 방법 JSP 사용 시 500 에러 "javax.servlet.ServletException: java.lang.NoClassDefFoundError"가 발생할때가 있는데, 이는 보통 세팅에서의 문제로 인해 발생하는 경우가 많습니다. 보통 웹 애플리케이션 디렉터리 구조를 가지고 있는 환경에서 Build Path가 WEB/bin에 설정되어 있어 class 파일을 찾을 수 없거나, Servlet에 필요한 jar 파일을 라이브러리에 적용시키지 않아 발생하는 에러 입니다. Build Path의 문제일 경우 자신의 디렉터리 구조에 맞게 변경해야 합니다. (ex...

[JAVA] 자바 참조형 매개변수 이해하기 (java reference type parameter)

자바 참조형 매개변수 이해하기 (java reference type parameter) 매개변수는 기본형과 참조형 매개변수로 나눠집니다. 기본형의 경우 값이 복사되지만, 참조형의 경우 해당 인스턴스의 주소를 복사하여 값 자체에 영향을 줄 수 있습니다. 아래 이미지들을 참고하여 본다면 참조형 매개변수의 경우 실제 값을 가져가는것이 아니라, 주소값을 참고하여 접근하고 실제 값이 담긴 객체에 접근하기 때문에 수정이 되는것을 확인할 수 있습니다. 기본형 매개변수 변수의 값을 읽기만 가능 (read only) 참조형 매개변수 변수의 값을 읽고 수정 가능 (read & write) 1. Class01 타입(참조형)의 num 인스턴스 생성 → num의 x에 100 대입 → 출력 아래 이미지와 같이 바로 값이 들어가지..

Programming/JAVA 2022.05.08

[API] 택배 배송 조회 API (스마트 택배 API 웹 템플릿 사용)

택배 배송 조회 API (스마트 택배 API 웹 템플릿사용) 스마트택배 배송 조회 API와 웹 템플릿을 사용하는 방법 입니다. (무료 버전) 1. 스윗트래커 홈페이지(https://tracking.sweettracker.co.kr/) 로 이동하여 회원가입 후 로그인을 해주세요. 2. 좌측 메뉴 API KEY 관리 → KEY 목록 → 이용권 구매를 클릭 한 후 원하는 이용권 등급을 선택하여 "다음"을 클릭 해주세요. 이용정책에 따르면 이용권은 1개월을 기준으로 유효기간이 설정되며 무료 이용권(월 1,000건)의 경우 재사용이 불가능 했습니다. ※ 단순히 API KEY 재사용만 불가능한 것 인지, 재구매하여 새로운 API KEY를 받는것도 불가능한 것 인지는 정확하게 나오지 않았으니 참고 부탁 드립니다. 3..

Programming/API 2022.05.05

[JAVA] intellij Run 비활성화 시 해결 방법

intellij Run 비활성화 시 해결 방법 intellij를 사용하다보면 테스트 케이스만 Run이 활성화 되어 메인 클래스에서 사용하지 못하는 경우가 있는 것 같습니다. 아래 내용을 순서대로 따라하여 메인 클래스의 Run을 다시 활성화할 수 있습니다. 1. Intellij 우측 상단 1번 박스 부분 클릭 → Edit Configurations... 클릭 1번 박스 부분은 테스트 케이스 클래스의 이름이거나, 테스트 케이스도 아닐 경우 Add Configurations... 로 표시됩니다. 2. + 아이콘 클릭 → Application 클릭 3. Name에 이름을 작성한 후 Main class 부분을 클릭하여 Main 클래스의 이름을 작성 해주세요. Main class 칸에서 Shift + Enter를 ..

Programming/JAVA 2022.04.12

[JAVA] intellij에서 Spring 실행 시 finished with non-zero exit value 1 에러 해결 방법

intellij에서 Spring 실행 시 finished with non-zero exit value 1 에러 해결 방법 intellij에서 Spring 실행 시 finished with non-zero exit value 1 에러가 발생할 경우 아래와 같이 해결할 수 있습니다. 1. File → Settings... 2. Build, Execution, Deployment → Build Tools → Gradle 경로를 들어가보면 Build and run using과 Run tests using이 Gradle(default)로 되어있을 텐데, 두개 다 Intellij IDEA로 변경 해주시면 됩니다. 이후 다시 Spring을 실행해보면 정상적으로 실행됨을 확인할 수 있습니다.

Programming/JAVA 2022.04.05

[JAVA] 자바 int a = 011 -> 9가 나오는 이유 ( what is "int a = 011" and not 9 why, The literal 09 of type int is out of range )

자바 int a = 011 -> 9가 나오는 이유 ( what is "int a = 011" and not 9 why, The literal 09 of type int is out of range ) 위와 같이 자바에서 의도치 않은 에러가 나올 경우가 있습니다. 똑같은 값을 변수에 입력 하더라도 입력 방식에 따라 서로 다른 의미가 부여되어 다른 결과값이 나오게 됩니다. int num1 = 07 8 진수 int num2 = 7 10 진수 int num3 = 0x7 16진수 int num4 = 0b0111 binary (2진수) 결과값은 아래와 같습니다. 아래 결과를 이해하기 위해서는 8진수, 10진수, 16진수, binary(2진수)의 계산 방식을 이해할 필요가 있으며 이번 포스팅의 목표는 진법에 대해 아..

Programming/JAVA 2022.03.16

[JAVA] 자바 charAt()의 문자('1'~'9')를 정수형과 비교(if) 방법

자바 charAt()의 문자를 정수형과 비교(if) 방법 아래의 번호는 3가지 방법이 있다는 뜻이 아닙니다. 3가지 내용들을 확인 해보면 어째서 이렇게 비교해야 하는지 이해하실 수 있습니다. 1. charAt()의 리턴 타입은 char형 입니다. 자바의 charAt()은 리턴 타입이 char형입니다. 아래 예시를 기준으로 반환값이 숫자로 보일테지만 실제로는 '1', '5', '8', '9'과 같습니다. 즉, 아래와 같은 코드가 있을 때 반환값은 '1' 입니다. 2. 아스키 코드표(ASCII TABLE)을 확인하고 10진과 문자를 확인하여 비교 해보세요. 아래는 아스키 코드표의 일부 입니다. 10진법으로 숫자 48은 문자 '0' , 숫자 49는 문자 '1'으로 되어있습니다. 그렇다면 정수형과 문자(1~9)..

Programming/JAVA 2022.03.16

[JAVA] 윈도우에서 이클립스 삭제하는 방법 (eclipse uninstall)

윈도우에서 이클립스 삭제하는 방법 (eclipse uninstall) 이클립스는 따로 uninstall 파일이 없어서 사용자가 수동 삭제를 해주어야 합니다. 삭제 시 필수적으로 삭제해야할 폴더는 아래와 같습니다. .eclipse .p2 eclipse eclipse-workspace 파란색은 숨겨진 폴더로 되어 있으며, 경로는 C드라이브의 사용자 계정 아래에 있습니다. (저의 경우 C:\Users\Nirsa) 숨김 폴더라 안보이시는 분들은 아래와 같이 파일 탐색기의 보기 → 숨긴 항목에 체크 해주시면 됩니다. 이후 eclipse 폴더와 eclipse-workspace 폴더는 사용자가 수동으로 경로를 선택하여 설치 했으니, 설치 또는 설정했던 경로를 찾아 폴더를 삭제 하시면 됩니다.

Programming/JAVA 2022.02.17

[Bash Shell Script] 쉘 스크립트 도메인 인증서 만료 날짜 불러오기(bash shell domain certificate)

※ 해당 포스팅은 https://nirsa.tistory.com/318?category=861480 와 연계하여 사용 합니다. 도메인의 인증서 만료 날짜를 자동으로 가져와 license 파일을 업데이트하기 위하여 사용 합니다. 그 외 사용 목적으로 사용할 예정인 경우 스크립트 내용을 잘 확인 바랍니다. 쉘 스크립트 도메인 인증서 갱신 날짜 불러오기(bash shell domain certificate) 이전 포스팅에 추가하여 쉘스크립트 도메인 인증서 갱신 날짜를 불러와 자동으로 라이센스 파일에 내용을 변경 해주는 스크립트 입니다. "YOUR_LICENSE_FILE_PATH" , "YOUR_DOMAIN_URL" 부분은 본인의 환경에 맞게 변경 해주어야 합니다. 기타 자세한 내용은 추후 추가 예정 입니다. ..

[Bash Shell Script] 쉘 스크립트 파일 2개를 불러와 key-value 형태로 변환 (bash shell script key-value, bash shell script map)

쉘 스크립트 파일 2개를 불러와 key-value 형태로 변환 (bash shell script key-value, bash shell script map) 아래와 같은 파일이 있을 때 쉘 스크립트의 map을 사용하여 key : key1 , value : value1 형태로 출력하는 코드 입니다. #!/bin/bash ## 파일을 읽어 배열 형태로 저장 key_list=(`cat /root/test1`) value_list=(`cat /root/test2`) ## 아래 코드 실행 중 길이를 넘어 에러를 발생하므로 key_list, value_list 측정 길이에서 -1 KEY_EXPR=`expr ${#key_list[@]} - 1` VALUE_EXPR=`expr ${#value_list[@]} - 1` ..