NHN FORWARD 22 로그인에 사용하는 OAuth: 과거, 현재 그리고 미래 강의를 보고 작성한 내용입니다 https://www.youtube.com/watch?v=DQFv0AxTEgM 인증 - Authentication 경찰관에게 신분증으로 나의 신분을 증명하는 것 같은 인터넷에서 사용자의 신원을 확인하는 행위를 인증이라고 한다. 인가 - Authentication 내 자동차 키를 줌으로써 대리운전 기사가 내 소유의 자동차를 운전할 수 있는 것 처럼 사용권한을 위임하는 것을 인가라고 한다. OAuth란? 프로토콜의 일종으로써 SNS 로그인에 주로 적용이 많이 된다. OAuth 2.0을 알아보기에 앞서 OAuth 1.0에 대해 먼저 알아보도록 하자 OAuth 1.0 Resource Owner: 사용..
초기화 과정 SecurityBuilder / SecurityConfigurer SecurityBuilder는 빌더 클래스로서 웹 보안을 구성하는 빈 객체와 설정 클래스들을 생성하는 역할을 한다 ex) WebSecurity, HttpSecurity SecurityConfigurer는 Http요청과 관련된 보안처리를 담당하는 필터들을 생성하고 여러 초기화 설정에 관여한다 SecurityBuilder는 SecurityConfigurer를 포함하고 있으며 인증 및 인가 초기화 작업은 SecurityConfigurer에 의해 진행된다. HttpSecurity는 최종적으로 SecurityFilterChain이라는 빈을 만든다 WebSecurity는 설정클래스에서 정의한 SecurityFilterChain 빈을 Se..
5강 싱글톤 컨테이너 웹 애플리케이션과 싱글톤 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 고객이 요청한 객체를 반환할때마다 새로운 객체를 생성해서 반환해주면 메모리 낭비가 심하다 해결 방안은 해당 객체가 딱 1개만 생성되고, 공유하도록 설게하면 된다 -> 싱글톤 패턴 싱글톤 패턴 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 그래서 객체 인스턴스를 2개 이상 생성하지 못하도록 막아야 한다 private 생성자를 사용해서 외부에서 임의로 new 키워드를 사용하지 못하도록 막아야 한다 예시 public class SingletonService{ //1. static 영역에 객체를 딱 1개만 생성해둔다. private sta..
김영한님의 스프링 핵심 원리 기본편을 보고 학습한 내용을 정리해보았습니다 1. 객체 지향 설계와 스프링 스프링을 왜 쓸까? 스프링은 자바 언어 기반의 프레임워크 자바 언어의 가장 큰 특징 - 객체 지향 언어 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 그렇다면 객체지향은 무슨 특징이 있나? 추상화 캡슐화 상속 다형성 특히 스프링은 다형성을 극대화해서 이용할 수 있게 도와준다 예시를 들면 다형성은 역할과 구현으로 세상을 구분할 수 있는데, 운전자역할과 자동차역할이 있다고 했을때 운전자는 자동차가 K3이든, 아반떼이든 상관없이 자동차라면 엑셀을 밟으면 앞으로 가고, 브레이크를 밟으면 멈춘다는 자동차의 역할만 알면 된다 자동차가 어떤 모델로 구현됐는지 알 필요가 없다 즉, 역할과..
튜플 자료형 튜플은 한 번 선언된 값을 변경할 수 없다 리스트는 대괄호 []를 이용하지만, 튜플은 소괄호()를 이용합니다 사전 자료형 data=dict() data['사과'] = 'Apple' data['바나나'] = 'Banana' data['코코넛'] = 'Coconut' key_list=data.keys() value_list=data.values() print(key_list) # dict_key(['사과', '바나나', '코코넛']) print(value_list) # dict_values(['Apple', 'Banana', 'Coconut']) for key in key_list: print(key) # Apple # Banana # Coconut 집합 자료형 중복을 허용하지 않는다 순서가 없..
실수형 a=0.3+0.6 print(a) #0.89999999 if a==0.9: print(True) else: print(False) #False 수 자료형의 연산 a=7 b=3 # 나누기 print(a/b) #2.3333333333335 # 나머지 print(a%b) #1 # 몫 print(a//b) #2 리스트의 인덱싱과 슬라이싱 a=[1,2,3,4,5,6,7,8,9] # 두 번째 원소부터 네 번째 원소까지 print(a[1 : 4]) 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정한다 리스트 컴프리헨션 # 0부터 9까지의 수를 포함하는 리스트 array=[i for i in range(10)] print(array) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 0부터 19까지의..
메시지 브로커란 송신자로부터 전달받은 메시지를 수신자로 전달해주는 중간 역할을 하는 것 응용 소프트웨어 간에 메시지를 교환할 수 있게 한다 ex) Apache Kafka, Redis, RabbitMQ 메시지 브로커를 쓰는 이유(장점) 실시간 데이터를 처리할 때 성능이 뛰어나다 DW: 실시간으로 데이터 수집, 관리하는 서버 AS: 데이터를 가공하여 사용하는 서버 이 두 개의 서버가 있을때 보통 DW를 Oracle, MySQL과 같은 RDB에 적재하고 AS에서 이 DB를 조회해서 쓰는데, 실시간으로 최신의 데이터만 빠르게 조회할 때 사용하기 힘들다 인덱싱을 사용하면 조회 성능은 높아지지만 INSERT성능이 느려진다 그래서 메시지 브로커를 사용하면 DW에서 수집한 데이터를 바로 메시지 큐에 Publish(출판..
1. Failed to create a virtual environment 파이참 인터프리터 생성 오류 오류 코드 Failed to create a virtual environment 원인 파이참 버전 문제 해결 방법 pycharm 2.3에서 pycharm 1.4으로 다운그레이드하니까 해결 2. 파이썬 라이브러리 import 오류 기억나는건 gluonnlp 오류 코드(꽤나 길다) ERROR: Command errored out with exit status 1: command: 'c:\users\sangw\appdata\local\programs\python\python38\python.exe' -u - c 'import io, os, sys, setuptools, tokenize; sys.argv[0]..
- Total
- Today
- Yesterday
- authorization_code
- bfs
- DML
- NHN FORWARD
- oauth
- 데이터베이스
- kloa
- git
- javascript
- Android Studio
- 데이터 3법
- 리눅스
- 우분투
- CSS
- 오픈소스
- 클로아
- OAuth 개념
- 데이터3법
- oauth2.0
- SQL
- html
- 로스트아크 캐릭터
- html #웹 #웹사이트 #플레이리스트
- GNAP
- authorization code
- git commit 수정
- DDL
- SpringBoot
- 프로그래머스
- git 예전 커밋 수정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |