본문 바로가기

Study

(14)
org.apache.jsp.index_jsp 에러 해결을 위한 삽질 업무를 하며 Jetty를 켰을 때 평소처럼 URL을 입력했는데 메인 페이지가 나오지 않고 에러 페이지가 나왔다. 이 웹 애플리케이션 파일(Jar 형식)을 윈도우 환경에서 실행하면 문제가 없는데 리눅스(CentOS)환경에서 실행하면 문제가 나타났다. 우선 HTTP 500에러는 Internal Server Error를 나타내는데 에러 내용 그대로 서버에 문제가 있다는 것이다. HTTP ERROR 500 에러 페이지에 출력된 에러 메시지를 보니 Caused by와 함께 상세 내용이 나와있었다. java.lang.ClassNotFoundException: org.apache.jsp.index_jsp 클래스 파일이 없다는것인데 이 페이지는 내가 만든 것이 아니다. 에러코드 원본 Problem accessing /..
모르면 손해 EXE 파일 뜯어보기 exe파일을 비교해야 할 때 어떻게 비교할 수 있을까? 파일의 수정 날짜, 크기(용량), 이름? 이 방법으로는 파일의 내용이 어떻게 달라졌는지 알 수가 없다. 방법은 exe 파일을 분해해보는 것이다. exe파일도 분해가 가능하다. 과거 윈도우xp, 윈도우7을 사용하던 때에는 [Universal Extractor](https://www.legroom.net/software/uniextract)라는 오픈소스 툴을 사용했다고 한다. 하지만 이 툴은 메인테이너가 더이상 유지보수를 하지 않겠다고 선언했다. 오픈소스인만큼 이 프로젝트를 복제(포크) 한 비공식 버전이 여러가지가 나타났고, 그 중 [Universal Extractor 2(UniExtract2)](https://github.com/Bioruebe/Uni..
[Java] 정규표현식을 이용한 파일구분자 바꾸기 프로그램 실행에 필요한 설정 정보를 코드가 아닌 외부 파일에서 읽어오는 경우가 있다. 예를 들어 영상 편집프로그램을 만든다고 할 경우 영상 배경음을 불러오는 기능이 필요하다. 파일의 경로를 설정하는 방법은 두 가지가 있다. 절대 경로 : 최상위 디렉터리(루트 디렉터리)부터 목표지점 까지의 경로를 나타내는 방법 상대 경로 : 특정 지점부터 목표지점까지의 경로를 나타내는 방법 서울시청을 가야하는 상황을 생각해보자. 절대 경로는 '서울 중구 세종대로 110'이다. 내가 어디에 있는지에 상관없이 저 주소를 향해 걸어가면 서울시청에 갈 수 있다. 상대경로는 내가 지금 있는 곳에서 목표지점까지의 상대적인 경로를 나타낸 것이다. 내가 지금 지하철을 타고 시청역에 도착한 상태다. 여기서 서울 시청을 가려면 4번출구를 ..
카카오 QR코드인증 간편하게 실행하기 코로나 상황에선 전국의 매장 어디를 방문하든지 출입명부를 작성하거나 QR코드를 인증해야 한다. 하지만 출입명부는 개인정보 유출이 걱정되고, QR코드는 매번 QR코드 버튼 확인 메뉴까지 들어가는게 귀찮다. 삼성 스마트폰의 '모션 및 제스처' 메뉴처럼 폰을 뒤집어 놓으면 무음으로 바뀌거나, 홍채를 인식해서 화면의 켜짐 상태를 유지하는 것과 같은 기능이 있다. 카카오톡 실험실에서도 QR코드를 켜기위해 반복 행동해야 하는 이런 귀찮음을 해결해주려고 쉐이크 기능을 내놓았다. 쉐이크 기능은 카카오톡이 켜진 상태에서 휴대폰을 2번 흔들었을 때 특정 기능이 실행한다. 현재 카카오톡 실험실에서는 QR 체크인, 코드스캔을 쉐이크 기능을 통해 실행할 수 있다. 이 둘 중 'QR체크인'을 선택하면 QR코드를 켜기위해 여러 메..
[주식용어] 어닝 서프라이즈(Earning Surprise) / 어닝 쇼크(Earning Shock)란? 어닝 시즌(Earning Season) 투자자들은 주식회사에 투자하기 전 영업실적 자료를 보고 투자가치를 따지게 된다. 주식시장에 상장된 회사들은 분기마다 주주들에게 영업실적을 알려주어야 하는데 이 영업실적을 공개하는 시기가 회사들마다 비슷하다. 이렇게 영업실적을 공개하는 기간을 어닝 시즌이라고 한다. 어닝 서프라이즈(Earning Surprise) 기업의 영업실적이 시장의 예상치보다 높아서 주가에 긍정적인 반응(서프라이즈! Surprise!)을 준다는 뜻. 어닝 쇼크(Earning Shock) 기업의 영업실적이 시장의 예상치보다 낮아서 주가에 부정적인 반응(쇼크! Shock!)을 준다는 뜻.
[생각해볼 것] 카카오맵 군사 기밀, 외도 사실까지 개인 정보 줄줄 MBC 뉴스에 카카오 맵에서 개인정보가 노출된다는 뉴스가 나왔다. 기사의 요지는 '타인의 리뷰 및 즐겨찾기 목록을 확인할 수 있고, 이 목록을 통해 개인정보가 노출된다'는 것이다. 카카오맵 입장은 "사용자들이 카카오 맵에 저장하는 정보는 장소일 뿐 개인정보가 아니라서 기본 설정을 공개로 해둔 것"이라고 한다. 리뷰는 어떤 장소를 방문한 뒤 남기는 개인이 해당 장소에 대한 평가인 것이지 개인정보라고 볼 수 있을까? 카카오 맵 즐겨찾기 폴더 기능을 기획/개발한 기획자/개발자의 의도는 이게 아니었을 것이다. 수요 미식회 맛집 구글 지도 목록처럼 사용자들이 자신만의 장소를 기록하고, 타인과 공유하며 카카오 맵 서비스를 더 적극적으로 사용하길 원했을 것이다. 하지만 사용자가 모두 기획자의 의도대로 행동하는 것은 ..
자바 웹 프로젝트 디렉토리 구성 - src : 웹 프로젝트 소스코드와 리소스가 저장되는 곳이다. - src/main : 웹 프로젝트를 서버에서 실행할 때 사용되는 소스코드와 리소스들이 저장되는 곳이다. - src/main/java : 자바 소스코드가 저장되는 곳이다. 프로젝트가 컴파일 될 때 이 경로에 저장된 .java 확장자의 자바 소스코드가 컴파일 되고 .class 파일이 생성되며 JVM에서 실행 가능한 형태로 변환된다. - src/main/resources : 프로젝트가 컴파일 될 때 사용하는 파일들이 저장되는 곳이다. 라이브러리, 프레임워크에서 사용하는 xml, yaml, properties같은 파일들이 이 곳에 저장된다. - src/main/webapp : 웹 프로젝트에서 사용하는 정적(static)파일인 html, css, ..
IntelliJ 실행 중 콘솔(console)창 한글 깨짐 문제 인텔리제이(IntelliJ)에서 프로그램 실행 로그가 콘솔에 출력될 때 한글이 깨지는 문제가 발생했다. 해결법 1. IntelliJ 설정 Ctrl + Alt + S를 눌러서 Settings를 실행한다. 검색창에 'encoding'을 검색해서 인코딩 타입을 UTF-8로 변경한다. 해결법 2. IntelliJ vmoptions 설정 {IntelliJ 설치경로}/bin/idea64.exe.vmoptions 를 연다. 마지막에 -Dfile.encoding=UTF-8를 추가한다. IntelliJ를 종료 후 재실행한다. 해결법 3. 빌드 도구를 초기화 해결법 1과 2를 적용한 후에도 문제가 개선되지 않는 경우에 사용하는 방법이다. 그레이들(Gradle)과 같은 빌드도구를 사용하는 경우 컴파일을 한 번 실행한 후 변..