일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 1110
- 파이썬
- Java #오븐시계 #백준
- 코딩테스트
- boj
- Java #백준 #코딩테스트
- Java #코딩테스트
- 알고리즘
- java
- python
- 백준
- 24479
- 카카오클라우드스쿨
- sequelize
- 11053
- 카카오 클라우드 스쿨
- Spring #Spring Boot #Java
- Spring
- SpringTokenizer
- 9020
- node
- Spring #Java #Spring Boot
- Spring #Java #Spring Boot #싱글톤
- 7568
- 15552
- kakaocloud
- kakaocloudschool
- 2447
- 11054
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
- Today
- Total
목록CS (13)
YoungSoo

Test Driven Developmen 프로덕션 코드보다 테스트 코드를 먼저 작성하여 테스트가 구현 과정을 주도하도록 하는 방법론 Red - Green - Refactor 순으로 개발 1. Red - 실패하는 테스트 작성 2. Green - 테스트를 통과하는 최소한의 코딩 3. Refactor - 구현 코드 개선과 테스트 통과 유지 이러한 사이클을 통해 TDD를 했을 땐 1. 복잡도가 늦은, 테스트 가능한 코드로 구현할 수 있음. 2. 쉽게 발견하기 어려운 엣지 케이스를 놓치지 않게 해준다. 3. 구현에 대한 빠른 피드백을 받을 수 있다. 4. 과감한 리팩토링이 가능해진다. 이러한 장점들을 확인할 수 있습니다. 반대로 선 기능 구현 후, 테스트를 작성했을 땐 1. 테스트 자체의 누락 가능성 2. 특정 ..
https://search.shopping.naver.com/book/catalog/32491453506?cat_id=50010921&frm=PBOKMOD&query=%ED%81%B4%EB%A6%B0+%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98&NaPm=ct%3Dlhjwzhy0%7Cci%3Db806ce7c65fbeeced2edf92cf81cf952ba85e5ea%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D5b2290da977ac80e0b53601da3f97fbf16c01b48 클린 아키텍처: 소프트웨어 구조와 설계의 원칙 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 이 글은 위의 책을 읽고 간단하게 정리하기 위해서..
https://search.shopping.naver.com/book/catalog/32491453506?cat_id=50010921&frm=PBOKMOD&query=%ED%81%B4%EB%A6%B0+%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98&NaPm=ct%3Dlhjwzhy0%7Cci%3Db806ce7c65fbeeced2edf92cf81cf952ba85e5ea%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D5b2290da977ac80e0b53601da3f97fbf16c01b48 클린 아키텍처: 소프트웨어 구조와 설계의 원칙 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 이 글은 위의 책을 읽고 간단하게 정리하기 위해서..
왜 애자일 방법론을 기반으로 적용했지? 설계 단계에서 설계 방법에 대한 의견 차이가 많아 진행이 어려웠습니다. 팀원들과 각자의 의견을 나눌 수 있는 시간을 제안하였습니다. 이후에 회의를 거쳐 공동의 목표인 프로젝트 완성하고 빠르게 결과를 만들어서 점진적으로 설계하기에 적합한 방법인 애자일 방법론을 채택하였습니다. 애자일 방법론의 적용과 애자일 방법론을 효과적으로 적용하는 TDD와 Jira 애자일 방법론은 소프트웨어 개발 프로세스 중에 고객의 요구 사항 변화에 유연하게 대처하면서 소프트웨어를 빠르게 개발하고 출시하는 방법론입니다. 애자일 방법론은 대표적으로 스크럼(Scrum), 익스트림 프로그래밍(XP), 칸반(Kanban) 등이 있습니다. 애자일 방법론은 개발자와 고객이 지속적인 소통을 통해 요구사항을 ..
Spring Boot로 프로젝트를 진행하며 @Builder 어노테이션을 사용하는 것을 자주 봤습니다. @Builder에 대해 학습하며 빌더 패턴에 대한 내용을 학습해야겠다고 느껴 기록을 남깁니다. 빌더 패턴은 객체 생성 과정을 단순화하기 위한 디자인 패턴 중 하나입니다. 일반적으로 객체 생성에는 많은 인자를 전달하는 생성자 메서드를 사용합니다. 이러한 방식은 인자의 개수가 많아질수록 코드를 이해하기 어려워지고, 실수하기 쉬워집니다. 또한 생성자 메서드가 인자의 순서나 개수를 바꿔도 컴파일러에서는 이를 체크해주지 않아서 버그를 발생시키기도 합니다. 빌더 패턴은 이러한 문제를 해결하기 위해 인자가 많은 객체를 생성하는 클래스를 빌더 클래스로 분리하여, 객체를 생성하기 위해 필요한 여러 단계를 거치면서 객체를..
싱글톤 패턴(Singleton Pattern)은 객체 지향 프로그래밍에서 많이 사용되는 디자인 패턴 중 하나입니다. 이 패턴은 어떤 클래스가 최대 하나의 인스턴스만 가지도록 보장하며, 이 인스턴스에 대한 전역적인 접근점을 제공합니다. 즉, 애플리케이션 내에서 전역적으로 접근 가능한 유일한 객체를 만드는 방법입니다. 아래와 같은 예제를 학습해볼 수 있습니다. public class Singleton { private static Singleton instance; private Singleton() { // 생성자를 private으로 선언하여 외부에서 생성자 호출을 막음 } public static synchronized Singleton getInstance() { if (instance == null)..
디자인 패턴은 반복적으로 발생하는 문제를 해결하기 위한 일종의 설계 템플릿입니다. 이러한 디자인 패턴은 이미 검증된 설계 원칙과 해결 방법을 제공하여 시간과 비용을 절약하고 개발 프로세스의 효율성을 높이는 데 도움이 됩니다. 디자인 패턴은 크게 생성 패턴, 구조 패턴, 행위 패턴으로 구분할 수 있습니다. 생성 패턴 (Creational Patterns): 객체 생성에 관련된 패턴으로, 객체 생성 과정을 추상화하고, 객체의 생성 방법 및 객체 생성 시 발생할 수 있는 문제들을 해결하는 데 중점을 둡니다. 대표적인 예로는 Singleton, Factory Method, Abstract Factory, Builder, Prototype 등이 있습니다. 구조 패턴 (Structural Patterns): 객체간..
디자인 패턴에 대해 공부하기 위해서는 먼저 SOLID 원칙을 알아야겠다는 생각이 들었습니다. SOLID는 객체 지향 프로그래밍(OOP)의 다섯 가지 설계 원칙의 약어입니다. 이 원칙들은 소프트웨어 개발에서 유지보수, 확장성, 유연성 등을 고려하여 설계를 하기 위한 지침으로 사용됩니다. SRP(Single Responsibility Principle) : 단일 책임 원칙 하나의 클래스는 하나의 책임만 가지고 있어야 하며, 클래스가 변경되어야 하는 이유는 단 하나의 이유뿐이어야 합니다. OCP(Open-Closed Principle) : 개방-폐쇄 원칙 소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하고, 기존 코드의 수정에 대해는 닫혀 있어야 합니다. LSP(Liskov Subs..