반응형

OptaPlanner 사용방법(예제)

1. OptaPlanner 소개 이 사용방법(예제)에서는 OptaPlanner 라는 Java 제약 조건 만족 솔버를 살펴 봅니다 . OptaPlanner는 최소한의 설정으로 일련의 알고리즘을 사용하여 계획 문제를 해결합니다. 알고리즘에 대한 이해가 유용한 세부 정보를 제공할 수 있지만 프레임워크가 우리를 위해 힘든 작업을 수행합니다. 2. 메이븐 의존성 먼저 OptaPlanner에 대한 Maven 의존성을 추가합니다. org.optaplanner optaplanner-core 8.24.0.Final Maven Central 저장소 에서 최신 버전의 OptaPlanner를 찾습니다 . 3. 문제/솔루션 수업 문제를 해결하려면 확실히 예를 들어 특정 문제가 필요합니다. 강의 시간표는 방, 시간, 교사와 같은..

Spring 2023.01.19

Java에서 "Time Ago"를 계산하는 방법

1. 개요 상대적인 시간과 두 시점 사이의 기간을 계산하는 것은 소프트웨어 시스템에서 일반적인 사용 사례입니다. 예를 들어 소셜 미디어 플랫폼에 새 사진을 게시하는 것과 같은 이벤트 이후 얼마나 많은 시간이 흘렀는지 사용자에게 보여주고 싶을 수 있습니다. 이러한 "시간 전" 텍스트의 예로는 "5분 전", "1년 전" 등이 있습니다. 단어의 의미와 선택은 완전히 상황에 따라 다르지만 전체적인 아이디어는 동일합니다. 이 사용방법(예제)에서는 Java에서 시간 전을 계산하기 위한 몇 가지 솔루션을 살펴봅니다. Java 8에 새로운 날짜 및 시간 API가 도입 되었기 때문에 버전 7과 버전 8에 대한 솔루션을 별도로 논의할 것입니다. 2. 자바 버전 7 Java 7에는 시간과 관련된 여러 클래스가 있습니다. 또..

Spring 2023.01.19

StringBuilder 또는 StringBuffer 지우기

1. 개요 이 사용방법(예제)에서는 StringBuilder 또는 StringBuffer 를 지우는 몇 가지 방법을 제시한 다음 자세히 설명합니다. 2. StringBuilder 지우기 2.1. setLength 방법 사용 setLength 메서드 는 StringBuilder 의 내부 길이를 업데이트합니다 . StringBuilder 를 조작할 때 길이 이후의 모든 항목은 무시됩니다 . 따라서 0으로 호출하면 내용이 지워집니다. @Test void whenSetLengthToZero_ThenStringBuilderIsCleared() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("Hello World"); int in..

Spring 2023.01.19

Maven 의존성을 찾는 방법

1. 소개 Maven 은 프로젝트 관리 및 이해 도구입니다. POM이라고도 하는 프로젝트 개체 모델의 개념을 기반으로 합니다. POM을 중앙 정보로 사용하여 Maven은 프로젝트의 빌드, 보고 및 문서화를 관리할 수 있습니다. Maven의 큰 부분은 의존성 관리입니다. 대부분의 개발자는 애플리케이션에서 작업하는 동안 Maven의 이 기능과 상호 작용합니다. Maven의 우수한 의존성 관리는 자동 업데이트와 의존성 종료를 제공합니다. 회사에서 의존성 관리를 위해 Maven을 사용하는 또 다른 방법은 Custom형 중앙 저장소 를 사용하는 것 입니다. 그렇게 함으로써 개발자는 회사 내의 다른 프로젝트에 대한 자체 의존성을 사용할 수 있습니다. 이 사용방법(예제)에서는 Maven 의존성을 찾는 방법을 배웁니다..

Spring 2023.01.19

신용 카드 번호를 식별하고 검증하는 알고리즘

1. 소개 이 기사에서는 regex 를 사용하여 신용 카드 번호에서 신용 카드 유형을 식별하는 방법을 배웁니다 . 그런 다음 Luhn 알고리즘 과 이를 사용하여 신용 카드 번호가 유효한지 확인하는 방법에 대해 알아봅니다. 2. 카드 번호의 앞자리 숫자는 무엇을 알려줍니까? 기본 계정 번호(PAN)는 신용 카드 번호의 또 다른 이름입니다. PAN은 카드 발급사에 따라 숫자가 다를 수 있지만 일반적으로 16자리 입니다. 현재 발급자 식별 번호(IIN)는 PAN의 처음 6자리입니다 . 선행 숫자 1개와 5개 숫자로 구성됩니다. 앞으로 변할 가능성이 있기 때문에 이것이 현재 상황임을 강조하는 것이 중요합니다. IIN을 처음 8자리로 늘리기 위한 작업은 이르면 2015년에 시작되었습니다. IIN만 보고 신용 카드..

Spring 2023.01.19

Maven과 병렬로 JUnit 테스트 실행

1. 소개 테스트를 순차적으로 실행하는 것이 대부분의 경우 잘 작동하지만 속도를 높이기 위해 테스트를 병렬화해야 할 수도 있습니다. 이 예제에서는 JUnit과 Maven의 Surefire Plugin을 사용하여 테스트를 병렬화하는 방법을 다룰 것입니다. 먼저 단일 JVM 프로세스에서 모든 테스트를 실행한 다음 다중 모듈 프로젝트로 시도합니다. 2. 메이븐 의존성 필요한 의존성을 가져오는 것으로 시작하겠습니다. Surefire 2.16 이상 과 함께 JUnit 4.7 이상 을 사용해야 합니다 . junit junit 4.12 test org.apache.maven.plugins maven-surefire-plugin 2.21.0 간단히 말해서 Surefire는 테스트를 병렬로 실행하는 두 가지 방법을 제공..

Spring 2023.01.19

Java에서 숫자의 모든 요소 나열

1. 개요 이 사용방법(예제)에서는 주어진 정수의 모든 요소를 ​​찾는 Java 프로그램을 작성합니다. 2. 문제 소개 Java 코드 작성을 시작하기 전에 정수의 요소가 무엇인지 이해해 봅시다. 정수 n 이 주어지면 정수 i 는 숫자 i 를 완전히 나눌 수 있는 경우 n 의 인수 입니다. 여기서 완전히 나눌 수 있다는 것은 n 을 i 로 나눌 때 나머지가 0이라는 것을 의미합니다. 몇 가지 예를 통해 빠르게 설명할 수 있습니다. n = 10 , 인수: 1, 2, 5 , 10 n = 13 , 인수: 1 및 13 n = 1 , n 은 하나의 인자만 가집니다: 1 n = 0 , 0에는 인수가 없습니다. 예에서 볼 수 있듯이 일반적으로 정수 n 의 약수는 n 이 소수(예: 13 )인 경우에도 항상 1 과 n 을..

Spring 2023.01.19

Java StringBuilder의 마지막 문자 제거

1. 개요 Java에서 문자열을 작성하려는 경우 일반적으로 편리한 StringBuilder 를 선택하여 작업을 수행합니다. 일부 문자열 세그먼트를 포함하는 StringBuilder 시퀀스가 ​​있고 여기에서 마지막 문자를 제거하려고 한다고 가정 합니다. 이 빠른 사용방법(예제)에서는 이를 수행하는 세 가지 방법을 살펴보겠습니다. 2. StringBuilder 의 deleteCharAt() 메서드 사용 StringBuilder 클래스에는 deleteCharAt () 메서드가 있습니다. 원하는 위치에서 문자를 제거할 수 있습니다 . deleteCharAt() 메서드에는 하나의 인수만 있습니다 . 삭제할 문자 인덱스입니다. 따라서 마지막 문자의 인덱스를 메서드에 전달하면 해당 문자를 제거할 수 있습니다. 단순..

Spring 2023.01.19

Java의 문자 비교

1. 개요 이 짧은 사용방법(예제)에서는 Java에서 문자를 비교하는 다양한 방법을 살펴봅니다. 기본 문자를 비교하는 방법을 논의하는 것으로 시작하겠습니다. 그런 다음 Character 객체 를 비교하는 다양한 방법을 살펴보겠습니다 . 2. 기본 문자 비교 먼저 기본 문자를 비교하는 방법을 강조하는 것으로 시작하겠습니다. 2.1. 관계 연산자 사용 일반적으로 문자를 비교하는 가장 간단한 방법은 관계 연산자 를 사용하는 것 입니다. 즉, 문자는 ASCII 코드 의 순서에 따라 Java에서 비교됩니다 . assertFalse('a' == 'A'); assertTrue('a' 'D'); 2.2. Character.compare() 메서드 사용 마찬가지로 또 다른 솔..

Spring 2023.01.19

git rebase 실행 취소 사용방법(예제)

1. 개요 git rebase 는 특히 다중 개발자 코드 리포지토리의 경우 깨끗한 코드 커밋 기록을 작성하는 데 권장되는 모범 사례입니다. 이 작업을 수동으로 수행한 후 나중에 원래 상태로 돌아가고 싶다는 것을 깨닫게 될 수 있습니다. 이 사용방법(예제)에서는 git rebase 작업 을 실행 취소하는 몇 가지 기술을 살펴 보겠습니다. 2. 설정 여러 분기가 있는 다중 개발자 코드 리포지토리를 시뮬레이션하는 테스트 베드를 만들어 보겠습니다 . 우리는 개발 분기가 모든 개발자가 기능별 분기를 사용하여 특정 기능에 대해 작업하는 데 사용하는 프로젝트의 단일 소스 라고 가정할 수 있습니다 . 이제 프로젝트에 대해 위의 버전 관리가 준비되었다고 가정하고 feature2 브랜치를 확인하겠습니다. $ git bra..

Spring 2023.01.19
반응형