Skip to content

Commit cee4538

Browse files
author
en-ken
committed
fix: fix kadai1 to kadai2 paths.
1 parent 5f92984 commit cee4538

File tree

7 files changed

+24
-43
lines changed

7 files changed

+24
-43
lines changed

kadai2/en-ken/README.md

Lines changed: 18 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,26 @@
11
# 課題1
22

3-
## 次の仕様を満たすコマンドを作って下さい
3+
## io.Readerとio.Writerについて調べてみよう
44

5-
- [x] ディレクトリを指定する
6-
- [x] 指定したディレクトリ以下のJPGファイルをPNGに変換 (デフォルト)
7-
- [x] ディレクトリ以下は再帰的に処理する
8-
- [ ] 変換前と変換後の画像形式を指定できる (オプション)
5+
- 標準パッケージでどのように使われているか
6+
- io.Readerとio.Writerがあることでどういう利点があるのか具体例を挙げて考えてみる
97

10-
## 以下を満たすように開発してください
8+
### 標準パッケージで使われているところ
119

12-
- [x] mainパッケージと分離する
13-
- [x] 自作パッケージと標準パッケージと準標準パッケージのみ使う
14-
- [x] 準標準パッケージ:golang.org/x以下のパッケージ
15-
- [x] ユーザ定義型を作ってみる
16-
- [ ] GoDocを生成してみる
10+
### 利点
11+
12+
13+
## 1回目の宿題のテストを作ってみて下さい
14+
15+
- テストのしやすさを考えてリファクタリングしてみる
16+
- テストのカバレッジを取ってみる
17+
- テーブル駆動テストを行う
18+
- テストヘルパーを作ってみる
1719

1820
## 使い方
1921

20-
```:go
21-
go build -o kadai1
22-
./kadai1 INPUT_DIR -input-ext [input extension(.jpg/.png)] -output-dir [output directory] -output-ext [output extension(.jpg/.png)]
23-
```
24-
25-
- `-output-dir`は指定されない場合、`INPUT_DIR`に出力される。
26-
- 出力ディレクトリには、`INPUT_DIR`の各処理ファイルと同じディレクトリ構造を保った形で出力される。
27-
28-
## ハマったところ
29-
30-
- os.FileInfoをスライスにappendして返したらヌルポになった。
31-
- ポインタで渡そうにもinterfaceだし、どうやって渡す?
32-
- ひとまずファイルパスだけ返してごまかした。
33-
- go testが最初うまく走らなかった。
34-
- modファイルができてから動くようになった?
35-
- `INPUT_DIRECTORY``-output-dir`のデフォルト値に取りたかった関係で、`INPUT_DIRECTORY`を第一引数に取る形にした。
36-
- よく考えると`-help`などするとき変なことになる...
37-
- cliのテストをするために結構無駄な構造を作る羽目になってしまった。
38-
- テストはgolang.org/x以下じゃなくてもセーフという解釈で、gomock使っている。
39-
- コンストラクタでmockに入れ替える以外でスタブを差し込む方法がわからなかった。
40-
- DIコンテナとか、あまり一般的ではない?
41-
- 上から差し込むためにFactoryクラスを作ったが、実装上あまり意味がない構造をテストのために作ってしまい、ちょっと気持ち悪い。
42-
- package自体のinterfaceってないのだろうか。
43-
- GoDocの生成というのがよくわからなかった。masterにマージされればできる?
44-
- go.modとかgo.sumとかなんとなくバージョン管理のためのものなのだと思うがよくわかっていない。
22+
23+
24+
## kadai1からの変更点
25+
26+

kadai2/en-ken/cli.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"path/filepath"
66
"strings"
77

8-
"github.com/gopherdojo/dojo6/kadai1/en-ken/imgcnv"
8+
"github.com/gopherdojo/dojo6/kadai2/en-ken/imgcnv"
99
)
1010

1111
// CLI is for DI

kadai2/en-ken/cli_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"testing"
77

88
"github.com/golang/mock/gomock"
9-
"github.com/gopherdojo/dojo6/kadai1/en-ken/mock_imgcnv"
9+
"github.com/gopherdojo/dojo6/kadai2/en-ken/mock_imgcnv"
1010
)
1111

1212
func TestExecuteSuccess(t *testing.T) {

kadai2/en-ken/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module github.com/gopherdojo/dojo6/kadai1/en-ken
1+
module github.com/gopherdojo/dojo6/kadai2/en-ken
22

33
go 1.12
44

kadai2/en-ken/go.sum

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
github.com/golang/image v0.0.0-20190703141733-d6a02ce849c9 h1:ijbHThKv+QPsGeQnJ0/DiSrRLBR2QlQtRVcl1u2JhR8=
21
github.com/golang/mock v1.3.1 h1:qGJ6qTW+x6xX/my+8YUVl4WNpX9B7+/l2tRsHGZ7f2s=
32
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
3+
github.com/gopherdojo/dojo6 v0.0.0-20190710155631-1b40d3406c2f h1:UOg/ZpRwvokKADOjfCukjqQXYHb7HOdVSgZGABZc2BQ=
44
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
55
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
66
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
77
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
88
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
9-
golang.org/x/tools v0.0.0-20190425150028-36563e24a262 h1:qsl9y/CJx34tuA7QCPNp86JNJe4spst6Ff8MjvPUdPg=
109
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=

kadai2/en-ken/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package main
33
import (
44
"os"
55

6-
"github.com/gopherdojo/dojo6/kadai1/en-ken/imgcnv"
6+
"github.com/gopherdojo/dojo6/kadai2/en-ken/imgcnv"
77
)
88

99
func main() {

kadai2/en-ken/mock_imgcnv/imgfile.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)