CSSã®ã¹ãã·ã£ãªã¹ããããµãŒããŒãµã€ããç¥ãã°èŠéãåºããïŒ Incrementsãç®æãTåãšã³ãžãã¢ã®è²æ
ãè¥æãšã³ãžãã¢ãã©ããªæŽ»èºããŠãŸããïŒã第6åã¯ãQiitaãQiita:Teamã§ç¥ãããIncrementsç·šãIåã®ã¹ãã«ã»ããã ã£ãè¥æãšã³ãžãã¢ãTåã«ãªãããCTOãåãçµãã ããšãšã¯ïŒ 詳ãã話ã䌺ããŸããã
è¥æãšã³ãžãã¢ã®ããã®æ å ±ã¡ãã£ã¢ããšã³ãžãã¢Hubããé£èŒãè¥æãšã³ãžãã¢ãã©ããªæŽ»èºããŠãŸããïŒã第6åã¯ãQiitaãQiita:Teamã§ç¥ãããIncrementsç·šã§ãã
ãšã³ãžãã¢ã®æ£®äžé ç« ïŒããããã»ãŸãããïŒããã¯ãIncrementsã«æšå¹ŽïŒ2016幎ïŒ8æã«å ¥ç€Ÿããã°ãããåŠçæä»£ããCSSïŒCascading Style SheetsïŒé¢é£ããŒã«ãéçºããåè·ã§ã¯ããã³ããšã³ããšã³ãžãã¢ãšããŠè ãæ¯ãã£ãŠããŸãããIncrementsã§ãCSSåšãã®å·æ°ã§å®åãçºæ®ããäžæ¹ãæè¿ã¯ããã¯ãšã³ãéšåã®éçºã«ãåå ããæ°ããªç¥èŠãåŸã€ã€ããããã§ããã¡ã³ã¿ãŒåœ¹ã«ãããCTOã®é«æ©äŸä¹ ïŒããã¯ãã»ãããïŒãããšäžç·ã«è©±ãèããŸããã
- Qiitaã§ã®æåã®ä»äºã¯CSSåšãã®å·æ°
- IååããTååã«ã¹ãã«ã»ãããåºãã
- æ°é åã®ç¥èãšçµéšã¯æ°ããã¢ã€ãã¢ãçã
- é£èŒããã¯ãã³ããŒ
ââæ£®äžããã¯åŠçæä»£ã«CSSã®ããªããã»ããµãäœã£ãŠããã®ã§ããã
æ£®äž åŠçæä»£ã«Webã¢ããªãPHPã§äœã£ãŠãããã§ãããè€æ°äººã§éçºããŠãããšCSSã®ã³ãŒãããã¡ããã¡ãã«ãªã£ãŠããCSSã¯èšèªãšããŠã€ããããšæããŸããããã®é ããSassãªã©ã®ããªããã»ããµäœ¿ã£ãŠããŸãããããã§ã«ãã£ããã®ã¯ã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ãŒã«éãããCSSã®èšèšãè¯ãããããã®ãã®ã§ã¯ãªããã ã£ããèªäœããããšæã£ãŠäœããŸããã
åè·ã§ã¯Webããã³ããšã³ããäžå¿ã«ä»äºãããŠããŠã1幎åã»ã©çµã£ãŠããIncrementsã«è»¢è·ããŸãããç¥ã£ãŠãã人ãããããã§ã¯ãªããæ®éã«æ¡çšæ å ±ãèŠãŠãšã³ããªãŒããŠã
ââ転è·ããããšæã£ã決ãæã¯äœã§ãããïŒ
æ£®äž å€ããèŠãå°è±¡ã§ãããåå·ãã{$annotation_1}ã®ãããªãããæ¹ãããŠãè¯ãããã ãšæããŠã
ââå ¥ã£ãŠã¿ãŠãã©ãã§ããïŒ
æ£®äž ããã人ããããšããå°è±¡ã¯å€ãããªãã§ããã
ââ髿©ããã¯ãã¯ãŠãªãã°ãŒã°ã«ã§ã¢ã«ãã€ããã€ã³ã¿ãŒã³ã®çµéšãããã®ã§ããã
髿© 2010幎ã«ã¯ãŠãªã§ã€ã³ã¿ãŒã³ãçµãŠã¢ã«ãã€ãã2012幎ã«ã°ãŒã°ã«ã§ã€ã³ã¿ãŒã³ãããŸãããåœæã®ã°ãŒã°ã«æ±äº¬ãªãã£ã¹ã§ã®Chromeã®ããŒã ã®ããããåå·ããã§ããã
Incrementsä»£è¡šã®æµ·éã倧åŠã®åæã§ã圌ãã¯ãŠãªãã°ãŒã°ã«ã®ã€ã³ã¿ãŒã³ãçµãŠIncrementsã嵿¥ããŠããŸãã嵿¥ã®1幎ã»ã©åŸãåãå士課çšãäžéããŠæåã®ãšã³ãžãã¢ãšããŠå ¥ç€ŸããŸããã
ââåœæãã©ããªæãããããŸããïŒ
髿© è«æãæžãã®ãããã§ãããå®äžçã«ãªããªãå±ããªãã人ã«äœ¿ãããã³ãŒããæžããããšæããŸããã
Qiitaã§ã®æåã®ä»äºã¯CSSåšãã®å·æ°
ââæ£®äžããã¯å ¥ç€ŸããŠãããã©ã®ãããªä»äºãïŒ
髿© Qiitaã®CSSåšãã®ãšã³ã·ã¹ãã ãå€ããªã£ãŠããã®ããã¢ãã³ãªãã®ã«å·æ°ããåãçµã¿ããã£ãŠããããŸãããã³ãŒãã倿Žããã ãã§ãªããQiita:Teamã®äžã§ãèããããéžæè¢ã®Pros/ConsïŒè¯ãç¹ãæªãç¹ïŒãæããŠãããã®æè¡ã¯ãããããã®ã§æ¡çšããããšãããŸã§ããã¥ã¡ã³ããšããŠæ®ããŸããã
æ£®äž ãã®ãšãã®åãçµã¿ã¯ãQiitaã®èšäºãQiitaã®CSSæ§æ2016ãã«æžããŠããŸããåãçµã¿ãšããŠããããŸã§Ruby on Railsä»å±ã®Sprocketsãšããassetãã¡ã€ã«ãã³ã³ãã€ã«ããããŒã«ã䜿ã£ãŠããã®ã§ãããããããããŠNode.jsã®ããŒã«ã§ãã«ãããããã«ããŸããã
ââæ¹åæ§ãäœã£ãã®ã¯æ£®äžããã ã£ãã®ã§ããïŒ
æ£®äž ããã§ããèšèšææ³ãããŒã«ã®éžå®ãã¹ã¿ã€ã«ã¬ã€ãã®äœæãªã©ãããŸãããåãæ åœããã®ã¯CSSåšãã§ãJavaScriptåšãã¯å¥ã®æ¹ãæ åœããŠããŸãã
ââè¯ããªã£ãç¹ã¯ïŒ
æ£®äž äžçªå€ãã£ãã®ããCSSã®èšèšãæžãæ¹ã§ããæ°ããPostCSSãšããããŒã«ã®ãšã³ã·ã¹ãã ã䜿ã£ããã³ãŒãã®ããªããã»ã¹ãæé©åããªã³ããå°å ¥ããŸããããã«ãé床ãåäžããŠãããã€ãæ©ããªããéçºææãåæ ããããµã€ã¯ã«ãæ©ããªã广ããããŸããã
IååããTååã«ã¹ãã«ã»ãããåºãã
ââæ£®äžããã¯ãCSSã«ãã¡ããã¡ã匷ã人æãšããŠæŽ»èºããŠããããã§ããã
髿© 森äžã¯ããã³ããšã³ãã«ããã匷ã¿ãããã®ã§ãããæè¿ã¯æ°ããåéã«ããã£ã¬ã³ãžããŠããã£ãŠããŸãããã®ããã«ãRailsç ä¿®ããšããåãçµã¿ãããŸããã
ãšã³ãžãã¢ã®ã¹ãã«ãå¯èŠåãããæå衚ïŒã»ããšãã²ããïŒããäœã£ãŠããã®ã§ãããæšªè»žã«ãšã³ãžãã¢ã®ååã䞊ãã§ããŠã瞊軞ã«èŠæ±ã¹ãã«ããããç§ã¯ãããã§ããããããèŠæããããã§ããããã«ãªãããããšãã£ãããšãäžèЧã§ããããã«ããŠããŸãã
ââãæå衚ãã¯ã©ãããäœ¿ãæ¹ããããã®ã§ããïŒ
髿© ãã®è¡šã¯è©äŸ¡ã«äœ¿ããã®ã§ã¯ãªããŠãäŸãã°ãããæè¡AãåŸæãªäººããããšãAã䜿ãä»äºã¯ãã®äººã ãã«éäžããã¡ã§ããããã§ãæå衚ãèŠãŠãå¥ã®äººããAãã§ããããã«ãªãããããšæã£ãŠããããšãåããã°ããã®äººã«ãã£ãŠããããåŸæãªäººã«ã¯ã¬ãã¥ãŒããé¡ãããããããã£ãã¿ã¹ã¯ã®èµåããã§ããããã«ãªããŸãããããäœã£ãç®çã§ããã
ââãšã³ãžãã¢ã®ã¹ãã«ã»ãããåºããŠããããæèããŠããã®ã§ããã
髿© ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã«ã¯Tååã¹ãã«ã»ãããæ±ããŠããŸããTã®åã®äžåŽã®ããã«ãå¹ åºãã¹ãã«ãæã£ãŠããŠãTã®åã®çžŠã®ç·ã®ããã«æ·±ãåŠãã å°éåéãæã£ãŠããããããŠçžŠã®ç·ãšæšªã®ç·ã¯ã¡ãããšã€ãªãã£ãŠããããããªäººãæ±ããŠããŸãã
ãããããªTååã®ã¹ãã«ã®äººãéãŸã£ãŠããŠã瞊ã®ç·ããããããªå Žæããã«ããã«ããçããŠãããé ãããèŠããé·æ¹åœ¢ã«èŠãããåéãè¿ãã¹ãã«ã®äººãéãŸã£ãŠããã°ããã ãšé¢ç©ãå¢ããªããæ°ããã¹ãã«ãåŠã³ç¶ãã人ãéãŸã£ãŠããªããšé·æ¹åœ¢ã®é¢ç©ãå¢ããŸããã
森äžã®å Žåã¯å žåçãªãIåãã ã£ãã®ã§ããããTã®åã«ãªãããã«ã¹ãã«ã»ãããåºããŠãããã°ãšæã£ãŠããŸããããã«ãTååã ãšå ±éã®ã¹ãã«ã»ãããæã£ãŠããã®ã§ããããåãå£ã«ããŠä»ã®ã¡ã³ããŒã森äžããCSSã®æ·±ãç¥èãåŠã¹ãããã«ãªããæ£®äžã®æ¹ããäŸãã°RSpecïŒRubyã®ãã¹ãã£ã³ã°ãã¬ãŒã ã¯ãŒã¯ïŒãåŸæãªäººããåŠã¶ããšãã§ããããã«ãªãã
ãããŸã§ã®Incrementsã«ã¯Tååã£ãœã人ããããªããŠãç ä¿®ãåããã®ã¯æ£®äžãæåã§ãããããäŒç€Ÿã倧ãããªããšç ä¿®ãå¿ èŠã«ãªãã®ã§ãæ°å¿ãç¥ããçžæãšãŸãäžç·ã«ãã£ããšããåŽé¢ããããŸãã
ââç ä¿®ã«ã€ããŠã森äžããã®ææ³ã¯ãããã§ãããïŒ
æ£®äž æ¥åæéã䜿ã£ãŠãããªããŠãããã«æããŠããããŸãããããã§èº«ã«ã€ããªããšã€ãããªãšïŒç¬ïŒã
åã¯ããã³ããšã³ããCSSã«ã€ããŠã¯èªåãªãã®æèŠããããŸãããããã¯å¥œãã§èå³ãæã£ãŠãã£ãŠããããã§ãããªã®ã§ããµãŒããŒãµã€ãã®Webã¢ããªãããŒã¿ããŒã¹ã«ãèå³ãæã£ãŠæèŠãæãŠãããã«ãªã£ãããããšæã£ãŠããŸããã
æ¯ãè¿ããšãå ¥ç€Ÿåœåã¯ããã°ã©ãã³ã°èšèªã¯JavaScriptãããããæžããããšããªãç¶æ ã§ãããããã«ã³ã³ãã¥ãŒã¿ãµã€ãšã³ã¹ã®ããã¯ã°ã©ãŠã³ããæã£ãŠããããã§ããããŸããã§ãããç ä¿®ã§ã¯ãRuby on Railsã«ãããµãŒããŒãµã€ãéçºã«é¢é£ããŠããªããžã§ã¯ãæåãDDDïŒãã¡ã€ã³é§åèšèšïŒãRSpecã䜿ã£ãBDDã®ãã¹ãã®æžãæ¹ããããããåºç€ãšããããå°æå ã®APIã®äœ¿ãæ¹ãšã¯éãããšãåŠã¹ãŸããã
ããã§èªä¿¡ãä»ãããã©ãããšèããããšâŠâŠãŸã èªåããã§ãã人ããããªãã®ã§ïŒç¬ïŒããŸã ãŸã å匷ããªããšãããªããªãšæã£ãŠããŸãã
æ°é åã®ç¥èãšçµéšã¯æ°ããã¢ã€ãã¢ãçã
ââç ä¿®åŸã®æ£®äžããã®åœ¹å²ã¯ïŒ
æ£®äž CSSåšãã¯ä»ãèŠãŠããŸããããã«å ããŠãQiitaã®ãµãŒããŒãµã€ãã®ä»äºãäžéšããããã«ãªããŸããã
ââãã£ãŠã¿ãŠããããã§ããïŒ
æ£®äž æ°ããåéã§ãèŠéãåºãã£ããªãšãã宿ãæãŠãŸããã
äŸãã°ãä¿å®ããããCSSã³ãŒããæžãããšãããšãã«ãHTMLãšCSSããç¥ããªãã£ãããåœåèŠåã§è§£æ±ºãããããšèãããšæããŸããã§ãNode.jsãç¥ã£ãã®ã§ããã®ããã®CSSããªããã»ããµãèªåã§äœããŸããã
RubyãéããŠãªããžã§ã¯ãæåãåããããã«ãªã£ãããäžã€ã®CSSã®ã«ãŒã«ã»ããã¯äžã€ã®åœ¹å²ã ããæã€ããã«ããããšããåå²ã®ç²åºŠã«ã€ããŠæ°ããèãæ¹ãã§ããããã«ãªããŸããã
ââããããŠç¥èãçµéšãå¢ãããšãäœãã¢ã€ã¢ã€ãããã®ãåºãŠããŸãããïŒ
æ£®äž å®ã¯ããã3æ¥ãããã®ããšãªãã§ããã颿°åèšèªã®Elixirãå匷ããŠã¿ãŠãããã¯CSSã®ããªããã»ããµã«ãèãæ¹ãåœãŠã¯ããããããããªãããšããã¢ã€ãã¢ãæµ®ããã§ããŸããã颿°åèšèªã«ã¯åä»£å ¥ããªããCSSã¯äžåºŠå®çŸ©ããã«ãŒã«ãåŸããäžæžãã§ãã¡ããããããå¶åŸ¡ã§ããæ¹ãããã
ââå¯äœçšããªãããªããã»ããµãäœããããªæ°ãããïŒ
æ£®äž ãããªæãã§ãã以åãelm-cssïŒé¢æ°åããã°ã©ãã³ã°èšèªElmã§CSSãæ±ãããŒã«ïŒãèŠããšãçŽèгçã«ãè¯ãããã ããšæã£ãŠãããã§ããã©ã
ââãšããã§ããªãElixirãïŒ
æ£®äž å®ã¯ãElixir Conf Japan 2017ããšããã€ãã³ãã«åå ããããšã«ãªããç¥èããªãã£ãã®ã§ã€ãã³ããããæ¥œãããããã«ãšæã£ãŠå匷ããŠã¿ãŸããã
ââæ£®äžããã¯ãç ä¿®ãå¥åéãžã®åãçµã¿ã®åŸã§é ãããã«æŽ»æ§åããŠããæããªãã§ããã髿©ããã®çãéãã§ããïŒ
髿© ããã§ãããäžã€ã®ããšããç¥ããªãã®ã¯ãšã³ãžãã¢ãšããŠå±ãããšæããŸãããããããªããšãç¥ã£ãäžã§ã課é¡ãšæã£ãŠããªãã£ãããšã課é¡ã§ãããšæããããã«ãªã£ãããšã¯å€§ããªé²æ©ã ãšæããŸãã
ââãã ã¹ãã«ã»ãããåºããŠããããå°éæ§ãæ·±ããŠããããšããã®ã¯ãé«ãèŠæ±ã§ãããã
髿© åã®èªèã§ã¯ãæã¯å°äººæ°ã§äœã£ãWebãµãŒãã¹ã䜿ãããããã«ãªã£ãŠççºçã«åºãŸãããšãããåŸããä»ã¯ããäœã蟌ãŸãããã¶ã€ã³ãæŽç·ŽããããµãŒãã¹ã§ãªããšäœ¿ã£ãŠããããªããããã§ããçšåºŠã®èŠæš¡ã®ããŒã ã§äœããªããšãããªãããã§ãããå°éããšã«äººãåãããŠãããšèªåãåŸæãªã¿ã¹ã¯ã°ãããæãããããšã«ãªããçæçã«ã¯ãããæé©è§£ãªã®ãããããŸãããã
ââãããŠããæ··ããïŒ
髿© ããã³ããŒãæã€äººã«ã¯ããã¹ãŠã®ãã®ãéã«èŠããããšããäŸã話ããããŸããããã³ããšã³ãããç¥ããªããšã³ãžãã¢ã¯ãã¹ãŠã®åé¡ãããã³ããšã³ãã§è§£æ±ºããããšãããä»ã«è§£æ±ºçãããã®ã«ã
èªåãåŸæãªæè¡ã䜿ãããšã倧äºãšããããã§ã¯ãªãããŠãŒã¶ã«äŸ¡å€ãå±ããããšãããã«ãã£ãŠå©çãçãããšãæ±ãããããããããèãã§ãã£ãŠããŸãã
ââæŽç·Žããããããã¯ããäœããªããå匷ããŠã¹ãã«ã®å¹ ãåºããŠããã®ã¯å€§å€ã§ããã
髿© ãšã³ãžãã¢åãã®ãµãŒãã¹ãäœã£ãŠããã®ã§ãæ°ããæè¡ã«ã¯ç©æ¥µçã«åãçµãäŒæ¥é¢šåã§ãããããšæã£ãŠããŸããæ°ãããã®ã奜ããªãšã³ãžãã¢ãæ¡çšããŠãããšããåŽé¢ããããŸãã
ãããšã¯å¥ã«ãCTOãšããŠã倿ãééããå Žåã«ããã«æ©ãæ€éã§ããããã«ããŠãããã倧äºã ãšæã£ãŠããŸãã
ââæ°ããããšã«ææŠãç¶ãããšã³ãžãã¢ããã©ããŒããç«å Žã倧å€ã§ã¯ãªãã§ããããã
髿© æ°æè¡ã®ç¿åŸã«ã¢ããã¢ããããŠããŸãããæ¥œããããã®éãã倧äºã ãšæããŸãããšã³ãžãã¢ãªã³ã°ã楜ãããšããã¢ãããŒã·ã§ã³ãæ¶å€±ããç¶æ ã§ã¯ç«¶äºã«åãŠãªãããæ¥œããããã倧äºãªããŒã¯ãŒãã§ãã
ââæ£®äžãããç ä¿®ã¯æ¥œãããŸãããïŒ ãŸãä»åŸã¯ã©ããªæ¹åæ§ã§ããããã
æ£®äž æ¥œããã£ãã§ããåçŽã«ãã§ããªãããšãã§ããããã«ãªãã®ã¯æ¥œããã§ããã
ä»åŸã§ãããèªåãèå³ãæãŠãããšããã£ãŠããããã§ãããé¢çœããšæãããšã倧äºã§ããä»ãŸã§ã®èªåã¯å®å šã«ããã³ããšã³ãã«æ¯ãåã£ãŠããã®ã§ããããã£ã±ãããããé¢çœãã£ãããã§ãã
ââ髿©ãããã¡ã³ã¿ãŒãšããŠãããã§ãããïŒ
髿© èªåèªèº«ãã¡ã³ã¿ãªã³ã°ã¯ã»ãŒåããŠã®äœéšã§ãããäœããæããããšããŠãããããæ¬åœã«æ£ããèšèã®äœ¿ãæ¹ã ã£ãã£ãïŒããšæ¬ã調ã¹çŽãããããŸãããã¡ã³ã¿ãŒåŽãåŠã¶ããšãå€ããšããã®ã宿ã§ãã
ââåæ¹ã«åŠã³ãããé¢ä¿ãªã®ã§ãããæ¬æ¥ã¯ããããšãããããŸããã
åæïŒææéïŒåçïŒèµ€åžè¡
é£èŒããã¯ãã³ããŒ
*1:åå·å乿°ãæ¥æ¬DECããã€ã¯ããœãããã°ãŒã°ã«ãçµãŠã2015幎ç§ã«Incrementsã«åå ã話é¡ãšãªã£ã





