저번주 우아한 테크코스 프리코스 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..
벌써 우테코 프리코스 3주 차가 시작되었습니다! 이번 새로운 과제에서의 테스트 코드가 조금 바뀌었는데요, 단순히 jest로 실행하던 테스트 CLI가 다음과 같이 변경되었습니다. "scripts": { "test": "jest --detectOpenHandles --watch" } watch라는 명령어가 추가되었는데요, 그렇다면 이게 무엇을 하는 것일까요? ❓Watch 모드는 어떤걸 하는 걸까? Watch 모드는 실패한 테스트, 정규 표현식을 사용하여 테스트 하고 싶은 파일만 실행시켜주는 기능입니다. 원하는 테스트를 골라서 실행할 수 있게 되는 것이죠! jest --watch 를 실행하게 되면 다음과 같은 화면이 나옵니다. Watch를 실행하게 되면 다양한 옵션을 선택할 수 있습니다. a 를 입력해 모든 ..
이번에 우테코 2주차 코드 리뷰에서 정말 중요한 피드백을 하나 받았습니다! 바로 전역에서 객체를 선언하지 말라는 것! 그렇다면 왜 객체를 전역에서 선언하는 것이 위험할까요? ❓객체의 특성 이번 우테코 2주차 미션에서 제가 작성한 코드 하나를 예로 보면서 어떤 상황인지 설명드리겠습니다. const carHandler = { readCarsInput: async () => { const INPUT = await readInput(CAR_MESSAGES.INPUT); validateCarsInput(INPUT); return INPUT; }, handleCarConvertedToClass: (cars) => { const carClasses = cars.map((car) => { const carClass =..
개발자라면 개발 언어를 불문하고 정규표현식을 접하는 일이 정말 많을텐데요. 초보 개발자인 저에게 정규 표현식은 아직 낯설기만 하네요. 그래서 이번 시간에는 정규 표현식을 완전히 마스터 해보는 시간을 가지려 합니다! 개인적으로 정규 표현식 공부 자료중에서 제일 이해하기 쉽게 만든 영상이라 생각되어서 이 영상을 기준으로 공부하려 합니다! ❓정규 표현식이 무엇일까요? 정규 표현식은 문자열의 검색, 패턴 매칭 및 텍스트 조작을 위한 유연하고 강력한 도구입니다! 기본적인 패턴은 다음과 같습니다 정규 표현식의 자세한 내용은 아래 페이지를 참고하시면 좋습니다! RegExp | PoiemaWeb 정규표현식(Regular Expression)은 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용한다. 예를 들어 회..