learn-go-with-tests
  • Learn Go with Tests
  • Go 기초
    • Go 설치
    • Hello, World
    • 정수
    • 반복
    • 배열과 슬라이스
    • 구조체, 메소드 & 인터페이스
    • 포인터 & 에러
    • 맵
    • 의존성 주입
    • Mocking
    • 동시성
    • Select
    • Reflection
    • Sync
    • Context
    • 속성 기반 테스트
    • Maths
  • 어플리케이션 만들기
    • Intro
    • HTTP 서버
    • JSON, routing and embedding
    • IO 및 sorting
    • Command line & package structure
    • Time
    • 웹소켓
  • 질문과 답
    • OS Exec
    • Error types
    • Context-aware Reader
    • Revisiting HTTP Handlers
  • Meta
    • Why unit tests and how to make them work for you
    • Anti-patterns
    • Intro to generics
    • Contributing
    • Chapter Template
Powered by GitBook
On this page
  • 번역
  • 왜
  • 목차
  • Go 기초
  • 어플리케이션 만들기
  • 질문과 답
  • Meta / Discussion
  • 기여
  • 누구를 위해
  • 필요한 것
  • 번역
  • 번역자
  • 피드백

Was this helpful?

Learn Go with Tests

NextGo 설치

Last updated 4 years ago

Was this helpful?

번역

왜

  • 테스트를 작성하며 Go언어를 배우기

  • TDD(테스트 주도 개발)의 기반 다지기. Go는 학습하는 것이 쉽고, 테스트 기능이 내장되어 있어 TDD를 배우기에 좋은 언어이다.

  • 튼튼하고 충분히 테스트 된 시스템을 Go언어로 작성하게 될 것이라고 확신한다.

  • 비디오를 보거나 유닛 테스트와 TDD가 중요한 이유에 대해 읽어보십시오.

목차

Go 기초

  1. Mocking - 테스트되지 않은 기존 코드를 가져와 mocking과 함께 의존성 주입을 사용하여 테스트

  2. 속성 기반 테스트 - Roman Numerals kata로 TDD를 연습하고, 속성 기반 테스트에 대한 간단한 소개

  3. Maths - math 패키지를 사용하여 SVG 시계 그리기

어플리케이션 만들기

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

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

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

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

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

  • JSON, routing 및 embedding - 엔드포인트에 JSON을 반환하고, 라우팅하는 방법

  • IO 및 sorting - 디스크에서 데이터를 읽고, 데이터 정렬 다루기

  • Time - 스케쥴 작업들을 위해 time 패키지 사용

  • 웹소켓 - 웹소켓을 사용하는 서버를 만들고 테스트하는 방법 학습

질문과 답

Meta / Discussion

  • Why - 비디오를 보거나 유닛 테스트와 TDD가 중요한 이유에 대해 읽어보십시오.

  • Intro to generics - 제네릭 인수를 사용해 함수를 작성하고, 자신만의 제네릭 구조체(structure)를 만드는 방법 학습

  • Anti-patterns - TDD와 유닛 테스트 anti-patterns에 관한 짧은 챕터

기여

  • 이 프로젝트는 진행 중이다. 만약 기여하고 싶다면, 연락하십시오.

  • 아이디어가 있다면 이슈를 등록하십시오.

누구를 위해

  • Go 학습에 관심이 있는 사람들

  • 이미 Go를 알고 있지만, TDD로 테스팅을 학습하고 싶은 사람들

필요한 것

  • 컴퓨터!

  • 에디터

  • 프로그래밍 경험. if, 변수, 함수 등을 이해할 수 있는지

  • 터미널에 익숙한지

번역

번역자

피드백

원본 :

- 생산성을 위한 환경 준비

- 변수 선언, 상수, if/else 조건문, switch, 첫 go 프로그램과 첫 테스트를 작성, 서브테스트 구문과 클로저

- 함수 선언 구문의 자세한 내용과 코드 문서를 개선하는 새로운 방법 학습

- for 학습과 벤치마킹

- 배열, 슬라이스, len, 인자, range 학습 및 테스트 커버리지

- struct, 메소드, interface 학습 및 테이블 기반 테스트

- 포인터와 에러 학습

- 맵 데이터 구조체에 값을 저장하는 방법 학습

- 의존성 주입, 인터페이스 사용과의 관계 및 io 기본에 대해 학습

- 소프트웨어를 더 빠르게 만들기 위해 동시성 코드를 작성하는 방법 학습

- 비동기식 프로세스를 우아하게 동기화하는 방법 학습

- 리플렉션 학습

- WaitGroup 과 Mutex 를 포함한 sync 패키지의 일부 기능 학습

- context 패키지를 사용하여 장기 실행 프로세스 관리 및 취소

- HTTP 요청을 받고, 응답을 보내는 어플리케이션 생성

- 하나의 코드 베이스에서 여러 어플리케이션을 보조하고, 커맨드 라인에서 입력 읽기

- OS 커맨트 명령을 실행하여 데이터를 가져오고, 로직 테스트가 가능한 비즈니스를 유지하는 방법 예제

- 테스트를 개선하고 코드를 사용하기 쉽게 할 수 있도록 자신만의 에러 타입을 만드는 방법 예제

Context-aware Reader - Learn how to TDD augmenting io.Reader with cancellation. Based on

- HTTP 핸들러를 테스트하는 것은 많은 개발자의 골칫거리로 보인다. 이 챕터에서는 핸들러를 올바르게 설계하는 사안에 대해서 살펴본다.

를 읽으십시오.

번역 작업은 에서 이루어지고 있습니다.

수정이 필요하거나 번역에 참여하고 싶다면 에 PR을 보내주세요.

[vbbono] ()

이슈를 등록하거나 PR를 보내세요. 또는

What a star!

english
한국어
中文
Português
日本語
Go 설치
Hello, world
정수
반복
배열과 슬라이스
구조체, 메소드 & 인터페이스
포인터 & 에러
맵
의존성 주입
동시성
select
리플렉션
sync
Context
HTTP 서버
Command line & project structure
OS exec
Error types
Context-aware io.Reader for Go
Revisiting HTTP Handlers
contributing.md
Go 설치
여기
여기
MiryangJung
hjjg200
MinsuKim
HyunseokJeong
JunpyoChang
JaehoonKim
YoungjunChoi
Seongbin Cho
SangjunCha
hywn
https://github.com/vbbono
KyusikKim
여기
tweet me @quii
MIT license
Logo is by egonelbre
Art by Denise
Build Status
Go Report Card