From 56390d6089ddfc290571bad37aa48b50a8c38f64 Mon Sep 17 00:00:00 2001 From: annkara Date: Fri, 12 Jul 2019 07:42:26 +0900 Subject: [PATCH 01/39] =?UTF-8?q?-=20.gitkeep=E5=89=8A=E9=99=A4=20-=20READ?= =?UTF-8?q?ME.md=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/.gitkeep | 0 kadai1/README.md | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) delete mode 100644 kadai1/.gitkeep create mode 100644 kadai1/README.md diff --git a/kadai1/.gitkeep b/kadai1/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/kadai1/README.md b/kadai1/README.md new file mode 100644 index 0000000..f11b37b --- /dev/null +++ b/kadai1/README.md @@ -0,0 +1,16 @@ +# 課題1 + +次の仕様を満たすコマンドを作って下さい + + * ディレクトリを指定する + * 指定したディレクトリ以下のJPGファイルをPNGに変換(デフォルト) + * ディレクトリ以下は再帰的に処理する + * 変換前と変換後の画像形式を指定できる(オプション) + +以下を満たすように開発してください + + * mainパッケージと分離する + * 自作パッケージと標準パッケージと準標準パッケージのみ使う + * 準標準パッケージ:golang.org/x以下のパッケージ + * ユーザ定義型を作ってみる + * GoDocを生成してみる From de495544a3a90a0037877bb5fd48c87aa77f719b Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 14 Jul 2019 11:22:52 +0900 Subject: [PATCH 02/39] =?UTF-8?q?https://github.com/golang-standards/proje?= =?UTF-8?q?ct-layout=20=E3=81=AB=E5=80=A3=E3=81=A3=E3=81=A6=E3=83=97?= =?UTF-8?q?=E3=83=AD=E3=82=B8=E3=82=A7=E3=82=AF=E3=83=88=E3=82=92=E6=A7=8B?= =?UTF-8?q?=E6=88=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 3 +++ kadai1/{ => annkara}/README.md | 0 kadai1/annkara/cmd/i2i/main.go | 5 +++++ kadai1/annkara/pkg/image/.gitkieep | 0 kadai1/annkara/test/.gitkeep | 0 5 files changed, 8 insertions(+) create mode 100644 go.mod rename kadai1/{ => annkara}/README.md (100%) create mode 100644 kadai1/annkara/cmd/i2i/main.go create mode 100644 kadai1/annkara/pkg/image/.gitkieep create mode 100644 kadai1/annkara/test/.gitkeep diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..138a79f --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/dojo6 + +go 1.12 diff --git a/kadai1/README.md b/kadai1/annkara/README.md similarity index 100% rename from kadai1/README.md rename to kadai1/annkara/README.md diff --git a/kadai1/annkara/cmd/i2i/main.go b/kadai1/annkara/cmd/i2i/main.go new file mode 100644 index 0000000..7905807 --- /dev/null +++ b/kadai1/annkara/cmd/i2i/main.go @@ -0,0 +1,5 @@ +package main + +func main() { + +} diff --git a/kadai1/annkara/pkg/image/.gitkieep b/kadai1/annkara/pkg/image/.gitkieep new file mode 100644 index 0000000..e69de29 diff --git a/kadai1/annkara/test/.gitkeep b/kadai1/annkara/test/.gitkeep new file mode 100644 index 0000000..e69de29 From 09fa84c32f3d15a9b45d1ac1eb5d403116e3eb52 Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 14 Jul 2019 11:54:12 +0900 Subject: [PATCH 03/39] =?UTF-8?q?=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF?= =?UTF-8?q?=E3=83=88=E3=83=AA=E7=9B=B4=E4=B8=8B=E3=81=AB=E5=85=A5=E3=81=A3?= =?UTF-8?q?=E3=81=A6=E3=81=97=E3=81=BE=E3=81=A3=E3=81=9Fgo.mod=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 go.mod diff --git a/go.mod b/go.mod deleted file mode 100644 index 138a79f..0000000 --- a/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module github.com/dojo6 - -go 1.12 From 2c7f5bbdead47322de0e191f9be3ad7e30f24068 Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 14 Jul 2019 15:32:31 +0900 Subject: [PATCH 04/39] =?UTF-8?q?=E3=82=A4=E3=83=A1=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E5=A4=89=E6=8F=9B=E5=87=A6=E7=90=86=E3=81=AE=E5=AE=9F=E8=A3=85?= =?UTF-8?q?=E3=80=82=20=E3=83=86=E3=82=B9=E3=83=88=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=AB=E3=81=A6=E5=AE=9F=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB=E3=81=AEI/O=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=82=8B=E3=81=AE=E3=81=A7=E3=80=81=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB=E3=82=92=E5=88=A9=E7=94=A8=E3=81=97?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=83=86=E3=82=B9=E3=83=88=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=AE=E5=AE=9F=E8=A3=85=E3=82=92=E6=A4=9C=E8=A8=8E?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/pkg/image/.gitkieep | 0 kadai1/annkara/pkg/image/convertor.go | 34 ++++++++++++++++++++++ kadai1/annkara/pkg/image/convertor_test.go | 27 +++++++++++++++++ 3 files changed, 61 insertions(+) delete mode 100644 kadai1/annkara/pkg/image/.gitkieep create mode 100644 kadai1/annkara/pkg/image/convertor.go create mode 100644 kadai1/annkara/pkg/image/convertor_test.go diff --git a/kadai1/annkara/pkg/image/.gitkieep b/kadai1/annkara/pkg/image/.gitkieep deleted file mode 100644 index e69de29..0000000 diff --git a/kadai1/annkara/pkg/image/convertor.go b/kadai1/annkara/pkg/image/convertor.go new file mode 100644 index 0000000..1d48764 --- /dev/null +++ b/kadai1/annkara/pkg/image/convertor.go @@ -0,0 +1,34 @@ +package image + +import ( + "fmt" + "image" + "image/jpeg" + "image/png" + "io" +) + +// Convert is the function that converts an image format to another image format. +// origin is orifinal file, target is converted image, and format is target image format. +func Convert(origin io.Reader, target io.Writer, format string) error { + + var err error + img, _, err := image.Decode(origin) + if err != nil { + return err + } + + switch format { + case "jpg", "jpeg": + err = jpeg.Encode(target, img, nil) + case "png": + err = png.Encode(target, img) + default: + err = fmt.Errorf("対応していないフォーマットです") + } + + if err != nil { + return err + } + return nil +} diff --git a/kadai1/annkara/pkg/image/convertor_test.go b/kadai1/annkara/pkg/image/convertor_test.go new file mode 100644 index 0000000..ab87c01 --- /dev/null +++ b/kadai1/annkara/pkg/image/convertor_test.go @@ -0,0 +1,27 @@ +package image + +import ( + "os" + "testing" +) + +var path = "../../test/" + +func TestConvertSuccess(t *testing.T) { + in, err := os.Open(path + "test.jpg") + if err != nil { + t.Fatalf("failed test %#v", err) + } + defer in.Close() + + out, err := os.Create(path + "test.png") + if err != nil { + t.Fatalf("failed test %#v", err) + } + defer out.Close() + + err = Convert(in, out, "jpg") + if err != nil { + t.Fatalf("failed test %#v", err) + } +} From 3a3c3944b73ec28b397006964ded54a685d9c2ea Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 14 Jul 2019 15:34:18 +0900 Subject: [PATCH 05/39] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E7=94=A8?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/test/.gitkeep | 0 kadai1/annkara/test/test.jpg | Bin 0 -> 31461 bytes kadai1/annkara/test/test.png | Bin 0 -> 15313 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 kadai1/annkara/test/.gitkeep create mode 100644 kadai1/annkara/test/test.jpg create mode 100644 kadai1/annkara/test/test.png diff --git a/kadai1/annkara/test/.gitkeep b/kadai1/annkara/test/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/kadai1/annkara/test/test.jpg b/kadai1/annkara/test/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02bfe5dc40e66d5d059f39c4a703317785e798cf GIT binary patch literal 31461 zcmeGDbyyrt(+3LABEc=e-AQnF2_aYr!2$&L;O=fggA*VjXz*acCAdp)cZcA+=mHCz zCAYlK_g(L~j{JL`8fND=-PP4q)irH1+|S;x0=TbaL}elz{&y9qt8$v;?1rx{wUvI5#2wj}AyYT)aR+!vEl`e{|;JYpMS&4FEQl069 zZUGzv765=~2bb^<4+w6}Kez}U#sAV(9}M>*;t_!LFApw& z{V#s7`k%500PepS1mOMg5d*yJ9f1FDIx;}`C!GRr8a+VtPdYUKx8@%?06_YO2kvX6 z7Xa0Nq|^KpXGn4Y-Jf*0Zb-@i!+-EF{s(6Im;cXmW$a*M>FmPEsf33BJOii!UVt44 zg+CEUpnX6aL(~0lWi!2KjfGiLj=+Phf4_15x)_@N{GrWE@P!8Nu5kLl{4nl?JBf)c#08Y>_FaQJ~qyj}i zKfnY!1l9phc=z`ZRw!@_cL8<~4(JC64157b0Zq^;kPNuPyTM1m!$}CJ0{EaeASBQZ zFbos}zHooO0$zZy01AK+o{t4T@Ibe48BTyZ@Ck?lW&k&U7eoUX0LpOrsPN+$Ub6)d z0Xzq^03HwxXcN$YYkCd*gqME=&u@ZjZwPn;@jxPA3K9h=fx z;pusxf3APs0SK7?M9U<+8$?2Wgo3L6-p0t>S>4UZ#??&A#nRTy*~G}kOx?`E-oyeI z^aKF$#yKeJiar)e9e_UxsCYyaOl%y2Vt)zz(*ZrehbaF~l7LqYk4_zf`#TwUr!VxDQ8#kwrl%zB-w_w=i)wGJof2B4BK3Ihm<>y?JZmWo;s4N-H5wE$SicVe4RP=3+$cVQXXOEbJjh`$xDi z96uy;&{F?laj_PoeW$2QEoJXyM$O00%g#v)FYRRdURd>|%-?05n9Pr?>X@He$4Y%`j-G|E*H^q4Zys!CT~itBC{dPL99* z`2hcI7;)xc*u`wxFjDvQ87ZH zb;RcmjL$};dr{F&pgIPo=P`B)LPIAcA|@eaU}SpwjG32@UqDbuSn8#;jI5meE48=k z8k+C4v`tLS-kV!kS~ zwRQCkjUAm`-95d1{R86@lT*_(vvc!n>l>R}+dIE^_aG;yXXh7}(5veQyWk7Qzs!RF z{$<(!pIz`}IS2s>2@wh9!7dPj`-9UD1w4$D;}+ zFm@V4C#2_HV}LxE_Q$gSdxi!5zq0IK!~Vyv1waZw_(O;Y2#Cmth=|CKkm2+Q_0a>N zqNDyH^uG!74`DwL&cAdI7Xr5w5eW$i1^$PNfrf$m|CsKV;0q-D`*{Ep5x$1UL&SqG z`p;KL_ef*Dt`+Y`lX8ftSp0GujEd#EQ-9wpt$SoLi)cXUV?N4TiqS6o`jLQ+t++#! zi7~}i=J9~LxigPx+KKZF-`QnE4NGw>>FzaObslw9RqEd6vz`qe)Ng7rT_}RbkyrP? zMM6YuXRXT}*@Df^?KSwv-t?)MuI^QVU9T8e>ZPJouP|n#Ge$KL7u}hLT;8uY@1D%* zh`w)8g|@EgWTL_3W}4^0Marg=RlV%F98c7e|OsO8la+SO7bf#pA zHK$J(*u6#=qYm5v`E=S1hos#DPfXWVjwyLYH4zIXJw?b4QIl>2w24D^3(yet0h^{jmY!e4pnWsuCDdnF`scaYOri%jzBw~A)B7KhI3rg^(EEda!Xuw zIw@ZqdFXFhq02{2vg^n*L81x;yF?k-;IB}Fca@=Xt}ZoSawqIw9iG^+t;eUzkw;yP znP$^-XJ9*vQn!eL@8Vp4T2QHunSAP{H%WW~;0*YOQ3r|mvXG3sHJ7-n_NqB;IlaEl z7@F9k7;>BUhJE+)iiEUcLlYIJ<4r44wr9yqu*!o+-rNH!`b9aqkC=&JQ+?|jIbwxx zxHV-LRy*!8Qu(=_WDfMl(Yv)I#A2*;bGDQwp?k zSiWd$dR(TUSD?fU@0sB{il5KNo=k$RcR5h>%D)mXb!>=UmgHs65qe9&=t9|;Zsaw? zAJHS;c}ieiIryW)j&Acs(F*k~8b6WRJyEWvT_2lsN6vWk_~q;dHRq#NEm6@p-Caf| zvIObQXS<=~kylFV$02Aj>W&SEN(nnuo~XZU{EBB5H6PJ_eZ`08QtbTZ?cBnyJ{uS% zq6K+3lcc5?${S6(^D0*5XMLkX{K8?ZOMCzCzV<*0k6i->A7N-Bc;+H#jIY^$t)xoH z{+m9TP|FyG&VZx}y%UlliK?`aZh$u~4gvHYxOv~baSvcB=6kUF>K`c~&+9Jg&02O> zSRxNid|^zqKy*%~FY;aBcC+mt8kx1e$dGvCqmJ@{PvK?#n2%DicBd~FeP8_RVp|f) z3A}-Uok>ENSE6dyj3p8d{r<4QBa8f@c^1rvf<=QE`<6s@P!ZYDVP3YCb|An>UZ(?wke>y@6YedYk} z%n5o|a5+Er@Qln%Uh-8WY6>Z2y?IW44}_Rylhsm!_=-Jp2im>;YU1O`gBJ*7SaXC6 z?Han(;`;?Dm`^viVgU{BPz|KZW2GYGq_?VMZkF;H_Wvfoe znydMFInU&>eY_drV?-KaZ+Y@{u)`c7#+7_mfrY`aPvXm-;oxp%(`zl0TTy%DEj|$DT&(@gx z6W-v-J>W{rMOU$_Pfw9Y@Y`L(vew5jXTYQ;dIZJJI`_8pcyp?SCHj>H+eI_an-n+a z^wGdu=8V`iEN|s8nn_iT%K2}H-XHS`!PLF<{fv*qzm$<}qXMuEICILvUu%362L7ET>(&N0gQGLi4nmZo;P+Wa^{8 zlunuStbTQ%w@LgNhX7GOI7@UyxsVNYg>o3B{lFc#QwzX$tZ6haZ}zm3gUo+_#nWWJ zKU%}{rdffdm4_yQQ7fpSj}33}`*ZTmvvR9Xi`w#;95Ed-C8k>hZ1$%M$KvDQlpupH zZQIMBvgBUr1PtYIgE!yX1{Q6@V-ORgGT)?oKqQc1Dy>j&cW28&os#LxksGKf^9Hlq z=HZ5z^F)malx1B!J!jAT#3M+k%zt!SPTf37g(FvW(CNnM9SbELqWyDDZtHl63b#7?Gdb#zS$9jxK;K#KoQXN^A|c`Iz{d>{MFH)j$Gfqlj57PT z3kS#Fu3WBK%bIk+nQg64=*D4s;2tSUUq?z(k@s(1>KDJqf1qbUF>l+X@;a%5FooYy zd4i#h3y0Ge-h?X#3Z;<(gH%H?oN~LGtuT5B@WjJ4CeohZE)kOlS!(SIIvTV14d=RI7w5$sh3+UZ0u}j7jwq^1*(7RWx z;{zi4?CxrIS1?;JJt*~F>sg62>9HRx$~M%bYPqp2b}4Tuk$n0gsMapxI6CuDR4U`6 z;fK7DVPBOST^PhS?bjo2kYxFFj1En#zipHZvH6UAw~EyEcU{$oH+WMy)YkD)5*d%D2)1y zE?aQOPtb3Hs_J$o%+=G6$-{2(HpT=#eL)@d?GRQ7T&VJPp8pB1vAH6tWzG~;f0vnK z0QiZ^Lc&(Jzj&@=WZwg5gbA6(&CAcNL&J?l;zS}6F})6b+fJA>BeNP?Eh)#xwVvOt z^Y~?HZlxTULmDU6!n&-j4W9H@J)e@&{x#bdDo;$jWq%>rXDn=o1V$@gS;2r7w+mDh zm!9F^*FW8B|8z%N`)Ld1J-*oph0-q$d=LAs$5p@P)#uCU7*Tp8n6Fy9`6pfu*WrCO z$UF}=f_;6|`mK*6Z6vbFE;#Fkfx@{x#JC_S{ zco$k&2RMO7=$ai;JaF2F{3Y)J+*ZTZ5Be-ITGc<9#_V+H#l8~vC^@BN!=(M3eDv;t zAYYgc_$~Kd2DTYQJRNoLX_qE?7S+xBH{KM%D>ZIXcxaXty~0m)sM0k#PLsvcFcZ)8MY--{r?bda795`L(G(*#Q!=*xR8Q~ZIpoIZfWH)(ATp_P z2btuf%kb<`e2I!wVKfSP8*V}|LKo$&?h`ehOw6Wem?xFpFN*g(^hxqgDQ}vo*MyVT zguCNwl+#G3TIR>{Ibw=(kI#>XIM0W;3`zy#H9(1xii^fU+=7Kea@cJ0_2@<$sc$+y zQ{9ij=Agd$Egx6KIJ(7|VjwQozwNRg>(Evu*EGzDPy6&XJAGimeYLq7V4XK5F1Dy+ z;hupDHP3EI`nGiVWW>{%Vd`*J6_tL=B+z+^R+s7+TXJC1kH$y55o}h_aSwzkm5mq` z?5SGqHP+4L$bal$+lhH<+p=C6$Uc4b5%Zj}{tL`xZI0<=`j<|8&vJk!b7W>Sy|skv z9KpE+5%iMqxnCWk7s~R8;BMo&@EWWa%k8-*Azc+c-_XE#eGsuS}%9~V50DzrfA@>Gb2tW89CvGoO8?+ukC zb@Ix>cM>Zb1R@WrR}MvHMss*99p9LQ>PMLj% zmf{di+Prbrs|y#WhN5%{IP@1l#U(IWQ|P&6%{+O!X_&w9&k4}V^|_fOZYK|dszJR} z#8%ctx{ChK8e5vARcICxaG3*R1g|vXM-Ufh%86ASR9gx2QNH7V==FL264Tt8TwfbnoEV0a^=OT)g5u=4XIUN7oGYsB zv9S#im&h}DBgf27p{kzefF^&D<#z*mCyIP?#NRmDn+cVbV&8doE;E&&&U7z=l|QQ1 zW%Oq}lcHWBvvnY2s7;GqLjjll?DERbD}cVYrO-W?S|*5phnW-&n}Wsioe_0rhUlX} zGQO^38MC?4O`VNYYVTfK%a~gCv+E_u>Y8AXf@bKed|A>U1sxK&`x(3qW4yn|Xh+%H z7YRkf0EF*Zk55blCHvdY$}MGQ*YrF^WUVvPj2){hJSQFSVtLmaQulKjVcIo^E5EKN zFUBubr#Hr{`xqMQ<7j2c<;LZP>KxI-F(`KcD(!Pcjy9ey8+#u$6J|R8?tp~IqmK>A zGUTh+*-90H<=^}WJ)T-na*e~Jvlxa~BYG_AHeT2j)6V(Rt&-EM?KjRV*#46*r;{$fOGPrPjU3Xd zvkDqzd;G{IeRPQ0_g9dAD|eciIb+VeATvEl5Q{(Zk>NjjE4|pyG%$;j_P*(&S4%;G z#Q=AaXv$p8=BSc~gg&HVDrS3uIWdCMEzP-&;4&proJbd%(xXX9R5QtT7HsJ^y{<*K zU}f@>WsA2NSC{r!BW|s^zMKcz3x0pvK7DAtE}z8fiR6&;d+!VD+k4=9s#1KE0ZaPI zvysV}2;TLp60dR@FQslhwHMQ(pnQ*yoo-H+5hZgkqDkf`U)yD92j$#pn%xY#6=IqnAGP^DO1RVjm+ zIys^ZFjj?iq_REc6+TVaQ)7>_EY3etaTSj1DlWib-fBO1-tBpLa0%(ugR+zwKg*m=^h%>K^POj+`#N;jyMIG8JeQBSkG-XbjR zfSZ2FFCZRFnWq#tKaEv-H z|83Hpfifzp{*AFBr%AXrqUa^1ka9^lq>r0hMiR+I49o8|%bGFpZt8Vn&l-Q?E~d@GU%%v57?kB^ z@27L(Y7x-o7HEt&2!3b>fB5Pts7`HZ2Z>++)Ou}(6IgU@@&2pEDz^iuV)@z?#Xpe9Xc^l`F4R24e2ulYouiz{OX~OR2)Eg^J$x+V(6vw z#CUB(0FA1j&&GWGnC2(j&fQ?SlDFsGGP)-yLRm=t`J3)psj<8Vi0ws_k79*3)n9Mq z$u*qkBMy71%z%q4W)~Yh<9iImKTBk77Z2JxQ@VHc$21@*BVj%QVWpiD?;hR*dxgJ+ z@PkK{QSQfKk`q4i-z`q*ll`<`N0lXf?)@B7;8a;>jEdw%x)&SCtEaV{q93H*l$0Tx zDptafG+V`EjznlIFSI}8Irx|yZ!})Vc{dQZQP9xKxFLRbI;bVg^1Ckd#jrf>_|f~x zB=m2ujW}~ZM%B)yrKltZ*6##424U$3_g)8CnQO4I*2&)Kyv|#6jM}Q|BS&1Q@l5-; zC6CXPNE#IdNgT4%;W7$vj-1~?%+J`-G2c*Ro*ZE3ouqYrM)NE|3Rg)#jIMCIIaUVx zb@kBdE%-JpgpH=MA^90;UqQOv>C3NDnVjsSE1roCufa~juq9{20qj*p=Sw_cgn~G) z;N?=e&7v3FzkNd_I;=~L6&qRcEWvRC)E+SxBv+e8Ol%`+qiVEJlJ7O}T}Qk0vfUZ4 zLJMVW9fgaC;Klk#>JHHm)?UE;iu6jYgUgcJBjr`ibgs7|_xi~^OF#9MDd7lngxd!B zA=B<$CD8D1V*MXN@r_3j0Oys9K8(e!K zUp4Jbm<6#|a}&B!ts$e zccQdOWV^vz06{b6t>Fkd=9RY$$>*COr#IpX(6Brop>cLwQLdbvWofe$eOcaEQ6*RXZv>u%C%EQcd9i0QoSchcvTFu)^iSp}J{$DZS@w1HK3_1| zkwDvX*XFOcBOGUF;mj>eM|c?)CK<&NvvF*=Q-M|o;yL^6suj;kPPXXjk(~xo#Y?(G>Gf3--$y-q-|jt z^-(JF8>b`#ueAGP@9vt52Q$uTonwuVrvTyGE=H89GE$ELp1wWj*td|GP7W$5aGCeY z$1$talFK$L@t3ubA-43*Cs$6MeNhB!2{a$L%zp4tnGU(#hvZ;uvtDNn!A(Xd6EVNP8 z;ROuODNYmXGmFm3iMz{xXD|k4Grqb1k#_<&8px9F2;7^_67%GA82NH z%)H9%z~z9^-mF<})cwSp@9VRjS6^WkG761K&%s(aAK=j8SB+J}S*`23ISw^=l0W$+ zN<%pIa|-I=UCdY0j>R6p=*i1oM|w_Ea}*)s^VWH_Rd}%bNUh2HFIP&eR-I-q~s@*S{zFAuP+Pa2M;2ITm$*R`ZE} zt%oQ>=8aWsAk4AEN{uP3NsV{ZGQ&hJPJWx`#eq{6AtKFUkZ@u>-o75!_Lkf1$QS+I z(R%>-P6Q@>oAJe{DY{8=jY7Vk)LMbG-;SuLP8Fm)7@cz@f`C2UFHv|$HVs38Sj&=* z1RuE#tB_g?ed=~ZbHzl87xZn%GAi#bP7c&`%+5>`9zQQhTl; zoUPR<`(5JY9kbuCJ`yz6YFeLTEMfiSNDAj8p>?Jvr!o?y(V3mz=vJfH$51&%U-0&o z>$^%V!zLO=mEVSUz*8k1wWCnI7$lV|r`8=81#{)g8`SdUazY=jG1q-9R@Wh6md|Op z8ZR*==nS5~;Jf5l~H-3&s>y)}4jbH1ZVXR>+-^lCaZS(tGR zG?U1al-J#1-;G_*1edFl!It02bq+^?<<2SUyf2RpKvu0-FoV_7S0Z9oqg`bSsz#?T z?g4oesRIY!;?XnLjAg;@&QLKB!Mgf(9=nAI&uqb2(IPEkP!D|DkFZSpWc^ywi_bAG%5O9L*C?j*Qw8~79B7jOH@W9( z2iB)LZ^z15kLW`_756y2J-@z*^}0cK#h)5GaeY=V!jozg{Caojok!p5$Dh5B`3Bk&kRn ze%50dMn4rs6Z2v{OVm*wbUy*pj~u}GO_y-+bhU^%i+|OVK2TS=(aih<7jtfG-%OQa zen*fMW62o63gDV6QqlB7#h*Ap=Ca4QlLW64g`5}-pNApKe$%bU@? zniAhz-`8F~E-^=T@fExicCO${w|=d+cbS|oSY6y=M`GM&P*o|>CtP>@?uZUZXfr>( z2bA%C24^^{{k}ZR+N(`%;=j1Gx44;R$>n}AR2|r?9+#ebq{~SYRA-|>@Vlpkjs7+L z8cWXQWw!xo=3DULfR8}sf}^YRW-tBIm;IKWOvm7W#<-Qefr@z@#~v>IC*@H4=U~_+ z)&?8*-i{iCp!z4ByP8cx1>=$-*GU~K!ZAojXaUAppBY3cF(FRVo`uD{^8VYz^E!9O ztz4aASIm5mJ9YK=DUBD8s6cU{+bzGRcsUR(y<##q?8)bJt+_n+?2a`3=gvfCWBjJ@ zEgDXiDiUKv(h{uKn4}VH6{N;mxf|A!{i`lJ;6uAW-NYTPp4fRtg^}2HflFo24BB^{ z;g60MLo^cRZ|6JNMJuA7jA}ZAI|e(caGHG0*G$J}IyY466!p74$d|Q@5_9LOZC>rt z=CDsWM$fikvNVtS(RjESkm&r@6lO?=Irg*GlGa2GTJOknF7EQa%9YE1A#T!cH_P`6 z_7ZA<(xrrALCFUd5gUatg&dce{|I@%LMmWJV+7vaOM$TLNL&p1nF>e)~s+=vnggixw9}A_fcsboo{11R*{!N0%0__Yl>~ z8BwIcwL{Lig(ZbA=+#8=TLKMH+e~^lsC|#wS(eSGsi%CX@H4?N_do|rna6HU5O`i9 z8Dgc(Q~GPGqnIFG+@uLM@Xj=j>uPZ0r=nVC3+HqbhqHq%+u_+}Z9}Ng*FMGQC&D34 zDqrT*lX_l-8rCmb6;ECyZl6qkD2W|a#OY|o5tRgwk93PuOyz}j3#evCXd^Y&Th}1d z%gs2P()s3wxpDN_1P@tREu+-Ot_>YWHOc$hT{aSj&b+I&B-MySN#LRVLLzBGDrl6} zI?%`MsE>0)omZQ(fhERfYmy1tcA6vC?%0$~!eF&L_p1P_-<5%NAj9 z+9+9F%%09iGiy&wb1zwf>OOp1GG$zBhwtz=1LY|`>R^NJd8CzDmAM7cM#tp2jd#I3 z(Ltsd13&vTt?BE9kN|F$v!C7Kg5ZLV!6iDq<`$|smEnsgMRBi8<>P%u!$BgiKD|E| z0s{4M*t6HDBJ_zzOYYho{C`khOx2)itGT&|$jyCAUGtw7tTFEpWC%l-V{EvPFStak z8HwV!qqM#wonUK{Z{e+(Mw%hj&#E}aQ?!l)H!?aI&~pqF(9yY58_%!I=~$%dB{x6b zlQ0Y2S4p<6r-^&K_m(+nb~CKAH@QO)tM}Eljxt0y10Afp43H|;R=8ppTqJpBrwlYq zXz@oN^|^g({Jiu^&}alXkZ)rJ560a>=u5fN2X;uE#3Q}UPuJ&(*ldt8EY z6%n&0LrSD$^t|mQO>af};CeGk*D`h87{%IDsz~8ZDAC)P<+XWnA;nPDaO8HVbvYr>dI0{I&`A_@t z(zw*9?d1BHM&T1_=FA3*PNM=_uZ%>n^+g@DV2zQI5*kbEG4d)LmvY0#{r7kOP*;#? z+iwad?`FR!s8Sat7PK@w-M#J7zycMNIxYRo5lv_1GxQTyw_VnR;LI=X6(sXK@p=NGFuir0uon8dNnYW%XGiT?^jWD!la#rHry3+m4C4eFc#XWaE=Fi;+{mjN;}FDiK5FgUrN=qbZtIJXrGI( z`5mqjuF^g5xLNy!?UxZ;T?z0FYi5qGwX+JC@nazgTaAeFLc6MCDCO#Tc|Z&89Q5lN zO0+~}c~0_O7ijg${lC8Ra< zDBB}2?isUVA6=fmh(FOC<&vdW^kLMG^^;#e&R9{b?h^0Npu2u7KAg2pt?_1)2hP^+ zF(rNCTB!Gct-}iZ9k9V+1-M0w5$5rI0O5PDO+C5c<$B8khL*@H5uS|-UhO8cMhRRB zTHIuouwi5~?(?#Hp!ZsGyhfttWvTK@FXVJ zq-!x&o#aONv9l6kD+Fg^QXSee z!7jyh_1=Vfsuu#D$$Hvo{FPM$a;Ed`8gF~aO=FP#*oO*!&^V?qYVOJg`H}B6njd^z zYyEhg!@Y#{>d5+is92?vIqQmfs8H@}u1KZS=R-*VZ5&tX6>K=tQJwI{Uq4Lm(Yfrr zA1xRq{J_O%Jrjd1N<;gL^_K&k?UU>Tu}YgO*zBBM)hQPVVAAZ<0KQyLiMbNGFxrsaEaBcj6~~9*~wSXtP6|QQYkn8|=qpecc-1^5v`wU3V9$vnaj982#|{ zNY{QaF#Y>4x77{W27?Ig*C&=oRkBFnfV$+%+LJHy7W8^Km|uTzN-_^MyPY1NlJ;n` z&{fQp;wV7NAs?ln*?F?19{iSvu44Ss$!^tHyz#k4O>-N-)6WDVluR2GM09*7O0h7Z z@_ujY66gt4je;k$F4hYn_g-&%>Qh=Z4A3b*Htb2A;AT{;3sePMy{zPSsmym6J^re8 zI_?!%f6$inS$#vTlepzuPFfQ5N6Jf*<;;+wH85qEZJv_Yb`C*kHg9&jC3WiblMvHj zTDb)ir1*EBc8pVyYVP#UrFh21H1{CaR!R?+F8LAn{F?Wu!koOjg5A$1OT!?SRk1s!G5>@SJUhxQ#x@&LgLX$d7@uxhKVny_)Uu z$QuD+|Idfs1v+1_euno+Jt^B!F6so}pJuq`(U(>PTU;)z1nYA_a6Y&wdUtgw;aEC& z1eWrNG$<(AvAOc%P@LD33u*;*)?+%oOJip_^2fRBODr7;`Roy-_huM5?jEqw2?^yAJi#cS!)uhm z@7sje|9)16Q_1YLKAcy1ARQ9K!9XfQ|-#K8Z8mkFGILKd` z-Bpie9XsN&N3W!>*^?)&15)Gn8h_{$Pwoet6p0}n$$Ed9^hHazX} z@fX!-QYe1<3q#G_QuS)cpD@(mHvHNaO*gI4Tl;Z7t zrn0R`my@Uc7{=}AXWoW73N=J3R<=Phi$G5=S^^o=r zUq(9m0pR6i=>)LY(fmao!Ia7+uFclSAXvb$_KPQ5H6(qYi&7+};T|CUx#myo5!T+q zG$CrRhOx_9qsP21@=?oVFCn{^nXBR5gpU zNCd#t9eS0fObN%DO8A>>@4iX*n%RH4Bx^~!pgJU2#jq!YzPKBH7i=H>)4Z@eNt|t0 z<9a|_e*j51G-EE(@X=ZOf%TCA@;<~z25OYQ?}U4agBH5#rAX9w4}2kkS(E>Ka??NR zU8*t`o9FSOaX&}mvqAXX6PFZa@Zow=eT}>Hh`HKH=IOoxeSLy}#U`1SJQ8J>gS218 z-JJL%e>5K{+c!va*g0t#nZozLdGRS#PcoJ1H02sfzw7CZ9sEO|@|J9Ni%cwi!ub9K zY3>v^Y2MU*!JY)a>JIsRCGqNEtF{EzBZ6=E!Q+Jsr_`mLPi#j@SpsFL$yXi6zw{O` zmhgIrp5>F@j!1>ob#2_n`?d;5qpG)!;C8#QLg=TtRnc+zyF&&B6C#YVTCQ5%})c_fz; z93>Twm=|JI^$a$dJ0eetqn&p;AE&P8`4xgVnf=WglddsQMx&V*S}u1 z}|>tJrajnZQw#(KOa6W5BXH=lKvJ#OCY)L>yj0ilyT5aUaV z$q^Yb7p0CvtIG+GzJa5&Z{A+*b=g;@L`Pd{S3?jTg<}S^^!Vc)Uv<<1G`8c8raD!j zMxK&SOIgyvEdn3y(Q0`eM>|qtaG(JjOZWUWvfRm61B-DVuJvfoCb1Hda(23)9r-Gq zFcn7&^nQsXE;f9g9?`xjtpGE@D~%Q>NQnfV3kH^ye)WXOguNLNPrJXRGsV>6wfdUT zh5W(AAbEIka0AX~YzJ;b&y|v8N@Q8*flfZ#{$(`Q`A{) zPOe$EP8vhvkwVwe9Twp1*G#6j`4Lr!C{`8QDDC!2Wfos&_RM~+b-lGK5V<^{y4mE0 zyYrB9pfR5=bc;GZ@T+|W1-)8YU`(3Zqm~dzXu7DB@YbcJW@wd{v5+3!kN7eC#uqx+Dq z5*vRk<72hsGPCfHrGIA`f{A?FzagB^oj%@<#$H{pU6%}!BUaU+%4~Ks(TJ6elwY>~ zScq_>LRvK-TN$E`D0bqP^x?ZU|MtZ7;!PAkLb{mhPu3;vrM|D5(jhsHVg5@;sysbj zJM%xbK6U)AtlUUzblHe{GT!11jfTAU4rz>MH}k4D zg=}XQ&R14`$V9TC%xIZ{Kt>|gmA_x zO_?xB{3P#ma)v33JofU5y86v>X{}X(C)b9%CnJR|^=uRGK-&Lliax8tYhIIK-BsjG zL$EWf_!{>%+>e_oS^|M)!qxKE9UWMN@r#G%_U0+)8>Bs$iBM2F;0XsG{Q$|Ro*?fw%cxuevjv-f$Qp- zg!aYplR38T+%e8R>L|@#Dn#?lwv}oZhb9brTYsMUWc7sxcKi*;BdNl2Z2yLyiSI4b zQG0ne2Nc>$uHUZ+{q08(*e*ZhPOrsY)?zb^_~0~OYpw~z91^a#=S!aI#C7hD-X-0> z^qXiQR&;M`EX`p&1lQkU`SV=gMrhPmq&ekn7#%e{YL)JM)!Sxl;=Cg{{V8L1(>>RP zOGIW#InE#ZSwp!Yq}Mprc|JMH@y#!cX}m|Do{ZOO$qR17`v;%AeZ_Vrp<%0lT*>`m zza)^9Hj^Fyryk)`m1;**0%MdLgIlXOiTi2TTGa&I*dhD4h(YDNtgVQkG0yVKrICEe z@(gjBj@=C`L-|49tOQ>t5LG@)1(+%1oWkkkdYe_&x?paItuu2?Mn)xM!?ABS^>l?e zuj@LiF~P(^pO}Y6IcB9%*A7UlT}1Gn!Q!)|l8)Ah6dKKv-BriYZl-8B=|5J_5Gx>< z_HdE{3RbUOitvPXQ#1RVc;@4@BFsrL)&;%$+GSy=>#aE~_9(gHgcFjl@vMo6?*T*2 z(~UJT!DZ;zmo>dGpFKiHle@+@A8)O%Bd1)TY%V%-4ic^i>|z}=4CWOpq0y6N9gWI&j_ouIUh%BSB5|f_FpkCMRUyy+rmeXBx ztWxt!*U1KTjF1HC>YOCz-ntORMRgMjud<_U)tS!xM&go7^_t!NMeQAclmP0Z>XL0X z_o#X|;X|-C7_EIw!?t0Lk(v6UIL$wzRL_j9kxV8v5H{l@3$~B&L-PpM21|syN;g(l zWAK%vu~yDMURM5Wqx*^}y|8cA{)7E3;4fyz@D}BTGdR<%=<9iuQQLyJ6a{HcWP7d(NT*oekXg{KzNxeoA2u z&_~>g#NIWlkNQzT?O%@{9fpCGdPSxOCCT~~ z_pB+)^Btr$#wgp+j4*d8_;Uz}gONu?{cS$QV&VsBb^Yv3I;x zp-4*Jt3 z8Qh6jIr%ROT0rFxo(r4t!@Nd_c!Xf50@A-v!@1}zf)~5Lww}z zl8@P{_~#5APX?cu;@dgb#0Sucabo#Wh`wfe1F@~iX*lKSlvhaj_Uh){T^3By&@k14 z+^~rH*7~$+eI$acz4h^#PQ9AZjcxVM8=$gCBF`7H+Dax3(OJ_By`%Ynr@O}=nNop( zljMzZREE1jM=LERC|10>GN1A?!}}-8N12l?jVn3b)r>0&mTexrXGPryV=GDY``$w5 zid4B0_=hv_wO)^=(-4~dulKE=?IX1vCPbafclS7HeremV=L9wKyj_ z7qo5O1I@TY{sJr2zTrQhb>&?-2(p^6-g`j16$f0EDmLvt;3&;|UbW({4$t9h z`y;Gc$*Jl$keL}b04>p#nduQhB z^)=_xPWL{a8SotawUK@sr8e%)HDDL5G-?QnLY``}-g%O4Cc4iJ*wKSZc@VfAD%xqE zxo2U>HPKi*eUoY~cMiCy*%>2X>PF*A<2#>#o)5e6XT`4!>9(Ntf8tl*SlW3?-t#vZ}~MRX5mHO&6Uo+$fo#{{Sp)Dgf+P3_cYbkCP% z(6l@66JN=#>FIZCZ*EVQj39Pk6^I>hGhayl%lA-te@>S|(~%a%q;Ipv4t%hTL0q1B z>IZ7_d!G#Imb$b$t2@CS@Ut>t<|EV`f(SfhdUWQud`;plXW^Cgzl%IGpviS%B6*XG z2n>hJLDYmFF5%qPbg^@WlH2_Ho!-te*!?~5{p3-_oUs(95WpSxPqkV$X(o+=EOD+mH{smAD;y;U#kF9Kc zMEJw;Z$W}hV#7*L5qNeuq;IpuD2C*DEOWHK$s-ZK1gOaC&TFc9r8vpZYgh8Ot$Y!ud;kU@s&Sn9}C}U+Ety_mUJ8BjD5BslE-u9i851h z%It2L8-YI6Nu$<0xe4DJyZ|UMN=qx@ni+oxOq z0F}Qp<8d@;s-L@F>FAnQjWv%AY42y_OSjh5er35>_DX{shERTG%t zuZ=D&G)S#H-5sXhCHaGy1_Q7MA9XSYdz$y{Z^asZqoo+kVD8!$R&W#%>7QRp@b47- zJJmd0sp!e1&-NSnR&z9L{$dzF+q@v-oPbEd!RL@Gy8&Jl>Pn?uf4#HwO@60Rl9WB1 zuF;C}it&JWt z{hn@&Sc+*JlYn!u~c$Je>8YVzIZVued%kD0mr>K%Jq({!14+{h8m4$wyaJu`~& zFA{ukv$k12$W-lM3E+{=I-V<@t|FB+@3WRszrs7>d{(wv1=7jRN*YbU%=6noCJ8yu}8p-naT4B9PS(rhbO1do<8`)Z+$!3-R_vW<*-1& zJm;SE;}&`?{-t?qt$1?i>}F?p%VRs(62yC8jiZY3sbbokoMWRrtVSJKHuXPOzhd2b zZ|pA;d_297JW=_2m74b%0x8$?3g3yWuaC_T)Kc8_RmbOEH~T;Mu3rdv?@!gQQ*1!J zyX|hVN;Z<*df?;K3YYeS)vvW*9mRE|-g(-5M3&kLmmp+-r?+9Bt#e}QsZfkM-|#&A zEf4mGE9qnOi@`Sr`{1{RE?g1jX^YT`ULO^BjA^X zi=jevs2Hnt8BE~U^ZWZ-$RFb-qz6G1WA$qNBL(os(H{eh_@(N63F9%hS^C7k%-1Jf zXN^DPHbhqQ^cT|y`kNf{Zh zpzZW`vWX)^Awa-5{}jG=W!Xq1C0Lw4o(3zn>~a|c9tOe5J3KCHQ604 zri^@t<>#j-ilElBC|JSDcUI}2q3KAYk~YWghEhEU{{Z5ErZO@4B~_GqWasniT~k>H zW@k;HU<`EpMryIrH@>(@u0PbqbM-!z9HVmReNFJUQHR358+UJ(d-n4i z*Bt=-t9w`R%E=y5O~m^1UL7vGBxtCOg#!S33d5gPW;rLNE>LpledGHY`0!c&)E)?e zW;=ChZnXRknV!~GAFOry5%Ge=+jz3zk&V^(TkyxmviLjVZ-e|@87OppYfZT&s779=E0zDg%UoD+e{o0Z}TokUFJV(O5E7bfSsSC>^ zzBvF{q9+R?{{TWe9@Xml#-XKZ7dDuLQUsK6+K%8^kl{ zcN>{}>qj8T5$})UUq&CVdi-xV%HA%W>3nNr-lsbq;EDV%uMI{sA<(XzV3WJc+&PX# zJvN@6qZPm7mDjvEYj5I@2I>++Xy-20_+(`qvJgQXI#*vlmmU6%4xy(=Jd3b~HyF=7 z2?wq@`WohZ5qYX<9xS==uZZp7xY2b<93&tS<+BW_QaWxN;Pf@~cqqyr?6uRgd-i|i zb+@N9Pa~V+W}D)_2VY-bUq&_C8JbwzV2N%a2j`1wfti$!K^Y^Fn)F|T`mK~66PrNQ zCT&MckjX8*&;h)anC@ug9Pk*Oqqo$XMYfQKIU&9{5QKI5)7?uI9WjCsZw#g zcFzZpmRS6Y%L&Ksnq?n(4+R~U7(aC5kPkJ#vRE4GSdC)z zzg61)UVnMZ3`IwJa`inU!k4-qg?=OWm}!>nqG_76ziE}_iK7DM-4@-6Qg-Z-JhFvO z-u>&=HSZAUeju{6v)6Q?bu^4&j&lA>FaVID#(rW48P9WHliv`(X%8IgHuo9>TthTd z&fa>-4%dt!;ve@_)H8BPBd!l0W&A4mnc+{`F6YBu7||ka15fY-G0k%w)Vr?lE+q{b z$q|UKDhjrDuwkFO(AU+~$}uvEu9o}t(Is!n$m5J?&Z|wH=|98mBUbSJ#+m;B2*JIx zba@OH8(vgp5BNvK-Vq48~EbR<44pU^Gv^QC8C@+n-I=6?mc#~>A~xs zYxIl4o;1?*DK9PcOMxGgE2*AKo& zz{?ZPPxP*P#9tdcA>jMPjLI*sB4QRO#^4DA63z|=I$(3pY**(Vm+>#+wB809waiyj zSR%c%UIz0c4;d&%)otetF`bzAuDifL3;a!c1h;-Zvzi9IkyhQAmnBN%HdT(%oN!M) z4Sn7sbEQSf7D_sAf5CP>>V{{9j8)ryNc(0V+K0hMyw>-2Yj4%-~si? zuPE`q?P022$!>fr1|@+A5)rw^c=`{meAV$1+fMK#am8&Hoh{3lh5+2GzkB9BpIY;{ z8vg)ZV;bEBmH7+E1QU#L$6nRr#;tm=Q*!rxEPC|uxO$745#PD$8sEkrAL}H^bn6$H z#_3z8dw@wb$y)2q_X!mDjdeV-4f}9FBp;cBae?hs^zVhfE7jtTc-Th-t%D+f#aH{- zB}wVhuRp*~7sV-_(()o7BzevAa56Kr5D(*Cg*f5b_nzmUh_5#N()Oc!V{L3M?_)PX zkNU*}Eso^&9jNd}j3BtxO^v;%w+=!Lqp1Uqd;S%VbMWip7L#K&%&|dpBH(NUv1K3c z5C9!;I^wvd7y3S?EHz7GrfL~op&N8thy-I9$5GJMvBT4pA0)1M?yI^|KGlO=8eB_o zLEH!cCJS|~EpJwjR@1H$N!fhZoNrTy8B@q3p|6tdJbQBlg|(YgJH~|-k;vSH@<`}S zdf$PyDEwotX<9X+krt(WYh=+j6d;;KPnR8X53d#ERKri3-A7bq7%Q{)irU<0zYH{O zJm)sLZMht^ z-0pA%YIuS}cdy^g)EV3idMVmJL0;$Zi{a4aW$T^*2EAZt1OQzFZr~BY!0Vh>pjhaLhY8oJy3VJeB<`*zYv?(rxj^LV?uaf!B<8 ztPAS~^3{xKmLze(?a2DoDGJE{(fF!=*!J5+xLABa;u9ln-h7C5sRZ`iN&RcV{y6+J z@c#hA?Ndgv(QY1SuPx@0+D@gBkPLndYxSR5*8UV+!4A9QUl>_AdhbU#t_~0d^VUJUaW(=$rCC}keBoea#;HW*#Z(8|qN3}=3d)J_N?nHK) zM&}Y;oDc5TLT(Zi3kV9MwPif~ao(%RDKrvlNqSu8IjVBqw`$Kaj?~AL6xs*Poag!q zXhq*JTn4vx+Ow-hPoQzMpUBtrqoR19{udYQ%is@*c~`r<(rv}w&O+V5zD(=wwnQTb zk>0K9;J%?ZnRVg&k*e7vb^9iu2$T+a+j5S_(|Gk2%s-9(ZSfC=w2uaOh~8+TC9>97iQ!Td z5;DS2Jwf~4xvv26kB#m8L#$gH6j`h+Q6q(z5MOBdo7f)N?Ou;{8u*t-vWCj!#9A{Y zp&)+lbv&ycqn-%qiup|XoAwSWH^1Ozh@#^KG<@^%_x5-2mxw$?2Z*3)wA;->AZBY~ zfhKN&-5pLF91^5tV?70Yt*7alkL=sy%^$}0lf|jU70XBDk+I$;jf99#KX`W-w z*Tn}{)h%?bQbv&@Me^NL{nv=$l#Y5D_|xJY{*A48?Q~sU254f*f#eubHgL+sbU4T7 zUED92V&t7VlWv?%N2L5j_~U)6Pi?KHt7D^EHOP)TA1+Iaxi>=0 zvhNr;-L^J86u8JEnr4&WPZoIQ?&kME)KbDmxrQk&Cm1oH21X$jfFX~|fOCa8=QZWJ z--Ddn+sUU}S+G*yA4{4&x?!xfd%?rHJTw6#YfqE#CMqQ{6Qcnt_aUfU7 ze;BWC{AneRiTp37xzN-V{?VIY#H>}~`!svJ(IP50&d66d>4BbC#eW?>A$Y>d4Hs0@ zukN*3SR?LW6~dp9kz)!*RD9s)o}KH$h5${8$T-T^Bq)Y7T}U2mvQp|$QU5k*uM=v1ZiFou!>ztMb+MSv#|Mh zo}>+qs!Vo5tWX%u8$?W@cLk@FHziAnRu7s)`_ae{+(qU zrA}1sxF2ZR0f{r)dCGBRrqtC?D_IP=}m*1iF&+RSZMA1AGsa`Ye0x1}MFl+hO8$t z^(8@a0rz%Q{A>0f_U!SfweY-}Bro&b5grHkN8bGbug+!oY&Aa!>E0i@8%_C+Ymtl- z98Knx{{VqVS3b%|O8bft(&y)O-nKqC_-F9PQt^fQ-d-U~G;Pv5XXZUm=4A3P3wS>_!0mYv`-r53bFwxY&9h zQ(UFyi6A5}$=&x`kblCdOil;Rx`vasB@CWpF&#eja(9|+ZIDx`$>*GbUqNabDI}Bf zl=bxg0PA|!6M3YwJDx!t=NZT2>G)QPNX^Bc|I+yn;})I&01Ff0JeMh%HBSf;aSN04 zy_|<^@sreqIFNgQI#3CJzdhkROsinrB<|qt^56Bb`(KGT3V2-ERHm&Ou~N64 z+JAko^DUga;ePO>4pp#wR6b!>4ct*If!}cS=Dzs+V3^68kIf`=P=+Rh`OpHECxOK& zEJ()`&v8?7K+kFfA;|z@zOem_J~1!BPud5=J}AGFW{-U#(zQZJ3M{Y6p>jzd>ZK9L zPh}7Ie5koA$3g8^5fcVC8i zfgKOH`ilADWh-8r`zw4+PufTJX|=J|ZUxVayb`OW>IJdpO0lo{Ey*AB+AL?VaLd#h z;dP5Ctgas3Wh(J8QV+F$cZ|cjbs9dhocW@pj#lY@OrOTSWBAeFxi56~)$9{=mgjy4 zUwZnQRNe}j=XDJ|E+Uc{2K8V;2e>uo+Ro_dQa&i~CyNs7#iw3ACSCzO#eFs59Z>1| zwVQ5Y1go`2DtC~q2tJ~|PWYGLT~omRAZ>3+Q~jSi23!yIZhC|4Yu3C6;>dMKVRvj# z7Scv}%AVEd<~T)Kl&#eC=+sk-rq6cqKaKn~YWLn2WN77*;&%WJGF`TiPZ;iftHm#V z8`)gg3H6&~yD^_JC5@cBJCIq~vw_fMPaQE`$BS(2HN9Q6IFM#duBW=4xFgo2(luM1 zIZRuM1HnB;JqYQF_{<#&xLh=O7Pi;==z3T@6$wVwR;=?I?}rfTjk7}3mcZI9g4{V~ zLL|co*s6j*x?C?9B!W8p{o)-2SZY&QYmohxNZ%38s8%^tkCli#fNSo?vC#D}o@h35 z;QYvbM?Hu=Mr$uo@UlXyCFF5Vc-YPXSH^Mk9s>_fjr_e_K4|%^QZ{|hrFc$A+8VCM zzW4rzK<#2<)084V1vTv{JCb!GV* z$x=oep#+dY{Ku!Lc*EhM$}axQITXlIY^y70jJ9@T!<>U$|8xVK{*i^{O-54A&irD~DK z4c*nei51{26pS#g0l^@iqc!l<@4RfJJ)Vt*Urm;mx#KZk=roui_^~dyARZ%#PKV1`)>@`AZJ$b6#Joc&Ap^u3GC- zoV&Tn0Buq9QNSE_uKKiFb7l1}UJt`@(*`czVxY@jcz%f`v4w75AF)+{43#iZzUp7RTpR@ zryWPuzUeMlq2YU3#JRl5#c5G$j9>jIUdRK>hDCJSS zmN1XKk6d*a>-4XA(!2neOsF98ayY@~-m|+lvP)Csh478t#E%((e5H1fOB0^tU|{-k zezijX0Kozj+G6Bz$LU{nN#Gk|`-U;poN_&ftzhcD2(yAev`VUoqyofXWSj~blH75W z9*Liy`lp4=JK2!z0B}G#&!u_pr=e|T9$7`s2+92`?q3mjDp+QC{F2H6Cmx-;`hP0% z9}sw5BL^vj1-f<5YMx_GPN&G)riGH>2J8-f#d-Ftr8W=C$T|M+>0e4~8dsB)3zbku zJ%6Qnj<2VWErtQ-xF3%-N!ZF!KmXJ7KY=$;f5Ol3rICy&O+wrPIx@R$!5>p!m%co( z{?7P?;;Sy7XVrBW@&5o^?&V+UUwHf@*Y0foE_g=rT&g~;r$z=lNp%|jT=QQW{Bp8= zKjUYQ>|{cw9}w$Ff-%6qn1lF&2(QaHHj}4Ds(oGm00e(Q_@z}<#bKtpMX$Nv^*ou6 zKU!ye8gupcrtK!bPd@-04?QYO`cfd^4wXL9iU5cpH7>z`2Q_IT^yq3ug!G^Ujw6xi zD(o?@MeX0cAdC>J(yv1f4;|VOB+UfqDfQjUU2sKHStasc4xY~o_DWkRyx&` z+I{pwNTyNHzJq>;2x_nZ~7Dm{oKQ=Ri+mCvs;x7d0 zx|{+Vt96}E1qdUbW7p|}Sn{)`60^DTmWkqFdZ`TO5-;Ryv_g^%%hcDMc*DTDhlMV@ z*cqm_ZdO1swEqBf`;T7!)lW$AMAqNBy7_?b-n{yhQ`q)t);(ny5D2EoTAaaDA&@?#;D3W}8STmrcUcn+aLXa@^XM!pBjJ&8N4KE`N8poPpS9zvEmyz9zHqcZ)Q;>+5iDY~{qx zhk&GQirQ0aHu&aODY=(wNVv(}lk$<%2d*+Jf$=rGdZ&u4qx(d0i^&uB zlQ>A%amHQG0Y_3#LCtZ{p($2`9%6uWNZ_1@eI`QmU}}5t@@z z*Yyc)&A*(+-2n)UcLg25&rX%{f5N|rk!g0Z_@jP@DodkW0)uaES94cfn(D3aqDSi$e_ z>0dy8%Krcfb)8b}elPg;*^=sTMw4jcm}7oC;-{my;X&jtToOR{@E94^n!3>P@p!mW zi|&1G@TTXxe^Pndo`atC`qc_52}UbKesfl@Gjf*f_Q>^(N5%di zx$zdP%l5m%HpdvmaUy`R#Tfn=<3JThpvmN#`V+yLJ2Y^@!BB&cdh^#NzHabTS-4$< z;ZA)>752Bot1mUtSZBB$dV5z?-lh;ozIZc9)BLw@FES=K0;gy={t|1_6%_^)V0%?9 zHW3A)AnA@O{dUrVQMu+;o0Okmq#zy*Efvsnm^!YFZ+x4KVVQXu{{ZV(&Ym^!z($dP zTmap8$XZ+a)GhOF<&BlG_N#Cl9B%=>nd#~@dP z>$ZpqAZ1THagkqK_`gh8<(JJ(%yZ6j&tL$rn!HDBP%}3`-!?0iGrmaw)cCu>I_%MS zyTkKJgZ&><)8q_0Y`TfRrFk#yZ(;qP`%wH)wi((r+o%5kzl$87`!#y5m8N}?_6w+$ zhnFHUh6gze2*y3da6h(OkX-)M-w|fDK4P|@rI|(-ciAnsez~vAcv^63q+ovQ;w4Gc zczI9z-=Xrus4c}RgNm}z^OMCmM~(%4lztpnQN{;)xRJ3O53M>lGC?(=98>_v;>iQh z8oID$H+t0YTa(YVX-5MU#yO{b0L@E&N1&~%TQW!{rH0U!$zFYHqqMco0T||x7BuTD zJZc6DSEu-9<5ckOv8QX=1=N-rmYFhKTiir;$rP!|x}R=@9tb5!Ady_&m!`awv6;* z`j{8`UA6pe73@nOZlHmK_*c%}H25vUwdj^AJKJ~e4RqsB~$7@m3d!@ zJ_>kh{Z>sY{Q=c>oNi@f{o}Zt6YYWRn&p)qWYbqiWGnKt)F@mRpJuBBQz7Tkq!}8nT_+sg$xWgeOMA;1(&+}xff%v&Tx1cSO8JMEVklKo!phNa zZpYKp%xKo9%ZOg`{7fw$QqnYAh^)0OSOhYKX;B(RjXSYH%VW@TYq!#VGirJ$jKs|( zK=f?jk8a|;bHbklJ|y^#b-kLw?PHq^T4S?=>JL0u(waZ)-!GJ_tzV*njI3jE{LOtk z!o@{Ge)03~6x^Jlq9d2~p1N4PrP9@(``%$W9+<^YwD_0t6XG22XQo7S%W#FvsT)5% zmplMZsUQx#^siIW{tS34NtqH0XTP~83LEC<=qv4Cg&zPA2z6f)+pHGLhK|uj2OSKa zze>`M0+%+BFsY2GZDe@|?CJYB-DbZWM|p1yhI9=c4DXOZc0V(s5tI$aazO82 zb9nQ|`X|GW4P0N(GTXEfkO{yMt}*ie0JM4!N{`0=Iq=WJZw_2)TAjpJcGhu{%)~09 zf&O@}#2=3zv_`M-e_Uv+o$a&;BtBechM10y643_7^WY@D*bR?4Ag}7qBnk{zd}c)ceUS2SBgBEvE`dV zMHE)X0bJjSOh&}4fH?;s6OM3eqa-LK@CAA2j5RxWqw?K`4^hFu^~dUs_<=zkmPD3i8a6;u321DK_nemqOAs*<+sSTg*ovmV`FdW01x1 zfsBgyhvEjcapO;j9w70x-N(0>N5PlGOXPYFw@ zLNps^yVUG1Z%p>_+Qz^ct-QwFvOU1M^&N&Q^UqDtr~7M8*>AJ%E(bX6&3ukggrP#4 zl?JUZ>!J5K_GyU5)rzjI%j^1+$qok<8b%L(Yhc2mjs`~*=&a7}oF0|*$H%pDv@qkE zwHzmSIIRfmkEc#5^j2iQ%s9tdtBFJ{ZOH`V867K58&by}wRXx4oT5v`O9FhE~^B_@0?Jm$pi@0PGE7El9 zION(2axg%w9UjSL*pJ70^qn_O@}>;fIP7aS%@VoX_-eu4bt<3@qX3WRUq$#L3!OIp zE9)uR)_B_}>6K(7xHaN_8Yd%p8137d_pcA#d1wwn!5Aa@))G4)kGi}u;>|zBnrv1c zEk#?FPzA!T59nP-L+&e&@wdSk+_m12Ko825=JXE(lx!iuwmY@nkTf z+ZhUm0Ar{>PRof-s^0{7@6lc{v;zQ*h#sW|82g@UgrDGUqzTz_hPmZN zNZnLS`MygCi}{i^;wc{9*_Y-(anp+WHZOqJ^0)7<)kmj8D*{dU_c;?gHTli) zyZ#DM;$3zNode+JoBfY%CRMdN(YooB=&~_cqmf1|wM9M#e?f};l70}z40FYD-3cG2ehcxTiIexcLJ&qz0Au{|iuyZ7@m;;-N?t`^eLH&^{K4?A zj7S40(rsQ-VPBY)XwMBLD23OpsZSfP%Ps|Uf{{TEzj}b1%GQunFd(OGy z>q8U41fU#eA&BeSf!ET!C&e22-9k^AWDCH_CAjCDp7p|N9y3>tY?GE8u_q(b2d#Nd zv*M`b4nZnZ90S+u_*WF~Cw6y25rVQQ_@3_6ui58`W=NZIZyUC-$p@a}vFlzftZD*D l56!_j&1~zM^mhQVK1WlJQ(jf5>S2y^{(WhsWnw1J|JlGFcCr8f literal 0 HcmV?d00001 diff --git a/kadai1/annkara/test/test.png b/kadai1/annkara/test/test.png new file mode 100644 index 0000000000000000000000000000000000000000..834bf325fa137b46b1e7d38e74590a8c116473b5 GIT binary patch literal 15313 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 S`!V=VLv7l0;)DOo{Qm(Uk@G+R literal 0 HcmV?d00001 From 61990f3a81880255098bed6e4a4f8091de01cf30 Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 14 Jul 2019 16:21:40 +0900 Subject: [PATCH 06/39] =?UTF-8?q?https://deeeet.com/writing/2014/12/18/gol?= =?UTF-8?q?ang-cli-test/=20=E3=82=92=E5=8F=82=E8=80=83=E3=81=ABmain?= =?UTF-8?q?=E9=96=A2=E6=95=B0=E3=82=92=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/main.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kadai1/annkara/cmd/i2i/main.go b/kadai1/annkara/cmd/i2i/main.go index 7905807..faad4d7 100644 --- a/kadai1/annkara/cmd/i2i/main.go +++ b/kadai1/annkara/cmd/i2i/main.go @@ -1,5 +1,12 @@ package main +import "os" + func main() { + cli := &cli{ + outStream: os.Stdout, + errStream: os.Stderr, + } + os.Exit(cli.run()) } From f50acba5efcf7e79477dd7d81a49a1f5256fecea Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 14 Jul 2019 16:42:32 +0900 Subject: [PATCH 07/39] =?UTF-8?q?=E4=B8=BB=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E8=A8=98=E8=BF=B0=E3=81=99=E3=82=8Bcli.go=E3=81=AE=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=20=E6=9C=80=E5=88=9D=E3=81=AE=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=B3=E3=83=BC=E3=83=89=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 17 +++++++++++++++++ kadai1/annkara/cmd/i2i/cli_test.go | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 kadai1/annkara/cmd/i2i/cli.go create mode 100644 kadai1/annkara/cmd/i2i/cli_test.go diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go new file mode 100644 index 0000000..bbc112b --- /dev/null +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -0,0 +1,17 @@ +package main + +import "io" + +const ( + exitCodeOK = iota + exitCodeErr = 10 + iota +) + +type cli struct { + outStream, errStream io.Writer +} + +func (c *cli) run() int { + + return exitCodeOK +} diff --git a/kadai1/annkara/cmd/i2i/cli_test.go b/kadai1/annkara/cmd/i2i/cli_test.go new file mode 100644 index 0000000..57ed37a --- /dev/null +++ b/kadai1/annkara/cmd/i2i/cli_test.go @@ -0,0 +1,16 @@ +package main + +import ( + "bytes" + "testing" +) + +func TestRun(t *testing.T) { + outSteam, errStream := new(bytes.Buffer), new(bytes.Buffer) + cli := &cli{outStream: outSteam, errStream: errStream} + status := cli.run() + + if status != 0 { + t.Errorf("desc: Success, status should be %v, not %v", exitCodeOK, status) + } +} From 142b43b76883e4f8ec676a741f07ff04f33b142b Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Sun, 14 Jul 2019 19:09:23 +0900 Subject: [PATCH 08/39] =?UTF-8?q?=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E8=A7=A3=E6=9E=90=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 43 ++++++++++++++++++++++++++++-- kadai1/annkara/cmd/i2i/cli_test.go | 26 +++++++++++++++--- kadai1/annkara/cmd/i2i/main.go | 3 ++- 3 files changed, 66 insertions(+), 6 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index bbc112b..89f0bee 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -1,6 +1,11 @@ package main -import "io" +import ( + "flag" + "fmt" + "io" + "log" +) const ( exitCodeOK = iota @@ -11,7 +16,41 @@ type cli struct { outStream, errStream io.Writer } -func (c *cli) run() int { +func (c *cli) run(args []string) int { + + log.SetOutput(c.outStream) + + var ( + after string + target string + ) + + flags := flag.NewFlagSet(args[0], flag.ContinueOnError) + flags.SetOutput(c.errStream) + flags.Usage = func() { + fmt.Fprint(c.errStream, helpText) + } + flags.StringVar(&after, "a", "jpg", "変換対象の画像形式を指定") + flags.StringVar(&after, "after", "jpg", "変換対象の画像形式を指定") + flags.StringVar(&target, "t", "png", "変換後の画像形式を指定") + flags.StringVar(&target, "target", "png", "変換後の画像形式を指定") + + if err := flags.Parse(args[1:]); err != nil { + return exitCodeErr + } return exitCodeOK } + +var helpText = `Usage: i2i [options] directory + +i2i は指定されたディレクトリ内の画像ファイルを変換するコマンドラインツールです。 +オプションを指定しない場合には、JPEGファイルを対象にPNG形式へと変換します。 +変換後のファイルは同一ディレクトリ内に出力され、変換前のファイルは削除されません。 +JPEGまたはPNG形式をサポートします。 + +Options: + -a, --after 変換後の画像形式を指定 + -h, --help ヘルプを表示 + -t, --target 変換対象の画像形式を指定 +` diff --git a/kadai1/annkara/cmd/i2i/cli_test.go b/kadai1/annkara/cmd/i2i/cli_test.go index 57ed37a..d4d3217 100644 --- a/kadai1/annkara/cmd/i2i/cli_test.go +++ b/kadai1/annkara/cmd/i2i/cli_test.go @@ -2,15 +2,35 @@ package main import ( "bytes" + "strings" "testing" ) func TestRun(t *testing.T) { + tests := []struct { + desc string + arg string + expectedStatus int + }{ + { + desc: "正常終了", + arg: "i2i", + expectedStatus: exitCodeOK, + }, { + desc: "異常終了", + arg: "i2i -u unkonwn", + expectedStatus: exitCodeErr, + }, + } + outSteam, errStream := new(bytes.Buffer), new(bytes.Buffer) cli := &cli{outStream: outSteam, errStream: errStream} - status := cli.run() - if status != 0 { - t.Errorf("desc: Success, status should be %v, not %v", exitCodeOK, status) + for _, tc := range tests { + args := strings.Split(tc.arg, " ") + status := cli.run(args) + if status != tc.expectedStatus { + t.Errorf("desc: Success, status should be %v, not %v", exitCodeOK, status) + } } } diff --git a/kadai1/annkara/cmd/i2i/main.go b/kadai1/annkara/cmd/i2i/main.go index faad4d7..c43aa11 100644 --- a/kadai1/annkara/cmd/i2i/main.go +++ b/kadai1/annkara/cmd/i2i/main.go @@ -8,5 +8,6 @@ func main() { outStream: os.Stdout, errStream: os.Stderr, } - os.Exit(cli.run()) + os.Exit(cli.run(os.Args)) + } From 3752501453f12e6d3b9e309fb97eac258e142362 Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 13:23:14 +0900 Subject: [PATCH 09/39] =?UTF-8?q?=E3=83=98=E3=83=AB=E3=83=97=E3=83=A1?= =?UTF-8?q?=E3=83=83=E3=82=BB=E3=83=BC=E3=82=B8=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index 89f0bee..a37545e 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -50,7 +50,7 @@ i2i は指定されたディレクトリ内の画像ファイルを変換する JPEGまたはPNG形式をサポートします。 Options: - -a, --after 変換後の画像形式を指定 - -h, --help ヘルプを表示 - -t, --target 変換対象の画像形式を指定 + -a, -after 変換後の画像形式を指定 + -h, -help ヘルプを表示 + -t, -target 変換対象の画像形式を指定 ` From 0b2374f2b87f9ba764ea4cde8836475ac4bfdd28 Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 13:29:13 +0900 Subject: [PATCH 10/39] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=B1?= =?UTF-8?q?=E3=83=BC=E3=82=B9=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kadai1/annkara/cmd/i2i/cli_test.go b/kadai1/annkara/cmd/i2i/cli_test.go index d4d3217..838ac63 100644 --- a/kadai1/annkara/cmd/i2i/cli_test.go +++ b/kadai1/annkara/cmd/i2i/cli_test.go @@ -16,6 +16,14 @@ func TestRun(t *testing.T) { desc: "正常終了", arg: "i2i", expectedStatus: exitCodeOK, + }, { + desc: "正常終了", + arg: "i2i -a jpeg -t png directory", + expectedStatus: exitCodeOK, + }, { + desc: "正常終了", + arg: "i2i directory", + expectedStatus: exitCodeOK, }, { desc: "異常終了", arg: "i2i -u unkonwn", From 4dd8215448be3838a42da069c9ed7953c853f636 Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 13:31:30 +0900 Subject: [PATCH 11/39] =?UTF-8?q?=E3=83=AD=E3=83=B3=E3=82=B0=E3=82=AA?= =?UTF-8?q?=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E6=8C=87=E5=AE=9A=E6=99=82?= =?UTF-8?q?=E3=81=AE=E3=82=B1=E3=83=BC=E3=82=B9=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kadai1/annkara/cmd/i2i/cli_test.go b/kadai1/annkara/cmd/i2i/cli_test.go index 838ac63..2b99776 100644 --- a/kadai1/annkara/cmd/i2i/cli_test.go +++ b/kadai1/annkara/cmd/i2i/cli_test.go @@ -20,6 +20,10 @@ func TestRun(t *testing.T) { desc: "正常終了", arg: "i2i -a jpeg -t png directory", expectedStatus: exitCodeOK, + }, { + desc: "正常終了", + arg: "i2i -after jpeg -target png directory", + expectedStatus: exitCodeOK, }, { desc: "正常終了", arg: "i2i directory", From 22681712941c3fa485bcd247b37a0adb930b1c27 Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 13:39:00 +0900 Subject: [PATCH 12/39] =?UTF-8?q?=E7=92=B0=E5=A2=83=E4=BE=9D=E5=AD=98?= =?UTF-8?q?=E3=82=92=E9=81=BF=E3=81=91=E3=82=8B=E3=81=9F=E3=82=81=E3=80=81?= =?UTF-8?q?strings.Join=E3=82=92=E5=88=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/pkg/image/convertor_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kadai1/annkara/pkg/image/convertor_test.go b/kadai1/annkara/pkg/image/convertor_test.go index ab87c01..d102687 100644 --- a/kadai1/annkara/pkg/image/convertor_test.go +++ b/kadai1/annkara/pkg/image/convertor_test.go @@ -2,19 +2,20 @@ package image import ( "os" + "path/filepath" "testing" ) -var path = "../../test/" +var path = filepath.Join("..", "..", "test") func TestConvertSuccess(t *testing.T) { - in, err := os.Open(path + "test.jpg") + in, err := os.Open(filepath.Join(path, "test.jpg")) if err != nil { t.Fatalf("failed test %#v", err) } defer in.Close() - out, err := os.Create(path + "test.png") + out, err := os.Create(filepath.Join(path, "test.png")) if err != nil { t.Fatalf("failed test %#v", err) } From a084bca301823350362052f5444b77689214603d Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 14:26:25 +0900 Subject: [PATCH 13/39] =?UTF-8?q?=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF?= =?UTF-8?q?=E3=83=88=E3=83=AA=E3=82=92=E3=83=88=E3=83=A9=E3=83=90=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E3=81=97=E3=81=A6=E3=80=81=E5=A4=89=E6=8F=9B=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E5=91=BC=E3=81=B3=E5=87=BA=E3=81=99=E3=83=A1?= =?UTF-8?q?=E3=82=BD=E3=83=83=E3=83=89=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 48 +++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index a37545e..57b82c0 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -5,6 +5,11 @@ import ( "fmt" "io" "log" + "os" + "path/filepath" + "strings" + + "github.com/dojo6/kadai1/annkara/pkg/image" ) const ( @@ -16,6 +21,49 @@ type cli struct { outStream, errStream io.Writer } +func (c *cli) walk(root, target, format string) error { + + err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + + if err != nil { + return err + } + + if info.IsDir() { + return filepath.SkipDir + } + + n := info.Name() + if strings.HasSuffix(n, target) { + origin, err := os.Open(n) + if err != nil { + return err + } + defer origin.Close() + + // 拡張子を含まない出力用ファイル名 + n := filepath.Base(n[:len(n)-len(filepath.Ext(n))]) + out, err := os.Create(n + "." + format) + if err != nil { + return err + } + + err = image.Convert(origin, out, format) + if err != nil { + return err + } + } + + return nil + }) + + if err != nil { + return err + } + + return nil +} + func (c *cli) run(args []string) int { log.SetOutput(c.outStream) From ef69c3cd40fcc470a3dd8b298a2cfefc0f97d241 Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 14:59:55 +0900 Subject: [PATCH 14/39] =?UTF-8?q?-=20=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF?= =?UTF-8?q?=E3=83=88=E3=83=AA=E3=82=B9=E3=82=AD=E3=83=83=E3=83=97=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E5=89=8A=E9=99=A4=20-=20=E3=83=87=E3=82=A3?= =?UTF-8?q?=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E3=82=92=E7=B5=B6=E5=AF=BE?= =?UTF-8?q?=E3=83=91=E3=82=B9=E3=81=B8=E5=A4=89=E6=8F=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 現状、動かないしデバッグしづらいのでデバッグ情報を出力できるように修正する。 --- kadai1/annkara/cmd/i2i/cli.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index 57b82c0..33fd2bf 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -29,10 +29,6 @@ func (c *cli) walk(root, target, format string) error { return err } - if info.IsDir() { - return filepath.SkipDir - } - n := info.Name() if strings.HasSuffix(n, target) { origin, err := os.Open(n) @@ -87,6 +83,14 @@ func (c *cli) run(args []string) int { return exitCodeErr } + for _, v := range flags.Args() { + r, err := filepath.Abs(v) + err = c.walk(r, target, after) + if err != nil { + return exitCodeErr + } + } + return exitCodeOK } From 093fdc7f882d8507a35cc17fd129651f33275de7 Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 16:09:50 +0900 Subject: [PATCH 15/39] =?UTF-8?q?1.=20=E5=90=8C=E4=B8=80=E3=83=87=E3=82=A3?= =?UTF-8?q?=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E5=86=85=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=8F=9B=E5=BE=8C=E3=81=AE=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E3=81=8C=E5=87=BA=E5=8A=9B=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84?= =?UTF-8?q?=E4=BA=8B=E8=B1=A1=E3=81=AE=E4=BF=AE=E6=AD=A3=202.=20=E3=83=87?= =?UTF-8?q?=E3=83=90=E3=83=83=E3=82=B0=E3=83=AD=E3=82=B0=E3=81=AE=E5=87=BA?= =?UTF-8?q?=E5=8A=9B=E3=82=92=E8=BF=BD=E5=8A=A0=203.=20=E4=B8=8D=E8=A6=81?= =?UTF-8?q?=E3=81=AA=E7=B5=B6=E5=AF=BE=E3=83=91=E3=82=B9=E3=81=B8=E3=81=AE?= =?UTF-8?q?=E5=A4=89=E6=8F=9B=E5=87=A6=E7=90=86=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index 33fd2bf..db466ce 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -31,7 +31,7 @@ func (c *cli) walk(root, target, format string) error { n := info.Name() if strings.HasSuffix(n, target) { - origin, err := os.Open(n) + origin, err := os.Open(path) if err != nil { return err } @@ -39,7 +39,8 @@ func (c *cli) walk(root, target, format string) error { // 拡張子を含まない出力用ファイル名 n := filepath.Base(n[:len(n)-len(filepath.Ext(n))]) - out, err := os.Create(n + "." + format) + dir := filepath.Dir(path) + out, err := os.Create(filepath.Join(dir, n+"."+format)) if err != nil { return err } @@ -67,6 +68,7 @@ func (c *cli) run(args []string) int { var ( after string target string + debug bool ) flags := flag.NewFlagSet(args[0], flag.ContinueOnError) @@ -78,15 +80,21 @@ func (c *cli) run(args []string) int { flags.StringVar(&after, "after", "jpg", "変換対象の画像形式を指定") flags.StringVar(&target, "t", "png", "変換後の画像形式を指定") flags.StringVar(&target, "target", "png", "変換後の画像形式を指定") + flags.BoolVar(&debug, "debug", false, "") if err := flags.Parse(args[1:]); err != nil { + if debug { + log.Printf("failed: %+v\n", err) + } return exitCodeErr } for _, v := range flags.Args() { - r, err := filepath.Abs(v) - err = c.walk(r, target, after) + err := c.walk(v, target, after) if err != nil { + if debug { + log.Printf("failed: %+v\n", err) + } return exitCodeErr } } From 65f73f547af409f469795dad9155124f928d974a Mon Sep 17 00:00:00 2001 From: Kobayashi Shota Date: Mon, 15 Jul 2019 16:18:54 +0900 Subject: [PATCH 16/39] =?UTF-8?q?=E3=82=AA=E3=83=96=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=81=8C=E3=82=8F=E3=81=8B=E3=82=8A=E3=81=A5=E3=82=89?= =?UTF-8?q?=E3=81=84=E3=81=AE=E3=81=A7=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index db466ce..88f75ef 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -66,8 +66,8 @@ func (c *cli) run(args []string) int { log.SetOutput(c.outStream) var ( + before string after string - target string debug bool ) @@ -76,10 +76,11 @@ func (c *cli) run(args []string) int { flags.Usage = func() { fmt.Fprint(c.errStream, helpText) } - flags.StringVar(&after, "a", "jpg", "変換対象の画像形式を指定") - flags.StringVar(&after, "after", "jpg", "変換対象の画像形式を指定") - flags.StringVar(&target, "t", "png", "変換後の画像形式を指定") - flags.StringVar(&target, "target", "png", "変換後の画像形式を指定") + + flags.StringVar(&before, "b", "jpg", "変換後の画像形式を指定") + flags.StringVar(&before, "before", "jpg", "変換後の画像形式を指定") + flags.StringVar(&after, "a", "png", "変換対象の画像形式を指定") + flags.StringVar(&after, "after", "png", "変換対象の画像形式を指定") flags.BoolVar(&debug, "debug", false, "") if err := flags.Parse(args[1:]); err != nil { @@ -90,7 +91,7 @@ func (c *cli) run(args []string) int { } for _, v := range flags.Args() { - err := c.walk(v, target, after) + err := c.walk(v, before, after) if err != nil { if debug { log.Printf("failed: %+v\n", err) @@ -111,6 +112,6 @@ JPEGまたはPNG形式をサポートします。 Options: -a, -after 変換後の画像形式を指定 + -b, -before 変換前の画像形式を指定 -h, -help ヘルプを表示 - -t, -target 変換対象の画像形式を指定 ` From e9fad64defa9b71118539299a30f152281731ef1 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 18:28:27 +0900 Subject: [PATCH 17/39] =?UTF-8?q?=E5=BC=95=E6=95=B0=E5=90=8D=E3=82=92?= =?UTF-8?q?=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AB=E7=B5=B1?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index 88f75ef..806e94a 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -21,7 +21,7 @@ type cli struct { outStream, errStream io.Writer } -func (c *cli) walk(root, target, format string) error { +func (c *cli) walk(root, before, after string) error { err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { @@ -30,7 +30,7 @@ func (c *cli) walk(root, target, format string) error { } n := info.Name() - if strings.HasSuffix(n, target) { + if strings.HasSuffix(n, before) { origin, err := os.Open(path) if err != nil { return err @@ -40,12 +40,12 @@ func (c *cli) walk(root, target, format string) error { // 拡張子を含まない出力用ファイル名 n := filepath.Base(n[:len(n)-len(filepath.Ext(n))]) dir := filepath.Dir(path) - out, err := os.Create(filepath.Join(dir, n+"."+format)) + out, err := os.Create(filepath.Join(dir, n+"."+after)) if err != nil { return err } - err = image.Convert(origin, out, format) + err = image.Convert(origin, out, after) if err != nil { return err } From b7c9643d30516c0bb73b55d0d535f4b989eb8579 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 18:47:24 +0900 Subject: [PATCH 18/39] =?UTF-8?q?1.=20=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E5=A4=89=E6=9B=B4=E3=81=AB=E4=BC=B4=E3=81=84?= =?UTF-8?q?=E5=A4=B1=E6=95=97=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F=E3=83=86?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=20=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88?= =?UTF-8?q?=E3=83=AA=E5=90=8D=E3=82=92=E6=B8=A1=E3=81=97=E3=81=A6=E3=81=97?= =?UTF-8?q?=E3=81=BE=E3=81=86=E3=81=A8=E3=83=86=E3=82=B9=E3=83=88=E3=81=AB?= =?UTF-8?q?=E5=A4=B1=E6=95=97=E3=81=97=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86?= =?UTF-8?q?=E3=81=AE=E3=81=A7=E3=80=81=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E8=A7=A3=E6=9E=90=E3=81=AE=E3=81=BF=E3=83=86?= =?UTF-8?q?=E3=82=B9=E3=83=88=E5=AE=9F=E6=96=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli_test.go | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli_test.go b/kadai1/annkara/cmd/i2i/cli_test.go index 2b99776..f09091b 100644 --- a/kadai1/annkara/cmd/i2i/cli_test.go +++ b/kadai1/annkara/cmd/i2i/cli_test.go @@ -13,23 +13,19 @@ func TestRun(t *testing.T) { expectedStatus int }{ { - desc: "正常終了", + desc: "正常終了 : コマンド名のみを指定", arg: "i2i", expectedStatus: exitCodeOK, }, { - desc: "正常終了", - arg: "i2i -a jpeg -t png directory", + desc: "正常終了 : ショートオプションを指定", + arg: "i2i -b jpeg -a png", expectedStatus: exitCodeOK, }, { - desc: "正常終了", - arg: "i2i -after jpeg -target png directory", + desc: "正常終了 : ロングオプションを指定", + arg: "i2i -before jpeg -after png", expectedStatus: exitCodeOK, }, { - desc: "正常終了", - arg: "i2i directory", - expectedStatus: exitCodeOK, - }, { - desc: "異常終了", + desc: "異常終了:不正なオプションを指定", arg: "i2i -u unkonwn", expectedStatus: exitCodeErr, }, @@ -42,7 +38,7 @@ func TestRun(t *testing.T) { args := strings.Split(tc.arg, " ") status := cli.run(args) if status != tc.expectedStatus { - t.Errorf("desc: Success, status should be %v, not %v", exitCodeOK, status) + t.Errorf("desc: %v, status should be %v, not %v", tc.desc, tc.expectedStatus, status) } } } From 4db2b3e7e8eb56990c6397c4a4cac7c9d2ef147d Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 19:27:58 +0900 Subject: [PATCH 19/39] =?UTF-8?q?=E7=B5=82=E4=BA=86=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=ABiota=E3=82=92=E5=88=A9=E7=94=A8=E3=81=97?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index 806e94a..1567596 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -13,8 +13,8 @@ import ( ) const ( - exitCodeOK = iota - exitCodeErr = 10 + iota + exitCodeOK = 0 + exitCodeErr = 10 ) type cli struct { From 21cdc17e1e0cdb182800bdcdbaee3c556353c842 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 20:15:59 +0900 Subject: [PATCH 20/39] =?UTF-8?q?=E5=88=A9=E7=94=A8=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E3=81=AE=E8=AA=AC=E6=98=8E=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index 1567596..ae49d6f 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -77,10 +77,10 @@ func (c *cli) run(args []string) int { fmt.Fprint(c.errStream, helpText) } - flags.StringVar(&before, "b", "jpg", "変換後の画像形式を指定") - flags.StringVar(&before, "before", "jpg", "変換後の画像形式を指定") - flags.StringVar(&after, "a", "png", "変換対象の画像形式を指定") - flags.StringVar(&after, "after", "png", "変換対象の画像形式を指定") + flags.StringVar(&before, "b", "jpg", "変換前の画像形式を指定") + flags.StringVar(&before, "before", "jpg", "変換前の画像形式を指定") + flags.StringVar(&after, "a", "png", "変換後の画像形式を指定") + flags.StringVar(&after, "after", "png", "変換後の画像形式を指定") flags.BoolVar(&debug, "debug", false, "") if err := flags.Parse(args[1:]); err != nil { From 727eab921b84b023c0209ffdd3f1b59efe4422d7 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 20:39:15 +0900 Subject: [PATCH 21/39] =?UTF-8?q?README.md=E3=81=AB=E8=BF=BD=E8=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/README.md | 54 ++++++++++++++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/kadai1/annkara/README.md b/kadai1/annkara/README.md index f11b37b..aad717f 100644 --- a/kadai1/annkara/README.md +++ b/kadai1/annkara/README.md @@ -1,16 +1,48 @@ # 課題1 -次の仕様を満たすコマンドを作って下さい +## 次の仕様を満たすコマンドを作って下さい - * ディレクトリを指定する - * 指定したディレクトリ以下のJPGファイルをPNGに変換(デフォルト) - * ディレクトリ以下は再帰的に処理する - * 変換前と変換後の画像形式を指定できる(オプション) +- ディレクトリを指定する +- 指定したディレクトリ以下のJPGファイルをPNGに変換(デフォルト) +- ディレクトリ以下は再帰的に処理する +- 変換前と変換後の画像形式を指定できる(オプション) -以下を満たすように開発してください +## 以下を満たすように開発してください - * mainパッケージと分離する - * 自作パッケージと標準パッケージと準標準パッケージのみ使う - * 準標準パッケージ:golang.org/x以下のパッケージ - * ユーザ定義型を作ってみる - * GoDocを生成してみる +- mainパッケージと分離する +- 自作パッケージと標準パッケージと準標準パッケージのみ使う + - 準標準パッケージ:golang.org/x以下のパッケージ +- ユーザ定義型を作ってみる +- GoDocを生成してみる + +--- + +## コマンドの説明 + +`i2i` コマンドは指定されたディレクトリ内の画像ファイルの形式を別の画像形式へと変換し、新規画像ファイルを作成するコマンドです。画像の形式はjpg(jpeg)とpngに対応しています。 + +ディレクトリ内に別のディレクトリが存在した場合には、そのディレクトリ内のファイルも変換対象と見なされます。 + +画像の形式が指定されない場合には、jpg(jpeg)ファイルを対象に、同一ディレクトリ内に新たにpngファイルを作成します。 + +返還前のファイルは削除されません。 + +## 使い方 + +```sh +i2i -b jpg -a png +``` + +--- + +## 実装方針 + +- mainパッケージとpkg/imageパッケージの構成 +- 標準パッケージのみを利用する +- オプションの指定 + flag パッケージを利用して変換前、変換後の画像形式を受け取る。 + 変換前のデフォルト値としてはjpg、変換後はpngを指定する。 +- ディレクトリの再帰処理 + filepath.Walk関数を利用する。 +- 画像変換処理 + image.Decode関数を利用し、指定された拡張子に応じた形式のEncode関数を利用し変換処理を行う。 From 88e7852b7f132a05dbf8f8f91226e064bea8b552 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 20:41:37 +0900 Subject: [PATCH 22/39] polish --- kadai1/annkara/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kadai1/annkara/README.md b/kadai1/annkara/README.md index aad717f..0587992 100644 --- a/kadai1/annkara/README.md +++ b/kadai1/annkara/README.md @@ -40,7 +40,7 @@ i2i -b jpg -a png - mainパッケージとpkg/imageパッケージの構成 - 標準パッケージのみを利用する - オプションの指定 - flag パッケージを利用して変換前、変換後の画像形式を受け取る。 + flag パッケージを利用して変換前、変換後の画像形式を受け取る。 変換前のデフォルト値としてはjpg、変換後はpngを指定する。 - ディレクトリの再帰処理 filepath.Walk関数を利用する。 From 06e5c4069cdd304b30a39f7e63426e1f47652861 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 21:02:38 +0900 Subject: [PATCH 23/39] =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=9D=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/pkg/image/convertor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kadai1/annkara/pkg/image/convertor.go b/kadai1/annkara/pkg/image/convertor.go index 1d48764..af97d05 100644 --- a/kadai1/annkara/pkg/image/convertor.go +++ b/kadai1/annkara/pkg/image/convertor.go @@ -9,7 +9,7 @@ import ( ) // Convert is the function that converts an image format to another image format. -// origin is orifinal file, target is converted image, and format is target image format. +// origin is original file, target is converted image, and format is target image format. func Convert(origin io.Reader, target io.Writer, format string) error { var err error From 55ada61185e87de42b9a44bce2f6956e2cd46179 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 21:06:20 +0900 Subject: [PATCH 24/39] =?UTF-8?q?image=E3=83=91=E3=83=83=E3=82=B1=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=81=AE=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/pkg/image/convertor.go | 1 + 1 file changed, 1 insertion(+) diff --git a/kadai1/annkara/pkg/image/convertor.go b/kadai1/annkara/pkg/image/convertor.go index af97d05..1904ad6 100644 --- a/kadai1/annkara/pkg/image/convertor.go +++ b/kadai1/annkara/pkg/image/convertor.go @@ -1,3 +1,4 @@ +// Package image provides image convert function. package image import ( From 23726d93677aa0862b31d4767d9d6bfac10308e6 Mon Sep 17 00:00:00 2001 From: annkara Date: Mon, 15 Jul 2019 21:08:11 +0900 Subject: [PATCH 25/39] =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=9D=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kadai1/annkara/README.md b/kadai1/annkara/README.md index 0587992..38c9e18 100644 --- a/kadai1/annkara/README.md +++ b/kadai1/annkara/README.md @@ -25,7 +25,7 @@ 画像の形式が指定されない場合には、jpg(jpeg)ファイルを対象に、同一ディレクトリ内に新たにpngファイルを作成します。 -返還前のファイルは削除されません。 +変換前のファイルは削除されません。 ## 使い方 From 1fca16fe7992440e82b165a06b83b13e574bbf88 Mon Sep 17 00:00:00 2001 From: annkara Date: Tue, 16 Jul 2019 07:48:40 +0900 Subject: [PATCH 26/39] =?UTF-8?q?=E5=A4=89=E6=8F=9B=E5=BE=8C=E3=81=AE?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E5=87=BA=E5=8A=9B=E5=A4=B1?= =?UTF-8?q?=E6=95=97=E6=99=82=E3=81=AB=E4=B8=8D=E8=A6=81=E3=81=AA=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB=E3=82=92=E5=89=8A=E9=99=A4=E3=81=99?= =?UTF-8?q?=E3=82=8B=E5=AE=9F=E8=A3=85=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai1/annkara/cmd/i2i/cli.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kadai1/annkara/cmd/i2i/cli.go b/kadai1/annkara/cmd/i2i/cli.go index ae49d6f..ee075f8 100644 --- a/kadai1/annkara/cmd/i2i/cli.go +++ b/kadai1/annkara/cmd/i2i/cli.go @@ -47,6 +47,13 @@ func (c *cli) walk(root, before, after string) error { err = image.Convert(origin, out, after) if err != nil { + // 変換処理に失敗した場合、不要なファイルが作成されてしまうため、削除する + // ファイルを閉じた後でないと、Windowsの場合削除できないのでここでCloseする + out.Close() + e := os.Remove(filepath.Join(dir, n+"."+after)) + if e != nil { + return e + } return err } } From 5df1869b5059d4b23b27dbdf651f4b084213c844 Mon Sep 17 00:00:00 2001 From: annkara Date: Thu, 18 Jul 2019 07:41:05 +0900 Subject: [PATCH 27/39] =?UTF-8?q?=E8=AA=B2=E9=A1=8C2=E3=81=AE=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E3=82=92=E4=BD=9C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai2/annkara/README.md | 13 +++ kadai2/annkara/cmd/i2i/cli.go | 124 +++++++++++++++++++++ kadai2/annkara/cmd/i2i/cli_test.go | 44 ++++++++ kadai2/annkara/cmd/i2i/main.go | 13 +++ kadai2/annkara/pkg/image/convertor.go | 35 ++++++ kadai2/annkara/pkg/image/convertor_test.go | 28 +++++ kadai2/annkara/test/test.jpg | Bin 0 -> 31461 bytes kadai2/annkara/test/test.png | Bin 0 -> 15313 bytes 8 files changed, 257 insertions(+) create mode 100644 kadai2/annkara/README.md create mode 100644 kadai2/annkara/cmd/i2i/cli.go create mode 100644 kadai2/annkara/cmd/i2i/cli_test.go create mode 100644 kadai2/annkara/cmd/i2i/main.go create mode 100644 kadai2/annkara/pkg/image/convertor.go create mode 100644 kadai2/annkara/pkg/image/convertor_test.go create mode 100644 kadai2/annkara/test/test.jpg create mode 100644 kadai2/annkara/test/test.png diff --git a/kadai2/annkara/README.md b/kadai2/annkara/README.md new file mode 100644 index 0000000..5e84516 --- /dev/null +++ b/kadai2/annkara/README.md @@ -0,0 +1,13 @@ +# 課題2 + +## io.Readerとio.Writerについて調べてみよう + +- 標準パッケージでどのように使われているか +- io.Readerとio.Writerがあることでどういう利点があるのか具体例を挙げて考えてみる + +## 1回目の宿題のテストを作ってみて下さい + +- テストのしやすさを考えてリファクタリングしてみる +- テストのカバレッジを取ってみる +- テーブル駆動テストを行う +- テストヘルパーを作ってみる diff --git a/kadai2/annkara/cmd/i2i/cli.go b/kadai2/annkara/cmd/i2i/cli.go new file mode 100644 index 0000000..ee075f8 --- /dev/null +++ b/kadai2/annkara/cmd/i2i/cli.go @@ -0,0 +1,124 @@ +package main + +import ( + "flag" + "fmt" + "io" + "log" + "os" + "path/filepath" + "strings" + + "github.com/dojo6/kadai1/annkara/pkg/image" +) + +const ( + exitCodeOK = 0 + exitCodeErr = 10 +) + +type cli struct { + outStream, errStream io.Writer +} + +func (c *cli) walk(root, before, after string) error { + + err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + + if err != nil { + return err + } + + n := info.Name() + if strings.HasSuffix(n, before) { + origin, err := os.Open(path) + if err != nil { + return err + } + defer origin.Close() + + // 拡張子を含まない出力用ファイル名 + n := filepath.Base(n[:len(n)-len(filepath.Ext(n))]) + dir := filepath.Dir(path) + out, err := os.Create(filepath.Join(dir, n+"."+after)) + if err != nil { + return err + } + + err = image.Convert(origin, out, after) + if err != nil { + // 変換処理に失敗した場合、不要なファイルが作成されてしまうため、削除する + // ファイルを閉じた後でないと、Windowsの場合削除できないのでここでCloseする + out.Close() + e := os.Remove(filepath.Join(dir, n+"."+after)) + if e != nil { + return e + } + return err + } + } + + return nil + }) + + if err != nil { + return err + } + + return nil +} + +func (c *cli) run(args []string) int { + + log.SetOutput(c.outStream) + + var ( + before string + after string + debug bool + ) + + flags := flag.NewFlagSet(args[0], flag.ContinueOnError) + flags.SetOutput(c.errStream) + flags.Usage = func() { + fmt.Fprint(c.errStream, helpText) + } + + flags.StringVar(&before, "b", "jpg", "変換前の画像形式を指定") + flags.StringVar(&before, "before", "jpg", "変換前の画像形式を指定") + flags.StringVar(&after, "a", "png", "変換後の画像形式を指定") + flags.StringVar(&after, "after", "png", "変換後の画像形式を指定") + flags.BoolVar(&debug, "debug", false, "") + + if err := flags.Parse(args[1:]); err != nil { + if debug { + log.Printf("failed: %+v\n", err) + } + return exitCodeErr + } + + for _, v := range flags.Args() { + err := c.walk(v, before, after) + if err != nil { + if debug { + log.Printf("failed: %+v\n", err) + } + return exitCodeErr + } + } + + return exitCodeOK +} + +var helpText = `Usage: i2i [options] directory + +i2i は指定されたディレクトリ内の画像ファイルを変換するコマンドラインツールです。 +オプションを指定しない場合には、JPEGファイルを対象にPNG形式へと変換します。 +変換後のファイルは同一ディレクトリ内に出力され、変換前のファイルは削除されません。 +JPEGまたはPNG形式をサポートします。 + +Options: + -a, -after 変換後の画像形式を指定 + -b, -before 変換前の画像形式を指定 + -h, -help ヘルプを表示 +` diff --git a/kadai2/annkara/cmd/i2i/cli_test.go b/kadai2/annkara/cmd/i2i/cli_test.go new file mode 100644 index 0000000..f09091b --- /dev/null +++ b/kadai2/annkara/cmd/i2i/cli_test.go @@ -0,0 +1,44 @@ +package main + +import ( + "bytes" + "strings" + "testing" +) + +func TestRun(t *testing.T) { + tests := []struct { + desc string + arg string + expectedStatus int + }{ + { + desc: "正常終了 : コマンド名のみを指定", + arg: "i2i", + expectedStatus: exitCodeOK, + }, { + desc: "正常終了 : ショートオプションを指定", + arg: "i2i -b jpeg -a png", + expectedStatus: exitCodeOK, + }, { + desc: "正常終了 : ロングオプションを指定", + arg: "i2i -before jpeg -after png", + expectedStatus: exitCodeOK, + }, { + desc: "異常終了:不正なオプションを指定", + arg: "i2i -u unkonwn", + expectedStatus: exitCodeErr, + }, + } + + outSteam, errStream := new(bytes.Buffer), new(bytes.Buffer) + cli := &cli{outStream: outSteam, errStream: errStream} + + for _, tc := range tests { + args := strings.Split(tc.arg, " ") + status := cli.run(args) + if status != tc.expectedStatus { + t.Errorf("desc: %v, status should be %v, not %v", tc.desc, tc.expectedStatus, status) + } + } +} diff --git a/kadai2/annkara/cmd/i2i/main.go b/kadai2/annkara/cmd/i2i/main.go new file mode 100644 index 0000000..c43aa11 --- /dev/null +++ b/kadai2/annkara/cmd/i2i/main.go @@ -0,0 +1,13 @@ +package main + +import "os" + +func main() { + + cli := &cli{ + outStream: os.Stdout, + errStream: os.Stderr, + } + os.Exit(cli.run(os.Args)) + +} diff --git a/kadai2/annkara/pkg/image/convertor.go b/kadai2/annkara/pkg/image/convertor.go new file mode 100644 index 0000000..1904ad6 --- /dev/null +++ b/kadai2/annkara/pkg/image/convertor.go @@ -0,0 +1,35 @@ +// Package image provides image convert function. +package image + +import ( + "fmt" + "image" + "image/jpeg" + "image/png" + "io" +) + +// Convert is the function that converts an image format to another image format. +// origin is original file, target is converted image, and format is target image format. +func Convert(origin io.Reader, target io.Writer, format string) error { + + var err error + img, _, err := image.Decode(origin) + if err != nil { + return err + } + + switch format { + case "jpg", "jpeg": + err = jpeg.Encode(target, img, nil) + case "png": + err = png.Encode(target, img) + default: + err = fmt.Errorf("対応していないフォーマットです") + } + + if err != nil { + return err + } + return nil +} diff --git a/kadai2/annkara/pkg/image/convertor_test.go b/kadai2/annkara/pkg/image/convertor_test.go new file mode 100644 index 0000000..d102687 --- /dev/null +++ b/kadai2/annkara/pkg/image/convertor_test.go @@ -0,0 +1,28 @@ +package image + +import ( + "os" + "path/filepath" + "testing" +) + +var path = filepath.Join("..", "..", "test") + +func TestConvertSuccess(t *testing.T) { + in, err := os.Open(filepath.Join(path, "test.jpg")) + if err != nil { + t.Fatalf("failed test %#v", err) + } + defer in.Close() + + out, err := os.Create(filepath.Join(path, "test.png")) + if err != nil { + t.Fatalf("failed test %#v", err) + } + defer out.Close() + + err = Convert(in, out, "jpg") + if err != nil { + t.Fatalf("failed test %#v", err) + } +} diff --git a/kadai2/annkara/test/test.jpg b/kadai2/annkara/test/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02bfe5dc40e66d5d059f39c4a703317785e798cf GIT binary patch literal 31461 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 literal 0 HcmV?d00001 diff --git a/kadai2/annkara/test/test.png b/kadai2/annkara/test/test.png new file mode 100644 index 0000000000000000000000000000000000000000..834bf325fa137b46b1e7d38e74590a8c116473b5 GIT binary patch literal 15313 zcmbW8Wl)?!n5~E4gg~%h!vFz7&;)k~!9BPSu7kU4fMA0K8{FO9Apr(=nBeZN!MWMp zTU+~c?|rMf|9sz{r@OkU-*ZmC{CQafd zkb;a7L_r1wQqi)~Q@v-V0RlhrFfe~+rLALPYG!U>X=Ux~;_Bw^;pr9p zJtQ>jM|ebh!q3E{DD7Lt|5OOY5)Sy?y=gfx)4v>6zI%#Gm~LIp-w=wBY0@vpr|((tWcF$j zQiK$Dq^_!mq8Q`z!erQ1=>h)yyN||24{zfZ)DEx94I#?QiH}@1bhF3U;?jcMxW-6p zyJuX3w?TbJT#IcCPCnt<98eEIjlZF%qoHLGzW&)bcjRf(or*_w599OMi*oCMMRMMr zZPB%u3e5%fJ%=f$IKg5!Ptmu<{m1!HS*izKvzY3C?vn1v{X-kgQ_ZFgRglGO#xHi? zB-79cJ)f?tVM{`SSz0;2ttEbu`-vWfFE!#jP!Vs_?@H)u;|opo!Bf>@vBirlAv7g)9GgRwvM9>({g;Hk{#HT*c_A9Orbq8Mpb6 zxXp{%uPeN^(;`HpHPx*U$V{)jTU3JTH`Cx7qh1T2>&iza& z9Zg$7d{vUOwo>%LSCu>}0ZgW@J1O)1%i?TWfALJXrod8BQ2+?ezJsE-s-#U{9AkU% zHb8w}ik?W(KveC0-i%l!qc-}8qq2)Nie$HWih|(%j0M&7+cUr}Z}t|5yW#ULY2hvm zkl=LnQEFn!r>M~Rs(9bsZ4|(}+sPml!XsS&4Y>(R{!$^26OcdUC_xBt&Cj0thCYF{ z*Z|q3$&n75VD(Sa(2VSU0ett;JgUqZE4Nyx$XH(9lyD@-k57`+METqe1U*JrM7;O( z;c+W2s0rPi0M0SF=s~%cYsj*!>o(`*pJ^^-=zZH2(q8~|@=enxX7$=%kD{!P< zJ`~@=o>wka#O$f!c@3eTKD!v_#S4|*$BG&~WzeEAwa|xaao-W5p$5`@0i_)H`j*u6 zbO=Vu{n^qOAAnmuMwQgS*sFySLgcbX@w>HKfFzi zOduT#z~!FMA%WuD)|9DBA~J2*u4K4Nrts(K+#0%wb zHKgc3RNm+Mp9ImviB_tmInIT(vq!sF`0HYnYtBJTc2jF;C~qMHZcO?=wp;M%EzFn! z$FY26H3s1Q6SC=V8k9%zL;lFxycrXv_nFI9juTtvt*^SJhF=ajm>#4vtTorvsFsOj)Y>wYZ11Deob z>eM5P(4#}WsPX`vt^+9vAFpt5hqYxV#q`3aPwS5$=|GR=G(a<4$>-)?L(v^&`NS10 ze1^CwOcfOH_euTexY7>rY-~c|-rJ6@c5o0yzv8-nmt3ZMTlbX*kH2HN>clSDO0^lM zSr8HZD1DZ&i6Txu`jX|t? zm#-HElIWuAyZxIXX`PZPVhpO!2+Fa}2vv)Z>#@(Ai_rv1?NQ;j8*xgd!3y$r=);$k z72gsnd@;*>SSLRv!bo)H$337Tiix{qFMwas5CsibZ{#1%;)hD~i)VFNtJsZke&;c3 zv@)J=3bq2Gj@WUsU7oZm`F^0xC&s+lSk81+DO&U3TNS_eDc|Y$74n4kc>6`OQBGwf zK3F1Ii55;uqvpnv=@`)%yHpE8GRCES0!K|U`ooUMmXZBB946?3xbk;k$&0_OG0UsZ`h9Xv;s zZNJWRqKFEW+WKm(1e?#WRt7wXai;m5Y$&c4h=J%*X;_+^QJJNdQ7){dn#0UBfj0#T zjT6Iy)$cstmQ#lU=x+y3p}%uJq%!O7Z9Iqf_Y4rU<6>T5y^mceFXQJlORVKn z4L*(eRS8yN)_4P;CrHG`IKq)|A(IR%I`|A${6whtyOx(_XlqC-R{93{n#(|Wg4NDd zvngDSrQXx${vK)RL1S(^jN{Mct_l|$W4tCrH7=g-Lz|Ydlshk0X@0z8CSa$*a4J<^ z1^ji5ARsJ2nv^Q*tTIw;+Hbg2)YaxI_vv-0yzr4@+#k0-FTb?4GTj>Hrny6cR~lOR zv2oZhibk082cDx_N=$@-CkVp!IVvu?d!k{S&F)}NgNXk z6GB4IhVS;2x#?7lCZ)ONAK-xJho~4Xk9-Ubz3`UYE95v>p4wsdiLXh?huYmz?CgL3 z*aA8@u-z$phi=BBssiPVFmq0QsG2J1jVI5KXW+0s&GKHiNl61e^7AWiUtCJrdD(k5UR^cTjLlTl z*G@%GdyDsEhc4s9cemV#-|l}&)}GZjH1YKo^*A{s&;OlX3Wwoq%DG7I;b2}2IL$(0 z$_HO2vyFMlcRQbd&p1GG>t-rGg`JrFegU}iiadGU9gO!9xB5tfjMy`amtFwZeJ%?Y z5fwWNeja+>GtOF*OqpRD1}OV}R80)d)*-EBfk8zxAoxD`^~P%0eR3GBr!shF#Gk|< zRjQey1HKJD%=4&bFV*8s5>A6FUtd=S9gHE=8U_|=?f9?DLKJ(4D8{2}#_h+_?ldbs zF4t2VtnBNXe+9{LesS=XzT(=N>OGe>aWykLz|~piykU#C{4p6PnqNwbCa@C(*mJ)9 zhQq+|1rzo$KO40GSfyk8G5b|StoW8G1LvF+g<8z705ZS&pUPi|soP=8feJZ+DBLTe z2N+zC<7!2%rMz&hB-Unul=OIivN0iR^DtzpU==G`{fr|MW9qmaWPtE!PM8n!z@xRq ztQj%LO+WwnAu4OG4r5`cGpI-mW~$W$%ENlMY}fVqw@*WzeTCLibz_V|h_M^CQU4Y* z8ppVjo(0h;f6^f=a0be-6h=7KQ%~G%^CcYrFL`ppfuh&cr%-c_e`}^I~ZtJ1Hn4i-<$scCSJJQg+V6B9LZM@QJP9b`BWJ-&x9PM?Qe-bI-Tc28Y_JoNG zB;>QwgxMu5;z@-9#zC8iPl9OuaU79W(cMl_uBuH++&}vJqvg7#;;e*iKY*NmhI~CV zZ8%Rgqn@M7v!m^!oV5fy)L28pGKA1STdp_7SEGuaDY{^Ra`H$NoA{z81J%ca#3QB* z;xIwwQV;nMR~|2yqGzGu0M)0-#hC6a*=r_&3;}S%<&o*{HRAAogkIDIf5b(af|S{k z$&rJer;VcYFw+9GV>u$)JK{^NQBiovIl-Ge<=Qd&mYj~e|R zH)BjCbs^dx$$7#qnf*6ICKOxjU+?w~qn>cZZqfXw$mWy%UM?Je0{bf2&At z!`9xG|8*N|Xx+kEIz#+0pR6K`2QPd@3D27GMihV-bq^LiTo!3nSVb%L)w)WeW!;2% zGcj4VEw{gxca+kAb2h6medG62J`kqonG`j6mfswcCsG9oXzIB0>C~uAD!xx3?B$OC zIi(87jgSSzQp)PXJN@}B_gB(MVq^hU`9&aaRZCju72sn9v2uuo7(>DdUfX_JrE*yi-9#jedOkLP$gpQ*`&wK&+Zg2=iMl%8h1{<`AcQD{Pn{mg%{mxpN8g6sYo%4ao3n%z z!Gd-ue{!6ReR=cvB|sAC^i=cM6{0bVzkIZoDE2P&fEcqmQ`!hB>3u(IYap&~AXnEl zv0~piKXQtNK7dsP7c@l9#GNkSPTG@F-|$>ec#qJUP9LPD75Gxt%nr0u5pd~q;BN_% z)76dUjg%HFi0iZ=jCD+iY4wCRSL`%vU-gL?KD=4U{VKN&B>IU@S{Jnj^*rDJJC;gu z6&AT#o|s4k(Eg}&iz1>mJd>dU-V9#nDxR!)5j8+l-Lv~VAx?*WN8CYyOI=?9<5Zg^ zyB#vZDZj;%?hh3t#|IDDVCqPQ&o3 zhtth$=h*un^}4aedI|mO(5+1rva7aZ#c{Eug$89*#j;9V8X|kLb$A|^Ay-JV~XOGq>Nu2df z&~5QWyj_bVE+NU!{Gj%Kst`hs<$T(uaN2K_s5jEFomg^_R;%9~2S8)BwtHUgYdoNp zX3^@+u<@}B-;g(2sRW&mqSiUem5`Q+knDcp=9*#Lx{cj!k8d8~PM9b4T$an1MqDaSfMzfR!#^$(I+A0B;gQ;ZM? zOnv4JnWzyr+DOD4>{K+U0pH}jqhJjd{?7TUwAJ#HY`ESS<13M|qBOZ6{Xu5K z-59USC$K;l?m?$~#Hrn`i__KSqlCrK#$8;+%xvnx3d=;^Ou4B_o*QpfM!RT!JHari z(h5AQzcb-%rI2eCH$VQf)#lSu=a!4ekDd164apx=X~%InfU_k{Q@UATLX4zGAhMm~ zm^D6=n0nI%D^Gx%$R0$*)y_GZbNZ?Xs6qyimHo)s{mrvT69QJRUF?5CgR{BuOG+Yp=|MwDwJOF9ms!Zp4y zO8lHPQbY@2J{=?y_(X9K-!#Hx_{%N$@C)uF7bF^21$yw#Fgu2gFtEiR-dtrg<+|wU zvRFo9X2BNc$Qa*KskRoRq&$X1v@wdee+W)2+$Rt_n}h47#L;ISlS=e>4BLL|bq*dJ z+{`X#l9Ed#XlR?N%x!ouOKH+79B!x2D3!$F8{iW_(A0EsX$*hLG9rm|*E%;88rgVNO)g((<;g|;fa<-OEb%5O0*O$rt z>!ct&rIqx(!!O>rp@9Lw(w=vw-+sR&gh@5wfpwDFBGW9w&1NgnlmY{sy|xzoxYwMj zq|h?+PXiUIk0JOKn3!Cf0DbbyU@GW5udFN4pKrITp^r!UUH@9ZNerJO@M-{F;iRJ1 z-z2QJo)>OLx)|R_PC^CxQ?zn`>sjAW4>oJackqlgO*Pg#=H0Z~io$8o`LRcPc6_~( z261+8okHzkTaukOou?Xz^Yyb~^#{!^EqI`QPeMN)=d{MX*E3{Tgb(-g(sW%3I>Wd| zPf7}emLGM}2dEcYQBbu7>ewJC17Wl>w#r28hmBCkw38A9Y$1KeV>gRNip_BkHNERU8G_gWo`}4jIHIbTLMT3il4baoq0{* z>$O^B?DD80s+lC6kg<$nQC~9-DaY4g(aCkVcAGU6aH4XO1JzdHgw{rEOdwg`O#L4& zIgN%^gTK1Kl53)z^{%(Nw^gDs$|2&;3>PPci?51L!)M~_EH^|{;6d4U=mD?-DcwP~5(JIK+43ZS?;z0KNG8B<^& zUgndee}%Zhfep3fVnRen7}v+Rh#7e&>!=iL=d5jsR}mA>n45$W4|lGR6WY3gmdkZeTZfC zkt@OSi_Sr_ zMUL(twUE)9K9877FMQ6a$@q=lB!sJ&m~=`@jLE6cFj@OX>l`gV*lf1oig^r~2r0CG zlP1%_anxA|sf@rrbog5vcaubcnP%e;Y00a#M)KV1yHLz6FRWcIx>*(@*fz@?sp4Om zjh_PTELm|0D0t9K*kJ0X_x6noKbruJn|Qp~%TNCNV-Yv&m4t(wKZdDn4}aTH^c?wT z;OWFUjn*qUBcraeeSf7VH^%RPIfkz1rGATlK(1{^6V;mw=;?V4^@Nw427X)IZ!(um zqQf6q<&gfP@=w8ktGv3}w5cz26K)|AVw`y*YTGa??j%BAW5~Zrxl5#wU6Z%=|ZGwT2!iQK~pvCMQN0n;!1Z-L~8GM>28ZBU5ajBG^Y0= zL?a|0+p@N4*F&9fP2yw(jx4VPn$uiTdZ->|ZRO-5Hb_mK(1-63pX@iZ1<(3zyKfc% zkKVHts(pALvVcaLkno?+C-lqJZp(1=#RkTR^BLu&R$x+I(R+a)-eovZxU*%=$aml; z)rdC7$~Fr(60-3$wFt|BZrpvnpX(aT2d-3;Q@7~724^w1#nQbMAuH4^2KMXzr3rTg z;8VwUb3z!`*F+b=t3U22Ki^d42$S80J>!d@m#gwYmU(~B4Q?lpN{WP0euH!{=&FVm zF}aJii<*zy()@FytSx@)o7wd}r@N!cOC$S9-D_+g8EqOuqR)o8Q#TV;0`Vo;wy;e< zpWa6FJv0!uB~p5&{Wy()X(cQ0V0Cd?xZfhaAH;=yuRdr;%z!y-iFG7?;iZ>UrJm&W zcq}%mA$&-Gb2|U5|87eQn$ai}l^|4oC7sNoig#VS4(3pS0W5a!R2@~$rztBq1OH_8 z2k;N9zdIj5@utD6;S>JNHEum5S>&AAcCeFd#xhdd+ztJhntqRsH{D@jjRf2Dbh?wc zs|oT`MywLOcFryA^YN)4ilrZxry-KW{#b-0S3iM7vb652$h6lx{cHcs@ddz)Xln4e zGr~>vx6WG4nSY$TLFY74o$yy0d8hj4# zu<~&F?Ak)vy4dpcrCi^(&g%uBs&}oOFHf4xrOr9PT16AxDAiHZk!Bs_ov^Qi-B!As zST76m>|Q`4hF(WPijRG9ye_{qHr7aH?qi!!uV1q5fD}bV#^N`77Si#=+|96^(M3}> zf7aLuoFkfuoRw#3o9ZB1_|&+(O96@K)j}a|UAUi^i_Xfw{c4HRZeJ=~O;1nv_A+UZ zjmHmjhE6;ZZM^Z)kV&lnGYLO69d!MIgGY$N$G4niqp9@*z`ok2ipQ+9XWf#%p`Dgj zN)q`4j=b}8T`i5nfYQ`Atr&{%L!UQTxchc|*45H2k~Xrq`V(Vd*U|i^zulX3d`Aa7 zrr(gem@7KALEF_b$uzW|XXaPBd4RU#01a?QafZKkb62Yso}KAZ`$b-L&rQWKW4|uM z6Gep$2cS}_6+)p4Q0AjEH_dNpNuBDcx*1CyB9;g{u+ zl;}My5&FyH0)oSB!y+G6e^>45b^YLkjFR)bGMu#g#YU55%)e8+6P1xVamZO2w`l!& zVRZ~d6t#I8>)br&l1Uz6HrWGepF%U$&@bw|t#Kqt2*Vpbh@ z2wkQT|3)(|I&Pqo{LX6F7Akr8n|tIfhPvi+YVqS8T(7If zCL}*S*mzqtPLUICuS$LVWO$!&Sm;5d`6qW>MLOo*M&Z4ye-`q(WUWgUxh}O6O9Rr4 zOrYQ^PsvB}m|G$q?K78;Q~Hbj>VB6WcxgI?M6h;Pa^m~%UL}8Z81Q1xg#QWF$Fi!x zu|W6cI3WMiSjTV-cC7+a{8NuyNuCb4{nx&>9Sf+Corc-C3Zi-%zfvDxj&=BbNz~)9 zG7pnZ#UTOlR$4#klYP4_AD2eFl{0=cWjF6Mnp?kc^&SX28-ncrwXe5Kx}e+)RC*RL z;JN+viK#a^z?}-=LfXga;7(&Z61FnT@P9SRo{oDt5K!x%s;|2Q-FgvR00Chc|qj2=}4gEu;ERp7f!>_ zK@F{YRCshY?(aqs*~OO523ujv=UL25ZB0kghwLE#3c~|pyiw;48Yo*6NhB{leO86I zA}oz)O7J>Yx?51iGaH8?SH96%!&tf+pF`>GV?L}7PZ$h1RGM2WJ0Ee2+o~7|5cEw5CQsQnP!sbiY zvJiB>M*AHmCauBFghTaCO7LAK6C1(bW4hB-M(dO6lo?vk^|*nU^pOg5`HVC!C{q-! zGuwnzj_rYr?X2TA{4S@khkK$QA0-ZYyGfbMrTQ)8&Gga&?}fhOdk|J;fBT>@#hnh9 z^fqj6MfWbc_cg6`mOIcwkZfO&@X!ibx0g^{>qzfu36vOrqe?e4BFDIkBlXwXd$Hw8 zJN{;BFcY8sS=@8WmtQ4XvWaytGslYRbyM{6AXn;!H+}omj)Y0l*RGUG5z+IX_ghMg z3!ch(w(b^tzJOCz>u0LD3gsf`yxmby!gkrQAFj=r(ze=R{+-O$foI2Q&~A`s#16^C zAn64yRU*rbd0L^?a_Zb`&;0LS;P_jQ*{(EMzuK6T@NmhkF8Z)lMQ^Nvp6?unZpY=X zdLAJkr0uSTcLU_zfYT9D(Y^giE1H(Hbk z4)%-Nxi?tm`s&)!cUvCIvRgVLAU?LhO>EtWU!7AQx|$o`b|rG4Efv&qUyU*D%Y0bs zyr^_=nTS$P(|>qy#QqQ>iG)Z+W16&&jGEiA%yZHhow8mjI87>>;c=p zbrT59-1*@~)z4~4QmiyrqwbOj1yJJ0g{8uJS=lucl9CGeiTm-Lc8tBO{m)H?faVff zf4ZQ=h2~9Ip-YqiNo=tQW5xS-ygeeSGOo^qZ;}mh3q8vP#_@B}=Am!oi-=lS+=zA5 zpkrUWp}Pg14a>oLVBKL`_Ms4mN4)K|E86ROglOq)pqW!l(!efSO#z zotA>j7XXM6Egi;8EU+2|D@r~`mersqsQZ1FN4XCU*}!PDRyqX}*&p;eLk`;nBHBbq&hpyB++Q-tsbUzcRS#2ecV4? zBJ1|6fADT>^oeWb_?vtm<8|RkD3trxokzZ_ejekS~nDF`uRviN+PUPNb_iO}XocZjzbf<+~u! zkqnFV{D1XuH!42ij+5A1-pdaC#@6Rfha8+*(#eO+&3a5u5FcQT!)&`zv3!h;KB@ND*9(}Tq!IL@T_xAj!{7}^|_sVmXWGgVW~%qbVC%f-3$>8>O$@+v6(Qdxp? zm3ujKA+!jBpKsstWf)jTaHidzGb+nO zDOGCa00NtxVqy6ru{7rP5WET-Q>B~ijztqHqhpW(-;fd_7q~LAR-+l~5uXM2_g|S^YXK z{r9_4orm87tDiKH|M{c=pT{pHp5DI}g0E10DaxzElpOdOO|Gg^UBey}TijMxe!c)g zyd0!bxt(+ZUjPb@`!UXRYd;7X1Nt_h|gWm;$ zo9CM5eZTNkU{nO`->O&9+A3efGw9`^ELP>9_;C>?{U+^x-vnOmaz=3J$k`->{Ijf; z9oXanP9C6N*&dz)G{~z&b+q#2)QXJlH5A#$V9RD=^7RW{Ufr|}MUIOP=!aUuA0{j6 z(;_X`+|1%g!|lIG-6AUV^!COg9sNst41aI2=~0y9PIs+?-OsTurQ6b!o`+_P+S$s3 zlo&8x$LBk*7Rc*#h9)>Q7Lk7^&3}LcR8VOz<5UZY97Oo*n7+H+@%ayx+hcuhewD)_ ztrLh(${}y{hQpQGjty#wbhnyFj}&My9&xX-@b?*?63Ozu3QdM3c@%De48a}I9GUO) zPVUM0W(^{py=*BQL|5%|1${Q`jZh(w!d@Pxap6!fFz8fmh=XOrLa3Rc&02Kz!2 zl%x=b(-rxR?UJ9jYHKTxi<)Vs_a!Q83awcjXj-sOM@(WhDRq9ee4VVOfW*qs)y#3D z{{f!Kbb}hwOBk$me8)|m5ls$_$?U}zU}P7QRkW6}HeSxdQ+7ZQ!}wUh=BlfqHCg=f zGJO)V7zx&QXlG%)-s@qlBtGtKcM15iy_jBe!O24J7`GpYz2LIaFjT+vADB2BQW2#cf({zh=;Uez08o%$6rhkydz| zdj7uzq!Q_)2-Z-`^jI&O6jHyU=NSKWasBAGefNoG^CXh-q~Z2hO(9AC`-tP(hK&Xm zsgx6zQ<~{d_`l30Q6=Y)Esc(Z8}f>+<*d+?&c?Ud@keQ;ta0XfyPtz$TY_S=ut*7a zE4x)wpl{Ck-)0)aF(-gvTttcQhOg4MaF(6sX75m5K0(T_fSW_DQvLc1Mqv9~3;2G- zK;QEnF{Sk~o4U`UL*bBhOsMgg+0d4-;uhk^ltsGPEX?|WU07F&B9G7~iUHtRWuM}a`Sau=Y_c`oQ zsVwMUMP!HDr&x9=+e36Icq^0qSNMEOTaNOOFG}O3dNwN9bp#Pw^+`RK7Y%J7_7O(yJEDR~M_uB7qBjsg>VciURmSqH9kdA=&iizFZr+l<)Tj^0w_D8AcJ)XTtS@ zMr*vA8NUzsJ>FgJmH~vN9;FWB)a+<1m&#sYrE8)}YiGzT>lJTC>XM(1iDPr~i-0!RM7*3Yb9%DH{(M6h1j~nOZr3`h{ds?na z6p(UA!w_K#4ESABdDLgm&5^P=L8pEpIt3 zY>jQNlo1JdEZruzyQUL3`hm5R=R&emv`JcQmau&&gDk0$LwRybYAlKF1exO0MV;{B zvb6+Y{{X8(E0+@PVB3N`MgCThS5|0-jd$ZYcE9ft3L6>X+ExWfAd|~~k$%d#w(9fg zl9X1Jv(QTdS8mX3E1g|DuBVnUkyyn4mv+cH}mC&h-wsn~3v@3}NJg zJ^N3OUDk&IN@|Vc2DZEOd%mTk(QyJ_kO9VRZc-mMU5-Bztt{ar7Pk72Mj1v-)z|Q% z8!fIhtxbiZzlt3b*Al29MEVVZqZd`(#D&1lR#~EJfETh zlzNj}Bg8ZQ8)2brW7kJf-l|Wt?=M^{zKWbI4Rs|{S6+T;^>~yk;u}EQq1!)L(Ay8s?J|MGiUc3UPlq+QM)T~{Mn9oMSk)9w}C{y(nzG#=!&K0cl=xp7^7 zSGEHOAewyG&e;$7H6LkoA`_hLvi9NyOo!h-1MjO2*k*#Y)k9`S8HRI^NVv#ZY^-4> z^Ln3|E^f-F65%G!{0DOaDKG{?BBOuztD8@Sda+$D7lmz;Z_RsnLCwV{SAPl>Dg(m` z8MN}p{#^w|kaUa7^3db77eZ56qEc0~aV4*A3Uya%9Uftr1XF3c*?9ej_= z&3!j;wJ)7)L~de-jl(X9jO#C(;}zs9N!=lp@_WZQK)7fsm(5Pbg;jxe{(u{SNh?G3 zn+afL{_n|w-DR~4db%ck&cO!8+=2!w(yu1v7r;SfjMq>*@R^ghx$P}1slZb!6_al# z(RcqO`%->i8lA&X{dMZtRRk9ca}*x&Y|N|NnFcN9O+G_|T7>ADFPi5T*-9QMKF_1K zxc_&`4S313dIzJT{7``eq3Z%D^<7N_QGG)!49IS zS)(o=1_<#Tp%AnKwp&eu;;+cuk_yf|;ZX^PqcVAdaD`U0nesn@7fa&v_x!Md^CPfk z?;B4(_#*Jxkn&KcT5Nj=inJa`3c42Cpw_$%sbF`)-lTOI>m7A6)S0E38eR0MxJxeq zPDMBp8h0S~lQFE3eQTi70eq=HYd23XQ9si5? z)6y81oB0kW{u8Q}3(ez$x+OJL@TgTECW(1JDza3gCE09MG^Z0C7VIaZ;BA=y4dTyp z*uS>MWzfcaVKaC@=tm`uWah3?JM?5sm8e&Wadm`J`54?{RIKfhJ5VAKaV&NEe%xRE znsTV+K&+HI3d&)@d7)K|-e7$|Cf*2LWnegr7-5t!G7%SL#$=3p9}L^&qQuD`RIx~xL75v5(@+sAIa`%`ZNUexaG%x@b!an-*7A-RYCl`f&nEGA`2u&s z?U0KeR%z`227RN$a`1J8KSpPud1{N8YCtye`31mqr_tU?*;a2FKlODA`xGSrSJ32N zqHm?HA^cRH8cd239A&tBR%vg-D|_ZefmLr>!7{+I6Er`^XD7*HSdEehYChG>J|}Ek zbdWLd>aRJQEA!Zp42jcC?;@I7ycIltwP6Mt;?Nh2nDa_;K6Ih+nEkb;`^wi{&GC>w zvwZu#Dwc^rP{OT7If$YlkmbdqmwN6H1jPb?LKAB{DyaS*L_gpH{ z;v97zFG-HeKGD0W-oIPLZ>o?{dY#QtVJabtTSXdJwncoCtN3?GQU>h(gf`23+IfH%14{Oso2 zGW3FNpHeczD`SGqcCGxrP^IQqxn!&~NjXYe%&zdo+dg`9D z@jH9G6;wp5lQ8ud*d8BR>2%Pg3dVs%Or}*xAb!5us0`56$Z-5aKn<3ZMqUg>t<@nh zFPAm1gJrW;JjNLsM3$rnP6S^0{0FT*Ck$e`5j%Y2h`$MNsfHc_yG%JGne>(C7aO?gelXnL|PxFeVkOXFHvlWTxyvgooBLasIs|c&PF=&brhN1`Rd+|$&8}Dg?_1w_W49Z3Hv63)r1?8 zL+P7Z>Pd1J*N^YqKv;8A@tOkX`6}pJAL+^Jx_&*GLPqvLv?#^7nrjTzZbp306A+cDH!710bbDk)daU7il$Iq9#C*tjGltxdGF(0{e=)pc{ zQLO2KAM|EqsRcB=c>Y*6Qq-1tvA){^lPUD?ph-`7_Get+94Yv=Cn&Y?FF=d8VxJMA z%j6SVvgVzos_j_AC{@HIVF2~Vf-wYG&(eH2u@+?o05uBoJJ=o%UokjrIYvx1rlC_H z<@ZpyMvq|to*SmE5Z`SFD{()A95i{Mo>Y1?C?ARxwaT8A1P^1xo)`AvNa?v S`!V=VLv7l0;)DOo{Qm(Uk@G+R literal 0 HcmV?d00001 From e2cfaf2ce315f0c2525eb58e51beb6510f1aa61a Mon Sep 17 00:00:00 2001 From: annkara Date: Tue, 23 Jul 2019 07:10:19 +0900 Subject: [PATCH 28/39] =?UTF-8?q?io.Reader/io.Writer=E3=81=AB=E3=81=A4?= =?UTF-8?q?=E3=81=84=E3=81=A6=E3=81=AE=E8=A8=98=E8=BF=B0=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/\350\252\262\351\241\2142.md" | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 "kadai2/annkara/docs/\350\252\262\351\241\2142.md" diff --git "a/kadai2/annkara/docs/\350\252\262\351\241\2142.md" "b/kadai2/annkara/docs/\350\252\262\351\241\2142.md" new file mode 100644 index 0000000..0c83e86 --- /dev/null +++ "b/kadai2/annkara/docs/\350\252\262\351\241\2142.md" @@ -0,0 +1,28 @@ +# 課題2 + +## io.Readerとio.Writerについて調べてみよう + +- 標準パッケージでどのように使われているか +- io.Readerとio.Writerがあることでどういう利点があるのか具体例を挙げて考えてみる + +## 標準パッケージでどのように使われているか + +入出力処理を伴うパッケージ内で定義されている構造体の要素、また、その構造体を生成するNewXXX関数などのパラメータとして利用されていることが多いように感じる。 + +io.Writer/io.Readerはともに入出力処理のシンプルなインターフェースを提供し、インターフェースの実装を用途に応じた処理でラッピングすることで、柔軟な入出力処理を実現している印象を受けた。 + +### io.Writer + +[golang/go内でのio.Writerの利用箇所](https://github.com/golang/go/search?q=%22io.Writer%22&unscoped_q=%22io.Writer%22) + +[src/bufio/bufio.goでの利用箇所](https://github.com/golang/go/blob/3ed5a53f9d1c9713c7d2748f7744534e404b80de/src/bufio/bufio.go#L544) + +### io.Reader + +[golang/go内でのio.Readerの利用箇所](https://github.com/golang/go/search?q=%22io.Reader%22&unscoped_q=%22io.Reader%22) + +[src/archive/tar/reader.goでの利用箇所](https://github.com/golang/go/blob/50bd1c4d4eb4fac8ddeb5f063c099daccfb71b26/src/archive/tar/reader.go#L18) + +## io.Readerとio.Writerがあることでどういう利点があるのか具体例を挙げて考えてみる + +### 利点 From 6ce6be0d68458897375573c3a0587f116491d9db Mon Sep 17 00:00:00 2001 From: annkara Date: Wed, 24 Jul 2019 07:36:19 +0900 Subject: [PATCH 29/39] =?UTF-8?q?=E5=88=A9=E7=82=B9=E3=81=AE=E5=85=B7?= =?UTF-8?q?=E4=BD=93=E4=BE=8B=E3=82=92=E8=BF=BD=E8=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/\350\252\262\351\241\2142.md" | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git "a/kadai2/annkara/docs/\350\252\262\351\241\2142.md" "b/kadai2/annkara/docs/\350\252\262\351\241\2142.md" index 0c83e86..ff24f6d 100644 --- "a/kadai2/annkara/docs/\350\252\262\351\241\2142.md" +++ "b/kadai2/annkara/docs/\350\252\262\351\241\2142.md" @@ -26,3 +26,43 @@ io.Writer/io.Readerはともに入出力処理のシンプルなインターフ ## io.Readerとio.Writerがあることでどういう利点があるのか具体例を挙げて考えてみる ### 利点 + +- 実装の切り替えが容易であること + +```Go +func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) +``` + +fmt.Printf関数は、第一パラメータにio.Writer型を受け取る。 +そのため、io.Writer型を実装する具象型であればどのような型であっても受け取ることが可能。 + +```Go + +// fmt.Printf関数 +// 実装内のfmt.Fprintf関数内で、os.Stdoutをパラメータとして渡しており +// 標準出力にフォーマットされたデータが表示される +func Printf(format string, a ...interface{}) (n int, err error) { + return Fprintf(os.Stdout, format, a...) +} + +// go docコマンドのusageの出力関数 +func usage() { + fmt.Fprintf(os.Stderr, "Usage of [go] doc:\n") + ... +} + +// net/httpパッケージのHandlerインターフェースとResponseWriter型 +// ResponseWriter型がio.Writer型を満たすため、ServeHTTP内でResponseWriterを +// 通じてHTTPのレスポンスを応答することが可能 +type Handler interface { + ServeHTTP(ResponseWriter, *Request) +} +type ResponseWriter interface { + Header() Header + Write([]byte) (int, error) + WriteHeader(statusCode int) +} + +``` + +高度に抽象化されることによって、入出力先の対象を切り替えることが容易になっている。 From 4fffca84672fb42fafac631494d626fd48681cf2 Mon Sep 17 00:00:00 2001 From: annkara Date: Wed, 24 Jul 2019 07:36:45 +0900 Subject: [PATCH 30/39] =?UTF-8?q?=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF?= =?UTF-8?q?=E3=83=88=E3=83=AA=E5=90=8D=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annkara/doc/\350\252\262\351\241\2142.md" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "kadai2/annkara/docs/\350\252\262\351\241\2142.md" => "kadai2/annkara/doc/\350\252\262\351\241\2142.md" (100%) diff --git "a/kadai2/annkara/docs/\350\252\262\351\241\2142.md" "b/kadai2/annkara/doc/\350\252\262\351\241\2142.md" similarity index 100% rename from "kadai2/annkara/docs/\350\252\262\351\241\2142.md" rename to "kadai2/annkara/doc/\350\252\262\351\241\2142.md" From 570f41605aed0fe9821c4a37f81d143ab35d9856 Mon Sep 17 00:00:00 2001 From: annkara Date: Thu, 25 Jul 2019 06:50:41 +0900 Subject: [PATCH 31/39] =?UTF-8?q?=E5=88=A9=E7=82=B9=E3=81=AE=E5=85=B7?= =?UTF-8?q?=E4=BD=93=E4=BE=8B=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annkara/doc/\350\252\262\351\241\2142.md" | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git "a/kadai2/annkara/doc/\350\252\262\351\241\2142.md" "b/kadai2/annkara/doc/\350\252\262\351\241\2142.md" index ff24f6d..397ba3c 100644 --- "a/kadai2/annkara/doc/\350\252\262\351\241\2142.md" +++ "b/kadai2/annkara/doc/\350\252\262\351\241\2142.md" @@ -30,30 +30,23 @@ io.Writer/io.Readerはともに入出力処理のシンプルなインターフ - 実装の切り替えが容易であること ```Go +//fmt.Fprintf関数は、第一パラメータにio.Writer型を受け取る。 +//そのため、io.Writer型を実装する具象型であればどのような型であっても受け取ることが可能。 func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) -``` - -fmt.Printf関数は、第一パラメータにio.Writer型を受け取る。 -そのため、io.Writer型を実装する具象型であればどのような型であっても受け取ることが可能。 -```Go - -// fmt.Printf関数 -// 実装内のfmt.Fprintf関数内で、os.Stdoutをパラメータとして渡しており -// 標準出力にフォーマットされたデータが表示される +// 標準出力への出力 func Printf(format string, a ...interface{}) (n int, err error) { return Fprintf(os.Stdout, format, a...) } - -// go docコマンドのusageの出力関数 +// 標準エラー出力への出力 func usage() { fmt.Fprintf(os.Stderr, "Usage of [go] doc:\n") ... } // net/httpパッケージのHandlerインターフェースとResponseWriter型 -// ResponseWriter型がio.Writer型を満たすため、ServeHTTP内でResponseWriterを -// 通じてHTTPのレスポンスを応答することが可能 +// ResponseWriter型がio.Writer型を満たすため、ServeHTTP関数内でResponseWriterを +// 通じてレスポンスを応答することが可能 type Handler interface { ServeHTTP(ResponseWriter, *Request) } @@ -62,7 +55,16 @@ type ResponseWriter interface { Write([]byte) (int, error) WriteHeader(statusCode int) } - +// net/httpパッケージのtriv.goからの抜粋 +func (ch Chan) ServeHTTP(w http.ResponseWriter, req *http.Request) { + io.WriteString(w, fmt.Sprintf("channel send #%d\n", <-ch)) +} +// io.WriteString関数の抜粋 +// 第一パラメータがio.Writer型を受け取る +func WriteString(w Writer, s string) (n int, err error) { + if sw, ok := w.(stringWriter); ok { + return sw.WriteString(s) + } + return w.Write([]byte(s)) +} ``` - -高度に抽象化されることによって、入出力先の対象を切り替えることが容易になっている。 From 43248ced862cbe672ee7ff234d8a2451d6d3fca4 Mon Sep 17 00:00:00 2001 From: annkara Date: Sat, 27 Jul 2019 17:32:03 +0900 Subject: [PATCH 32/39] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E7=94=A8?= =?UTF-8?q?=E7=94=BB=E5=83=8F=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88?= =?UTF-8?q?=E3=83=AA=E5=90=8D=E3=82=92test=E3=81=8B=E3=82=89testdata?= =?UTF-8?q?=E3=81=B8=E3=81=A8=E5=A4=89=E6=9B=B4=E3=81=97=E3=80=81=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E3=81=AE=E6=A0=BC?= =?UTF-8?q?=E7=B4=8D=E5=A0=B4=E6=89=80=E3=82=82=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annkara/{test => pkg/image/testdata}/test.jpg | Bin .../annkara/{test => pkg/image/testdata}/test.png | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename kadai2/annkara/{test => pkg/image/testdata}/test.jpg (100%) rename kadai2/annkara/{test => pkg/image/testdata}/test.png (100%) diff --git a/kadai2/annkara/test/test.jpg b/kadai2/annkara/pkg/image/testdata/test.jpg similarity index 100% rename from kadai2/annkara/test/test.jpg rename to kadai2/annkara/pkg/image/testdata/test.jpg diff --git a/kadai2/annkara/test/test.png b/kadai2/annkara/pkg/image/testdata/test.png similarity index 100% rename from kadai2/annkara/test/test.png rename to kadai2/annkara/pkg/image/testdata/test.png From 56a522869c66ad9f160398fe06f583d0bc2e396f Mon Sep 17 00:00:00 2001 From: annkara Date: Sat, 27 Jul 2019 17:32:31 +0900 Subject: [PATCH 33/39] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E7=94=A8?= =?UTF-8?q?=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF=E3=83=88=E3=83=AA=E5=90=8D?= =?UTF-8?q?=E3=81=A8=E3=83=91=E3=82=B9=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97?= =?UTF-8?q?=E3=81=9F=E3=81=9F=E3=82=81=E3=80=81=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai2/annkara/pkg/image/convertor_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kadai2/annkara/pkg/image/convertor_test.go b/kadai2/annkara/pkg/image/convertor_test.go index d102687..b407613 100644 --- a/kadai2/annkara/pkg/image/convertor_test.go +++ b/kadai2/annkara/pkg/image/convertor_test.go @@ -6,7 +6,7 @@ import ( "testing" ) -var path = filepath.Join("..", "..", "test") +var path = filepath.Join("testdata") func TestConvertSuccess(t *testing.T) { in, err := os.Open(filepath.Join(path, "test.jpg")) From b9fde8e4195bfbfe78fa3691b7bb6fcc36ab9994 Mon Sep 17 00:00:00 2001 From: annkara Date: Sat, 27 Jul 2019 18:43:29 +0900 Subject: [PATCH 34/39] =?UTF-8?q?testdata=E3=83=87=E3=82=A3=E3=83=AC?= =?UTF-8?q?=E3=82=AF=E3=83=88=E3=83=AA=E3=81=AE=E9=85=8D=E7=BD=AE=E5=A0=B4?= =?UTF-8?q?=E6=89=80=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F=E3=81=9F?= =?UTF-8?q?=E3=82=81=E3=80=81=E4=B8=8D=E8=A6=81=E3=81=AA=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E3=83=91=E3=82=B9=E3=81=AE=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai2/annkara/pkg/image/convertor_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kadai2/annkara/pkg/image/convertor_test.go b/kadai2/annkara/pkg/image/convertor_test.go index b407613..e98dd27 100644 --- a/kadai2/annkara/pkg/image/convertor_test.go +++ b/kadai2/annkara/pkg/image/convertor_test.go @@ -6,9 +6,10 @@ import ( "testing" ) -var path = filepath.Join("testdata") +var path = "testdata" func TestConvertSuccess(t *testing.T) { + in, err := os.Open(filepath.Join(path, "test.jpg")) if err != nil { t.Fatalf("failed test %#v", err) From 29b2d0dca8a440901786fb0f846ff1817a9e08fc Mon Sep 17 00:00:00 2001 From: annkara Date: Sat, 27 Jul 2019 20:16:52 +0900 Subject: [PATCH 35/39] =?UTF-8?q?convertor=5Ftest.go=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit テーブル駆動テスト形式に修正。 テストヘルパーを利用する形に修正したが、異常系のテストがまだ実施できていない。 --- kadai2/annkara/pkg/image/convertor_test.go | 51 ++++++++++++++++++---- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/kadai2/annkara/pkg/image/convertor_test.go b/kadai2/annkara/pkg/image/convertor_test.go index e98dd27..6b71152 100644 --- a/kadai2/annkara/pkg/image/convertor_test.go +++ b/kadai2/annkara/pkg/image/convertor_test.go @@ -6,24 +6,59 @@ import ( "testing" ) -var path = "testdata" +var directory = "testdata" -func TestConvertSuccess(t *testing.T) { +type testcase struct { + desc string + origin string + target string + format string + expected string +} + +func TestConvert(t *testing.T) { + + tests := []testcase{ + { + desc: "jpg to png", + origin: filepath.Join(directory, "test.jpg"), + target: filepath.Join(directory, "test2.png"), + format: "png", + }, { + desc: "png to jpg", + origin: filepath.Join(directory, "test.png"), + target: filepath.Join(directory, "test2.jpg"), + format: "jpg", + }, { + desc: "Unknow format", + origin: filepath.Join(directory, "test.png"), + target: filepath.Join(directory, "test2.diff"), + format: "diff", + }, + } - in, err := os.Open(filepath.Join(path, "test.jpg")) + for _, tc := range tests { + testConvert(t, tc) + } +} + +func testConvert(t *testing.T, tc testcase) { + in, err := os.Open(tc.origin) if err != nil { - t.Fatalf("failed test %#v", err) + t.Fatalf("failed test %s: %#v", tc.desc, err) } defer in.Close() - out, err := os.Create(filepath.Join(path, "test.png")) + out, err := os.Create(tc.target) if err != nil { - t.Fatalf("failed test %#v", err) + t.Fatalf("failed test %s: %#v", tc.desc, err) } + defer os.Remove(tc.target) defer out.Close() - err = Convert(in, out, "jpg") + err = Convert(in, out, tc.format) if err != nil { - t.Fatalf("failed test %#v", err) + t.Fatalf("failed test %s: %#v", tc.desc, err) } + } From 5ad6545eeea0d349f31215fbebe74eb819a8bc59 Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 28 Jul 2019 17:02:01 +0900 Subject: [PATCH 36/39] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit テストケース構造体の使用していないメンバー変数を削除。 想定結果(エラーか正常終了か)を格納するメンバー変数を追加。 想定結果をテストケースに追加。 テストの実行結果を判定する処理を修正。 --- kadai2/annkara/pkg/image/convertor_test.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/kadai2/annkara/pkg/image/convertor_test.go b/kadai2/annkara/pkg/image/convertor_test.go index 6b71152..537ef19 100644 --- a/kadai2/annkara/pkg/image/convertor_test.go +++ b/kadai2/annkara/pkg/image/convertor_test.go @@ -9,11 +9,11 @@ import ( var directory = "testdata" type testcase struct { - desc string - origin string - target string - format string - expected string + desc string + origin string + target string + format string + err bool } func TestConvert(t *testing.T) { @@ -24,16 +24,19 @@ func TestConvert(t *testing.T) { origin: filepath.Join(directory, "test.jpg"), target: filepath.Join(directory, "test2.png"), format: "png", + err: false, }, { desc: "png to jpg", origin: filepath.Join(directory, "test.png"), target: filepath.Join(directory, "test2.jpg"), format: "jpg", + err: false, }, { desc: "Unknow format", origin: filepath.Join(directory, "test.png"), target: filepath.Join(directory, "test2.diff"), - format: "diff", + format: "gif", + err: true, }, } @@ -53,11 +56,12 @@ func testConvert(t *testing.T, tc testcase) { if err != nil { t.Fatalf("failed test %s: %#v", tc.desc, err) } + // テスト用に生成されたファイルを削除 defer os.Remove(tc.target) defer out.Close() err = Convert(in, out, tc.format) - if err != nil { + if !((err != nil) == tc.err) { t.Fatalf("failed test %s: %#v", tc.desc, err) } From b2e3034f712059b447f14fff652c241e48ccd1b9 Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 28 Jul 2019 17:59:21 +0900 Subject: [PATCH 37/39] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=82=92=E5=AE=9F=E8=A3=85=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=81=9F=E3=82=81=E3=81=AE=E3=83=91=E3=83=83=E3=82=B1=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E6=A7=8B=E6=88=90=E3=81=AE=E8=A6=8B=E7=9B=B4=E3=81=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cli.goからディレクトリのトラバース処理を、新規パッケージ・新規ファイルへと移動。 --- kadai2/annkara/cmd/i2i/cli.go | 54 ++--------------------------- kadai2/annkara/pkg/dir/walker.go | 58 ++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 52 deletions(-) create mode 100644 kadai2/annkara/pkg/dir/walker.go diff --git a/kadai2/annkara/cmd/i2i/cli.go b/kadai2/annkara/cmd/i2i/cli.go index ee075f8..2a566d1 100644 --- a/kadai2/annkara/cmd/i2i/cli.go +++ b/kadai2/annkara/cmd/i2i/cli.go @@ -5,11 +5,8 @@ import ( "fmt" "io" "log" - "os" - "path/filepath" - "strings" - "github.com/dojo6/kadai1/annkara/pkg/image" + "github.com/dojo6/kadai2/annkara/pkg/dir" ) const ( @@ -21,53 +18,6 @@ type cli struct { outStream, errStream io.Writer } -func (c *cli) walk(root, before, after string) error { - - err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { - - if err != nil { - return err - } - - n := info.Name() - if strings.HasSuffix(n, before) { - origin, err := os.Open(path) - if err != nil { - return err - } - defer origin.Close() - - // 拡張子を含まない出力用ファイル名 - n := filepath.Base(n[:len(n)-len(filepath.Ext(n))]) - dir := filepath.Dir(path) - out, err := os.Create(filepath.Join(dir, n+"."+after)) - if err != nil { - return err - } - - err = image.Convert(origin, out, after) - if err != nil { - // 変換処理に失敗した場合、不要なファイルが作成されてしまうため、削除する - // ファイルを閉じた後でないと、Windowsの場合削除できないのでここでCloseする - out.Close() - e := os.Remove(filepath.Join(dir, n+"."+after)) - if e != nil { - return e - } - return err - } - } - - return nil - }) - - if err != nil { - return err - } - - return nil -} - func (c *cli) run(args []string) int { log.SetOutput(c.outStream) @@ -98,7 +48,7 @@ func (c *cli) run(args []string) int { } for _, v := range flags.Args() { - err := c.walk(v, before, after) + err := dir.Walk(v, before, after) if err != nil { if debug { log.Printf("failed: %+v\n", err) diff --git a/kadai2/annkara/pkg/dir/walker.go b/kadai2/annkara/pkg/dir/walker.go new file mode 100644 index 0000000..b093e6d --- /dev/null +++ b/kadai2/annkara/pkg/dir/walker.go @@ -0,0 +1,58 @@ +// Package dir provides directory walker function. +package dir + +import ( + "os" + "path/filepath" + "strings" + + "github.com/dojo6/kadai2/annkara/pkg/image" +) + +// Walk walks the file tree rooted at root. +func Walk(root, before, after string) error { + + err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + + if err != nil { + return err + } + + n := info.Name() + if strings.HasSuffix(n, before) { + origin, err := os.Open(path) + if err != nil { + return err + } + defer origin.Close() + + // 拡張子を含まない出力用ファイル名 + n := filepath.Base(n[:len(n)-len(filepath.Ext(n))]) + dir := filepath.Dir(path) + out, err := os.Create(filepath.Join(dir, n+"."+after)) + if err != nil { + return err + } + + err = image.Convert(origin, out, after) + if err != nil { + // 変換処理に失敗した場合、不要なファイルが作成されてしまうため、削除する + // ファイルを閉じた後でないと、Windowsの場合削除できないのでここでCloseする + out.Close() + e := os.Remove(filepath.Join(dir, n+"."+after)) + if e != nil { + return e + } + return err + } + } + + return nil + }) + + if err != nil { + return err + } + + return nil +} From e96e705cea5b3e3c3769b69cc930bb1cf38594ce Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 28 Jul 2019 18:08:57 +0900 Subject: [PATCH 38/39] =?UTF-8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai2/annkara/pkg/dir/walker.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kadai2/annkara/pkg/dir/walker.go b/kadai2/annkara/pkg/dir/walker.go index b093e6d..d801805 100644 --- a/kadai2/annkara/pkg/dir/walker.go +++ b/kadai2/annkara/pkg/dir/walker.go @@ -1,4 +1,4 @@ -// Package dir provides directory walker function. +// Package dir provides directory walk function. package dir import ( @@ -9,7 +9,9 @@ import ( "github.com/dojo6/kadai2/annkara/pkg/image" ) -// Walk walks the file tree rooted at root. +// Walk only calls the filepath.Walk fuction and internally calls image.Convert function. +// The root parameter is the target root directory, the before is the file extension before converting image, +// the after is after coverting image. func Walk(root, before, after string) error { err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { From d75bc8ea5ad8776a3fd41b627a9197360791933b Mon Sep 17 00:00:00 2001 From: annkara Date: Sun, 28 Jul 2019 18:46:14 +0900 Subject: [PATCH 39/39] =?UTF-8?q?=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF?= =?UTF-8?q?=E3=83=88=E3=83=AA=E3=83=88=E3=83=A9=E3=83=90=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=83=BB=E3=83=86=E3=82=B9=E3=83=88=E3=83=87?= =?UTF-8?q?=E3=83=BC=E3=82=BF=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai2/annkara/pkg/dir/testdata/test.jpg | Bin 0 -> 31461 bytes kadai2/annkara/pkg/dir/testdata/test.png | Bin 0 -> 204774 bytes kadai2/annkara/pkg/dir/walker_test.go | 41 +++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 kadai2/annkara/pkg/dir/testdata/test.jpg create mode 100644 kadai2/annkara/pkg/dir/testdata/test.png create mode 100644 kadai2/annkara/pkg/dir/walker_test.go diff --git a/kadai2/annkara/pkg/dir/testdata/test.jpg b/kadai2/annkara/pkg/dir/testdata/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02bfe5dc40e66d5d059f39c4a703317785e798cf GIT binary patch literal 31461 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 literal 0 HcmV?d00001 diff --git a/kadai2/annkara/pkg/dir/testdata/test.png b/kadai2/annkara/pkg/dir/testdata/test.png new file mode 100644 index 0000000000000000000000000000000000000000..17e0f370ea87ad79b5f05e7a2127c3bb5fe8a5e8 GIT binary patch literal 204774 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 Xe=za~<15Q6mo`LTT8l>yFT8`e{-fl*= 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 literal 0 HcmV?d00001 diff --git a/kadai2/annkara/pkg/dir/walker_test.go b/kadai2/annkara/pkg/dir/walker_test.go new file mode 100644 index 0000000..7770ff2 --- /dev/null +++ b/kadai2/annkara/pkg/dir/walker_test.go @@ -0,0 +1,41 @@ +package dir + +import "testing" + +var directory = "testdata" + +type testcase struct { + desc string + before string + after string + err bool +} + +func TestWalk(t *testing.T) { + + tests := []testcase{ + { + desc: "Succsess", + before: "jpg", + after: "png", + err: false, + }, { + desc: "Fail", + before: "jpg", + after: "gif", + err: true, + }, + } + + for _, tc := range tests { + testWalk(t, tc) + } +} + +func testWalk(t *testing.T, tc testcase) { + + err := Walk(directory, tc.before, tc.after) + if !(err != nil) == tc.err { + t.Errorf("failed test %s: %#v", tc.desc, err) + } +}