Merge branch 'master' of gitlab.com:slon/shad-go-private

This commit is contained in:
Fedor Korotkiy 2020-02-22 15:39:17 +03:00
commit c4203ff740
7 changed files with 46 additions and 5 deletions

View file

@ -3,7 +3,7 @@
В этой задаче нужно написать http server, В этой задаче нужно написать http server,
который по запросу `/?time=hh:mm:ss` вернет PNG с данным временем. который по запросу `/?time=hh:mm:ss` вернет PNG с данным временем.
Сервер должен слушать порт, переданный через аргумент `--port`. Сервер должен слушать порт, переданный через аргумент `-port`.
### Примеры ### Примеры
@ -75,7 +75,7 @@ go test -v ./digitalclock/...
### Запуск программы ### Запуск программы
``` ```
go run -v ./digitalclock/... go run -v ./digitalclock/... -port 6029
``` ```
### Компиляция ### Компиляция

View file

@ -41,6 +41,13 @@ go install ./fetchall/...
После выполнения в `$GOPATH/bin` появится исполняемый файл с именем `fetchall`. После выполнения в `$GOPATH/bin` появится исполняемый файл с именем `fetchall`.
### Линтер
Установите [golangci-lint](https://github.com/golangci/golangci-lint), если вы ещё этого не сделали, и проверьте решение перед отправкой!
```
golangci-lint -v run ./fetchall/...
```
### Ссылки ### Ссылки
1. Чтение аргументов командной строки: https://gobyexample.com/command-line-arguments 1. Чтение аргументов командной строки: https://gobyexample.com/command-line-arguments

View file

@ -45,6 +45,13 @@ go install ./urlfetch/...
После выполнения в `$GOPATH/bin` появится исполняемый файл с именем `urlfetch`. После выполнения в `$GOPATH/bin` появится исполняемый файл с именем `urlfetch`.
### Линтер
Установите [golangci-lint](https://github.com/golangci/golangci-lint), если вы ещё этого не сделали, и проверьте решение перед отправкой!
```
golangci-lint -v run ./urlfetch/...
```
### Walkthrough ### Walkthrough
1. Чтение аргументов командной строки: https://gobyexample.com/command-line-arguments 1. Чтение аргументов командной строки: https://gobyexample.com/command-line-arguments

View file

@ -28,7 +28,7 @@ GET и POST - это методы HTTP. GET запрос используетс
Если открыть http://localhost:6029/go/ed1De1 в браузере, тот перенаправит на https://github.com/golang/go/wiki/CodeReviewComments. Если открыть http://localhost:6029/go/ed1De1 в браузере, тот перенаправит на https://github.com/golang/go/wiki/CodeReviewComments.
Сервер должен слушать порт, переданный через аргумент `--port`. Сервер должен слушать порт, переданный через аргумент `-port`.
### Примеры ### Примеры

View file

@ -27,4 +27,23 @@ BenchmarkSprintf/small-4 8085470 142 ns/op 40 B/op
BenchmarkSprintf/small_string-4 7574479 152 ns/op 40 B/op 4 allocs/op BenchmarkSprintf/small_string-4 7574479 152 ns/op 40 B/op 4 allocs/op
BenchmarkSprintf/big-4 22324 53264 ns/op 69000 B/op 20 allocs/op BenchmarkSprintf/big-4 22324 53264 ns/op 69000 B/op 20 allocs/op
PASS PASS
``` ```
### Примеры
Как запустить все тесты и бенчмарки:
```
go test -v -bench=. ./varfmt/...
```
Как запустить только бенчмарки:
```
go test -v -run=^a -bench=. ./varfmt/...
```
Здесь `^a` - регулярное выражение, задающее тесты для запуска,
а `.` - задаёт бенчмарки.
Как запустить только big бенчмарки:
```
go test -v -run=^a -bench=/big ./varfmt/...
```

View file

@ -1,6 +1,7 @@
package varfmt package varfmt
import ( import (
"fmt"
"strings" "strings"
"testing" "testing"
@ -106,7 +107,7 @@ func BenchmarkSprintf(b *testing.B) {
b.ReportAllocs() b.ReportAllocs()
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
_ = Sprintf(tc.format, tc.args...) _ = fmt.Sprintf(tc.format, tc.args...)
} }
}) })
} }

View file

@ -50,6 +50,13 @@ go install ./wordcount/...
После выполнения в `$GOPATH/bin` появится исполняемый файл с именем `wordcount`. После выполнения в `$GOPATH/bin` появится исполняемый файл с именем `wordcount`.
### Линтер
Установите [golangci-lint](https://github.com/golangci/golangci-lint) и проверьте решение перед отправкой!
```
golangci-lint -v run ./wordcount/...
```
### Walkthrough ### Walkthrough
#### 1. Чтение аргументов командной строки #### 1. Чтение аргументов командной строки