Evil Martiansã® Andrey Sitnikã¯ãããã³ããšã³ãã§æãæåãªãã·ã¢ã®ååã®1ã€ã§ãã圌ã®ãããžã§ã¯ãPostCSSããã³Autoprefixerã§ã¯ãäœäžãã®GitHubã¹ã¿ãŒãå ããŠããŸãã ããããã¢ã³ãã¬ã€ã¯ãã¥ãŒãšãŒã¯ã«äœãã§ããŠãäžçäžãæ ããŠããã®ã§ããã·ã¢ã§åœŒãèŠã€ããããšã¯ãã£ãã«ãããŸããã
5æã«ã¯ãHolyJSäŒè°ã§ãµã³ã¯ãããã«ãã«ã¯ã«æ»åšããHolyJSããã°ã©ã å§å¡äŒã®ã¡ã³ããŒã§ããDmitry Dmitry Makhnev MakhnevãšMaxim Yuzvaãããã«ã€ããŠè©³ããå°ããŸããã Andreiãããã³ããšã³ããåæ»ããŠãããšèãããªãç§ãã¡ã®ãããžã§ã¯ãã®ã³ãŒããèšåŒµããããŠãããšæããŸããïŒ ååœã®ITã³ãã¥ããã£ã®éãã¯äœã§ããïŒ è±èªãåŠã¶æ¹æ³ãšããªããããèŠãããããéèŠã§ãªãã®ã§ããïŒ 2016幎ã«HolyJSã§çºè¡šãããLoguxãããžã§ã¯ãã¯ã©ãã«æ»ããŸãããïŒ
çŸåšã®ãããžã§ã¯ãã«ã€ããŠ
ããããªãŒïŒæåã«ãããªãèªèº«ã«ã€ããŠç°¡åã«æããŠãã ãããããªãã¯ã©ãã«ããŠäœãããŠããã®ã§ããã
AndreiïŒç§ã®ååã¯Andrei Sitnikã§ããç§ã¯ãã¥ãŒãšãŒã¯ã«äœãã§ããŸãããæ è¡ãããããããŠããŸãã ã»ãšãã©ã®å Žåã圌ãã¯ãªãŒãã³ãœãŒã¹ãšããã©ãŒãã³ã¹ã§ç§ãç¥ã£ãŠããŸããä»ã§ã¯ãITåéã®ã¡ãã£ã¢ãã©ã³ãããšèšãã®ãäžè¬çã§ãã æ¬åœã«ãµãããããšã¯èšããŸããããéã¯ç§ã«è²¢ç®ããŸããã
ãªãŒãã³ãœãŒã¹ã«å ããŠãTwitter @ LinguoPunk ã @ LostInWikiã®ãŠã£ãããã£ã¢ãæ§çå®èšŒäž»çŸ©ã®æŠãã§èšèªã®å€æ§æ§ãä¿é²ããŠããŸãã
ããããªãŒïŒçŸåšåãçµãã§ãããããžã§ã¯ãã¯äœã§ããïŒ
AndrewïŒãªãŒãã³ãœãŒã¹ã«ã¯ããã€ãã®ãµããŒããããžã§ã¯ãããããæãæåãªã®ã¯PostCSSãšAutoprefixerã§ãã ãããããPostCSSããããã«ã¢ã¯ãã£ãã«ãªã£ãŠããå¯èœæ§ããããŸããAlexeyBondarenkoã¯APIã«å¯ŸããŠéåžžã«å€§ããªæŽæ°ãè¡ã£ãããããŸããªã倧ããªãªãªãŒã¹ãè¡ãããå¯èœæ§ããããŸãã
Autoprefixerã¯ãªãªãŒã¹ããµããŒãããŠããŸãã ç§ãã¡ãçŸåšç©æ¥µçã«èŠãŠããã®ã¯IE 10-11ã®ã°ãªãããµããŒãã ãã§ãããã°ãªãããç©æ¥µçã«æšé²ããŠããã¬ã€ãã§ã«ã»ã¢ã³ããªã¥ãŒã®æµæã®ããã«ããŸããããŸããã 圌女ã¯éåžžã«æåãªäººç©ã§ãããCSSã§èªåçã«äœããè¡ãããŒã«ã奜ãã§ã¯ãããŸããããã®ãããªå®æçãªéäºã§ãã å察ã«ãæ®å¿µãªãããã®æ©èœã¯ç¹ã«æ®åããŸããã§ããã
ããããªãŒïŒã¬ã€ãã§ã«ã¯æ¥œåšãäœãã®ãã©ã®ããã«æ¢ããããšãã§ããŸããïŒ
AndrewïŒãã®ããŒã«ã¯äœãéªéãããåäœããŸãã ãããããªãŒãã³ãœãŒã¹ã¯ããã°ã©ãã³ã°ã«é¢ãããã®ã§ã¯ãªãããªãŒãã³ãœãŒã¹ã¯ç€ŸäŒãšç€ŸäŒåã«é¢ãããã®ã§ãã 誰ãããªãã®è£œåã䜿çšããããã¡ãã£ã¢ã«ã€ããŠèªã£ããããªãå Žåããããããåæ©ã¯ãããŸããã ãã®çµæãããããã£ãéçºè ã®ã¢ãããŒã·ã§ã³ã«ã¶ã€ããããããç¶ããŠããŸãã 圌ãã®ããã€ãºã ã«ã€ããŠè©±ã人ã¯ã»ãšãã©ããŸãããã圌ãã¯ãŸã å倧ãªä»²éã§ãããæ¬åœã®ããŒããŒã§ãã
å®éãç§ãã¡ã¯ç§ãã¡ãæã¿ããããŠã§ãããã¹ãŠãå®è£ ããŸããããã®ä»æ§ã§ã¯äžè¬çã«äžå¯èœãªèªåã°ãªããã®ãµããŒãã§ã¯ã¬ã€ãžãŒãªã¢ã€ãã¢ãããããŸãããã»ã¬ã¯ã¿ãŒã®éæ³ã®å·§åŠãªçµã¿åããã®å©ããåããŠãããè¡ãæ¹æ³ãèŠã€ããŸããã
äžè¬ã«ãPostCSSãšAutoprefixerã¯ãµããŒããããŠãããè¿œå ãããæ©èœã¯ã»ãšãã©ãªããã»ãšãã©ãå°ããªæ©èœã§ãããLoguxã¯ç©æ¥µçã«éçºããŠããŸãã ãããŠä»å¹Žã¯ãç¹å®ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ããããèšäºã«å°å¿µããããšæããŸãã
ããããªãŒïŒè§£éãããããããŸãããã2016幎ã®HolyJSã§ã®ãã¬ãŒã³ããŒã·ã§ã³åŸã®Loguxã«ã€ããŠã¯ã圌ã«äœãèµ·ãã£ãã®ããæ¬åœã«èããŠããŸãããïŒ
ã¢ã³ããªã¥ãŒïŒããã¯éåžžã«èå³æ·±ããããã¯ãæèµ·ããã®ã§ãè¯ã質åã§ãã å®éã«ã¯ããœãããŠã§ã¢ãé åžããããŸããŸãªæ¹æ³ããããŸãã
ãªãŒãã³ãœãŒã¹ã®äœ¿çšã¯ãäœããã®åççãªææ決å®ã§ã¯ãããŸããã ãœãããŠã§ã¢éçºã¯ããã¡ãã·ã§ã³æ¥çã«ãã£ãŠæããã説æãããŠããŸãã æè¡çãªéžæã¯ããŸããã¡ãã·ã§ã³ãèªå€§åºåãªã©ã§ãã
ãããã£ãŠãæ°ãããœãªã¥ãŒã·ã§ã³ãä¿é²ããããã®æŠç¥ãããã€ããããŸãã ããšãã°ãäœãã衚瀺ãããŠãæ£åžžã«æ©èœããŸãããã巚倧ãªãã®ãèŠéãæããããããã人ã ã¯ããã«èªå€§åºåã®åè»ã«ä¹ã£ãŠãã®ããããåã£ãŠäœæ¥ç¶æ ã«ããŸãã
è¯ãæå³ã§ã人æ°ã®ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®åå以äžã¯ããããããããã«æžãããŠããŸãã ãããããããã®åšãã®èªå€§åºåã¯ãã³ãŒãã®å質ãšäž»å¬è ããã®ãµããŒãã®ã¬ãã«ãšå®å šã«ççŸããŠããŸãã ããããå€ãã®äººãããã«èªå€§å®£äŒã®åè»ã«åº§ã£ãã®ã§ããããžã§ã¯ãã¯çãæ®ããååšãç¶ããŸããã
ããšãã°ãBabelãã©ã°ã€ã³ã«ã¯éåææ§ã¯ãããŸããã ãã©ã°ã€ã³å ã§éåæé¢æ°ãäœæããããšã¯ã§ããŸãããããã¯ã²ã©ãåé¡ã§ãã巚倧ãªBabelã¢ããªã±ãŒã·ã§ã³åžå Žãã²ã©ãå¶éããŠãããããã©ã®ããã«æ¬çªç°å¢ã«å ¥ã£ãã®ãããããŸããã ãããã圌ãæžãããã®ã¯ã圌ã®å»ºç¯ã§ãã ããã«ã«ã¯ããããã®æ¥œãã¿ããããŸãã
ããã¯åºãŸã1ã€ã®æ¹æ³ã§ãããææ¥ãŸã§ã«åŠã°ãªããã°ããã¹ãŠããªããªã£ãŠããŸããŸãããã¹ãŠã«ã¯ãåžå Žã«ã¯ãã®æè¡ã§3幎ã®çµéšãæã€äººãå¿ èŠã§ããã ããããå¥ã®æ¹æ³ããããŸãã äŸãã°ãReactã§ã¯ã圌ãã¯ãããç°ãªã£ãŠè¡ããŸããïŒæåã«åœŒãã¯åœŒãã®ç°å¢ã§ã調çãããããããå€ããå°ãªããæ¬çªã®æºåãã§ãããããžã§ã¯ããæ瀺ããŸããã ãã¡ãããæªè§£æ±ºã®åé¡ã¯ã圌ãã©ã®çšåºŠæ£ç¢ºã«æ¬çªã®æºåãã§ããŠãããã§ããããã¬ãŒã ã¯ãŒã¯ã®100ïŒ æºåãæŽã£ãŠããªãããšã¯æããã§ãã
Loguxã¯ãã¯ã©ã€ã¢ã³ã/ãµãŒããŒéä¿¡ã·ã¹ãã ã§ãã GraphQLã§ããããšAjaxã§ããããšãã¯ãšãªã®ã¢ã€ãã¢ã¯äžå®å®ãªã€ã³ã¿ãŒãããåãã§ã¯ãªãããããããããããªç¶æ³ã§æ©èœããŸã-ããã¯ã»ãšãã©ã®ãµã€ãã®æ¢ç¥ã®åé¡ã§ãã Loguxã¯å¥ã®ã¢ãããŒãã§ããããã®çµæãæè¡çã«ã¯éåžžã«å€§ããªãœãªã¥ãŒã·ã§ã³ã§ãã ã¢ã€ãã¢ã¯æ°ãããã®ã§ã¯ãªãããã®ãããªè§£æ±ºçã¯ãããããããŸããããããã¯å€±æããå¿é ããŸããã GraphQLã§ãããã²ã©ãããã¿ã§äœãããŠããŸããã
ç§ã®æèŠã§ã¯ããã®çš®ã®ã¿ã¹ã¯ã«ã¯èªå€§åºåãã¬ã€ã³ã¯æ©èœããŸããã 誰ããããã«ã¶ã€ãã£ãŠãã¹ãŠãããŸãããããã«æ±ºå®ããããšã¯ã§ããŸããã ããã³ããšã³ããšããã¯ãšã³ãã«ãœãªã¥ãŒã·ã§ã³ãããã«æäŸãããšããèªå€§åºåã®åè»ã§ãã¹ãŠã解ãããšãããšãã³ãã¥ããã£éã®å¯Ÿç«ã«ã€ãªãããŸãã
ãã®ãããLoguxã§ã¯ãããè¡ããªãããšã«ããŸãããããããžã§ã¯ãå ã§æ éã«ãã£ãããšæºåããŸãã ä»å¹Žã2幎ãç§ãã¡ã¯Ampliferå ã§Loguxã調çããããŸããŸãªãããžã§ã¯ãã§äœ¿çšããback-dersãã©ã®ããã«åå¿ããããèŠãŸããã ç§ã¯èª¬æããèŠããããšããŸããããDima Salakhutdinovã¯Ruby-confuã«è¡ã£ãŠLoguxã«ã€ããŠè©±ããããããã©ã®ããã«åå¿ããããã¯ãšã³ãã«ã©ã®ããã«ãããäžãããã確èªããŸãã ãããã¯èªå€§åºåã ããšãã粟ç¥ã§ããã³ããšã³ããã³ããŒã«ç§ãã¡ã®èšãããšãäŒããã®ã¯ééã£ãŠããã®ã§ãããã§ã¯ããŸããããŸããã
ããããªãŒïŒãªãæ©èœããªãã®ã§ããïŒ
AndrewïŒããã¯ãšã³ãã¯åæ»ãŸãã¯ãµããŒãã®ããããã®ã·ã¹ãã ã«åãæ¿ããŸãããè¿å¹Žãéçºã¯ã»ãšãã©è¡ãããŠããŸããã ãã®çµæãåªå é äœãç°ãªããŸãã6ãæããšã«æ°ãããã¬ãŒã ã¯ãŒã¯ããªããšã圱é¿ãåããŸãã Rust or Goã®ã©ããã«ãããŸãããRuby-äœãæ°ããã®ã§ããããïŒ ãã®çµæã人ã ã¯ä»ã®ããšã«éäžããŸãã ãã¡ãããç§ã¯å€§å¹ ã«ç°¡çŽ åããããã¯ãšã³ãããã¯ãšã³ãã¯ç°ãªããŸãã
ãããããã¯ãšã³ããšã¯ã©ã€ã¢ã³ãã«æ£ããé åžãããã®ã§ãå®éã«åäœããæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ãæäŸããããšæããŸãã 2017-2018幎ã«ã¯ãæ¢ã«0.2ã®äœæ¥ããŒãžã§ã³ããããŸããããã¹ã±ãŒã©ããªãã£ã¯ãããŸããã§ããã ã¹ã±ãŒãªã³ã°ã®æ¹æ³ã¯èããŠããŸããããPRã«ã¯ååã§ããããå®éã¯ééã£ãŠããŸãã
代ããã«ãçè«äžã§ã¯ãªãå®éã®ã¹ã±ãŒã©ããªãã£ã®åé¡ã«å¯ŸåŠããŸããããã¯ããããããªãã«ãšã£ãŠç解ã§ãããã©ã®æç¹ã§ããããªããã§ãã ãŸããLoguxã§ã¯ãã·ã¹ãã ãçå£ã«æŽ»çšããŸãããããšãã°ãäžåºŠã«è€æ°ã®ãµãŒããŒã§ãµãŒããŒãç°¡åã«äžããããšãã§ãã1ã€ã®ã³ãã³ãã§ãã®æ°ãå¢ããããšãã§ããŸãã
å®éã®åæãã§ãããŸã§ãããè¡ãã®ã¯ç¡æå³ã§ãã ããããªããšããã©ã°ã®å ¥æå Žæãããããªãããã§ãã 奜ããªã ãæ¡å€§çž®å°ã§ããŸãããæ¡å€§çž®å°ããªãå Žæã1ã€ããããšãããããŸãã ãã®ãããã¹ã±ãŒãªã³ã°ã®æºåãæ¬åœã«æŽã£ãã³ãŒããšèšå€§ãªæ°ã®åæããããŸããã©ã®ããã«ãã©ã®ãããã®æéãè²»ããããªã¯ãšã¹ããäœä»¶å ¥ã£ãŠãããããã©ã°ã®éå§äœçœ®ã確èªã§ããŸãã ããšãã°ã1ç§ãããã®æäœã®æ°ãŸãã¯ãŠãŒã¶ãŒã®æ°ã«ãã£ãŠããµãŒããŒäžã®ãã®ãã¹ãŠãç°ãªãæ¹æ³ã§è§£æ±ºãããŸãã
ããããªãŒïŒããã¯ååã«èå³æ·±ãã§ããã ãããŠãç§ãç解ããŠããããã«ãèšç»ã¯è¿ãå°æ¥ã«ååãªå€§ããã§ããïŒ
AndreiïŒã¯ãããã§ã«å®çšçãªã¢ããªã±ãŒã·ã§ã³ã®èšç»ãå®äºããŠããŸãã0.3ããªãªãŒã¹ãã倧éã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯äžååãªããã¯ãäœæããŸãã ãããŠãã³ãŒãã¯è¯ãã§ãã
Nano IDãšé«éã€ã³ã¿ãŒãããã«ã€ããŠ
ããããªãŒïŒããªãã¯ã€ã³ã¿ãŒãããæ¥ç¶ã®è©±é¡ã«è§ŠããŸããïŒèª°ããç§ãã¡ã®ã€ã³ã¿ãŒããããå®å®ããŠããŠè¯ããšããäºå®ã«æ £ããŠããŸãããå®éã«ã¯ãã¹ãŠãå®å šã«ééã£ãŠããŸãã ãããŠãããã§ã¯ãã³ãã«ã®ãµã€ãºãªã©ã«æ³šæãæããªãããšã¯äžå¯èœã§ãããããžã§ã¯ãNano IDãèŠããŠãããŠãã ããã ã©ãããŠãããªã«æ°ã«ããã®ïŒ ãµã€ãºããå§ããŸãããã
ã¢ã³ããªã¥ãŒïŒèª°ããéåžžã®ã€ã³ã¿ãŒããããæã£ãŠãããšããããã¯ãããããç¯çŽãããããã«æããŸãããïŒ ãã質åã§ãã
Nano IDã¯ãIDãçæãã141ãã€ãã®ã©ã€ãã©ãªã§ãã 200ãã€ãããæžããããšããããã¯å®çšçãªæå³ããªããŸããã§ãããããããèããæãæ¥ããšãããæ¿æ²»çãããã§ã¹ããã§ããã
JSãµã€ãºã¯èå³æ·±ãåé¡ã§ãã 第äžã«ãã³ã³ãã€ã©ã¯ããã解決ããŸããããéãåæ§ã§ããã»ãšãã©ã®ãã³ãã©ãŒã¯ã誀ã£ãŠçµåãããããµã€ãºãå€§å¹ ã«å¢ãããããéå¹ççã«äœ¿çšãããããŸãã
ãããŠãã€ã³ã¿ãŒãããæ¥ç¶ã®é床ãåäžããŠãããšããäºå®ã¯çå®ã§ãããåæã«ããã§ã¯ãããŸããã ã€ã³ã¿ãŒããããå éãããšããã«ãååœã¯ãããšãã°äžå€®ã¢ããªã«ãªã©ããã¹ãŠãéåžžã«æªãå Žæã§ãããšå®£èšããŸãã ãŸããã¢ãã€ã«ãªã©ã®æ°ããåžå Žãç»å ŽããŸãã ãŸãã泚æãå¿ èŠãªåé¡ããããŸããããŠã³ããŒãé床ã¯åäžããŠããŸããããµã€ãã®èªã¿èŸŒã¿ã¯éããããŸããã ãµã€ãã®ããŒãžãµã€ãºããããã¯ãŒã¯é床ã§é€ç®ãããšããã¹ãŠããã°ããéãLTEã確èªã§ããŸãã
åé¡ã¯ãå®éã®ãµã€ãã®èªã¿èŸŒã¿é床ãä»ã®ãã©ã¡ãŒã¿ãŒã«äŸåããããšã§ãã ããšãã°ãã©ãŠã³ãããªããã®æ° ã äºå®ã¯ãä¿¡å·ãå°çããŠæ»ã£ããšãã«ãèŠæ±ãšæåã®ãã€ãã®éã§å¿ ç¶çã«æéãçµéããããšã§ãã ãã®æéã¯éåžžã«é·ããæ倧500 msã§ãã 第äžã«ãå ã®é床ã®ããã«ã第äºã«ãæ©åšãé ãã§ãã ãŸãããã¡ã€ã«ãçžäºã«ããŒãããããšããµã€ãã®é床ãäœäžããŸãã
幞ããªããšã«ãç§ãã¡ã¯ãã£ãšåã«ãã®åé¡ãçºèŠãããã®è§£æ±ºæ¹æ³ãåŠã³ãŸããã ãããã圌女ã ãã§ã¯ãããŸããã æè¿ãå¥ã®åé¡ã«ééããŸãããåé¡ã¯ã€ã³ã¿ãŒãããäžã§ã¯ãªããã³ã³ãã€ã«ã®é床ã«ããããšãå€æããŸããã å®éã®ãšããã1ã¡ã¬ãã€ãã®åçã¯ããŠã³ããŒãããŠè¡šç€ºããã®ãç°¡åã§ããã1ã¡ã¬ãã€ãã®JavaScriptã¯ã³ã³ãã€ã«ããå¿ èŠãããããããã©ãŠã¶ã«ãšã£ãŠ2ã3åéãã§ãã ãããŠãJSã®æ°ã¯å¢ãç¶ããŠããŸãã ãããŠãããã¯äœéãµã€ãã®å®¢èŠ³çãªåé¡ã§ãã
ãšã³ããããŒæ³ã䜿çšããŠããµã€ãã調æ»ããåé¡ã«å·§åŠã«ã¢ãããŒãã§ããŸãã ééã1 MBã®Webãµã€ãããããŸãã ãæ å ±éããšããæŠå¿µããããŸãã ã¡ã¬ãã€ãã¯åãªãè¡æ°ã§ã¯ãªãããã®ã³ãŒãã«å«ãŸããæå³ã®å€§ããã§ãã ãŸãã1 MBãå¿ èŠãšãããµã€ãã®è€éãã¯ã©ã®çšåºŠã§ããããïŒ ãµã€ãã«ã¯æ¬åœã«å€ãã®ãŠãŒã¶ãŒã±ãŒã¹ããããããããã«ããŒããããã«èšå€§ãªéã®ã³ãŒããå¿ èŠã§ããïŒ
å®éããã®ãããªã±ãŒã¹ã¯ã»ãšãã©ãããŸããã Linuxã«ãŒãã«ã«ã¯éåžžã«å€ãã®ãã®ãå¿ èŠã§ããããµã€ãã«ã¯å¿ èŠãããŸããã ãããã£ãŠãåé·ã³ãŒãããããããããŸãã
Nano IDã®åãã®æå³ã¯ããã¹ãŠã®ãã€ããç¯çŽããããšã§ã¯ãªããããã³ãã«ã«äœãå«ãŸããŠããã®ãããšèããããšã§ãã ããã«1 MBããã®ã¯äœã§ããïŒ ãã®ãããªããªã¥ãŒã ãå¿ èŠã«ãªãã¿ã¹ã¯ã¯ãããŸãããã ã»ãšãã©ã®ãµã€ãã§ã¯ãã³ãŒãã®75ïŒ ã䜿çšãããŠããŸããã Nano IDã¯ããŠãŒã¶ãŒã«ãã®ã³ãŒããéä¿¡ããããšã«å察ããåãã§ãã
ãªãããã»ã©å€ãã®ã³ãŒãã䜿çšãããªãã®ããèãå§ãããšãããã巚倧ãªããŒã ã§ãªããã°ã1ã¡ã¬ãã€ãã®ã³ãŒããæåã§æžãããšãã§ããªãããšãããããŸãã ããã¯ãé·å¹Žã«ããã£ãŠèšè¿°ã§ããåŸæ¥ã®ãæŠäºãšå¹³åããããå€ããåæã«çžäºäŸåé¢ä¿ã®ããã«ã³ãŒãã®èšè¿°ã¯ã¯ããã«å°é£ã§ãã
ã»ãšãã©ã®å Žåããã®ããªã¥ãŒã ã¯ã©ã€ãã©ãªã§ãã Moment.jsã®æåãªã¹ããŒãªãŒïŒããªãã¯ãããã€ãªããwebpackæäœã®ç¹æ§ã®ããã«ãããã¯ããªãã®ãŠã§ããµã€ãã«ãã¹ãŠã®èšèªãããŒãããŸã ã ãããŠãå€ãã®åæ§ã®ã±ãŒã¹ããããŸãã
ãã€ãŠãLoguxã§äžæã®IDãçæããå¿ èŠããããŸãããã©ã€ãã©ãªãååŸãããšããã®ééã100 KBã§ããããšãããããŸããã ã©ã³ãã IDãçæããã®ã«ãªããããªã«å¿ èŠãªã®ã§ããïŒ
ãã®ãããªãµã€ãºã¯ãã»ãšãã©ã®å Žåãã©ã€ãã©ãªéçºè ããããã®ã¹ãã«ãééããŠãããšããäºå®ã«ãããã®ã§ãã ãããã£ãŠãäž»ãªã¢ã€ãã¢ã¯ãã©ã€ãã©ãªéçºè ãããââãžã§ã¯ãã®ãµã€ãºãå¶åŸ¡ã§ããããã«ã ãµã€ãºå¶éã䜿çšããããšã§ãã ESLintã®ããã«ãã¡ããã©ã©ã€ãã©ãªãµã€ãºã®ããã ãããŠãèšå€§ãªæ°ã®ã©ã€ãã©ãªãååã«ãªãããšãããã«ããããŸãã
ããããªãŒïŒè³ªåã¯ã³ãŒãã®ãµã€ãºã ãã§ãªããéçºããŒã«ã®ã¢ãããŒãã«é¢ãããã®ã§ããªãããã«æãããŸãããïŒ ã©ã€ãã©ãªãåå¥ã®é¢æ°ã®ä»£ããã«ãªããžã§ã¯ããšããŠãšã¯ã¹ããŒãããGoogleã¯ããŒãžã£ãŒã³ã³ãã€ã©ãèªåã®ãªã¹ã¯ã§æ¥ç¶ããªãå Žåã誰ãç§ãã«ããããŸããã åé¡ã¯ãåã«ã³ãŒããæžãããšãããæ·±ãã®ã§ããããïŒ
AndrewïŒããªãŒã·ã§ãŒãã³ã°ã®åé¡ã¯ãJavaScriptã§ã¯æ©èœããªããããæ¬åœã«é¢é£ããããšã¯èšããŸããã 誰ãããã©ã€ã·ã£ãã·ã³ã°ãåé¡ã解決ãããšèããŠããŸãããéããŸãã æãäžè¬çãªåé¡ã¯ç°ãªããŸãïŒããã±ãŒãžãäœãããŠãããã Rollupã䜿çšããŠããããžã§ã¯ãå šäœã1ã€ã®ãã¡ã€ã«ã«ããã¯ããŸããããšãã°ãäŸåé¢ä¿ãããã«ããã¯ãããŠããããšãããããŸãã ããã¯å€§ããªåé¡ã§ãããSize Limitã®å©ããåããŠãåãããžã§ã¯ãã§ç¹°ãè¿ãããå¯èœæ§ã®ããäŸåé¢ä¿ãåé€ããããã1ã€ã®ã©ã€ãã©ãªãå€§å¹ ã«åæžããŸããã
2çªç®ã®åé¡ã¯ãNode.jsã®APIã誀ã£ãŠäœ¿çšããããšã§ãã ããšãã°ã choo.jsã©ã€ãã©ãªïŒãã³ã³ãã¯ãJSãã¬ãŒã ã¯ãŒã¯ãïŒããããNode.jsã¢ãµãŒãã¢ãžã¥ãŒã«ã䜿çšããŠçä¿¡åŒæ°ããã§ãã¯ãããŸããã ãããŠãã»ãŒ4 KBãããŒãããŸãã ãããŠãå°ããªã©ã€ãã©ãªã®ããã«ãè¿œå ã®4 KBãåºè·ããŠããŸãã
ãããŠããã®ãããªåé¡ã¯ãããªãŒã·ã§ã€ãã³ã°ã䜿çšããããã®ãããã¯ããã«äžè¬çã§ãã
ãã©ã€ã·ã§ãŒã¯ã®æåã®æšå¥šäºé ã¯ãã¢ã»ã³ããªå ã®ãã¡ã€ã«ãåå²ããå¥ã ã®ãã¡ã€ã«ã«å¥ã ã®é¢æ°ã眮ãããšã§ãã ããããã»ãšãã©ã®å Žåãåé¡ã¯ç°ãªããŸãã --whyãªãã·ã§ã³ãæå®ããŠSize Limitãå®è¡ããã ãã§ãã¢ãžã¥ãŒã«ã䜿çšãããšãã«webpackãåã蟌ã倧éã®ãŽãã確èªã§ããŸãã
ããã·ã ïŒãããããã¢ã»ã³ããªã«webpackã䜿çšããã®ã¯æªããããŒã§ããïŒ
ã¢ã³ããªã¥ãŒïŒäœã話ããèŠãŠãã ã©ã€ãã©ãªãäœæããå Žåãã»ãšãã©ã®å Žåwebpackã¯å¿ èŠãããŸããã å¥ã®ãã¡ã€ã«ãå¿ èŠãªãŠãŒã¶ãŒã¯1ïŒ æªæºã§ãããåæã«å¥ã®ãã¡ã€ã«ãžã®ãªã³ã¯ãšããŠã©ã€ãã©ãªãæ¿å ¥ãããšããµã€ãã®é床ãäœäžãããããwebpackã䜿çšããããã«åŒ·å¶ããããšããå§ãããŸãã
ããããã©ã®ãŠãŒã¶ãŒãããªãã®ã©ã€ãã©ãªãåéããããã©ã®ãŠãŒã¶ãŒããµã€ããåéãããã¯ãå®éã«ã¯éãã¯ãããŸããã ããã³ããšã³ãã§ã¯ãã©ã€ãã©ãªã誀ã£ãŠäœ¿çšãããšãã¹ãŠãæªããªããä»æ¥webpackããParcelã«åãæ¿ããªããã°ãã¹ãŠãå¥ãã貧ããéçºè ã§ããããšã«æ £ããŠããŸãã ããããæ£çŽã«èšããšãããŒã«ã«ã€ããŠã¯æ°ã«ããŸããã
webpackã«ã¯å€ãã®åé¡ããããŸãããããã¯æªããã³ãã©ãŒã§ããããããããªãã®ããã«æ©èœããã®ã§ããã°ãäœæ¥ãç¶ããŠãã ããã ããã¯æãæŸæ£ããããããžã§ã¯ãã®1ã€ã§ããã«ããããããã圌ãåé¡ã®è§£æ±ºã«åœ¹ç«ã€ãããžã§ã¯ããèŠãŸããã ããšãã°ãããã«ããcss-loaderã¯ãã·ã¢ã®1人ã«ãã£ãŠãµããŒããããŠããŸãã ããã¯æ¬åœã®ããŒããŒã§ããã圌ãå¿ããå Žå-ããã ãã§ã誰ãããªãã®åé¡ã解決ããŸããããå€ãã®åé¡ããããŸãã
webpackã®äœ¿çšããããã¹ãã ãšèšã£ãŠããããã¯ã³ã¬ã¯ã¿ãŒãåªããŠããããã§ãã ããããåã³ãæ°ãããããžã§ã¯ããè©ŠããŠã¿ãŠãå€ããããžã§ã¯ããå€æŽããªãã§ãã ããã ç§ãã¡ã¯ãã¬ãŒã ã¯ãŒã¯ãšããŒã«ã«å€ãã®èªæ °è¡çºãããŸãããå®éã«ã¯ã³ãŒãã®äœææ¹æ³ã«ã¯ãŸã£ãã圱é¿ããŸããã
ãªãèªå€§åºåãšè²Žæãæªãã®ã
ããã·ã ïŒããªãã¯ãããæ¥ãªãã³ãã©ãŒãæ¯æããŠwebpackãé¿ããããšã«ã€ããŠè©±ããŸããã ããªãã®ã¬ãã«ã®äººã ããã®ãã®ãããªæšèŠãèªå€§åºåãäœæãããšããäºå®ã«åé¡ãããã®ã§ããããïŒ äœãæ°ãããã®ã䜿çšããããšãæšå¥šãã代ããã«ããæŒãäžããŠwebpackãåã³ãã°ããããã®ã«ããŸãããããšèšãã ãã§ããããïŒ
ã¢ã³ããªã¥ãŒïŒãã質åã§ãã äžæ¹ã§ããã®ãããªã³ã¡ã³ããæèãç解ããã«ç¥èŠãããå Žåãæ¬åœã«åé¡ããããŸãã ããããå¥ã®åé¡ããããŸããç§ã¯åæ»ãæããŠããŸãã
å®éãããã³ããšã³ãã¯åæ»ããŠããŸãã ç§ãã¡ã®äººçã®çµãããŸã§ãç§ãã¡ã¯Reactã®åŸæŽã®äžã§çããŸã-ã¯ãªãã£ã«ã«ãã¹ãç²åŸããããããåäžã®æ°ãããã¬ãŒã ã¯ãŒã¯ãããã眮ãæããããšã¯ã§ããŸããã ããã¯ããã¯ãšã³ãèšèªã®ãããªãã®ã§ããå€ãèšèªã¯æ°ããèšèªã«è² ããŸããããªããªããããã€ãã®çãã¿ã¹ã¯ãé€ããŠã移è¡ã®ããã®èšç質éãæ¡ä»¶ããªãããã§ãã ããã§ããã³ããšã³ããå§ãŸããŸããã
ãã¬ãŒã ã¯ãŒã¯ãšãã«ãã·ã¹ãã ã®åæ»ã¯éåžžã«å€§ããªåé¡ãæå³ããŸããã€ãŸããçãæ¹ãæããŠããã人ã ã®åæ»ã§ãã ããã³ããšã³ãã®æã¯ãŸã åãã§ããããã®çµæãæ°ããæã¯æ¥ãªãã®ã§ãç§ãã¡ã¯ä»ãããèŠãã ãããŠã人ã ã®åæ»ã¯ãã¢ã€ãã¢ã®åæ»ãæå³ããŸãã ãããŸã§éæ¥çãªãã©ã¡ãŒã¿ãŒã§ãããèŠãŠããŸããããæ°ããã¢ã€ãã¢ãããããã«ã¯ååãªæ £æ§ããããŸãã ããããããªãã¯äŒè°ã«æ¥ãŠããã¹ãŠåãã§ãããããŠããã¯æ¬åœã«ç§ãèœã¡èŸŒãŸããŸãã ç§ã®æèŠã§ã¯ãããã³ããšã³ãã®äžçãåãæã§ãã
ããã¯Javaã®ãããªãã®ã§ã-ãã¹ãŠãããŸããã巚倧ãªåžå Žã§ãããæ°ãããã®ã¯äœããããŸããã ãã®åé¡ã«å¯ŸåŠããæ¹æ³-ç§ã¯ç¥ããŸããã ããããããã¯ç§ãå°ããªãããžã§ã¯ãã«drããåžžã«ã¢ããã€ã¹ãããçç±ã®1ã€ã§ãã
æ£çŽãªãšãããwebpackã¯æžãæããéåžžã«é£ãããäœæè ã¯DXã®å質ãæ°ã«ãããèªåã§äœæããŠãŠãŒã¶ãŒãšã¯ã»ãšãã©ããåãããŸããã ããã«ãæžãæããéåžžã«å°é£ã«ãªãã¢ãŒããã¯ãã£äžã®åé¡ããããŸãã webpackããŒã ã«ã¯æ£çŽãªãšããããŸãããããšãã人ãããŸãããç§ãã¡ããããããã®ã劚ããå°é£ããããŸãã
ã³ãã¥ããã£ãããããããã©ãã«ç§»åãããïŒå€ãããŒã«ãå®å®åããŠè¿œå ããããæ°ããããŒã«ã䜿çšãããïŒ-ç§ã«ã¯çãããããŸããã
çæ³çãªäžçã§ã¯ãå€ãããŒã«ã䜿çšããã®ãæªããšããæèŠãçã¿åºãããšã¯ãããŸããããæ°ãããããžã§ã¯ãã§ã¯æ°ããããŒã«ã䜿çšããŸãã ãããŠãç§ã¯ãããäœæããæ¹æ³ãããããŸããã 確ãã«ãééã£ãå§åããªããã人ã ã¯ãééã£ãããã®ã䜿çšããããã«ä»äººãæ¯ãå§ããŸãã
ããã·ã ïŒããªãã®æèŠã§ã¯ãMicrosoftãFacebookã®ãããªå€§äŒæ¥ãwebpackãBabelã®ãããªäž»èŠãªãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®è³Œå ¥ãéå§ããå¯èœæ§ã¯ãããŸããïŒ
ã¢ã³ããªã¥ãŒïŒè³Œå ¥-ãããã ã³ãã¥ããã£ãæ°ããã¢ã€ãã¢ãããããéããããã¯åœŒãã«ãšã£ãŠæçã§ã¯ãªããããã¯æ¬åœã®ããžãã¹äžã®å©ç¹ã§ãã ãããã¯ããããå¶åŸ¡ããŸã;ããã¯ç°ãªã£ãŠåããŸãã
æ®å¿µãªããããã®åé¡ã¯ããã³ããšã³ãã§æ¢ã«çºçããŠããŸãããããã¯äŒç€Ÿãäœããè³Œå ¥ãããšããäºå®ã«ã¯è¡šããŠããŸããããå€åããªãã¹ã¿ãŒãããã€ããããšããäºå®ã§ã¯ã圌ãã¯åžžã«2éã«ãªããç§ãã¡ãã©ãããããèšããŸãã³ãŒããæžããŸãã 圌ãã¯ãäºããç¥ã£ãŠããããäºãã«è¿ã¥ããäœããããããã«äŸé Œããæ¹ãç°¡åã§ãã ãããã£ãŠã圌ãã®æèŠã¯ä»ã®äººã ã®æèŠãããéèŠã§ãã ããã¯ç€ŸäŒã§ãšãªãŒããäœæããå€å žçãªã·ã¹ãã ã§ãã
瀟äŒçãªãšã¬ããŒã¿ãŒã®ã·ã¹ãã ããªããã°ãããã¯ãšãªãŒããä¿è·ãããã¢ã€ãã¢ãå€ããªããšããäºå®ã«ã€ãªãããŸãã åé¡ã¯ãäŒæ¥ããããã管çããŠããããšã§ã¯ãªããã©ã®ããã³ããšã³ãã䜿çšãããã決å®ããéåžžã«å°æ°ã®äººã ã®ã°ã«ãŒããããããšã§ãã ãã©ãŠã¶ã®åäœã¯ãChromeã䜿çšããŠããããå°æ°ã®äººã ã«ãã£ãŠå®å šã«æ±ºå®ãããŸãã Chromeã®äººæ°ãé«ãŸãç¶ãããšã倧ããªåé¡ãçºçããŸãã
äž»ãªåé¡ã¯ãäŒæ¥æ¯é ã§ã¯ãªã貎æã®åµé ã§ãã ããã¯ãããã³ããšã³ããåæ¢ããæã ãšæãçç±ã®1ã€ã§ãã貎æã¯ãã§ã«åœ¢æãããŠãããç§ãã¡ã¯äœãã§ããŸããã ããšãã°ã欧米åžå Žã§ã¯ãããªããã©ãã ãã¯ãŒã«ã§ãã©ã®ã¯ãŒã«ãªã¢ã€ãã¢ã宣äŒããŠããã®ãã¯éèŠã§ã¯ãããŸããããããããçªç Žããããšã¯ãªãã§ãããã æã®ã¹ã¿ãŒã¯ããã£ã³ãã«ç»é²è æ°ã1æ¡ä»¥äžå€ããã¡ãã£ã¢ã®åœ±é¿ã倧ããã圌ãã®ã¢ã€ãã¢ã¯ããªãã®ãã®ãããã¯ããã«éèŠã§ãã
DmitryïŒå€§äŒæ¥ã§åãããšã§ã¯ãªãããªãŒãã³ãœãŒã¹ãšã°ããŒãã«ãªã¢ã€ãã¢ãæäŸãããšããç¹ã§ãçªç Žããªãã§ãã ãããã
ã¢ã³ããªã¥ãŒïŒã¯ãã èããŠãã ãããããªãã¯å€§äŒæ¥ã§åãã®ã¯è¯ãããšã ãšèšããŸãã ãã¡ããããã§ã¯ãããŸãããããããã¯[ãããã€ãª]ã®ã£ã¬ãŒã§ãã ç§ãã¡ã¯äœã«ã€ããŠè©±ããŠããã®ã§ããïŒ
ããããªãŒïŒããŸããŸãªæèŠããããããããŸããã 誰ãããããããã®ããã«äžçãå€ãããããããªããšæããŠããŸãããªããªããããžãã¹ãšäžç·ã«ãéçºããå°ãé¢ãããšäœããã®ãµããŒããããããã§ãã
AndrewïŒå®éã®ãšãããããžãã¹ã¯ç°ãªã£ãŠããŸãã æ¬åœã«è¯ãäŒç€Ÿã¯ãããšãã°37signalsãšDHHã ãšæããŸãã
é¢çœãã®ã¯ãééã£ã決å®ãããããã«å€ãã倱ã£ããšããéåžžã«äžæå¿«ãªæ°æã¡ã§ããã³ããšã³ããèŠãŠããããšã§ãã æåã¯ãšãŠãã¯ãŒã«ã§ãããããã®ã¢ã€ãã¢ããã£ããšããç§ãã¡ã¯åžžã«ããããåãå ¥ããã©ããã«è¡ããŸããã ããããæçµçã«ã¯ã倧äŒæ¥ã®æè³ã§ããã«æé·ããã¹ã¿ãŒãã¢ããã®å šäœåã¯ã²ã©ããã®ã§ããã
ãããã®äŒæ¥ã¯ç¬å äŒæ¥ã«ãªããããŒã¿ã販売ããã²ã©ã決å®ãäžããŸãã ValleyãITã§è¡ã£ãŠããããšã¯ããŸã奜ãã§ã¯ãããŸããã
DHHã¯ã倧éãæå ¥ããã«ã¹ã¿ãŒãã¢ãããèªç¶ã«æé·ããã¹ãã ãšèããŠããŸãã倧éãæå ¥ããããšããã«ããŸã£ããç°ãªãæ¡ä»¶ãçºçãã瀟äŒã ãã§ãªããç§ãã¡ã®éåå šäœã®çºå±ã«ãæªåœ±é¿ãåãŒããŸãã ç§ã¯å€§äŒæ¥ã«äœãèµ·ããããå®å šã«å«ããŸãã
ããããªãŒïŒãœãŒã·ã£ã«ãšã¬ããŒã¿ãŒã«æ»ãå Žåã ããªãã®æèŠã§ã¯ãããªãããŸã éãŸã£ãŠäœãã¯ãŒã«ãªãã®ãæãã€ããå ŽåããšãªãŒãã®ãµããŒããªãã§ãªãŒãã³ãœãŒã¹ã«çå£ã«åãçµãããšã¯å¯èœã§ããããããšãå®å šã«ãããã¯ãããéã§ããïŒ
AndrewïŒ Vue.jsã«ã¯è¯ãäŸããããŸãã ããã¯çŽ æŽããããããžã§ã¯ãã§ãããReactãæ¹å€ãã察象ã¯ãã¹ãŠæ±ºå®ããŠããŸãããReactãç Žãããšã¯ãããŸããã ã©ã®ãããžã§ã¯ããäœæãããã¯åé¡ã§ã¯ãããŸãããç¬å æš©ãããéãããŠãŒã¶ãŒã¯åã«åãæ¿ããçç±ããããŸããã
ã誰ããæžããŠããããã«æžããªããã°ãªããŸãããäž»æµããé¢ããã¹ãã§ã¯ãããŸããããšãããã³ãã©ãä¿¡ããŠããã20ã30ïŒ åªãã補åãæäŸããŠãããã®ãã³ãã©ã¯ããªããæå¶ããŸãã äŸå€ã¯ã空ããŠããåžå Žã§ãã ããšãã°ããã·ã¢ã§ã¯Googleããªãã£ãããYandexãåã¡ãŸããã
æ€çŽ¢ãšã³ãžã³ãã©ãã»ã©åªããŠããŠããGoogleãå€ããããšã¯äžå¯èœã§ãã InstagramãFacebookãªã©ã®æ°ããåžå ŽããŸãã¯ãã·ã¢ã®Yandexãªã©ã®æ°ããèšèªåžå Žã§ã®ã¿æåããããšãã§ããŸãã ãã¬ãŒã ã¯ãŒã¯ã§ãåãã§ãã Vueãéåžžååšããå¯äžã®çç±ã¯ãReactããŸã å°çããŠããªãäžåœåžå Žãªã©ã§åå©ããããšã§ãã
äžæ¹ãVueã¯ç¬èªã®ãããžã§ã¯ããšããŠéå§ããããã®åŸãäŒæ¥ãåå ããŠåå ããŸããã äŒç€Ÿã«ãéãèŠæ±ããã®ã¯æ¥ãã¹ãããšã§ã¯ãªããšæããŸããæ£ããå°ããã°ãäŒæ¥ã¯åãã§åœŒãã«å¯ä»ããŸãã ãããã£ãŠãäŒæ¥ããã®ãµããŒããèŠã€ããããšã¯æ£åžžã§ãããå®éã«æ©èœããŸããããã¯ãWin / Winã®ç¶æ³ã§ãã äŒæ¥ãä»å ¥ããŠãäœããã®ãªãŒãã³ãœãŒã¹ã®åé¡ãåŒãèµ·ããããšã¯ãã£ãã«ãããŸããã
ããã§ã®åé¡ã¯ãããŒã±ãã£ã³ã°ã®åé¡ã§ãããŠã§ãéçºã®å®æœæ¹æ³ã決å®ãããšãªãŒãã®éåžžã«å°ããªã°ã«ãŒããååšããããã«æ°ãããã®ãæäŸããããšã¯éåžžã«å°é£ã§ããå®å šã«æ°ããåžå Žã«åå ¥ããŸãã
ãªãŒãã³ãœãŒã¹ã«è¡ã䟡å€ã¯ãããŸãã
ããããªãŒïŒçåãçããŸããããã¯äŸ¡å€ããããŸããïŒ
AndrewïŒããã¯ãã質åã§ãã ããã«èšããŸãããããããããªãã§ãæ°ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ããäœæããªãã§ãã ããã
ããããäœæãããäž»ãªçç±ã¯ãåºåã§ãããªãŒãã³ãœãŒã¹ãäœæãããšãã¹ã¿ãŒãšåããããæåã«ãªããŸãã ããããå®éã«ã¯ããã¯ãçåè ã®ééããã§ãã ç§ã¯ãã·ã¢ã«ãããã³ã»ã¢ãã©ã¢ãã§ããå®éãæ°·å±±ã®äžè§ã«ã¯äœçŸäººãã®äººã ããããžã§ã¯ããæªåãããŸãããã誰ã«ãç¥ãããŠããŸããã
è¯ãæ¹æ³ã§ã¯ãå®ç§ãªãããžã§ã¯ããäœæããŠãã倱æããå¯èœæ§ã¯99ïŒ ãããŸãã äŸãã°ãç§ã¯ãããŠãµã€ãºå¶éãäœæããŸãããã æåã«è¯ãèšäºãæžãããããPRãããã®éã«å¥ã®ç·ããããžã§ã¯ããäœæãã誰ããããã«ã€ããŠè©±ãããµã€ãºå¶éã倱ãããŸããã
ãããããããªããçµäºããã§ãããïŒèª°ãããããžã§ã¯ããæžããããããŸãããããããåŸã§ããã£ãšæªããããããŸãããã圌ã¯æå人ãšåéã§ãããæå人ã¯ããã«ããã«ã€ããŠæžãã§ããããããã ãã§ãã ããã¯ãªãŒãã³ãœãŒã¹ã®å€èŠ³ã§ããå®éãã¯ãŒã«ãªãããžã§ã¯ããäœæããã¡ãã£ã¢ã®åœ±é¿ãåããŠããªã人ã ã®ããã®å¢å°ã§ãã ãã¹ãŠã®ã¡ãã£ã¢ã®åœ±é¿ã¯ãéåžžã«å°ããªäººã ã®ã°ã«ãŒãã«çµ±åãããŸãã
ããã¯ã¹ã¿ãŒãã¢ããã®ãããªãã®ã§ãã ã¹ã¿ãŒãã¢ããã¯æ¬åœã«ã人ã ãGoogleãäœæãããšãã®çŽ æŽãããç¶æ³ãã§ã¯ãªãããGoogleãç»å Žããããã«ã¯ã99ïŒ ã®äººã ãèªåã®äººçãå°ç¡ãã«ããå¿ èŠãããããšããç¶æ³ã§ãã
ãããã£ãŠãããªãã幞ãã§æåã«ãªããããªãããªãŒãã³ãœãŒã¹ã«ããªãã§ãã ããã éçšããããå Žåã¯ããœãŒã¹ããªãŒãã³ã«ããªãã§ãã ããã ãããã®ãã®ãåŸãããã®ã¯ããã«è¯ãæ¹æ³ãããã®ã§ïŒäŒè°ã§è©±ãããã§ã«å€§èŠæš¡ãªãããžã§ã¯ãã®ããã¥ã¡ã³ããä¿®æ£ãããèšäºãæžãã
äŒç€Ÿã«æ¥ãŠãããã«ã§äœããã®ãã«ãªã¯ãšã¹ããããå Žåã10åã®æã䜿ã£ãäœããã®ãããžã§ã¯ããããå Žåãããæ Œæ®µã«ã¯ãŒã«ã«èŠããŸãã ãããŠãããã¯ã»ãšãã©ã®å Žåããã§ã-ããªããã©ãã ãããŸãæžããŠãã
圱é¿ãäžãããã ãã®å Žåã¯ãåºæ¬çãªèšäºãæžããŠãéåžžãšã¯ç°ãªã芳ç¹ããåºæ¬çãªããšãåãããšãããéèŠã§ãã 圌ãã¯åãããšãèšãã®ã§ãããã¯æ¬åœã«ããŸããããŸããã¡ãã£ã¢ã¹ã¿ããã¯ãããåæçš¿ããŸãã æ°ããã¢ã€ãã¢ã¯åæçš¿ãããŸããããªããªãã圌ããç解ããŠããªãããã§ãã
ãªãŒãã³ãœãŒã¹ãéå§ããçç±ã¯1ã€ãããããŸããããã®äžçã§äœããå€ãããå Žåã§ãã ããšãã°ãPostCSSã¯ãããå€ãã®CSSããŒã«ãå¿ èŠã ã£ãããã«éå§ãããŸããã Autoprefixerã¯ãç§ãCompassã殺ãããã£ãããã§ããããããCompassã殺ãããšããã¢ã¡ãªã«ã®ããã°ã©ããŒã«Operaãç¡èŠããŠã¢ã¡ãªã«ã®ãã©ãŠã¶å°çšã®ãµã€ãã®æžã蟌ã¿ãæ¢ãããããã®ã§ãåé²ããŸããã
ãã®ãããªã¿ã¹ã¯ãããå Žåãé¢çœãã®ã¯ãèšäºãæ©èœããªããšããããšã§ãã ãããã®èšäºã¯ãã¹ãŠãã¢ã¯ã»ã·ããªãã£ã«é¢ãããã®ã§ããããªã³ã¯ã®ä»£ããã«ãã¿ã³ã䜿çšããããšãURLããªãå ŽåãèŠããŠããªããããŸã£ããæ©èœããŸããã å®éã«æ©èœããã®ã¯ãããããã¹ãŠããã§ãã¯ããèªåããŒã«ã§ãã ãã¬ãã£ãã¯ã¹ã®èšè¿°æ¹æ³ã«é¢ããã¬ããŒãã¯100äžä»¶ãããŸããããAutoprefixerãç»å ŽãããŸã§æ©èœããŸããã§ããã
ããããªãããªãŒãã³ãœãŒã¹ãæžããããªãããã®ç€ŸäŒã§å€ããããšããæ確ãªç®æšãæã£ãŠãã ãããããããã°ãããªãã倱æãããšãã人ã ãããªãã®ãã¶ã€ã³ã䜿ããªããšããæãããªããç¡èŠãããšãããã®ç®æšã¯ããªããæµ®ãããã§ããã圌ãã¯ããªããå人çã«ç¥ããŸããã
ããããªãŒïŒãã®ã¹ã€ã³ã°ã¯ã©ãããã匷ãã®ã§ããïŒ ããšãã°ãJavaScriptã«åãè¿œå ããããšãç¥ã«èš±ããŠããã ãããã®ã§ãããããã¯ãã§ã«å€ãããããšã¯æããã§ãã , ?
: , , â , . â .
: . , , , .
: , , , , , . , . , .
- , ⊠PostCSS , , . , , . - -, , , , , .
: ?
: , , .
: , , , ?
: , , , , - , , , , , . : « Open Collective , , ».
, . . . , , , . « , , . Open Collective, , . , , , ».
, Babel webpack. : « , . issue, Open Collective , ». , . , â . , , . , .
, , . -, issue, , maintainer, , , , . , issue, : «, , , . . , , ?» . , «», . , , .
: - , - ?
: . . , JavaScript , . , Ruby , JavaScript. . - , . , , JavaScript.
: , pet project . , , : , , -, , . , , ?
: - . , . , , .
« ». . , . , . â , , maintainer , , - .
, . , , . , , , issue, - , , , .
, ? ãŸããã , , , . , , .
: , ?
: , . . . , .
: , , . , . , -, , . , , .
, . , 10, , , , , .
: , , ? , - : « , ».
: , , , . , . , . «» â , , â . , , - PostCSS. .
, - , . - : , , , , , .
â . , , , , , , . , . â , . , .
,
: , PostCSS . , ?
: , . - . , , , - : , .
-, , YouTube. , . , . , , .
: , , , . . , , . , , , , . , , . .
: , , . ? ?
: ? . «». , â , , . , , .
, â , , . , . - QR-. , QR- , ? . , , .
, . , â , , . . , : - , . , , .
. , , , , . -, . â , , , ( , ).
â , .
, .
â .
, : . , , , - . Google - , , , .
, , , , , . â Twitter, , ( ), . , , . , , , , 150-300 .
, , , .
: - - , â ?
: , . â . , , . , -, , , , .
. , , : « , ». â , . , , XVIII-XIX . . , .
, , -. , , , , , , . , , . , , , . , â .
, , â , , . , . : - , .
, , , , , . , . .
, , , â , , .
: , .
: , . -, . , , , . , , . , , â , .
â , . , , . .
small talk â , , , , -.
. â , , . , , , , .
â , 5-10 , . , .
: , ?
: , , â . , , â . , « », . , . , â . , , . , , .
â , , , . , , . , , , . «», .
. , , , , . , , , â : , . â , , , . , «-», . , , - . â , .
. , . .
- - , , , , : « ?». «» , . , : , . , , , .
: ( ), , , .
ããããªãŒïŒäŒè°ã«ã€ããŠè©±ããŠããå Žåãã¹ããŒã«ãŒãšããŠåå ãã決å®çãªèŠå ã¯äœã§ããïŒ
AndrewïŒç§ã«ãšã£ãŠã決å®çãªèŠå ã¯äŒè°ã®å¯çšæ§ã§ãã æã ãç§ã®ãã¹ãããã€ãã®åœãééããå Žåãç§ã¯äººã ã«ããŸãã¢ã¯ã»ã¹ã§ããªãäŒè°ã«åæããŸãããã ã¬ããŒãããã³ãã§ãã¿ãŸãã
äŒè°ã®äŸ¡æ Œãéåžžã«é«ããšãã倧ããªåé¡ããããšæããŸãã äŒè°ã¯ãéã皌ãå¿ èŠãããããšãç解ããŠããŸãããããã«ã¯åé¡ã¯ãããŸããããçŽ æŽããã500ãã«ãåããççŽã«èšã£ãŠãç¯çŽã§ãããã®ã«ããã䜿ãJSConfãããŸãã ããšãã°ãå€é£ã®å Žåãæã匷åãªã¢ãã¿ãŒããŒãã£ãŒã¯ãççŽã«èšã£ãŠãäžå¿«ãªããŒã«ã飲ãæ¹ã奜ãã§ãããããã¯èå³æ·±ã人ã ã§ãã
ãããŠã巚倧ãªäŸ¡æ Œã¯ãã¹ããŒã«ãŒãèŽè¡ãšè©±ãããšã«èå³ããªããšããäºå®ã«ã€ãªãããŸããäŒè°ã§ã¯ãCRDT Viktor Grishchenkoã®æé«ã®JSå®è£ ã®åãäœæè ã§ãã倧äŒæ¥ã®åŸæ¥å¡ã®ã¿ãéåžžã«é«äŸ¡ãªãã±ããã®ããã«æ¥ãããšãã§ããªãã£ãããããããã¯ããµããŒãããã®ãé£ããå ŽåããããŸãã ä¿åããæ¹æ³ã¯ãããããããããããé©çšããå¿ èŠããããé«äŸ¡ãªãã±ããã¯ééã£ãŠããŸãã äŒè°ã«ã¢ã¯ã»ã¹ã§ããå¿ èŠããããŸãã
誰ããéåžžã®ãããã¯ãŒã¯ã«ã¢ã¯ã»ã¹ã§ããããã«ãç§ã¯ãã°ãã°å°ããªäŒè°ã«åå ããããšã«åæããŸãã ãŸããå€ãã®äŒè°ã§ã¯ããã±ããäŸ¡æ Œã®é«ãäŒè°ããã察話ãåªããŠããŸãã ãããç§ã®ã¢ãããŒãã§ãã
ããããªãŒïŒäŒè°ãããŸããããªãããšã¯ãããŸãããïŒ ãããã¯ãŒãã³ã°ãã¢ã¯ã»ã·ããªãã£ããã®ä»ã«ã€ããŠã¯ãã§ã«æ確ã«ãªã£ãŠããŸããïŒ
ã¢ã³ããªã¥ãŒïŒãŸããã¹ããŒã«ãŒãšããŠãç§ã¯ã¹ããŒãžã®åã«ã¿ã€ããŒããããšãæ¬åœã«æè¬ããŠããŸãã ãã®ç¹ã§ãHolyJSã§ã¯ãã¹ãŠãéåžžã«å°éçã§ãããããã©ãŒãã³ã¹ã®çµç¹ã奜ãã§ãã äžè¬ã«ããããã¯ãŒãã³ã°ã¯éèŠãªããšã§ãã人ã ã¯ç¥èãåŸãããã«äŒè°ã«è¡ãã®ã§ã¯ãªããã¬ããŒããããèšäºãèªãæ¹ãç°¡åã§ãããã³ãã¥ããã£ã«æå±ããŠãããšããæèŠã®ããã§ãã
ã³ãã¥ããã£ã¯ãäŒè°ã§èµ·ããæãéèŠãªããšã§ãã ããªãã話ããŠãããšããæèŠããããŠããªãã®äžã§äœããå€ãã£ããããªãã¯äœããç¥ã£ãŠããŸãã ç§ãã¡ã®ç€ŸäŒã«ã¯ããªãããšããç解ããªããšããè¯ãèãããããŸãã ç§ãã¡ã¯äŒè°ã«åå ããŠããªãããããã¹ãŠè¡ã£ãŠããã®ããç解ããŸãã ãããŠãè¯ãäŒè°ã¯ãããããã®åé¡ã解決ããã§ãããã
ããããªãŒïŒããªãã¯ãç¥èã§ã¯ãªãããšèšããŸããããããã¯éåžžã«ç©è°ãéžãåé¡ã§ãã éåžžã«åºæ¬çãªãããã¯ãæã¡ãªãããéåžžã«ç°ãªãã³ãã¥ããã£ã®äººã ãéããäŒè°ã«åå ããŸãããïŒ
ã¢ã³ããªã¥ãŒïŒã¯ãããã¡ãããããã¯ãšãŠã楜ããã§ãããã
ããããªãŒïŒããã¯ãçé¢ç®ã§åŒ·åãªå ±åãããäŒè°ãããé¢çœãã§ããããïŒ
ã¢ã³ãã¬ã€ïŒã©ã¡ãã®ã¢ãããŒããè¯ããšæãããããã§ãåé¡ã¯ãªãã
ããããªãŒïŒããããæåŸã®è³ªåã§ãã HolyJSã«äœãæåŸ ããŸããïŒ
ã¢ã³ããªã¥ãŒïŒè¯ãããŒãã£ãŒïŒ 2016幎ã«ã¯ãç§ã®äººçã§æé«ã®1ã€ã§ããããã¹ãŠãéåžžã«ããŸãæŽçãããŸããã
ããããªãŒïŒãã®æéãããã«æ¹åããããã«ãã®æéããå§ãããŸããïŒ ããŒãã£ãŒããããã§ããïŒ
ã¢ã³ãã¬ã€ïŒç§ã¯å°å ã®äŒè°ã§çµç¹ããããšããŸãã ç§ãã¡ã¯å€ãã®å°å ã®äŒè°ãéããŠããŸããã圌ããèªåã§äœããããæ©äŒããããšããããã¯ããªãã¯ãŒã«ã§ããããšãããããŸã-å€ãã®ã€ãã·ã¢ããã®äººã ãããŸãã ãããŠããã¹ãŠã®å°å éäŒã®äž»å¬è ãŸãã¯åœŒãã®äž»èŠãªè¬æŒè ã«ç¡æãã±ãããŸãã¯äœããã®æŽå©ãäžããããããããã¯çŽ æŽãããããšã§ãã
Andreiã¯ãæå¯ãã®HolyJS ïŒãµã³ã¯ãããã«ãã«ã¯ã5æ24ã25æ¥ïŒã§ããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®æšé²ã«ã€ããŠããã«è©±ããŸãã ãããŠåœŒã®ä»ã«ãJSãªãŒãã³ãœãŒã¹ã®ä»ã®å€ãã®éèŠãªäººç©ãããã§ãããïŒRyan DahlïŒNode.jsãDenoïŒããMichel WeststrateïŒMobXãImmerïŒãŸã§ã ã¬ããŒãã®ãããã¯ã«é¢ãã詳现ã¯ãã¹ãŠãŠã§ããµã€ãã«æ²èŒãããŠãã ããã±ããã¯ããã§è³Œå ¥ããããšãã§ããåŸã ã«é«äŸ¡ã«ãªããŸãã