[Spring] HttpServletRequest는 request 스코프에서 관리되는 객체일까? 나는 이전에 ArgumentResolver를 만들어 사용자의 IP를 자동으로 받아와서 객체에 저장시켜 그 객체를 컨트롤러에서 사용하도록 만들었었다.그 이후 request 스코프가 궁금하여 공부하던 중, 객체는 요청이 처리되는 동안에만 생명 주기가 유지되며, 요청이 끝나면 파기된다는 점에서 "HttpServletRequest와 비슷한데, 그럼 내가 만들었던 ArgumentResolver에 있던 HttpServletRequest는 request 스코프였을까? 그렇다기엔 request 스코프는 request(요청)이 시작되면 생성되는데 ArgumentResolver에서는 사용할 수 있나?" 라는 의문이 들다가 결국 찾아보았다 !! HttpServletRequest는 request 스코프에서 관리되는 객체일까.. 2024. 12. 7. 백준 - 10810번 공 넣기 (Java 풀이) https://www.acmicpc.net/submit/10810 문제 첫 번째 풀이 (120 ms)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; .. 2024. 12. 2. [Java] Client(사용자) IP 가져오기 문제 상황일반적인 웹 개발을 할 때에 서버에 접속한 클라이언트의 IP를 가져오는 것은 필수다. 로그인 이력 등의 로그성 데이터에 있어서 클라이언트 IP는 가장 중요한 정보이기 때문이다.스프링을 사용하면 HttpServletRequest 객체의 getRemoteAddr() 메서드를 통해 손쉽게 IP를 조회할 수 있는데,사실 이 방법은 프록시나 로드 밸런서 또는 웹서버를 사용하여 들어오는 사용자의 클라이언트 IP는 조회할 수 없었을 뿐더러, 조회되는 IP도 사용자의 실제 IP 주소가 아니라는 점을 알게되었다. 해결 방안그래서 이를 해결하기 위해 HTTP Header를 확인하여 처리하는 방식을 사용했는데 이에 대해 자세히 설명해보겠다 ! @Overridepublic Object afterBodyRead.. 2024. 11. 25. [AWS] client_loop: send disconnect: Broken pipe 접속 끊어짐 + 해결 방법 문제EC2를 ssh로 접속을 하여 애플리케이션을 실행시키고 있었다. 그러나 자꾸 서버가 client_loop: send disconnect: Broken pipe와 같은 오류를 내며 접속이 안 되는 문제가 발생하였다.이는 ssh 세션이 일정 시간 동안 비활성 상태일 때 서버 또는 클라이언트에서 연결을 강제로 종료할 때 발생하는 오류다. 해결 방안해결 방법은 3가지 정도가 있다.서버 설정 수정클라이언트 설정 수정nohup 명령어 사용나는 첫번째로 nohup 명령어를 사용하여 ssh 세션 접속이 끊어져도 백그라운드에서 애플리케이션이 계속 실행될 수 있도록 해결했었는데, 왜인지 잘 되다가도 cpu 사용률이 치솟아 100%에 달하며 끊어지곤 했다...이것을 해결하기 위해 swap 메모리를 통해 하드 디스크의 .. 2024. 11. 20. [AWS] nohup으로 배포 시 로그 확인하기 + 리눅스 명령어 문제 상황java -jar [애플리케이션 파일 이름.jar]// 예시java -jar lotto-0.0.1-SNAPSHOT.jar 원격 서버에 이 명령어로 애플리케이션을 실행시키면 터미널에서 로그를 확인할 수 있지만, 일정 시간 동안 입력이 없으면 자동으로 ssh 접속이 끊기기 때문에 nohup java -jar [빌드된 jar 파일] &// 예시nohup java -jar lotto-0.0.1-SNAPSHOT.jar & 나는 이렇게 nohup을 붙여서 파일을 실행시켰었다. 그렇지만 nohup으로 실행시키면 터미널에서 로그를 확인할 수 없었다...! 그렇지만 내가 잘못 알고 있었던 것 !! 다 방법이 있습니다 !!! nohup 간단한 설명부터 짚고 넘어가자 ❗️ jar 파일을 백그라운드로 실행하는 .. 2024. 11. 18. [AWS] EC2 멈춤, 서버 연결 먹통, CPU 사용률 과부하 해결 문제나는 EC2를 프리티어(t2.micro)로 사용하고 있고, 작고 소중한 1GB의 Ram으로 프로그램을 돌리고 있다.AWS EC2 원격 서버에 DB만 올려놓고 쓸 때는 한 번도 먹통인 적이 없었는데, 프로젝트를 배포하고 나서는 프로그램이 돌아가는 도중 EC2가 멈추거나 ssh 원격 접속이 되지 않는 문제를 겪었었는데, 나는 이런 일이 꽤 자주 일어났었다.처음에는 렉인가? 했는데 찾아보니 아무래도 작은 램 위에 직접 Spring을 띄우다 보니 작은 용량의 프로그램이더라도 CPU를 꽤 많이 잡아먹었던 모양이다.실제로 CPU 사용률을 보면 100%를 잡아 먹고 있었다..! ㅜㅜ 해결 방법들1. 인스턴스 재시작하기그러나 이건 매우 임의적인 방법이다. 나도 처음엔 해결이 된 줄 알고 계속 썼는데 근본적으로 .. 2024. 11. 13. 이전 1 2 3 4 5 ··· 19 다음