본문 바로가기

프로젝트9

TDD기반 개발 프로젝트3-1: 드디어 함수 코딩하기..? 드디어 테스트를 수행할 함수를 만들 때가 되었다! 일단 1번 테스트를 해결할 수 있는 함수를 만드는 것을 목표로 하자. 1번 테스트의 내용은 다음과 같다 입력은 문자열을 입력받는다. test1str: list[str] = [ """여러가지 ~니다 로 끝나는 말을 알려드리겠습니다. * 감사합니다: 감사하다는 뜻 * 고맙습니다: 고맙다는 뜻 * 안 감사합니다: 안감사하다는 뜻 * 즐겁습니다: 즐겁다는 뜻""", """여러가지 ~니다 로 끝나는 말을 알려드리겠습니다. - 감사합니다: 감사하다는 뜻 - 고맙습니다: 고맙다는 뜻 - 안 감사합니다: 안감사하다는 뜻 - 즐겁습니다: 즐겁다는 뜻""", ]반환값은 볼딩처리한 문자열을 리턴한다. test1answer: list[str] = [ """여러가지 ~니다 로 .. 2023. 6. 23.
TDD기반 개발 프로젝트2: 테스트 설정하기 TDD(테스트 주도 개발)은 간단히 설명하면, 루프 형태의 개발 형태라고 볼수 있다. 다음의 루프를 따른다. TDD의 개발 사이클 목표를 설정한다. 세부 목표를 설정한다. 목표에 대한 테스트를 만든다. 테스트를 만족하는 가장 최소한의 코드를 작성한다. 중복을 제거한다. 목표가 완료되지 않았거나 중복이 있으면 2번으로 되돌아간다. 목표가 완료되었고, 중복이 없으면 개발을 종료한다. 내가 생각하는 TDD의 장점은, Bottom UP과 Top Down 방식모두를 사용한다는 점이다. 목표를 설정하는 것은 Top Down이고, 가장 최소한의 코드를 작성하는 것은 Bottom Up에 해당한다. TODO: TDD의 장점 더 잘 적기 TDD를 위한 테스트 코드 작성하기 앞서 1편에서 TDD를 위한 목표를 작성했다. (.. 2023. 6. 23.
TDD기반 개발 프로젝트1: 프로그램의 목표 설정하기 개발에 들어가기 전에, 우리의 프로그램이 어떤 목표를 가지고 있는지 명확히 설정하는 것이 중요하다. 이전 글에 언급했듯, 프로그램의 목표는 문자열|파일을 입력으로 받아, 특정 패턴을 가지는 문자열의 영역을 볼드처리(마크다운 에서는 '**'나 '_ _'로 감싸는 것을 말한다.)하는 프로그램이다. 우리가 명확히 해야할 목표는 다음과 같다. '특정 패턴'은 어떤 패턴인가? '특정 패턴'을 어떻게 탐지할 것인가? '특정 패턴'을 어떻게 볼드처리 할 것인가? 1. '특정 패턴'은 어떤 패턴인가? 특정 패턴은 크게 몇가지 분류로 나뉜다. 불릿포인트 이후에 오는 제목(또는 키) 숫자 리스트 이후에 오는 제목(또는 키) 숫자 리스트가.. 2023. 6. 23.
TDD기반 개발 프로젝트0: 마크다운 볼딩처리하는 프로그램 만들기 TDD를 사용해서 간단한 프로젝트를 하려고 한다. 정말 간단한 프로젝트고, 요즘 핫한 인공지능을 사용하지도 않는다. 어떤 프로젝트인지 설명하면, 마크다운문법으로 작성된 문자열|파일을 입력으로 받아 내가 원하는 패턴을 찾고, 그 부분을 볼드처리해주는 프로그램이다. 물론 대부분의 블로그 플랫폼이나 vscode에서는 간단하게 영역을 지정하고, ctrl + B를 사용해서 원하는 영역에 볼드처리를 간단하게 할 수 있다. 하지만 내가 하고 있는 일에서는 볼드처리를 해야 할 일이 정말 너무 많고(수동으로 하루에 4~500단어 정도에 볼드처리를 해야한다.), 볼드처리를 쉽게 할 수 있는 좋은 텍스트 에디터를 사용할 수 없다. 그리고 같은 일을 하는 10명정도의 사람이 존재하기 때문에, 간단하지만 유용하게 사용할 수 있.. 2023. 6. 23.