1.역할

ClientRegistrationRepository 는 Spring Security OAuth 2.0 구현에서 중요한 인터페이스입니다. 이는 OAuth 2.0 클라이언트의 구성 정보를 저장하고, 필요할 때 이 정보를 조회하는 역할을 담당합니다. 주요 구성 정보는 다음과 같습니다

OAuth 2.0 클라이언트 등록 정보에는 아래와 같은 정보들이 포함됩니다.

  • Client ID & Client Secret: OAuth 프로바이더로부터 할당받은 고유 식별자 및 비밀번호.
  • Redirect URI: 인증 과정 후 사용자를 리디렉션할 URI.
  • Authorization Grant Type: 사용하는 OAuth 인증 방식(예: authorization_code, client_credentials).
  • Scope: 요청하는 접근 범위.

이러한 클라이언트 구성 정보는 미리 정의된 application.yml 에서 자동으로 로드하여 등록한다.

2.구현체

  • InMemoryClientRegistrationRepository
  • JdbcClientRegistrationRepository
  • ReactiveClientRegistrationRepository

InMemoryClientRegistrationRepository는 개발 및 테스트에 적합하다
JdbcClientRegistrationRepository는 프로덕션 환경에서의 영구적인 데이터 저장을 위해 사용한다.

'JAVA' 카테고리의 다른 글

[JAVA] Access Modifier(접근 제어자)  (0) 2021.01.12

https://www.acmicpc.net/problem/7569

 

7569번: 토마토

첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100,

www.acmicpc.net

 

1. 조건

상자속 한칸에 보관되는 토마토의 종류: 익은 것(1), 익지 않은 것(0), 비어있음(-1)
M: 상자의 가로 칸 수
N: 상자의 세로 칸 수
H: 상자의 높이

하루가 지나면 앞, 뒤, 양 옆, 위, 아래의 토마토가 영향을 받아 익는다.

2. 풀이

주어진 정수 M, N, H를 이용하여 3차원 배열을 만들고 이를 BFS 탐색하여 풀이

import subprocess
import select

f = subprocess.Popen(['adb', 'shell', 'logcat'],
                     stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p = select.poll()
p.register(f.stdout)

while True:
    if p.poll(1):
        logMsg = f.stdout.readline().decode()
        if "Successful install of" in logMsg:
            print('raw log cat message\n'+logMsg)
            print('-----------------------------------')
            packageName = logMsg.split('of ')[1].split(' ')[0];
            print('packageName: '+packageName)
            subp = subprocess.Popen(("adb shell pm path '"+packageName+"' | cut -f 2 -d ':'").split(), stdout=subprocess.PIPE)
            originalPath = subp.stdout.readline().decode()
            subp.kill()
            targetPath = '/Users/user/apkPull/'+packageName+'.apk'
            print(originalPath)
            print(targetPath)
            cmd = "adb " + "pull " + originalPath + " " + targetPath
            subp = subprocess.run(cmd.split())

Python을 이용하여 android logcat을 통한 로그를 실시간 감시하여 apk 를 특정 localPath로 복사하는 코드

 

 

 

앱이 설치되거나 업데이트 되었을 때 발생하는 로그

adb logcat | grep Finsky | grep {pagkageName}

 

우선 clone 하고싶은 git repository를 찾아 줍시다.

예시로 사용할 git repository는 spring-boot의 git을 클론 해보겠습니다.

일단 웹상으로 해당 repo에 접속해보면 아래와 같은 페이지가 나옵니다.

.

여기서 해당 프로젝트를 zip형태의 압축 파일로 받을수도 있으며, 우리는 terminal 을 통한 git clone을 해볼것이기 때문에

옆에 복사버튼을 눌러 복사해줍니다.

이제 터미널을 키고 아래 명령을 입력해주시면 

git clone https://github.com/spring-projects/spring-boot.git

아래와 같은 화면이 뜨며 Clone 작업이 완료됩니다.

File -> Export Objects -> HTTP or etc

'기타' 카테고리의 다른 글

[Git] Git ignore 설정하기  (0) 2020.12.04
[License] GPL? MIT? 라이센스에 대해 알아보자  (0) 2020.11.16

+ Recent posts