전체 글

전체 글

    단위 테스트, 통합 테스트

    이번 프로젝트를 진행하면서 테스트를 메인으로 해보자는 의견이 나와서 공부를 할 겸 궁금한 점도 있어서 정리해 본다. 테스트 코드를 수시로 작성하고 돌리면서 문제를 파악하는 것이 TDD(테스트 주도 개발)에서 얘기하는 테스트가 단위 테스트를 의미하는 것이었다... 테스트는 크게 단위 테스트(Unit Testing), 통합 테스트(Intergration Testing), 시스템 테스트(Ststem Testing), 인수 테스트(Acceptance Testing)로 나눌 수 있다. 하지만 개발자가 개발 단계에서 수행하는 테스트는 단위 테스트와 통합 테스트에 해당한다. 그럼 각각의 테스트가 어떤 역할을 하는지 간단하게 알아보고 개발자가 하는 테스트에 대해 자세히 알아보자. 단위 테스트 개별적인 코드 단위. 즉,..

    [Leetcode] 118 Pascal's Triangle [Java]

    https://leetcode.com/problems/pascals-triangle/ Pascal's Triangle - LeetCode Can you solve this real interview question? Pascal's Triangle - Given an integer numRows, return the first numRows of Pascal's triangle. In Pascal's triangle, each number is the sum of the two numbers directly above it as shown: [https://upload.wikimedia.o leetcode.com 재밌어 보여서 풀었다. ㅋㅋㅋ 그림에서 보는 거와 같이 List안에 List를 하나 더 만들..

    [소프트웨어 아키텍처] 레이어드 아키텍처

    소프트웨어 아키텍처? 소프트웨어 아키텍처는 개발하기 전에 설계 단계에서 결정하는 중요한 요소이다. 소프트웨어 아키텍처는 소프트웨어 시스템의 구조와 구성 요소 간의상호 작용을 설계하고 결정하는 과정이다. 아키텍처는 시스템의 품질(성능, 보안, 확장성 등)을 보장하며, 장기적으로 시스템을 관리하고 유지보수하는 데 있어 중요한 역할을 한다. 이는 소프트웨어 개발의 초기 단계에서 결정되며, 시스템의 복잡성을 분해하고 모듈화하여 개발 과정을 관리 가능한 단위로 나누는 역할을 수행한다. 아키텍처의 대표적인 종류에는 레이어드 아키텍처(Layered Architecture) 마이크로서비스 아키텍처(Microservices Architecture) 서버리스 아키텍처(Serverless Architecture) 핵사고날 ..

    DDD(Domain Driven Desgin)

    최근에 자주 사용된다는 DDD에 대해 궁금해져서 유튜브를 보다가 정리해 두면 좋을 것 같아 정리해보려 한다. DDD Domain-Driven Design(DDD)은 소프트웨어 개발에서 복잡한 도메인(비즈니스 영역)을 이해하기 위한 접근 방법이다. 이는 소프트웨어 시스템의 핵심 영역인 도메인에 집중하여, 도메인의 복잡성을 해결하고 도메인 전문가와 개발자들 사이의 협력을 촉진하는 방법론이다. 이 방법은 Eric Evans가 "Domain-Driven Design: Tackling Complexity in the Heart of Software"라는 책에서 소개하였다. DDD의 개념은 그전에도 다양한 형태로 존재했으며, Eric Evans는 이러한 아이디어들을 정리하여 책으로 발행하였다. 이후 DDD는 소프트..