Skip to content

Commit

Permalink
Resolução de conflitos
Browse files Browse the repository at this point in the history
  • Loading branch information
larien committed Jul 3, 2019
2 parents d891a7d + 817f345 commit 998ccec
Show file tree
Hide file tree
Showing 36 changed files with 1,896 additions and 2,038 deletions.
2 changes: 1 addition & 1 deletion .gitbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ structure:
summary: SUMMARY.md

redirects:
translation: ./translating.md
translation: ./meta/translating.md
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 38 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# Aprenda Go com Testes
# Introdução

<p align="center">
<img src="red-green-blue-gophers-smaller.png" />
</p>
![](.gitbook/assets/red-green-blue-gophers-smaller.png)

[Arte por Denise](https://twitter.com/deniseyu21)

![Build Status](https://travis-ci.org/larien/learn-go-with-tests.svg?branch=master)
[![Go Report Card](https://goreportcard.com/badge/github.com/larien/learn-go-with-tests)](https://goreportcard.com/report/github.com/quii/learn-go-with-tests)
![Build Status](https://travis-ci.org/larien/learn-go-with-tests.svg?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/larien/learn-go-with-tests)](https://goreportcard.com/report/github.com/quii/learn-go-with-tests)

- Formatos: [Gitbook](https://larien.gitbook.io/aprenda-go-com-testes), [EPUB or PDF](https://github.com/larien/learn-go-with-tests/releases)
- Versão original: [English](https://quii.gitbook.io/learn-go-with-tests/)
Expand All @@ -18,27 +15,27 @@
- Explore a linguagem Go escrevendo testes
- **Tenha uma base com TDD**. O Go é uma boa linguagem para aprender TDD por ser simples de aprender e ter testes nativamente
- Tenha confiança de que você será capaz de escrever sistemas robustos e bem testados em Go
- [Assista a um vídeo ou leia sobre o motivo pelo qual testes unitários e TDD são importantes](why.md)
- [Assista a um vídeo ou leia sobre o motivo pelo qual testes unitários e TDD são importantes](meta/why.md)

## Índice

### Primeiros Passos com Go

1. [Instalação do Go](install-go.md) - Prepare o ambiente para produtividade.
2. [Olá, mundo](hello-world.md) - Declarando variáveis, constantes, declarações `if`/`else`, switch, escreva seu primeiro programa em Go e seu primeiro teste. Sintaxe de subteste e closures.
3. [Inteiros](integers.md) - Mais conteúdo sobre sintaxe de declaração de função e aprenda novas formas de melhorar a documentação do seu código.
4. [Iteração](iteration.md) - Aprenda sobre `for` e benchmarking.
5. [Arrays e Slices](arrays-and-slices.md) - Aprenda sobre arrays, slices, `len`, varargs, `range` e cobertura de testes.
6. [Structs, Métodos e Interfaces](structs-methods-and-interfaces.md) - Aprenda sobre `structs`, métodos, `interface` e testes orientados a tabela (table driven tests).
7. [Ponteiros e Erros](pointers-and-errors.md) - Aprenda sobre ponteiros e erros.
8. [Maps](maps.md) - Aprenda sobre armazenamento de valores na estrutura de dados `map`.
9. [Injeção de Dependência](dependency-injection.md) - Aprenda sobre injeção de dependência, qual sua relação com interfaces e uma introdução a io.
10. [Mocking](mocking.md) - Use injeção de dependência com mocking para testar um código sem nenhum teste.
11. [Concorrência](concurrency.md) - Aprenda como escrever código concorrente para tornar seu software mais rápido.
12. [Select](select.md) - Aprenda a sincronizar processos assíncronos de forma elegante.
13. [Reflection](reflection.md) - Aprenda sobre reflection.
14. [Sync](sync.md) - Conheça algumas funcionalidades do pacote sync, como `WaitGroup` e `Mutex`.
15. [Context](context.md) - Use o pacote context para gerenciar e cancelar processos de longa duração.
1. [Instalação do Go](primeiros-passos-com-go/instalacao-do-go.md) - Prepare o ambiente para produtividade.
2. [Olá, mundo](primeiros-passos-com-go/hello-world.md) - Declarando variáveis, constantes, declarações `if`/`else`, switch, escreva seu primeiro programa em Go e seu primeiro teste. Sintaxe de subteste e closures.
3. [Inteiros](primeiros-passos-com-go/integers.md) - Mais conteúdo sobre sintaxe de declaração de função e aprenda novas formas de melhorar a documentação do seu código.
4. [Iteração](primeiros-passos-com-go/iteration.md) - Aprenda sobre `for` e benchmarking.
5. [Arrays e slices](primeiros-passos-com-go/arrays-and-slices.md) - Aprenda sobre arrays, slices, `len`, varargs, `range` e cobertura de testes.
6. [Estruturas, métodos e interfaces](primeiros-passos-com-go/structs-methods-and-interfaces.md) - Aprenda sobre `structs`, métodos, `interface` e testes orientados a tabela \(table driven tests\).
7. [Ponteiros e erros](primeiros-passos-com-go/pointers-and-errors.md) - Aprenda sobre ponteiros e erros.
8. [Maps](primeiros-passos-com-go/maps.md) - Aprenda sobre armazenamento de valores na estrutura de dados `map`.
9. [Injeção de dependência](primeiros-passos-com-go/dependency-injection.md) - Aprenda sobre injeção de dependência, qual sua relação com interfaces e uma introdução a io.
10. [Mocking](primeiros-passos-com-go/mocking.md) - Use injeção de dependência com mocking para testar um código sem nenhum teste.
11. [Concorrência](primeiros-passos-com-go/concurrency.md) - Aprenda como escrever código concorrente para tornar seu software mais rápido.
12. [Select](primeiros-passos-com-go/select.md) - Aprenda a sincronizar processos assíncronos de forma elegante.
13. [Reflection](primeiros-passos-com-go/reflection.md) - Aprenda sobre reflection.
14. [Sync](primeiros-passos-com-go/sync.md) - Conheça algumas funcionalidades do pacote sync, como `WaitGroup` e `Mutex`.
15. [Context](primeiros-passos-com-go/context.md) - Use o pacote context para gerenciar e cancelar processos de longa duração.

### Crie uma aplicação

Expand All @@ -52,12 +49,12 @@ Novos conceitos serão apresentados para ajudar a escrever código de qualidade,

No final desse capítulo, você deverá ter uma boa ideia de como escrever uma aplicação em Go testada.

- [Servidor HTTP](http-server.md) - Vamos criar uma aplicação que espera por requisições HTTP e as responde.
- [JSON, Routing e Embedding](json.md) - Vamos fazer nossos endpoints retornarem JSON e explorar como trabalhar com rotas.
- [IO e Classificação](io.md) - Vamos persistir e ler nossos dados do disco e falar sobre classificação de dados.
- [Linha de Comando e Estrutura do Projeto](command-line.md) - Suportar diversas aplicações em uma base de código e ler entradas da linha de comando.
- [Tempo](time.md) - Usar o pacote `time` para programar atividades.
- [Websockets](websockets.md) - Aprender a escrever e testar um servidor que usa websockets.
- [Servidor HTTP](criando-uma-aplicacao/http-server.md) - Vamos criar uma aplicação que espera por requisições HTTP e as responde.
- [JSON, routing e embedding](criando-uma-aplicacao/json.md) - Vamos fazer nossos endpoints retornarem JSON e explorar como trabalhar com rotas.
- [IO e classificação](criando-uma-aplicacao/io.md) - Vamos persistir e ler nossos dados do disco e falar sobre classificação de dados.
- [Linha de comando e estrutura do projeto](criando-uma-aplicacao/command-line.md) - Suportar diversas aplicações em uma base de código e ler entradas da linha de comando.
- [Tempo](criando-uma-aplicacao/time.md) - Usar o pacote `time` para programar atividades.
- [Websockets](criando-uma-aplicacao/websockets.md) - Aprender a escrever e testar um servidor que usa websockets.

### Dúvidas e respostas

Expand All @@ -67,14 +64,14 @@ Costumo ver perguntas nas Interwebs como:
Se tiver esse tipo de dúvida, crie uma Issue no GitHub e vou tentar achar tempo para escrever um pequeno capítulo para resolver o problema. Acho que conteúdo como esse é valioso, já que está resolvendo problemas `reais` envolvendo testes que as pessoas têm.

- [OS exec](os-exec.md) - Um exemplo de como podemos usar o sistema operacional para executar comandos para buscar dados e manter nossa lógica de negócio testável.
- [Tipos de erro](error-types.md) - Exemplo de como criar seus próprios tipos de erro para melhorar seus testes e tornar seu código mais fácil de se trabalhar.
- [OS exec](perguntas-e-respostas/os-exec.md) - Um exemplo de como podemos usar o sistema operacional para executar comandos para buscar dados e manter nossa lógica de negócio testável.
- [Tipos de erro](perguntas-e-respostas/error-types.md) - Exemplo de como criar seus próprios tipos de erro para melhorar seus testes e tornar seu código mais fácil de se trabalhar.

## Contribuição

- _Esse projeto está em desenvolvimento_, tanto seu conteúdo original quanto sua tradução. Se tiver interesse em contribuir, por favor entre em contato.
- Leia [contributing.md](contributing.md) para algumas diretrizes.
- Quer ajudar com a tradução para o português? Leia [translating.md](translating.md) e entenda como o processo de tradução está organizado.
- Leia [contributing.md](meta/contributing.md) para algumas diretrizes.
- Quer ajudar com a tradução para o português? Leia [translating.md](meta/translating.md) e entenda como o processo de tradução está organizado.
- Tem ideias? Crie uma issue!

## Explicação
Expand Down Expand Up @@ -130,15 +127,6 @@ Usando minha experiência de aprendizado em grupo e a minha própria, vou tentar
- Experiência com programação. Entendimento de conceitos como `if`, variáveis, funções etc.
- Se sentir confortável com o terminal

## Feedback

- Crie issues/submita PRs [aqui](https://github.com/quii/learn-go-with-tests) ou [me envie um tweet em @quii](https://twitter.com/quii).
- Para a versão em português, submita um PR [aqui](https://github.com/larien/learn-go-with-tests) ou entre em contato comigo pelo [meu site](https://larien.dev).

[MIT license](LICENSE.md)

[Logo criado por egonelbre](https://github.com/egonelbre) Que estrela!

## Traduzido com :blue_heart: por

- [Diego Nascimento](https://github.com/diegonvs)
Expand All @@ -156,3 +144,12 @@ Usando minha experiência de aprendizado em grupo e a minha própria, vou tentar
- [Rafael Acioly](https://github.com/rafa-acioly)

[twitter](https://twitter.com/R_acioly) [linkedin](https://www.linkedin.com/in/rafaelacioly/)

## Feedback

- Crie issues/submita PRs [aqui](https://github.com/quii/learn-go-with-tests) ou [me envie um tweet em @quii](https://twitter.com/quii).
- Para a versão em português, submita um PR [aqui](https://github.com/larien/learn-go-with-tests) ou entre em contato comigo pelo [meu site](https://larien.dev).

[MIT license](https://github.com/larien/learn-go-with-tests/tree/09aafaeebaef4443e80a6216cc46fa3d7bfdabbb/LICENSE.md)

[Logo criado por egonelbre](https://github.com/egonelbre) Que estrela!
61 changes: 31 additions & 30 deletions SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,44 @@
# Table of contents

- [Introdução](README.md)
- [Aprenda Go com Testes](gb-readme.md)

## Fundamentos de Go

- [Instalação do Go](install-go.md)
- [Olá, mundo](hello-world.md)
- [Inteiros](integers.md)
- [Iteração](iteration.md)
- [Arrays e slices](arrays-and-slices.md)
- [Structs, métodos & interfaces](structs-methods-and-interfaces.md)
- [Ponteiros & errors](pointers-and-errors.md)
- [Maps](maps.md)
- [Injeção de dependência](dependency-injection.md)
- [Mocking](mocking.md)
- [Concorrência](concurrency.md)
- [Select](select.md)
- [Reflection](reflection.md)
- [Sync](sync.md)
- [Context](context.md)
## Primeiros Passos com Go

- [Instalação do Go](primeiros-passos-com-go/instalacao-do-go.md)
- [Olá, mundo](primeiros-passos-com-go/hello-world.md)
- [Inteiros](primeiros-passos-com-go/integers.md)
- [Iteração](primeiros-passos-com-go/iteration.md)
- [Arrays e slices](primeiros-passos-com-go/arrays-and-slices.md)
- [Estruturas, métodos e interfaces](primeiros-passos-com-go/structs-methods-and-interfaces.md)
- [Ponteiros e erros](primeiros-passos-com-go/pointers-and-errors.md)
- [Maps](primeiros-passos-com-go/maps.md)
- [Injeção de dependência](primeiros-passos-com-go/dependency-injection.md)
- [Mocking](primeiros-passos-com-go/mocking.md)
- [Concorrência](primeiros-passos-com-go/concurrency.md)
- [Select](primeiros-passos-com-go/select.md)
- [Reflection](primeiros-passos-com-go/reflection.md)
- [Sync](primeiros-passos-com-go/sync.md)
- [Context](primeiros-passos-com-go/context.md)

## Criando uma aplicação

- [Introdução](app-intro.md)
- [Servidor HTTP](http-server.md)
- [JSON, roteamento and embedding](json.md)
- [IO e sorting](io.md)
- [Linha de comando e estrutura de pacotes](command-line.md)
- [Tempo](time.md)
- [Websockets](websockets.md)
- [Introdução](criando-uma-aplicacao/app-intro.md)
- [Servidor HTTP](criando-uma-aplicacao/http-server.md)
- [JSON, roteamento and embedding](criando-uma-aplicacao/json.md)
- [IO e sorting](criando-uma-aplicacao/io.md)
- [Linha de comando e estrutura de pacotes](criando-uma-aplicacao/command-line.md)
- [Tempo](criando-uma-aplicacao/time.md)
- [Websockets](criando-uma-aplicacao/websockets.md)

## Perguntas e respostas

- [OS Exec](os-exec.md)
- [Tipos de erro](error-types.md)
- [OS Exec](perguntas-e-respostas/os-exec.md)
- [Tipos de erro](perguntas-e-respostas/error-types.md)

## Meta

- [Por que testes unitários e como fazê-los dar certo](why.md)
- [Como contribuir](contributing.md)
- [Como traduzir](translating.md)
- [Template de capítulo](template.md)
- [Por que testes unitários e como fazê-los dar certo](meta/why.md)
- [Como contribuir](meta/contributing.md)
- [Como traduzir](meta/translating.md)
- [Template de capítulo](meta/template.md)
94 changes: 48 additions & 46 deletions build.books.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,52 +4,54 @@ set -e

docker run -v `pwd`:/source jagregory/pandoc -o aprenda-go-com-testes.pdf --latex-engine=xelatex --variable urlcolor=blue --toc --toc-depth=1 pdf-cover.md \
gb-readme.md \
why.md \
hello-world.md \
integers.md \
arrays-and-slices.md \
structs-methods-and-interfaces.md \
pointers-and-errors.md \
maps.md \
dependency-injection.md \
mocking.md \
concurrency.md \
select.md \
reflection.md \
sync.md \
context.md \
app-intro.md \
http-server.md \
json.md \
io.md \
command-line.md \
time.md \
websockets.md \
os-exec.md \
error-types.md \
meta/why.md \
primeiros-passos-com-go/instalacao-do-go.md \
primeiros-passos-com-go/hello-world.md \
primeiros-passos-com-go/integers.md \
primeiros-passos-com-go/arrays-and-slices.md \
primeiros-passos-com-go/structs-methods-and-interfaces.md \
primeiros-passos-com-go/pointers-and-errors.md \
primeiros-passos-com-go/maps.md \
primeiros-passos-com-go/dependency-injection.md \
primeiros-passos-com-go/mocking.md \
primeiros-passos-com-go/concurrency.md \
primeiros-passos-com-go/select.md \
primeiros-passos-com-go/reflection.md \
primeiros-passos-com-go/sync.md \
primeiros-passos-com-go/context.md \
criando-uma-aplicacao/app-intro.md \
criando-uma-aplicacao/http-server.md \
criando-uma-aplicacao/json.md \
criando-uma-aplicacao/io.md \
criando-uma-aplicacao/command-line.md \
criando-uma-aplicacao/time.md \
criando-uma-aplicacao/websockets.md \
perguntas-e-respostas/os-exec.md \
perguntas-e-respostas/error-types.md \

docker run -v `pwd`:/source jagregory/pandoc -o aprenda-go-com-testes.epub --latex-engine=xelatex --toc --toc-depth=1 title.txt \
gb-readme.md \
why.md \
hello-world.md \
integers.md \
arrays-and-slices.md \
structs-methods-and-interfaces.md \
pointers-and-errors.md \
maps.md \
dependency-injection.md \
mocking.md \
concurrency.md \
select.md \
reflection.md \
sync.md \
context.md \
app-intro.md \
http-server.md \
json.md \
io.md \
command-line.md \
time.md \
websockets.md \
os-exec.md \
error-types.md
meta/why.md \
primeiros-passos-com-go/instalacao-do-go.md \
primeiros-passos-com-go/hello-world.md \
primeiros-passos-com-go/integers.md \
primeiros-passos-com-go/arrays-and-slices.md \
primeiros-passos-com-go/structs-methods-and-interfaces.md \
primeiros-passos-com-go/pointers-and-errors.md \
primeiros-passos-com-go/maps.md \
primeiros-passos-com-go/dependency-injection.md \
primeiros-passos-com-go/mocking.md \
primeiros-passos-com-go/concurrency.md \
primeiros-passos-com-go/select.md \
primeiros-passos-com-go/reflection.md \
primeiros-passos-com-go/sync.md \
primeiros-passos-com-go/context.md \
criando-uma-aplicacao/app-intro.md \
criando-uma-aplicacao/http-server.md \
criando-uma-aplicacao/json.md \
criando-uma-aplicacao/io.md \
criando-uma-aplicacao/command-line.md \
criando-uma-aplicacao/time.md \
criando-uma-aplicacao/websockets.md \
perguntas-e-respostas/os-exec.md \
perguntas-e-respostas/error-types.md
13 changes: 7 additions & 6 deletions app-intro.md → criando-uma-aplicacao/app-intro.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Build an application
# Introdução

Now that you have hopefully digested the _Go Fundamentals_ section you have a solid grounding of a majority of Go's language features and how to do TDD.

Expand All @@ -10,8 +10,9 @@ New concepts will be introduced to help facilitate writing great code but most o

By the end of this you should have a strong grasp as to how to iteratively write an application in Go, backed by tests.

- [HTTP server](http-server.md) - We will create an application which listens to HTTP requests and responds to them.
- [JSON, routing and embedding](json.md) - We will make our endpoints return JSON, explore how to do routing and learn about type embedding.
- [IO ](io.md) - We will persist and read our data from disk and we'll cover sorting data.
- [Command line](command-line.md) - We will create a new program leveraging the code we've made so far to make a command line interface. This will involve us restructuring our project to support multiple binaries
- [Time](time.md) - We will schedule some activities that happen at different times depending on user input.
* [HTTP server](http-server.md) - We will create an application which listens to HTTP requests and responds to them.
* [JSON, routing and embedding](json.md) - We will make our endpoints return JSON, explore how to do routing and learn about type embedding.
* [IO ](io.md) - We will persist and read our data from disk and we'll cover sorting data.
* [Command line](command-line.md) - We will create a new program leveraging the code we've made so far to make a command line interface. This will involve us restructuring our project to support multiple binaries
* [Time](time.md) - We will schedule some activities that happen at different times depending on user input.

Loading

0 comments on commit 998ccec

Please sign in to comment.