ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã ORCA ProjectïŒ ã¬ã»é»ãã¥ãŒã¯ æ¥æ¬å»åž«äŒéçºã»æ¥å»æšæºã¬ã»ãããœãããŠã§ã¢ã®ãµã€ãã§ã www.orca.med.or.jp ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã Developers Summit 2018 Summer ITãšã³ãžãã¢ã®ç¥å
žãDevelopers Summit 2018 SummerãïŒãããµã2018å€ïŒã¯ã2018幎7æ27æ¥ã«éå¬ïŒ event.shoeisha.jp
ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã https://www.orca.med.or.jp/receipt/use/jma-receview.html ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã https://www.medley.jp/recruit/creative.html 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã https://event.shoeisha.jp/devsumi/20180727
ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã ORCA ProjectïŒ ã¬ã»é»ãã¥ãŒã¯ æ¥æ¬å»åž«äŒéçºã»æ¥å»æšæºã¬ã»ãããœãããŠã§ã¢ã®ãµã€ãã§ã www.orca.med.or.jp ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã Developers Summit 2018 Summer ITãšã³ãžãã¢ã®ç¥å
žãDevelopers Summit 2018 SummerãïŒãããµã2018å€ïŒã¯ã2018幎7æ27æ¥ã«éå¬ïŒ event.shoeisha.jp
ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã ORCA ProjectïŒ ã¬ã»é»ãã¥ãŒã¯ æ¥æ¬å»åž«äŒéçºã»æ¥å»æšæºã¬ã»ãããœãããŠã§ã¢ã®ãµã€ãã§ã www.orca.med.or.jp ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã Developers Summit 2018 Summer ITãšã³ãžãã¢ã®ç¥å
žãDevelopers Summit 2018 SummerãïŒãããµã2018å€ïŒã¯ã2018幎7æ27æ¥ã«éå¬ïŒ event.shoeisha.jp
ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã ORCA ProjectïŒ ã¬ã»é»ãã¥ãŒã¯ æ¥æ¬å»åž«äŒéçºã»æ¥å»æšæºã¬ã»ãããœãããŠã§ã¢ã®ãµã€ãã§ã www.orca.med.or.jp ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã Developers Summit 2018 Summer ITãšã³ãžãã¢ã®ç¥å
žãDevelopers Summit 2018 SummerãïŒãããµã2018å€ïŒã¯ã2018幎7æ27æ¥ã«éå¬ïŒ event.shoeisha.jp
ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã ORCA ProjectïŒ ã¬ã»é»ãã¥ãŒã¯ æ¥æ¬å»åž«äŒéçºã»æ¥å»æšæºã¬ã»ãããœãããŠã§ã¢ã®ãµã€ãã§ã www.orca.med.or.jp ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã Developers Summit 2018 Summer ITãšã³ãžãã¢ã®ç¥å
žãDevelopers Summit 2018 SummerãïŒãããµã2018å€ïŒã¯ã2018幎7æ27æ¥ã«éå¬ïŒ event.shoeisha.jp
ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã ORCA ProjectïŒ ã¬ã»é»ãã¥ãŒã¯ æ¥æ¬å»åž«äŒéçºã»æ¥å»æšæºã¬ã»ãããœãããŠã§ã¢ã®ãµã€ãã§ã www.orca.med.or.jp ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã Developers Summit 2018 Summer ITãšã³ãžãã¢ã®ç¥å
žãDevelopers Summit 2018 SummerãïŒãããµã2018å€ïŒã¯ã2018幎7æ27æ¥ã«éå¬ïŒ event.shoeisha.jp
ããã«ã¡ã¯ãéçºæ¬éšã®ç«¹å
ã§ããæè¿åã©ãã®ããªã³ã»ã¹ãžã®åŒ·ãæ§ãã«è¥å¹²åŒããŠãããŸãã ããŠå
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãé»åã¬ã»ãããã«ã€ããŠè©±ããŸããã®ã§ããã¡ãã§ãç°¡åã«ç޹ä»ãããŠããã ããŸãã ã¬ã»ãããšã¯ ãšããã§ãã¿ãªããŸã¯ãã¬ã»ãããã«ã€ããŠãåç¥ã§ããããïŒç§ã¯ã¡ãã¬ãŒã«å
¥ç€ŸãããŸã§ç¥ããŸããã§ããã ã¬ã»ãããšã¯å»çæ©é¢ãæ¯æåºéãžèšºçå ±é
¬ãè«æ±ããããã®æçŽ°æžæ
å ±ã®ããšã§ãã ãšèšã£ãŠããåããŠèãããæ¹ãããã£ããããšæããŸãã®ã§ãå»çæ©é¢ã«ããããéã®æµããšãšãã«ç°¡åã«èª¬æããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ å»çæ©é¢ã¯ã蚺çãã®å¯ŸäŸ¡ãšããŠã被ä¿éºè
çïŒâ æ£è
ïŒãããéãåãåãããã§ããã被ä¿éºè
ã®å å
¥ããä¿éºãå
¬è²»ã«ãã£ãŠãã®é¡ã¯å€ãããŸããè² æ
å²åã 3 å²ã®å Žåãæ®ãã® 7 å²ã被ä¿éºè
ãå å
¥ããä¿éºçµåãªã©ãžè«æ±ããå¿
èŠããããŸãã ãã®ä¿éºçµåãªã©ãžã®è«æ±ãåããŸãšããå
容ã審æ»ããŠããã®ãæ¯æåºéãšåŒã°ããçµç¹ã§ãå»çæ©é¢ã¯æã«äžåºŠãåæã®æ£è
ããšã®èšºçç¹æ°ãèšç®ããã¬ã»ããããšããŠæ¯æåºéã«æåºããããšã«ãªããŸãã ïŒæ¯æåºéã£ãŠã©ããªãšããïŒïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºéããïŒ ã¬ã»ããã«ã¯ãè«æ±ãã蚺çç¹æ°ã®ã»ããå»çæ©é¢ã®æ
å ±ã被ä¿éºè
ã®æ
å ±ïŒæ°åãªã©ã®åºæ¬æ
å ±ãå å
¥ããŠããä¿éºè
æ
å ±ïŒã蚺çè¡çºãå·ç
åã«é¢ããæ
å ±ãªã©ãå«ãŸããŠããŸãã ãã¬ã»ãããã«ã¯çŽãšé»åããŒã¿ãšãããŸãããçŸåšã¯ååãšããŠé»åã¬ã»ãããæåºããããšãæ±ããããŠããããã§ãïŒ é»åã¬ã»ããè«æ±ã«ä¿ãç¶äºæªçœ®åã³å
逿ªçœ®ã«ã€ããŠïœç€ŸäŒä¿éºèšºçå ±é
¬æ¯æåºé ïŒã é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ é»åã¬ã»ããã«ã€ããŠã®ä»æ§ã¯æ¯æåºéã«ãã£ãŠå
¬éãããŠããŸããä»åã¯ã é»åã¬ã»ããäœæã®æåŒã ããšããè³æãå
ã«ãå»ç§ãã®ã¬ã»ããã«ã€ããŠèª¿ã¹ãŠçºè¡šããŸããã çºè¡šè³æã¯ãã¡ãã é»åã¬ã»ããã®å®äœã¯ CSV 圢åŒã®ã·ã³ãã«ãªããã¹ããã¡ã€ã«ã§ãïŒæ¡åŒµå㯠UKE ãªã®ã§ãUKE ãã¡ã€ã«ãšåŒã¶ããšãããããã§ãïŒããã ãé»åã¬ã»ããã®ä»æ§ãææ¡ãããšããŠãããã¯ã CSV ãã¡ã€ã«ãèŠãŠå
å®¹ãææ¡ããã®ã¯è³é£ã®æ¥ã§ãããã¡ã€ã«äžã§ã¯èšºçè¡çºãå»è¬åãå·ç
åã¯ã³ãŒããšããŠè¡šçŸãããŠããããã ãã¹ã¿ããŒã¿ ãåç
§ããªããã°ãã®å
容ãŸã§çè§£ããããšã¯ã§ããªãããã§ãã ããã§ç»å Žããã®ããã¬ã»é»ãã¥ãŒã¢ãšããããŒã«ã§ãORCA Project ã«ãã£ãŠå
¬éãããŠããããªãŒã®é»åã¬ã»ãããã¥ãŒã¢ã§ãããã¬ã»é»ïŒé»åã¬ã»ãããã§ããã ORCA ProjectïŒ ã¬ã»é»ãã¥ãŒã¯ æ¥æ¬å»åž«äŒéçºã»æ¥å»æšæºã¬ã»ãããœãããŠã§ã¢ã®ãµã€ãã§ã www.orca.med.or.jp ïŒâ»äžèšããŒãžã§ã¯ãã¬ã»é»ãã¥ãŒã¢ããšãã¬ã»é»ãã¥ãŒã¯ããæ··åšããŠããŸãããæ¬ããã°ã§ã¯ãã¬ã»é»ãã¥ãŒã¢ãã§çµ±äžããŠããŸãïŒ ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu ã§åäœããäžè¿°ãã UKE ãã¡ã€ã«ãèªã¿èŸŒã¿ãèŠããã衚瀺ããŠããã䟿å©ããŒã«ã§ããããããã¯ã¬ã»é»ãã¥ãŒã¢ãã€ã³ã¹ããŒã«ããé»åã¬ã»ãããèªã¿èŸŒãã§è¡šç€ºãããšãããŸã§ã玹ä»ããããšæããŸãã ã¬ã»é»ãã¥ãŒã¢ã®ã€ã³ã¹ããŒã« ã¬ã»é»ãã¥ãŒã¢ã¯ Windows ãš Ubuntu äžã§åäœããŸãã®ã§ããŸã㯠Ubuntu ç°å¢ãæºåããŸããç§ã¯ VirtualBox äžã« Ubuntu ç°å¢ãçšæããŸããã å
¬åŒã®ã€ã³ã¹ããŒã«ããã¥ã¢ã«ïŒ ubuntu ç°å¢ãžã®ã¬ã»é»ãã¥ãŒã¢ã€ã³ã¹ããŒã« ïŒã«åºã¥ããŠäœæ¥ããŠãããŸãã # Keyring ãš apt-line ã®è¿œå $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # ã¬ã»é»ãã¥ãŒã¢ããã±ãŒãžã€ã³ã¹ããŒã« $ apt-get install jma-receview $ apt-get install jma-receview-server # ã¬ã»é»ãã¥ãŒã¢èµ·å $ jma-receview ã¬ã»é»ãã¥ãŒã¢ã®èšå® é»åã¬ã»ããã«å«ãŸãã蚺çè¡çºãªã©ã®ã³ãŒãã«å¯Ÿå¿ãããã¹ã¿ããŒã¿ãåç
§ãããããæ¥ã¬ã»ïŒjma-receiptïŒã® DB ãå©çšããããšãã§ããŸããä»å㯠DBFile 圢åŒã§ DB ã«æ¥ç¶ããŸããã¬ã»é»ãã¥ãŒã¢ã«ä»å±ããã¹ã¯ãªãããå®è¡ããjma-receipt ã® DB ããå¿
èŠãªããŒãã«ããã³ãããããšãã§ããŸãããã®ãã¡ã€ã«ãã¬ã»é»ãã¥ãŒã¢ã«èšå®ããããšã§ãé»åã¬ã»ããã®è¡šç€ºããããããããããªããŸãã # ã¬ã»é»ãã¥ãŒã¢ã§äœ¿ã DBFile ãäœã # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # ã2.7.4 DBFile ã®äœææ¹æ³ã $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh åèš 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 æ 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 æ 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 æ 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 æ 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 æ 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 æ 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 æ 18 14:57 tbl_tensu.rdb æ¥ç¶èšå®ã§ãDBFileããéžæããå
ã»ã©äœæãã DBFile ãéžæããŸãã ã¬ã»é»ãã¥ãŒã¢è¿åœ± ããã¡ã€ã«ããã UKE ãã¡ã€ã«ãéããšãã¬ã»ããã«åºã¥ããŠæ£è
åºæ¬æ
å ±ãä¿éºã»å
¬è²»æ
å ±ã蚺çè¡çºæ
å ±ã®ã»ããçŽã¬ã»ããã®ãã¬ãã¥ãŒãæ£è
åäœã§ã®é»åã¬ã»ããã衚瀺ããããšãã§ããŸãããŸãããç·šéã¢ãŒããã«åãæ¿ããããšã§æ£è
æ
å ±ãç
åã®ç·šéãå¯èœã§ãç·šéããå
容ã§ã¬ã»ãããååºåããããšãã§ããããã§ãã ããŸã ãããŸã§ç޹ä»ããŠããã¬ã»é»ãã¥ãŒã¢ã§ããã調ã¹ãŠã¿ããšã©ããã Ruby ã§å®è£
ãããŠããããã§ãããããã®ã³ãŒããèªãã§ããããšã§æ°ããªå°å¹³ãéãããšãã§ãããããããŸããã $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview ã ruby ã§æžãããŠãŸããïŒ12000 è¡ä»¥äžããâŠïŒ ãŸãšã ä»åã¯é»åã¬ã»ãããšã¬ã»é»ãã¥ãŒã¢ã«ã€ããŠãç°¡åã«ç޹ä»ããŸããã ããããã¡ã®ç掻ãšã¯åãé¢ããªããå»çãã«é¢ããã·ã¹ãã ã仿§ã¯ãæå€ãšäžè¬å
¬éãããŠãããã®ãããã誰ã§ãè§Šããããšãã§ããŸãããã ãåäœç°å¢ãå¶éãããŠããããã€ã³ã¿ãŒãããçéã®ãšã³ãžãã¢ãããç®ã«ããæè¡ãšã¯ç°ãªãã¹ã¿ãã¯ã§æ§ç¯ãããŠãããããããªãã«ããŒãã«ãããããã«æããŠããŸãã ãããã®ããŒãã«ãäžããããå€ãã®äººãã調ã¹ãŠã¿ããããã¡ãã£ãšè§Šã£ãŠã¿ããããšæãããã«ãªãã°ãå»çã«é¢ããã·ã¹ãã ã仿§ãããã·ã³ãã«ã§äœ¿ãããããã®ã«ãªããã²ããŠã¯åå»çåé¡ã®è§£æ±ºã»æ£è
äœéšã®æ¹åã«ã€ãªãã£ãŠããã®ã§ã¯ãªãããªãã¡ãã¬ãŒãã€ãªããŠãããããªãšæã£ãŠããŸãã æåŸã¯ããããšãèšã£ãŠç· ãããæ§åãªã®ã§ããããããã ã£ãã§ããããã ãããŸã§ãèªã¿ããã ããããããšãããããŸããã ãç¥ãã ã¡ãã¬ãŒã®éçºã«ãèå³ããæ¹ã¯ããã¡ããããé£çµ¡ãã ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp 7/27 ã«éå¬ããããããµã 2018Summer ã«åè³ãããŠããã ããŸãããã²éã³ã«ããããŠãã ããã Developers Summit 2018 Summer ITãšã³ãžãã¢ã®ç¥å
žãDevelopers Summit 2018 SummerãïŒãããµã2018å€ïŒã¯ã2018幎7æ27æ¥ã«éå¬ïŒ event.shoeisha.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã https://www.medley.jp/recruit/creative.html
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å¹³æšã§ãããã¡ãã®ããã°ã®æçš¿èªäœã¯ã»ãŒ 1 幎ã¶ãã«ãªããããªå¢ãã§ãããã¿ãªããŸãå
æ°ã§ãããã? åŒç€Ÿã§å®æçã«éå¬ããŠã瀟å
ååŒ·äŒ TechLunch ã§èªåã®é çªãåã£ãŠãããããã©ãããããè¿·ã£ãæ«ã« JavaScript AST ããšã¯ãã ãšããçºè¡šãããã®ã§ããã®ããšã«ã€ããŠæžããŠãããŸãã ãªã JavaScript AST ã«ã€ããŠè©±ãããšæã£ãã®ã çŸåšãåŒç€Ÿã®ãšã³ãžãã¢ã¡ã³ããŒã®ããã¯ã°ã©ãŠã³ãã§äžçªå€æ°æŽŸãªã®ã¯ãå
ãµãŒããµã€ããšã³ãžãã¢ãã§ãããã¡ãããæ¥åã§ã¯ãµãŒããµã€ãã»ããã³ããšã³ãã»ãã€ãã£ãã¢ããªãšããã¯ã°ã©ãŠã³ãã«é¢ããããå¿
èŠã«å¿ããŠåãéãŠãªãéçºããŠããŸãã ãšã¯ãããã¡ãããšãµãŒãã¹éçºèªäœã¯ã§ãããšããŠãããã¯ãåŸæãªåé以å€ã§åºæ¬åçãªã©å«ããŠææ¡ããŠéçºã§ããããšãããšãã¡ãã£ãšé£ãããšããããããŸãããããããããã£ãåºæ¬åçãªãããç¥ã£ãŠãããšããã®èšèªãããŒã«ãªã©ã®çè§£ãæãã®ã¯ç¢ºãã§ãããã ãããªäžãåŒç€Ÿã§éçºããŠãã人éãã»ãŒå
šãŠæ©æµãåããŠããã¯ããªã®ã«ãå
·äœçã«ã©ããªé¢šã«åããŠããã®ããäžçªåããã«ããã§ããã Babel ã²ããŠã¯ JavaScript AST ã®è©±ããããããŸãè峿ã£ãŠè©±ãèããŠãããããªãŒãšããããšã§ã§ãã®ããŒããéžãã æ¬¡ç¬¬ã§ãã ã©ã®ããã«äŒããã èªå㯠JavaScript AST ã«ã€ããŠãšãŠã詳ããããã§ã¯ãªãã®ã§ããã以åä»äºã§ acorn ã䜿ã£ãŠã³ã³ããŒã¿ã¿ãããªã®ãäœã£ããããŠããã®ã§ããããªãã«èå³ã¯æã£ãŠãããšãã人éã§ãã ã§ãã®ã§ãã©ããã£ãŠç޹ä»ããããããšæ©ãã çµæãã»ãŒå
šé¢çã« AST Explore ã«é Œã£ãŠãããšããã¹ã¿ã€ã«ã«ããŸãããAST Explore ã¯æ¬åœã«æé«ã§ãããåè¿°ã®ä»äºãããŠãããšãã¯ãããªäŸ¿å©ãªããŒã«ã¯ãªãã£ããã§ãã²ããã AST ã«å€æããã³ãŒãæžããŠã¯åºæ¥ã AST ãèŠãŠãããããã©ã³ã¹ãã©ãŒã ãããŠçµæãšçšãã£ãããŠè©Šè¡é¯èª€ãããšããæ¯æ¥ã§ããã ãšããããšã§ãåœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã«ãªããŸãã ã¹ã©ã€ãã§ç޹ä»ãããã¢ã¯ãããããã¡ãã«ãªããŸãã https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest ä»åäŒãããã£ãããš ãŸããAST ã JavaScript ã®çºå±ã«ãšãŠãå¯äžããŠãããã®ã ãšããããšãç¥ã£ãŠãããããã£ããããJavaScript AST ã®ä»ãŸã§ã®ç°¡åãªæµãããçŸåšã©ã®ãããªåœ¢ã§äœ¿ãããŠããã®ãã®èª¬æãããŸããã(å人çã« Node.js ã®èªçãš JavaScript AST ã®ååšãçŸåšã®ããã³ããšã³ãã®çºå±ã«ãšãŠãéèŠã ãšæã£ãŠããã®ã§) æåã®ãã¡ã¯èããŠã人ããäœã®è©±ãªãã ãâŠãæããããŸãããããã¯ãå®éã«èªåã䜿ã£ãŠããããŒã«ãªã©ã«äœ¿ãããŠãããšãã説æãããããšã ãšãèããŠããã¡ã³ããŒãä¿ç¶èå³ãåºãŠãããšããé°å²æ°ã«ãªã£ãæ°ãããŸã(åœç€Ÿæ¯)ã AST ã®ææ³ãªã©ã¯èªåã説æããããã¯ãã¡ãããšè³æãæã£ãŠããã®ã§å¿
èŠãªéšå以å€ç°¡ç¥åããŸãããéã«ã¡ãã£ãšç«¯æãããããããããããŸãããèå³ãæã£ããšãã«äœãšãªãã§ã調ã¹ãéæšãããã«ã¯ãªãããªãšèããŠããŸãã æ¬¡ã«ç¥ã£ãŠãããããã£ãã®ã¯ãããããšæãã° Babel ã®ãã©ã°ã€ã³ãªããã AST ã§äœãã¡ãããŸãããšããããšã§ãããä»®ã«ãããªããBabel ãã©ã°ã€ã³äœããŸãããããšãªã£ããšããŠãæ£çŽããŸããã³ãšæ¥ãªããšæããŸãããã©ãããåçã§ãããã¯ããåããŠããã®ã?ãåãããšã babel-handbook ãªã©ãèªãã§ãçè§£ãé²ãã®ã§ã¯ãªãããšæããŸãã AST Explore ã®ããš ãã®ããã«ä»åã®çºè¡šã§å
šé¢çã«æŽ»èºãã AST Explore ã§ãããTechLunch äžã§ã軜ã説æã ãã§äœ¿ã£ãŠããŸã£ãã®ã§ã䜿ããããªã©ç°¡åã«ã玹ä»ããŠãããŸãã AST Explore ãšã¯ AST Explore 㯠Felix Kling ãããã2014 幎é ããéçºããŠãããããã¯ãã§ãã äœè«ã§ãããFelix ããã¯çŸåš Facebook ã§åããŠããã£ãããããã§ã facebook/jscodeshift ã reactjs/react-docgen ãªããã®éçºã«ãæºãã£ãŠããã£ãããæš¡æ§ã(react-docgen 㯠babylon ã䜿ã£ãŠããããã§ãã) ãããŸã§æžããŠããéãã«ããã®ããŒã«ã¯è²ã
ãªèšèªãã³ããããã ãã§ AST ãããªãŒåœ¢åŒã§åããããã衚瀺ãããããã©ã³ã¹ãã©ãŒã ãããããšãã§ããããããšãã AST ãè§Šãã«ã¯å€§å€äŸ¿å©ãªããŒã«ã§ããå»å¹Žã® v2.0 ã®ã¢ããããŒãã«ãããã»ãŒããããš gist ãå¿åã§äœã£ãŠãããŠãªã³ã¯ãçæããããªã©ã®äŸ¿å©æ©èœãä»ããŸããã ãããžã§ã¯ãã® README ã«æžããŠããŸãããããŒãµã ãã§ããã°ãããªãããŒã¹ã§ãããã®ãå€ãããŸã JavaScript / CSS / æ£èŠè¡šçŸ / Handlebars ã«é¢ããŠã¯ãã©ã³ã¹ãã©ãŒã ãŸã§ã§ããããã«ãªã£ãŠããŸãã README ããæç²ãããšä»¥äžã®ãããªæãã§ãã AST Explore ã§ããŒã¹ã§ãããã® CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML å®éšçã ã£ãããããã©ããŒã¹ã§ãããã® ES6: arrow functions, destructuring, classes, ⊠ES7 proposals: async/await, object rest / spread, ⊠JSX Typed JavaScript Flow and TypeScript SASS ããŒã¹ãããã®ããã©ã³ã¹ãã©ãŒã ã§ãããã® JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore ã®äœ¿ãæ¹ã®ç°¡åãªè§£èª¬ ãµã€ãã«ã¢ã¯ã»ã¹ãããšãã®ãããªç»é¢ã«ãªã£ãŠããã¯ãã§ãã ã¡ã€ã³ç»é¢ JavaScript ã«ãã©ãŒã«ã¹ããŠè§£èª¬ããŠãããŸããšãå·Šãã€ã³ã AST ã«å€æããããœãŒã¹ã³ãŒããå³ãã€ã³ã倿åŸã® AST ãããªãŒæ§é ã§èŠããŠããŸãã åæè¡šç€ºæã«ãå·Šãã€ã³ã®ãœãŒã¹ã³ãŒããã¯ãªãã¯ãããšè©²åœç®æã® AST ããªãŒãå±éããŠãã€ã©ã€ãããŸãããŸãå³ãã€ã³ããã€ã³ããããšãœãŒã¹ã³ãŒãã®è©²åœç®æããã€ã©ã€ãããŸãããäºãã®é¢ä¿ãåããããã仿§ã«ãªã£ãŠããŸãã æ¬æ¥ JavaScript AST ã§çæããããã®ã¯ JSON ãªããžã§ã¯ãã«ãªããŸãããå³ãã€ã³ã®äžã® Tree ãš JSON ã®ã¿ããåããããããšã«ãã£ãŠ AST ã®è¡šç€ºã倿Žããããšãã§ããŸãã ããããŒéšå ããããŒã«è²ã
ãªæ©èœããŸãšãŸã£ãŠããŸãã åæè¡šç€ºã§ã¯ä»¥äžã®ããã«ãªã£ãŠããã¯ãã§ãã Snippet ä¿ã«ãããã¡ã€ã«ã¡ãã¥ãŒã æ°èŠäœæã»(gist ãžã®)ã»ãŒãã»(gist ã®)ãã©ãŒã¯ã»ã·ã§ã¢ããã JavaScript ããŒã¹ããèšèªéžæ ããã§ AST ã«ãããèšèªãåãæ¿ãã éžãã èšèªã«ãã£ãŠ Transform ã䜿ããªããªã acorn ããŒãµéžæ åèšèªã®ããŒãµãåãæ¿ãã Transform ãã©ã³ã¹ãã©ãŒãéžæ éžæããèšèªã«ãã©ã³ã¹ãã©ãŒããããã°éžæã§ããããã«ãªã ãã¡ããéžæãããš 2 ãã€ã³ã ã£ãã®ã 4 ãã€ã³ã«ãªã(åŸè¿°) default ãœãŒã¹ã³ãŒããªã©ãæžããšãã®ããŒãã€ã³ãéžæ default / Vim / Emacs / Sublime ã® 4 çš®é¡ããã ãããã¿ããããŸã ? ãã«ã GitHub ã® README ã«é£ã°ãããã ãã§ã⊠JavaScript ã®ãã©ã³ã¹ãã©ãŒã å
çšèª¬æãããã©ã³ã¹ãã©ãŒã ãéžã¶ãšãã¡ã€ã³ã®ç»é¢ã 4 ç»é¢ã«ãªããŸãã ä»ãŸã§ã® ãœãŒã¹ã³ãŒã ãš AST ããªãŒ ã¯å€ãããŸããããäžã« 2 ã€ãã€ã³ã远å ãããŸãã å·Šäžããã©ã³ã¹ãã©ãŒãã³ãŒããå³äžããã©ã³ã¹ãã©ãŒã ããåŸã®ãœãŒã¹ã³ãŒããšãªã£ãŠããŸãã å·Šäžã®ãã©ã³ã¹ãã©ãŒããè²ã
è§Šã£ãŠãããšå·Šäžã®ãœãŒã¹ã³ãŒãã倿ãããŠãå³äžã«è¡šç€ºããããšããæµãã§ããã ä»¥äž JavaScript ã³ãŒãã®ãã©ã³ã¹ãã©ãŒã ããéã® Tips ã§ã jscodeshift ãéžæãããš Ctrl + Space ã§ jscodeshift ã®è£å®ãå¹ãããã«ãªããŸã babel-plugin-macro ãéžã¶ãšãã©ã³ã¹ãã©ãŒãã®ã³ãŒãèªäœããã®ãŸãŸ babel-plugin ãšããŠäœ¿ããããã«ãªãã®ã§ããã©ã°ã€ã³äœããšãã«æãã¯ãã§ã ãŸãšã åŸã§åå ã¡ã³ããŒã«èããŠã¿ãŸããããäŒãããã£ãããšã¯ãã¡ãããšäŒãã£ãŠããæ§åã ã£ãã®ã§å®å¿ããŸãããæåŸã® Vue.js ã® v1 ãã v2 ã®ãã€ã°ã¬ãŒã·ã§ã³ã®ãã¢ã¯ç޹ä»ããçµæãJavaScript AST 䟿å©ãããšããæè§Šã«ãªã£ããšæããŸãã çŸåšåŒç€Ÿã®ãããã¯ãã§ãJavaScript AST ãã¬ãããªãšäœ¿ããããªãããžã§ã¯ãã¯ãªãã®ã§ãããBabel ãªã©ã¯å
šãããã¯ãã§äœ¿çšããŠãããçµæ§ãã©ã°ã€ã³ãå€çšããŠãããšãããããã®ã§ããããšãããšãã®åºç€ç¥èãšããŠèŠããŠãããŠæã¯ãªãã¯ãã§ãã ãããã£ãéšåã®ååŒ·ãæ¬ ãããç¶ããŠãããããšæ¹ããŠæãæ©äŒã«ããªããŸããã åŒç€Ÿã®éçºæåãªã©æ°ã«ãªãæ¹ã¯ããã¡ãããã©ããã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã»åŸè€ã§ãã ã¡ãã¬ãŒã¯ 5/31ã6/2 ã«éå¬ããã RurbyKaigi 2018 ã« Lightning Talks Sponsor ãšããŠåè³ãããŠããã ããŸããïŒ æšå¹Ž ã® Ruby Sponsor ã«ç¶ãã2 幎ç®ã®åè³ã§ãïŒã ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ãæ¡çšã»åºå ±ã®é¿éšãšæ·±æŸ€ããšã³ãžãã¢ã®ç°äžã宿žãåŸè€ã® 6 人ãåå ããŸãããä»åã¯ãã®æ§åãªã©ãã¬ããŒãããŸãã äŒå Žã®æ§å RubyKaigi 2018 㯠ä»å°åœéã»ã³ã¿ãŒ ã§ã®éå¬ã§ãããæšå¹Žã¯ åºå³¶ ãäžæšå¹Žã¯ äº¬éœ ãšããããšã§ãããã§å€©æ©ç«ã»å®®å³¶ã»æŸå³¶ã®æ¥æ¬äžæ¯ããããæ
ãäžæŠå®çµã«ãªããŸããã ä»å°åœéã»ã³ã¿ãŒã¯ä»å°é§
ããå°äžéæ±è¥¿ç·ã§ 3 é§
ç®ãšããã¢ã¯ã»ã¹ã®è¯ã奜ç«å°ã«ãããªããç·ã«å²ãŸããå¿å°ããå Žæã«ãããŸããã ã¡ã€ã³äŒå Žã¯ 1000 人å容ã§ããåºãäŒå Žã«ãªã£ãŠããŸããåã»ãã·ã§ã³ããã®äŒå ŽãåãŸããããã®çæ³ã¶ãã§ããã äžçå°å³&æ¥æ¬å°å³ãæ§ã
ãªå°åããã®åå è
ãããŸããïŒïŒrubyists ã« map ã¡ãœãããããŸããŠãŸããããããã¯å
容ã¯ååå è
ãã·ãŒã«ã貌ã£ãŠå®è£
ãïŒ å°å³ã®é£ã®ã¹ãã³ãµãŒããŒã芧ã«ã¡ãã¬ãŒããŽãããããšã確èªããŠãã·ã£ãã ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åã玹ä»ããŸããã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãããŒã¹ãšãã以äžãªæãã®ä»äžããã«ãªããŸããã All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 â nil (@KatsumaNarisawa) June 2, 2018 ããã«ãã£ãçšæããŠããŒã¹ã«ãè¶ãããã ããæ¹ã«ãé
ãããŠããŸãããã¹ããã«ãŒããã¡ãããã³ãã¬ããã«å ããŠå»çããããäŒããçµåµèãçšæããŸããã ããŒã¹ã«ã¯ãããããŸã§ãããããã®æ¹ã«ãè¶ãããã ããŸããïŒ CTO 平山ã®çºè¡š ãããŠãåæ¥ã® Lightning Talks åã®ã¹ãã³ãµãŒã® PR æ ã«ãŠåŒç€Ÿã® CTO 平山ãçºè¡šãããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããŸããä»¥å æ¬ããã°ã§çŽ¹ä» ããŸãã 3 æ¬ã®ãã¥ãŒã¹ãªãªãŒã¹ãå«ãããã® 1 幎ã®ã¢ããããŒãå
容ãäžå¿ã«ç޹ä»ãããŠããã ããŸããã å
¬æŒã®éäžã§ã® CTO 平山ããã¡ãã¬ãŒã®ããšãç¥ã£ãŠãã人ïŒãšã®åãããã§ã7ã» 8 å²ã®æ¹ãææãããŠããã®ã¯ææ
šæ·±ãã£ãã§ãã åœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã§ãã çŸå°ã§ã®åå¿ ããŒã¹å±ç€ºãPR æ ã§ã®çºè¡šãéããŠä»¥äžã®ãããªå¬ããåå¿ãããã ããŸããïŒ ãªã³ã©ã€ã³èšºçã¯ãã£ãšæ®åãã¹ãã§ãããå°æ¹å»çã®èª²é¡è§£æ±ºã«ãç¹ããçŽ æŽãããåãçµã¿ã ãšæãã #rubikaigi2018 #rubykaigi #ã¡ãã¬ãŒ â ãµãã / SHOWROOM ã®äººäºããããã (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] æå
ãåã£ãŠããŸã£ããã©çµåµèãããã«ãã£ã§é
ã£ãŠãããå®å¿ #rubykaigi pic.twitter.com/NeXWfTif6m â Motonori Iwata (@mobcov) June 1, 2018 ããŒã¹ã§ãã2 æ¥ç®ä»¥éã1 æ¥ç®ã®ã»ãã·ã§ã³èŠãŸããããŒããšè©±ããŠãã ããæ¹ãå€ããã¡ãã¬ãŒãšãã®ãããã¯ãã«ã€ã㊠Rubyist ã®çæ§ã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãŠãããšæããŸããã ã»ãã·ã§ã³ã®æ§å ãšã³ãžãã¢ã¯ããŒã¹ã§ã®äŒç€Ÿç޹ä»ã®åéã«åèªæ°ã«ãªã£ãã»ãã·ã§ã³ãèŽè¬ããããããŸããã æèŠã§ãã mruby ãåãããã©ãŒãã³ã¹åšãã®è©±é¡ãå€ãã£ãããã«æããŸãããŸãã« 2018 幎çŸåšã® Ruby ãåãå·»ãç°å¢ã衚ããŠããæããããŸãããšã³ãžãã¢ãšããŠãããã£ãæè¡ã®ã»ãã·ã§ã³ãèããã®ã¯çŽç²ã«æ¥œããã§ãããæ¥ã
ã®éçºã«æŽ»ãããããªãã¿ããã£ãããšããšãŠãææçŸ©ãªæéãéãããŸããã åæ¥ã® keynote ã§ã® 1 ã³ãã Matz ããã® keynote ã«ããããŸãããäœäºããå¡ç¿ã銬ãã§ããæ¯å¹Ž Ruby ã¯æ»ã«ããããŠçãŸãå€ãããŸãïŒã¯ãªã¹ãã¹ã«ïŒãRuby ãåžžã«é²åããŠããããšãèã§æããããšã®ã§ããã»ãã·ã§ã³çŸ€ã§ããã çªå€ç·š ããŠãã¡ãã¬ãŒæäŸïŒïŒïŒã®ãåãã§ããä»åã¯å€§åŽå
«å¹¡å®®ã«åè©£ããããšã«ãªããŸããã 倧åŽå
«å¹¡å®®ã®ç€Ÿæ®¿ã¯åœå®ã«ãæå®ãããŠãããå®åæ¡å±±æä»£ã®è±ªè¯çµ¢çãªæ§åŒã®å»ºç¯ã§ãšãŠãé°å²æ°ã®ããç¥ç€Ÿã§ããã åæãã 3 人ã åæãã 2 人ãšãããæ®åœ±ãã 2 人ã ãããã« æšå¹Žã«åŒãç¶ãã¡ãã¬ãŒã® RubyKaigi åè³ã¯ 2 床ç®ã«ãªããŸããã ããŒã¹ã§äŒç€Ÿããããã¯ãã®èª¬æããŠãããšãã¡ãã¬ãŒç¥ã£ãŠãŸãããšã®å£°ãèãæ©äŒãå€ãããšãŠãå¬ããéãã§ããããããŸã§ä»¥äžã« Rubyãå»ç ÃIT ãçãäžããŠãããã°ãšããæ°æã¡ãèžã«ä»å°ãåŸã«ããŸããã ïŒæ°å¹¹ç·ããä»å°ã®å€çŒãããã·ã£ãªïŒ ãç¥ãã åŒç€Ÿã§ã¯ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒ èå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã About æ ªåŒäŒç€Ÿã¡ãã¬ãŒ - Wantedly You can read employee interviews and the latest company's initiative of æ ªåŒäŒç€Ÿã¡ãã¬ãŒ. æ¥éãªé«éœ¢åãå»çè²»ã®é«éš°ãå»ççŸå Žã®ç²åŒãå«ã°ããäžã§ããã®ãŸãŸã§ã¯å®¶èšã倧ããå§è¿«ããŠæ¯ããããªããªããæ¥æ¬ã®å»çã¯åŽ©å£ããŠããŸããŸãããã®ç¶æ
ãè§£æ¶ããããã®éµããå»ççŸå Žã«ãããã¯ã©ãŠã掻çšãé§äœ¿ããæ¥åå¹çåãã§ãã ãããæ¥æ¬ã§ã¯ã忰以äžã®å»çæ©é¢ãããŸã ã«çŽã«ã«ããå©çšããŠãããªã©ãã¯ã©ãŠãåã¯çãããžã¿ã«æŽ»çšãé²ãã§ããªãã®ãçŸç¶ã§ããç§ãã¡ã¯ãã¯ãããžãŒã掻çšããäºæ¥ããããžã§ã¯ããéããŠãå»çãã«ã¹ã±ã¢åéã®ããžã¿ã«æŽ»çšãæšé²ããæ¥æ¬ã®æªæ¥ãäœãããã®åãçµã¿ãè¡ã£ãŠãããŸãã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã https://www.medley.jp/recruit/creative.html
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã»åŸè€ã§ãã ã¡ãã¬ãŒã¯ 5/31ã6/2 ã«éå¬ããã RurbyKaigi 2018 ã« Lightning Talks Sponsor ãšããŠåè³ãããŠããã ããŸããïŒ æšå¹Ž ã® Ruby Sponsor ã«ç¶ãã2 幎ç®ã®åè³ã§ãïŒã ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ãæ¡çšã»åºå ±ã®é¿éšãšæ·±æŸ€ããšã³ãžãã¢ã®ç°äžã宿žãåŸè€ã® 6 人ãåå ããŸãããä»åã¯ãã®æ§åãªã©ãã¬ããŒãããŸãã äŒå Žã®æ§å RubyKaigi 2018 㯠ä»å°åœéã»ã³ã¿ãŒ ã§ã®éå¬ã§ãããæšå¹Žã¯ åºå³¶ ãäžæšå¹Žã¯ äº¬éœ ãšããããšã§ãããã§å€©æ©ç«ã»å®®å³¶ã»æŸå³¶ã®æ¥æ¬äžæ¯ããããæ
ãäžæŠå®çµã«ãªããŸããã ä»å°åœéã»ã³ã¿ãŒã¯ä»å°é§
ããå°äžéæ±è¥¿ç·ã§ 3 é§
ç®ãšããã¢ã¯ã»ã¹ã®è¯ã奜ç«å°ã«ãããªããç·ã«å²ãŸããå¿å°ããå Žæã«ãããŸããã ã¡ã€ã³äŒå Žã¯ 1000 人å容ã§ããåºãäŒå Žã«ãªã£ãŠããŸããåã»ãã·ã§ã³ããã®äŒå ŽãåãŸããããã®çæ³ã¶ãã§ããã äžçå°å³&æ¥æ¬å°å³ãæ§ã
ãªå°åããã®åå è
ãããŸããïŒïŒrubyists ã« map ã¡ãœãããããŸããŠãŸããããããã¯å
容ã¯ååå è
ãã·ãŒã«ã貌ã£ãŠå®è£
ãïŒ å°å³ã®é£ã®ã¹ãã³ãµãŒããŒã芧ã«ã¡ãã¬ãŒããŽãããããšã確èªããŠãã·ã£ãã ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åã玹ä»ããŸããã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãããŒã¹ãšãã以äžãªæãã®ä»äžããã«ãªããŸããã All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 â nil (@KatsumaNarisawa) June 2, 2018 ããã«ãã£ãçšæããŠããŒã¹ã«ãè¶ãããã ããæ¹ã«ãé
ãããŠããŸãããã¹ããã«ãŒããã¡ãããã³ãã¬ããã«å ããŠå»çããããäŒããçµåµèãçšæããŸããã ããŒã¹ã«ã¯ãããããŸã§ãããããã®æ¹ã«ãè¶ãããã ããŸããïŒ CTO 平山ã®çºè¡š ãããŠãåæ¥ã® Lightning Talks åã®ã¹ãã³ãµãŒã® PR æ ã«ãŠåŒç€Ÿã® CTO 平山ãçºè¡šãããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããŸããä»¥å æ¬ããã°ã§çŽ¹ä» ããŸãã 3 æ¬ã®ãã¥ãŒã¹ãªãªãŒã¹ãå«ãããã® 1 幎ã®ã¢ããããŒãå
容ãäžå¿ã«ç޹ä»ãããŠããã ããŸããã å
¬æŒã®éäžã§ã® CTO 平山ããã¡ãã¬ãŒã®ããšãç¥ã£ãŠãã人ïŒãšã®åãããã§ã7ã» 8 å²ã®æ¹ãææãããŠããã®ã¯ææ
šæ·±ãã£ãã§ãã åœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã§ãã çŸå°ã§ã®åå¿ ããŒã¹å±ç€ºãPR æ ã§ã®çºè¡šãéããŠä»¥äžã®ãããªå¬ããåå¿ãããã ããŸããïŒ ãªã³ã©ã€ã³èšºçã¯ãã£ãšæ®åãã¹ãã§ãããå°æ¹å»çã®èª²é¡è§£æ±ºã«ãç¹ããçŽ æŽãããåãçµã¿ã ãšæãã #rubikaigi2018 #rubykaigi #ã¡ãã¬ãŒ â ãµãã / SHOWROOM ã®äººäºããããã (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] æå
ãåã£ãŠããŸã£ããã©çµåµèãããã«ãã£ã§é
ã£ãŠãããå®å¿ #rubykaigi pic.twitter.com/NeXWfTif6m â Motonori Iwata (@mobcov) June 1, 2018 ããŒã¹ã§ãã2 æ¥ç®ä»¥éã1 æ¥ç®ã®ã»ãã·ã§ã³èŠãŸããããŒããšè©±ããŠãã ããæ¹ãå€ããã¡ãã¬ãŒãšãã®ãããã¯ãã«ã€ã㊠Rubyist ã®çæ§ã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãŠãããšæããŸããã ã»ãã·ã§ã³ã®æ§å ãšã³ãžãã¢ã¯ããŒã¹ã§ã®äŒç€Ÿç޹ä»ã®åéã«åèªæ°ã«ãªã£ãã»ãã·ã§ã³ãèŽè¬ããããããŸããã æèŠã§ãã mruby ãåãããã©ãŒãã³ã¹åšãã®è©±é¡ãå€ãã£ãããã«æããŸãããŸãã« 2018 幎çŸåšã® Ruby ãåãå·»ãç°å¢ã衚ããŠããæããããŸãããšã³ãžãã¢ãšããŠãããã£ãæè¡ã®ã»ãã·ã§ã³ãèããã®ã¯çŽç²ã«æ¥œããã§ãããæ¥ã
ã®éçºã«æŽ»ãããããªãã¿ããã£ãããšããšãŠãææçŸ©ãªæéãéãããŸããã åæ¥ã® keynote ã§ã® 1 ã³ãã Matz ããã® keynote ã«ããããŸãããäœäºããå¡ç¿ã銬ãã§ããæ¯å¹Ž Ruby ã¯æ»ã«ããããŠçãŸãå€ãããŸãïŒã¯ãªã¹ãã¹ã«ïŒãRuby ãåžžã«é²åããŠããããšãèã§æããããšã®ã§ããã»ãã·ã§ã³çŸ€ã§ããã çªå€ç·š ããŠãã¡ãã¬ãŒæäŸïŒïŒïŒã®ãåãã§ããä»åã¯å€§åŽå
«å¹¡å®®ã«åè©£ããããšã«ãªããŸããã 倧åŽå
«å¹¡å®®ã®ç€Ÿæ®¿ã¯åœå®ã«ãæå®ãããŠãããå®åæ¡å±±æä»£ã®è±ªè¯çµ¢çãªæ§åŒã®å»ºç¯ã§ãšãŠãé°å²æ°ã®ããç¥ç€Ÿã§ããã åæãã 3 人ã åæãã 2 人ãšãããæ®åœ±ãã 2 人ã ãããã« æšå¹Žã«åŒãç¶ãã¡ãã¬ãŒã® RubyKaigi åè³ã¯ 2 床ç®ã«ãªããŸããã ããŒã¹ã§äŒç€Ÿããããã¯ãã®èª¬æããŠãããšãã¡ãã¬ãŒç¥ã£ãŠãŸãããšã®å£°ãèãæ©äŒãå€ãããšãŠãå¬ããéãã§ããããããŸã§ä»¥äžã« Rubyãå»ç ÃIT ãçãäžããŠãããã°ãšããæ°æã¡ãèžã«ä»å°ãåŸã«ããŸããã ïŒæ°å¹¹ç·ããä»å°ã®å€çŒãããã·ã£ãªïŒ ãç¥ãã åŒç€Ÿã§ã¯ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒ èå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã https://www.wantedly.com/companies/medley éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã https://www.medley.jp/recruit/creative.html
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã»åŸè€ã§ãã ã¡ãã¬ãŒã¯ 5/31ã6/2 ã«éå¬ããã RurbyKaigi 2018 ã« Lightning Talks Sponsor ãšããŠåè³ãããŠããã ããŸããïŒ æšå¹Ž ã® Ruby Sponsor ã«ç¶ãã2 幎ç®ã®åè³ã§ãïŒã ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ãæ¡çšã»åºå ±ã®é¿éšãšæ·±æŸ€ããšã³ãžãã¢ã®ç°äžã宿žãåŸè€ã® 6 人ãåå ããŸãããä»åã¯ãã®æ§åãªã©ãã¬ããŒãããŸãã äŒå Žã®æ§å RubyKaigi 2018 㯠ä»å°åœéã»ã³ã¿ãŒ ã§ã®éå¬ã§ãããæšå¹Žã¯ åºå³¶ ãäžæšå¹Žã¯ äº¬éœ ãšããããšã§ãããã§å€©æ©ç«ã»å®®å³¶ã»æŸå³¶ã®æ¥æ¬äžæ¯ããããæ
ãäžæŠå®çµã«ãªããŸããã ä»å°åœéã»ã³ã¿ãŒã¯ä»å°é§
ããå°äžéæ±è¥¿ç·ã§ 3 é§
ç®ãšããã¢ã¯ã»ã¹ã®è¯ã奜ç«å°ã«ãããªããç·ã«å²ãŸããå¿å°ããå Žæã«ãããŸããã ã¡ã€ã³äŒå Žã¯ 1000 人å容ã§ããåºãäŒå Žã«ãªã£ãŠããŸããåã»ãã·ã§ã³ããã®äŒå ŽãåãŸããããã®çæ³ã¶ãã§ããã äžçå°å³&æ¥æ¬å°å³ãæ§ã
ãªå°åããã®åå è
ãããŸããïŒïŒrubyists ã« map ã¡ãœãããããŸããŠãŸããããããã¯å
容ã¯ååå è
ãã·ãŒã«ã貌ã£ãŠå®è£
ãïŒ å°å³ã®é£ã®ã¹ãã³ãµãŒããŒã芧ã«ã¡ãã¬ãŒããŽãããããšã確èªããŠãã·ã£ãã ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åã玹ä»ããŸããã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãããŒã¹ãšãã以äžãªæãã®ä»äžããã«ãªããŸããã All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 â nil (@KatsumaNarisawa) June 2, 2018 ããã«ãã£ãçšæããŠããŒã¹ã«ãè¶ãããã ããæ¹ã«ãé
ãããŠããŸãããã¹ããã«ãŒããã¡ãããã³ãã¬ããã«å ããŠå»çããããäŒããçµåµèãçšæããŸããã ããŒã¹ã«ã¯ãããããŸã§ãããããã®æ¹ã«ãè¶ãããã ããŸããïŒ CTO 平山ã®çºè¡š ãããŠãåæ¥ã® Lightning Talks åã®ã¹ãã³ãµãŒã® PR æ ã«ãŠåŒç€Ÿã® CTO 平山ãçºè¡šãããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããŸããä»¥å æ¬ããã°ã§çŽ¹ä» ããŸãã 3 æ¬ã®ãã¥ãŒã¹ãªãªãŒã¹ãå«ãããã® 1 幎ã®ã¢ããããŒãå
容ãäžå¿ã«ç޹ä»ãããŠããã ããŸããã å
¬æŒã®éäžã§ã® CTO 平山ããã¡ãã¬ãŒã®ããšãç¥ã£ãŠãã人ïŒãšã®åãããã§ã7ã» 8 å²ã®æ¹ãææãããŠããã®ã¯ææ
šæ·±ãã£ãã§ãã åœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã§ãã çŸå°ã§ã®åå¿ ããŒã¹å±ç€ºãPR æ ã§ã®çºè¡šãéããŠä»¥äžã®ãããªå¬ããåå¿ãããã ããŸããïŒ ãªã³ã©ã€ã³èšºçã¯ãã£ãšæ®åãã¹ãã§ãããå°æ¹å»çã®èª²é¡è§£æ±ºã«ãç¹ããçŽ æŽãããåãçµã¿ã ãšæãã #rubikaigi2018 #rubykaigi #ã¡ãã¬ãŒ â ãµãã / SHOWROOM ã®äººäºããããã (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] æå
ãåã£ãŠããŸã£ããã©çµåµèãããã«ãã£ã§é
ã£ãŠãããå®å¿ #rubykaigi pic.twitter.com/NeXWfTif6m â Motonori Iwata (@mobcov) June 1, 2018 ããŒã¹ã§ãã2 æ¥ç®ä»¥éã1 æ¥ç®ã®ã»ãã·ã§ã³èŠãŸããããŒããšè©±ããŠãã ããæ¹ãå€ããã¡ãã¬ãŒãšãã®ãããã¯ãã«ã€ã㊠Rubyist ã®çæ§ã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãŠãããšæããŸããã ã»ãã·ã§ã³ã®æ§å ãšã³ãžãã¢ã¯ããŒã¹ã§ã®äŒç€Ÿç޹ä»ã®åéã«åèªæ°ã«ãªã£ãã»ãã·ã§ã³ãèŽè¬ããããããŸããã æèŠã§ãã mruby ãåãããã©ãŒãã³ã¹åšãã®è©±é¡ãå€ãã£ãããã«æããŸãããŸãã« 2018 幎çŸåšã® Ruby ãåãå·»ãç°å¢ã衚ããŠããæããããŸãããšã³ãžãã¢ãšããŠãããã£ãæè¡ã®ã»ãã·ã§ã³ãèããã®ã¯çŽç²ã«æ¥œããã§ãããæ¥ã
ã®éçºã«æŽ»ãããããªãã¿ããã£ãããšããšãŠãææçŸ©ãªæéãéãããŸããã åæ¥ã® keynote ã§ã® 1 ã³ãã Matz ããã® keynote ã«ããããŸãããäœäºããå¡ç¿ã銬ãã§ããæ¯å¹Ž Ruby ã¯æ»ã«ããããŠçãŸãå€ãããŸãïŒã¯ãªã¹ãã¹ã«ïŒãRuby ãåžžã«é²åããŠããããšãèã§æããããšã®ã§ããã»ãã·ã§ã³çŸ€ã§ããã çªå€ç·š ããŠãã¡ãã¬ãŒæäŸïŒïŒïŒã®ãåãã§ããä»åã¯å€§åŽå
«å¹¡å®®ã«åè©£ããããšã«ãªããŸããã 倧åŽå
«å¹¡å®®ã®ç€Ÿæ®¿ã¯åœå®ã«ãæå®ãããŠãããå®åæ¡å±±æä»£ã®è±ªè¯çµ¢çãªæ§åŒã®å»ºç¯ã§ãšãŠãé°å²æ°ã®ããç¥ç€Ÿã§ããã åæãã 3 人ã åæãã 2 人ãšãããæ®åœ±ãã 2 人ã ãããã« æšå¹Žã«åŒãç¶ãã¡ãã¬ãŒã® RubyKaigi åè³ã¯ 2 床ç®ã«ãªããŸããã ããŒã¹ã§äŒç€Ÿããããã¯ãã®èª¬æããŠãããšãã¡ãã¬ãŒç¥ã£ãŠãŸãããšã®å£°ãèãæ©äŒãå€ãããšãŠãå¬ããéãã§ããããããŸã§ä»¥äžã« Rubyãå»ç ÃIT ãçãäžããŠãããã°ãšããæ°æã¡ãèžã«ä»å°ãåŸã«ããŸããã ïŒæ°å¹¹ç·ããä»å°ã®å€çŒãããã·ã£ãªïŒ ãç¥ãã åŒç€Ÿã§ã¯ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒ èå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã About æ ªåŒäŒç€Ÿã¡ãã¬ãŒ - Wantedly You can read employee interviews and the latest company's initiative of æ ªåŒäŒç€Ÿã¡ãã¬ãŒ. æ¥éãªé«éœ¢åãå»çè²»ã®é«éš°ãå»ççŸå Žã®ç²åŒãå«ã°ããäžã§ããã®ãŸãŸã§ã¯å®¶èšã倧ããå§è¿«ããŠæ¯ããããªããªããæ¥æ¬ã®å»çã¯åŽ©å£ããŠããŸããŸãããã®ç¶æ
ãè§£æ¶ããããã®éµããå»ççŸå Žã«ãããã¯ã©ãŠã掻çšãé§äœ¿ããæ¥åå¹çåãã§ãã ãããæ¥æ¬ã§ã¯ã忰以äžã®å»çæ©é¢ãããŸã ã«çŽã«ã«ããå©çšããŠãããªã©ãã¯ã©ãŠãåã¯çãããžã¿ã«æŽ»çšãé²ãã§ããªãã®ãçŸç¶ã§ããç§ãã¡ã¯ãã¯ãããžãŒã掻çšããäºæ¥ããããžã§ã¯ããéããŠãå»çãã«ã¹ã±ã¢åéã®ããžã¿ã«æŽ»çšãæšé²ããæ¥æ¬ã®æªæ¥ãäœãããã®åãçµã¿ãè¡ã£ãŠãããŸãã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã https://www.medley.jp/recruit/creative.html
ããã«ã¡ã¯ïŒéçºæ¬éšã®ãšã³ãžãã¢ã»åŸè€ã§ãã ã¡ãã¬ãŒã¯ 5/31ã6/2 ã«éå¬ããã RurbyKaigi 2018 ã« Lightning Talks Sponsor ãšããŠåè³ãããŠããã ããŸããïŒ æšå¹Ž ã® Ruby Sponsor ã«ç¶ãã2 幎ç®ã®åè³ã§ãïŒã ã€ãã³ãåœæ¥ã¯ãåŒç€Ÿãã CTO ã®å¹³å±±ãæ¡çšã»åºå ±ã®é¿éšãšæ·±æŸ€ããšã³ãžãã¢ã®ç°äžã宿žãåŸè€ã® 6 人ãåå ããŸãããä»åã¯ãã®æ§åãªã©ãã¬ããŒãããŸãã äŒå Žã®æ§å RubyKaigi 2018 㯠ä»å°åœéã»ã³ã¿ãŒ ã§ã®éå¬ã§ãããæšå¹Žã¯ åºå³¶ ãäžæšå¹Žã¯ äº¬éœ ãšããããšã§ãããã§å€©æ©ç«ã»å®®å³¶ã»æŸå³¶ã®æ¥æ¬äžæ¯ããããæ
ãäžæŠå®çµã«ãªããŸããã ä»å°åœéã»ã³ã¿ãŒã¯ä»å°é§
ããå°äžéæ±è¥¿ç·ã§ 3 é§
ç®ãšããã¢ã¯ã»ã¹ã®è¯ã奜ç«å°ã«ãããªããç·ã«å²ãŸããå¿å°ããå Žæã«ãããŸããã ã¡ã€ã³äŒå Žã¯ 1000 人å容ã§ããåºãäŒå Žã«ãªã£ãŠããŸããåã»ãã·ã§ã³ããã®äŒå ŽãåãŸããããã®çæ³ã¶ãã§ããã äžçå°å³&æ¥æ¬å°å³ãæ§ã
ãªå°åããã®åå è
ãããŸããïŒïŒrubyists ã« map ã¡ãœãããããŸããŠãŸããããããã¯å
容ã¯ååå è
ãã·ãŒã«ã貌ã£ãŠå®è£
ãïŒ å°å³ã®é£ã®ã¹ãã³ãµãŒããŒã芧ã«ã¡ãã¬ãŒããŽãããããšã確èªããŠãã·ã£ãã ããŒã¹ã®æ§å ç¶ããŠããŒã¹ã®æ§åã玹ä»ããŸããã¡ãã¬ãŒã³ãŒãã¬ãŒãã«ã©ãŒã®èµ€ãããŒã¹ãšãã以äžãªæãã®ä»äžããã«ãªããŸããã All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 â nil (@KatsumaNarisawa) June 2, 2018 ããã«ãã£ãçšæããŠããŒã¹ã«ãè¶ãããã ããæ¹ã«ãé
ãããŠããŸãããã¹ããã«ãŒããã¡ãããã³ãã¬ããã«å ããŠå»çããããäŒããçµåµèãçšæããŸããã ããŒã¹ã«ã¯ãããããŸã§ãããããã®æ¹ã«ãè¶ãããã ããŸããïŒ CTO 平山ã®çºè¡š ãããŠãåæ¥ã® Lightning Talks åã®ã¹ãã³ãµãŒã® PR æ ã«ãŠåŒç€Ÿã® CTO 平山ãçºè¡šãããŸããã çºè¡šã§ã¯ããå»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããããšããããã·ã§ã³ã®ããšã¡ãã¬ãŒã 4 ã€ã®äºæ¥ãè¡ã£ãŠããããšããŸããä»¥å æ¬ããã°ã§çŽ¹ä» ããŸãã 3 æ¬ã®ãã¥ãŒã¹ãªãªãŒã¹ãå«ãããã® 1 幎ã®ã¢ããããŒãå
容ãäžå¿ã«ç޹ä»ãããŠããã ããŸããã å
¬æŒã®éäžã§ã® CTO 平山ããã¡ãã¬ãŒã®ããšãç¥ã£ãŠãã人ïŒãšã®åãããã§ã7ã» 8 å²ã®æ¹ãææãããŠããã®ã¯ææ
šæ·±ãã£ãã§ãã åœæ¥ã®ã¹ã©ã€ãã¯ãã¡ãã§ãã çŸå°ã§ã®åå¿ ããŒã¹å±ç€ºãPR æ ã§ã®çºè¡šãéããŠä»¥äžã®ãããªå¬ããåå¿ãããã ããŸããïŒ ãªã³ã©ã€ã³èšºçã¯ãã£ãšæ®åãã¹ãã§ãããå°æ¹å»çã®èª²é¡è§£æ±ºã«ãç¹ããçŽ æŽãããåãçµã¿ã ãšæãã #rubikaigi2018 #rubykaigi #ã¡ãã¬ãŒ â ãµãã / SHOWROOM ã®äººäºããããã (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] æå
ãåã£ãŠããŸã£ããã©çµåµèãããã«ãã£ã§é
ã£ãŠãããå®å¿ #rubykaigi pic.twitter.com/NeXWfTif6m â Motonori Iwata (@mobcov) June 1, 2018 ããŒã¹ã§ãã2 æ¥ç®ä»¥éã1 æ¥ç®ã®ã»ãã·ã§ã³èŠãŸããããŒããšè©±ããŠãã ããæ¹ãå€ããã¡ãã¬ãŒãšãã®ãããã¯ãã«ã€ã㊠Rubyist ã®çæ§ã«ç¥ã£ãŠããã ããšãŠãè¯ãæ©äŒã«ãªã£ãŠãããšæããŸããã ã»ãã·ã§ã³ã®æ§å ãšã³ãžãã¢ã¯ããŒã¹ã§ã®äŒç€Ÿç޹ä»ã®åéã«åèªæ°ã«ãªã£ãã»ãã·ã§ã³ãèŽè¬ããããããŸããã æèŠã§ãã mruby ãåãããã©ãŒãã³ã¹åšãã®è©±é¡ãå€ãã£ãããã«æããŸãããŸãã« 2018 幎çŸåšã® Ruby ãåãå·»ãç°å¢ã衚ããŠããæããããŸãããšã³ãžãã¢ãšããŠãããã£ãæè¡ã®ã»ãã·ã§ã³ãèããã®ã¯çŽç²ã«æ¥œããã§ãããæ¥ã
ã®éçºã«æŽ»ãããããªãã¿ããã£ãããšããšãŠãææçŸ©ãªæéãéãããŸããã åæ¥ã® keynote ã§ã® 1 ã³ãã Matz ããã® keynote ã«ããããŸãããäœäºããå¡ç¿ã銬ãã§ããæ¯å¹Ž Ruby ã¯æ»ã«ããããŠçãŸãå€ãããŸãïŒã¯ãªã¹ãã¹ã«ïŒãRuby ãåžžã«é²åããŠããããšãèã§æããããšã®ã§ããã»ãã·ã§ã³çŸ€ã§ããã çªå€ç·š ããŠãã¡ãã¬ãŒæäŸïŒïŒïŒã®ãåãã§ããä»åã¯å€§åŽå
«å¹¡å®®ã«åè©£ããããšã«ãªããŸããã 倧åŽå
«å¹¡å®®ã®ç€Ÿæ®¿ã¯åœå®ã«ãæå®ãããŠãããå®åæ¡å±±æä»£ã®è±ªè¯çµ¢çãªæ§åŒã®å»ºç¯ã§ãšãŠãé°å²æ°ã®ããç¥ç€Ÿã§ããã åæãã 3 人ã åæãã 2 人ãšãããæ®åœ±ãã 2 人ã ãããã« æšå¹Žã«åŒãç¶ãã¡ãã¬ãŒã® RubyKaigi åè³ã¯ 2 床ç®ã«ãªããŸããã ããŒã¹ã§äŒç€Ÿããããã¯ãã®èª¬æããŠãããšãã¡ãã¬ãŒç¥ã£ãŠãŸãããšã®å£°ãèãæ©äŒãå€ãããšãŠãå¬ããéãã§ããããããŸã§ä»¥äžã« Rubyãå»ç ÃIT ãçãäžããŠãããã°ãšããæ°æã¡ãèžã«ä»å°ãåŸã«ããŸããã ïŒæ°å¹¹ç·ããä»å°ã®å€çŒãããã·ã£ãªïŒ ãç¥ãã åŒç€Ÿã§ã¯ãå»ç x IT ãžã®ææŠãã«åãçµã¿ãããšã³ãžãã¢ã®ã¿ãªãããå¿ãããåŸ
ã¡ããŠãããŸãïŒ èå³ãããæ¹ã¯ããã¡ãã®ã話ãèããŠã¿ããããããé£çµ¡ãã ããã About æ ªåŒäŒç€Ÿã¡ãã¬ãŒ - Wantedly You can read employee interviews and the latest company's initiative of æ ªåŒäŒç€Ÿã¡ãã¬ãŒ. æ¥éãªé«éœ¢åãå»çè²»ã®é«éš°ãå»ççŸå Žã®ç²åŒãå«ã°ããäžã§ããã®ãŸãŸã§ã¯å®¶èšã倧ããå§è¿«ããŠæ¯ããããªããªããæ¥æ¬ã®å»çã¯åŽ©å£ããŠããŸããŸãããã®ç¶æ
ãè§£æ¶ããããã®éµããå»ççŸå Žã«ãããã¯ã©ãŠã掻çšãé§äœ¿ããæ¥åå¹çåãã§ãã ãããæ¥æ¬ã§ã¯ã忰以äžã®å»çæ©é¢ãããŸã ã«çŽã«ã«ããå©çšããŠãããªã©ãã¯ã©ãŠãåã¯çãããžã¿ã«æŽ»çšãé²ãã§ããªãã®ãçŸç¶ã§ããç§ãã¡ã¯ãã¯ãããžãŒã掻çšããäºæ¥ããããžã§ã¯ããéããŠãå»çãã«ã¹ã±ã¢åéã®ããžã¿ã«æŽ»çšãæšé²ããæ¥æ¬ã®æªæ¥ãäœãããã®åãçµã¿ãè¡ã£ãŠãããŸãã www.wantedly.com éçºæ¬éšã®é°å²æ°ããã£ãšç¥ãããæ¹ã¯ããã¡ãããã©ããã https://www.medley.jp/recruit/creative.html