반응형

Java 생성자 대 정적 팩토리 메소드

1. 개요 Java 생성자는 완전히 초기화된 클래스 인스턴스를 가져오기 위한 기본 메커니즘입니다. 결국 수동 또는 자동으로 의존성을 주입하는 데 필요한 모든 인프라를 제공합니다. 그럼에도 불구하고 몇 가지 특정 사용 사례에서는 동일한 결과를 얻기 위해 정적 팩토리 메서드에 의존하는 것이 좋습니다. 이 예제에서는 정적 팩토리 메소드와 기존 Java 생성자를 사용할 때의 장단점을 강조할 것 입니다. 2. 생성자에 대한 정적 팩토리 메소드의 장점 Java와 같은 객체 지향 언어에서 생성자가 잘못될 수 있는 것은 무엇입니까? 전반적으로 아무것도. 그럼에도 불구하고 유명한 Joshua Block의 Effective Java Item 1 은 다음과 같이 명확하게 명시하고 있습니다. "생성자 대신 정적 팩토리 메서드..

Spring 2021.09.28

Java의 로지스틱 회귀

1. 소개 로지스틱 회귀는 기계 학습(ML) 실무자 도구 상자에서 중요한 도구입니다. 이 예제에서 우리는 로지스틱 회귀의 이면에 있는 주요 아이디어를 탐구할 것 입니다. 먼저 ML 패러다임과 알고리즘에 대한 간략한 개요부터 시작하겠습니다. 2. 개요 ML을 사용하면 인간 친화적인 용어로 공식화할 수 있는 문제를 해결할 수 있습니다. 그러나 이 사실은 우리 소프트웨어 개발자에게 도전이 될 수 있습니다. 우리는 컴퓨터 친화적인 용어로 공식화할 수 있는 문제를 해결하는 데 익숙해졌습니다. 예를 들어, 인간은 사진에서 물체를 쉽게 감지하거나 문구의 분위기를 설정할 수 있습니다. 컴퓨터에 대해 그러한 문제를 어떻게 공식화할 수 있습니까? 해결책 을 찾기 위해 ML에는 training 이라는 특별한 단계가 있습니다..

Spring 2021.09.28

Java의 hashCode() 사용방법(예제)

1. 개요 해싱은 컴퓨터 과학의 기본 개념입니다. Java에서 효율적인 해싱 알고리즘은 HashMap (이 심층 기사 확인 ) 및 HashSet 과 같은 가장 인기 있는 컬렉션 뒤에 있습니다 . 이 사용방법(예제)에서는 hashCode()가 작동하는 방식, 컬렉션에서 작동하는 방식 및 올바르게 구현하는 방법에 중점을 둘 것입니다. 2. 데이터 구조에서 hashCode() 사용하기 컬렉션에 대한 가장 간단한 작업은 특정 상황에서 비효율적일 수 있습니다. 예를 들어, 이것은 선형 검색을 트리거하며, 이는 거대한 List에 대해 매우 비효율적입니다. List words = Arrays.asList("Welcome", "to", "Baeldung"); if (words.contains("Baeldung")) {..

Spring 2021.09.28

스프링 트랜잭션이 활성 상태인지 감지하기

1. 개요 트랜잭션 감지는 감사 목적이나 좋은 트랜잭션 규칙이 구현되지 않은 복잡한 코드 기반을 처리하는 데 유용할 수 있습니다. 이 간단한 사용방법(예제)에서는 코드에서 Spring 트랜잭션 을 감지하는 몇 가지 방법을 살펴보겠습니다 . 2. 트랜잭션 구성 Spring에서 트랜잭션이 작동하려면 트랜잭션 관리가 활성화되어야 합니다. Spring-data-* 또는 spring-tx 의존성이 있는 Spring Boot 프로젝트를 사용하는 경우 Spring은 기본적으로 트랜잭션 관리를 활성화합니다 . 그렇지 않으면 트랜잭션을 활성화하고 트랜잭션 관리자를 명시적으로 제공해야 합니다. 먼저 @Configuration 클래스에 @EnableTransactionManagement 어노테이션을 추가해야 합니다 . 이것..

Spring 2021.09.28

Java에서 자유 포트 찾기

1. 개요 Java 애플리케이션에서 소켓 서버를 시작할 때 java.net API는 수신 대기할 여유 포트 번호를 지정하도록 요구합니다. 포트 번호는 TCP 계층이 들어오는 데이터가 의도된 응용 프로그램을 식별할 수 있도록 하는 데 필요합니다. 포트 번호를 명시적으로 지정하는 것이 항상 좋은 옵션은 아닙니다. 애플리케이션이 이미 포트 번호를 점유하고 있을 수 있기 때문입니다. 이로 인해 Java 애플리케이션에서 입력/출력 예외가 발생합니다. 이 빠른 사용방법(예제)에서는 특정 포트 상태를 확인하는 방법과 자동으로 할당된 포트를 사용하는 방법을 살펴보겠습니다. 일반 Java 및 Spring 프레임워크를 사용하여 이 작업을 수행하는 방법을 살펴보겠습니다. 임베디드 Tomcat 및 Jetty와 같은 다른 서버..

Java 2021.09.28

JDBC 연결 개체에서 데이터베이스 URL 가져오기

1. 개요 이 빠른 사용방법(예제)에서는 JDBC 연결 개체 에서 데이터베이스 URL을 가져오는 방법에 대해 설명 합니다. 2. 예제 클래스 이를 시연하기 위해 getConnection 메소드를 사용하여 DBConfiguration 클래스를 생성합니다 . public class DBConfiguration { public static Connection getConnection() throws Exception { Class.forName("org.h2.Driver"); String url = "jdbc:h2:mem:testdb"; return DriverManager.getConnection(url, "user", "password"); } } 3. DatabaseMetaData#getURL 메소드 D..

Spring 2021.09.28

Java의 SHA-256 및 SHA3-256 해싱

1. 개요 SHA(Secure Hash Algorithm)는 널리 사용되는 암호화 해시 함수 중 하나입니다. 암호화 해시를 사용하여 텍스트 또는 데이터 파일에 대한 서명을 만들 수 있습니다. 이 사용방법(예제)에서는 다양한 Java 라이브러리를 사용하여 SHA-256 및 SHA3-256 해싱 작업을 수행하는 방법을 살펴보겠습니다. SHA-256 알고리즘은 거의 고유 고정 사이즈 256 비트 (32 바이트)의 해시를 생성한다. 이것은 단방향 함수이므로 결과를 원래 값으로 다시 해독할 수 없습니다. 현재 SHA-2 해싱은 암호화 분야에서 가장 안전한 해싱 알고리즘으로 평가받고 있어 널리 사용되고 있다. SHA-3 은 SHA-2 이후의 최신 Security 해싱 표준입니다. SHA-2와 비교할 때 SHA-3은..

Spring 2021.09.28

프로젝트 퍼즐 소개

1. 소개 Project Jigsaw 는 다음 두 가지 측면을 목표로 하는 새로운 기능을 갖춘 포괄적인 프로젝트입니다. Java 언어의 모듈 시스템 도입 JDK 소스 및 Java 런타임에서의 구현 이 기사에서는 Jigsaw 프로젝트와 그 기능을 소개하고 마지막으로 간단한 모듈식 응용 프로그램으로 마무리합니다. 2. 모듈화 간단히 말해서 모듈성은 다음을 달성하는 데 도움이 되는 설계 원칙입니다. 구성 요소 간의 느슨한 결합 구성 요소 간의 명확한 계약 및 의존성 강력한 캡슐화를 사용한 숨겨진 구현 2.1. 모듈화 단위 이제 모듈화의 단위가 무엇인지에 대한 질문이 나옵니다. Java 세계, 특히 OSGi에서 JAR은 모듈성의 단위로 간주되었습니다. JAR은 관련 구성 요소를 함께 그룹화하는 데 도움이 되었지..

Spring 2021.09.28

JUnit 5 TestWatcher API

1. 개요 단위 테스트를 할 때 주기적으로 테스트 메서드 실행 결과를 처리하기를 원할 수 있습니다. 이 빠른 사용방법(예제)에서는 JUnit에서 제공하는 TestWatcher API를 사용하여 이를 수행하는 방법을 살펴보겠습니다 . JUnit을 사용한 테스트에 대한 심층적인 사용방법(예제)는 훌륭한 JUnit 5 사용방법(예제)를 확인하세요 . 2. TestWatcher API 간단히 말해서 TestWatcher 인터페이스는 테스트 결과를 처리하려는 확장에 대한 API를 정의합니다 . 이 API를 생각할 수 있는 한 가지 방법은 개별 테스트 케이스의 상태를 가져오기 위한 후크를 제공하는 것입니다. 그러나 실제 예를 살펴 보기 전에 한 걸음 물러나서 TestWatcher 인터페이스 의 메서드를 간략하게 요..

Spring 2021.09.28

Spring Security 및 OpenID Connect(레거시)

이 콘텐츠는 오래되었으며 레거시 OAuth 스택을 사용하고 있습니다. Spring Security의 최신 OAuth 지원을 살펴보십시오 . 1. 개요 이 빠른 사용방법(예제)에서는 Spring Security OAuth2 구현으로 OpenID Connect를 설정하는 데 중점을 둘 것입니다. OpenID Connect 는 OAuth 2.0 프로토콜 위에 구축된 간단한 ID 계층입니다.그리고 보다 구체적 으로 Google 의 OpenID Connect 구현을 사용하여 사용자를 인증하는 방법을 배웁니다 . 2. 메이븐 설정 먼저 Spring Boot 애플리케이션에 다음 의존성을 추가해야 합니다. org.springframework.boot spring-boot-starter-security org.sprin..

Spring 2021.09.24
반응형