스프링 시큐리티 설정 자체는 간단(?)하지만, 스프링 시큐리티가 지원하지 않는 인증 방식을 사용한다거나 HttpSession이 아닌 다른 장소에 인증 객체를 보관하기 위해서는 스프링 시큐리티의 동작 방식을 이해하고 그 중 필요한 부분의 기능을 알맞게 변경할 수 있어야 한다. 1. SecurityContext, SecurityContextHolder, Authentication ▶ 흐름 org.springframework.security.core.Authentication은 스프링 시큐리티에서 사용자(웹 브라우저, REST로 접근한 외부 시스템)의 보안 관련 정보를 보관하는 역할을 한다. ✔️ 보안 관련 정보란? 1. 사용자의 인증 여부 2. 사용자가 가진 권한(Authority) 3. 이름 및 접근 주체..

HTTP는 무상태(stateless- 상태를 유지하지 않음) 프로토콜이다. 즉, 재요청 시 서버는 클라이언트를 기억하지 못한다. 그래서 상태를 유지하기 위한 기술로 쿠키와 세션을 이용한다. 즉, 쿠키나 세션방식을 이용해서 클라이언트가 옛날에 접속했던 클라이언트인지 기억해내는 것이다. ※ Cookie cf> document tomcat.apache.org/tomcat-9.0-doc/servletapi/index.html 문자 데이터를 클라이언트에 저장하고, 서버에서 사용할 목적으로 활용 실행 흐름 클라이언트(브라우저) 서버 1 쿠키 생성 (이름:값) 해서 Response Header에 쿠키를 넘겨줌 2 쿠키 저장 3 쿠키사용 (쿠키 값을 이용) - 서버가 자기가 사용할 목적으로 클라이언트에 쿠키를 저장한다..

※ ORM (Object Relational Mapping ) - 객체 관계 맵핑 애플리케이션에서 자바 객체를 ORM에 넘겨주면 ORM은 SQL로 생성해서 DB에 전달해서 결과를 가져오고, 결과를 다시 자바 객체로 변환하여 전달해준다. 애플리케이션 개발자는 SQL을 볼 수 없다. ORM 내부에 들어가있기 때문에 설정만 잘 하면 SQL이 자동적으로 생성된다. ORM에서 생성되는 SQL문이 DB에서 실행되어야 하므로 ORM과 DB는 밀접한 관계가 있다. 그럼 애초에 DB를 생성할 때 ORM에 최적화된 구조로 생성해야 한다. ORM은 개발자가 SQL에 전혀 관여할 수 없다. 베일에 쌓여져 있다. 이 문제를 해결하기 위해서 MyBatis는 애플리케이션과 SQL문을 직접 생성한다. 직접 SQL을 작성할 수 있기 ..

※ Controller -----> Service -----> Dao ※ Service 패키지 생성 ▶ @Service 어노테이션 설정 시 스프링의 관리 객체에 해당된다. cf> @Controller, @RestController, @Service, @Repository, @Component가 붙어있으면 관리 객체에 해당된다. ※ DAO 패키지 생성 ▶@Repository 어노테이션 설정 시 스프링의 관리 객체에 해당된다. ※ Spring이 관리하고 있는 객체를 가져오는 방법 (n가지) @Autowired private Exam04Service exam04Service; 1. @Autowired. => DI (Dependency Injection) 스프링이 관리 객체를 자동 주입시킨다. WebApplic..

[Spring 프로젝트를 생성할 때 다양한 방법] ✔️ Spring Starter Project - Spring Boot 기반 ✔️ Spring Legacy Project - 설정을 하나하나 해줘야 함. 전자정부프레임워크는 이걸 사용하고 있음. - sts 기본 설정 적용됨 ✔️ Dynamic Web Project - 사용자가 직접 설정 cf> Spring MVC Project requires a download of 16608 bytes. -> 무슨의미? jar 파일 다운로드 받는 크기 ※ Maven (= 빌드툴) ▶ 소스 -> 컴파일 -> 빌드 (해당 애플리케이션에 실행 가능한 구조로 만드는 행위 ) ▶ 빌드 후 최종적으로 .war 산출물이 생긴다. ▶ 메이븐 종류 : Gradle(안드로이드 기본), ..

※ Dynamic web project를 생성할 때 알아야 할 것들 ▶ Dynamic web module version 4.0 -> servlet 버전을 의미한다. 실제 운영될 서버 WAS의 버전을 알아내서 프로젝트를 생성 시 버전을 선택해야 한다. - servlet 버전이 결정되면 JSP 버전이 자동으로 결정된다. (Java Servlet 4.0 && JavaServer Pages 2.3) tomcat.apache.org/whichversion.html Apache Tomcat® - Which Version Do I Want? Apache Tomcat® is an open source software implementation of a subset of the Jakarta EE (formally Ja..

[CSS Flexbox] display: flex; 위아래 폭은 부모 크기만큼 자동적으로 확장된다. (따로 높이 주지 않아도 된다.) 수평(row) 방향으로 인라인-블록 요소들이 들어간다. (인라인-블록) [3가지 기억하기] ※ flex-direction : 디폴트는 row 방향 (수직방향, 수평방향) ※ justify-content : 좌우, 중앙 배치 설정 ※ align-items : 수직 정렬 (탑, 미들, 바텀) [flex-grow] : 비중, 상대크기 1 2 3 1/10 , 1/10, 8/10 차지한다는 의미이다. [실습] 1 2 3 Cities London Paris Seoul London London is the capital city of England. It is the most popu..
※ JQuery api.jquery.com/category/ajax/ Ajax | jQuery API Documentation Register a handler to be called when Ajax requests complete. This is an AjaxEvent. Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. Attach a function to be executed before an Ajax request is sent. This is an api.jquery.com 1. jQuery.ajax - Perform an asynchronous HTTP (Ajax) re..

※ Call-Back Function (콜백함수) : 직접적으로 호출하는 것이 아니라, 함수 내부에서 파라미터로 콜백 함수의 번지를 전달받아서 실행 흐름에 따라 자동적으로 호출하는 함수 ▶ Synchronous (동기 방식) : 위에서 아래 방향으로 실행하는 메인 흐름에서 어떠한 시점에 함수를 호출하면 메인 흐름은 실행되지 않고 응답(return)을 기다린다. ▶ Asynchronous (비동기 방식) : 위에서 아래 방향으로 실행하는 메인 흐름에서 어떠한 시점에 함수를 호출하더라도 메인 흐름은 계속 실행되고, 이때 응답이 오면 그 때 처리를 해준다. 그 응답이 왔을 때 호출해주는 함수를 call-back 함수라고 부른다. ※ JavaScript Promises (ES6에서 새로 생김) - 비동기 작업이..

★ 자바의 필드 => 자바스크립트에서는 property 라고 부른다. 즉, 자바스크립트 객체의 구성 요소는 Property와 Method 이다. ★ JSON(JavaScript Object Notation) ★ function와 화살표 함수의 차이는 객체 내부에서 사용될 때 차이난다. function은 자신를 호출한 객체가 this 가 되는 반면에, 화살표 함수는 상위(화살표함수를 포함하고 있는 객체) this를 가리킨다. ※ 자바스크립트 this 주의할 점 function(){this} {this} { console.log(index, " : " , item); }); fruits.forEach(item => console.log(item)); 4. Array.map() array.map(functio..
- Total
- Today
- Yesterday
- method와 function
- yarn start
- nunjucks
- 정적멤버
- os
- ES6
- 사용자정의예외클래스
- sequelize.fn
- 인스턴스멤버
- 객체지향개념
- es6모듈
- java
- 익명자식객체
- @functools.wraps
- @functools.singledispatch
- 생성자필드메소드
- 자바스레드
- dynamic-project
- jdk
- 자바빌드도구
- 백준
- 자바스크립트Promise
- jre
- nodejs
- 백준2206 파이썬 풀이
- Git
- 클래스와객체
- 메이븐 저장소
- 자바스크립트Call-back
- @functools.lru_cache
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |