반응형

SW/Gradle 48

Gradle: Java 웹 애플리케이션 테스트, JUnit, Mockito, JaCoCo, SonarQube, Jenkins 활용법, 방법, 예제

웹 애플리케이션을 개발할 때, "이게 제대로 작동하는 걸까?"라는 고민, 한 번쯤 해보셨죠? 코드가 엉키면 예상치 못한 버그가 터지고, 유지보수도 엄청 힘들어질 수 있어요. 그래서 테스트는 필수입니다! 오늘은 Java 웹 애플리케이션을 보다 쉽고 효율적으로 테스트하는 방법을 알려드릴게요. JUnit과 Mockito를 활용한 단위 테스트 작성법부터, JaCoCo와 SonarQube를 이용한 코드 커버리지 분석, 그리고 Jenkins를 활용한 자동화까지! 제가 직접 겪었던 시행착오와 팁도 함께 소개할 테니, 부담 없이 읽어주세요. 😊   JUnit과 Mockito로 단위 테스트 쉽게 하기JUnit과 Mockito, 꼭 필요할까요?개발하면서 "내 코드, 정말 제대로 동작하는 거 맞아?"라고 의심해본 적 있으..

SW/Gradle 2025.02.22

Gradle: Dependency Analysis, 쉽게 이해하기: Subproject와 Transitive Dependency 방법, 예제

개발하다 보면 "이 Library는 왜 필요하지?"라는 궁금증이 들 때가 많죠? 특히 큰 프로젝트에서는 여러 Subproject가 서로 얽혀 있고, Dependency도 복잡하게 엮여 있어요. 이런 걸 제대로 관리하지 않으면, 어느 날 갑자기 "이게 왜 Error가 나는 거지?" 하면서 머리를 싸매게 될 수도 있죠. 😵‍💫 하지만 걱정 마세요! Gradle이 이런 복잡한 관계를 깔끔하게 정리해 주는 든든한 Tool이니까요.오늘은 Gradle Dependency Analysis를 쉽게 풀어서 이야기해 볼게요. Subproject 간의 관계를 명확히 이해하고, Transitive Dependency가 어떻게 작용하는지도 함께 살펴봅시다. 어렵지 않아요! 편하게 따라오세요. 😊   Subproject D..

SW/Gradle 2025.02.21

Gradle: 대규모 Project Build와 Dependency 관리 방법, 예제

Gradle, 처음엔 복잡해 보이지만 한 번 익히면 너무나도 편리한 Build 도구예요. 작은 개인 Project부터 회사에서 쓰는 대형 시스템까지, Gradle이 있다면 Build 과정과 Dependency 관리를 효율적으로 할 수 있습니다.이 글에서는 gradle clean build를 어떻게 실행하는지, 여러 개의 Project를 다룰 때 Dependency을 어떻게 설정하는 게 좋은지, 그리고 Gradle을 최대한 활용하는 방법을 쉽게 설명해 드릴게요. 너무 기술적으로만 설명하는 게 아니라, 실무에서 바로 적용할 수 있도록 실전 예제와 함께 풀어볼 예정이니 편하게 따라와 주세요!자, 이제 Gradle이 실제로 어떻게 동작하는지 하나씩 살펴볼까요?   Gradle Clean Build 이해하기Gra..

SW/Gradle 2025.02.20

Gradle: Properties 쉽게 정리하기 | Subproject 설정과 빌드 최적화

Gradle을 써보면 한 가지 고민이 생길 거예요. Project가 커질수록 설정이 점점 복잡해지고, Subproject가 많아질수록 관리가 더 힘들어지죠. 그런데 걱정 마세요! 사실 방법만 알면 어렵지 않아요. 오늘은 Gradle Project Properties를 깔끔하게 정리하는 방법과, Subproject에 적용하는 실용적인 팁을 알려드릴게요.  Gradle Properties가 뭐길래 중요할까요?Gradle Properties가 대체 뭐냐고요? 쉽게 말하면 Project를 체계적으로 정리해 주는 설정값이에요. 몇 가지 중요한 Properties를 살펴볼게요:Version Management: Project의 Version을 자동으로 지정할 수 있어요.Group 설정: Package처럼 Proje..

SW/Gradle 2025.02.19

Gradle: subproject 빌드 로직 한 번에 정리, 예제, 방법

시작하면서Gradle, 처음 쓸 땐 꽤 편하지만 프로젝트가 커지면 관리가 점점 골치 아파지죠? 서브프로젝트가 많아질수록 build.gradle 파일도 여기저기 생기고, duplication된 configuration이 반복되면서 maintenance가 점점 힘들어집니다. "이거 좀 더 쉽게 관리할 방법 없을까?"라는 고민이 들 때가 많을 거예요. 그래서 오늘은 common build logic을 root project로 옮겨서 깔끔하게 정리하는 방법을 알려드리려고 합니다!보통 규모가 있는 프로젝트에서는 Service Layer, Data Layer, Integration Layer 같은 여러 서브프로젝트가 만들어집니다. 그런데 각각의 build.gradle 파일이 거의 똑같다면? 하나하나 따로 관리하는 ..

SW/Gradle 2025.02.18

Gradle: Multi-Module Project에서 Task 활용 방법, 예제

시작해볼까요?Gradle 들어본 적 있나요? 개발하다 보면 반복되는 작업이 너무 많아서 귀찮을 때가 있죠. 그럴 때 정말 유용한 게 바로 build automation tool인데, Gradle이 딱 그 역할을 해줍니다. 특히 multi-module project를 관리할 때 필수라고 할 수 있어요. 유지보수도 편리해지고, 확장도 쉽고요. 오늘은 Gradle에서 task를 다루는 방법을 가볍게 살펴볼게요!  Multi-Module Project에서 Task를 어떻게 관리할까?Gradle 프로젝트를 보면 root project 아래 여러 개의 subproject(module)가 있습니다. 각각 따로 설정하면 관리가 너무 복잡해지죠. 그런데, Gradle을 잘 활용하면 이런 문제를 한방에 해결할 수 있어요...

SW/Gradle 2025.02.17

Gradle: 멀티 모듈 프로젝트 쉽게 배우기!

시작하며프로젝트를 개발하다 보면 코드가 점점 많아지고, 여러 기능을 따로 관리해야 할 일이 많아지죠. 그럴 때 Gradle 멀티 모듈 프로젝트를 활용하면 코드 관리가 훨씬 편리해집니다! 오늘은 Gradle을 이용해 멀티 모듈 Java 프로젝트를 쉽게 만들고 설정하는 방법을 차근차근 알아볼게요.Gradle 6.6 이후 버전에서는 멀티 모듈 프로젝트 구성이 한결 간편해졌어요. 개발 경험이 많든 적든, 이 가이드를 따라가면 멀티 모듈 Gradle 프로젝트의 개념과 실전 활용법을 자연스럽게 익힐 수 있을 거예요.  왜 멀티 모듈 Gradle 프로젝트를 써야 할까?멀티 모듈 프로젝트가 왜 좋을까요? 간단히 장점을 살펴볼게요. 멀티 모듈이 좋은 이유코드 관리가 쉬워요 – 기능별로 모듈을 나누면 코드가 깔끔해지고 유..

SW/Gradle 2025.02.16

Gradle: 쉽고 재밌게 배우는 멀티 모듈 Gradle 프로젝트

시작하며Gradle을 쓰다 보면 프로젝트가 커지면서 관리가 점점 힘들어질 때가 있어요. 기능이 많아질수록 코드도 복잡해지고요. 이런 상황에서 멀티 모듈 구조를 사용하면 프로젝트를 훨씬 깔끔하게 정리할 수 있습니다. 다행히 Gradle 6.6 버전부터 멀티 모듈을 기본적으로 지원해서 설정도 예전보다 쉬워졌어요.이 글에서는 멀티 모듈 Gradle 프로젝트를 처음부터 하나씩 만들어보는 과정을 가볍게 설명할게요. 읽다 보면 다음을 배우게 될 거예요:멀티 모듈 프로젝트를 빠르고 간편하게 설정하는 법모듈별로 빌드 로직을 효율적으로 관리하는 요령프로젝트를 더 정리된 형태로 유지하는 팁개발 경험이 많든 적든, 편하게 따라오시면 됩니다. 부담 없이 시작해볼까요?   왜 멀티 모듈 Gradle이 필요할까?본격적으로 코딩에..

SW/Gradle 2025.02.15

Gradle: 다중 모듈(Java) 애플리케이션 만들기 : 예제, 방법

시작해볼까요?Java 프로젝트를 하다 보면 점점 코드가 많아지고 복잡해지면서, '이걸 어떻게 유지보수하지?'라는 생각이 들 때가 많죠. 이런 문제를 해결하려면 다중 모듈 구조가 딱이에요! 여러 기능을 나누면 코드가 정리되고, 재사용도 편해지며, 유지보수도 쉬워지는 장점이 있답니다. 오늘은 Gradle을 사용해서 쿠폰 앱을 다중 모듈 구조로 만들어볼 거예요.여기서 배울 내용은?다중 모듈 프로젝트가 뭔지 쉽게 설명Gradle로 프로젝트 설정하는 법부모-자식 프로젝트 연결하는 방법유지보수하기 편한 프로젝트 구조 팁그럼 바로 시작해볼까요? 🚀   왜 다중 모듈이 필요할까요?다중 모듈 프로젝트의 장점한 프로젝트 안에 모든 기능을 한꺼번에 몰아넣으면 나중에 고치거나 확장할 때 정말 골치 아프죠. 그래서 다중 모듈..

SW/Gradle 2025.02.14

Gradle: Gretty 플러그인 : 활용, 사용 방법, 예제, 개념, 설명

오늘은 Java로 웹 애플리케이션을 만들 때 자주 사용하는 Gretty 플러그인에 대해 이야기를 좀 해볼까 해요. 솔직히 저도 이 플러그인을 처음 사용했을 때 진짜 엄청난 시행착오를 겪었거든요. 그래서 여러분이 저처럼 헤매지 않도록, 최신 정보와 쉽게 따라할 수 있는 사용법을 공유해 드릴게요. 특히 Java의 WAR 파일을 Gretty 플러그인으로 패키징해서 서버에 배포하는 과정까지 다룰 예정이라 기대하셔도 좋아요. 그럼 시작해 볼까요?  1. Gretty 플러그인 최신 버전 사용하기먼저 가장 중요한 포인트 하나! Gretty 플러그인을 사용할 때는 꼭 4.0.3 이상의 버전을 사용하세요. 왜냐하면 예전 버전인 4.0.0을 쓰면 Gradle로 App.run을 실행할 때 여기저기서 문제들이 터질 수 있거든..

SW/Gradle 2025.01.22

Gradle : Java 웹 애플리케이션 War : 배포 방법, 예제, 개념, 개요

Java로 웹 애플리케이션을 만드는 즐거운 여정을 함께 해보려고 해요. 개인적으로, 백엔드 로직이랑 사용자 액션이 딱 맞아떨어질 때 그 기분이 진짜 최고잖아요? 그래서 오늘은 간단한 쿠폰 애플리케이션을 만들어볼 거예요. 사용자가 쿠폰 코드를 입력하면 할인을 받을 수 있는 기능을 구현하고, 나아가 이걸 WAR 파일로 패키징해서 서버에 배포하는 것까지 다뤄볼게요.  1. 기본 HTML 구조 만들기먼저 HTML 파일(index.html)을 만들어볼게요. 이 파일은 사용자에게 첫인상을 주는 메인 페이지 같은 거예요. 가장 먼저 할 일은 간단한 HTML 링크를 추가해서, 사용자가 클릭했을 때 쿠폰 코드를 입력할 수 있는 페이지로 이동하게 만드는 거죠. 이렇게 하면 사용자가 쉽게 접근할 수 있어요. 제가 처음에 만..

SW/Gradle 2025.01.21

Gradle : Java EE 웹 애플리케이션 구축: 예제, 방법

Java EE 웹 애플리케이션을 처음 만들 때는 솔직히 꽤 어렵고 복잡해 보일 수 있어요. 하지만 Gradle을 사용하면 놀랍게도 그 모든 과정이 훨씬 수월해진답니다. 이번 글에서는 쿠폰 애플리케이션을 만들어 보면서 프로젝트 구조를 설정하고, 배포까지 단계별로 안내해 드릴게요. 자, 함께 시작해 볼까요?  Gradle로 시작하는 간단한 웹 개발Gradle의 가장 큰 장점은 뭐니 뭐니 해도 웹 애플리케이션을 설정하고 빌드하는 과정을 정말 간단하게 해준다는 거예요. 이번 튜토리얼에서는 사용자가 링크를 클릭해서 쿠폰을 받고, 이를 입력해 할인을 받을 수 있는 간단한 쿠폰 애플리케이션을 만들어 볼 거예요. 이렇게 하면 복잡하지 않으면서도 중요한 개념을 다 익힐 수 있어서, 초보자들에게 딱 좋은 프로젝트랍니다.G..

SW/Gradle 2025.01.20

Gradle : Task 객체와 메소드 : 개념, 예제, 설명, 개요, 방법

Gradle은 특히 Java 프로젝트에서 빌드를 자동화하는 데 정말 강력하고 유용한 도구입니다. 하지만 Gradle의 진짜 힘을 제대로 발휘하려면, Task 객체와 그들 간의 관계를 이해하는 게 정말 중요하죠. 이 글에서는 Gradle의 Task 속성과 메소드, 그리고 이들이 어떻게 서로 연결되는지를 간단하게 설명해 볼게요. 이 내용은 Gradle을 처음 접하신 분들이나, 어느 정도 써봤지만 조금 더 깊이 알고 싶은 분들 모두에게 도움이 될 거라고 생각해요.  Gradle Task 객체와 메소드 살펴보기Gradle을 잘 활용하려면 Task 객체가 뭔지부터 잘 알아야 해요. Task 객체는 빌드 과정의 가장 작은 단위라고 할 수 있어요. Gradle이 실제로 어떤 작업을 수행할 때, 바로 이 Task 단위..

SW/Gradle 2025.01.19

Gradle : Task 객체 : 개념, 이해, 개요, 설명, 예제

오늘은 Gradle Task 객체에 대해 이야기해 보려고 해요. Gradle 빌드 스크립트에서 태스크가 어떻게 돌아가는지, 또 어떻게 빌드 프로세스를 간단하게 만들어 주는지 알아볼게요. 태스크는 사실 Gradle 빌드의 중심축 같은 존재라, 이걸 잘 알면 자신의 프로젝트에 딱 맞는 빌드를 만들 수 있어요. Gradle이 처음인 분들이나 이미 사용해 본 분들이나, 모두 이 글을 통해 태스크와 프로젝트 구조를 좀 더 쉽게 느낄 수 있었으면 좋겠어요.  Gradle Task 객체란?Gradle에서는 모든 게 프로젝트 객체를 기준으로 이루어져요. build.gradle 파일에 적힌 모든 코드가 이 프로젝트의 일부인 거죠. Gradle 빌드 스크립트는 기본적으로 여러 태스크로 구성돼 있고, 이 태스크들이 대부분의..

SW/Gradle 2025.01.18

Gradle : Custom Properties : 추가 방법, 예제, 개념, 설명

오늘은 프로젝트에 Custom Properties를 추가해서 어떻게 더 발전시킬 수 있을지 한번 이야기해 볼게요. 예전에 inbuilt properties를 써서 프로젝트를 다뤘던 걸 넘어서, 이제는 직접 만든 Custom Properties로 프로젝트의 유연성과 확장성을 강화해 보려 합니다. 사실, 이렇게 하면 코드가 복잡해지지도 않고 원하는 대로 조정할 수 있어서 정말 유용하거든요.개발자라면, 언제나 작업을 조금이라도 쉽게 만들어 줄 몇 가지 비밀 트릭을 알고 있으면 든든하죠. 이번에는 Custom Properties 설정부터 사용까지, 쉽게 풀어보려 해요. 그리고 제가 직접 써보면서 얻은 경험담도 곁들여서, 개발 과정이 어떻게 더 효율적으로 개선됐는지도 공유할게요. 그럼 시작해 볼까요?  Custo..

SW/Gradle 2025.01.17

Gradle : Project(프로젝트) : 개념, 개요, 설명, 예제, 방법

Java 개발자로서 build.gradle 파일을 보면 당황스러울 수 있습니다. Gradle의 Groovy 문법과 객체 지향 빌드 자동화 방식은 처음엔 복잡하게 느껴질 수 있습니다. 하지만, Gradle의 개념을 이해하면 훨씬 더 쉽게 활용할 수 있습니다.Gradle의 객체 지향 시스템이 빌드 스크립트를 어떻게 간단하고 효율적으로 만드는지 설명합니다. Gradle이 각 프로젝트에 대해 자동으로 객체를 생성하는 방식을 이해하면, Gradle의 효율성을 쉽게 파악할 수 있습니다.  Gradle과 Groovy: 빌드 스크립트Gradle은 객체 지향 프로그래밍(OOP)의 개념을 활용합니다. 모든 Gradle 프로젝트에는 암시적인 project 객체가 존재합니다. build.gradle 파일의 코드 블록은 실제로..

SW/Gradle 2025.01.15

Gradle : Maven 비교, 설명, 개념, 예제 - Java Builds

Java build automation tools는 소프트웨어 개발의 핵심이며, Gradle과 Maven은 가장 많이 사용되는 두 가지 솔루션입니다. 이 가이드는 Gradle과 Maven의 구조, plugin 시스템, dependency 관리 등 주요 차이와 공통점을 간략히 설명합니다.  Plugin SystemsGradle과 Maven 모두 plugin을 사용해 기능을 확장합니다. Gradle은 java, application 등의 plugin을 사용하여 빌드, 테스트, 실행 task를 정의합니다. Maven은 jar, junit, Surefire 등의 plugin으로 빌드와 테스트를 관리합니다. 두 도구 모두 plugin을 통해 기능을 추가합니다. Dependencies 관리Dependency 관리는..

SW/Gradle 2025.01.05

Gradle Daemon : 개념, 설명, 예제, 명령어, 방법 및 빌드 최적화

Gradle은 현대 소프트웨어 개발에서 효율적인 빌드 도구입니다. 이 가이드에서는 Gradle의 주요 기능인 Gradle Daemon을 살펴보고, 이를 통해 빌드 성능을 개선하는 방법을 설명합니다.  Gradle Daemon이란?Gradle Daemon은 빌드 간 정보를 유지하는 백그라운드 프로세스입니다. Daemon을 사용하면 빌드 시 필요한 데이터를 캐시하여 후속 빌드에서 반복적인 계산을 피하고 빌드 시간을 단축할 수 있습니다. Gradle Daemon 사용의 이점빌드 시간 단축: Daemon은 메모리에 정보를 저장하여 반복 작업을 최소화하고 빌드 속도 향상성능 향상: 첫 빌드 이후 데이터가 캐시되어 이후 빌드 속도 향상불필요한 계산 최소화: 복잡한 계산을 줄여 빌드 효율 향상 Gradle Daemo..

SW/Gradle 2025.01.04

Gradle : Build Phases : 개념, 예제, 설명, 방법

Gradle은 Java와 Android 개발에서 빌드를 관리하는 도구입니다. Gradle 빌드는 Initialization, Configuration, Execution의 세 단계로 이루어집니다. 각 단계의 역할을 간략히 살펴보겠습니다.  Gradle Build Lifecycle 개요Initialization Phase: Gradle은 프로젝트 구조를 결정합니다. settings.gradle 파일을 사용해 프로젝트가 단일 프로젝트인지 다중 모듈인지 파악하고, 각 모듈에 대한 Project Object를 생성합니다.Configuration Phase: Gradle은 build.gradle을 읽고 태스크를 설정합니다. 이 과정에서 Directed Acyclic Graph (DAG)를 생성해 태스크 간의 순서..

SW/Gradle 2025.01.03

Gradle : dependency 및 configuration 가이드, 개념, 예제, 방법

Gradle은 Java project의 build를 자동화하는 powerful한 도구입니다. dependency manage, 코드 compile, test execute, 배포 파일 생성까지 다양한 작업을 간편하게 처리할 수 있습니다. 이 글에서는 Gradle의 종속성 configuration과 Maven과의 차이를 간단하게 설명합니다.  Gradle source set 개요Gradle 프로젝트는 src/main/java와 src/test/java 같은 소스 세트로 구성됩니다. 주요 빌드 단계는 다음과 같습니다:컴파일: 메인 코드와 테스트 코드 컴파일.테스트: 컴파일된 테스트 실행.packaging: JAR 또는 WAR 파일로 패키징.웹 애플리케이션의 경우, Java 코드와 HTML, JSP 파일을 포..

SW/Gradle 2025.01.02
반응형