본문 바로가기

공부 기록

(319)
[10분 테코톡] 작은곰의 Spring Security https://youtu.be/aEk-7RjBKwQ 스프링 시큐리티 : 자바 어플리케이션의 인증과 인가를 제공하는 데 초점을 맞춘 스프링 프레임 워크 특징 - 서블릿 API 통합 - Spring Web MVC와의 선택적 통합 - 인증과 권한 부여를 모두 포괄적이고 확장 가능한 지원 - 세션 고정, clickjacking, CSRF(사이트 간 요청 위조) 등과 같은 공격으로부터 보호 주요 필터 - SecurityContextPersistenceFilter : SecurityContextRepository를 통해 SecurityContext를 Load/Save 처리 - LogoutFilter : 로그아웃 URL로의 요청을 감시하여 해당 사용자를 로그아웃 시킴 - UsernamePasswordAuthentic..
[10분 테코톡] 루피의 인증과 인가 https://youtu.be/JZgD8aPkHSc 인증(Authentication) : 보호된 리소스에 접근하는 것을 허용하기 이전에 등록된 유저의 신원을 입증(Validating)하는 과정 인가(Authorization) : 요청된 리소스에 접근할 수 있는 권한이 있는(인증된) 유저인지 입증(Validating)하는 과정 OAuth : 다른 웹사이트 상의 자신들의 정보에 대해 접근 권한을 부여할 수 있는 공통적인 수단. 개방형 표준 Authorization Code Grant : 클라이언트가 다른 사용자 대신 특정 리소스에 접근을 요청할 때 사용 OAuth 1.0 -> 2.0 : 인증 절차 간소화, 용어 변경, 다양한 인증 방식 제공 OAuth의 장점 - 사용자(User) 입장 : 서비스에 ID, P..
GPU는 어떻게 작동할까 https://youtu.be/ZdITviTD3VM CPU는 복잡한 연산을 빠르게 처리하도록 설계되었다. 처리 시간을 빠르게 하는 방향으로 발전 GPU는 단순하지만 많은 연산을 수행하도록 설계되었다. 처리량을 늘리는 방향으로 발전 CPU는 수학 교수 1명, GPU는 초등학생 100명으로 비유할 수 있다. 동영상을 처리할 때 픽셀 수는 1920*1080px, 1초에 약 30장의 프레임이므로 약 6천만 개 3D 그래픽의 표현 정점 데이터(위치값, 노말, 이미지 등) 입력 -> 정점 연산 -> 삼각형 생성 -> 조각화 -> 픽셀화 -> 이미지화 -> 출력 수십 만 개의 정점 데이터를 행렬의 곱셈 형태로 실시간 계산하고 모니터에 뿌려줄 픽셀을 만드는 것이 GPU의 역할 SIMD(Single Instruction..
[Java] 문자열(String), 숫자(int, double, float, long, short) 형변환 String ---> int, double, float, long, short String str = "1234"; int n = Integer.parseInt(str); int n = Integer.valueOf(str); double n = Double.parseDouble(str); double n = Double.valueOf(str); float n = Float.parseFloat(str); float n = Float.valueOf(str); long n = Long.parseLong(str); long n = Long.valueOf(str); short n = Short.parseShort(str); short n = Short.valueOf(str); int, double, float, ..
[Spring] Exception Handling @ControllerAdvice : Global 예외 처리 및 특정 package, Controller 예외 처리 @ExceptionHandler : 특정 Controller 예외 처리 @ControllerAdvice와 @ExceptionHandler의 활용 @RestControllerAdvice public class GlobalControllerAdvice { @ExceptionHandler(value = Exception.class) // 모든 예외에 대한 처리 public ResponseEntity exception() { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(""); } @ExceptionHandler(value..
[Java] POJO POJO(Plain Old Java Object) 순수한 자바 오브젝트 자바 언어 사양 외에 어떠한 제한에도 묶이지 않는다. 특정 규약에 종속되지 않는다. - 미리 정의된 클래스를 상속받거나, 미리 정의된 인터페이스를 구현하지 않는다. 특정 환경에 종속되지 않는다. - 외부 종속적인 HttpSevletRequest, Session 등을 포함하지 않는다. - 미리 정의된 어노테이션을 포함하지 않는다. POJO Framework Spring, Hibernate - 객체지향적인 설계, POJO를 지향한다. https://en.wikipedia.org/wiki/Plain_old_Java_object Plain old Java object - Wikipedia From Wikipedia, the free ency..
Three-Valued Logic Null Null의 의미 unknown : 알 수 없음 unavailable or withheld : 비공개 not applicable : 해당사항 없음 Null의 사용 (X) SELECT id FROM employee WHERE birth_date = NULL; (O) SELECT id FROM employee WHERE birth_date IS NULL; Three-Valued Logic SQL에서 NULL과 비교 연산을 하게 되면 결과는 UNKNOWN이다. UNKNOWN은 TRUE일 수도 있고 FALSE일 수도 있다는 의미 Three-valued Logic : 비교/논리 연산의 결과로 TRUE, FALSE, UNKNOWN을 가진다. 1 = NULL -> UNKNOWN 1 != NULL -> UNKN..
[Java] LinkedList - List, Deque의 구현 LinkedList LinkedList는 List와 Deque 인터페이스를 둘 다 구현한다. 어느 인터페이스를 사용하느냐에 따라 활용 방법이 달라진다. Deque 변수에 할당하는 경우 Deque deque = new LinkedList(); Deque 인터페이스의 메서드를 사용할 수 있지만, List 인터페이스의 메서드는 사용할 수 없다. List 변수에 할당하는 경우 List list = new LinkedList(); List 인터페이스의 메서드를 사용할 수 있지만, Deque 인터페이스의 메서드는 사용할 수 없다. LinkedList 변수에 할당하는 경우 LinkedList list = new LinkedList(); Deque, List 인터페이스의 모든 메서드를 호출할 수 있지만 코드의 가독성이..