반응형

Java에서 두 개의 정렬된 배열에서 K번째 가장 작은 요소 찾기

1. 소개 이 기사에서는 두 개의 정렬된 배열의 합집합에서 k 번째로 작은 요소 를 찾는 방법을 살펴보겠습니다 . 먼저 정확한 문제를 정의하겠습니다. 둘째, 두 가지 비효율적이지만 간단한 솔루션을 볼 수 있습니다. 셋째, 두 배열에 대한 이진 검색을 기반으로 하는 효율적인 솔루션을 살펴보겠습니다. 마지막으로 알고리즘이 작동하는지 확인하기 위해 몇 가지 테스트를 살펴보겠습니다. 알고리즘의 모든 부분에 대한 Java 코드 스니펫도 볼 수 있습니다. 단순화를 위해 구현은 정수에서만 작동합니다 . 그러나 설명된 알고리즘은 비교 가능하고 Generics를 사용하여 구현할 수도 있는 모든 데이터 유형에서 작동합니다. 2. 두 개의 정렬된 배열의 합집합에서 K 번째로 작은 요소 는 무엇입니까 ? 2.1. K 번째 작..

Java 2021.10.04

JNI(자바 네이티브 인터페이스) 사용방법(예제)

1. 소개 우리가 알고 있듯이 Java의 주요 장점 중 하나는 이식성입니다. 즉, 코드를 작성하고 컴파일하면 이 프로세스의 결과가 플랫폼 독립적인 바이트코드가 됩니다. 간단히 말해서 이것은 Java 가상 머신을 실행할 수 있는 모든 기계 또는 장치에서 실행할 수 있으며 예상한 대로 원활하게 작동합니다. 그러나 때로는 특정 아키텍처에 대해 고유하게 컴파일된 코드를 실제로 사용해야 하는 경우가 있습니다 . 네이티브 코드를 사용해야 하는 몇 가지 이유가 있을 수 있습니다. 일부 하드웨어를 처리해야 하는 필요성 매우 까다로운 프로세스의 성능 향상 Java로 다시 작성하는 대신 재사용하려는 기존 라이브러리입니다. 이를 달성하기 위해 JDK는 JVM에서 실행되는 바이트코드와 기본 코드 (일반적으로 C 또는 C++로..

Java 2021.10.04

데이터베이스 대 응용 프로그램에서 계산 수행

1. 개요 종종 우리는 편리함과 함께 좋은 성능을 얻기 위해 데이터베이스(RDBMS)에서 계산을 수행해야 하는지 아니면 응용 프로그램 코드에서 계산을 수행해야 하는지 결정하기 어렵다는 것을 알게 됩니다. 이 기사에서는 데이터베이스 및 애플리케이션 코드에서 계산을 수행할 때의 장점과 단점을 살펴보겠습니다. 우리는 이 결정에 영향을 줄 수 있는 몇 가지 요소를 고려하고 어떤 계층(데이터베이스 또는 응용 프로그램)이 이를 처리하는 데 더 적합한지 논의할 것입니다. 2. 데이터베이스에서의 계산 2.1. 데이터 선택 및 집계 관계형 데이터베이스는 데이터 처리, 선택 및 집계에 고도로 최적화되어 있습니다 . SQL을 사용하여 데이터를 쉽게 그룹화, 정렬, 필터링 및 집계할 수 있습니다. 예를 들어 LEFT 및 RI..

Java 2021.10.04

자바 – 파일 생성

1. 개요 이 빠른 사용방법(예제)에서는 먼저 NIO 의 Files 및 Path 클래스를 사용한 다음 Java File 및 FileOutputStream 클래스, Google Guava , 마지막으로 Apache Commons IO 라이브러리를 사용하여 Java에서 새 파일을 만드는 방법을 배웁니다 . 이 기사는 여기 Baeldung 의 "Java – Back to Basic" 시리즈의 일부입니다. 2. 설정 예제에서는 파일 이름에 대한 상수를 정의합니다. private final String FILE_NAME = "src/test/resources/fileToCreate.txt"; 또한 각 테스트 전에 파일이 존재하지 않는지 확인하고 각 테스트가 실행된 후에 파일을 삭제하는 정리 단계도 추가합니다. @..

Java 2021.10.04

Spring으로 모의 JNDI 데이터 소스 테스트

1. 개요 일반적으로 JNDI를 사용하는 애플리케이션을 테스트할 때 실제 데이터 소스 대신 모의 데이터 소스를 사용하고 싶을 수 있습니다. 이것은 단위 테스트를 간단하고 외부 컨텍스트와 완전히 분리하기 위해 테스트할 때 일반적인 관행입니다. 이 예제에서는 Spring Framework와 Simple-JNDI 라이브러리를 사용하여 모의 JNDI 데이터 소스를 테스트하는 방법을 보여줄 것 입니다. 이 사용방법(예제)에서는 단위 테스트에만 집중할 것입니다. 그러나 JNDI 데이터 소스와 함께 JPA를 사용하여 Spring 애플리케이션 을 만드는 방법에 대한 기사를 확인하십시오 . 2. 빠른 JNDI 요약 간단히 말해서 JNDI는 논리적 이름을 데이터베이스 연결과 같은 외부 리소스에 바인딩합니다 . 주요 아이디..

Spring 2021.10.02

스프링 메소드 Security 소개

1. 개요 간단히 말해서, Spring Security는 메소드 수준에서 권한 부여 의미를 지원합니다. 일반적으로 예를 들어 특정 메서드를 실행할 수 있는 역할을 제한하여 서비스 계층을 보호하고 전용 메서드 수준 Security 테스트 지원을 사용하여 테스트할 수 있습니다. 이 사용방법(예제)에서는 일부 Security 어노테이션의 사용을 검토할 것입니다. 그런 다음 다양한 전략으로 메서드 Security을 테스트하는 데 집중할 것입니다. 2. 메소드 Security 활성화 먼저 Spring Method Security를 ​​사용하려면 spring-security-config 의존성 을 추가해야 합니다 . org.springframework.security spring-security-config Mav..

Spring 2021.10.02

Java의 UUID 사용방법(예제)

1. 개요 GUID(Globally Unique Identifier)라고도 하는 UUID (Universally Unique Identifier) 는 모든 실용적인 목적을 위해 고유한 128비트 길이 값을 나타냅니다 . UUID의 표준 표현은 16진수(옥텟)를 사용합니다. 123e4567-e89b-12d3-a456-556642440000 UUID는 16진수(각각 4자)와 4개의 "-" 기호로 구성되며 길이는 36자입니다. Nil UUID는 모든 비트가 0으로 설정되는 특수한 형태의 UUID입니다. 이 예제에서는 Java 의 UUID 클래스를 살펴보겠습니다 . 먼저 클래스 자체를 사용하는 방법을 살펴보겠습니다. 그런 다음 다양한 유형의 UUID와 Java에서 UUID를 생성하는 방법을 살펴보겠습니다. 2...

Spring 2021.10.01

JNA를 사용하여 네이티브 동적 라이브러리에 액세스

1. 개요 이 예제에서는 JNI(Java Native Interface) 코드 를 작성하지 않고 기본 라이브러리에 액세스하기 위해 Java Native Access 라이브러리(줄여서 JNA)를 사용하는 방법을 볼 것 입니다. 2. 왜 JNA인가? 수년 동안 Java 및 기타 JVM 기반 언어는 "한 번 작성, 모든 곳에서 실행"이라는 모토를 상당 부분 충족했습니다. 그러나 때로는 일부 기능을 구현하기 위해 네이티브 코드를 사용해야 합니다 . C/C++ 또는 네이티브 코드를 생성할 수 있는 다른 언어로 작성된 레거시 코드 재사용 표준 Java 런타임에서 사용할 수 없는 시스템별 기능에 액세스 주어진 애플리케이션의 특정 섹션에 대한 속도 및/또는 메모리 사용량 최적화. 처음에 이러한 종류의 요구 사항은 JN..

Spring 2021.10.01

스프링 부트로 도커 이미지 생성

1. 소개 더 많은 조직이 컨테이너와 가상 서버로 이동함에 따라 Docker는 소프트웨어 개발 워크플로의 중요한 부분이 되고 있습니다. 이를 위해 Spring Boot 2.3의 새로운 기능 중 하나는 Spring Boot 애플리케이션용 Docker 이미지를 쉽게 생성할 수 있는 기능입니다. 이 예제에서는 Spring Boot 애플리케이션을 위한 Docker 이미지를 생성하는 방법을 살펴볼 것입니다. 2. 전통적인 Docker 빌드 Spring Boot로 Docker 이미지를 구축하는 전통적인 방법은 Dockerfile을 사용하는 것입니다. 다음은 간단한 예입니다. FROM openjdk:8-jdk-alpine EXPOSE 8080 ARG JAR_FILE=target/demo-app-1.0.0.jar AD..

Spring 2021.10.01

Spring REST API용 OAuth2 – Angular에서 새로 고침 토큰 처리

1. 개요 이 예제에서, 우리는 OAuth2를 인증 코드는 우리가 함께 퍼팅 시작했다 흐름을 탐구 계속 것입니다 우리의 이전 기사 와 우리는 각도 응용 프로그램에서 새로 고침 토큰을 처리하는 방법에 초점을 맞출 것입니다. 우리는 또한 Zuul 프록시를 사용할 것입니다. Spring Security 5에서 OAuth 스택 을 사용합니다. Spring Security OAuth 레거시 스택을 사용하려면 이전 기사: Spring REST API용 OAuth2 – AngularJS에서 새로 고침 토큰 처리(레거시 OAuth 스택) 2. 액세스 토큰 만료 먼저 클라이언트가 두 단계로 인증 코드 부여 유형을 사용하여 액세스 토큰을 얻었다는 것을 기억하십시오. 첫 번째 단계 에서 인증 코드를 얻습니다 . 그리고 두 ..

Spring 2021.10.01
반응형