기본 콘텐츠로 건너뛰기

2022의 게시물 표시

Git 복제 + IntelliJ 열기 + Maven 빌드 자동화

Git 복제 + IntelliJ 열기 + Maven 빌드 자동화 1. 자동화 목표 문제 보고 부터 시작해서 소프트웨어를 수정하고 JAR 파일을 테스트 위치로 보내기 까지의 과정을 아래의 여섯 단계로 나눌 수 있습니다. 문제 보고 Git 저장소 복제 cd WORKING_DIR \path\to\repo-scripts\clone-and-cd-PROJECT_NAME.bat IntelliJ에서 프로젝트 임포트하여 열기 .\scripts\launch-idea.bat 문제 해결을 위한 소스 수정 Maven으로 프로젝트 빌드 .\scripts\clean-and-build.bat JAR 파일을 테스트 위치로 보내기 .\scripts\upload-jar.bat 위의 1번, 4번 과정을 제외한 나머지 과정들에 대해서 자동화 스크립트를 작성하고자 합니다. 2. 개발 환경 이 문서를 작성하기 위하여 사용한 개발 환경은 아래와 같습니다. 시스템 정보 Windows 10 개발 도구 JDK 1.8 Maven 3.8.6 IntelliJ 2021.2.2 PuTTY 0.77 (원격 접속 및 파일 업로드 도구) 개발 도구의 실행 파일이 있는 경로들을 시스템 환경 변수 PATH 에 등록합니다. 3. 스크립트 작성 3.1. Git 저장소 복제 clone-and-cd-PROJECT_NAME.bat 파일의 내용을 아래와 같이 작성합니다. @echo off git clone https://YOUR_NAME@github.com/ACCOUNT_NAME/REPOSITORY_NAME.git cd REPOSITORY_NAME\PROJECT_NAME 3.2. IntelliJ에서 프로젝트 임포트하여 열기 launch-idea.bat 파일의 내용을 아래와 같이 작성합니다. @echo off idea64.exe pom.xml 3.3. Maven으로 프로젝트 빌드 ...

Eclipse Java 프로젝트를 Maven 프로젝트로 변환하기

Eclipse Java 프로젝트를 Maven 프로젝트로 변환하기 1. 들어가는 말 이 글에서는 Eclipse Java 프로젝트 를 Maven 프로젝트 로 변환했을 때의 이점과 변환 방법을 소개합니다. 구분 설명 소스 폴더 위치 Eclipse Java 프로젝트 Eclipse에서 File -> New -> Project -> Java -> Java Project 메뉴를 통해서 생성한 프로젝트 src Maven 프로젝트 Maven을 사용해서 빌드하는 프로젝트 (Eclipse의 File -> New -> Project -> Maven -> Maven Project 메뉴를 통해서 생성할 수도 있음) src/main/java src/test/java 개발하고 있는 Java 응용프로그램 프로젝트의 규모가 복잡하지 않더라도 그 수가 수십 개에 이르고 IDE와 빌드 도구마저 제각각이라면 이로부터 발생하는 어려움들을 과소평가해서는 안됩니다. 대표적인 어려움 몇 가지를 적어보면 아래와 같습니다. 이 프로젝트의 배포용 실행 파일을 어떻게 만들지? 타겟 클래스 버전은? 어떤 파일들이 실행 파일에 포함되어야 하지? 리소스 파일은 어디에 복사해야 하지? 외부 참조 파일은 어떤 방식으로 포함시키지? 새롭게 빌드한 결과 파일의 크기가 왜 기존의 결과 파일 크기와 다르지? IDE가 제공하는 자체 빌드 도구를 통해서 위의 어려움들을 어느 정도 완화시킬 수는 있지만 만족스러운 정도는 아니며 모든 개발자들이 동일한 IDE를 쓰도록 유도하는 것도 쉽지는 않습니다. 왜냐하면 각자 IDE를 선택하는 데에는 여러 가지 이유가 있을 것이기 때문입니다. 다행히도 위와 같은 문제를 해결하기 위해 탄생한 빌드 전문 도구인 Maven을 사용하면 프로젝트 정보를 pom.xml 파일에서 지정하고 mvn package 명령을 실행함으로써 배포용 실행 파일을 만들어 낼 ...

Maven 사용 기초

Maven 사용 기초 Maven을 자주 사용하지 않는 상황에서 필요할 때 참조하기 위하여 이 문서를 작성합니다. Maven 설치 다운로드 사이트: https://maven.apache.org/download.cgi 이 문서 작성에 사용한 Maven 버전: 3.8.2 프로젝트 생성 및 빌드 기본 과정 프로젝트 생성 > mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false 프로젝트 폴더로 이동 > cd my-app 프로젝트 빌드 > mvn package 테스트 과정을 빼고 빌드를 하고자 한다면 maven.test.skip=true 옵션을 추가합니다. > mvn -Dmaven.test.skip=true package 응용프로그램 실행 > mvn exec:java -Dexec.mainClass=com.mycompany.app.App 응용프로그램에 인자를 전달하고자 한다면 아래와 같이 실행하면 됩니다. > mvn exec:java -Dexec.mainClass=com.mycompany.app.App -Dexec.args="foo bar" 또는 > java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App 자주 사용하는 archetype들 maven-archetype-quickstart maven-archetype-simple maven-archetype-webapp 자주 사용하는 단계들 기본에 해당하는 단계들 compile - 소스 코드 컴파일 package - 컴파일 결과를 JAR 파일과 같은 형태로 묶기 i...

JDK 1.6 + Spring Framework 4 + MyBatis 3 사용 기초

JDK 1.6 + Spring Framework 4 + MyBatis 3 사용 기초 1. 개요 다음과 같은 환경에서 Spring Framework 4 기반의 MyBatis 3 사용 프로그램을 작성하고 빌드하여 실행할 수 있도록 안내합니다. 도구 버전 설명 Windows 10 운영체제 JDK 1.6 Java 컴파일러 및 실행 환경 IntelliJ IDEA 2021.2.2 (Community Edition) 통합 개발 환경 Maven 3.2.5 (JDK 1.6에서 동작하는 마지막 버전) 빌드 도구 Spring Framework 4.3.30.RELEASE 응용 프레임워크 MyBatis 3.4.6 DB 사용 프레임워크 2. 준비 아래 블로그 글을 참고하여 프로젝트를 생성하고 Spring Framework 4 기반 응용프로그램을 작성합니다. JDK 1.6 + Maven + IntelliJ 사용 기초 JDK 1.6 + Spring Framework 4 사용 기초 3. JDBC 설정 파일 추가 3.1. jdbc.conf ############################# ## MySQL ## ############################# jdbc.type=1 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://DB_IP:DB_PORT/DB_NAME?serverTimezone=UTC&useSSL=false jdbc.username=DB_USERNAME jdbc.password=DB_PASSWORD jdbc.validation.query=SELECT 1 mybatis.mapper.location=../conf/mapper/app-mysql.xml #======================================...

JDK 1.6 + Spring Framework 4 사용 기초

JDK 1.6 + Spring Framework 4 사용 기초 1. 개요 다음과 같은 환경에서 Spring Framework 4 기반의 Hello World 프로그램을 작성하고 빌드하여 실행할 수 있도록 안내합니다. 도구 버전 설명 Windows 10 운영체제 JDK 1.6 Java 컴파일러 및 실행 환경 IntelliJ IDEA 2021.2.2 (Community Edition) 통합 개발 환경 Maven 3.2.5 (JDK 1.6에서 동작하는 마지막 버전) 빌드 도구 Spring Framework 4.3.30.RELEASE 응용 프레임워크 2. 준비 아래 블로그 글을 참고하여 프로젝트를 생성합니다. JDK 1.6 + Maven + IntelliJ 사용 기초 3. Spring Framework 사용 3.1. pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>springframework4-study</artifactId> <version>1.0-SNAPSHOT<...

JDK 1.6 + Maven + IntelliJ 사용 기초

JDK 1.6 + Maven + IntelliJ 사용 기초 1. 개요 다음과 같은 환경에서 Hello World 프로그램을 작성하고 빌드하여 실행할 수 있도록 안내합니다. 도구 버전 설명 Windows 10 운영체제 JDK 1.6 Java 컴파일러 및 실행 환경 IntelliJ IDEA 2021.2.2 (Community Edition) 통합 개발 환경 Maven 3.2.5 (JDK 1.6에서 동작하는 마지막 버전) 빌드 도구 2. 사용 기초 2.1. IntelliJ IDEA에서 프로젝트 생성 Windows 시작 메뉴에서 JetBrains 아래의 IntelliJ IDEA Community Edition 2021.2.2 를 클릭합니다. Welcome to IntelliJ IDEA 대화상자에서 Projects 탭 화면의 New Project 버튼을 클릭합니다. New Project 대화상자에서 Maven 탭 화면의 Project SDK 를 1.6 으로 지정하고 Next 버튼을 클릭합니다. New Project 대화상자에서 다음과 같이 입력하고 Finish 버튼을 클릭합니다. Name : HelloWorld Location : C:\DevTest\220402_HelloWorld 생성된 pom.xml 파일의 내용은 아래와 같습니다. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap...

PlantUML 간단하게 사용하기

PlantUML 간단하게 사용하기 UML 다이어그램을 그릴 때 사용할 수 있는 PlantUML을 PC에 설치하고 이미지 파일을 생성하는 방법을 소개합니다. 1. 설치하기 Java 설치 plantuml.jar 다운로드 2. 실행하기 2.1. 텍스트 파일 작성 텍스트 파일 sequenceDiagram.txt 을 만들고 PlantUML 문법 으로 아래와 같이 내용을 작성하여 저장합니다. @startuml Alice -> Box: test @enduml 2.2. 이미지 파일 생성 위에서 작성한 텍스트파일로 다이어그램 파일을 생성하는 방법 두 가지를 소개합니다. 2.2.1. 명령 프롬프트에서 생성하는 방법 java -jar plantuml.jar sequenceDiagram.txt 텍스트 파일에서 한글을 사용하였고 UTF-8로 저장하였다면 아래와 같이 파일 인코딩 형식을 지정하여 실행하면 다이어그램에서 한글이 정상적으로 표시됩니다. java -Dfile.encoding=UTF-8 -jar plantuml.jar sequenceDiagram.txt 위 명령을 수행하면 해당 디렉토리에 sequenceDiagram.png 이미지 파일이 생성됩니다. 2.2.2 GUI에서 생성하는 방법 java -jar plantuml.jar -gui GUI 프로그램은 작업 디렉토리의 변경을 자동으로 감지하고 이미지 파일을 생성해 줍니다. 참고 자료 PlantUML 간단 요약 PlantUML for the impatient PlantUML GUI Written with StackEdit .

진단 성능 평가 지표

진단 성능 평가 지표 혼동행렬(Confusion Matrix) 진단 장비의 성능을 파악하기 위하여 질병의 유무를 알고 있는 사람들을 대상으로 진단을 수행하고 아래와 같이 혼동행렬을 작성합니다. A: 진양성(True Positive) 수 B: 위양성(False Positive) 수 C: 위음성(False Negative) 수 D: 진음성(True Negative) 수 성능 평가 민감도(Sensitivity) 질병이 있는 사람을 양성으로 판정하는 정도를 민감도(sensitivity)라고 하며 아래와 같이 구합니다. 민감도 = A A + C \frac{ A } { A+C } A + C A ​ 특이도(Specificity) 질병이 없는 사람을 음성으로 판정하는 정도를 특이도(specificity)라고 하며 아래와 같이 구합니다. 특이도 = D B + D \frac{ D }{ B+D } B + D D ​ 재현율(Recall) 민감도와 같습니다. 재현율 = A A + C \frac{ A }{ A+C } A + C A ​ 정밀도(Precision) 정밀도 = A A + B \frac{ A }{ A+B } A + B A ​ 정확도(Accuracy) 정확도 = A + D A + B + C + D \frac{ A+D }{ A+B+C+D } A + B + C + D A + D ​ 성능 지표 AUC ROC 양성, 음성 판단 기준을 변경하면 혼동행렬에서 A, B, C, D의 값이 달라지고 이것은 민감도와 특이도가 변한다는 것을 의미합니다. 그래서 양성, 음성 판단 기준을 조정해 가면서 아래와 같은 민감도, 특이도 그래프를 그릴 수 있습니다. TP 비율(True Positive Rate) = 민감도 FP 비율(False Positive Rate) = 1 - 특이도 그래프 곡선 아래의 면적을 구함으로써 성능 평가 지표인 AUC(Area Under the Curve) ROC(Re...