저번주 우아한 테크코스 프리코스 2주 차 피드백에서 이러한 피드백을 받았습니다 한 함수가 한 가지 기능만 담당하게 한다 그리고, 현재 읽고 있는 ‘클린 아키텍처’ 책에서 다음과 같은 내용이 있었습니다. ‘SRP(Single-Responsibility Principle)는 ‘한 함수가 한 가지 기능만을 담당하는 것과는 다른 법칙이다. 이는 함수형 프로그래밍의 원칙’ 그리고 이 책을 통해서 ‘SRP ≠ 한 함수가 한 가지 기능만 담당하게 한다’ 라는 것을 이해할 수 있었습니다. 그 부분을 공유하려고 이 글을 적어봅니다! ❓SRP의 진정한 의미 SRP의 정의는 다음과 같습니다. ‘단일 모듈은 변경의 이유가 하나, 오직 하나 뿐이어야 한다.’ 이 문장에서 부터 ‘함수’와는 거리가 있다는 사실이 느껴지시나요? ‘..
이번 시간에는 ATDD에 대해서 공부해 보려 합니다. ATDD는 사용자 요구를 더 잘 이해하기 위한 방안으로 탄생한 소프트웨어 개발론 인데요, 현재 TDD에 대해서 공부하고 있는 저로써 TDD의 심도있는 이해에 도움이 될 것 같아 공부해 보게 되었습니다. ❓ATDD란? ATDD는 TDD에서 한 발 더 나아간 개념이라고 할 수 있는데요, ATDD는 인수 테스트-주도-개발 이란 뜻인데요, 여기서 인수는 ‘인수인계’에서 뜻하는 그 인수라는 점에서 ATDD가 ‘소통’에 집중된 소프트웨어 개발 방법론이라는 것을 알 수 있습니다. 개인적으로는 이 그림이 ATDD의 핵심을 말해준다고 생각합니다. ❓ATDD의 장점? ATDD는 각 팀 별로 요구사항을 이해하고 있더라도, 그 이해가 다를 수 있다는 관점에서 사용자의 요구..
이번 우아한 테크코스 프리코스의 3주차 미션을 설계하기 위해 많은 준비를 했는데요, 이번 읽고있는 책인 ‘클린 아키텍처’에서 ‘유스 케이스’라는 개념을 알게 되었습니다. 그리고 ‘유스케이스 다이어그램’ 이라는 것을 같이 알게 되었고, 이를 이용한 시스템 설계를 소개해드리고자 합니다. ❓유스 케이스란 (Use Case) 유스 케이스(Use Case)의 정의는 다음과 같습니다. ‘소프트웨어 개발에서 사용자가 시스템과 상호작용하는 방식을 기술하는 기능적 요구사항을 표현하는 기법’ 이를 이용하여 비지니스의 요구사항을 분석하고, 시각화 할 수 있다고 합니다. 유스 케이스는 다음을 포함하고 있습니다. 액터(Actors): 시스템과 상호작용하는 주체. 주로 사용자, 시스템, 외부 기관 등을 나타냅니다. 액션(Acti..
개발자라면 개발 언어를 불문하고 정규표현식을 접하는 일이 정말 많을텐데요. 초보 개발자인 저에게 정규 표현식은 아직 낯설기만 하네요. 그래서 이번 시간에는 정규 표현식을 완전히 마스터 해보는 시간을 가지려 합니다! 개인적으로 정규 표현식 공부 자료중에서 제일 이해하기 쉽게 만든 영상이라 생각되어서 이 영상을 기준으로 공부하려 합니다! ❓정규 표현식이 무엇일까요? 정규 표현식은 문자열의 검색, 패턴 매칭 및 텍스트 조작을 위한 유연하고 강력한 도구입니다! 기본적인 패턴은 다음과 같습니다 정규 표현식의 자세한 내용은 아래 페이지를 참고하시면 좋습니다! RegExp | PoiemaWeb 정규표현식(Regular Expression)은 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용한다. 예를 들어 회..
이번에는 MVVM에 대해서 공부하며 정리하는 시간을 가지려 합니다. ❓MVVM? MVVM은 MS사에서 프레젠테이션 모델(PM) 패턴을 수용하여 만들어 낸 모델이라고 합니다. MVVM은 모델, 뷰, 뷰 모델 이 세기자의 구성 요소를 가지고 있는 패턴을 말합니다. MVVM 패턴을 통해 ‘애플리케이션의 논리를 UI와 명확하게 구분’하는데 도움이 된다고 합니다! 이에 따라서 UI 수정 비용을 절약할 수 있고, 단위 테스트에 용이해지며, UI 디자이너와 개발자가 함께 작업할 수 있는 환경을 만드는데 도움을 줄 수 있다고 하네요. 그렇다면 어떤 방식으로 애플리케이션의 논리를 UI와 구분짓는 것인지 알아 보도록 하겠습니다. 우선 뷰, 모델, 뷰모델이 무엇일까요? ❓뷰 뷰는 사용자가 화면에 표시되는 구조, 레이아웃 및..
객체 지향을 공부하는 와중 퍼사드 패턴이라는 것을 접하게 되었고 이를 완전히 이해하고자 블로그 글을 적습니다! ❓퍼사드 패턴? 우선 정의부터 살펴볼까요? 퍼사드(프랑스어: façade[fəˈsɑːd] 영어: facade) 패턴(외관 패턴)은 소프트웨어 공학 디자인 패턴 중 하나이다. 객체 지향 프로그래밍 분야에서 자주 쓰인다. Facade (외관)는 "건물의 정면"을 의미합니다. 복잡한 시스템이나 서브 시스템의 인터페이스를 단순화하는 데 사용됩니다. 이 패턴은 클라이언트가 복잡한 시스템의 일련의 서브 시스템과 직접 상호작용하는 대신, 단일 인터페이스를 제공하여 시스템과의 상호작용을 쉽게 만듭니다. 저는 이 글에서 눈에띄는 것은 단순화! 입니다. 자바스크립트의 예시를 보겠습니다. // 복잡한 주문 시스템 ..