아파치 톰캣을 사용하다 보면 종종 위와 같은 에러가 뜰 수 있습니다. 톰캣에서 사용해야 할 포트를 다른 프로세스에서 실행 중이거나 시스템 프로세스가 포트를 사용하고 있어 실행을 할 수 없다는 내용인데요. 이럴 경우 톰캣에서 사용할 포트번호를 바꾸는 방법도 있겠지만 꼭 해당 포트를 사용해야 할 경우에는 그 포트를 사용하고 있는 프로세스를 강제로 KILL 해서 죽이고 톰캣을 재 실행하는 방법도 있습니다. 윈도우10 에서 특정 포트 번호 죽이기 (Kill) 저는 톰캣에서 80 포트를 사용하고 있으므로 80 포트를 사용하고 있는 프로세스를 죽이는 방법으로 예를 들겠습니다. 1. 작업표시줄 검색창에서 cmd를 입력하고 명령 프롬프트를 관리자 권한으로 실행시킵니다. 2. netstat -ano 명령어를 입력하여 8..
자바에서 가끔 두 날짜의 간격 예를 들어 두 날짜의 일수나, 시간, 분, 초등을 구해야 할 때가 있습니다. 이럴 때는 대개 두 날짜를 getTime을 활용하여 밀리 세컨드로 변환한 후 두 날짜의 차이를 계산한 뒤 원하는 단위로 바꾸는 작업을 통해 계산합니다. Date.getTime() Date.getTime()은 Date를 밀리세컨드로 변환해서 long형 숫자 데이터로 반환합니다. 이를 이용하면 산술 연산으로 시간 차이를 쉽게 구할 수 있습니다. 1000밀리초는 1초로 계산되므로 getTime()으로 구한 값을 밀리초를 1000으로 나누면 초를 얻습니다. 이 초를 기본으로 하여 다른 시간 단위들도 계산할 수 있습니다. 초 : / 1000 분 : / (1000 * 60) 시 : / (1000 * 60 * ..
개발을 하다보면 데이터베이스에 지정된 포맷의 날짜를 넣어야 할 경우들이 종종 있고 그렇게 되면 자연스럽게 이 데이터가 정해진 날짜 포맷에 맞는지 검증하는 로직이 들어가야 합니다. 날짜 포맷의 유효성 검사하기 (Validation Date) public class test { public static void main(String[] args) { String exDate1 = "2021/01/01"; String exDate2 = "20210101"; System.out.println(checkDate(exDate1)); System.out.println(checkDate(exDate2)); } public static boolean checkDate(String checkDate) { try { Sim..
자바에서는 문자열 String값의 값의 처음과 끝을 " " 이렇게 큰 따옴표로 인식하고 있습니다. 그렇기에 문자열 안에 큰 따옴표 자체를 넣을때는 \" 이런식으로 이스케이프 시퀀스를 활용하여 표현해주어야 합니다. 자바 문자열안에 큰 따옴표(") 넣기 String example = "\"url\" : \"https://www.naver.com\""; System.out.println(example); 위와 같이 \" 이스케이프 시퀀스를 통해 따옴표를 나타내면 문자열의 열고 닫음을 표현하는 예약문자로써의 기능이 아닌 따옴표 그 자체로 문자열 안에 포함시킬 수 있습니다. 이스케이프 시퀀스 위와 같이 이스케이프 시퀀스는 \와 다른 문자를 결합하여 프로그래밍 언어 특성상 표현할 수 없는 문자를 표현하거나 컴퓨터를..
자릿수가 많은 금액은 가독성을 향상시키기위해 3자리수 금액의 1000단위마다 콤마( , )를 찍습니다. 단 콤마( , )는 문자열이기 때문에 String타입에 저장해야 합니다. 숫자 사이에 콤마( , )를 찍는 방법은 대표적으로 java.text.DecimalFormat 클래스를 활용하는 방법과 정규식을 활용하는 방법이 있습니다. DecimalFormat 클래스 활용 int amount = 1000000000; DecimalFormat df = new DecimalFormat("###,###"); String money = df.format(amount); System.out.println(money); 정규식 활용방법 String amount = "1000000000"; amount = amount.r..
가끔 큰 숫자를 쓰다보면 위와 같이 The Literal of type int is out of range 라는 에러가 발생할 경우가 있습니다. 말 그대로 그대로 int유형 범위(–2,147,483,648 ~ 2,147,483,647) 의 값을 벗어났다는 의미입니다. 기본적으로 숫자의 Defualt 인식값이 int로 되어 있어서 나타나는 현상인데요 해결 방안 에러를 해결하기 위해서는 이 숫자는 Long타입이라는 것을 명시해주어야 합니다. 숫자끝에 위와 같이 알파벳L을 붙이시면 이 값은 Long타입이라는것을 명시할 수 있습니다.
이클립스에서 자바 프로젝트를 컴파일할때 위와 같은 Editor does not contain a main type이라는 에러가 발생하거나 Selection does not contain a main type 에러가 발생할때의 대처방법에 대해서 알아보도록 하겠습니다. 자바 파일이 src폴더 밖에 있는 경우 scr폴더가 없다면 프로젝트 우클릭 -> Java Build Path -> Source -> Add Folder를 눌러 src폴더를 만들어주고 그 안에 자바 클래스 파일을 넣으시면 됩니다. 프로젝트에서 JDK를 인식하지 못하고 있는 경우 프로젝트 우클릭 -> Project Facets -> Java를 사용하고 있는 버전으로 바꿔줍니다. 이밖에 발생할 수 있는 경우들 1. main함수가 존재하지 않거나 오..
개발환경 세팅 후 컴파일을 하면 아래처럼 Can't load IA 32-bit .dll on a AMD 64-bit platform이라는 에러가 뜰 때가 있습니다. 자바 프로젝트에서 DLL을 호출할때 나타나는 에러로 빌드한 DLL 파일은 32bit이지만 JVM은 64bit 이기 때문에 발생하는 에러입니다. 해결 방안 1. dll 파일을 64bit로 빌드한다. 2. JVM을 32bit로 설정하여 컴파일 한다. 이 중에서 2번째 방법이 더 간단하고 향후 똑같은 문제가 발생하는 것을 예방하실 수 있습니다. 현재 설치되어 있는 JDK 32bit / 64bit 확인하기 cmd창을 켜신 후 java -d64 -version 이라고 입력했을 때 위와 같이 나온다면 64bit JDK가 설치된 것입니다. JVM을 32B..
이클립스를 신규 설치 후 이클립스를 실행하였더니 위와 같은 에러가 떴습니다. 위의 에러를 그대로 해석하자면 JVM 버전 15.0.2이 이 이클립스에 적절하지 않고 JVM 16 이상이 필요하다는 내용입니다. 즉 이클립스에서 필요한 JDK의 버전과 현재 PC에 설치되어있는 JDK의 버전이 다르기 때문이고 이 문제를 해결하려면 이클립스에서 요구하는 JDK와 현재 PC에 설치되어있는 JDK의 버전을 맞춰주시면 됩니다. version 1.7.0_80 of the jvm is not suitable could not create the java virtual machine 이클립스 실행시 위와 같은 오류도 아래 해결방안을 통해 해결이 가능합니다. 해결방안 1. 이클립스를 구 버전으로 재설치한다. 2. JDK를 이클..
업무를 하다 보면 xlsx를 xls로 바꾸어야 하는 등 확장자 변경을 해야 할 때가 종종 있습니다. 간단하게 파일 이름 바꾸기를 통해 확장자명을 변경해주면 되지만 윈도우10의 파일의 기본 확장자 설정이 파일 확장자 숨기기로 되어 있어 확장자명이 표시되지 않는 경우가 종종 있어 난감한 상황에 빠질 수 있는데요. 이번 포스팅에서는 윈도우10에서 파일 확장자 변경 방법에 대해 알아보도록 하겠습니다. 윈도우10 파일 확장자 변경 방법 1. 위의 그림과 같이 확장자명이 보이지 않다면 보기 -> 파일 확장자명을 체크박스를 체크합니다. 2. 바꾸고싶은 파일의 확장자명을 바꾸고싶은 확장자로 변경합니다. 저는 zip파일로 한번 바꾸어보겠습니다. 3. 파일 확장자를 변경하면 위와 같은 알림창이 나올텐데 여기서 예를 누릅니..
이전 글에서도 설명했듯 방화벽은 보안규칙에 기반하여 네트워크 트래픽을 제어하여 허락받지 않은 외부의 침입을 막고 내부에서 유출되는 정보를 관리하기 위여 보안을 높입니다. 하지만 외부와 트래픽을 주고받아야 할 프로그램이 있다면 방화벽이 이 트래픽을 차단하여 특정 프로그램의 사용이 힘들어지는 상황이 벌어질 수 있습니다. 이러한 경우를 대비하여 Microsoft에서는 방화벽에 특정 프로그램만 예외사항에 추가하여 차단을 하지 않는 방법을 제공하고 있습니다. 이번 포스팅에서는 Windows 10에서 방화벽 예외 사항을 추가하는 방법에 대해 포스팅하도록 하겠습니다. 윈도우10 방화벽 예외 사항 추가 하기 1. 작업표시줄 검색창에서 방화벽 상태 확인이라고 검색한 뒤 Windows Defender 방화벽을 실행시킵니다..
방화벽이란 미리 정의된 보안규칙에 기반하여 네트워크 트래픽을 제어하여 허락받지 않은 외부의 침입을 막고 내부에서 유출되는 정보를 관리하기 위여 보안을 높이는 수단입니다. 하지만 이러한 방화벽이 원격제어와 같은 특정 네트워크에서 PC에 접속을 해야하는 상황이 벌어지면 차단하지 말아야 할 트래픽을 차단하여 문제가 될 수 있는데 필요한 경우에는 방화벽을 해제해야하는 상황이 오기도 합니다. 이번 포스팅에서는 Windows 10에서 방화벽을 설정하고 해제하는 방법에 대해 포스팅하도록 하겠습니다. 윈도우 10 방화벽 해제하기 1. 작업표시줄 검색창에서 방화벽 상태 확인이라고 검색한 뒤 Windows Defender 방화벽을 실행시킵니다. 2. Windows Defender 방화벽의 좌측탭에 Windows Defen..
새 노트북에 윈도우를 설치하고 사용하는데 어느 순간부터 계속 윈도우의 창들이 깜빡깜빡 거리는 현상이 발생하였습니다. 약 3초에 한 번씩 깜빡거렸는데 한번 깜빡일 때마다 커서 포커스가 튀어서 도저히 컴퓨터를 쓰기가 힘들었기에 왜 이러한 문제가 발생하였는지 알아보고 문제를 해결하였습니다. 혹시나 저와 같은 현상이 발생하는 분들께 조그마한 도움이 되었으면 좋겠다는 생각에 문제 해결 과정을 포스팅으로 남겨볼까 합니다. 그래픽 드라이버 업데이트 화면이 깜빡깜빡 거리는 현상들은 대부분 그래픽카드와 윈도우 운영체제 간의 호환이 잘 되지 않아 나타나는 현상입니다. 우선 장치 관리자 -> 드라이버 업데이트를 통해 그래픽 카드를 최신 버전으로 업데이트합니다. 윈도우 업데이트 그래픽 카드를 업데이트했음에도 문제가 해결되지 ..