Spring의 Filter 이해하기 및 구현하기
·
Spring
Filter Filter란 Web 애플리케이션에서 관리되는 영엽으로 Client로 부터 오는 요청과 응답에 대해 최초/최종 단계의 위치이며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가 할 수 있다.  주로 범용적으로 처리해야 하는 작업들, 예를 들어 로깅 및 보안 처리, 인증, 인가 등에 활용 한다. Filter를 사용하면 인증/인가와 관련된 로직을 비즈니스 로직과 분리하여 관리 할 수 있다는 장점이 있다. Filter Chain  Filter는 한 개만 존재하는 것이 아니라 이렇게 여러 개가 Chain 형식으로 묶여서 처리될 수 있다. 📍 요청 URL의 인가 처리 및 인증 처리를 진행할 수 있는 Filter 구현 + 요청 URL을 로깅해주는 Filter 구현 Request URL ..
Spring에서 JWT 이해하기 + 쿠키와 세션 개념까지
·
Spring
쿠키와 세션 쿠키와 세션 모두 HTTP에 상태 정보를 유지하기 위해 사용된다. 이를 통해 서버는 클라이언트 별로 인증 및 인가를 할 수 있다.사용 예시 > 사이트 팝업의 "오늘 다시 보지 않기" 정보 저장 쿠키클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일구성요소Name 이름 : 쿠키를 구별하는데 사용되는 키 (중복 될 수 없음)Value 값 : 쿠키의 값Domain : 쿠키가 저장되는 도메인Path : 쿠키가 사용되는 경로Expires : 쿠키의 만료기한 (만료기한이 지나면 삭제 됨) 세션서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용 됨.서버에서 클라이언트 별로 유일무이한 '세션 ID'를 부여한 후 클라이언트 별 필요한 정보를 서버에 저장 함.사용 예시 > 로그인 정보 저장  ..
프로그래머스 - 정수 내림차순으로 배치하기 Java
·
코테 문제 풀이/프로그래머스
문제 설명함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. import java.util.*;class Solution { public long solution(long n) { long answer = 0; String str = Long.toString(n); String[] arr = str.split(""); Arrays.sort(arr, Collections.reverseOrder()); str = String.join("", arr); ..
프로그래머스 - 정수 제곱근 판별 Java
·
코테 문제 풀이/프로그래머스
문제 설명임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. class Solution { public long solution(long n) { long answer = 0; answer = Math.pow((int)Math.sqrt(n), 2) == n ? (long)Math.pow(Math.sqrt(n)+1, 2) : -1; return answer; }} 자바가 제공하는 Math 라이브러리의 함수와 삼항 연산자를 사용함. Math.sqrt( n ) : 숫..
프로그래머스 - 문자열을 정수로 바꾸기 Java
·
코테 문제 풀이/프로그래머스
문제 설명문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. class Solution { public int solution(String s) { int answer = Integer.parseInt(s); return answer; }} Integer.parseInt( ) 사용하여 문자를 정수로 변환  https://school.programmers.co.kr/learn/courses/30/lessons/12925 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr
프로그래머스 - 자연수를 뒤집어 배열로 만들기 Java
·
코테 문제 풀이/프로그래머스
문제 설명자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. class Solution { public int[] solution(long n) { String str = ""+n; int[] answer = new int[str.length()]; int cnt = 0; while(n>0){ answer[cnt] = (int)(n%10); n /=10; cnt++; } return answer; }} ""+n 을 통해 문자열로 변..