> For the complete documentation index, see [llms.txt](https://miryang.gitbook.io/learn-go-with-tests/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://miryang.gitbook.io/learn-go-with-tests/undefined/app-intro.md).

# Intro

이제 *Go 기초* 부분을 잘 소화했으며, Go 언어의 주요 기능과 TDD 작동 방식에 대한 탄탄한 기반이 마련되었다.

이번 섹션에는 어플리케이션 개발이 진행된다.

각 장은 이전 장에서 이어지며, 제품 책임자의 지시에 따라 어플리케이션의 기능을 확장한다.

좋은 코드를 작성하기 위해 새로운 개념들이 소개될 예정이지만, 대부분은 Go의 표준 라이브러리로 수행할 수 있다.

이 과정을 끝내면, 테스트와 함께 Go 어플리케이션을 효과적으로 작성하는 방법을 잘 이해할 수 있다.

* [HTTP 서버](/learn-go-with-tests/undefined/http-server.md) - HTTP 요청을 받고, 응답을 보내는 어플리케이션을 만들 것이다.&#x20;
* [JSON, routing 및 embedding](broken://pages/-MWNkqthKaLDrumbMonk) - JSON을 반환하는 엔드포인트를 만들고, 라우팅하는 법을 알아보고, 타입 임베딩에 대해서 배울 것이다.&#x20;
* [IO](broken://pages/-MWNkqtisVh3_h1UfbwC) - 디스크에서 데이터를 읽는 것과, 데이터 정렬을 다룰 것이다.&#x20;
* [Command line](/learn-go-with-tests/undefined/command-line.md) - 명령 줄 인터페이스를 만들기 위해 이때 까지 작성했던 코드를 활용하는 새로운 프로그램을 만들 것이다. 여러 바이너리를 지원하기 위해 프로젝트를 재구성하는 작업이 동반될 것이다. &#x20;
* [Time](broken://pages/-MWNkqtkuFJlEZE-Xa0C) - 사용자의 입력에 따라서 다른 시간에 일어나는 몇몇 활동들을 스케줄 할 것이다.&#x20;
