å 責äºé ïŒèè ã¯ã¿ãŒãéçºè ã§ã¯ãªããæå¥ã®ãªãæ®éã®ãŠã§ããã«ã¯ã§ãã ãããã£ãŠãäžèšã®ã¿ã¹ã¯ãšè§£æ±ºçã¯ãããªãã«åŸ®ç¬ã尻蟌ã¿ã欲æ±ããããŠèè ã«èªåã®ç¡èœãã瀺ããããšãã欲æ±ãåŒãèµ·ãããããããŸããã ã³ã¡ã³ãã§ãäŒãã§ããã®ã楜ãã¿ã«ããŠããŸãïŒ :)
å®æããè©Šéšé ç®ã®è°è«
æåŸã®éšåã§ã¯ã2ã€ã®ãã¹ãã¿ã¹ã¯ãè¡ãæ¹æ³ã«ã€ããŠèª¬æããŸããã1ã€ç®ã¯DevOpsãšã³ãžãã¢ã2ã€ç®ã¯Rubyéçºè ã§ãã 次ã«äœãèµ·ãã£ãã®ãã説æããŸãã
Rubyéçºè ãžã®ã€ã³ã¿ãã¥ãŒ -ã€ã³ã¿ãã¥ã¢ãŒã¯ç§ã®ãã¹ããèŠãã質åããããè³èŸãããŸããã§ããïŒå°ãªããšããæ¡çšæ åœè ã¯ç§ãflatããŠãããŸããïŒã 圌ã¯åœŒã«ã€ããŠããç¥ããªãã£ãããã§ãã 圌ãã¯ç§ã«çè«ãå°ãå§ããã®ã§ãããã¯ç§ãå°ãæ··ä¹±ããããã®çµæã圌ãã¯çè«ãéããŠæåŠããŸããã
DevOpsãšã³ãžãã¢ãžã®ã€ã³ã¿ãã¥ãŒ -ã€ã³ã¿ãã¥ã¢ãŒã¯å²ãåœãŠãèŠãŠãè³èŸãåºãïŒå®æ§çã«å®äºãããšèšã£ãïŒããœãªã¥ãŒã·ã§ã³ã«ã€ããŠããã€ãã®ã³ã³ãããŒã«ã®è³ªåãããŸããããã®è¡ã¯ãªãããã«ããã®ã§ããïŒ æ¡ä»¶ãããã«çœ®ãæããå Žåãã©ã®ãã¡ã€ã«ã§ãããè¡ãå¿ èŠããããŸããïŒ ãªããã®ã¢ãããŒããããã§äœ¿çšãããŠããã®ã§ããïŒ ãªã©ãªã©ã ãªã¯ã«ãŒã¿ãŒãç§ã«èšã£ãããã«ãäžéšã®åè£è ã¯èªåã§ã¿ã¹ã¯ãå®è¡ããããã®ãããªè³ªåã«çããããšãã§ããŸããã§ããã ãããã£ãŠãããã§ã¯åé¡ãªã管çã§ããŸãããæåã®ã±ãŒã¹ã§ã¯ãã€ã³ã¿ãã¥ãŒå¯Ÿè±¡è ã«ãç§ã®ãã¹ãã¿ã¹ã¯ããŸã£ããèŠããã©ãããããã³åœŒãããã«ã€ããŠã©ãæã£ããã«ã€ããŠå°ããŸããã§ããã ããããããã¯å¿ èŠã§ããïŒ ãã®ãããªç¶æ³ãããå Žåã¯ãã€ã³ã¿ãã¥ãŒå¯Ÿè±¡è ã«ãã®ããšãå¿ ãäŒããŠãã ããã
é¢æ¥ã¿ã¹ã¯
åã®éšåã®ãã¹ãã¿ã¹ã¯ã®ãããã¯ãç¶ç¶ããã€ã³ã¿ãã¥ãŒã§ã®ã³ãŒãã£ã³ã°ã®ã¿ã¹ã¯ãæ€èšããŸãã
ã¿ã¹ã¯ã«ã¯ããã€ãã®çš®é¡ããããŸããã¢ã«ãŽãªãºã ã®å®è£ ãæ¬äŒŒã³ãŒãã§ã®ãœãªã¥ãŒã·ã§ã³ã®äœæãäœãã®ãªãã¡ã¯ã¿ãªã³ã°ãªã©ã§ãã ç§ãã¡ã®ãšã³ãžãã¢ã¯ã¢ã«ãŽãªãºã ã®åââé¡ãæã奜ãã§ãã
ç§ãå«ãå€ãã®äººã ã¯ããããã®ã¿ã¹ã¯ã¯åè£è ã®ãã®ãããªåé¡ãæ£ç¢ºã«è§£æ±ºããèœåã®ã¿ã瀺ããå®éã®äœæ¥ã¿ã¹ã¯ïŒéåžžã¯é«ã¬ãã«ïŒã«ã©ã®ããã«å¯ŸåŠãããããŸã£ãã瀺ããªããšèããŠããŸãã ãªã圌ãã¯ãŸã ããããäžããŠããã®ã§ããïŒ ãã®çç±ã¯ç°¡åã ãšæããŸããé¢æ¥å®ã¯åã«ãã£ãšè¯ããã®ãæãä»ãããšãã§ããŸããã ãããŠããã以äžè¯ããã®ãæãã€ããªãå Žåã¯ãå€ãè¯ãã©ã€ã³ã®å転ããœãŒããããªãŒã®ãã©ã³ã¹ãªã©ãèŠãŠã¿ãŸãããã
ãœãªã¥ãŒã·ã§ã³ã«äœ¿çšãããããŒã«ãšããŠãã³ãŒããšãã£ã¿ãŒ+ repl +ã³ã©ãã¬ãŒã·ã§ã³ã®å¯èœæ§ãæé©ã§ãã åžè²©ãããŠãããã¹ãŠã®ãªãã·ã§ã³ã®äžã§ãç§ã¯CoderPadãæã奜ãã§ã ã ããªããšã€ã³ã¿ãã¥ã¢ãŒãæ¥ç¶ããéšå±ãäœæãããŸããç·šéããŠã³ãŒããäžç·ã«å®è¡ããå®è¡çµæã確èªã§ããŸãã ãšãŠãå¿«é©ã§ãã ã³ãŒããããã«ãéããªãå Žåã¯ã repl.itãæŠéã«å ¥ããç»é¢å ±æã¯åºæ¬çã«åãã§ãããã³ã©ãã¬ãŒã·ã§ã³ã®å¯èœæ§ã¯ãããŸããã
æŽæ°ïŒèšäºã®ç¿»èš³äžã«ã repl.itã¯ãã«ããã¬ã€ã€ãŒã¢ãŒããè¿œå ããŸãããããã«ãããç¡å¶éã®æ°ã®åå è ãåæã«ã³ãŒããæäœã§ããŸãã å®å šç¡æïŒ CoderPadã¯äžèŠã«ãªããŸããã
Java Developerã®å°äœã«ã€ããŠäŒç€Ÿãšã®ã€ã³ã¿ãã¥ãŒããããŸãã ã å瀟ã¯CRMã®ãããªããšãããŠãããããã®çµ±åãæžããŠããŸãã Zoomã®æè¡ã¹ãã·ã£ãªã¹ãã«é£çµ¡ãããã¢ã«ãŽãªãºã ã®ã¿ã¹ã¯ããå§ããŸãããããšåœŒã¯èšããŸãã ç§ã¯çããŸãïŒãããããŸãããç§ã¯ä»äºãããŸããã質åããããŸãïŒããªãã¯ä»äºã§ãã®ç¥èãå¿ èŠã§ãããããªãã¯åæ§ã®ããšã解決ããå¿ èŠããããŸããïŒã ãé©ç°çãªãšã³ããã€ã³ããèšè¿°ããjson-chikiãããåãããŸãããããã«ã€ããŠè©±ãã®ã¯é¢çœããªãã®ã§ãåé¡ã解決ããŸããããã ã€ãŸããã€ã³ã¿ãã¥ã¢ãŒèªèº«ãèªåã®ç¡èœããèªããŸããã 誰ãã©ããã£ãŠããã®ãã¯ããããŸãããããã®ç¬éããç§ã¯ããã«è¿œãã€ããªãããšã«æ°ä»ããŸããã ããããã¹ããŒããžã®é¢å¿ãããäŒè©±ã¯ç¶ããŸãããã€ã³ã¿ãã¥ã¢ãŒãç¯ããééã-圌ã¯ããã¹ãã®ã¿ã¹ã¯ã®æ¡ä»¶ãä¿®æ£ããŸããã§ããã ãã®ãããªã€ã³ã¿ãã¥ãŒãè¡ã£ããšããåè£è ã«è³ªåããªãããã«ãã¿ã¹ã¯ã®æ¡ä»¶ãã³ãŒããšãã£ã¿ãŒã«ã³ããŒããŸããã
ã³ãŒãã£ã³ã°ããããéããã¿ã¹ã¯ã«é²ã¿ãŸããããã®æ¡ä»¶ã¯å£é ã§è¡šæãããŸããããæå®ãããæååå ã®äžæã®æåã®æé·ã®ã·ãŒã±ã³ã¹ãèŠã€ããŠãã ãããã ãã®åŸãã€ã³ã¿ãã¥ã¢ãŒã¯ã åçããã°ã©ãã³ã°ã®ã¿ã¹ã¯ãäžããããšãã§ããŸãããããåçŽãªãªãã·ã§ã³ã«å¶éããŸãããšè¿°ã¹ãŸããã ã€ã³ã¿ãã¥ãŒã§ãã€ãããã¯ããã°ã©ãã³ã°ã®ã¿ã¹ã¯ãäžãã人ãçå£ã«èŠãããšæããŸãã
ã€ã³ã¿ãã¥ã¢ãŒã«ã¿ã¹ã¯ã®æ¡ä»¶ãç¹°ãè¿ããæ£ããç解ããããšã確èªããè¯å®çãªåçãåãåã£ãŠä»äºãå§ããŸããã 5ååŸãéšåæååã§ã¯ãªããã®é·ãïŒããã¯ç°¡åã§ãïŒãèŠã€ããå¿ èŠããããããåé¡ããŸã æ£ããç解ããŠããªãããšãããããŸããã ãããããããŠãå§ããŠãããåçŽãªåé¡ã§ã¯ãªãã¢ã¹ã¿ãªã¹ã¯ã§åé¡ã解決ããŸãããããšçããŸããã ã€ã³ã¿ãã¥ã¢ãŒã¯ãèªåã®ç¶æ³ã«åãããŠãã¹ããæºåããŠããããå°ãæ··ä¹±ããŠããŸããããç§ã¯ãã§ã«ãããã¯ãã¹ããæäŸããããã®ãŸãŸå®è¡ããããšæ±ºå¿ããŸããã ã©ããããã®æéïŒçŽ40åïŒããããå°ããã³ãŒãã£ã³ã°ãéå§ããŸããã ç§ã¯ã圌ããå²ãåœãŠãäžããããšãç¥ã£ãŠãããšããäºå®ã«ãããããããç§ã¯ç¹å¥ã«æºåããªãã£ãããšã«æ³šæããŸãã
ã ãããç§ã¯ããã«ãã¹ããæžããiãjãkã€ã³ããã¯ã¹ã§ã·ã£ãŒããã€ãžã³ã°ãéå§ããŸãã:)ã«ãŒãå ã®ã«ãŒããªã©ã 15ã20ååŸãç§ã¯å解決çãè¬ããŸããããã€ã³ã¿ãã¥ã¢ãŒãæ瀺ããå¢çã±ãŒã¹ã¯ééããŸããã§ããã ããã«20åããããŸããããæçµçã«ã¯ã¿ã¹ã¯ãæ£ããå®äºããŸããã ã€ã³ã¿ãã¥ã¢ãŒã¯æºè¶³ããŠããããã«èŠããããŒã¿æ§é ã«ã€ããŠç§ã«å°ãå§ããŸããã 圌ãæåã«äžãããã£ãåé¡ã解決ããããã«ãããã·ã¥ã»ãããŸãã¯ãã®ãããªãã®ã䜿çšããããšãå¯èœã§ããã圌ã¯ãŸãã«ãã®ãããªè§£æ±ºçãæåŸ ããŠããŸããããç§ã¯ããããã¹ãŠå£ããŸããã
次ã«ããããžã§ã¯ãïŒãã©ãŒã ãšãã€ã«ïŒã«ã€ããŠå°ã話ããŸããã ãããŠã圌ã¯ããèšããŸããããã®åŸãã·ã¹ãã èšèšã«ã€ããŠã®ã€ã³ã¿ãã¥ãŒããããŸãã å®éãç§ãã¡ã¯ããã§ãããè¡ããããã®ãããªç¥èã¯å¿ èŠãªãã®ã§ããããå®è¡ããçç±ã¯ãããŸããããé åºã¯é åºã§ãã次ã®æ®µéã¯ããã§ããã ããŠãããªãã¯ç解ããŠããŸã-åè£è ããã®äŒç€Ÿã®æ¥åžžæ¥åã§å¿ èŠãšãããªãããšãè¡ãããšãã§ãããã©ãããç解ããããã«ã2ã€ã®ïŒïŒïŒã€ã³ã¿ãã¥ãŒãè¡ãããŸãã ããããç§ã¯ããã®ãããªã€ã³ã¿ãã¥ãŒã®ç¡æå³ãã«ã€ããŠå°ã話ããããã«ããŸããã ã€ã³ã¿ãã¥ã¢ãŒã¯ç§ã«åæããããåã³è²¬ä»»ã®å§ä»»ãå«ãããããã»ã¹ãã©ãããã¹ããã決ããŠããªãã®ã§ãç§ãã¡ã¯äœããã¹ããããšèšã£ãã ç§ã¯ã2åç®ã®ã€ã³ã¿ãã¥ãŒïŒã·ã¹ãã èšèšã«ã€ããŠïŒãè¡ã£ãããæåã®ã€ã³ã¿ãã¥ãŒãšåããããç¡æå³ã ã£ããšä»ãå ããã
ã©ã®ãããªééããç¯ããã-æ¡ä»¶ãæ£ããç解ãããã©ããã3åæå®ããã«ãããã«ã³ãŒããèšè¿°ããŸããã ã€ã³ã¿ãã¥ãŒã§
ãŸããRuby Developerã®å°äœã«ã€ããŠã€ã³ã¿ãã¥ãŒãåããŸãã ã 質åã«çããŠããã©ã«ãèšå®ããåŸãeach_sliceã¡ãœãããèšè¿°ããã¿ã¹ã¯ãäžããããŸããã ç¥ããªã人ã«ãšã£ãŠã¯ãããã¯äžãããããµã€ãºã®éšåé åã®é åã«ãããããããããã«ã¡ãœããã«æž¡ãããããã¯ãå®è¡ãããããããã®éšåé åã®å埩åãè¿ããããªãã®ã§ãã ç§ã¯æžãããã«åº§ã£ãŠãããããã¿ããã³ã°ãå§ãŸããŸããã åé¡ã¯ãRubyã§ã¯ããªãé·ãéWebã¡ã€ãã³ã°ã®ã¿ã«æåãããªãã¡ã¬ã³ã¹ãã¯ã€ããªã¹ããšããŠãèšèªã®åºæ¬çãªæ§é ã®äžéšãç¥ããªãã£ãããšã§ãã ã€ãŸã-forã«ãŒãã®ã€ã³ããã¯ã¹ãäžå€ã§ããããšãç¥ããŸããã§ããïŒããšãã°ãJavaãšã¯ç°ãªããŸãïŒããã®åŸãç§ã¯ãã®ãããªä»äºã«å¯Ÿããæ 床ãåèããŸããã éåžžãç§ãç£ç£äžã§äœããã³ãŒãã£ã³ã°ããããšã¯æ±ºããŠåé¡ã§ã¯ãããŸããã§ããããããã€ãã®èŠå ãããã§åããŠããŸããïŒæ·±å»ãªç«å Žã®ããã®ç§ã®ã¢ããªã±ãŒã·ã§ã³ãåºæ¬çãªèšèªæ§æã®ç解ã®æ¬ åŠïŒç§ã¯ããããå¿ èŠãšããªãã£ãããç§ã¯è§£æ±ºçãã°ãŒã°ã«ã§ãã5ç§ä»¥å ïŒããã³ãªãã¶ãŒããŒã®å¹æã ãã¡ãããå€ãã®äººã¯åé¡ãèŠããšåé¡ã解決ã§ããªããšèªã¿ãŸããããããã¯èªåèªèº«ãeach_sliceã§ãããã®å³ããç·ã«åºããããŸã§ã¯ããããç§èªèº«ã®äžå®ãšç¡èœãã®èšãèš³ã§ããããã«åžžã«èŠããŸããã
ã¡ãœããèªäœãå€ããå°ãªããè¿ éã«èšè¿°ããŸããããæ©èœãããçç±ãç解ã§ããŸããã§ããã ç§ã¯å°ããããã¯ã«ãªãå§ãããã¹ãŠãåé€ããŠå床æžããŸããããç§ã®ã³ãŒãã¯åã³æ£åžžã«æ©èœããŸããã§ããã
ãããŸããããŸããã§ããããšç§ã¯èãã察話è ã«æ¬¡ã®ããã«èªã£ãããçããããåç¥ã®ããã«ãç§ã¯Webãã¹ãã£ã³ã°ãšãããžã§ã¯ãã®å®è¡ã¯åŸæã§ãããããªãã®æããªä»äºã§ã¯äœãã§ããŸããã ããã¯ç°¡åãªäœæ¥ã§ããã10幎ã®çµéšãæã€äººã¯ããã ã¡ã«ãããè¡ã矩åãããããšãç解ããŠããŸãã ããã§ãããããªããé ãããªãã§ãã ããããããŠãæã ã¯åæ£ããŸããã äºäººã¯åæããå¥ããŸããã
ç§ã¯ãããªã«ç°¡åã«å€±ãããšã«æ £ããŠããªãã£ãã®ã§ãç§ã¯çå£ã«çæãããŸããã ã©ããããããå®åçãªãã©ã¹ã«ãªãããã«ãç§ã¯ãªã¯ã«ãŒã¿ãŒã«ãå®éã®ä»äºãšã¯é¢ä¿ã®ãªãã¿ã¹ã¯ãå解ãããšæžããŸããã ãã®åŸãèœã¡çããŠåº§ã£ãŠãã€ã³ããã¯ã¹ããµã€ã¯ã«ã§ã©ã®ããã«æ©èœãããããã°ãããã¹ãããŸããã ãžã¥ãã¢ãã¹ãç¯ããã€ã³ããã¯ã¹ãåç·šéããæ¢æã®ãœãªã¥ãŒã·ã§ã³ãåŸãããšã«æ°ä»ããŸããã å®éãç§ãæã£ãŠãããšã©ãŒã¯åãè¡ã«ãããŸããã ç§ã¯ããã«ã€ããŠäººäºéšã«äŒãã圌ããèå³ãæã£ãŠãããªãã圌女ã解決çãžã®ãªã³ã¯ãæž¡ãããšãææ¡ããŸãããç§ã¯ãŸã åé¡ã解決ããã®ã§ã ãããã圌女ã¯çããŸããïŒãããªãã¯åé¡ã解決ããŠããªãã®ã§ãããªãã¯ãã以äžé²ãã§ããŸãããããããªããã ã©ãã«ãããŠèªåãæ£åœåããããã«ãå£ããã€ã³ã¿ãã¥ãŒã®ããã»ã¹ã«ã€ããŠå°ãç解ããå¥ããŸããã
ãŸããJava Developerã®å°äœã«ã€ããŠã®ã€ã³ã¿ãã¥ãŒããããŸããã ä»åã¯ããããã«ç°ãªã圢åŒã§éå¬ãããŸããã Zoomããã®é£çµ¡ãåããã€ã³ã¿ãã¥ã¢ãŒã¯æ¬¡ã®ããã«è¿°ã¹ãŸããããã¡ãŒã«ãæããŠãã ãããã¿ã¹ã¯ãéä¿¡ãããããèªãã§ããã¹ãŠãæ確ãã©ããæããŠãã ããã 2æéã¯ãããŸãããç§ã¯ãã¥ãŒãç¶æ ã§ãããªããããã§äœãããŠããã®ããèŠãŸããïŒç»é¢ãåçããŸããïŒã 2æéåŸãç§ãã¡ã¯é£çµ¡ãåããç»é¢ã調ã¹ãŠãããã§äœããããã確èªããŸãã äœã§ã䜿çšã§ããŸããã ã¿ã¹ã¯ã®ç¶æ ãèªã¿ãã€ã³ã¿ãã¥ã¢ãŒãšå床話ãããããªããªãã«ãïŒã¹ããªãŒã ã®ã³ãŒãã£ã³ã°ãCPUãæ¶è²»ããããïŒãæ··ä¹±ããŸããã IDEãéããŠéå§ããŸããããã®ã¿ã¹ã¯ã®äœãè¯ãã£ãã§ããïŒ
ã¿ã¹ã¯ã¯I / Oã«é¢é£ããŠããŸãã-ãã£ã¹ã¯äžã®ãã¡ã€ã«ã«ããŒã¿ãæžã蟌ãããã®APIãäœæããŠããã¹ãŠãã¹ã¬ããã»ãŒãã§é«éã§ãããããããã§ãã¯ããåäœãã¹ãïŒã¹ã¬ããã»ãŒããå«ãïŒãäœæããå¿ èŠããããŸããã ç§ã¯é·ãé䞊è¡æ§ãšI / Oãæ±ã£ãŠããªãã®ã§ãããã«ããã¯ã調ã¹ãŠãäœãèµ·ããŠããã®ããèŠããªããã°ãªããŸããã§ããã ç§ã¯é¡ã«è§£æ±ºçãæžãããããã¹ã¬ããã»ãŒãã§ããããšã確èªããŸããã ãã¹ãŠã«ã€ããŠã®ãã¹ãŠãç§ã«çŽ1æéåããããŸããã ç§ã¯ã€ã³ã¿ãã¥ã¢ãŒã«pingãããæºåãã§ããŠãããšèšã£ããã磚ãå¿ èŠãããã®ã¯ããããªããšã ãã ã ããã«å¯ŸããŠåœŒã¯çããïŒããã30å座ã£ãŠããŸã å®äºããŠããªããã®ããã¹ãŠçµããããŸããããã OKãç§ã¯åº§ã£ãŠãã¹ãŠã®ããããªããšãšç²ããæãèµ·ããããjavadkiãçµäºããããäžåºŠI / Oã«ã€ããŠã§ããããšããã¹ãŠèªãã§ãç§ã®ãœãªã¥ãŒã·ã§ã³ã®æ¬ ç¹ãäœã§ãããã«ã€ããŠèããŸããã
30ååŸãç§ãã¡ã¯é£çµ¡ãåããç»é¢ãå ±æããã³ãŒãã衚瀺ãããã¹ããå®è¡ããŸããã 次ã®30åã§ã¯ãç¹å®ã®æ¡ä»¶ãå€æŽããå Žåã®åé¡ã®è§£æ±ºãšãã®ä¿®æ£ã®å¯èœãªãªãã·ã§ã³ã«ã€ããŠå³å¯ã«è©±ããŸããã ç§ã¯ä»¥åã®ã€ã³ã¿ãã¥ãŒïŒããã³åŸç¶ã®ã€ã³ã¿ãã¥ãŒã§ãïŒã§ã¿ã¹ã¯ã«ããäŒè©±ã®åºç€ãæºåãã人ã¯ããªãã£ããšããäºå®ã«æ³šæãåèµ·ããããšæããŸããåºåã§0/1ãäžããã®ã¯åžžã«ããçš®ã®æœè±¡çãªéšåã§ããã次ã®è³ªåã«é²ã¿ãŸããã ãããŠãããã§ã®ã¿ã¹ã¯ã¯æ°æéã§å®è¡ã§ããã»ã©åçŽã§ããããåæã«æ¡ä»¶ãè¿œå ããåè£è ãšæ±ºå®ãå®äºããæ¹æ³ã«ã€ããŠè©±ãåãã®ã«ååãªã»ã©åŸ¹åºçã§ããã
ãã®ã€ã³ã¿ãã¥ãŒã¯æ¬åœã«æ°ã«å ¥ããŸããã ãã£ãºããºã解決ã§ããã ãã§ãªããã¢ãŒããã¯ãã£ã®äœããç解ã§ããããšã瀺ãããšãã§ããŸããã ã€ã³ã¿ãã¥ã¢ãŒã¯ã6æã«åº§ã£ãŠããã®ã§ã¯ãªããèªåã®äœåã§äœããæ®åœ±ããã¹ãã·ã£ãªã¹ãã§ãããšç¢ºä¿¡ããŠããŸããã ããã¯ä»ãŸã§ã§æé«ã®æè¡é¢æ¥ã§ããã ã€ã³ã¿ãã¥ã¢ãŒã¯ç§ãã¡ã®ãã®ã§ã¯ãªãã£ããšãã§ã«æšæž¬ãããšæããŸã:)ãŸããåæ Œããããã«2ã€ã®ã¹ããŒãžãçµãŠãæçµçã«ãªãã¡ãŒãåãããšä»ãå ããŸãã ããããããã¯å¥ã®è©±ã§ãã
- å®éã®ä»äºã圌ãããã®äŒç€Ÿã§è¡ãããšãžã®è¿æ¥æ§ã
- å¶éæéã
- 芳å¯ã®æ¬ åŠã
- ã¡ã¢ãªãã§ãã¯ã§ã¯ãªããäœã§ã䜿çšã§ããæ©èœã
- ãããªãäŒè©±ã®åºç€ãäœãã
- åè£è ã®ã¹ãã«ããã¹ãããŠãã³ãŒãã£ã³ã°ããIDEã䜿çšããŠãäžè¬çã«èããŸãã
æ®å¿µãªããããã¹ãŠã®ã€ã³ã¿ãã¥ãŒã®äžã§ãç§ã¯ãã®ãããªã¿ã¹ã¯ã3ã€ããæã£ãŠããªãã£ãã®ã§ãéžæã¯ãããã§ãã ãããããã£ãšé£ãããã¹ã/ã¿ã¹ã¯ããããããããŸããããç§ã¯ããããååŸããŸããã§ããã
é¢æ¥ã¿ã¹ã¯ã®å žåçãªæ¬ ç¹
- ã¿ã¹ã¯ã¯å®éã®äœæ¥ãšã¯é¢ä¿ãããŸããã ããã¯ç§ãæãæ©ãŸããŸãã ã¢ã«ãŽãªãºã ã¯è§£ãããšãã§ããŸãããå®éã«ã¯ãã€ã«ã¯ãªãããããŸãã é¢é£ã¿ã¹ã¯ãããŸããããç§ã¯ããªãã«åæ²¹ããããŸãïŒ æååå ã®éšåæååãæ€çŽ¢ããæ¹æ³ãç¥ã£ãŠãã人ãå¿ èŠãªã®ã¯ãªãã§ããïŒ
- çµç¹ç-å€ãã®å Žåããœãªã¥ãŒã·ã§ã³çšã®éåžžã®ããŒã«ã¯ãããŸããã Google docsã§ã³ãŒããèŠããŠãããåŸãrepl.itã§ç»é¢ãããã£ããããã€ãŠã¯CoderPadã§ããã
- ã¿ã¹ã¯ã¯ãããã«äŒè©±ããããã®ã³ã³ããã¹ããäœæããŸãã-ããã¯æåã®æ®µèœã®çµæã§ãã åŸã§è°è«ããªãã®ã«ããªãã¿ã¹ã¯ãäžããã®ã§ããïŒ
- ãã¹ãŠã®äººã ãç£ç£äžã§ã¿ã¹ã¯ã«å¯ŸåŠã§ããããã§ã¯ãããŸããã ãããã£ãŠããã®æ®µéã§é©åãªåè£ãåé€ã§ããŸãã
çè«çãªè³ªå
ããã¯ç§ã®ãæ°ã«å ¥ãã®éšåã§ãã 誰ããçè«ãå°ããã®ã倧奜ãã§ããããã«ã€ããŠå°ãèŠãŠã¿ãŸãããã
ãªãããã®çç±ã§ãããŸããŸç§ãRubyãšã³ãžãã¢ã®ç«å Žã§çè«ãå°ããããããšããããŸããã ç§ã¯åœŒå¥³ã®ææªã®äºæ ãç¥ã£ãŠããã®ã§ãç§ã¯åžžã«ã€ã³ã¿ãã¥ãŒãåãå°œããã6æã®ããã«èŠããŸããã ç§ã¯åº§ã£ãŠãèšèªã®æç§æžãèªã¿ãŸãããããã«ããããã¿ããªããªããããèããŠããã®ïŒ ç§ã¯åªããéçºè ã§ãããéãã¯äœã§ããããªããžã§ã¯ãã®ã¡ãœããæ€çŽ¢ã®é åºã¯äœã§ããïŒ èª°ããããå¿ èŠãšããŸããïŒã
Rubyéçºè ãšããŠè¡ã£ãæåã®ã€ã³ã¿ãã¥ãŒã¯ããŸãã«ãã¹ãã¿ã¹ã¯ãè¡ãããå Žæã§ããããçµå±ã®ãšããã誰ãèå³ãæã¡ãŸããã§ããã ç§ãšéä¿¡ããã¯ãã ã£ããã£ã ãªããã¯æ¥ãªãã£ãïŒåœŒã¯äº€éæžæ»ãäœãã§ç«ã¡åŸçããŠããïŒã®ã§ã圌ãã¯ç§ã«å¥ã®ãã®ããããã äŒè°ã®åŸã圌ã¯æ¬¡ã®ããã«è¿°ã¹ãŠããŸãããç§ã«ã¯ã«ãŒã«ããããŸã-ãã¹ãŠã®ã€ã³ã¿ãã¥ãŒãè±èªã§è¡ããããè±èªã«åãæ¿ããŸããã ã€ã³ã¿ãã¥ã¢ãŒãéåžžã«åŒ·ãã¢ã¯ã»ã³ããæã£ãŠãããããè³ãã°ã©ãã§ã³ãããã¥ãŒãã«ããããŠããŸãã ããã¯ç§ãå€å°äžå®ã«ãããŸããïŒè±èªã§åèãšã³ãã¥ãã±ãŒã·ã§ã³ãåãããšã¯éåžžã«å°é£ã§ãïŒã
次ã«è³ªåããããŸãããã¢ãžã¥ãŒã«ãšã¯ããããã¯ãšã¯äœããæ©çãŸããšã¯äœãããããŠç§ã¯ãã¡ã€ã«ãå§ããŸããã ãæç§æžã®ããã«ããšå®çŸ©ãã代ããã«ãããŸããæ£ç¢ºãªå®çŸ©ã¯ããããŸããããããããããã¯ãããªããšã§ããç§ã¯ãã®ããã«äœ¿ããŸãããã ã€ã³ã¿ãã¥ã¢ãŒã¯äžæºã§ãããç§ã¯ãããæãå§ãã誰ããå°çãããšæããŸããã
次ã«ãç¹å®ã®ã¡ãœããã«é¢ãã質åããããŸããããã³ã¬ã¯ã·ã§ã³å ã®ãã¹ãŠã®nilããã£ã«ã¿ãªã³ã°ããã¡ãœããã®ååã¯äœã§ããïŒã 次ã«ããããŒã«ããªã³ã«ããŠçããŸãããããããã®æ¹æ³ã®ç¥èã«ã€ããŠç§ã®èšæ¶ã確èªããå Žåãæè¿äœ¿çšããŠããªããã®ã«ã€ããŠã¯äœãèšããŸããã ç§ã¯å€ãã®èšèªãšãã©ãããã©ãŒã ã§æžããŠããŸããããã¹ãŠã®SDKã¡ãœãããèŠããŠããŸãããã ããã¯ã€ã³ã¿ãã¥ã¢ãŒãæºè¶³ããããã®ã§ã¯ãªãã次ã®è³ªåã¯æ¬¡ã®ãããªãã®ã§ããã ã©ããªæ¹æ³ãããã誰ããããæ¡åŒµããã®ããã ããããããããããŸããã§ãããïŒããšç§ã¯èããŸãããã声ãåºããŠèšããŸããïŒãããããŸãããå°å³/çž®å°/ã¹ã©ã€ã¹ãªã©ã®æ¹æ³ããããšæããŸããã 圌ã«ã䌌åããªãã£ãã
ãããã圌ã¯ãMVCã®ã©ãã«ããžãã¯ãé 眮ãããã«ã€ããŠãæšæºçãªè³ªåãããŸããã ç§ã¯ã¢ãã«ã§ãããçããŸããããããŠããããã¢ãã«ã«åããªããªãã°ãããããããã€ãã®ä»ã®ã¯ã©ã¹ã§ã ãããããµãŒãã¹ãªããžã§ã¯ããæ£è§£ã§ããããšãå€æããŸããïŒãã®ãŽããããã«ããã®ã§ããããïŒïŒã ç§ã¯ããã«å¿ããŠäœããã€ã¶ãããŸãããããšãã°ãããªãã¯ãããåŒã³åºãããšãã§ããŸãããç§ã¯ããã奜ãã§ã¯ãããŸããã
ãããã圌ã¯SQLã«é¢ããããã©ã«ãã®è³ªåãããŸããããããã¯ç§ãæ£ããçããããšãã§ããããããç§ã䜿çšããªãã£ãRSpecã«ã€ããŠå°ããŸãããããããã¹ãŠã§ãã RailsïŒãããŠåœŒãã¯ã¬ãŒã«ãæã£ãŠããïŒã§ãç§ã¯åäžã®è³ªåãåããªãã£ãã ãŸããç§ã¯ä»¥åã®çµéšã«ã€ããŠåäžã®è³ªåãåããŠããŸããã
ãã®åŸã圌ã¯ç§ã«æ¯æ¥ã®ã¹ã¿ã³ãã¢ããã«ã€ããŠã©ãæããå°ããŸããã ãã®åŸãç§ã¯ç€ŸäŒçã«æåŸ ãããçãïŒããŒã³ãçãã-ããã©ãšå°å±ïŒïŒãåºããªãããšã«æ±ºããŸããããããŠãããã¯æéã®ç¡é§ã§ããããããŒãžã£ãŒãéææ§ãšé²æç¶æ³ã®å ±åã®å®¹æãã確ä¿ã§ããªãããŒã ã§å®è·µããããšããã«èšããŸããã ãããŠåœŒã¯ãã¹ã¯ã©ã ã¯æ€ç©æ²¹ã®äžã®ãŽãã§ãããã¹ã¯ã©ã ã«ãããšèª°ãç§ãã¡ã®ããã«æ®éã«åããªããã誰ãããµããããŠãããšä»ãå ããŸããã æããã«ãç§ã¯ãŸã ãã€ãã¹ãæŸããŸããã
ããã«ã圌ã¯åœŒã«è³ªåãããããšãææ¡ãïŒæããã«ç€Œåæ£ããããïŒãç§ã¯èªåã®é ã§ãããã»ã¹ãã¢ãŒããã¯ãã£ãªã©ã«ã€ããŠå°ããŸããã ç§ãèããã®ã¯ã圌ããå žåçãªã¿ã¹ã¯ã®ããã«å€ãã®ãµã€ã¯ãªã³ã°ãããã®ã§ã奜ãã§ã¯ãããŸããã§ããã ç§ã¯ãã ã®éçºè ã§ã¯ãªãããšãç·ã«ã¯ã£ãããšäŒãããã£ãã®ã§ãããããå°ãããããšã¯ã§ããŸãããããã¹ãŠãç¡é§ã«ãªã£ãŠããã®ã§ãããã«åœŒã¯éçµããŠåºèªããæã ãšèšããŸããã
ç¿æ¥ããªã¯ã«ãŒã¿ãŒãç§ã«æçŽãæžããæåŠãç¥ãããŠãããŸããã ããããŠç¥ã«æè¬ããŸãããšç§ã¯æã£ãããããã§ãå°ãçŠããã ã€ã³ã¿ãã¥ã¢ãŒãæåããåèŠãæã£ãŠãããšããå°è±¡ãåããŸãããããããŸããã ã¡ãªã¿ã«ãããã¯æåã®é£çµ¡ããæè¡é¢æ¥ãŸã§1ãæããã£ããªãã£ã¹ãšåãã§ããã
ã ããã圌ãã¯ç§ãèšèªã®åºæ¬ãç¥ããªãã£ãã®ã§ç§ãæåŠããŸããïŒRubyïŒã ã§ã¯ãå ã«é²ã¿ãŸãããã
ãã 2 人ã®ã€ã³ã¿ãã¥ã¢ãŒãRuby Debeloperã§ã®å¥ã®ã€ã³ã¿ãã¥ãŒ ã å°ãªããšã1ã€ã¯ãã·ã¢èªã2ã€ç®ã¯ãŠã¯ã©ã€ãèªã§è©±ãããŠããã®ã¯è¯ãããšã§ãããã®ãããç§ã¯è³ãå£ãå¿ èŠããããŸããã§ããã é©ããããšã«ãåã話ãå§ãŸããŸããã¢ãžã¥ãŒã«ãšã¯äœãããããã¯ãšã¯äœãã ç§ã¯ãŸã æç§æžãèªãã§ããªãã£ãã®ã§ãçããããäžåºŠæ³³ãã ã Railsã®é¢é£ä»ãã®ã¿ã€ãã«ã€ããŠããã«è³ªåããŸããã æåŸã«ãå°ãªããšãäœããç§ã¯èããŠãèšæ¶ãã3çš®ãåœåããŸããã ã€ã³ã¿ãã¥ã¢ãŒã¯ããã奜ãã§ã¯ãããŸããã§ããïŒåœŒãããã£ãšããããã§ãïŒã ãã§ãªããç§ãèšã£ãããšïŒãæ®ãã¯ããã¯ã«ç»ããŸããã ãããã圌ãã¯ç§ã«äžèšã§èª¬æããã¿ã¹ã¯-each_sliceã«ã€ããŠæããŠãããŸããã ãã®åŸããã§ã«ãåãã®ãšãããç· ãããããææ¡ããŸããã ã€ã³ã¿ãã¥ã¢ãŒã®1人ãã€ãã«åœŒã®éãè©Šãããšã«ããŸããããæåŸã®è³ªåããããŸããRackããã«ãŠã§ã¢ãæžããããšããããŸããïŒã 圌ãäœãèãããã£ãã®ãããããŸããã ç§ã¯æžããŠããªããšèšããŸãããããããäœã§ãããïŒJava Servletã®ãã£ã«ã¿ãŒããŸãã¯Laravel / Expressã®ããã«ãŠã§ã¢ãªã©ïŒãç¥ã£ãŠããã®ã§ãå¿ èŠã«å¿ããŠããã«ç解ã§ããŸãã ãããŠåã³ãããã¯åœŒãã«åããªãã£ãã®ã§ãç§ãã¡ã®äŒè©±ã¯çµãããŸãããç¹°ãè¿ããŸããããœãªã¥ãŒã·ã§ã³ã®æ§ç¯ãé¢é£åéã§ã®ç§ã®çµéšãç¥èã«èª°ãèå³ããããŸããã§ããã ç§ã¯åœŒããéé£ããŸããã ãã¶ãã圌ãã¯æ¬åœã«ã©ãã¯ããã«ãŠã§ã¢ã®æžãæ¹ãç¥ã£ãŠããããã°ã©ããæ¬åœã«å¿ èŠãšããŠãããããããŸããããå®éã圌ãã¯ã€ã³ã¿ãã¥ãŒãè¡ãæ¹æ³ãç¥ããªãã ãã ãšæããŸãã
2ã€ã®å€±æã®åŸãããã¯ããã§ã¯ãªãããšã«æ°ã¥ããçè«ãèªãå¿ èŠããããŸãã å°ããããããç¥ãå¿ èŠããããŸãã 誰ãç§ããã人ã ãšä¿¡ããŠæ®éã®ä»äºãããã ãã§ã¯ãªãã®ã§ã座ã£ãŠæç§æžãèªãã ã...
Ruby Developerã§ã®3åç®ã®ã€ã³ã¿ãã¥ãŒã ãã£ã ãªããã¯åã³äŒæäžãªã®ã§ãç°¡åãªéçºè ãç§ã«è©±ããŸããã ã¢ãžã¥ãŒã«ãšãããã¯ã«é¢ããåã質åã§ãããç§ã¯ãã§ã«å®å šã«è£ åãããŠããã®ã§ãæ£ããçããããŸãã ã€ã³ã¿ãã¥ã¢ãŒã¯ããã«é²ãã§ãProcãšã¯äœããå°ããŸãããããã§ã¯æ£ããçããåºããŸããããç§ã¯äœ¿ã£ãããšã¯ãããŸããã§ãã:)ãããã圌ã¯éãç ²ã䜿ãããšã«æ±ºãã質åãããŸããã¯ã©ã¹ãããã¯å¥ã®ãã®ããæ¡åŒµããããŸã ããã«ã¢ãžã¥ãŒã«ãšäœãä»ã®ãã®ããããŸãã ãããããç§ã¯ãŸã 100ïŒ ã®æ£è§£ãç¥ããªãã£ãã®ã§ãã©ããããããè«ççã«ã©ã®ãã§ãŒã³ã«ãã¹ãããæšæž¬ããããšããŸããã ååã ãšæããŸããã
次ã«ã次ã®ãããªå¥ã®è³ªåããããŸããããã©ã®ããã«äœæ¥ãå¿ èŠããã ãããã®äººãã¡ã¯ãã¯ãRailsã§ã¯ãªãGrapeãæã£ãŠããã®ã§ããããã圌ãã«ãšã£ãŠã¯é¢ä¿ããã£ãã®ã§ãããã ç§ã¯åã³çããŸããããç§ã¯ããã«ç¥ããŸããããããããããã奜ãã§ãããã奜ãã§ããã æ£ããæšæž¬ãããŠããªãããã§ãã 次ã«ããããã«ã³ãŒãããããŸãããäœãåºåããŸããïŒããªã©ã®è¬ã®è³ªåããããŸããã 次ã«ãActiveRecordã«ã€ããŠå°ãã話ãããŸãããããã§ã¯ãã»ãšãã©ãã¹ãŠãæ£ããçããŸããã
ãããã圌ã¯äžŠè¡æ§ã«ã€ããŠç§ã«å°ãå§ããŸãïŒããã§ããã¯ç§ã«ãšã£ãŠé¢çœããªããŸããïŒã Rubyã®ã©ã®äžŠè¡æ§ã¢ãã«ãæ£ç¢ºã«ããããªã-ãããç§ãçããæ¹æ³ã§ãã åæããªããã£ããã¢ãããã¯ããã¥ãŒããã¯ã¹ãªã©ã«ã€ããŠç¥ã£ãŠããããšãè¿œå ããŸããã MRIã§ã®ããªãã®ç«¶äºã¯JVMãšæ¯èŒããŠè ã£ãéã ãšã»ã®ãããããšããŸãããä»ã¯ã¡ã¢ãªã¢ãã«ãvolatileãšsynchronizedã®éãã«ã€ããŠã話ãããŸããShipilevãåŒçšããŸãããã€ã³ã¿ãã¥ã¢ãŒã«ãšã£ãŠã¯ããŸããããŸããã§ããã ããã«ã圌ã¯ãããžã§ã¯ãã§åœŒãã¯ïŒã§ããªãïŒïŒäžŠè¡æ§ã䜿çšããªãããšãèªããŸããã 誰ãèããã§ããããïŒ ãªãå°ããã®ã§ããïŒ
ãã®åŸããã¹ãã¯èªæ ¢ããŠãSOLIDã«ã€ããŠäœãç¥ã£ãŠããããšå°ããŸããã æ£ç¢ºãªåŸ©å·åãå¿ããŠããŸã£ããšèšãããã¹ãŠã®æå³ã¯ãããããæ®éã«ãã-ããã¯æ£åžžã ããšèš³ããããã¬ãŒã«ãœãªããã³ãŒããæžããã¹ãŠã®æ©èœãå€æ³šããŸããã ã€ã³ã¿ãã¥ã¢ãŒã¯ç§ã«åæããã建èšçãªå¯Ÿè©±ã«æåããŸããã§ããã ãããæµè¡èªã«ã€ããŠå°ããããå¯äžã®æéã§ããã ãã®åŸãããã€ãã®ã¢ãŒããã¯ãã£ãœãªã¥ãŒã·ã§ã³ãã¢ãããŒããªã©ã«ã€ããŠèª¬æããŸããã ãã®çµæãç§ã¯ç¶ç¶ããããšãèš±å¯ãããæçµçã«ãèšèªã®åºæ¬ãç¥ããªãããšæžãããç³ãåºãåãåããŸããã ããããããã«ã€ããŠã¯åŸã§ã
ããã3ã€ã®ã€ã³ã¿ãã¥ãŒããã©ã®ãããªçµè«ãå°ãåºãããšãã§ããŸããïŒ ãããã®éã§æ°æ¥ãçµéããŸããã ãã®éãç§ã¯æ°ãããããžã§ã¯ããäœæãããæ°ããç¥èãæ°ããçµéšãåãããç§ãããåªããéçºè ã«ãªããŸããã§ããã ç§ãããã ã£ãããã«ãç§ã¯ããã§ããç¶ããŸããïŒ å®éã«çè«ãç¥ã£ãŠããŠããç§ã«ã¯ãŸã£ããäœãè¿œå ãããŸããã§ããïŒãããã§ããããªããïŒã ãã ãäºåã«Cracking Ruby Interviewãèªã代ããã«ãç§ã¯èªåã§ãã¹ãŠã®çæãèžãããšã«ããŸããã ç§ã¯ãã®ãããªã€ã³ã¿ãã¥ãŒãããã«2ã3ååããç§ã®ãå°å³ãã¯èª°ã«ãçããåŒãèµ·ãããªããšæããŸãã
ããã«ããã€ãã®ã¹ããŒãªãŒãçŽç²ãªçè«ãšçµã³ä»ããŸãã
Fullstack Java Developerã«ã€ããŠã€ã³ã¿ãã¥ãŒãåããŸããã ããã¯ãšã³ããšããã³ããšã³ãã®2ã€ã®éšåã§æ§æããããšèŠåãããŸããã åŸè ã«ã€ããŠã¯ããŸãããããããªãã®ã§ããªã¯ã«ãŒã¿ãŒã«å ±åããŸãããã圌ãã¯å ã«é²ãããšã«ããŸããã OKãã¿ããªã«é£çµ¡ããŠãJavaããå§ããŸãããããããã®äººã ã¯ãŸããçŽç²ã«çè«çãªè³ªåãç§ããåŸãããšããŸããããããã³ããšã³ãèªèº«ã¯ã圌ãããã®ãããªå®éçãªã¿ã¹ã¯ãæã£ãŠããªãã£ãããšãèªããŸããã jQueryã®æåç·ã§ãããããã«åå ã§ããå¿ èŠããããŸãã ç§ã¯ã§ãããšèšã£ãŠãåé¡ã¯ãããŸãã:)
æ£çŽãªãšããã質åã¯çè«çã§ãå®çšçã§ããªããããçš®ã®éå±ãªè² æ ã§ããã ç§ãšè©±ãããŠãã人ã¯æ¬åœã«äœãå°ããã¹ããåãããªãã£ããšæããŸãã ããã«ãããããããã¹ãºã¡ãäœåºŠãæã£ãã®ã§ãç§ã¯ãããã¹ãã ãšçããŸããã
åã«è¡ããŸããã ããäžæ¹ã®ç«¯ã«ã¯ãçŽç²ã«ããã³ããšã³ãããããŸããã 圌ã¯éå»ã®çµéšã«ã€ããŠç§ã«å°ãå§ãããã®åŸãundefinedãnullãšæ¯èŒãããå Žåã«äœãèµ·ããããscopeãšvarãã©ã®ããã«æ©èœããããªã©ãè¬è§£ãã«åãæ¿ããŸããã JSã®ããã©ã«ãã®è³ªåãããã€ãè¿œå ããåã³WATã®è³ªåã«åãæ¿ããŸããã ç§ã¯ããã«èšããŸããããèããŠãã ãããç§ã®äººçã§ããªãã®WATãæ±ã£ãããšã¯ãããŸããã æ¬åœã«å¿ èŠãªå Žåã¯ãã°ãŒã°ã«ã§æ€çŽ¢ããŸããããã®ç¥èã¯ãåžœåããã¶ã£ãç·ãã¡ãšç¬ã以å€ã«ãã©ãã«ãåœãŠã¯ãŸããšã¯æããŸãããã ã€ã³ã¿ãã¥ã¢ãŒã¯ç§ã«åæããããããã§ãããºã«ã®è³ªåããç¶ããã æåŸã«ã圌ã¯ãJavaScriptïŒThe Good Partsããšããæ¬ãèªãããã«å©èšããŸããããã®åŸãç§ã¯ãŸã ãããŒãžã£ãŒãšå¥ãã«ã€ããŠè©±ããŸããã
ç§ã¯ããã«ç§ã«ãµãããããšç¥ãããã圌ãã¯é¡§å®¢ãšã®ã€ã³ã¿ãã¥ãŒãäºå®ããŠããŸããã ãã°ããããŠã圌ãã¯åã³é£çµ¡ãåãã顧客ã¯ããã³ããšã³ãã®ç§ã®ç¥èã«æºè¶³ããŠããªããšèšããŸããïŒïŒïŒãã¹ãŠå€§äžå€«ã§ãã ãã®åŸã誰ãç§ã«æçŽãæžããŸããã§ããã ããããçŽåŸããŠããªã:)
ãŸã ããã¹ããè¡ã£ãDevOps Engineerã®ã€ã³ã¿ãã¥ãŒããããŸãã ã äŒè©±ã«è¡ããã€ã³ã¿ãã¥ã¢ãŒã¯ããµãããããã¹ã¯ãšã¯äœã§ããïŒããšå°ããŸããã ãã®æãç§ã¯æã«èœã¡ãŸãã:)ç§ã¯ããããµããããã¢ãã¬ã¹ã瀺ãæ°åã®æ°ã§ãããä»ã®ãã¹ãŠãç¯å²ã§ãããšèšããŸããã ããããç§ã¯ãããã©ããããèŠããŠããŸãããç§ã¯é·ãéãããã¯ãŒã¯ãã»ããã¢ããããŠããŸããã ã€ã³ã¿ãã¥ã¢ãŒãé©åã§ããããšãå€æããæ£ããçãã«å°ããããã®ãããªç°¡åãªè³ªåã«ããã«æ£ããçããåºãããšãã§ããªããšããäºå®ã«æ³šæãæããªãã£ãããšã¯è¯ãããšã§ãã ããã«ãã€ã³ã¿ãã¥ãŒã¯çè«çãªè³ªåãªãã§è¡ãããŸããã ïŒãœããšãã®çµæŽã¯ãããã®ã®ïŒã€ã³ã¿ãã¥ãŒå¯Ÿè±¡è ãåã³å¥ã®åœããæ¥ãããšã«èšåãã䟡å€ã¯ãããŸããïŒç§ã¯ã圌ãããã¶ã€ã³ãã¿ãŒã³ã«ã€ããŠã®è³ªåããããããšã«é©ããŸããïŒMVCã®å Žåãé€ãïŒãåèšã§ïŒããïŒ5ã10幎åãæåéãåã€ã³ã¿ãã¥ãŒã§åœŒãã¯ãã¿ãŒã³ã®ç¥èããã§ãã¯ããŸããããã以æ¥ãç§ã¯ãããã®ã»ãšãã©ãã¹ãŠïŒGoFããïŒãèšå¿µåãšããŠç¥ã£ãŠãããçŽã«ããããå®è£ ããããšãã§ããŸããããããä»å¹Žããã¹ãŠã®ã€ã³ã¿ãã¥ãŒã®äžã§ããã³ãã¬ãŒãã«é¢ãã質åã1ã€ãåãåããŸããã§ãããRubyéçºè ã¯ãããããŸã ç解ã§ããŸã-圌ãã¯ãããã圌ãã«ã€ããŠäœãç¥ããªãã§ãããïŒåœŒãã¯MVCãšActiveRecordãæã£ãŠããã®ã§ååã§ãïŒãããããJavaã®ã€ã³ã¿ãã¥ãŒã§ãã®ãããªè³ªåããªãã£ãããšã¯æ¬åœã«é©ããŸããã
SOLIDã«ã€ããŠã¯ã圌ãã¯ãã£ã2åããå°ããªãã£ãããã§ããRubyã®è·ã«1åãJavaã«2åç®ãDRYã«ã€ããŠã¯å°ããŸããã§ãã:)
ãã®ãã¹ãŠããã©ã®ãããªçµè«ãåŒãåºãããšãã§ããŸããïŒ
- 圌ãã¯ãŸã çè«ãç¹ã«ç§ãã¡ã®åèã«è³ªåããã®ã奜ãã§ãã
- çè«ã®ç¥èã¯å®è·µã®ç¥èãä¿èšŒãããã®ã§ã¯ãªããããçè«ã«ã¿ã¹ã¯ãè¿œå ããããšã奜ã¿ãŸãã
- 質åã«çããããåé¡ã解決ãããããèœåã¯ã人ãããã°ã©ãã³ã°ã®æ¹æ³ãç¥ã£ãŠããããšãä¿èšŒãããã®ã§ã¯ãããŸããã
- çè«ãåé¡è§£æ±ºçã®ãããã¡ã€ã«ãç¥ããªããŠããéçºè ãæªããšããããã§ã¯ãããŸããã
ãããã£ãŠããããã©ããªã«ç¡æå³ã§ãã£ãŠããç§ã¯ããªãã«ã¢ããã€ã¹ããŸãïŒ
- / . , . : « -AOP AspectJ Spring?» :) , , .
- LeetCode , .
ç¹°ãè¿ãã«ãªããŸãããå€ãã®ããã¹ãããããŸããçãããèå³ãæã£ãŠããããšãé¡ã£ãŠããŸãã次ã®ããŒãã§ã¯ãéå»ã®çµéšã«é¢ãã質åãã·ã¹ãã èšèšã«é¢ãã質åããèããŠèããããšãã質åããã®ä»ã®é©åãªæè¡é¢æ¥ã®ãããªãã®ã«ã€ããŠã話ããŸããç§ã®é»å ±ãã£ãã«
ã賌èªããããšãå¿ããªãã§ãã ããïŒç§ã¯ããã«å°ããªããã¹ããæžããŠããŸãããããããé¢çœãã§ãïŒããã³ãã¬ãããèªã¿ã«è¡ãã次ã®èšäºãèŠãŠãã ããïŒ