Java
-
[INFRA] amazon EC2 초기 설정Programming/infra 2021. 5. 24. 22:39
개요 Java 기반의 웹 애플리케이션을 작동시키기 위한 서버설정을 정리한다. 이글은 아마존 리눅스 2를 기반으로 작성되었다. 1. Java 설치하기 아마존 리눅스 2는 기본적으로 jdk가 설치되어 있지 않다. java 8 설치 $ sudo yum install -y java-1.8.0-openjdk-devel.x86_64 java 11 설치 $ sudo amazon-linux-extras install java-openjdk11 java version 변경 $ sudo /usr/sbin/alternatives --config java java version 확인 $ java -version openjdk version "11.0.11" 2021-04-20 LTS OpenJDK Runtime Environ..
-
[SpringMVC] 인터셉터(interceptor) 적용 - sessionProgramming/Spring MVC 2021. 4. 22. 19:36
개요 프로젝트를 진행하던 중 개발 중인 가입된 유저만 접근이 가능하도록 제한하기 위한 접근 권한이 필요하였다. Spring에서는 Spring Security와 같이 애플리케이션의 보안을 담당하는 하위 프레임워크가 존재한다. 하지만 워낙 양과 자료가 방대하여 배울 내용이 많았기 때문에 적용하는데 어려움이 많았다. 그렇기 때문에 다른 차선책을 찾아야만 했다. 관련 키워드를 검색하던 중 Spring interceptor에 대하여 알게되었다. interceptor는 말 그대로 무언가를 가로채는 역할을 한다. Interceptor 흐름도 interceptor는 위와 같은 흐름으로 Controller(Handler) 로 가기전에 요청을 가로채는 preHandle, controller 처리 후 postHandle, ..
-
[Baekjoon Online Judge] 17219번: 비밀번호 찾기문제 풀이/Baekjoon Online Judge 2021. 4. 21. 20:20
17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 요구사항 - 2019 HEPC - MAVEN League의 "비밀번호 만들기"와 같은 방식으로 비밀번호를 만든 경민이는 한 가지 문제점을 발견하였다. 비밀번호가 랜덤으로 만들어져서 기억을 못 한다는 것이었다! 그래서 경민이는 메모장에 사이트의 주소와 비밀번호를 저장해두기로 했다. 하지만 컴맹인 경민이는 메모장에서 찾기 기능을 활용하지 못하고 직접 눈으로 사이트의 주소와 비밀번호를 찾았다. 메모장에 저장된 사이트의 수가 늘어나면서 경민..
-
[Baekjoon Online Judge] 10974번: 모든 순열문제 풀이/Baekjoon Online Judge 2021. 4. 21. 19:34
10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 요구사항 - N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 입력 - 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력 - 첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. DFS를 활용하여 풀이하였다. 순열을 사전순으로 출력해야 하기 때문에 입력이 3인 경우 첫 자리는 1, 2, 3이 올 수 있다. DFS를 활용하여 depth를 높여가며 output을 하나씩 방문해준다. 만약 depth의 깊이가 3과 같아지면 3개의 항목을 채웠다고 가정하고 즉시 출력해준다. 그 다음 방문기록을 f..
-
[Baekjoon Online Judge] 10546번: 배부른 마라토너문제 풀이/Baekjoon Online Judge 2021. 4. 4. 14:07
10546번: 배부른 마라토너 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명 www.acmicpc.net 요구사항 - 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명만 빼고! - 모두가 참가하고 싶어서 안달인데 이런 백준 마라톤 대회에 참가해 놓고 완주하지 못한 배부른 참가자 한 명은 누굴까? 입력 - 첫째 줄에는 참가자 수 N이 주어진다. (1 ≤ N ≤ 105) - N개의 줄에는 참가자의 이름이 주어진다. - ..
-
[Baekjoon Online Judge] 5397번: 키로거문제 풀이/Baekjoon Online Judge 2021. 4. 4. 14:02
5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이 www.acmicpc.net 요구사항 - 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. - 키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. - 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오. 입력..
-
[Baekjoon Online Judge] 10845번: 큐문제 풀이/Baekjoon Online Judge 2021. 4. 4. 13:50
10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 요구사항 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출..
-
[Baekjoon Online Judge] 10828번: 스택문제 풀이/Baekjoon Online Judge 2021. 3. 29. 16:41
10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 요구사항 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. - push X: 정수 X를 스택에 넣는 연산이다. - pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 력한다. - size: 스택에 들어있는 정수의 개수를 출력한다. - empty: 스택이 비어있으면 1, 아니면 0을 출력한다. - top: 스택의..