본문 바로가기

분류 전체보기66

[개발 방법론] 도메인 주도 설계(DDD) Part.01 - 개발하는 지토 도메인? 도메인 주도 설계(DDD)를 이해하기 위해 도메인이 무엇인지 먼저 정의를 해야겠다. 도메인이란, 여러 의미를 가질 수 있다. 일반적인 요구사항 전문 용어 컴퓨터 프로그래밍 분야에서 문제를 풀기 위해 설계된 어떤 소프트웨어 프로그램에 대한 기능성을 정의하는 연구의 한 영역 도메인 모델? 특정 도메인을 개념적으로 표현 선택된 일부를 나타내는 추상화 시스템 도메인 모델을 사용하면 여러 관계자들이 동일한 모습으로 도메인을 이해하고 도메인 지식을 공유하는데 도움이 됨 소프트웨어 개발자로서... 소프트웨어의 본질은 해당 소프트웨어의 사용자를 위해 도메인에 관련된 문제를 해결하는 능력에 있다. 기술적으로 정교하고 성능이 좋더라도, 사용자의 문제를 해결하는 능력이 부족하다면 잘못된 소프트웨어로 볼 수 있다. .. 2021. 4. 8.
[알고리즘] 위상 정렬(Topological Sort) - 개발하는 지토 위상 정렬(Topological Sort) 위상 정렬은 순서가 정해져 있는 작업을 차례로 수행해야 할 때 그 순서를 결정해주기 위해 사용하는 알고리즘이다. 즉, 방향 그래프에 존재하는 각 정점들의 선행 순서를 위배하지 않으면서 모든 정점을 나열하는 것 이다. 위상 정렬을 가장 잘 설명할 수 있는 예시는 대학의 선수과목 구조 또는 게임에서의 스킬트리 중 선행스킬이 존재하는 경우이다. 앞선 대표 예 두가지 중 각자 더 이해가 쉬운 예시를 떠올려 보면 쉽게 이해할 수 있을 것이다. 위상 정렬이 성립하기 위해서는 반드시 그래프에 순환이 존재하지 않아야 한다. 즉, 비순환 방향 그래프(Directed Acyclic Graph, DAG) 여야 한다. 그리고 하나의 방향 그래프에 대해서 위상 정렬을 수행한 결과 값이.. 2021. 3. 18.
[우아한테크캠프pro] 우아한테크캠프pro 1기 회고 (2020 ~ 2021) : NextStep 우아한 형제들 우아한 테크 캠프 Pro! 👏👏 때는 해를 거슬러 작년 11월, 위의 공고를 보게 되었다. 예전에 학원을 다닐 때부터 익히 알고 있었던 우아한 형제들(이하 우형), 우형에서 최근 몇 년간 신입 개발자들을 위한 최고의 교육 프로그램인 우아한 테크 코스를 꾸준히 주최하는 건 알고 있었지만, 우아한 테크 캠프 pro는 처음 보는 공고였다. 호기심을 가지고 공고를 읽어봤다. 백엔드 개발 (Java) 경력 4년 이상😱😱 그렇다. 나는 모집 대상이 아니었다. 뭐, 합격 못하더라도 미션 도전은 괜찮잖아? 회사에서 곰곰이 생각을 해봤다, 그리고 같이 스터디를 진행하고 있던 블로그 지인분과 공고를 공유하고 이야기를 나눠봤다. 그래, 미션 하는데 뭐 돈이 드는 것도 아니고 일단 한번 해봐도 되는 거 아니야? 이렇게 생각하.. 2021. 2. 2.
[우아한테크캠프pro] 6주차 미션 : 레거시 코드 리팩터링 후기, 코드리뷰 (자바 백엔드, NextStep, 우아한형제들, 우테캠pro, 우테캠프로) 6주 차 미션 : 레거시 코드 리팩터링 저장소: github.com/next-step/jwp-refactoring/tree/jhhj424 1차 리뷰: github.com/next-step/jwp-refactoring/pull/15 2차 리뷰: github.com/next-step/jwp-refactoring/pull/24 3차 리뷰: github.com/next-step/jwp-refactoring/pull/40 4차 리뷰: github.com/next-step/jwp-refactoring/pull/58 참고자료: 조영호 님의 `우아한 객체지향` 발표 , 이동욱 님의 `우아한 객체지향` 정리 , 권용근 님의 `멀티모듈` 정리 , gradle 에서 compile과 implementation의 차이 , gr.. 2021. 1. 24.
[우아한테크캠프pro] 5주차 미션 : 인수 테스트 기반 TDD 후기, 코드리뷰 (자바 백엔드, NextStep, 우아한형제들, 우테캠pro, 우테캠프로) 5주 차 미션 : 인수 테스트 기반 TDD 저장소: github.com/next-step/atdd-subway-service/tree/jhhj424 1차 리뷰: github.com/next-step/atdd-subway-service/pull/11 2차 리뷰: github.com/next-step/atdd-subway-service/pull/22 3차 리뷰: github.com/next-step/atdd-subway-service/pull/33 4차 리뷰: github.com/next-step/atdd-subway-service/pull/47 후기 인수 테스트 기반의 TDD를 진행하여 TC 기반의 요구사항 기능 구현 및 리팩토링에 익숙해지고 있다. Mock을 사용해서 Stubbing 테스트를 작성할 수 .. 2021. 1. 14.
[우아한테크캠프pro] 4주차 미션 ATDD 후기, 코드리뷰 (자바 백엔드, NextStep, 우아한형제들, 우테캠pro, 우테캠프로) 4주 차 미션 : ATDD (인수 테스트 주도 개발) 저장소: github.com/next-step/atdd-subway-admin/tree/jhhj424 ATDD 1차 리뷰: github.com/next-step/atdd-subway-admin/pull/10 ATDD 2차 리뷰: github.com/next-step/atdd-subway-admin/pull/21 ATDD 3차 리뷰: github.com/next-step/atdd-subway-admin/pull/51 ATDD 4차 리뷰: github.com/next-step/atdd-subway-admin/pull/70 후기 ATDD(인수 테스트)를 통한 TDD의 재미를 알게 되었다😁 인수 테스트를 먼저 구현하고, 이후 단위 테스트를 통해 기능을 완성해.. 2021. 1. 4.