본문 바로가기

전체 글

(113)
WebSecurity / HttpSecurity 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !!    HttpSecurityHttpSecurityConfiguration에서 HttpSecurity를 생성하고 초기화함보안에 필요한 각 설정 클래스와 필터들을 생성하고 최종적으로 SecurityFilterChain 빈 생성 HttpSecurity↓보안에 필요한 각각의 Configurer 생성↓build()↓각각의 Filter 생성↓Filter들을 포함하는 SecurityFilterChain 빈 생성  SecurityFilterChain여러 개의 Filter들의 목록을 관리 SecurityFilterChain ≫ 인터페이스DefaultSecurityFilterChain ≫ 기본으로 제공되는 구현체인터페이스에 boolean matches..
SecurityBuilder / SecurityConfigurer 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !!    Security Builder와 SecurityConfigurerSecurity Builder : 빌더 클래스 - 웹 보안을 구성하는 빈 객체와 설정 클래스들을 생성하는 역할WebSecurity / HttpSecurity 대표적Security Configurer : 설정 클래스 - Http 요청과 관련된 보안 처리를 담당하는 필터들을 생성하고 여러 초기화 설정에 관여함Security Builder가 SecurityConfigurer를 이용해서 인증 및 인가 초기화 작업을 진행≫ 실제 초기화 작업 (필터 생성 등)은 SecurityConfigurer에서 이루어짐SecurityBuilder (HttpSecurity / WebSecu..
프로젝트 생성 / 의존성 추가 정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !!   자동 설정에 의한 기본 보안 작동implementation 'org.springframework.boot:spring-boot-starter-security'Spring Security 의존성을 추가하면 별도의 설정이나 코드를 작성하지 않아도,서버가 기동되면 스프링 시큐리티의 초기화 작업 및 보안 설정이 이루어짐모든 요청에 대해 인증 여부를 검증하고 인증이 승인되어야 자원에 접근이 가능인증 방식은 폼 로그인 방식 / httpBasic 로그인 방식 제공웹에서 접근 시, 인증을 시도할 수 있는 로그인 페이지가 자동적으로 생성되어 렌더링됨인증 승인이 이루어질 수 있도록 한 개의 계정이 기본적으로 제공됨기본 계정- SecurityProp..
세그먼트 트리(Segment Tree) 특정 구간의 합을 구할 때 사용하는 자료구조 !- 이진 트리 형태- 특정 구간의 합을 선형탐색(for문 등)을 통해 구하면 ≫ O(n)- 트리의 특성 상 세그먼트 트리는 ≫ O(logN)  세그먼트 트리 구조이진 트리 구조다른 트리와 달리 세그먼트 트리는 인덱스가 1부터 시작루트 노드에는 모든 원소를 더한 값, 각각의 노드에는 반으로 나누어 구간 합을 저장 세그먼트 트리 생성 과정private int build(int[] arr, int node, int start, int end) { if (start == end) { tree[node] = arr[start]; // 리프 노드에 값 할당 return tree[node] } ..
JAVA 자료구조 CollectionIterable 인터페이스 확장add(), addAll()contains(), containsAll(), isEmpty(), equals(), size()clear(), remove(), removeAll() List 인터페이스각 데이터에 대한 위치 존재 (순서가 있음)데이터 중복 허용순서대로 들어오는 데이터에 유리Collection 인터페이스 확장ArrayList, LinkedList, Vector, Stack ...ArrayList- 배열 !- 중간 인덱스 요소 삭제 시 다음 인덱스의 요소들이 한 칸씩 앞으로 이동Vector- ArrayList와 동일한 기능- 동기화 : 멀티쓰레드 환경에서 안전 / 성능 저하 발생 가능LinkedList- 포인터를 통해 링크 체인 형태로 객체 관리-..
스웨거(Swagger) RESTful API를 설계, 문서화, 테스트, 배포하기 위해 사용되는 오픈소스 프레임워크현재는 OpenAPI Specification(OAS)의 일부로 통합됨API를 설계할 때 개발자와 클라이언트 간의 커뮤니케이션을 원활히 함API를 문서 내에서 parameter 조작을 통해 실행할 수 있게 함"API 문서를 자동으로 만들어 주는 라이브러리"자동화된 API 문서 생성 / 테스트 환경 제공어노테이션을 통해 쉽게 적용 가능 스웨거 사용의 장점자동화된 문서화실시간 테스트협업 지원 Springfox vs Springdoc(OpenAPI 3) 두 가지 주요 라이브러리가 있음 !최근 더 권장되는 것은 Springdoc≫ Spring Boot와의 통합이 간단하며 유지보수가 더 활발함 사용 예시 1. 의존성 추가im..
jQuery를 이용한 AJAX jQueryJavaScript 라이브러리 → AJAX를 간편하게 구현할 수 있도록 도와줌 간단한 jQuery 문법$ : 제이쿼리라는 의미 → 제이쿼리 문법을 작성하겠다!$(선택자).동작함수1().동작함수2();  → 선택자로 선택한 요소에 함수 적용$(선택자).동작(function() {...});$(선택자).동작(function() {        $(선택자).동작함수();        $(선택자).동작(function() {...});};jQuery 선택자 - $(선택자)타입 선택자 : 일반 태그 선택$('p') → 태그$('button') → 태그클래스 선택자 : .class$(.클래스명)ID 선택자 : #ID$('#id명')다중 선택자 : A, B$('.클래스명A, .클래스명B')자식 선택자 ..
JSP 기본 문법 템플릿 데이터클라이언트로 출력되는 콘텐츠HTML, JS, 스타일 시트, JSON, XML, 일반 텍스트 등JSP 전용 태그서블릿 생성 시 특정 자바 코드로 바뀌는 태그JSP 내장 객체JSP에서 별도 선언 없이 사용 가능한 필수적 객체 9개  템플릿 데이터클라이언트로 출력되는 콘텐츠서블릿 코드를 생성할 때 출력문으로 바뀜JSP로부터 생성된 자바 서블릿 파일의 소스를 열어보면 템플릿 데이터가 자바 출력문으로 변환된 것을 확인할 수 있음 Welcome, ! Today is . PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(""); ..