https://sundaland.tistory.com/51 Maven Build System sundaland.tistory.com 메이븐은 프로젝트 객체 모델이라는 개념을 바탕으로 프로젝트 의존성 관리, 라이브러리 관리, 프로젝트 생명 주기 관리 기능 등을 제공하는 프로젝트 관리 도구이다. 또한 플러그인을 기반으로 소스 코드로부터 배포 가능한 산출물을 만들어 내는 빌드 기능 뿐만 아니라 레포팅 및 문서 작성 기능 등을 제공한다.# 자바 빌드 시스템의 업그레이드, 빌드 명세서 메이븐의 장점뛰어난 의존성 관리 : 의존성 자동 업데이트, 저장소를 통한 라이브러리 일괄 관리모든 프로젝트에 걸쳐 쉽게 적용 가능한 일괄적인 사용법라이브러리 및 메타 데이터 저장을 위한 지속적으로 확장되고 있는 저장소쉽게 작성 가능..
전체 글
https://sundaland.tistory.com/52 Separation of Concerns(관심사 분리) sundaland.tistory.com 관심사의 분리(SoC)는 소프트웨어 설계어서 중요한 원칙 중 하나이다. 이 원칙은 각 부분이 자신의 관련된 기능만을 담당하도록 하여 코드의 가독성을 높이고, 유지보수를 쉽게 하며, 오류 발생 가능성을 줄이는 데 목적이 있다.자바에서는 클래스를 통해 관심사를 분리할 수 있으며, 다양한 방법으루 구현될 수 있다. 대표적인 예로 모듈화, 계층화, 컴포넌트 기반 개발 등이 있다. 아래 예제는 간단한 쇼핑 애플리케이션이다. ▼ 도메인 모델 (Domain Model)public class Product { private int id; private St..
https://sundaland.tistory.com/203 Artifact, DAO, Java Bean sundaland.tistory.com 아티팩트 (Artifact)자바 개발에서 아티팩트라는 용어는 빌드 과정에서 생성되는 파일이나 결과물을 의미한다. 이 아티팩트는 다양한 형태를 가지며, 자바 개발의 중요한 산출물이다. 자바 아티팩트의 종류JAR 파일 (Java Archive) : 자바 클래스 파일과 해당 애플리케이션 또는 라이브러리에 필요한 리소스 파일을 압축한 아카이브 파일이다. 이는 자바 애플리케이션을 배포하거나 라이브러리를 공유할 때 흔히 사용된다.WAR 파일 (Web Application Archive) : 웹 애플리케이션의 배포를 위해 사용되는 아티팩트이다. JSP, 서블릿, 자바 클래스..
https://sundaland.tistory.com/59 원칙과 패턴 - OCP(Open-Closed Principle) sundaland.tistory.com OCP는 소프트웨어 개발에서 객체지향 설계 원칙 중 하나로, 개방-폐쇄 원칙이라고 불리며, 소프트웨어 개발에서 확장성을 고려하여 설계를 할 때 적용되는 원칙이다. OCP는 S/W 개발에서 변경에 대한 비용과 위험을 최소화기 위해, 기본의 코드를 수정하지 않고도 기등을 추가하거나 변경할 수 있도록 하는 것을 목표로한다.개발 (O) : 모듈은 확장에 대해 열려있어야 한다. 즉 새로운 요구사항이나 기능이 추가되어도 기존 코드의 수정 없이도 새로운 코드를 추가할 수 있어야 한다. UserDao는 DB 커넥션 기능을 확장하는데 오픈되어 있어, UserD..
https://sundaland.tistory.com/42 Spring IoC Container 1 sundaland.tistory.com IoC 컨테니어와 빈즈Inversion of Control (IpC) 원칙의 스프링 프레임워크 구현에 대해 다룬다. 의존성 주입 (Dependency Injection)은 IoC의 특수한 형태로, 객체가 자신이 작업하는 다른 객체들을 생성자 아규먼트, 팩토리 머서드의 아규먼트, 또는 객체 인스턴스가 생성되거나 팩토리 메서드에서 리턴된 후에 설정되는 속성을 통해서만 정의하는 방법이다.IoC 컨테이너는 빈(Bean)을 생성할 때 이러한 의존성을 주입한다. 이 과정은 본질적으로 빈 자체가 클래스의 직접 생성 또는 서비스 로케이터 패턴과 같은 메커니즘을 사용하여 자신의 의존..
https://sundaland.tistory.com/309 TDD sundaland.tistory.com 테스트 주도 개발 (Test-Driven Development)은 S/W 개발 방법론 중 하나로, 코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 방식이다.TDD는 개발자가 작성한 코드가 정확하게 작동하는지 보장하기 위해 테스트를 중심으로 개발 프로세스를 조직한다.이 방법론은 S/W의 높은 품질을 유지하고, 코드의 유지보수성을 향상시키는데 매우 유용하다.TDD의 기본 사이클 (Red-Green-Refator)보통 아래의 세 가지 단계를 반복하며 진행된다. 1. Red (실패하는 테스트 작성)개발자는 먼저 테스트 케이스를 작성한다. 이 테스트는 아직 작성되지 않은 기능에 대한 것이므로, 실행 시 ..
https://sundaland.tistory.com/32 Unit Test sundaland.tistory.com 단위 테스트는 S/W 개발에서 개별적인 작은 코드 단위를 독립적으로 검증하는 테스트 기법이다. 여기서 단위는 보통 하나의 메서드, 함수 또는 클래스와 같은 가장 작은 기능 단위를 의미한다. 단위 테스트는 이러한 작은 코드 단위가 예상한 대로 동작하는지를 확인하기 위해 작성된다.작은 범위 : 단위 테스트는 작은 코드 단위를 대상으로 한다. 주로 함수나 메서드 수준에서 이루어지며, 하나의 기능을 독립적으로 테스트한다.독립성 : 단위 테스트는 독립적으로 실행될 수 있어야 한다. 각 테스트는 다른 테스트에 의존하지 않으며, 다른 테스트의 실행 여부와 상관없이 동일한 결과를 제공해야 한다.빠른 실행..
https://sundaland.tistory.com/71 JUnit5 sundaland.tistory.com자바 프로그래밍 언어를 위한 단위 테스트 프레임워크이다. 개발자가 S/W의 작은 부분을 독립적으로 테스트할 수 있게 해주는 도구로, S/W 개발 과정에서 중요한 역할을 한다.JUnit은 테스트 주도 개발(TDD)면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛 테스트 프레임워크 개열이다. JUnit는 컴파일 타임에 JAR로서 링크된다. JUnit 프레임워크는 JUnit 3.8 이하의 경우 junit.framework 패키지 밑에 상주하며, JUnit 4 이상의 경우 org.junit 패키지 밑에 상주한다. JUnit는 단위 테스트를 지원한다. 단위 테스트란 S/W의 가장 작은 ..