2017幎7æãã9æ æ¯ãè¿ã - aka iOSãšã³ãžãã¢ãã¯ãããŠWebã®éçºãä»äºã§ãã£ãŠã¿ã
ã¯ããã«
ããã¬ã¥ã¯ããŠãŒãª on Iceã®3åšç®ã®èŠèŽãçµãããŠãŒãªãã¹ãã«æ©ãŸãããŠããç°äžã§ããã§ã10æã«ã¯ã¢ãã«ãšãªã£ãèå°ãäœè³çã¯å接åžã«è¡ãäºå®ãªã®ã§æ¥œãã¿ã°ãïŒ
ããŠããã¡ã®äŒç€Ÿã§ã¯ååæã«äžåJDé¢è«ãšãããæ¯ãè¿ãã絊äžäº€æžãä»åŸã©ããã£ãããšãããŠããããããšããã®ãéšé·ãšè©±ãåãé¢è«ããããŸãããã®ææã«ãªããšããããæ¯ãè¿ã£ãããŸãšãããããŸãããã£ãããªã®ã§èãã®æŽçãå ŒããŠè¿æ³ãå人ããã°ã«ããŸãšããŠãããŸãã
ç®æ¬¡
- iOSãšã³ãžãã¢ãã¯ãããŠWebããã³ããšãµãŒããŒãµã€ãã®éçºãä»äºã§ãã£ãŠã¿ã
- çºç«¯: å£ãæ»ãããã°ã£ããã«...
- ããïŒWebããã³ãéçºãã£ãŠãã®ïŒ
- ãããŠãµãŒããŒãµã€ãã®éçºãããããšã«
- Webããã£ãŠã¿ãŠã®ææ³
- iOSDCã«ç»å£ããŠå®ãŸã£ãæ¹åæ§ - iOSãšã³ãžãã¢æ»ããŸãïŒïŒïŒð¢ð¢ð¢
- 倧ããã€ãã³ãã§ãã£ããç»å£ããªããšããšããç®æšã»ãã¬ãã·ã£ãŒ
- iOSãšã³ãžãã¢ã«æ»ãããšæã£ããã£ãã
- ãã¹ãã«å¯Ÿããé¢å¿ã®é«ãŸã
- ãŸãšã
- 2017幎7æ - 9æã®å®çžŸãŸãšã
iOSãšã³ãžãã¢ãã¯ãããŠWebã®éçºãä»äºã§ãã£ãŠã¿ã
çºç«¯: å£ãæ»ãããã°ã£ããã«...
iOSãšã³ãžãã¢ãããŸãïŒïŒïŒð¢ð¢ð¢
— ãã³ããŒç°äž@ãã€ãšãããã€ãbot (@ktanaka117) 2017幎2æ3æ¥
ããã¯ãããStoryboardã®èšå®ãããŸããããªãã£ããã倧ããããšã®ãªãééãã§UIå®è£ ãããŸããããªãã£ããšãã®ããã³ããŒæãã®ïŸïœ²ïœ°ïŸãUIå®è£ ã§ãªããããŸããããªããšããããã...ã
ãããªããšãèšã£ãã°ã£ããã«ãããã³ããŒç°äžãiOSãããã£ãŠãããšãã話ããããããããã«ãªããŸããã
iOSã ããããªããŠãã£ãšåºãèŠéã§ãšã³ãžãã¢æ¥ã«ã€ããŠèããå¿ èŠããããšãã£ãšæã£ãŠããã®ã§ãã¡ããã©è¯ãæ©äŒã ãšæããäŒç€Ÿã§ããµãŒããŒãµã€ãããããã£ããçãªããšãèšã£ãã3æ¥åŸãããããïœïœ¯ãšããããŠããããããšã«ãªããŸãããïŸïœ¯ïŸïœ°!
ããïŒWebããã³ãéçºããã£ãŠãã®ïŒ
ãã ãå ¥ã£ãŠããæ¡ä»¶çã«Webããã³ãã®ã»ããåªå ããå¿ èŠããã£ãŠãã¡ããã©JavaScriptãããå§ããé ã ã£ããããããWebããã³ããããã£ãã£ãŠããšã«ãªããŸãããä»ããšãããReactãšFlux Utilsã䜿ã£ãŠã
ããã£ãReactãšãFluxãšããiOSçã«ãæè¿è©±ã«ç»ãã¯ãŒãã ããã€ãã§ã«ãããŠã©ãããŒããšãæããŸããã
ã§ã...ãããã«ã¯ããããªã€ãã¿ããã£ã...ã
- Webããã³ãã«å¯Ÿããåæç¥èãè¶³ããªã...ã
- ã€ãã³ããã©ãã«é£ãã§ãã£ãŠããã®ãããããªã...ã
- Flux UtilsãèšèšãšããŠå€§ãããã...ã
- åããªãã£ãŠããããããšã...ã
- ããäžäœã©ããã£ãŠä¿å®ãããã ãã...ã
- Typoã§ïŒæéã(äžçªç²Ÿç¥çã«ã¯ã)
ãªã©ãªã©ã倧äœã¯èªåã®çµéšäžè¶³ã ãšæãã®ã ããã©ãWebããã³ãã£ãŠä¿®çŸ ã®äžçã£ãœããªããã£ãšããŸãããæ¹ã¯çµ¶å¯Ÿããã¯ãã ãã©èªåã«ã¯åã£ãŠããªããããããªããªãšæããŸããã åãããšã³ãžãã¢ã§ããç¶èŠªããªãJavaScriptã«æ®ºãããã®ããããããŸããã
ã§ããããªããããããªãããšã ã£ãã®ã§ãä»åçµéšããæ©äŒããã£ãŠè¯ãã£ãã§ãã
ãããŠãµãŒããŒãµã€ãã®éçºãããããšã«
Webããã³ããèªåã«ã¯ã€ããããã®ã§ãããŒã ãšçžè«ããŠã¿ããšãããã¡ããã©ãµãŒããŒãµã€ãã§ã®ã¿ã¹ã¯ãå¢ãå§ããŠããé ãªã®ããã£ãŠãã¹ããªã³ãã®åãç®ã§ãµãŒããŒãµã€ãããŒã ã«æ··ããŠãããããšã«ãªããŸããã
JavaScriptã¯ã€ãããšèšã£ãããã©ããµãŒããŒãµã€ãã«é¢ããŠã¯å ¥åºåãã¯ã£ããããŠããŠAPIã®ã©ã€ããµã€ã¯ã«ãçãããšããããWebããã³ãã»ã©ã€ãã¿ãæããŸããã§ããã
ãµãŒããŒãµã€ããšã³ãžãã¢ãšããŠãã£ãããšã¯äºã€ã§ãã¢ãã€ã«åãã®APIã®éçºãšå®æãããã®éçºã§ãããç¹ã«æ¥œãããšæããã®ããããã®éçºã§ãæ§ã ãªåœ¹å²ã®ç»å ŽãããµãŒããŒãµã€ãã®ã¿ã¹ã¯ãããŒããŸãšããDigdagãããŒã¿ã®æµã蟌ã¿ãè¡ãEmbulkããããã®æå倱æãSlackã«éç¥ããä»çµã¿ã«è§ŠãããããŸããã
ãµãŒããŒãµã€ãã¯è³¢ãããŒã«ãé ã®è¯ãèãæ¹ãå€ããåèã«ãªãããšãå€ãã£ãã§ãã
Webããã£ãŠã¿ãŠã®ææ³
ä»åWebããã£ãŠåŸãäžçªè¯ãã£ãããšã¯ãããŒã ã¡ã³ããŒã®ããã£ãããšã¯ãªããã©ããŸãå匷ããŠãã£ãŠã¿ããããšããã¹ã¿ã³ã¹ã«è§Šããããããšã§ããã
ãããŸã§æ £ããiOSéçºãããŠãããšã㯠ãããŒããã€ã䜿ã£ãŠããã©ã€ãã©ãªã䜿ãã°ãã€ãéãå®è£ ã§ãããªãã ã¿ãããªå®å šã«ãšã³ãžãã¢ãšããŠã€ããèãã«ãªã£ãŠããŠããããæã¡ç ããããªç°å¢ã§ä»äºãã§ããããšã¯ãã¡ããã¡ãè¯ãã£ãã§ãããã£ãšããããªããŒã«ãã©ã€ãã©ãªã䜿ã£ãŠãéçºææ³ã®æ¹åãšãããã£ãŠããããæ°æã¡ã«ãªããŸããã
ããšããšåã¯iOSéçºãããã£ãŠããŠããªããŠã ããã£ãšåºãèŠéã»æè¡ãæã€ããšã§èªåã®iOSéçºããã£ãšè¯ãã§ããã§ã¯ãªããã ãšããç®è«èŠããããŸãããWebããã³ããAPIãããŒã¿ããŒã¹ããã®ä»åçš®AWSã®ãµãŒãã¹ãããŒã«ã䜿ã£ãŠã¿ããéçºã®äžéãã®çµéšãçµãŠãããå¶ããããããªæ°ãããŠããŸããããã°ãããã
ã¯ããWebã®è©±çµããã
iOSDCã«ç»å£ããŠå®ãŸã£ãæ¹åæ§ - iOSãšã³ãžãã¢æ»ããŸãïŒïŒïŒð¢ð¢ð¢
倧ããã€ãã³ãã§ãã£ããç»å£ããªããšããšããç®æšã»ãã¬ãã·ã£ãŒ
æ £ããªãWebã«ç¿»åŒãããªããããiOSãšã³ãžãã¢ãšããŠç¯ããŠããåšãããã®èªç¥ã¯ä¿ã¡ããæ°æã¡ããããŸãããæ±äº¬ã«æ¥ãŠãããã1幎åãéããé ã§ããããããããããšã«å€§ããªã€ãã³ãã§çºè¡šãããŠããã ããæ©äŒãããã€ãããã äžå®æéå ã«å€§ããªã€ãã³ãã§ã¡ãããšãããã¿ãçºè¡šããŠãããäžãã(çãäžãã)å¿ èŠããããšãããã¬ãã·ã£ãŒãåæã«çãŸããŸããã ããã¯å®æçã«å°è±¡ã«æ®ãçºè¡šãããŠãããªããšãçéã«å¿ããããŠãæããã³ããŒç°äžãšããã€ããå± ãŠãª...ããªããŠæãåºã®ååšã«ãããæ°ãããŠããããã§ãã
ãã¬ãã·ã£ãŒã®èŠå ãšãªã£ãéå»ã®çºè¡šã¯å ·äœçã«ã¯ä»¥äžäºã€ãªã©ã
ãããªäžãçºè¡šããã®ã以äžãiOSDCã§ã¯ãããããããšã«äºå¹Žé£ç¶ã§ç¶æãããŠããã ããŠããŸãã
çµæãšããŠãèªåã®äžã§ãªããšãããŸãçºè¡šã§ãããªãšæã£ãã®ãšããããããããšã«ãã¹ãã¹ããŒã«ãŒè³ãããã ãããšãã§ããŸãtãè¯ãã£ãã ãã¬ãã·ã£ãŒã«æã¡åã£ãŠç®æšéæã§ãïŒ
iOSãšã³ãžãã¢ã«æ»ãããšæã£ããã£ãã
åè¿°ã®ãã¹ãã¹ããŒã«ãŒè³ãããã ããèšäºã§ãæ§ã ãªæ³ããæžããŠããã®ã§ããããã©ã¹Î±ãããå°ãæžããŸãã
çºè¡šã®ããšã® Q&A ã Ask the Speaker ã§çºè¡šã«å¯ŸããŠè©±ãèãã«æ¥ãŠããã人ãäœåãããã£ããããŸããã ããããšã«ããå¬ããã£ãã
- ããã¡ã§ã¯ããããè§£éã§èšèšãçµãã§ãããã ãã©ãðŠ(ç°äž)æ°ã¯ã©ãããè§£éãããŠããŸããïŒã
- ãããã¡ãã£ãšå ·äœçãªã³ãŒããèŠããŠãã ããïŒã
- ãããããèšèšã«ã€ããŠããããªããã ãã©ããªã«ããå§ãããããã§ããïŒã
- ãèšèšã«é¢ããåæç¥èãã¡ã³ããŒããšã«ã°ãã°ããªäžãã©ããã£ãŠå ±éèªèãæã€ããã«ããŠããŸããïŒã
ãªã©ãªã©ãåãšããŠãäžç·ã«èããŠå匷ã«ãªãã声ãããããã ããŠæ¥œããã§ãããŸããããããããšã«ããã®åŸãè³æãèªãã§ãã®è©±é¡ã«ã€ããŠæèŠã亀ããã«æ¥ãŠãããæ¹ãããç¶æ ã§ããå¬ããã
話ããå 容ã«ã¡ããã©å°ã£ãŠãã人ãå± ãŠãããããã話ãã§ããã誰ãã®ããã«ãªãçºè¡šãã§ãããããããšã«ããæç¡éã§ãããããã®éèŠã«å¿ããããšã«äŸ¡å€ããããšæããã®ã§ããããã¯ãŸã
iOSãšã³ãžãã¢æ»ããŸãïŒïŒïŒð¢ð¢ð¢
ãã¹ãã«å¯Ÿããé¢å¿ã®é«ãŸã
é¢å¿ã®é«ãŸãã®çç±ã¯äºã€ãããŸãã
ã²ãšã€ã¯èšèšã«å¯Ÿããçè§£ããã匷åºã«ããããã§ããããäžå¹Žãããã¯èšèšã«ã€ããŠèããæ©äŒãå€ããŠããã®çµæãã¹ããšé¢é£ããããšãå€ããšããããšã«æ°ã¥ããŸããããªã責ååããããã®ããšããåãã«å¯Ÿããçãã®äžã€ã«ããã¹ããããããäžããããããšããçç±ããããŸãããã¹ããæžãããšã§ãæžããŠããã³ãŒãã«å¯Ÿããä¿¡é Œæ§ãé«ãŸããŸããã¡ã³ããã³ã¹ã®ãããããäžãããããå®å šã§å¹ççã«ããã°ã©ã ãæžãããšãã§ãããšèããŠããŸãã
ãã®ããã«ã¯ å®è£ ãããŠããããã¹ãã劥åœãã©ããã倿ããã¹ãã«ãšããŠããããã¹ããæžãããã®ã¹ãã«ãå¿ èŠã«ãªããŸãã ä»åŸã¯ããã®çè§£ãæ·±ããŠããäºå®ã§ãã
ãµãã€ãã«ã¯@t_wadaããã®TDDBCãçãæéã®éã«äºååè¬ããŠTDDç±ãé«ãŸã£ãŠããããã§ãã
TDDã¯ã ããããå®è£ ãããã®ã®ãŽãŒã«ãæç¢ºã«ããŠããéçºãå§ããç¹åŸŽããã ãšæããŸããããŒããããšå®è£ ãããããŠãããšãäœãããšããŠãããã®ãšå¥ã®ãã®ãåºæ¥äžãããšããããŸãŒã«ãããŸãããããã¯æçã§ã³ãŒããæžããŠæéã䜿ã£ãŠããŸããšãããŽãŒã«ãå ã«æ±ºå®ããŠããããã°ãªãŒã³(ãã¹ããéãç¶æ )ã«ããTDDã®é²ãæ¹ããããšãããç¯æ£ãããããã«æããŸããã
ã¡ããã¡ããå°ããã¢ããªã§å®è·µããŠã¿ãŠããããã©ãæ°ã¥ããšå®è£ ãå ã«ãã£ãŠããŸã£ããããã®ã§ãæ £ããå¿ èŠãªããšã ãšæããŠããŸããããã°ãããã
ãŸãšã
Webãããæ©äŒãããã ããããšã«ã€ããŠãäŒç€ŸãšããŒã ã¡ã³ããŒã«ã¯æè¬ã®æ¥µã¿ã§ããäžåiOSããé¢ããŠã¿ãŠããŸãèŠããããšãå¢ããããã«ãªããŸããã
ãã®äžã¶æã¯æ £ããªãããšãšãããããªããšããããããŠ(æ±äº¬ã«ããŠãããã£ãšã ãã©)ãæéãéããã®ããšãŠã€ããªãæ©ãã£ãããã«æããŠããŸããèªåã®äººçãªããŠäžç¬ã§çµãããªããå¯ãããªããšæããããã«ãªã£ãŠããŠãä»åŸã©ãçããŠããããèããããšãå¢ããŠããŸããã
ã©ããããããªããŒã
ã€ãã§ã«ã以äžã«ä»äºã®ããšãšãå®çžŸãªã©ãŸãšããšãã°ãã
2017幎7æ - 9æã®å®çžŸãŸãšã
ããã°(Developers.IO)
- ç·ãªãã³1å(SNSã·ã§ã¢75å以äž)
- èµ€ãªãã³1å(SNSã·ã§ã¢150å以äž)
- å·çæ¬æ°14æ¬(åæ22æ¬)
- Rank 49(åææ«Rank 40)
- Ranking Top 24/30
ã€ãã³ã
- AKIBA.swift 7æ ä»å°éå¬)(éå¶ãç»å£)
- AKIBA.swift 8æ ããããäŒ(éå¶)
- Developers.IO 2017 ç»å£
- iOSDCç»å£
- iOSDC.fm ã²ã¹ãåºæŒ
- iOSDC ãã¹ãã¹ããŒã«ãŒè³
- 俺ã³ã³éå¶
ãä»äº
- AWS Pinpointã䜿ã£ãŠS3ã«çœ®ããcsvãã¡ã€ã«ãããšã«ã»ã°ã¡ã³ãããã·ã¥éç¥ãé£ã°ã
- WebFront(CMSéçº)
- JavaScript / React / Flux Utils / webpack / eslint
- WebAPIéçº
- JavaScript / Node.js / Koa / MySQL / Sequelize
- 宿ãããå®è£
- Docker / Amazon ECS(ECR) / Amazon CloudWatch / DataDog / ShellScript / Embulk / Digdag