전체 글

전체 글

    [Spring Security] Authentication 인증 처리 과정 알아보기

    작성 이유 지금까지 Spring Security 프레임워크를 사용하지 않고 로그인, 인증, 인가를 구현했었다. 상당히 어려웠었는데, Spring Security 를 학습하면서 Spring Security 가 얼마나 잘 짜여진 보안 / 인증관련 프레임워크인지 알게됐고, 복기하기 위해 작성하게 되었다. 기록 시작 ! Authentication ? 사전적 의미로 Authentication 은 인증이라는 의미를 가지고있다. 애플리케이션의 특정 자원에 접근하기 위해선 권한이 있어야하고, 사용자는 권한을 얻기 위해 인증 정보를 확인받아야한다. 최종적으로 인증이 완료되면 Authentication 객체에는 유저 정보 + 권한 정보가 담겨져있는 상태가 되는데, 이건 아래에서 좀 더 적어보도록 하고.. 아래 이미지는 F..

    2022.12.13 (화요일) ~ 2022.12.18 (일요일) 주간 및 일일 학습계획

    주간목표 2022.12.13 ~ 2022.12.18 컨디션 관리 주 3회 이상 운동 면접 스터디 진행 면접 리스트 한 Notion 페이지로 옮겨놓기 (옮기는 중) Core Spring Security 학습 (실습부터 학습 중) 일일목표 2022.12.13 (화요일) 네트워크, WEB 관련 리스트 Notion 으로 옮기기 Spring Security 기본 API 및 Filter 이해 Section 까지 시청 후 복습 면접 스터디 진행 일일목표 2022.12.14 (수요일) 면접 스터디 시 질의응답 했던 부분들 보충 운영체제 관련 리스트 Notion 에 추가 Spring Security 실습부터 시작 면접 스터디 진행 일일목표 2022.12.15 (목요일) 면접 스터디 시 질의응답 했던 부분들 보충 Spri..

    자바(Java) 알고리즘 문제풀이 귤 고르기 [프로그래머스 / 그리디]

    문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로 총 3가지가 되며 이때가 서로 다른 종류가 최소일 때입니다. 경화가 한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine이 매개변수로 주어집니다. 경화가 귤 k개를 고를 때 크기가..

    2022.11.28 (월요일) ~ 2022.12.03 (토요일) 주간 및 일일 학습계획

    주간목표 2022.11.29 ~ 2022.12.04 컨디션 관리 주 3회 이상 운동 알고리즘 모의고사 진행 (목요일) 기본적인 기술면접 및 프로젝트 질문 대비 리스트 작성 및 학습 (자바, 기본 CS, WEB, 네트워크 등 / 전공지식 노트 복습) 하루에 프로그래머스 한 문제 풀이 일일목표 2022.11.28 (월요일) .. 휴식 .. 일일목표 2022.11.29 (화요일) 서류 전형 확인 면접 리스트 작성 (자바, WEB, DB) 이력서 보강 일일목표 2022.11.30 (수요일) 프로그래머스 명예의 전당 문제풀이 (우선순위 큐 문제였으나 다르게 풀이해서 다시 풀이해 볼 예정) 면집 질문 리스트 작성하면서 개념 다시 복기 (자바) 이력서 보강 일일목표 2022.12.01 (목요일) 프로그래머스 귤 고르..

    있었는데요 없었습니다

    문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

    없어진 기록 찾기

    문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

    자바(Java) 알고리즘 문제풀이 여행경로 [프로그래머스 / DFS]

    문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 입출력 예시 tickets return [["ICN..

    자바(Java) 알고리즘 문제풀이 단어변환 [프로그래머스 / DFS]

    문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로..

    자바(Java) 알고리즘 문제풀이 네트워크 [프로그래머스 / DFS]

    문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[..

    자바(Java) 알고리즘 문제풀이 타겟넘버 [프로그래머스 / DFS]

    문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 100..