身å ã§æ¥œãããã¢ããTDDããäŒããã£ãŠã¿ã
ã¯ããã«
ãã°ãã§ããåŠçæ代以æ¥ä¹ ã ã«ããããã¹ã±ããããŒã«ãšããã¹ããŒãã§èããã£ãŠããŸã£ãç°äžã§ãã
仲éå 10人ã¡ããã§ãã¢ããTDDã楜ããäŒãšããã®ããã£ãã®ã§ãæ¯ãè¿ããŸãã äŒã®è¶£æšã¯ä»¥äžã®éãã
- TDDããã£ãŠã¿ãã
- ãã¢ããããã£ãŠã¿ãã
- TDDãšãã¢ããã®æåãç解ããã
- ä»ã®èšèªãšã®å®è£ ã®éãã楜ããã
- ã¿ããªã§ããã°ã©ã ãæžããŠããããããã
å 容
- t_wadaããã®è¬æŒåç»ãã¿ããªã§èŠãŠãç°äžãæ å ±ãè£è¶³
- FizzBuzzåé¡ããã¢ããTDDã§ãã£ãŠã¿ã
åå ããã°ã«ãŒãã®èšèªã¯Swift, JavaScript, TypeScript, Goãªã©ã
ç¹ã«çãäžãã£ãã®ã¯èšèªããšã®æžãæ¹ã®éããšããã¹ãç°å¢ã®éããªã©ãæçµçµæãããã€ãã®ã°ã«ãŒããåã§çºè¡šãã圢åŒããšããŸããã
VSCodeã®Live Sharingæ©èœã䟿å©ããã ã£ãããGoã®ã³ã³ãã€ã«é床ãéãããŠèªåã®çµã¿ã®Swift/Xcodeç°å¢ãèšãèš³ã§ããªãã£ãã®ãé¢çœãã£ãã
ãœãŒã¹ã³ãŒã
Swiftçµã®ã³ãŒãã¯ãã¡ãã
ペアプロTDDを楽しむ会 in DarkでやったFizzBuzzのお題。 · GitHub
ãã ããã®ãã€ã³ã
æåã¯Intã®å ¥åå€ãããšã«ãFizzBuzzå€å®ã®çµæãStringã§è¿ãå®è£ ãããããšããŠãããããStringã§æ¬²ãããã©ãããšããã®ã¯Presentationå±€ã®è©±ã§ã¯ãªããããFizzBuzzã®æ¬è³ªã«è¿«ããªãã°ãStringã§ã¯ãªãå¥ã®åã§ç¯å²ãçµã£ãæ¹ãè¯ãã®ã§ã¯ãªããããšããããã¢ãããªãã§ã¯ã®ççŒç¹ãšçžè«ãããenumã§FizzBuzzã®çµæãå€å®ãããšããã
enum FizzBuzzResult: Equatable { case number(Int) case fizz case buzz case fizzBuzz static func ==(lhs: FizzBuzzResult, rhs: FizzBuzzResult) -> Bool { switch (lhs, rhs) { case (.fizz, .fizz), (.buzz, .buzz), (.fizzBuzz, .fizzBuzz): return true case (.number(let lhsValue), .number(let rhsValue)) where lhsValue == rhsValue: return true default: return false } } }
func judge() -> FizzBuzzResult { if number % 3 == 0 && number % 5 == 0 { return .fizzBuzz } if number % 3 == 0 { return .fizz } if number % 5 == 0 { return .buzz } return .number(number) }
FizzBuzzã«ãããŠèšèšç芳ç¹ããããŸã§å ¥ãããã®ã¯åããŠã§ã¢ããã£ããTDDãªãã§ã¯ã®èŠçŽããã§ããŠããã¢ããã®åãå®æã§ããã®ã§ãšãŠãææ矩ã ã£ãã
åè
転è·ããŸããçŸå転è·ããŸãã
ã¯ããã«
ãã°ãã§ãã5æã§è»¢è·ãããç°äžã§ãã
ãšããããšã§ããã¯è»¢è·ãšã³ããªãŒã§ãã åè·ãžã®ãæ°æã¡ã¯äŒç€Ÿã®ããã°ã«æžããã®ã§ããã¡ãã®ããã°ã§ã¯ãã£ãšå人çãªææ ãèãã«ã€ããŠæžããŸãã
å¿ãææ ã倧åã«ããã
åã¯äººã®å¿ã®å€åãæããäœåã奜ãã§ã人ãšäººãšã®é¢ããã«ãã£ãŠèµ·ããå€åã奜ãã§ããææ ã®æºãåãã奜ããBLã§ããã以å€ã®ãã®ã§ããªãã§ãèŠããã©ãããããããŒããæãäœåãå€ãã®ã§ãç¹ã«çŸåã奜ãã§ãã
ä»äºãªããã«å¿æ®ºãããŠãããšèªåã®å¿ã®æºãåãã«ã€ããŠéæã«ãªãæèŠããããŸããããããäœåã«è§ŠããŠãããšãèªåãéæã«ãªã£ãŠããéšåã«æ°ã¥ãããŠããããããã®ã§å¿ã®æ é€è£çµŠã«ã€ãªãã£ããããŸããå°ãã
èªåãã©ããªãã®ã«å¿ãæºãã¶ãããããšãããšãããäžéšã ãã©ãããªã®ã
ããã£ãã«ã
- éé¿è¡ããçŸå®ã«åãåã£ãŠãã©ãçããŠãããéžæããäºäºº
- ãå¿ã«åŸã£ãŠçããªããã°ã人çãªããŠç¡æå³ãã
ãåããªãéšã
- æ»ã«ã€ããŠèããããåŸæãªãçããããšæã
- ãŸããã«å± ã人ãšã®é¢ä¿æ§ãèãã
ããªãºãšéãé³¥ã
- é³ãèšèããããã足åããç®ç·ãå šãŠã«ææ ãæå³ãä¹ã£ãŠããŠãæŒå¥è¡šçŸã«ä¹ã£ãŠãã
- é³ã«åœãŠãããŠæ³£ãåºãå¹å¥æ¥œéšå¡ãšæ ç»ãèŠãŠããåãã¡
- å°æ¥ãéžã¶ãšããããšã¯ãéžã°ãªãã£ã人çããããšããéæ¥
ãããŸãã©ãã¹ããŒãªãŒã
- 人ãé¢ä¿ãããäžã§çºçããåªãããè©°ãŸã£ãŠã
- ã¡ãªã¿ã«ããããããšããæ¹ã®ããã¡ããŸããšãã¿ã©ããŸããå°ã
æ€åææª
- å€åãæãäœåããèŠåãããããããªã«ãã幎ãéããããšã«ãè¡šçŸãå€ãã£ãŠããã®ãããã奜ãã
- ãæ¬èœãããã®ãåºç£ã»åè²ãŠãçµãäžã§ã®ãããããããªå¥³ã
- ãšæãããããã«ãããŒããã®ãããªå°å¥³ã¿ããæ²ãé£ã³åºãŠããŠèãã
ãããªäœåã«åœ±é¿ãåããŠèªåã¯çããŠããã®ã§ããã
- ããŠèªåã®äººçã«ã¯ãªã«ããã£ãã£ã
- 誰ãã«åœ±é¿ãäžããããã£ã
- ãã®éžæè¢ã§è¯ããã ã£ã
ãšããæ³ãã匷ããªã£ãŠãããŸããã
ãããªã«çŽ æŽããããã®ãäžã®äžã«ã¯æº¢ããŠããã®ã«ã俺ãä»è¡šçŸããŠãããã®ã¯ãªãã ïŒèªåã®æ°æã¡ãè¡šããŠããã®ãïŒäžçãäœããã®ãïŒ
åŸæã®ãªãæ¹ã«è»¢ãã
äœäžã®ç»å Žäººç©ã¯ã¿ãªéžæããŠæ±ºæããŠããããäœã£ãŠãã人ã¯äœåãéããŠããããäžçãè¡šçŸããŠããŸãã
ææ çãããããäœåã«ã¢ããããŠããŸã£ãŠãããããããªãããã©ãä»ã®èªåã®ããæ¹ã¯å šç¶å¿ãæºãã¶ãããªãã£ãããäœããã®ãéããŠä»ã®äººã«ãªã«ã圱é¿ããããšãã§ããªããå°ãªããšãèªåãå ±æã§ããªããšäŸ¡å€ãåºããªããšæããŸããããã®ãŸãŸã ãšåŸæãããšæã£ãŠãå¥ã®ç°å¢ã«èº«ã眮ãããšè»¢è·ã決æããŸããã
ãããã«
次ã®è»¢è·å ã¯ãã¯ã·ãæ ªåŒäŒç€Ÿã§ãã
æããpixivæ¬äœã®ã¢ããªã«ã¯ãäžè©±ã«ãªã£ãŠããããå人èªãæžããçµéšããBOOTHã䜿ãå§ããã®ããã£ããã§ããã¯ãªãšã€ã¿ãŒããµããŒãããããã®ãµãŒãã¹ã¥ããã«å ±æããŠæ±ºããŸãããäœå®¶ããã®åµäœæŽ»åã«å°ãã§ãè²¢ç®ã§ããã°ãæé«ã§ãã
ãã決æããŠãããåããŠããã®ã¯ãæ°ã ã®çŸåäœåãšåºäŒããããã§ããã ããä»åã®è»¢è·ã¯ã çŸå転è·ã§ãã
åè·ã®Developers.IOã«ã¯ããæžããŸããããQiitaãTwitterãªã©ã§æè¡ç³»ã®æ å ±çºä¿¡ã¯ç¶ããŠããã€ããã§ãã®ã§ãä¹ããæåŸ ïŒ
ã¹ããŒãªãŒããŒããšãµãŒãã¹ãã«ãŒããªã³ã
ã¯ããã«
ããã¬ã¥ã¯ãç¡è·ã®ç°äžã§ãã
æè¿ç¥ãåãã®ãã¶ã€ããŒããã«ãã¶ã€ã³ã«ã€ããŠæããŠãããæ©äŒãããããã®äžã§ãã¹ããŒãªãŒããŒãããšããµãŒãã¹ãã«ãŒããªã³ãããšãããã®ãåºãŠããã®ã§ãç¥èãåºããããã«èªåã§ã調ã¹çŽããŸãããä»åã¯ãã®ãŸãšãã§ãã
ãµãŒãã¹ãã«ãŒããªã³ãã«ã€ããŠã¯å®éã«ã¯ãŒã¯ã·ã§ããããã£ãŠããã£ãã®ã§ãå°ãåéå€ãã
ã¹ããŒãªãŒããŒã
å ±æã枬ãããã®ããŒã«ãšããå°è±¡ã(ãå°è±¡ããšæžããã®ã¯ãããããããã¡èªã¿ãããããããªã«èªä¿¡ãç¡ãã®ãšã人ã«ãã£ãŠèªèãéãããã ã£ããã)
ç»åãçµµã䜿ã£ãŠããŠãŒã¶ãŒã®ææ ãè¡åãã¹ããŒãªãŒã«èœãšããŠããã®ã¹ããŒãªãŒã«å ±æã§ãããã©ããã§ãµãŒãã¹ã®äŸ¡å€ãå³ãããšã«ã€ãªããã
ãŠãŒã¶ãŒãã¹ããããªããã©ãã¹ããŒãªãŒããŒããçµãã§äººã«èŠãŠãããã®ã¯ãåžå Žèª¿æ»æ®µéã§ãããšè¯ãããã
åè
ãµãŒãã¹ãã«ãŒããªã³ã
ãŠãŒã¶ãŒããµãŒãã¹ãã©ãããç¥ããã©ããªãã©ãããã©ãŒã ãä»ããŠè§Šããã®ã(ã¿ãããã€ã³ã)ã«éãã眮ããŠããå°è±¡ã
å ·äœçãªããžãã¹ã«èœãšã蟌ãã§èããŠãããšãèšãããã ããèšäºã«ã¯ãããžãã¹ã»ãã·ã§ã³ããšããã¯ãã«ã«ã»ãã·ã§ã³ããšãã2ã€ã®ã»ãã·ã§ã³ã§ãã®ããŒã«ã䜿ã£ãŠããããšãæžãããŠããã ããžãã¹ã»ãã·ã§ã³ã§ãããžãã¹äžã®çæ³åœ¢(éåç)ãæããŠããã¯ãã«ã«ã»ãã·ã§ã³ã§çæ³ãå®çŸå¯èœãªåœ¢ã§èœãšã蟌ãã
ãã¯ãã«ã«ã»ãã·ã§ã³ãçµãããšã§ããµãŒãã¹ãæäŸããããšãã§ãããã©ãã枬ããã®ãè¯ãããã
åè
- https://u-site.jp/alertbox/service-blueprints-definition
- https://webtan.impress.co.jp/e/2013/12/18/16557
- https://it.impressbm.co.jp/articles/-/13912
ã¹ããŒãªãŒããŒããšãµãŒãã¹ãã«ãŒããªã³ãã®éã
ã¹ããŒãªãŒããŒããšãµãŒãã¹ãã«ãŒããªã³ãã¯éšåçã«äžèŽãããšããããããããµãŒãã¹ãæäŸããåŽã®è¡åãæäŸãããã®ãŸã§ãæ³å®ããŠãããã©ããã®éããããããã
ã¹ããŒãªãŒããŒã: åžå Žèª¿æ»æ®µéã§ãããšè¯ããã ãµãŒãã¹ãã«ãŒããªã³ã: éèŠãèŠèŸŒããŠãå®çŸå¯èœãã枬ãã®ã«è¯ããã
ãšããæãã
ææ³
éãã§ãæžããéããããããã䜿ããã§ãŒãºãéãããšæã£ãã
ãšã³ãžãã¢ã¯å®çŸå¯èœæ§ã«ç®ãåããã¡ã ãšæã£ãã æè¿èªåã¯æè¡çãªé¢ã§1â10ã«ããããã®ã¹ãã«ã磚ããŠããåŸåã«ãããšæã£ãŠããŠã0â1ã匱ããšæããŠããã®ã ããã©ãä»å觊ãã2ã€ã®ããŒã«ã«ã¯è¯ããã³ãããã£ãã
ãã¶ã€ã³ãèããææ³ãããŒã«ã¯ãããŸã§ããã€ã觊ããŠããããšããã£ãŠãéšåçã«äžèŽããæ§ã ãªãã®ãããã®ã§æ··ä¹±ããŠãããä»å人ã«æããŠããã£ãŠã調ã¹ãããšã§ããªãã»ã©ãããããéãã®åŸåã«ããã®ããå®å šã«ç解ãã(âããã£ãŠãªã)ããšãªããŠããã£ãã
éãªç解ã ãã©ããã£ãšæ·±ãç¥ãã®ã¯ããå¿ èŠã«ãªã£ãæã«ãŸããããšæãã
è¿œèš
ãã¶ã€ããŒãããšã¯ãæ¬æ¥ããã¶ã€ã³ãããã£ãŠèšã£ãæã¯ããããã£ãããŒã«/ãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠæ·±æããããšããããå§ããªããšãã©ãããèŠãç®ã«ããã°ããããèããããªãããªããŠè©±ãããã
確ãã«ãã®æ®µéãèžãŸããªããšãã©ãããç®æšå°ç¹ã«åãããã¶ã€ã³ãããã°ãããããããªããšæã£ãããããèžãŸããªãã§ããã¶ã€ã³ãããããšã£ãŠçµæ§å€ãããããªãããšãæã£ãã
ä»äºãå§ãããšããããã¡ã®äŒç€Ÿ(ããæ¹)ã§ã¯ã客ãããšã®ãã¢ãªã³ã°ã§æåã«ããããããã§ãããããã«æ±ºãæã¡ãã客ããã«èŠæ±ããŠããŸã£ãŠãããæ°ããããèªåã®ãµãŒãã¹ã§ãã
åã«ã¯ã»ã³ã¹ãç¡ããã
åã¯ã»ã³ã¹ãç¡ããšæã£ãŠããã©ããã®å足ã§çšŒãæ§åãªãã ãšããã£ãŠããã
ãªã«ããšã»ã³ã¹ãè¯ããŠäžäººã§èª¿ã¹ãŠã·ã¥ããšããªããŠããŸããããªã»ã³ã¹ã®è¯ã人ã¯ãç©äºãããŸãæœè±¡åããŠç解ããã®ãããŸãã£ãããç解ã«è³ãéçãèŠãã人ã ã£ããããã
äžæ¹ã§åã¯çµéšããç©äºãèãããããã£ãŠã¿ãŠèããããšãäž»ã«ãªã£ãŠããã ãªã«ããç解ããããšãããšããå šäœã®ãµããããšããã³ã³ããã¹ãããç解ãåŸãããšãããæç« ãããã¡èªã¿ããããåœèªãè±èªã®åé¡ã®è§£ãæ¹ãããã ã£ãã®ã ãã©ãå€åãã®ã»ãã®ç©äºãç解ããããã»ã¹ãåãããšã³ãžãã¢ãªã³ã°ã«é¢ããããšãããããèãæ¹ãããã®ã§ãç解ãé ããšæããããšãå€ã ããã
ã»ã³ã¹ã®è¯ã人ã«ã¯å£çæãèŠããã
ããã©ãè¡åãããããšããã»ã³ã¹ãç¡ããšæã£ãŠããèªåã®çåæŠç¥ã ãšããã£ãŠããã
- ããã°ãæžããŠã¿ã
- ã€ãã³ãã«åå ãç»å£ãéå¶ããŠã¿ã
- åéãå¢ãã
- å人èªãæžããŠã¿ã
- æè¡ãåŠã¶ããã«ãµã³ãã«ãæžããŠæãåãã
- èŠãããšã®ãªãæ ç»ãèŠã
- ãªã¹ã¹ã¡ãããæ¬ã挫ç»ã¯ãšããããèªã
- ãã£ãããšã®ãªãããšã¯ãšãããããã£ãŠã¿ã
è¡åããŠã¿ããšããããŸã§èŠããŠãªãã£ãããšãèŠããããã«ãªããããªã«ããããããã£ãããšã®ãªã人ããå§åçã«èªããããšãå€ããªãã®ãè¯ããèŠãããã®ãå¢ãããšãå šãå¥ã®ç©äºã«ãå ±éããã³ã³ããã¹ããååšããã®ãèŠããããã«ãªã£ãŠãç解ãæ©ããªã£ããããã
æ¬æ¥ã®èšèã®æå³ãšã¯ããããããããªããã©ãè¡åããªãã§ãããšã©ãã©ãè¯ããªãã»ãã«è»¢ãã£ãŠããæèŠã«å¯ŸããŠãã貧ããã°éããããšããèšèãããå±ããŠãããè¡åããŠã¿ããšãããããšãå€ããã人çãå éããã®ã§åãç¶ããããã«ããŠããã
ã»ã³ã¹ãç¡ããšæããåã¯ã足ã§çšŒãã
ãããªãµãã«ãããŸã§çããŠãããã©ãæè¿ã¯è¡åãçµéšã§åŸããã®ããã®ãŸãŸã«ã¯ãããäžè¬ã«ã¯ã©ãæããããŠããã®ããªã©ãæ¬ãèªãã§ç解ã®è»éä¿®æ£ãããããã«ãªã£ãŠãããå®éã«äœéšããããšã¯ééã£ãããšã§ã¯ãªããŠãæ¬ã«æžããŠããããšãšã©ãããå·®åããã£ãŠãæºäžã ãã§ãªããçŸå®ãšããŠã¯ã©ããªã£ãŠããã®ãç解ããããã«å€ããããã«ãªã£ãããã®èŸºãã¯äººã«ããŸãäŒããããããã«ãªã£ãŠãã段éãªæ°ãããã®ã§ãäœéšããããšã®è»éä¿®æ£ã¯æ¥œããã
æ§ã ãªç°å¢ã«äŸåã§ããããšãçã®å®å®
誰ãããèãã話ãé ã®äžã«æ®ã£ãŠããã ããããããªãããã©ãäŸåå ãå€ãããšãçã®å®å®ã§ãããšããããšãä¿¡ããŠããã
倧ããäŒç€Ÿã«ããããšãå®å®ã§ã¯ãªããäžçããèªåãæ±ãããç¶ããç¶æ³ãããå®å®ã
äžã€ã®ç°å¢ã«äŸåããŠå®å®ãæ±ããã®ã§ã¯ãªããæ§ã ãªç°å¢ã«äŸåã§ããçãæ¹ãçã®å®å®ã
åéãå€ãã£ããã仲è¯ããªããããã£ããããªãã¿ãããã£ãããåããèªåã¯ããããçãæ¹ã«å®å®ã ãã§ãªããå®å¿ãåŸãŠãããªãšæã£ãã
ä»ã¯å²ãšã§ããŠãããšæã£ãŠããã®ã§ãããããããã®çãæ¹ããããã
æè¡æžå ž4ã§ãSwiftã§TDDã玹ä»ããæ¬ãé åžããåŸã®è©± #æè¡æžå ž
ãŸãã¯ãç²ãæ§ã§ããïŒ
ãã°ãã§ããæè¡æžå žãæé«ã«æ¥œããã£ãç°äžã§ãïŒããããšãããããŸããïŒ
æè¡æžå žèªäœããå³å£²äŒãžã®ãµãŒã¯ã«åå èªäœãåããŠã§ããããèªåããããŸã§èªãã§ãæ¬ã®äœè ãããšãããããã§ããäŒã£ãããšã®ãªã人ã«äŒããã®ãåºæ¿çã§ããã
ãµãŒã¯ã«åå ã§å¿ãããããã®ã®ããªããšãæŠå©åãåã¡åãããšãã§ããã®ã§ããã£ãã§ãã
ã¯ãè²·ããã#æè¡æžå ž pic.twitter.com/L5dg6C0gHN
— ãã³ããŒç°äž (@ktanaka117) 2018幎4æ22æ¥
æè¡æžå žã«ãµãŒã¯ã«åå ããŠããŸãã
ãããªæ¬ãåºããŸããã
tanakalivesinsendai.hatenablog.com
売ãåãããŠãçŽ æµãªè¡šçŽãæããŠããã@kiko_twããã«ã¯é ãããããŸãã...ïŒ äžç·ã«æ¬ãäœã£ãŠåå ã§ããŠæ¥œããã£ãã§ãïŒ
#æè¡æžå ž
— ãã³ããŒç°äž (@ktanaka117) 2018幎4æ22æ¥
ã-07ã§
ãåŸ ã¡ããŠãŸãïŒïŒ pic.twitter.com/baELRHi9Cc
ææ³ãå±ããŠå¬ããã£ã
Twitterã«ç¶ã äžãã£ãŠããæŠå©åç»åã®äžã«ãèªåãè²·ããæ¬ãããã æ極ãŸãã
æè¡æžå žãçµãã£ãããšãå 容ã«ã€ããŠè³ªåãæèŠãããã人ãããŠãããŠãšãŠãå¬ããã£ãã§ãã å人çã«ãTDDã®è©±ã§è°è«ã§ããã®ã¯ãšãŠãå匷ã«ãªãã®ã§æ¥œããã§ãã
@ktanaka117 ä»æ¥ã®TDDæ¬æèªããŸããããµã¯ããšèªããŠããã£ãã§ããå®ã¯ãã¹ããã¡ãŒã¹ããšTDDã®éããããããã£ãŠããªãã®ã§ããã«é¢ããèšè¿°ããããšããã£ãã§ããã¬ãããã°ãªãŒã³ããªãã¡ã¯ã¿ãªã³ã°ã®3ã¹ããããæèãããšãããTDDãªãã§ããããïŒ
— ðºð°ð ð ðºðžð€§ðŸð·ð°ð ð° (@yamoridon) 2018幎4æ22æ¥
ãç²ãæ§ã§ããðââïž æ¬ãè²·ãããŠããã ãããã¡ã®äžäººã§ãã
— Sato Kei (@Ka0sTie) 2018幎4æ22æ¥
æ®æ®µãã¹ããæžããªãã®ã§ããããããèªã¿ãããã§ãïŒ
ã²ãšã€æ°ã«ãªã£ãç¹ããããŸãã38ããŒãžã®Equatableã«æºæ ãããšããã§propertyãæ¯èŒããŠããŸãããããã®åã«äœã£ãã¡ãœããã䜿ããšããã®ã¯ããã§ããããïŒ
ãã²èªãã æ¹ã¯ææ³ãšããæ°ã«ãªã£ããšãããšãã @ktanaka117 ãŸã§Twitterã§ã¡ã³ã·ã§ã³é£ã°ããŠãã ããïŒãªãã§ãããŸãããïŒïŒãªãã§ããããšã¯èšã£ãŠããªãïŒ
æ¯æãç¶æ³
- çŸé: 86å
- Kyash: 5å
- ããããåŸæã: 19å
ã§ããã äŸ¡æ Œã1000åã ã£ãã®ã§ããæã§ã®ãããšãã§ã©ã¯ã§ããŸããã ãé£ãçšæã«é¢ããŠååã«è©±ãããããããè«å3çºã§æ»ã¬ãããããšãèšãããŸããããäœè£ã§ããw
Pixiv PAYã«ã察å¿ããããšããã®ã§ãããSMSèªèšŒåšãã®åŸ©åž°äžèœãã°ã£ãœãã®ã«åœãã£ãã®ã§ãã°ã¬ããŒãããŸããããã£ãšè¿ã察å¿ããŠãããã¯ã...ïŒ
å šç¶å°å·æ°ã足ããªãã£ã
150éšå·ã£ãŠãåœæ¥ã¯110éšãããæã£ãŠãã£ãŠå®å£²ããŸãããããã 1æéã¡ãã ã
ååå ã§äœããããããªããšæ¥åã£ãŠããã®ã§ãããåæ¥ããæ¥ã«ãµãŒã¯ã«ã®ãã§ãã¯æ°ã䌞ã³ãŠãæçµçã«ã¯124ãããã«ãªã£ãŠãå šç¶è¶³ããŸããã§ããã
次ã¯ãã£ãšåŒ·æ°ã§å·ã£ãŠããããšæããŸãïŒ
è¿ã web販売ããŸãïŒ
身ã®åããTwitterãèŠãŠãããšããæã«å ¥ããããªããŠæ®å¿µã ã£ãããšããå¬ãç³ãèš³ãªã声ãèãããã®ã§ãPixivã®BOOTHãããã«ãæå ã«æ®ã£ãŠããæ¬ãå°ãåºããããé»åçãçºè¡ããããšæããŸãïŒ
GWäžãšããç®åŠã«åºããŸãã®ã§ããã²Twitterãšããã®ããã°ããã§ãã¯ããŠããŠãã ããã ä¹ããæåŸ ã
æè¡æžå ž4ã§ãSwiftã§æžããŠããŒããTDDããšããå人èªãåºå±ããŸã #æè¡æžå ž #ã-07
ã¯ããã«
ãã°ãã§ããæãçŸå ã®ããªã¯ã©æ©ã®å£°ãããã«ããã£ãç°äžã§ãã(åç»ã®10åããããã)
ããŠæ¬é¡ã§ãããææ¥éå¬ã®æè¡æžå ž4ã§ãSwiftã§æžããŠããŒããTDDããšããå人èªãåºå±ããŸãã ãã®ããã°ã§ã¯å®£äŒãšããŠãæ¬ã®é åãšãå·çã«ããã£ãŠèŸŒããæ³ããªã©ãæžããŠãããŸãã
ãSwiftã§æžããŠããŒããTDDã
ãSwift ãŠããã¹ãé§åéçºã«å ¥éãããæ¬ãŠããã
ã¿ã©ãã
- TDDã«ã€ããŠããã
- TDDã§Swiftã解説ãããããããµã³ãã«ã³ãŒãä»ã
- ãã¹ããšåã«ãã£ãŠé§åããSwiftãããèšèš
- Swiftã§TDDããããšãã®èª²é¡ãšãã®ä¹ãè¶ãæ¹
äžã®äžã«ã¯Javaã§è§£èª¬ããããã®ãå€ã
TDDã£ãŠJavaã§è§£èª¬ããããã®ã°ã£ãããã...ïŒ TDDèªäœã¯èšèªã«ãšããããªãéçºææ³ã§ã¯ããã®ã§ãããå®éã®ãšãããèšèªã«ãã£ãŠæžãæ¹ãèšèšææ³ãã©ããããšããããã¹ãããªããã°ãããªããã¯å€ãã£ãŠããŸãã ä»®ã«åæ©çãªå 容ã®è§£èª¬ã ã£ããšããŠããæ©ããã¡ããèšèªç¹æã®æžãæ¹ãåºãŠããã¯ãã§ãSwiftã§æžããå Žåã©ããªãã解説ãããã®ã¯äžã®äžã«å€ããããŸããã æ°ããããšãåŠã³å§ãããšãã¯ããªãã¹ãããããããããŒãã«ãäœãããã¹ãã ãšæã£ãã®ã§ãSwiftãæ®æ®µæžããŠãã人ãTDDã«å ¥éããããããã«ããããšããæ³ãã§ãã®æ¬ãæžããŸããã
TDD ã£ãŠãªããé£ããã...
èªåãããæã£ãŠããã®ã§ãããã³ãŒããæžããªããç解ããŠãã£ããããããããã£ããšããçµéšããããŸããã ããã¹ãé§åéçºããšãããã€ãã«ãåããããªæžãæ¹ã«ãªã£ãŠããã®ã§ããããSwiftã§æžããŠããŒããTDDããããã«ãªãã£ãŠãã³ãŒããšãšãã«TDDã解説ããå 容ã«ããŸããã ãã²æ¬ãèªã¿ãªããåçµããŠã¿ãŠã»ããã§ãã
ä»æ§
- ãµãŒã¯ã«å: ãã³ããŒã«ããŠã¹
- ãµãŒã¯ã«ã¹ããŒã¹: ã-07
- ããŒãžæ°: 64
- äŸ¡æ Œ: 1,000å
ç®æ¬¡
è¬èŸ ã¯ãã㫠第1ç« TDDãšã¯ 1.1 TDDã®ã¡ãªãã 1.2 TDDã®ããã¡ãªãã 1.3 ã¬ããã/ã¯ããªãŒã³/ãªãã¡ã¯ã¿ãªã³ã¯ã 1.4 ããŒã ã®ç解ãåŸãã 第2ç« æžããŠãã»ããã TDD 2.1 éçºç°å¢ 2.2 ãµã³ããã«ãããã·ãã§ã¯ãã®ãªããã·ãã㪠2.3 æŒç¿åé¡ 2.4 ãããŒã«ãŒã®èšèã®æŽç 2.5 ãã©ã³ããã®èšèã®æŽç 2.6 ã«ãŒããã®æååè¡šèš(ã€ã³ã¹ã¿ã³ã¹ã®çæ) 2.7 ã«ãŒããã®æååè¡šèš(æååè¡šèšã®ååŸ) 2.8 ã«ãŒããã®æ¯èŒ 2.9 ããŒã«ãŒãããããŒã«ãŒã®åœ¹ãå€å®(ããã¢ããã©ãã·ã¥ããã€ã«ãŒãã) 2.10 ãã®ç« ã®ãŸãšã 第3ç« 2018 幎çŸåšã® Swift ãŠãã® TDD éçº 3.1 ããã«ããããé ãåé¡ 3.2 ã¢ãã¯èªåçæããŒã«ããäžè¶³ããŠããåé¡ 3.3 ä»ã®IDEã«ãŠãããããšããXcodeã«ãŠãããªãåé¡ ç¬¬4ç« åèæç® 4.1 ããã¹ãé§åéçºã 4.2 ãå®è·µãã¹ãé§åéçºã 4.3 ãTest-Driven iOS Development with Swift 4ã èè 玹ä»
ãããã«
TDDã«ã€ããŠãã£ã¹ã«ãã·ã§ã³ããã
ä»åæ¬ãæžããŠãèªåãèããTDDã«ã€ããŠå€§ããã«ãŸãšããŠãæŽçããããšãã§ãããšæã£ãŠããŸãã èªãã§ã¿ãŠãããã¯è¯ã説æã ã£ãããšããããã£ãšãã説æããæ¹ãããããšãããšãããããã°æããŠæ¬²ããã§ãã ãèªãã§ã¿ããããã°ãæžããããçåãçãŸããããã人ã¯ããã®æ¬ãæžããŠããã£ããªãšæãã®ã§ããã²Twitterã§ã¡ã³ã·ã§ã³ãã ããã(@ktanaka117) ããããã£ããã«ããã§ã«TDDã«è©³ãã人ããããããTDDãå§ããŠçåãçãŸãã人ãšæèŠã亀ããããšåãšããŠã¯ãããå¬ããã§ãã
ãã£ã¹ã«ãã·ã§ã³ã ãã§ãªããSwiftã§TDDãã¢ãããã掻åãšããã®ãæè¿ããå§ããŠããŸãã äžåãã£ãŠã¿ãæãã ãšãã©ãããèšèšææ³ã§ã³ãŒããæžãããã©ããã芳ç¹ã§ãã¹ããæžãããšããèãæ¹ãå ±æã§ããã®ã§ãšãŠãææ矩ã§ããã åããããèªããã人ããããšæããŸãããéã«ãèªãããŠãããããå¬ããã®ã§ã声ããããŠãã ããã