목록전체 글 (178)
코딩마을방범대
Intellij 에서 프로그램을 구동 시킬 때 타임존 세팅이 필요한 경우가 있다. 이럴 때 Intellij 에서 세팅하는 방법을 알아보자! 우측 상단에 보면 run,debug 여러 버튼이 있는데 이 중에서 프로젝트명 옆에 화살표 버튼을 눌러준다. 그 다음 Edit Configurations... 을 클릭 해준다. 그 다음 프로젝트에서 Modify options를 클릭한 다음 'Add VM options' 를 클릭해준다. VM option 칸에 '-Duser.timezone=UTC' 입력 후 OK를 눌러준다. 이후 디버깅 모드로 확인해보니 정상적으로 반영되었다.
라이브러리 jar 파일을 프로젝트 gradle에 설정해놓는 방법을 알아볼거다! 아래처럼 Project Structure에서 직접 jar 파일을 등록해주는 방법도 있지만, 난독화를 해놓은 경우 제대로 인식이 되지 않는 오류가 발생했다!! 그래서 아래와 같이 프로젝트 폴더 내에 libs라는 폴더를 생성하여 여기 안에 jar 파일을 넣어주면 된다. 그 다음 build.gradle에서 아래와 같이 설정해주면 끝!! dependencies { ... implementation files('libs/파일명.jar') }
가끔 에러메시지가 발생했을 때 복사가 안되는 경우 하나하나 따라 타이핑하기엔 너무 번거롭다. 그래서 핸드폰처럼 텍스트를 추출할 수 있는 기능이 있나 검색해봤는데 너무 편하다!! 일단 아래 사이트를 클릭하여 PowerToys 프로그램을 다운로드 받는다. Microsoft PowerToys - Microsoft Store 공식 앱 Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows 10 and 11 experience for greater productivity. apps.microsoft.com 설치하여 실행 후 메뉴를 스크롤해서 아래로 내려가보면 텍스트 추출기라는게 있다! 어차피 여기서 ..
war 파일을 디컴파일 할 경우 모든 소스가 오픈되어 코드 탈취의 위험이 있다. 중요한 파일의 경우 디컴파일을 해도 알아볼 수 없게 난독화 하는 것이 권고된다. 디컴파일 프로그램 중에 ProGuard라는 프로그램이 있는데, 진짜 수많은 오류들을 겪었다.. 참고로 나는 1번 방법인 gui로는 실패해서 gradle로 성공했다. 사용하기 1. gui 로 사용하기 1. ProGuard 다운받기 아래 사이트로 접속해서 'Download ProGuard' 를 클릭한다. Java Obfuscator and Android App Optimizer | ProGuard ProGuard is the most popular optimizer and obfuscator for Java bytecode and Android ap..
클라이언트에서 웹소켓 연결을 해제하기 어려운 경우 부득이하게 서버에서 종료를 해줘야하는 경우가 있다. 서버에서 해제하는 방법은 추천되지 않는다고 하나, 어쩔 수 없는 경우엔 사용할 수 밖에 없다.. HandshakeInterceptor나 WebSocketMessageBrokerConfigurer 등을 통해 웹소켓 수발신 세팅이 완료되어 있다는 전제 하에 서버에서 웹소켓 연결을 끊는 로직을 구성해볼 것이다. 웹 소켓을 이용한 메시지 전송(백엔드 - SpringBoot) 웹 소켓을 이용한 메시지 전송(클라이언트) WebSocket 웹버전의 TCP 또는 Socket 서버와 클라이언트 간에 Socket Connection을 유지해서 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술 Real-t swe..
예전에 커밋했던 소스를 수정해야할 일이 생겼다. 하지만 그 커밋 이후 여러 커밋을 했던 상태여서 푸쉬 기록을 날리기엔 어려운 상황이였다. 아래 방법이 정답은 아니겠지만 문제 없이 내가 원하는대로 수정을 완료했으니 참고만! 이전 커밋 수정하기 1. git 로그 확인 후 커밋 ID 복사 git log intellij 를 사용 중이라면, 굳이 터미널에 명령어를 입력하지 않고 git 탭에서 수정하려는 커밋보다 전 버전의 커밋에서 오른쪽 마우스 클릭 후 'Copy Revision Number' 을 클릭해주면 커밋 ID가 자동으로 복사된다. 2. rebase를 통해 작업 환경 세팅 git rebase -i [커밋ID] 위에서 복사했던 커밋ID를 이용해 위 명령어 입력 시 아래와 같이 커밋 목록이 주루룩 나온다. 수..
1. ps grep 뒤에는 확인하고 싶은 검색어를 입력하면 된다. 만약 war 파일이면 nginx 대신에 war를 넣으면 된다. $ ps aux | grep nginx root 실행한 사용자 381484 PID(Process ID) 0.0 CPU 사용률 0.0 메모리 사용률 55924 가용 메모리 크기 2656 프로세스 쓰레드 수 pts/1 프로세스가 실행 중인 터미널 Ss 프로세스 상태 (S는 슬리핑 상태를 뜻함. 대기중이거나 작업을 수행하지 않는 경우. S+는 프로세스가 실행 중임ㅇ르 나타냄.) 0:00 프로세스가 실행된 시간 nginx: worker process 프로세스의 설명 및 실행 명령 2. free -m 각 프로그램의 사용량이 아닌 메모리 사용량을 MB 단위로 확인할 수 있다. $ free..
Nginx의 현재 연결 수, 처리된 요청 수 정보를 확인하는 방법은 상태 모듈을 사용하면 된다. 아래와 같이 설정 후 nginx 재부팅 시 Nginx의 상태를 확인할 수 있으며, 이를 통해 과부하 등을 체크할 수 있다. 1. Nginx 설정 파일 수정 $ sudo vi /etc/nginx/sites-available/default server { location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } } 옵션명 설명 stub_status on; 상태 모듈을 활성화 하는 명령어 access_log off; 로그를 출력하지 않음 allow 127.0.0.1; 로컬 호스트에서만 접근할 수 있음 deny all; ..