junhkang의 개발 블로그
close
프로필 배경
프로필 로고

junhkang의 개발 블로그

  • DEV (103)
    • Postgresql (47)
    • Linux (4)
    • AWS (4)
    • 운영체제(OS) (1)
    • Spring (19)
    • 네트워크 (3)
    • Java (4)
    • WEB (2)
    • Elastic Search (1)
    • 이펙티브 자바 (10)
    • 디자인패턴 (5)
    • GitHub (1)
    • LLM (2)
  • 홈
  • 태그
  • 방명록
[Spring] 테스트 3 - 언제 테스트 코드를 적용해야 하는가?

[Spring] 테스트 3 - 언제 테스트 코드를 적용해야 하는가?

3. WHEN - 언제 테스트 코드를 적용해야 하는가?3.1 TDD와 BDD의 개념 및 적용 시점TDD (Test-Driven Development): TDD는 테스트를 먼저 작성하고, 그 테스트를 통과할 수 있는 최소한의 코드를 작성하며 개발을 진행하는 방법론입니다. TDD는 테스트를 통해 명확한 요구사항을 확인하고 코드 품질을 보장하는 방법으로 활용됩니다.레드-그린-리팩터 사이클: TDD의 기본 개발 사이클은 레드 단계 (실패하는 테스트 작성) → 그린 단계 (테스트를 통과하기 위한 코드 작성) → 리팩터 단계 (코드 정리 및 최적화)로 이루어집니다.적용 시점: 새로운 기능을 개발하거나 기존 코드를 리팩터링 할 때, TDD를 통해 코드의 안정성과 유지보수성을 높일 수 있습니다.이미지 출처: Apply..

  • format_list_bulleted Spring
  • · 2024. 9. 22.
  • textsms
[Spring] 테스트 2 - 테스트 코드를 어떻게 작성해야 하는가?

[Spring] 테스트 2 - 테스트 코드를 어떻게 작성해야 하는가?

2. HOW - 테스트 코드를 어떻게 작성해야 하는가?2.1 테스트 케이스 선택 방법첫 번째 테스트의 중요성: 구현하기 가장 쉬운 테스트부터 시작하는 것이 좋습니다. 예외적인 상황이나 가장 빠르게 개발할 수 있는 테스트 케이스를 먼저 작성하고, 점차 확장해 나갑니다.점진적 확장: 쉬운 테스트부터 시작해 점차 복잡한 테스트로 나아가면서 시스템의 안정성을 검증합니다.2.2 TDD (Test-Driven Development) 방법론TDD는 테스트 주도 개발 방식으로, 테스트 코드를 먼저 작성하고 이를 기반으로 프로덕션 코드를 작성하는 방식입니다. TDD는 다음과 같은 세 단계를 따릅니다:레드 단계: 실패하는 테스트를 작성합니다. 이때, 아직 프로덕션 코드는 작성되지 않았기 때문에 테스트는 실패합니다.그린 단..

  • format_list_bulleted Spring
  • · 2024. 9. 22.
  • textsms
[Spring] 테스트 1 - 왜 테스트 코드를 작성해야 하는가?

[Spring] 테스트 1 - 왜 테스트 코드를 작성해야 하는가?

1. WHY - 왜 테스트를 작성해야 하는가?1.1 테스트 코드의 중요성테스트 코드는 소프트웨어 개발에서 매우 중요한 역할을 합니다. 기능을 수정하거나 새로운 기능을 추가할 때 코드가 안정적으로 작동하는지 확인할 수 있는 수단이 바로 테스트 코드입니다. 이를 통해 예상하지 못한 버그를 방지하고, 코드 품질을 높일 수 있습니다.1.2 테스트 코드 작성의 장점1.2.1 안정적인 개발 환경 구축테스트 코드는 코드의 변경이 다른 기능에 미치는 영향을 최소화하는 데 도움을 줍니다. 개발자는 자신 있게 코드를 수정하거나 리팩터링 할 수 있으며, 기존 기능이 예상대로 작동하는지 검증할 수 있습니다.1.2.2 버그 감소 및 코드 품질 향상테스트 코드를 통해 코드 내 버그를 사전에 발견하고 해결할 수 있습니다. 이를 통..

  • format_list_bulleted Spring
  • · 2024. 9. 22.
  • textsms
[Spring] Caused by: java.lang.IllegalArgumentException: 이름이 {fragment}인, 둘 이상의 fragment들이 발견되었습니다.

[Spring] Caused by: java.lang.IllegalArgumentException: 이름이 {fragment}인, 둘 이상의 fragment들이 발견되었습니다.

Caused by: java.lang.IllegalArgumentException: 이름이 {fragment}인, 둘 이상의 fragment들이 발견되었습니다. 이는 상대적 순서배열에서 불허됩니다. 상세 정보는 서블릿 스펙 8.2.2 2c 장을 참조하십시오. 절대적 순서배열을 사용하는 것을 고려해 보십시오. Spring MVC가 포함되어 있는 상태에서 중복된 디펜던시를 추가하면서 발생한 에러이다. 라이브러리 버전업, 혹은 신규 라이브러리 추가 시 주로 발생하는 현상으로, 메이븐 클린을 통해 메이븐 리포지토리를 정리하면 된다. 메이븐 클린(프로젝트 우클릭 > maven > maven clean) 그래도 안된다면 실제로 중복된 라이브러리를 정렬 혹은 정리가 필요하다.Spring framework의 경우 we..

  • format_list_bulleted Spring
  • · 2024. 8. 20.
  • textsms
[PostgreSQL] RDS 쿼리 성능 분석 방법 : pg_stat_statements 설치, 고려사항 및 주요 지표

[PostgreSQL] RDS 쿼리 성능 분석 방법 : pg_stat_statements 설치, 고려사항 및 주요 지표

1. RDS에서의 쿼리 성능 분석, pg_stat_statements란?RDS에서는 외부 익스텐션 사용이 제한된다. 쿼리 통계 및 성능에 대한 지표를 알 수 있는 여러 가지 익스텐션이 있지만, 그중 pg_stat_statements가 허용된다. pg_stat_statements의 원리, 사용법, 주요 지표에 대해 알아보자. pg_stat_statements는 실행된 쿼리에 대한 통계를 수집하고 저장한다. 다음은 저장되는 주요 지표들이고, 이를 통해 쿼리 성능을 분석하고 최적화할 수 있다. 쿼리빈도쿼리 실행시간쿼리 리소스 사용량 (CPU, 디스크I/O, 버퍼 히트 등)쿼리 텍스트 저장2. 설치 설치가 되어있지않다면 익스텐션을 먼저 설치하면 된다.CREATE EXTENSION pg_stat_statement..

  • format_list_bulleted Postgresql
  • · 2024. 8. 14.
  • textsms
[디자인패턴] 빌더(Builder) 패턴의 개념, 예제, 장단점, 활용

[디자인패턴] 빌더(Builder) 패턴의 개념, 예제, 장단점, 활용

1. 빌더(Builder) 패턴이란?일반적으로 구조를 갖춘 큰 구조물을 건축, 구축하는 것을 build라고 한다예를 들어 빌딩을 지을 때 지반다지기, 뼈대 만들기 등의 과정을 거치며 아래에서 위로 순차적으로 만들어간다. 복잡한 구조물을 단숨에 완성하기는 어렵기에, 구성하는 각 부분을 만들고 단계를 밟아가며 만들게 된다. Builder 패턴은 이처럼 구조를 가진 복잡한 인스턴스를 조립해 가는 패턴이다. 2. 빌더 패턴의 구조Builder 역 - 인스턴스를 결정, 인스턴스 각 부분을 만드는 메서드를 정의. 예제에서는 Builder 클래스가 역할을 맡음ConcreteBuilder 역 - 인터페이스를 구현, 실제 인스턴스 생성으로 호출되는 메서드가 여기에서 정의 TextBuilder, HTMLBuilder 클래..

  • format_list_bulleted 디자인패턴
  • · 2024. 7. 29.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • ···
  • 18
  • navigate_next
전체 방문자
오늘
어제
전체
전체 카테고리
  • DEV (103)
    • Postgresql (47)
    • Linux (4)
    • AWS (4)
    • 운영체제(OS) (1)
    • Spring (19)
    • 네트워크 (3)
    • Java (4)
    • WEB (2)
    • Elastic Search (1)
    • 이펙티브 자바 (10)
    • 디자인패턴 (5)
    • GitHub (1)
    • LLM (2)
최근 글
인기 글
태그
  • #디자인패턴
  • #AWS
  • #spring
  • #Index
  • #Effective Java
  • #이펙티브자바
  • #test
  • #PostgreSQL
  • #티스토리챌린지
  • #오블완
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바