반응형

Spring Security를 사용하여 Amazon Cognito로 인증

1. 소개 이 사용방법(예제)에서는 Spring Security 의 OAuth 2.0 지원을 사용하여 Amazon Cognito 로 인증하는 방법을 살펴보겠습니다 . 그 과정에서 Amazon Cognito가 무엇이고 어떤 종류의 OAuth 2.0 흐름을 지원 하는지 간략하게 살펴보겠습니다 . 결국에는 간단한 한 페이지 응용 프로그램을 갖게 됩니다. 멋진 것은 없습니다. 2. Amazon Cognito란 무엇입니까? Cognito는 여러 장치에서 앱의 사용자 데이터를 쉽게 관리할 수 있게 해주는 사용자 ID 및 데이터 동기화 서비스입니다. Amazon Cognito를 사용하면 다음을 수행할 수 있습니다. 애플리케이션에 대한 사용자 생성, 인증 및 권한 부여 Google, Facebook 또는 Twitter..

Spring 2023.01.06

Jakarta EE를 사용하여 OAuth 2.0 인증 프레임워크 구현

1. 개요 이 사용방법(예제)에서는 Jakarta EE 및 MicroProfile을 사용하여 OAuth 2.0 권한 부여 프레임워크 에 대한 구현을 제공할 것입니다. 가장 중요한 것은 Authorization Code 부여 유형 을 통해 OAuth 2.0 역할 의 상호 작용을 구현할 것 입니다. 이 글을 쓰는 동기는 아직 OAuth에 대한 지원을 제공하지 않는 Jakarta EE를 사용하여 구현되는 프로젝트에 대한 지원을 제공하는 것입니다. 가장 중요한 역할인 권한 부여 서버의 경우 권한 부여 Endpoints, 토큰 Endpoints 및 추가 로 리소스 서버가 공개 키를 검색하는 데 유용한 JWK 키 Endpoints을 구현할 것 입니다. 빠른 설정을 위해 구현이 간단하고 쉽기를 원하므로 미리 등록된 ..

Spring 2023.01.06

Java에서 범위 내의 숫자 나열

1. 개요 이 사용방법(예제)에서는 범위 내의 숫자 시퀀스를 나열하는 다양한 방법을 살펴봅니다. 2. 범위의 숫자 나열 2.1. 전통적인 for 루프 전통적인 for 루프를 사용하여 지정된 범위의 숫자를 생성할 수 있습니다. public List getNumbersInRange(int start, int end) { List result = new ArrayList(); for (int i = start; i < end; i++) { result.add(i); } return result; } 위의 코드는 시작 (포함)에서 끝 (제외) 까지 의 숫자를 포함하는 List을 생성합니다 . 2.2. JDK 8 IntStream.range JDK 8에 도입된 IntStream 은 지정된 범위에서 숫자를 생성하는..

Spring 2023.01.06

후드 아래의 Java HashMap

1. 개요 이 기사에서는 소개 기사가 중단 된 부분부터 시작하여 Java Collections Framework에서 가장 많이 사용되는 Map 인터페이스 구현을 자세히 살펴보겠습니다 . 구현을 시작하기 전에 기본 List 및 Set 컬렉션 인터페이스는 Collection 을 확장 하지만 Map 은 확장 하지 않는다는 점을 지적하는 것이 중요합니다. 간단히 말해 HashMap 은 키별로 값을 저장하고 저장된 데이터를 다양한 방식으로 추가, 검색 및 조작하기 위한 API를 제공합니다. 구현은 처음에는 약간 복잡하게 들리지만 실제로는 매우 이해하기 쉬운 해시 테이블의 원칙을 기반으로 합니다 . 키-값 쌍은 실제로 내부 배열인 테이블이라고 하는 것을 함께 구성하는 버킷이라고 하는 곳에 저장됩니다. 객체가 저장되..

Spring 2023.01.06

자바 For 루프

1. 개요 이 기사에서는 for 루프 를 사용하여 명령문 또는 명령문 그룹을 반복적으로 실행하는 Java 언어의 핵심 측면을 살펴보겠습니다 . 2. 간단한 for 루프 for 루프는 루프 카운터를 증가시키고 평가하여 특정 작업을 반복할 수 있도록 하는 제어 구조입니다 . 첫 번째 반복 전에 루프 카운터가 초기화되고 조건 평가가 수행된 다음 단계 정의가 수행됩니다(일반적으로 단순 증분). for 루프 의 구문은 다음과 같습니다. for (initialization; Boolean-expression; step) statement; 간단한 예를 들어 보겠습니다. for (int i = 0; i < 5; i++) { System.out.println("Simple for loop: i = " + i); } f..

Spring 2023.01.06

자바 헤드리스 모드

1. 개요 경우 에 따라 서버나 컨테이너에서 실제 디스플레이, 키보드 또는 마우스 없이 Java의 그래픽 기반 애플리케이션으로 작업 해야 합니다. 이 짧은 사용방법(예제)에서는 이 시나리오를 해결하기 위해 Java의 헤드리스 모드에 대해 알아봅니다. 또한 헤드리스 모드에서 할 수 있는 것과 할 수 없는 것을 살펴보겠습니다. 2. 헤드리스 모드 설정 Java에서 헤드리스 모드를 명시적으로 설정할 수 있는 방법에는 여러 가지가 있습니다. 프로그래밍 방식으로 시스템 속성 java.awt.headless 를 true 로 설정 명령줄 인수 사용: java -Djava.awt.headless=true 서버 시작 스크립트 의 JAVA_OPTS 환경 변수에 -Djava.awt.headless=true 추가 환경이 실제..

Spring 2023.01.05

자바 텍스트 블록

1. 소개 이전 사용방법(예제)에서는 모든 Java 버전에서 여러 줄 문자열 을 사용하는 방법을 살펴보았습니다 . 이 사용방법(예제)에서는 Java 15 텍스트 블록 기능 을 사용하여 여러 줄 문자열을 가장 효율적으로 선언하는 방법을 자세히 살펴보겠습니다. 2. 사용법 Java 15부터 텍스트 블록을 표준 기능으로 사용할 수 있습니다. Java 13 및 14에서는 이를 미리 보기 기능 으로 활성화해야 했습니다 . 텍스트 블록은 """ (큰따옴표 3개)로 시작하고 그 뒤에 선택적 공백과 줄 바꿈이 옵니다. 가장 간단한 예는 다음과 같습니다. String example = """ Example text"""; 텍스트 블록의 결과 유형은 여전히 ​​String 입니다. 텍스트 블록은 소스 코드에서 문자열 리터..

Spring 2023.01.05

Java에서 Mono의 콘텐츠를 추출하는 방법

1. 개요 프로젝트 리액터 소개에서 T 유형 인스턴스의 게시자인 Mono 에 대해 배웠습니다 . 이 빠른 사용방법(예제)에서는 Mono : block 및 subscribe 에서 T 를 추출하는 차단 및 비차단 방법을 모두 보여줍니다 . 2.차단 방법 일반적으로 Mono 는 특정 시점에서 요소를 방출하여 성공적으로 완료됩니다. 예제 게시자 Mono 부터 시작하겠습니다 . Mono blockingHelloWorld() { return Mono.just("Hello world!"); } String result = blockingHelloWorld().block(); assertEquals("Hello world!", result); 여기에서는 게시자가 값을 내보내지 않는 한 실행을 차단합니다. 그러나 완료하..

Spring 2023.01.05

Java에서 0으로 나누기: 예외, 무한대 또는 숫자가 아님

1. 개요 0으로 나누는 것은 일반 산술에서 의미가 없는 연산이므로 정의되지 않습니다. 그러나 프로그래밍에서는 종종 오류와 연관되지만 항상 그런 것은 아닙니다 . 이 기사에서는 Java 프로그램에서 0으로 나누기가 발생할 때 어떤 일이 발생하는지 살펴보겠습니다 . 나누기 연산 의 Java 사양에 따르면 0으로 나누는 두 가지 다른 경우인 정수와 부동 소수점 숫자를 식별할 수 있습니다. 2. 정수 첫째, 정수의 경우 상황이 매우 간단합니다. 정수를 0으로 나누면 ArithmeticException 이 발생합니다 . assertThrows(ArithmeticException.class, () -> { int result = 12 / 0; }); assertThrows(ArithmeticException.cl..

Spring 2023.01.05

어노테이션을 사용하여 사용자 지정 RAML 속성 정의

이 문서는 시리즈의 일부입니다. • Introduction to RAML – The RESTful API Modeling Language • Eliminate Redundancies in RAML with Resource Types and Traits • Modular RAML Using Includes, Libraries, Overlays and Extensions • Define Custom RAML Properties Using Annotations (current article) 1. 소개 여기에서 RAML(RESTful API 모델링 언어) 시리즈의 네 번째 기사인 어노테이션 을 사용 하여 RAML API 사양에 대한 사용자 지정 속성을 정의 하는 방법을 보여줍니다 . 이 프로세스는 사양의 메타..

Spring 2023.01.05
반응형