목록💡 백엔드 (147)
코딩마을방범대
언어 설정 확인 $ locale LANG=ko_KR.UTF-8 LANGUAGE=ko_KR:ko LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC=ko_KR.UTF-8 LC_TIME=ko_KR.UTF-8 LC_COLLATE="ko_KR.UTF-8" LC_MONETARY=ko_KR.UTF-8 LC_MESSAGES="ko_KR.UTF-8" LC_PAPER=ko_KR.UTF-8 LC_NAME=ko_KR.UTF-8 LC_ADDRESS=ko_KR.UTF-8 LC_TELEPHONE=ko_KR.UTF-8 LC_MEASUREMENT=ko_KR.UTF-8 LC_IDENTIFICATION=ko_KR.UTF-8 LC_ALL= 설치된 언어 확인 $ locale -a 한글 팩이 없는 경우 한글팩 설치 $ sudo ap..
1. 톰캣 서버에 배포를 위해 war 파일을 생성하였으나 수동으로 생성하여 실행하니 Error: Invalid or corrupt jarfile 파일명.war 라는 오류가 발생함 2. war 프로젝트로 생성 시 자동으로 생성되는 SNAPSHOT을 수동 Exploded에 추가해서 생성해보니 아래와 같은 오류 발생 > java -jar test.war war에 기본 Manifest 속성이 없습니다. 이 때 부터 뭔가 가능할 것 같아서 찾아보았더니 실행가능한 war 파일이 빌드 시 자동 생성된다는 것이였다! ( 물론 war 프로젝트거나 build.gradle을 설정했을 경우에만 ) 프로젝트 생성 시 war 프로젝트로 생성하지 않았어도 아래와 같이 build.gradle을 설정하고 Add Frameworks S..
nohup ( no hang up | 끊지마 ) 프로그램을 백그라운드에서 세션과의 연결이 끊어져도 돌려야할 경우 사용 사용 방법 명령어 앞에 nohup 을 붙이기 $ nohup java -jar test.war & nohup으로 실행시킬 파일은 반드시 755 퍼미션을 가지고 있어야 함 관리자 권한에 대한 포스트 실행 시 "nohup: appending output to 'nohup.out'" 메시지와 함께 해당 프로그램의 로그가 nohup을 실행시킨 경로에 nohup.out으로 출력됨 로그를 별도 파일명으로 생성시키고 싶은 경우 > 또는 >> 통해 출력시키고 싶은 파일명을 입력하면 됨 0: 표준 입력 1: 표준 출력 2: 표준 에러 숫자 후에 띄어쓰기가 있을 경우 제대로 실행되지 않음 ex) ... 2 ..
평소 톰캣 등 파일 설치 후 권한 설정을 진행할 때가 있는데,무작정 설정 방법 그대로 따라하기만 했지 별로 찾아볼 흥미는 못 느꼈었다. 내장 톰캣 관련해서 공부하다가 말 나온 김에 한 번 찾아보았다!! 755, 777 등의 권한에 대한 값은 아래와 같이 추출한다. 1. 읽기 (Reading) - 42. 쓰기 (Writing) - 2 3. 실행 (Executing) - 1 즉, 7은 읽기(4) + 쓰기(2) + 실행(1) 을 합친 7이고,5는 읽기(4) + 실행(1) 을 합친 5인 것이다. 그리고 정렬에 대한 의미는 첫 번째 자리는 소유자 권한두 번째 자리는 그룹 사용자 권한세 번째 자리는 기타 사용자 권한 즉, 755의 경우 7은 소유자 권한,첫 번째 5는 그룹 사용자 권한,두 번째 5는 기타..
1. javac 위치 확인 $ which javac /usr/bin/javac 2. java 설치 경로 확인 $ readlink -f /usr/bin/javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 3. /etc/profile 수정 JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 CATALINA_HOME=/var/lib/tomcat-8.5 CLASSPATH=.:$JAVA_HOME/lib/tools.jar :$JAVA_HOME/lib/mysql-connector-j-8.0.33.jar :$JAVA_HOME/jre/lib/ext :$CATALINA_HOME/lib/jsp-api.jar :$CATALINA_HOME/lib/servlet-a..
run 으로 프로젝트 실행 시 정상적으로 실행되어 API 등 호출이 가능했지만 debug로 돌리자 아래와 같은 에러가 발생했다 Method breakpoints may dramatically slow down debugging 위처럼 그냥 간단한 경고문처럼 뜨길래 실행에는 지장이 없는 줄 알았으나 검색해보니 저게 문제였다! ctrl + shift + F8 을 누르면 아래와 같은 창이 뜨는데 여기서 'Java Method Breakpoints' 를 체크해제 하면 된다 테스트 할 때 북마크가 아닌 왼쪽 공란을 눌러 빨간색으로 표시했었는데 이게 디버그 때 breakpoint로 잡히는지 처음 알았다 앞으로 F11로 북마크 이용하기!
웹 소켓을 이용한 메시지 전송(클라이언트) WebSocket 웹버전의 TCP 또는 Socket 서버와 클라이언트 간에 Socket Connection을 유지해서 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술 Real-time web application 구현을 위해 널리 사용되어지고 있음 (SNS 애플리케이션, LoL 같은 멀티플레이어 게임, 구글 Doc, 증권거래, 화상채팅 등) 인터넷의 채팅 기능들은 websocket을 통해 이루어짐 WebSocket Sevrer를 운용할 때의 유의사항 WebSocket은 하나의 URL을 통해 Connection이 맺어지고, 후에는 해당 Connection으로만 통신 서버와의 정기적인 HTTP 연결을 설정 한 다음 Upgrade헤더를 전송하여 양방향 웹..
컨트롤러 HTTP API들의 메소드 consumes 클라이언트가 요청을 할 때 Content-Type 헤더 값이 일치해야 요청을 처리함 ex) consumes = MediaType.APPLICATION_JSON_VALUE: content-type값이 "application/json"일 때만 요청을 처리 @PostMapping(value = "", consumes = MediaType.APPLICATION_JSON_VALUE) 매치 되는 않는 경우엔 415 : Unsupported Media Type(지원되지 않는 미디어타입 형식이다) 응답 produces 클라이언트의 요청에 대한 응답 시 return할 데이터 타입을 명시 클라이언트가 요청을 할 때 accept 헤더의 값이 일치할 때만 요청을 처리 ex)..