ããã«ã¡ã¯ãfuj_takã§ãã ä»å㯠ã©ã¯ ã¹ã®ãµãŒã¯ã«æŽ»åã«ã€ããŠç޹ä»ããŸãïŒ ãµãŒã¯ã«æŽ»åã«ã€ã㊠ãµãŒã¯ã«æŽ»åã¯ã ã©ã¯ ã¹ã§åãã«ããã£ãŠãã¢ãããŒã·ã§ã³åäžãä¿¡é Œé¢ä¿ãç¯ãããšã ã¯ãŒã¯ã©ã€ããã©ã³ã¹ ãå
å®ãããããšãç®çãšããŠããŸãã ãŸãããµãŒã¯ã«æŽ»åã«å¯ŸããŠäŒç€Ÿããã®è£å©ãåããäºãã§ããŸãã æ¥åã«è¿ãå
容ã ãã§ãªããè¶£å³ãéããŠäº€æµãå³ããµãŒã¯ã«ãªã©æ§ã
㧠奜ããªã㯠ãã ãžãŒ ãéçº ã«ã¡ã©æ®åœ± ããããµã« ã¬ã³ãã© ãªã©ã§ãã ãã®ä»ã«ã倿°ã®ãµãŒã¯ã«ããããŸãã ããŒãã²ãŒã ãµãŒã¯ã« ç§ãåå ããŠãããµãŒã¯ã«ã¯ã ããŒãã²ãŒã ãµãŒã¯ã«ãã§ãã å¹³æ¥ã®æ¥åæéåŸã課ïŒéšçœ²åããè²ã
ãªã¡ã³ããŒãåå ããŠããŸãã ããŒãã²ãŒã ãšãã£ãŠããåºãç¥ãããŠãã人çã²ãŒã ã ã¢ãããªãŒ ã§ã¯ãªãã ã«ã¿ã³ ã«ã«ã«ãœã³ã ããããªã³ ãšãã£ããã®ã§ãä»ãŸã§ååãèããäºããªããã®ã°ããã§ããã å§ãã¯ã«ãŒã«ã«æ··ä¹±ããã®ã§ãããäžåºŠãã£ãŠã¿ããšå€§äœã«ãŒã«ãçè§£ã§ããããã«ãªããŸããã ã©ããå¥¥ãæ·±ããæ¥é ããœã³ã³ã ã¹ãã ã«ã°ããç®ãåããŠããèªåã«ã¯ãšãŠãæ°é®®ã§æ¥œããã§ãã æ¥é ãªããªãã³ãã¥ãã±ãŒã·ã§ã³ãåãã¥ããã¡ã³ããŒãšã ããŒãã²ãŒã ãéããŠäº€æµãå³ããã®ã§ã瀟å
ã®äº€æµã®å¹
ãåºãããããªãã¬ãã·ã¥ã«ããªããã§ãããã ç§ã®ãããã㯠ããããªã³ ã§ãïŒ ã²ãŒã ã®ã«ãŒã«ãæ§ã
ãªããªãšãŒã·ã§ã³ã§çµã¿åãããããã®ã§ãæ¯åéã£ãé¢çœãããããã§ããã ãããªååã®ã«ãŒãããã£ãŠããªããå¿ãããããããŸãã å°äžè²¯èµåº« å®°çž æµ·ã®åŠå© ç士 ããåãæé·ãããäžç·ã«ããããšããããã§ããŸãã ãŸã 1æ³ãš3æ³ãªã®ã§ä»ã¯äžç·ã«ã§ããŸãããïŒç¬ïŒã 瀟å
ã«åºããªãã¬ãã·ã¥ã¹ããŒã¹ãåããŠããããã ããŒãã²ãŒã ã ãã§ãªãæ§ã
ãªæŽ»åã§ç€Ÿå
ã®ç°å¢ã掻çšã§ããããã«ãªã£ãŠããŸãã www.wantedly.com ã©ã¯ ã¹ã§ã¯æ¥åã ãã§ãªãããµãŒã¯ã«æŽ»åãªã©ã® ã¯ãŒã¯ã©ã€ããã©ã³ã¹ ãæèããŠããŸãã æ¥åããµãŒã¯ã«ã楜ãã¿ãªãããæ¥œãããšã³ãžãã¢ã©ã€ããéã£ãŠãããããšæããŸãïŒ
ããã«ã¡ã¯ããšã³ãžãã¢ã®mickey-STRANGEã§ãã ã¯ããã« ä»åã¯å
æ¥ã倧éªãªãã£ã¹ã§éå¬ããã11æãã¢ããã·ã¥ãã玹ä»ããããŸãã ååã®ãã¢ããã·ã¥èšäºã¯ãã¡ãâ tech-blog.rakus.co.jp ã¯ããã« ããŒãçºè¡š Mail Dealer é
é
ã¡ãŒã« æ¥œæ¥œç²Ÿç® Chat Dealer åãDB LTçºè¡š è¡ãã©UIã¬ãã¥ãŒ CIãã¬ã³ããªãªDBããã¥ã¡ã³ãçæããŒã«ã§ããã¥ã¡ã³ãã®ææ°ãç¶æãç¶ãã Meetupãã¯ãããã ãããã« ããŒãçºè¡š 11æã®ãã¢ããã·ã¥ã®ããŒãã¯æ°æ©èœç¹éã§ããã ã©ã¯ ã¹ã®å補åã®éçºè
ã«ãããªæ©èœäœã£ããããããã°ã£ãããããèŠåŽããããšããã話ãããŠããã ããŸããã ãŸããããŒãçºè¡šã®åŸã«ã¯LTçºè¡šããããå
容ãã£ã·ãã®ãã¢ããã·ã¥ã§ããã Mail Dealer ä»åŸãªãªãŒã¹äºå®ã®æ©èœã«ã€ããŠã®çºè¡šã§ããã ãããªãã§ãããæªãªãªãŒã¹æ©èœãªã®ã§ãå
容ã¯ç€Ÿå€ç§ãæ¬ããã°ã§ãäŒãããããšã¯åºæ¥ãŸãã⊠ã§ãããæ±ããããèŠä»¶ãšå®è£
é¢ã®èª²é¡ãšã®çéã§ã®æ¿ããéãã®ã話ãèãããšãåºæ¥ãŸããã é
é
ã¡ãŒã« ä»å¹Ž7æã«ãªãªãŒã¹ããé
é
ã¡ãŒã«v5.0ã®æ©èœã«ã€ããŠã®çºè¡šã§ããã é
é
ã¡ãŒã«v5.0ã§ã¯ãã¶ã€ã³å€æŽãè€æ°ãŠãŒã¶å¯Ÿå¿ã宿œããããã§ããããã¶ã€ã³å€æŽã¯å
šç»é¢ã§ãããè€æ°ãŠãŒã¶å¯Ÿå¿ãæš©éãªã©å
šæ©èœã«é¢ããéšåããããå§åçãªã¿ã¹ã¯éã ã£ããšã®ããšã§ãã æ¹ä¿®å¯Ÿè±¡ãœãŒã¹ã®æŽãåºãããå
šç»é¢ã®çŸç¶ç¢ºèª+ãã¹ãã«èŠåŽãããšããã話ãèãããšãåºæ¥ãŸããã æ¥œæ¥œç²Ÿç® 楜楜粟ç®ã§ã¯ããŠãŒã¶æäœãèªååããæ©èœãéçºããŠããããã®äžã§ã iOS ã¢ããªã«ã€ããŠã®çºè¡šã§ããã iOS ã¢ããªã¯ãé åæžæçްã®èªåå
¥åãå®çŸããŠããŸããâ» é»å垳簿ä¿åæ³ ãªãã·ã§ã³å¿
é ã®æ©èœ å³ã¡ã€ã³ã®ã¹ã©ã€ãã«ãªããšäœæ
ãå³ããå·Šã®è³æã«ãªã£ãŠããç¹ãæ°ã«ãªããŸããã Chat Dealer æ¢åæ©èœã®ãã£ãããããã匷åããæ°æ©èœãšããŠéçºãããããããã¬ããŒããã«ã€ããŠã®çºè¡šã§ããã 䜿çšäžã®ãã£ãããããã®èšå®ããã©ãã·ã¥ã¢ããããããã«äœ¿çšãããæ©èœã§ãå®éã«ãã¢ã亀ããŠè§£èª¬ããŠããã ããŸããã ãã£ãããããã®èšå®ç»é¢ãããã¯ããšãªãåãDBã®èªååŠçèšå®ã«äŒŒãŠããæ°ãããã®ã¯ç§ã ãã§ã¯ãããŸããã§ããã åãDB èªååŠçãžã£ã³ãããŒãã«ã€ããŠã®çºè¡šã§ããã ãªãã·ã§ã³æ©èœã§ããããžã£ã³ãããŒãã䜿çšããããšã«ãã£ãŠãæ¡ä»¶åå²åŸã«åãåŠçãããå Žåã®èšå®ããããã«ãªãããã§ãã before-afterãäŸã§æããŠããã ããŸãããããããã«ããŒãæ°ãæžã£ãŠèŠããããªã£ãŠããæ°ãããŸãã LTçºè¡š LTçºè¡šã¯3人ã®çºè¡šè
ãç»å£ããŠãã ãããŸããã å
容ã¯èªç±ã§ãããŒãã«é¢ä¿ãªããæããŸãŸã«çºè¡šããŠããã ããŸããã è¡ãã©UIã¬ãã¥ãŒ 以åã«ãè¡äžã®BAD UIãçºè¡šããŠäžãã£ãæ¹ãããã®ç¶ç·šãšããããå
容ã§ã®çºè¡šã§ããã èšãåãã®ãããã説æããäœããç®ç«ãããããã®åŒ·åŒãªæ³šææžãã¯å®çªã®å
容ã§ãããçºè¡šã®äžã§æ°ã«ãªã£ãã®ãäžã®åçã§ãããé»å
æ²ç€º æ¿ãèŠãããšçµ¶å¯Ÿã«æèšã確èªããŸãããããšèãããšãã®ã¢ãäœéšããšãŠãå°è±¡çã§ããã CIãã¬ã³ããªãªDBããã¥ã¡ã³ãçæããŒã«ã§ããã¥ã¡ã³ãã®ææ°ãç¶æãç¶ãã å€éšã¹ã©ã€ãã䜿çšããŠã®ããŒã«ç޹ä»ã®çºè¡šã§ããã tbls ãšããããŒã«ã®ç޹ä»ã§ããããè¥å€§åããDBã«å¯ŸããŠãåŸä»ãã§ããŒãã«å®çŸ©ãããã«äœæã§ãããšããã®ã¯éåžžã«é
åçãªããŒã«ã ãšæããŸããã speakerdeck.com github.com Meetupãã¯ãããã å
æ¥éå¬ãããŸããã Rakus Meetup Osaka #1 ã«ã€ããŠã®çºè¡šã§ããã ãªãéå¬ããã®ããéå¬ãããšäœãå¬ããã®ããããå§ãŸããéå¬ããã«ããã£ãŠã®å¿æ§ããŸã§ããŸãšããŠçºè¡šããŠããã ããŸããã ãããã« 11æã®ãã¢ããã·ã¥ããã€ãžã§ã¹ãã§ãéãããããŸãããããããã§ããã§ããããã å補åã®æ°æ©èœ/ãªãã·ã§ã³ã«ã€ããŠæ°ã«ãªã£ãæ¹ã¯ã ã»ãå©çšäžã®ã客æ§ã¯ããµããŒãçªå£ãããã¯å補åã®ãµããŒããµã€ã ã»æ°èŠã§ãæ€èšã®ã客æ§ã¯ã補åããŒãžããã®ãåãåãã ã«ãŠè©³çްãã確èªãã ãããŸãã
æè¿ãèªå®
ã§ Laravel ã䜿ã£ãã¢ããªãäœæããŠããŸãã ãã£ããäœã£ãã¢ããªãªã®ã§ãå
¬éããããšããã®ã§ããããããŸã§è¶£å³ã®ç¯å²ã§ãããææã®ç°å¢ã䜿ãããšã¯æãããHeroku ãžãããã€ããããšã«ããŸããã ä»åã¯ãHeroku ã§Laravel ã¢ããªããããã€ããããã®æé ãç°¡åã«èª¬æããŸãã åæºå Profile ã®äœæ .envãã¡ã€ã«ã«ã€ã㊠Heroku ã¢ããªäœæ Heroku ãž push ãã ã¡ãŒã«ã®éä¿¡èšå® ãã®ä» åèãµã€ã åæºå Heroku ã®ã¢ã«ãŠã³ãäœæãšãHeroku CLI ã®ã€ã³ã¹ããŒã«ã¯äºåã«æžãŸããŠãã ããã Profile ã®äœæ Heroku ã¢ããªã®èšå®å€ãæžã蟌ã Profile ã Laravel ãããžã§ã¯ãã®çŽäžã«äœæãã以äžã®å
å®¹ãæžã蟌ã¿ãŸãã ããã«ãããWebãµãŒãã« Apache ã䜿çšããLaravel ã® public ãã£ã¬ã¯ã ãªãããã¥ã¡ã³ãã«ãŒãã«ããããšãã§ããŸãã web: vendor/bin/heroku-php-apache2 public/ ãã¡ã€ã«ãäœææ¬¡ç¬¬ãmaster ãã©ã³ãã« Profile ã commit ããŸãã .envãã¡ã€ã«ã«ã€ã㊠Laravel ã® .env ãã¡ã€ã«ã§ã¯ãããŒã«ã«ã® ç°å¢å€æ° ãèšå®ã§ããŸãã Heroku ãžã®ãããã€ã¯ãGit ãçšã㊠ãªããžã㪠ã Heroku ãž push ããããšã§è¡ãããã git ã®ç®¡çå€ã§ãã .env ãã¡ã€ã«ã Heroku ãžèšçœ®ã§ããŸããã ãã®ãããconfig ãã£ã¬ã¯ã ãªå
ã® ç°å¢å€æ° ã Heroku ç°å¢ã§äœ¿çšãããå€ã«å€æŽããŠãããŸãã Heroku ã¢ããªäœæ Laravelã¢ããªã® ãã£ã¬ã¯ã ãªã«ç§»åãã heroku login ã³ãã³ãã§ã¡ãŒã«ã¢ãã¬ã¹ãšãã¹ã¯ãŒããå
¥åããHeroku ã«ãã°ã€ã³ããŸãã ãã®åŸãHeroku ãž PHP ã¢ããªãäœæããããã«ã heroku create ã³ãã³ããå®è¡ããŸãã > heroku login heroku: Enter your login credentials Email [xxxx.xx.xx@xxx.xx]: Password: ******* Logged in as xxxx.xx.xx@xxx.xx > heroku create my-app å®è¡ã§ãããã heroku apps ã³ãã³ããå®è¡ããããšã§ãHeroku ã«ã¢ããªã±ãŒã·ã§ã³ãå¢ããŠããããšãããããŸãã Heroku ãž push ãã Heroku ãžã¢ããªã远å åºæ¥ãããäœæãããããžã§ã¯ãã Heroku ãžãããã€ããŸãã ãããã€ãšèšãã©ãããããšã¯ Heroku ãž master ãã©ã³ãã push ããã ãã§ãã > git push heroku master å°ãæéãããããŸãããpush ãã§ããã°ãããã€å®äºã§ãã ã¡ãŒã«ã®éä¿¡èšå® äœæããŠããã¢ããªã§ã¯ãã¡ãŒã«ãéä¿¡ããå¿
èŠããããŸãããããããHeroku ããçŽæ¥ã¡ãŒã«ãéä¿¡ããããšã¯ã§ããªãã®ã§ãä»ã®æ¹æ³ãèããå¿
èŠããããŸãã ä»åã¯ã Gmail ã«å¯Ÿã㊠SMTP æ¥ç¶ãè¡ããã¡ãŒã«ã Gmail ãçšããŠéä¿¡ããããã«ããŸããã æé ãšããŠã¯ã Google ã¢ã«ãŠã³ãã«ãŠã Gmail ã® SMTP æ¥ç¶ãèš±å¯ããããã§ãconfig/mail. php ã® ç°å¢å€æ° ã以äžã®ããã«å€æŽããŸãã 'driver' => env('MAIL_DRIVER', 'smtp'), 'host' => env('MAIL_HOST', 'smtp.gmail.com'), 'port' => env('MAIL_PORT', 465), 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', 'my.gmail@gmail.com'), 'name' => env('MAIL_FROM_NAME', 'Fromã®åå'), ], 'encryption' => env('MAIL_ENCRYPTION', 'ssl'), 'username' => env('MAIL_USERNAME', 'my.gmail@gmail.com'), 'password' => env('MAIL_PASSWORD', 'xxxxxxxxxxxxxxxx'), // Gmailèšå®æã®ãã¹ã¯ãŒãæåå ããã«ãããLaravel ã¢ããªããã¡ãŒã«ãéä¿¡ããããšãã§ããããã«ãªããŸãã ãã®ä» ãã®ä»ãHeroku ã§ã¯ã«ã¹ã¿ã 次第ã§ãããããªæ©èœã䜿ããŸãã ã¡ãã£ãšããã¢ããªäœæããå®è£
ã®ç·Žç¿ææãå
¬éããå Žåã¯ãéåžžã«äŸ¿å©ã§ããã åèãµã€ã qiita.com
ã¯ããã« éçºãšã³ãžãã¢ã®amdaba_skïŒ ãã³ã ãŒã æªå®ïŒã§ãã åã
å ã åå ãšåŒç€Ÿãšã³ãžãã¢ãžã®ãªãã¡ãã£ãŠã€ã³ã¿ãã¥ãŒã§èšäºãæžããŠããŸããããä»åã¯ä¹
ã
ã«èª¿ã¹ãã®ãããçµæããŸãšããŠã¿ããããšæããŸãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ çµç·¯ ã©ã€ã³ãšãã£ã¿ ed ã®æŠèŠ edã®æ©èœ ã³ãã³ãã©ã€ã³ ã¢ãŒã ã³ãã³ãäžèЧ è¡æå® æå®ãããè¡ã®æäœ ãã®ä» ed ãå®éã«äœ¿ã£ãŠã¿ã åãedã§ãç°å¢ã«ãã£ãŠéãããšããã ãããã« åè çµç·¯ å®ã¯ç§ã¯èªå®
ã§ã¯éåžžã«è²§åŒ±ãªæ§èœã®ãã·ã³ããæã£ãŠããŸãããã§ããã£ã±ãå®¶ã§ãè¶£å³ã®éçºã¯ãããããã§ããããŸããšãã£ã¿éžã³ãæ©ãŸããã Eclipse ã¯åãã«ã¯åããã©ã©ãããã£ããããŠãŠäœ¿ã£ãŠãããªãã Atom ãšãã£ã¿ãåãæãã Visual Studio Code ãGeanyãšãã軜éãšãã£ã¿ã¯ãããšãã·ã ã£ããã®ã®ãæéãçµã€ã«ã€ããŠã ãã ãéããªã£ãŠããâŠã çµæã¿ãŒããã«ã§ vim ãšããéžæè¢ã«è¡ãçããããã§ããããã¯ãããŸã䜿ãããªããªããäœãšã䜿ãããªããããã«ãªãããš vim ã®æäœã調ã¹ããã¡ã«ãã©ã€ã³ãšãã£ã¿ãšãããã®ã®ååšãç¥ããŸããã ã©ã€ã³ãšãã£ã¿ vi( vim )ã¯ã¹ã¯ãªãŒã³ãšãã£ã¿ãšãããã®ã«åé¡ãããããã§ãã ããã¹ããšãã£ã¿ ãšããã°ãç»é¢äžã«ç·šéããããã¹ãã衚瀺ãããã®äžã§ã«ãŒãœã«ãç§»åãããŠç·šéãè¡ãªããã®ã飿³ããŸããããããã£ããšãã£ã¿ãã¹ã¯ãªãŒã³ãšãã£ã¿ãšåŒã°ããŸãã 察ããŠã©ã€ã³ãšãã£ã¿ã§ã¯ãç»é¢äžãžã®è¡šç€ºã¯æå°éã§ããã¹ã¯ãªãŒã³ãšãã£ã¿ãšç°ãªãå
容ã®é²èЧ/ç·šéã¯ããããç¬ç«ããæ©èœã§ãããç®çã®è¡ãæœåºãç·šéãæŽæ°ãšãããµã€ã¯ã«ã§ç·šéãè¡ããŸãã æåæã® ããã¹ããšãã£ã¿ ã®åœ¢ã§ãããã¹ã¯ãªãŒã³ãšãã£ã¿ã®éçºä»¥åã¯äž»ã«ããã䜿çšãããŠããããã§ãã ed ã®æŠèŠ ed ã¯ã©ã€ã³ãšãã£ã¿ã®äžã€ã§ãããåæã®é ããååšãã UNIX äžã®æšæºç㪠ããã¹ããšãã£ã¿ ã®äžã€ã§ããä»ãäºå®äžå
šãŠã®ããŒãžã§ã³ã® UNIX ãš Linux ã«è£
åãããŠããŸãã ãã æè¿ã§ã¯ vi ã Emacs ããã®ä»ã®ã¹ã¯ãªãŒã³ãšãã£ã¿ã«ãšã£ãŠä»£ããã ed ã察話çã«äœ¿çšããããšã¯æ»
å€ã«ç¡ãããã§ãããã åé¡ãçºçãããšãã«ã¯ ed ã䜿çšå¯èœãªå¯äžã®ãšãã£ã¿ã§ããå Žåãããããã®ãããªå Žåã«éã£ãŠ ed ã¯å¯Ÿè©±çã«äœ¿çšãããŸãã ãŸããšãã£ã¿ã³ãã³ãã¯æšæºå
¥åã§åãåãããã®ã§ã ã·ã§ã«ã¹ã¯ãªãã å
ã§äœ¿çšããããšãåºæ¥ããããã£ãçšéã§äœ¿ãããããšã¯ããããã§ãã edã®æ©èœ ã³ãã³ãã©ã€ã³ ed ãèµ·åããã«ã¯ç«¯æ«ã§ä»¥äžã®ããã«ã¿ã€ãããŸãããªãã·ã§ã³ãšãã¡ã€ã«åãåŒæ°ãšããŠæå®ã§ããŸãã ed [options] [file] 代衚çãªãªãã·ã§ã³ã¯ä»¥äžã®ãã®ããããŸãã ãªãã·ã§ã³ é·ãæžãæ¹ èª¬æ -h --help äœ¿çšæ³ã衚瀺ããŠçµäº -V --version ããŒãžã§ã³æ
å ±ã衚瀺ããŠçµäº -l --loose-exit-status ã³ãã³ãå®è¡ã«å€±æããŠãçµäºã¹ããŒã¿ã¹ 0 ãè¿ã -p STRING --prompt=STRING ããã³ãããšã㊠STRING ãæå® ã¢ãŒã ed ã«ã¯ãã³ãã³ãã¢ãŒããšå
¥åã¢ãŒãããããŸãã ã³ãã³ãã¢ãŒãã§ã¯ãšãã£ã¿ãæäœããããã®ã³ãã³ããå
¥åããŠããã¹ãã®ç·šéã眮æãè¡ã®åé€ãªã©ãè¡ã£ãŠãããŸããååšããªãã³ãã³ããªã©ãå
¥åãããªã©ã®ãšã©ãŒæã¯ã ? ãšè¡šç€ºãããŸãã å
¥åã¢ãŒãã§ã¯ãã³ãã³ããå®è¡ããããšã¯ã§ããŸãããæšæºå
¥åããå
¥åãããããŒã¿ã¯ã çŽæ¥ãšãã£ã¿ãããã¡ãžãšæžã蟌ã¿ãšãããŸããããªãªã1ã€ã ãã®è¡ãå
¥åãããšãå
¥åã¢ãŒããçµäºããŸãã ã³ãã³ãäžèЧ è¡æå® ed ã§ã¯åžžã«æäœã®å¯Ÿè±¡ãšãªãè¡ãæå®ããå¿
èŠããããŸãã ed ã¯çŸåšè¡ã管çããŠãããã³ãã³ãã«è¡çªå·ãæå®ãããªãå Žåã¯ãçŸåšè¡ãããã©ã«ãè¡ãšããŠçšããããŸãããã¡ã€ã«ãæåã«èªã¿åºãããçŽåŸã¯ãçŸåšè¡ã¯ãã¡ã€ã«ã®æåŸã®è¡ãšãªããŸããäžè¬çã«ãçŸåšè¡ã¯ã³ãã³ããæäœããæåŸã®è¡ãšãªããŸãã ãªãè¡çªå·ã¯1å§ãŸãã§ãã ã³ãã³ã å
容 . çŸåšè¡ n n è¡ç® + n çŸåšè¡ãã n è¡åŸã®è¡ + çŸåšè¡ã®ïŒè¡åŸã®è¡ã +1 ãšåã - n çŸåšè¡ãã n è¡åã®è¡ - çŸåšè¡ããïŒè¡åã®è¡ã -1 ãšåã $ ãã¡ã€ã«ã®æçµè¡ m , n m è¡ç®ãã n è¡ç®ã®ç¯å²ã m , n ã¯æ°åãŸãã¯åäžè¡æå®ã³ãã³ãã䜿çšå¯èœãe.g., 5è¡ç®ãã10è¡ç®ãæå®ããå Žå㯠5,10 ããã¡ã€ã«å
šäœãæå®ããå Žå㯠1,$ , ãã¡ã€ã«å
šäœã 1,$ ãšåã ; çŸåšè¡ããæçµè¡ãŸã§ã®ç¯å²ã .,$ ãšåã æå®ãããè¡ã®æäœ ããã¹ãã®ç·šéã眮æãè¡ã®åé€ãªã©ã¯ãè¡æå®ãšã³ãã³ããçµã¿åãããŠè¡ããŸãã以äžã®è¡šã§ã¯æ¬åŒ§æžãããéšåãè¡æå®ã§ãçç¥æã®ããã©ã«ãåäœã瀺ããŠããŸãã ã³ãã³ã å
容 (.) i æå®ããè¡ã®åã«ããã¹ãã远å ãç·šéã¢ãŒãã«ãªã (.) a æå®ããè¡ã®åŸãã«ããã¹ãã远å ãç·šéã¢ãŒãã«ãªã (.,.) c æå®ããç¯å²ã®è¡ãåé€ããŠãããã«ããã¹ãã远å ãç·šéã¢ãŒãã«ãªã (.,.) d æå®ããç¯å²ã®è¡ãåé€ (.,.) y æå®ããç¯å²ã®è¡ãã«ãããããã¡ã«ã³ããŒïŒyankïŒ (.) x ã«ãããããã¡ã®å
容ãæå®ããè¡ã®åŸãã«ããŒã¹ã (.,.) m (.) å·ŠèŸºã§æå®ããç¯å²ã®è¡ãå³èŸºã§æå®ããè¡ã®åŸãã«ç§»åãå³èŸºã«ã¯ 0 ãæå®ã§ãã (.,.+1) j æå®ããç¯å²ã®è¡ãé£çµ (.,.) p æå®ããç¯å²ã®è¡ã衚瀺 (.,.) n æå®ããç¯å²ã®è¡ãè¡çªå·ã€ãã§è¡šç€º (1,$) g/ reg / cmd æå®ããç¯å²ã®è¡ã®ãã¡ã æ£èŠè¡šçŸ ã§ reg ãšäžèŽããæååã®ããè¡ã«å¯Ÿãã cmd ãå®è¡ (.,.) s/ reg / rep /n æå®ããç¯å²ã®è¡ã®ãã¡ã æ£èŠè¡šçŸ ã§ reg ãš n çªç®ã«äžèŽããæååã rep ã«çœ®ãæãã (.,.) s/ reg / rep / æå®ããç¯å²ã®è¡ã®ãã¡ã æ£èŠè¡šçŸ ã§ reg ãš1çªç®ã«äžèŽããæååã rep ã«çœ®ãæããã s/ reg / rep /1 ãšåã (.,.) s/ reg / rep /g æå®ããç¯å²ã®è¡ã®ãã¡ã æ£èŠè¡šçŸ ã§ reg ãšäžèŽããæååããã¹ãŠ rep ã«çœ®ãæãã ($) = æå®ãããè¡ã®è¡çªå·ã衚瀺 ãã®ä» ã³ãã³ã å
容 u çŽåã®ã³ãã³ãå®è¡ãã¢ã³ãã¥ã u ã³ãã³ãèªäœãã¢ã³ãã¥ã§ãã P ã³ãã³ãã¢ãŒãæã«ãè¡é ã«ããã³ããæååã衚瀺ã ã³ãã³ãã©ã€ã³ åŒæ°ã§æååãæå®ãããŠããªãæã¯ã * ã䜿çšãããã ! cmd cmd ã§æå®ããã³ãã³ããã sh ãçšããŠå®è¡ w [ file ] file ã«ç·šéå
å®¹ãæžã蟌㿠q ãšãã£ã¿ãçµäºãç·šéå
å®¹ãæªä¿åã®å Žåã¯ãšã©ãŒ Q ãšãã£ã¿ãçµäºãç·šéå
å®¹ãæªä¿åã§ã匷å¶çã«çµäº ed ãå®éã«äœ¿ã£ãŠã¿ã edã³ãã³ãã®äœ¿çšäŸãšããŠãå®éã«ãã¡ã€ã«ã®ç·šéãè¡ã£ãŠã¿ãŸããã ãšãããã ed ã®ããŒãžã§ã³ã確èªã1.1ã®ããã§ãã $ ed --version GNU Ed 1.1 Copyright (C) 1994 Andrew L. Moore, 2008 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. é©åœãª ãã£ã¬ã¯ã ãªã«ç§»åããŸãã $ cd /some/path $ ls -a ./ ../ ãã¡ã€ã«ãäœããªãã§ããããã£ãããªã®ã§ ed ã§äœãããšã«ããŸãããã $ ed P *i hoge hoge hoge . *= 1 *a fuga fuga fuga moge moge moge piyo piyo piyo . *= 4 *w test 60 *q æåã« P ã³ãã³ãã䜿çšããŠããã³ãããåºãããã«ããŠããŸãã i ã a ã§è¡ã远å ã = ã§çŸåšè¡ã®çªå·ã確èªããŠããŸããæåŸã¯ w ã³ãã³ãã§"test"ãšããååã§ãã¡ã€ã«ã«ä¿åããŸããã 確èªããŠã¿ããšã $ ls test $ cat test hoge hoge hoge fuga fuga fuga moge moge moge piyo piyo piyo æã£ãéãã«ãã¡ã€ã«ãäœæãããŠããŸããã èµ·åæã«ãã¡ã€ã«åãæå®ãããšãšã©ãŒã衚瀺ãããã®ã§ãããæåŸã®ä¿åæã«ååãæå®ããªããŠããããªãããã§ãã $ ed test2 test2: ãã®ãããªãã¡ã€ã«ããã£ã¬ã¯ããªã¯ãããŸãã P *i hoge . *w 5 *q $ ls test test2 次ã«äœæãããã¡ã€ã«ãç·šéããŠã¿ãŸãã $ ed test 60 P *,n 1 hoge hoge hoge 2 fuga fuga fuga 3 moge moge moge 4 piyo piyo piyo *2c foo bar baz spam ham egg . *,n 1 hoge hoge hoge 2 foo bar baz 3 spam ham egg 4 moge moge moge 5 piyo piyo piyo *,s/moge/toto/g *,n 1 hoge hoge hoge 2 foo bar baz 3 spam ham egg 4 toto toto toto 5 piyo piyo piyo *wq 70 æåã«è¡çªå·ä»ãã§çŸåšã®ãã¡ã€ã«å
容ã確èªããŸããããã®åŸ c ã³ãã³ãã§2è¡ç®ã倿Žããã€ãã§ã«æ°ããè¡ãç¶ããŠå
¥åããŠããŸããå床è¡çªå·ä»ãã§çŸåšã®ãã¡ã€ã«å
容ã確èªãããšã確ãã«2è¡ç®ã倿Žããããã®äžã«è¡ã远å ãããŠããŸãããæå
¥åã§è¡ã®äžã®äžéšåã倿Žããããšã¯ã§ããªãã®ã§ãä»®ã«åãéšåããã£ããšããŠããã®è¡ã¯å
šéšæžãçŽãã§ãã æåŸã®ä¿åãšçµäºã¯åæã«åºæ¥ãã¿ããã§ããvi ãåãã§ããïŒ ed çµäºåŸã«ãã¡ã€ã«ã®äžèº«ã確èªãããšããã¡ããšå€æŽãããŠããŸããã $ cat test hoge hoge hoge foo bar baz spam ham egg toto toto toto piyo piyo piyo åãedã§ãç°å¢ã«ãã£ãŠéãããšããã Windows ã«ã€ã³ã¹ããŒã«ãã BusyBox 1.22.1ã«å«ãŸãã ed ã¯ãäžã§ãŸãšãããã®ãšã¯ãªãã·ã§ã³ãã³ãã³ããè¥å¹²ç°ãªãããã§ããã ã³ãã³ãã©ã€ã³ ãªãã·ã§ã³ã䜿ããªã ããã©ã«ãã§ããã³ããã衚瀺ãããŠãã ããã³ããæåå㯠: P ã³ãã³ãããªã ä»ã«ãéãã¯ãããã ãããã« å€ããããããããã«éã«ç¥ããªãã£ããšãã£ã¿ ed ã«ã€ããŠèª¿ã¹ãŠã¿ãŸããã å®é䜿ã£ãŠã¿ãŸãããããã¡ã€ã«å
ãä»ã©ããªç¶æ
ãªã®ããããã«ããããªãã®ãå°ãäžå®ã«æããŸãããããã軜éã ãšã¯èšãæ®æ®µäœ¿ããããªããã£ã±ãã¹ã¯ãªãŒã³ãšãã£ã¿ããªããšããã®ãæ£çŽãªææ³ã§ãããã ã·ã§ã«ã¹ã¯ãªãã ã§äœ¿ãããšãããããâŠã ãªãä»åãŸãšããã®ã¯ ed ã®ã³ãã³ãã®äžã§ãäžéšã«ãããŸããããã£ãšè©³ããç¥ããããªãåèã«æããããŒãžããmanãinfoãèŠãŠãã ãããã åè テキストエディタ - Wikipedia Man page of ED ED - Wikipedia edを使ってみる http://www.uetyi.com/server-const/entry-271.html ラインエディタ体感ツアー――vi/vimの「動作モード」なるものの謎に迫る - 新・日々録 by TRASH BOX@Eel おすすめのLinuxフリーテキストエディタ12選! 5-1 ã©ããªç°å¢ã§ã䜿ããã©ã€ã³ã»ãšãã£ã¿ - edãšãã£ã¿ - ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã rakus.hubspotpagebuilder.com ã©ã¯ ã¹Developersç»é²ãã©ãŒã https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ âTECH PLAY techplay.jp âconnpass rakus.connpass.com
ã¹ã¯ã©ã ãšã¯ ããã«ã¡ã¯ãstrongWhiteã§ããä»å㯠ã¹ã¯ã©ã ã«é¢ãã解説èšäºã§ãã ã¹ã¯ã©ã ãšã¯ãå€åã®æ¿ãããœãããŠã§ã¢éçºã®åé¡ã«å¯Ÿå¿ããããã®éçºææ³ã§ãã ãœãããŠã§ã¢ã¯å»ºç¯ç©ãªã©ã®äžæ¬¡å
çãªç©äœãšã¯ç°ãªããèªèãã«ããäžéæãªååšã§ããããã æœåšç ãªåé¡ïŒãã°ãªã©ïŒãæ©æã«å¯ç¥ããã®ãé£ããæ§è³ªãæã£ãŠããŸãããŸããåé¡ãèªèã§ãããšããŠãä¿®æ£ãªã©ã®åŸæ»ããé£ããå ŽåããããŸãããã®ãããªãœãããŠã§ã¢éçºã®åé¡ã解決ããã®ã ã¹ã¯ã©ã ã§ãã ã¹ã¯ã©ã ã§ã¯ããããããå®ããæéå
ã«äžå®ã®ææç©ãäœæïŒéçºïŒããåŸã
ã«ãœãããŠã§ã¢ãæ§ç¯ãããšããã¢ãããŒããåããŸãããœãããŠã§ã¢ã«ãéææ§ããèŠåºãã æœåšç ãªåé¡ãèªèããããããã®ã§ãã ä»åã®èšäºã§ã¯ ã¹ã¯ã©ã ãçšããéçºãå§ããæ¹åãã®åæç¥èãšããŠã ã¹ã¯ã©ã éçºã®é¢ä¿è
ïŒ ã¹ã¯ã©ã ããŒã ïŒãš ã¹ã¯ã©ã éçºäžã§çºçããã€ãã³ãïŒ ã¹ã¯ã©ã ã€ãã³ã ïŒã«ã€ããŠè§£èª¬ããŸãã ã¹ã¯ã©ã ãšã¯ ã¹ã¯ã©ã ããŒã ãããã¯ããªãŒã㌠éçºããŒã ã¹ã¯ã©ã ãã¹ã¿ãŒ ãŸãšãïŒ1ïŒ ã¹ã¯ã©ã ã€ãã³ã ã¹ããªã³ã ã¹ããªã³ããã©ã³ãã³ã° ãã€ãªãŒã¹ã¯ã©ã ã¹ããªã³ãã¬ãã¥ãŒ ã¹ããªã³ãã¬ããã¹ãã¯ãã£ã ãŸãšãïŒ2ïŒ ã¹ã¯ã©ã ããŒã ã¹ã¯ã©ã éçºã¯ã以äžã®åœ¹å²ãæ
ã人ïŒãã¡ïŒãçžäºã«äœçšãåã£ãŠé²æããŠãããŸãã ãããã¯ããªãŒã㌠éçºããŒã ã¹ã¯ã©ã ãã¹ã¿ãŒ å圹å²ãšãã®äœ¿åœã«ã€ããŠã¯åŸè¿°ããŸãããããã®åœ¹å²ãæ
ãã ã¹ã¯ã©ã éçºãé²ãã人ãã¡ã ã¹ã¯ã©ã ããŒã ãšåŒã³ãŸãã ãããã¯ããªãŒã㌠ãããã¯ããªãŒã㌠ã¯éçºããããšããŠãããããã¯ãã®ãªãŒããŒã§ããããããã¯ãã®æçµè²¬ä»»è
ã§ãã ãããã¯ããªãŒããŒã¯ããããã¯ãã®ããžãã¹ç䟡å€ãã«çç®ãããããã¯ãã§å®çŸãããããšã«åªå
é äœãã€ããŠãªã¹ãåãã ãããã¯ãããã¯ãã° ãäœæã»æŽæ°ã»ç®¡çãã圹å²ãæ
ããŸãããããã¯ããªãŒããŒã¯ éçºããŒã ã«ãããã¯ã ããã¯ãã° ãå
¬éããããšã§ããªããã®ãããã¯ããäœãã®ããšããããžã§ã³ãšåªå
é äœãçè§£ããŠãããããåªããŸãã éçºããŒã éçºããŒã ã¯ãããã¯ããªãŒããŒã決å®ããèŠä»¶ãææç©ãšããŠå®çŸããã¡ã³ããŒã®éãŸãã§ãã ãããã¯ãã®éçºè²¬ä»»ãæ
ãã®ãéçºããŒã ã§ããããããã¯ãã«äžå
·åãããå Žåãããããã¯ããªãŒããŒã®å®ããåè³ªåºæºã«éããªãå Žåã«ãããã®åé¡è§£æ±ºã«åªããŸãã ã¹ã¯ã©ã ãã¹ã¿ãŒ ã¹ã¯ã©ã ãã¹ã¿ãŒ ã¯ãããã¯ããªãŒããŒãšéçºããŒã ã ã¹ã¯ã©ã ãå®è¡ããæå©ããè¡ããŸãã ã¹ã¯ã©ã ãã¹ã¿ãŒã¯çŸå Žã® ã¹ã¯ã©ã ã®ã«ãŒã«ãçç¥ãã ã¹ã¯ã©ã ããŒã ãæé«ã®ããã©ãŒãã³ã¹ãçºæ®ã§ããããã«åããããŸããéçºããŒã ãæè¡çå°é£ã«ééããŠããå Žåã¯è§£æ±ºçãæç€ºãããããã¯ããªãŒããŒããããã¯ã ããã¯ãã° ã®æŽæ°ã«åé¡ãæ±ããŠããå Žåã¯ã¢ã ãã€ã¹ ããŸãããŸãã ã¹ã¯ã©ã ããŒã ã®é²æã«åœ±é¿ãåãŒãèŠå ã®æé€ãã ã¹ã¯ã©ã ã®çè§£ãäžè¶³ããŠããã¡ã³ããŒã«å¯Ÿã㊠ã³ãŒãã³ ã°ãããªã©ããã®åœ¹å²ã¯å€çš®å€æ§ã§ãã ãŸãšãïŒ1ïŒ ã¹ã¯ã©ã éçºã«ãããå圹å²ãšãã®é¢ä¿ã®çè§£ãå°ãã§ãé²ãã°å¹žãã§ãã ãèŠããã«ãããã¯ãã®è²¬ä»»è
ãšéçºããŒã ãããŠããããã®ãµããŒã¿ãŒãéããŠéçºãé²ããã£ãŠããšïŒã ...ä»ã¯æãããããããã®èªèã§ã¯ãªãã§ãããããå®éã« ã¹ã¯ã©ã ãå°å
¥ããããšããããã®åœ¹å²ã®éèŠæ§ãèŠããŠããããšæããŸãã ã圹å²ã¯ãªããšãªãçè§£ã§ãããã©ãã©ã®ããã«ã ã¹ã¯ã©ã ãå®è¡ãããã®ïŒéçºä»¥å€ã®ã€ãã³ãã£ãŠäœïŒã ããã§ã¯æ¬¡ç« 以éã ã¹ã¯ã©ã éçºã§çºçããã€ãã³ãïŒ ã¹ã¯ã©ã ã€ãã³ã ïŒã«ã€ããŠè§£èª¬ããŸãã ã¹ã¯ã©ã ã€ãã³ã ã¹ã¯ã©ã éçºã§ã¯ãåã«éçºãé²ããã ãã§ãªãããœãããŠã§ã¢ã®ãéææ§ããèŠåºãããã®ã¢ãããŒããåãå¿
èŠããããŸãããã®ããã«èŠåçã«è¡ããã5ã€ã®ã€ãã³ããããããããã ã¹ã¯ã©ã ã€ãã³ã ãšåŒã³ãŸãã ã¹ããªã³ã ã¹ããªã³ããã©ã³ãã³ã° ãã€ãªãŒ ã¹ã¯ã©ã ã¹ããªã³ãã¬ãã¥ãŒ ã¹ããªã³ãã¬ããã¹ãã¯ãã£ã ã¹ã¯ã©ã ã€ãã³ãã¯å®æçãªããŒãã£ã³ã°ãšã¯éããèªåãã¡ã® ã¹ã¯ã©ã ã®ããæ¹ã«åé¡ãããã°è§£æ±ºããããè¯ãç¶æ³ãäœãããã«è¡ããŸãããã®ããã«ãã£ãŒãããã¯ãç¹ã蟌ãã ã€ãã³ãã宿œããããšã§éçºãåæ»ã«é²ããŸãã ã¹ããªã³ã ã¹ããªã³ã ã¯éçºã® ã€ãã¬ãŒã·ã§ã³ ã®ããšã§ãã ã¹ã¯ã©ã ããŒã å
ã§é©åœãªæéãå®ããŸãããéåžžã¯1é±éã3é±éãå€ãã§ãã æ±ºãããããµã€ã¯ã«ã§éçºãé²ããããšã§ã ã¹ã¯ã©ã ããŒã ã§å®äºã§ããä»äºéãææ¡ããŸãã ã¹ããªã³ããã©ã³ãã³ã° ã¹ããªã³ããã©ã³ãã³ã° ã¯ã¹ããªã³ãéå§æã«è¡ãããæåã® ã¹ã¯ã©ã ã€ãã³ãã§ãã ãã¹ããªã³ãæéå
ã§äœãã§ãããïŒäœããããïŒããæããã«ããããŒãã£ã³ã°ã§ããã ã¹ã¯ã©ã ããŒã å
šå¡ãåå ããŸãããããã¯ã ããã¯ãã° ã§åªå
é äœã®é«ããã®ããé ã«å®äºã§ããããªãã®ãéžã³ãéžãã é
ç®ã«ã€ããŠå
·äœçãªã¿ã¹ã¯éãæç¢ºåããããã«é©åœãªåäœã§ã¿ã¹ã¯ãåå²ããŠãªã¹ãåãã ã¹ããªã³ãããã¯ãã° ãäœæããŸãã ãã€ãªãŒ ã¹ã¯ã©ã ãã€ãªãŒã¹ã¯ã©ã ã¯ãããããæäŒãã§ãããæšæ¥ããããšã仿¥ããããšã課é¡ãå
±æããå Žã§ãã äž»ã«éçºããŒã ãè¡ã ã¹ã¯ã©ã ã€ãã³ãã§ãããã¹ããªã³ãæéäžã¯æ±ºãŸã£ãæéã«æ¯æ¥è¡ããŸãããã®ã¹ããªã³ãã®ãŽãŒã«ãéæã§ãããããšãæ¥ã
ã®ä»äºã®é²æãææ¡ããŸãããŸãããã€ãªãŒ ã¹ã¯ã©ã ã«ã¯ ã¹ã¯ã©ã ãã¹ã¿ãŒãåå ããŸãã ã¹ããªã³ãã¬ãã¥ãŒ ã¹ããªã³ãã¬ãã¥ãŒ ã¯ã¹ããªã³ãã®ææç©ãæ«é²ãããããã¯ãã«ã€ããŠãã£ãŒãããã¯ãåŸãããã®ããŒãã£ã³ã°ã§ãã ã¹ã¯ã©ã ããŒã å
šå¡ãåå ããŸãã ã¹ã¯ã©ã ããŒã ã®ä»ã« ã¹ããŒã¯ãã«ããŒ ïŒ ã¹ã¯ã©ã ããŒã ã«æå±ããªãäŒç€Ÿã®çµå¶é£ããããã¯é¡§å®¢ãªã©ïŒãæåŸ
ããå ŽåããããŸããéçºããŒã ã¯ã¹ããªã³ãæéå
ã«éæã§ããããšãšãéæã§ããªãã£ãããšãäŒããæ¬¡å以éäœãã©ãäœã£ãŠããã°ãããè°è«ããŸãã ã¹ããªã³ãã¬ããã¹ãã¯ãã£ã ã¹ããªã³ãã¬ããã¹ãã¯ãã£ã ã¯ã¹ããªã³ãçµäºæã«è¡ãããæåŸã® ã¹ã¯ã©ã ã€ãã³ãã§ãã ã¹ã¯ã©ã ããŒã å
šå¡ãåå ããŸãã ãããããæ¯ãè¿ããã§ããã ã¹ã¯ã©ã ããŒã ã®çŸç¶ãèŠçŽããæ¬¡å以éã®ã¹ããªã³ãã§ããè¯ãä»äºãè¡ãããã®æ¹åçãåºããŠããå Žã§ããéçºããŒã ãš ã¹ã¯ã©ã ãã¹ã¿ãŒãäžå¿ã«ãªã£ãŠé²ããæ¬¡åã®ã¹ããªã³ãã«åããŠã®ã¢ã¯ã·ã§ã³ãã©ã³ãåºããŸãã ãŸãšãïŒ2ïŒ ã¹ã¯ã©ã éçºã®é²ãæ¹ãçè§£ã§ããã§ãããããæ¬åœã¯ããå°ã现ãã話ãããã®ã§ãããã£ãããšãŸãšãããš èšç»âéçºâãæ«é²ç®âæ¯ãè¿ãâïŒä»¥äžãç¹°ãè¿ãïŒ ãšãªããŸãã ã€ãã¬ãŒã·ã§ã³ ãèšå®ãããŠãããããã§åé¡ã«æ°ä»ãããããªããæ¹åãåŸæ»ãããããã·ã¹ãã ã«ãªã£ãŠããŸããããããã ã¹ã¯ã©ã éçºã®ééå³ã§ãã匷ã¿ã§ããããŸãããããã ã¹ã¯ã©ã ãå§ãã人ã«ãšã£ãŠãä»åã®èšäºãå°ãã§ãåèã«ãªãã°å¹žãã§ãã ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã forms.gle ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ rakus.connpass.com
id:radiocat ã§ãããã®ãã³å€§éªMeetupã®éå¶å§å¡ã«ä»»åœãããŸããïŒ 9æã«æ±äº¬ã§Meetupãéå¬ããŸãããã倧éªã§ããããŸãïŒ rakus.connpass.com æ°ãããªã£ã倧éªãªãã£ã¹ã¯æ¬åœã«è¯ãç°å¢ã§ãåºããªã£ã ã»ã ããŒã«ãŒã ãæ©ãæŽ»çšãããïŒãšããããšã§ç§»è»¢çŽåŸããæºåãé²ããŠããŸããã ãããªå€§éªãªãã£ã¹ã®æ§åã¯âã³ãã©ãã芧ãã ããã www.wantedly.com ããŒãã¯ã倧éªéçºããŒã ã®ãã£ã¬ã³ãžãã§ã ãã£ããã®å€§éªåéå¬ã§ãã®ã§ãå€§éªæå±ã®ãšã³ãžãã¢ã§ ããŒã¯ ã»ãã·ã§ã³ãåºããŸãããæ±äº¬ãäžå¿ãšããŠçãã«è¡ãããŠããITãšã³ãžãã¢ã®å匷äŒã§ãããæè¿ã¯å€§éªã§ã掻çºã«è¡ãããŠããŠç§ããã忥ä»ç€Ÿã®å匷äŒã«åå ãããŠé ããŠããŸãããã£ãããæ¢
ç°é§
ããåŸæ©5åãšããç«å°ã§ ã»ã ããŒã«ãŒã ãæ¡å
ããŠç°å¢ãæŽã£ãŠããã®ã§ãæã
ãäžç·ã«å€§éªã®ITæ¥çãçãäžããŠãããããšæã£ãŠããŸããä»åŸã¯ã³ãã¥ããã£ãžã®äŒå ŽæäŸãããŠããããã®ã§ããã®æ©äŒã«æ°ãããªãã£ã¹ãèŠããŠã¿ãŠããã ããã°ãšæããŸãã åœæ¥ã® ããŒã¯ ã»ãã·ã§ã³ã¯ä»¥äžãäºå®ããŠããŸãããªãã ããŒã¯ å
容ãšé çªã¯ä»®ã®ãã®ã§ãã®ã§åœæ¥ãŸã§ã«å€æŽã®å¯èœæ§ããããŸãããäºæ¿ãã ããã ãã£ãããã£ãŒã©ãŒã®é«ééçºãæ¯ããLaravel åå
åä»ïŒããããšããã²ãšïŒ ä»å¹Žå€ã«éå¬ããã PHPã«ã³ãã¡ã¬ã³ã¹ é¢è¥¿ 2018 ã®ç»å£å
容ãããŒã¹ã«ã話ãããŸãã10å¹Žä»¥äž PHP ã§ãã³ ãã¬ãŒã ã¯ãŒã¯ ã«ããéçºã»éçšãããŠããäž»åãµãŒãã¹ïŒã¡ãŒã«ãã£ãŒã©ãŒïŒã®éçºããŒã ããæ°èŠã«å§åйãµãŒãã¹ïŒãã£ãããã£ãŒã©ãŒïŒãç«ã¡äžããéã« Laravel ãéžæããŸããã éçºæéå幎ãšããã¹ããŒããæ±ããããäžã§ãLaravel ã§ã®æ°èŠãµãŒãã¹ç«ã¡äžãã®ãã£ã¬ã³ãžãã玹ä»ããŸãã Why Mob Programming? - ã¢ããããšããåãæ¹ - 倧平çŽå®ïŒããã²ããªãã²ãïŒ å€§éªã®æ¥œæ¥œç²Ÿç®ã®éçºããŒã ã§ã¯ã ã¹ã¯ã©ã éçºãåãå
¥ããŠæ°æ©èœã®éçºã«åãçµãã§ããŸããæ¥æé·ãããµãŒãã¹ã®éçºãæ¯ãããããã®1幎éã§4人ã®ã¡ã³ããŒãå¢ããŠãããã¡ã³ããŒå士ã®ç¥èå
±æã課é¡ãšãªã£ãŠããŸãã ã¢ãžã£ã€ã« ãªéçºãæšé²ããããã«åãå
¥ããŠããã¢ãããã°ã©ãã³ã°ã®ãã£ã¬ã³ãžãã玹ä»ããŸãã ããŠãã³ã»ãžã£ãŒã㌠å·äžŠè£ïŒãããªã¿ããïŒ ä»å¹Žã®å€ã«éå¬ããã PHP ã«ã³ãã¡ã¬ã³ã¹é¢è¥¿ 2018 ã§ãäŒç€ŸãšããŠåããŠæè¡ã€ãã³ãã«åè³ãã2 åã®ãšã³ãžãã¢ãç»å£ããŸãããéçºçµç¹ã暪æããç»å£æšé²ããŒã ãæ¥åãšããŠç»å£ãããžã§ã¯ããæšé²ãããã£ã¬ã³ãžãã玹ä»ããŸãã 倧éªã®ãšã³ãžãã¢å士ã§äº€æµããŸãããïŒ ä»åã¯åå è
ã®ã¿ãªããŸã®äžãããLTãåéããããŸããããŒãã¯åããããã£ã¬ã³ãžãã§ããã¿ãªããŸãæ®æ®µãã£ã¬ã³ãžããŠããããšãå
±æããŠããã ããã°ãšæããŸãããã㊠ããŒã¯ ã»ãã·ã§ã³åŸã«ã¯äº€æµäŒãéå¬ããŸããåŒç€Ÿã®ãšã³ãžãã¢ãå«ããŠåå è
åå£«ã§æ
å ±ã亀æãåãããšã³ãžãã¢å士ã®äº€æµãæ·±ããŠãããã°ãšæã£ãŠããŸãã äŒå Žã®å Žæãåå æ¹æ³ã«ã€ããŠã¯ä»¥äžã®connpassã«æ²èŒããŠããŸãã®ã§ã確èªã®ãããç³ã蟌ã¿ãã ãããã¿ãªããŸã®ãåå ããåŸ
ã¡ããŠãããŸãïŒ rakus.connpass.com
ã¯ããã« ããã«ã¡ã¯ãstrongWhiteã§ãã ã©ã¯ ã¹ã§ã¯æ¯æ1åãéçºããŒã äž»å¬ã® ãã¢ããã·ã¥ ãéå¬ããŠããŸãã ãã¢ããã·ã¥ãšã¯ããŒã«ã軜é£ãããã ããªããæè¡å
容ã«ã€ããŠæ¥œããèªãåã亀æµäŒã§ãã ä»åã¯10æã«å€§éªã§éå¬ãããã¢ããã·ã¥ã®å
容ãèšäºã«ããããšæããŸãïŒéå»ã®éå¬ãèšäºã«ãªã£ãŠããŸãã®ã§ããããããã°äžèšãã芧ãã ããïŒã tech-blog.rakus.co.jp ä»åã¯ãè¡ã£ãŠããç¹éã 倧éªã®ãã¢ããã·ã¥ã¯æ±ºããããããŒãã«æ²¿ã£ãŠçºè¡šããã ããŒãæ ããšãèªç±ãªããŒãã§çºè¡šããã èªç±æ ãã®2ã»ãã·ã§ã³ãèšããŠçºè¡šãé²ããŸãã ãŸãããèªç±æ ãã¯è³ªçå¿çããã§15åéã®çºè¡šãšè³ªçå¿çãªãã§5åéã®çºè¡šïŒLTæ ïŒã«åãããŸãã 10æã®ããŒãã¯ã è¡ã£ãŠããç¹é ãã§ãããåã
ããããŸã§åå ããå匷äŒã ã»ã ããŒã®æ§åãšãããã§åŸãåŠã³ãå
±æããŠããã ããŸããã ä»åã®èšäºã§ã¯äž»ã«ãããŒãæ ãã®çºè¡šã®æ§åãã玹ä»ããããŸãã ã¯ããã« ä»åã¯ãè¡ã£ãŠããç¹éã è¡ã£ãŠããç¹éïŒããŒãæ ïŒ äº¬éœã¢ãžã£ã€ã«å匷äŒã«è¡ã£ãŠãã ããã«ãœã³ãããã ä»åããæ°ãªãã£ã¹ã§çºè¡š ãããã« åè è¡ã£ãŠããç¹éïŒããŒãæ ïŒ äº¬éœ ã¢ãžã£ã€ã« å匷äŒã«è¡ã£ãŠãã çè
ãã 京éœã¢ãžã£ã€ã«ååŒ·äŒ ãã«èµŽãã ã¹ã¯ã©ã ã«ã€ããŠåŠãã ããšãçºè¡šããããŸããã ã¹ã¯ã©ã ãšã¯ããœãããŠã§ã¢ã«å€æŽã¯ã€ããã®ããšããåæãããèŠæ±ã仿§å€æŽã«æè»ã«å¯Ÿå¿ããããã«çãŸãããœãããŠã§ã¢éçºææ³ã§ãã ããšããšç§ã®æå±ããããŒã ã§ã¯ ã¹ã¯ã©ã ã«ããéçºãæšé²ããŠãããç§èªèº«ã® ã¹ã¯ã©ã ã«å¯Ÿããç¥èçè§£ã®åäžãç®çã«å匷äŒã«åºåžããŸããã ãã®å匷äŒã¯ãã£ã¹ã«ãã·ã§ã³åœ¢åŒã§ãäŒå Žã«ã¯ ã¹ã¯ã©ã ãå®è·µãã人ãã¡ãéãŸããŸããç¹ã«ã¿ã€ã ããã¯ã¹ã¯ãªããéå§æéã«ãªããšåã
ãæ¥é ãã ã¹ã¯ã©ã ã«ã€ããŠæããŠãã課é¡ãçåãè°è«ãåããŸããåãèŠé£ãå°é£ã«ç«ã¡åããè
å士ããäºãã« ã¹ã¯ã©ã ã«å¯Ÿããçè§£ãæ·±ãåãã®ããã®å匷äŒã®ç®çã§ãã çè
ã¯å人çã«ãã¹ããªã³ã ããã¯ãã° ã®äœæã«æéããããåé¡ããæ±ããŠãããåé¡è§£æ±ºã®ãã³ããåŸãããå匷äŒãžãšè¶³ãéã³ãŸãããçŸåšã¯ãå匷äŒã§åŸãç¥èŠãããšã«èªèº«ã® ã¹ã¯ã©ã ã«å¯Ÿããå§¿å¢ã®èŠçŽããè¡ãªã£ãŠããŸãã ããã«ãœã³ ãããã ããã«ãœã³ ã«åå ããŠãããšããããå Žé¢çµ¶å¯Ÿã«ããïŒãšããã ããã«ãœã³ãããã ããçºè¡šããŠããã ããŸããã ããã«ãœã³ ã«ããè¡ãããæ¹ã¯ãâãšåããããªããšãæããããããšãããã®ã§ã¯ãªãã§ããããïŒ ååºã¯åãã ååºã亀æãããšäžã®äžã¯çãããšãããã ããŒããŠã§ã¢ãããããšãããããããã ãããã¯ãŒã¯ã¯ãã£ãšãããããããã etc... ããã«ãœã³ ã®å ŽåãïŒããŒãã«ããããŸããïŒ ããã°ã©ã㌠ããããŒããŠã§ã¢ããããã¯ãŒã¯é¢ã«åŒ·ãæ¹ããããšå¿åŒ·ããšæããŸãã çªçºçãªãããã¯ãŒã¯é害ã«ééããå Žåã«ãããã«åå ãç©¶æããŠä¿®æ£ããŠããããšå匷äŒãã¹ã ãŒãºã«é²è¡ããããšæããŸãã çè
㯠ããã«ãœã³ ã«åå ããçµéšã¯ãªãã§ããããååºã亀æãããšäžã®äžã¯çãããšãããããã¯ããããããŸãã æè¿ããããã°ã©ãã³ã°ã®å€éšå匷äŒã«åå ããã®ã§ãããããã§å€§åп代ã®åæã«åºäŒããŸããã以åã«ãšã³ãžãã¢ã«ãªã£ããšã¯èããŠããã®ã§ãããäžã®äžã¯çããã®ã§ã...ããããããã¯å
±æãããã®ããããšãšãŠãé¢çœãã§ãã ä»åããæ°ãªãã£ã¹ã§çºè¡š ã©ã¯ ã¹ã¯9ææ«ã«å€§éªãªãã£ã¹ãæ¯æ¥ã€ã³ãã·ãªãã æ¢
ç°ã²ãŒãã¿ã¯ãŒ ãžç§»è»¢ããŸãããä»åã®ãã¢ããã·ã¥ã¯åŒã£è¶ãåŸåã®ãã¢ããã·ã¥ãšãªããŸããã 幎ã
æ°åãã¯ããã瀟å¡ã®å¢å ã«äŒŽã£ãŠãã¢ããã·ã¥ã®åå è
ãå¢å ããŠãããããæ§ãªãã£ã¹ã§ã¯éå¬ã¹ããŒã¹ã®å§è¿«åãåé¡ã ã£ãã®ã§ãããæ°ãªãã£ã¹ã§ã¯åºã
ãšããéå¬ã¹ããŒã¹ãšãªããããæ°é®®ãªæ°æã¡ã§ãã¢ããã·ã¥ã楜ããããšãã§ããŸããã ãããã« ãããã§ããã§ãããããä»åŸã宿çã«ãã¢ããã·ã¥ã®æ§åããäŒãããŠããããšæããŸããæ¬¡åã®ããŒãã¯ã æ°æ©èœç¹é ããäºå®ããŠããŸãã æè¿ã®åŒç€Ÿååã®ãªãªãŒã¹æ©èœã玹ä»ã§ããããšæããŸããã©ã®ãããªçºè¡šã«ãªããæ¥œãã¿ã§ãã åè 京éœã¢ãžã£ã€ã«ååŒ·äŒ ã¹ã¯ã©ã ããã«ãœã³
ã¯ããã« ããã«ã¡ã¯ãéçºãšã³ãžãã¢ã®north_mkyã§ãã å
æ¥æ¥åã«ãŠè² è·æ€èšŒã JMeter ã§è¡ãããšã«ãªããåŒç€Ÿãšã³ãžãã¢ãæžããäžèšã®èšäºãèªã¿ã€ã€è€æ°ã®ã·ããªãªäœæãè¡ããŸããã tech-blog.rakus.co.jp ã§ããæåã®1ã·ããªãªã®äœæã§å
šç¶æ³å®ããŠããåäœã«ãªãããäºæ³ããã3åã»ã©æéãããã£ãŠããŸããŸããããã ã·ããªãªäœæã«ããã£ãŠå¿
èŠãªç¥èãšããŠããã¡ããã·ããªãªãäœæãã察象ã®ç»é¢ã®ä»æ§çè§£ãå¿
èŠã§ããã æã£ã以äžã«å°ããªèšå®ãã¹ãå€ã ã§ãã ãã®èšäºã§ã¯åå ç®æã«æ°ã¥ããŸã§ã®ããã»ãã¹ãã ã©ã¯ ãã£ã¹ãã玹ä»ããããšæããŸãã ã¯ãã㫠察象èªè
ã·ããªãªäœæãã©ãã«ã·ã¥ãŒãã£ã³ã°ã¬ã€ã Step0. æºå Step1. jmeter.logã確èªãã Step2. ãªã¯ãšã¹ããã©ã¡ãŒã¿ã®å€ãæ£ããã確èªãã Step3. ã·ããªãªå®è¡ãã©ãã®ãªã¯ãšã¹ãã§èœã¡ããå®è¡é ã«èŠãŠç¹å®ãã ããã㫠察象èªè
ã·ããªãªãäœæããŠãã æ¹ã«ã¯æçãªèšäºã«ãªã£ãŠãããšæããŸãã ç¹ã«å°ãè€éãªã·ããªãªãäœæããããšããŠããæ¹ã«ã¯ãã²äžåºŠã¿ãŠããã ããããšæããŸãã JMeter ã®ã·ããªãªå®è¡ã¯ããããšããããã©ã·ããªãªäœæã¯åããŠ/å§ããã°ã£ããã®æ¹ ã·ããªãªéå§ããçµäºãŸã§ã®éã®ç»é¢é·ç§»ãå€ã( ãµã³ãã©ãŒ ãå€ã) ç¹å®ã®ãªã¯ ãšã¹ ããã©ã¡ãŒã¿ã®å€ãå€éšãã¡ã€ã«( CSV )ããèªã¿èŸŒãã§ã»ããããããã«ããŠãã ãªã¯ ãšã¹ ããã©ã¡ãŒã¿ãåçã«å€ããç»é¢é·ç§»ããã CSRF ããŒã¯ ã³ ã·ããªãªäœæ ãã©ãã«ã·ã¥ãŒãã£ã³ã° ã¬ã€ã ãã¹ã®åå 調æ»ãç°¡åãªãã®ããé€ã
ã«ç¹å®ãé£ããåå 調æ»ãžãšã¹ããããèžããšå¹çç ã§ãã®ã§ãã®ãããªæ§æã«ããŸãããã·ããªãª ãããã° ãããŠãããšæåã¯çŽããŠãçŽããŠãéããšã©ãŒãã§ãŠãã...ãšæãããŠãããšãããããã®ã§ãããå€ãã¯ç°¡åãªèšå®ãã¹ãªã®ã§ãæ°ã«ããæ·¡ã
ãšç¢ºèªããŠãããŸãããïŒ Step0. æºå ãŸãæåã« ãããã° ãã§ããããã«ããèšå®ãå¿
èŠã§ãã ãã¹ãèšç» ã®çŽäžã«ä»¥äž2ç¹ã® ã³ã³ããŒãã³ã ã远å ããŸããèšå®ãé©åã«è¡ããš å®éã«å®è¡ãããšãã®ãªã¯ ãšã¹ ãã»ã¬ã¹ãã³ã¹ã®æ
å ±ããã¹ãŠèŠããããã«ãªããŸã ãæ³šæãªã®ã§ããã ãããã° çšã«è¿œå ããã®ã§ å®éã«è² è·æ€èšŒãæµããšãã«ã¯å¿
ãç¡å¹ã«ããŠãã ããã æ£ããèšæž¬ãã§ããªãå¯èœæ§ããããŸãã ãªã¹ã㌠> ã·ã³ãã«ããŒã¿ã©ã€ã¿ å®è¡çµæããã¡ã€ã«åºåãã ã³ã³ããŒãã³ã ã以äžã®ãã㪠xml ãã¡ã€ã«åœ¢åŒã«èšå®ãã ãªã¹ã㌠> çµæãããªãŒã§è¡šç€º 1.ã§åºåãããã¡ã€ã«ãèªã¿èŸŒãã§ãªã¯ ãšã¹ ãã»ã¬ã¹ãã³ã¹ããããããã圢ã§è¡šç€ºãã ã³ã³ããŒãã³ã 倱æãããªã¯ ãšã¹ ãã¯èµ€åã«ããŠããã 1 ãŸã¡ãã£ãŠããããªãã©ã¡ãŒã¿ãèµ€åã«ããŠããã URL ãšã³ã³ãŒã ããããã©ã¡ãŒã¿ããã³ãŒãããŠè¡šç€ºããŠããã Step1. jmeter .logã確èªãã ãã€ã³ã å€éšãã¡ã€ã«ãæ£ããèªã¿èŸŒãŸããŠããã ãã¹ã®æå®ã誀ã£ãŠããªãã å€éšãã¡ã€ã«ã®æžãæ¹ãšã·ããªãªã§èšå®ããã«ã©ã ã®é çªãæ
å ±ã«èª€ãããªãã ãããã¹ãå®è¡ããŠã¿ããã®ã®ãæ¬æ¥ãªããã£ãšå®è¡ã«æéãããããšãããäžç¬ã§å®è¡ãçµãã£ãŠããŸã£ã...ãšããå Žåã¯ããããã·ããªãªãå®è¡ããããã®æºåã«äžè¶³ãããå¯èœæ§ãé«ãã§ãããã®ãšãã¯ãŸã jmeter .logã確èªããŸãã jmeter .logã¯å®è¡ãã°ãšãªã£ãŠãããå€éšãã¡ã€ã«ã®èªã¿èŸŒã¿ãããŸãè¡ã£ãŠããªãå Žåã¯ãšã©ãŒãšããŠèšé²ãæ®ããŠãããŸãã jmeter .logãã¿ãŠåå ç®æãæšæž¬ã§ãããã èšå®ãšã¬ã¡ã³ã > CSV Data Set Config ã®èšå®å
容ã§ãã£ããæå®ãããã¡ã€ã«ã®åœ¢åŒããã£ãŠããã確èªãé©å®ä¿®æ£ããŠãã ããã Step2. ãªã¯ ãšã¹ ããã©ã¡ãŒã¿ã®å€ãæ£ããã確èªãã Step0 ã§èšå®ãã ãªã¹ã㌠> çµæãããªãŒã§è¡šç€º ãèŠãŠå®éã«ã¢ã¯ã»ã¹ãããšãã®ãªã¯ ãšã¹ ããã©ã¡ãŒã¿ãèŠãŠãããŸãã ãã®ãã©ã¡ãŒã¿ã®èšå®ã®ãã¹ãå²ãšå€ãã®ã§äžèšãã€ã³ã4ã€ãé çªã«èŠãŠãããšè¯ããšæããŸãã ãã€ã³ã 倿°åããã®ãŸãŸåºãŠããªãã é©åã«URL ãšã³ã³ãŒã ãããŠããã åç»é¢ã®å€ãååŸãã åŸåŠç > æ£èŠè¡šçŸæœåº ã§èšå®ãã倿°åããã©ã¡ãŒã¿ã«ã»ãããå¿ããŠããªãã åãæž¡ããŠãã倿°ãã©ã¡ãŒã¿ã®å€ãåç»é¢ããæ£ããååŸãããŠããã 1. 倿°åããã®ãŸãŸåºãŠããªãã ãªã¯ ãšã¹ ããã©ã¡ãŒã¿ã®å€ãèŠãã°ããã«èŠã€ããããŸãã( ${hoge} ) 倧æµåå 㯠ã ãµã³ãã©ãŒ ã«èšå®ãã倿°åãå®çŸ©ãã倿°åãšéãã ã åŸåŠç > æ£èŠè¡šçŸæœåº ã® æ£èŠè¡šçŸ ã誀ã£ãŠããŠæœåºçµæã空ã ã® ãã¥ã ãã«ãªããŸãã 2. é©åã«URL ãšã³ã³ãŒã ãããŠããã ãã«ããã€ãæåã§ãã£ããURLã§ã¡ã¿æåãå©çšã§ããªãæåãå«ãŸãããã©ã¡ãŒã¿ãURL ãšã³ã³ãŒã ããªãã§ãªã¯ ãšã¹ ããæããŠããããéã«ãã§ã«URL ãšã³ã³ãŒã ããŠãããšããã«èª€ã£ãŠäºéã§URL ãšã³ã³ãŒã ãè¡ã£ãŠããŸã£ãŠããå ŽåããããŸãããURL Encode?ã ãã§ãã¯ããã¯ã¹ ã確èªããŠã¿ãŠãã ããã HTTPãããã·ãããŠãŠãªã¯ ãšã¹ ããèšé²ããå Žåããããªã« JMeter ãã€ããŠãããŠããå Žåãå€ãã§ããã æ£èŠè¡šçŸ ãçµãã ãããŠãããã¡ã«ãã§ãã¯ãå€ããŠããŸã£ã/ã€ããŠããŸã£ãããšãã§ãŠãããããããŸãããç·»å¯ãªäœæ¥ã§ãã¹ãèµ·ããããã®ã§èªåã責ããããããŠãããã«é²ããŠãããŸããã...( çµéšè« ) 3. åç»é¢ã®å€ãååŸãã åŸåŠç > æ£èŠè¡šçŸæœåº ã§èšå®ãã倿°åããã©ã¡ãŒã¿ã«ã»ãããå¿ããŠããªãã ãªã¯ ãšã¹ ããèšé²ããå Žåããã®èšé²ããŠããå€ã®ãŸãŸã«ãªã£ãŠãããããããŸãããããäžåºŠå€æ°ã®èšå®æŒãããªãã確èªããŠã¿ãŠãã ããã 4. åãæž¡ããŠãã倿°ãã©ã¡ãŒã¿ã®å€ãåç»é¢ããæ£ããååŸãããŠããã 1.ã§æžããåå ã«äŒŒãŠããŸããã æ£èŠè¡šçŸ æœåºã§åç»é¢ããæœåºèªäœã¯ã§ããŠããŠãäœèšãªæåãæŸã£ãŠããŠããŠãšã©ãŒã«ãªã£ãŠããå¯èœæ§ããããŸãã ãªã¹ã㌠> çµæãããªãŒã§è¡šç€º ã§ã¯ã¬ã¹ãã³ã¹ã®bodyã«å¯ŸããŠæååæ€çŽ¢ãã§ããããããªã¯ ãšã¹ ããã©ã¡ãŒã¿ã«ã»ããããå€ãåç»é¢ã®ã¬ã¹ãã³ã¹å
ã§åŒã£ãããã確èªããŠã¿ãŠãã ããã Step3. ã·ããªãªå®è¡ãã©ãã®ãªã¯ ãšã¹ ãã§èœã¡ããå®è¡é ã«èŠãŠç¹å®ãã ãã€ã³ã ãªã¯ ãšã¹ ã/ã¬ã¹ãã³ã¹ããšã«æ³å®ã®æåã«ãªã£ãŠããã確èªãã webãµãŒã/ã¢ããªãã°ãªã© ç»é¢ Step1,2ã確èªããŠãè§£æ¶ããªãå Žåã¯ããããã·ããªãªãããã¿ã€ã¶ãã«ç¢ºèªããäœæ¥ã«ãªããŸããè€æ°ç®æã§ãšã©ãŒãåºãŠããå Žåã¯ãã ãããäžã®ãšã©ãŒãåŒãç¶ãããŠãšã©ãŒãã§ãããšãå€ãã®ã§çŠãæ°æã¡ãæããŠäžããé çªã«èŠãŠãããŸãã ã¬ã¹ãã³ã¹ã§ãšã©ãŒç»é¢ããšã©ãŒæèšãããã°ãããããã³ã±ãåå ãèããããããšæããŸãã ã¢ãµãŒã·ã§ã³ ãé©åã«èšå®ããŠããªããšãšã©ãŒãªã®ã«èŠãç®ã¯æåã衚ãã°ãªãŒã³ã®ã¢ã€ã³ã³ã«ãªãã®ã§ããåå ç¹å®ãé£ãããªããŸããããåŸäžã®ããã«åå ãããã£ãã ã¢ãµãŒã·ã§ã³ ã远å ããŠæ¬¡ããåŒã£ããã£ããšãã¯å€±æã衚ãã¬ããã®ã¢ã€ã³ã³ã«ãªãããã«ãããšè¯ããšæããŸãã ãããã« ãããã§ããã§ãããããé·ãã·ããªãªã ã£ãããã©ã¡ãŒã¿ã®å€ãç»é¢ã®é·ç§»ãšãªããšã·ããªãªã«å°ãããã¹ãèµ·ãããããªãå²ã«åå ç¹å®ã«æéããããæ°å³ã«ãªããŸãã ãããªãšãã«ãã®èšäºãã¿ãŠããã ããŠçããã®ãããããèŠçãå°ãã§ãåããã°å¹žãã§ãã ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã rakus.hubspotpagebuilder.com ã©ã¯ ã¹Developersç»é²ãã©ãŒã https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ âTECH PLAY techplay.jp âconnpass rakus.connpass.com 倱æããã©ããã¯ã¢ããªã±ãŒã·ã§ã³ã«äŸåããã®ã§ ãµã³ãã©ãŒ > ã¢ãµãŒã·ã§ã³ ã§é©å®ãšã©ãŒãå®çŸ©ããå¿
èŠããããŸã ↩
id:radiocat ã§ãã ã¹ã¯ã©ã 㯠éã®åŒŸäžž ã§ã¯ãªãã®ã§ããã€ãããŸããããšã¯éããŸãããä»åã¯ç§ãã¡ã®ããŒã ã®å€±æäºäŸãã玹ä»ããŸãã 以åã®æçš¿ ã§ã玹ä»ããŸããããç§ãã¡ã®ããŒã ã¯1é±éã¹ããªã³ããæ¡çšããŠããŸãã以äžã®ããã«æšæã«èšç»ãç«ãŠãŠã¹ã¿ãŒãããç¿é±æšæã«ã¬ãã¥ãŒãè¡ãæµãã§ãã ã芧ã®ããã«éçºã«æ³šåã§ããæéã¯å®è³ª4æ¥ãããããŸãããæ²¹æãããšããã«ã¬ãã¥ãŒã®æ¥ãè¿ããã®ã§ç·åŒµæããããŸãããããŠããã®ç·åŒµæã«ããã«æè»ããããèŠçŽ ãã¹ããªã³ãæéäžã®ãäŒæ¥ãã§ãã é£äŒã®çéã®æé㯠ã¹ã¯ã©ã ãé²ããã¹ããïŒ ãåç¥ã®éãã2018幎ã®9æã¯2é±ç¶ããŠææãäŒæ¥ãšãªãæéããããŸããããã®ãŸãŸã ãšéçºãå®è³ª3æ¥ãããªãã¹ããªã³ãã2åç¶ããŸãã ããã«ããã®é£äŒæéãå©çšããŠ2人ã®äž»åã¡ã³ããŒãäŒæãåãããšã«ãªããŸããã5人ããŒã ãªã®ã§éçºåã¯åæžããŸããããŒã ã¯ãã®æéãã©ãéããã¹ãã§ããããïŒ é£äŒã®çéãã¹ããªã³ããé²ããéžæ ãå¯ãã®ãšãããæã
ã¯ãã®ãŸãŸã¹ããªã³ããé²ããŸããããšã¯ããããããã«äžžè
°ã§ãã®ç¶æ³ã«ç«ã¡åããã»ã©ã®åºŠèžã¯ãªãã®ã§ãæã
ãªãã«å¯Ÿçãç«ãŠãŠåãçµãããšããŸããããŸãã¯ãã®å¯Ÿçãã玹ä»ããŸãã é£äŒæéã® ã¹ã¯ã©ã ã€ãã³ãã¯äžæ¢ãã å
šå¡æã£ãŠããªãç¶æ
ãªã®ã§ã¹ããªã³ãã¬ãã¥ãŒã¯1é±éã¹ãããããããšã«ããŸããããã ãé£äŒåã®éæããçæããã¹ããªã³ããäžæããã®ã¯ãã£ãããªãã®ã§ä»¥äžã®ããã«é²ããããšã«ããŸããã åã
ã®éçºã¯é²ããŠè¯ã äžéå端ã«äœæ¥ãäžæããŠå¥ã®äºãããã®ãæ°æã¡ãæªãã®ã§ãåºç€ŸããŠããã¡ã³ããŒã¯åºæ¥ãç¯å²ã§éçºã¯é²ããŠããããšã«ããŸããããã ãäž»åäžåšã§éçºããŒã å
ã§ã®ãã©ããŒãã¬ãã¥ãŒã¯æèã«ãªãã®ã§ãç¡çããåºæ¥ãç¯å²ã§äœæ¥ãé²ããŠãäž»åã¡ã³ããŒã®ã¬ãã¥ãŒãå¿
èŠãªäœæ¥ãªã©ã¯é£äŒæããŸã§ä¿çããããã«ããŸããã çéã®4æ¥éã§1æ¥åã®å®çžŸãç®æšã«ãã äž»å2人ã®äŒæã§ããŒã å
šäœã®ããã©ãŒãã³ã¹ã¯äœäžããŸãããæ®ãã®ã¡ã³ããŒã ãã§ã4æ¥ããã°æ®æ®µã®1æ¥åãããã®å®çžŸã¯å
åéæåºæ¥ãã ãããšèããŸãããããããããšã§çµæçã«2é±éã®åèšã4æ¥åã®å®çžŸãšãªãã®ã§ããã€ãé²ããŠãã1é±éã¹ããªã³ããšåããããã®ããã·ãã£ãç®æãããšã«ãªããæèŠçã«ãããããããç®æšã«ãªããŸããäž»åäžåšãšã¯ãã4æ¥ã§1æ¥åãªã®ã§ãåºå€ããŠããã¡ã³ããŒã«ãè² æ
ãããããªãã¯ãã§ãã ãã©ã³ãã³ã°ãšå
±æããã€ã以äžã«ãã£ããè¡ã 念ã®ãããäŒæã®åæ¥ã«æ¹ããŠäž»åã¡ã³ããŒãèããŠããã¹ããªã³ãäžã®ã¿ã¹ã¯ã®é²ãæ¹ãããŒã ã®ã¡ã³ããŒãžãã£ããå
±æããŠåŒãç¶ãã§ããããŸããã äžãããããªãã£ãããŒã³ããŠã³ãã£ãŒã çµæçã«ãã®ã¹ããªã³ãã§ã¯ãæ®ã¿ã¹ã¯éã瀺ãããŒã³ããŠã³ãã£ãŒãã®å®çžŸã次ã®ããã«ãªããŸããã 埮åŠãªçµæã§ããå€§è² ããšããã»ã©ã§ããªãã埮åŠãªæããéã«æ°æã¡æªããããã§ãããããããã®ã¹ããªã³ãã®ãµããããã¯ããŒã ã«ç²åŒæãæŒããç§ãå«ããŠã¿ããªã¢ã€ã£ãšããç¶æ
ã§æ¹åã¢ã¯ã·ã§ã³ãããŸããŸãšããããªããŸãŸã¹ããªã³ãã¯çµäºããŸããã ãªãèšç»ã©ããã«ã¹ããªã³ããçµãããªãã£ãã®ãïŒ ãã£ããäœãåé¡ã ã£ãã®ããåŸæ¥ ã¹ã¯ã©ã ã³ãŒãã«çžè«ããŠã¿ããš3ã€ã®èª²é¡ãèŠããŠããŸããã ã¹ããªã³ããé²ããã®ã«ååãªäœå¶ã§ã¯ãªãã£ã ç§ãã¡ã®ããŒã ã®ã¡ã³ããŒæ§æãæ¹ããŠæŽçãããšæ¬¡ã®ããã«ãªã£ãŠããŸãã çŸåšé²ããŠãããããžã§ã¯ãã®åšç±æéã1幎以äžã®ã¡ã³ããŒã誰ãããªãç¶æ³ã§ãç®ã«èŠãã人æ°ä»¥äžã«ããŒã ã®äœå¶ã¯åŒ±ããªã£ãŠããŸããããã«å®ã¯ãã®ã¹ããªã³ãã®ååã®äž»åã¡ã³ããŒãäŒæã«å
¥ãçŽåãŸã§ãããŒã ãå©ããã¹ã ã¹ã¯ã©ã ãã¹ã¿ãŒã¯åºåŒµå
ãããªã¢ãŒãã§ããŒã ã®æŽ»åã«åå ããŠãããéçºããŒã ã®ç¶æ³ã詳现ãŸã§ææ¡åºæ¥ãªãç¶æ³ã«ãããŸããããã€ã以äžã«ãã£ããå
±æããŠããäŒæã«å
¥ããšããäºåã®å¯Ÿçã¯éçºããŒã å
ã®åã
ã®ã¡ã³ããŒã®æèŠã«èšãããŠããã客芳çã«ã¿ãŠã察çã§ããŠãããšãããç¶æ
ãã©ããã¯èª°ãããããªãç¶æ³ã«ãªã£ãŠããŸããã ããã¯ãã° ãReadyã§ã¯ãªãã£ã ããŠãäžèšã®ããŒã³ããŠã³ãã£ãŒãã¯çéã®4æ¥éã1æ¥ã®å®çžŸãšããŠãŸãšããŠããŸããããããããããã®æ¥ããšã®å®çžŸã«åããŠã¿ããšæ¬¡ã®ãããªå®çžŸã«ãªã£ãŠããŸããã äž»åã¡ã³ããŒãäŒæã«å
¥ã£ã忥ããå®çžŸãäžããããæ®ã¿ã¹ã¯ãå
šãæžã£ãŠããŸããããã§ã«å±éºãªç¶æ³ã«çªå
¥ããŠããããšãããããŸããå®ã¯ãã®ãšãããã©ã³ãã³ã°æç¹ã®æ³å®ãèŠã£ãŠãã®ãŸãŸã§ã¯ã¿ã¹ã¯ãé²ããããªãããšãããããŸããã ã¹ã¯ã©ã ãã¹ã¿ãŒã¯ããŒã ã®ç¶æ³ãå¯ç¥ãããã£ããã¿ã¹ã¯ã®çµäºæ¡ä»¶ãèŠçŽãããã¹ããªã³ãã®ãŽãŒã«ãèŠçŽããªã©ã®èª¿æŽãè¡ããäžåºŠã¯æ®ã¿ã¹ã¯ãæžããŸããããããã«ãŸãå¥ã®åé¡ãçºçããŠéã«æ®ã¿ã¹ã¯ãå¢ããŠããŸããŸããã çµæçã«ãã®æçæããŠãã ããã¯ãã° ã¯æåããReadyã§ã¯ãªãã£ãã®ã§ããã€ãŸããã®ã¹ããªã³ãã¯ååæç¹ã§ãã§ã«ã³ãŒã«ãè² ããæ±ºãŸã£ãŠããŸããã ãããã1ã€ç®ã®åå ã«ãããšãããããŒã ã®äœå¶ãäžååã§ãååæç¹ã§ã¯ãã®ç¶æ³ãæ£ãã倿ã§ããã¡ã³ããŒãããŸããã§ããã ã¹ã¯ã©ã ãã¹ã¿ãŒã¯ããŒã ã®ç¶æ³ãæ£ç¢ºã«å€æåºæ¥ãã ãã®æ
å ±ããã£ããã§ããŠããªãã£ãããå Žåœããçãªå¯Ÿçãåã£ãŠããŸããçµæçã«ã¯ã³ãŒã«ãè² ãããããŒã ã«ãã®ãŸãŸè©Šåç¶è¡ãä¿ãããšã«ãªã£ãŠããŸããŸããã 仿ããããŸã£ãŠããŠæåœãŠã远ãã€ãã ããŒã ã¯ããã§ããªããšãã¹ããªã³ãã®ãŽãŒã«ãç®æãããšåãçµã¿ãŸãããäŒæãæããŠãããäž»åã¡ã³ããŒã®é 匵ãã«ãã£ãŠãªããšãæã¡çŽããŸãããèšç»ããŠãããŽãŒã«ã«ã¯å°éã§ããŸããã§ããã ããŒã³ããŠã³ãã£ãŒããèŠããšã¹ããªã³ãã®æåŸã§æ®ã¿ã¹ã¯ã®æ¶åãå°ãªããªã£ãŠããŸããå®ã¯ãã®ãšãã仿äžã®ã¿ã¹ã¯ããããå¢ããããŠçµéšã®ããäž»åã¡ã³ããŒã§ãæ®ãã®æéã§å
šãŠãæåœããããšã¯åºæ¥ãªããªã£ãŠããŸãããã¹ããªã³ãååã«çºçããåé¡ããªããšãããããšããŠèšç»æã®æ³å®ãšã¯éãé²ãæ¹ããããããã£ããä¿çããŠä»ã®ã¿ã¹ã¯ã«æãåºããçµæãæ³å®ä»¥äžã«ä»æãäžã®ã¿ã¹ã¯ãå¢ããŠããŸã£ãã®ã§ãã ã³ãŒã«ãè² ãããªãéå å®ã¯ãããã®åå ã¯æ¢ã« ã¹ã¯ã©ã ã³ãŒãã®å矜ãããå¥ã®å Žã§ç€ºãããŠãããã®ã§ããã slide.meguro.ryuzee.com ãã®è³æã®äžã§ ã¢ãžã£ã€ã« éçºã§ã³ãŒã«ãè² ãããªãããã®5ã€ã®ãã€ã³ããæããããŠããŸãã å忡件 ã§éå§ãã Readyãªãããã¯ã ããã¯ãã° é
ç®ã ãçæãã åæã®ä»æããå°ãªããã ãã£ãŒãããã¯ãµã€ã¯ã«ãåãç¶ãã æè¡ã«æè³ãç¶ãã æã
ã¯5ã€ã®ãã€ã³ãã®ãã¡3ã€ãç¯ããŠããŸã£ãŠããŸãããã³ãŒã«ãè² ãããŠããŸã£ãŠã仿¹ãªãã§ãããã¹ããªã³ããé²ããã«ããããæ¹ããŠãããã®3ã€ã®ãã€ã³ããéèŠã§ããããšãçæããŸããã éå§ããã®ã«ååãªæ¡ä»¶ãïŒ ããã¯ãã° ã¯Readyã«ãªã£ãŠãããïŒ ä»æããå¢ããããé²ãæ¹ãããŠããªããïŒ ããã§ããæã
ã¯ãã®1åã®ã¹ããªã³ãã§ãšãŠã倧ããªåŠã³ãåŸããšãæã£ãŠããŸããä»åŸã¯ãããããã£ããæèããŠããŒã ã§åãçµãããšããŠããŸãã REGIONAL SCRUM GATHERING TOKYO 2019 ã®CfPãåºããŸããïŒ 2019幎1æ9æ¥ã11æ¥ã«å€§åŽãã©ã€ãã³ã¢ããŒã«ã§1幎ã«1床㮠ã¹ã¯ã©ã ã®ããã¯ã€ãã³ããREGIONAL SCRUM GATHERING TOKYO 2019ããéå¬ãããŸãã 2019.scrumgatheringtokyo.org ç§ãã¡ã® ã¹ã¯ã©ã ã®åãçµã¿ãå€ãã®æ¹ã«ç¥ã£ãŠããã ãããããŠç§ãã¡èªèº«ãåŠã³ãåŸãããã«ããããŒã¶ã«ã«å¿åããŸãããäžèšã®ãªã³ã¯ãã確èªããã ãããèå³ã®ããããã¯æ¯élikeããé¡ãããŸãïŒç· åã10ææ«ã§ãã®ã§ã泚æãã ããïŒã https://confengine.com/regional-scrum-gathering-tokyo-2019/proposal/7956/- confengine.com REGIONAL SCRUM GATHERING TOKYOã§ã¯æ¯åããããã®çŽ æŽãããã»ãã·ã§ã³ãè¡ãããŸãã®ã§ã ã¹ã¯ã©ã ã«èå³ã®ããããã¯ãã²ãã±ãããå
¥æããŠãåå ããã ããã°ãšæããŸãã
åãã« ããã«ã¡ã¯ïŒãšã³ãžãã¢ã® id:FM_Harmony ã§ãã ååã¯gitã®fetchã³ãã³ãã«ã€ããŠãèšäºãæçš¿ããŸããã tech-blog.rakus.co.jp ä»å㯠postgreSQL ã®å¯Ÿè©±åã¿ãŒããã«ã psql ã®ãªãã·ã§ã³ã«ã€ããŠç޹ä»ããããšæããŸãã æ®æ®µã®æ¥åã§ãã psql ã³ãã³ãã® -f ãªãã·ã§ã³ã -c ãªãã·ã§ã³ãå©çšããŠã¯ãšãªãçºè¡ããæ©äŒãå€ãã®ã§ããã psql ã«ã¯ä»ã«ã䟿å©ãªãªãã·ã§ã³ãåãã£ãŠããŸãã å€ãã®ãªãã·ã§ã³ãååšããŸãããä»åã¯ãã®äžã§ãå人çã«äŸ¿å©ã ãšæã4ã€ã®ãªãã·ã§ã³ã«ã€ããŠç޹ä»ããŸãã åãã« -aïŒçºè¡ããã¯ãšãªãã³ã¡ã³ããåºåãã -tïŒæœåºçµæã®ã¿åºå -AïŒäœçœ®æããè¡ããªã -FïŒåºåãæåãæå®ãã å©çšäŸïŒæœåºçµæããcsvãã¡ã€ã«ãäœæãã çµããã« åè -aïŒçºè¡ããã¯ãšãªãã³ã¡ã³ããåºåãã psql ã³ãã³ããå©çšã㊠SQL ãã¡ã€ã«ãã¯ãšãªã®çºè¡ãè¡ã£ãå Žåãå®è¡çµæã®ã¿åºåãããŸãã sample.sql --this is comment SELECT columnA, columnB FROM some_table; $ psql -U postgres -d some_db -f sample.sql columnA | columnB ---------+--------- A | B (1è¡) ãã®æã psql ã³ãã³ãã« -a ãªãã·ã§ã³ãæå®ããããšã§ãçºè¡ããã¯ãšãªã SQL ãã¡ã€ã«ã«èšèŒããã³ã¡ã³ããåºåããããšãã§ããŸãã $ psql -U postgres -d some_db -f sample.sql -a --this is comment SELECT columnA, columnB FROM some_table; columnA | columnB ---------+--------- A | B (1è¡) ãã®ãªãã·ã§ã³ã䜿ãããšã§ãäŸãã° SQL ãã¡ã€ã«ã®å®è¡çµæãã°ãã¬ãã¥ãŒããŠãããéãªã©ãã¬ãã¥ãŒè
ã SQL ãã¡ã€ã«ã®å®è¡ã³ãã³ããææ¡ãããããªããŸãã -tïŒæœåºçµæã®ã¿åºå éåžžã psql ã³ãã³ããçšããŠæœåºçµæãåºåããå Žåãååãåºåããè¡ãåºåçµæã«å«ããŸãã $ psql -U postgres -d some_db -c "SELECT columnA, columnB FROM some_table;" columnA | columnB ---------+--------- A | B (1è¡) psql ã³ãã³ãã« -t ãªãã·ã§ã³ãæå®ããããšã§ãæœåºçµæããååãè¡æ°è¡šç€ºãé€ããŠåºåããããšãã§ããŸãã $ psql -U postgres -d some_db -c "SELECT columnA, columnB FROM some_table;" -t A | B äŸãã°ã psql ã§æœåºããçµæãåºã«ããŠäœããã®ç¹°ãè¿ãåŠçãè¡ã ã¹ã¯ãªãã ãäœæããéãªã©ãæœåºçµæã«ååãè¡æ°è¡šç€ºã¯å¿
èŠãªãå ŽåããããŸãã ããã§ããã®ãªãã·ã§ã³ã䜿ãããšã§ããããé€ããåºåçµæãååŸããããšãã§ããŸãã -AïŒäœçœ®æããè¡ããªã psql ã³ãã³ããå©çšããéã®æœåºçµæã¯ã衚圢åŒã«æŽåœ¢ãããŠåºåãããŸãã $ psql -U postgres -d some_db -c "SELECT columnA, columnB FROM some_table;" columnA | columnB ---------+--------- A | B (1è¡) ãã®æã psql ã³ãã³ãã« -A ãªãã·ã§ã³ãå©çšããããšã§ãäœçœ®æããªãã®åºåãæåã | ãšãã圢åŒã§æœåºçµæãåºåããããšãã§ããŸãã $ psql -U postgres -d some_db -c "SELECT columnA, columnB FROM some_table;" -A columnA|columnB A|B (1è¡) äž»ã«ãã®ãªãã·ã§ã³ã¯ã次㮠-F ãªãã·ã§ã³ãšçµã¿åãããŠæœåºçµæã®åºå圢åŒã倿Žããéã«å©çšããŸãã -FïŒåºåãæåãæå®ãã åè¿°ã® -A ãªãã·ã§ã³ãšå
±ã«å©çšããããšã§ãæœåºçµæã®åºå圢åŒã倿Žããããšãã§ããŸãã -F ãªãã·ã§ã³ã®åŸã«æå®ããæåããæœåºçµæã®åºåãæåã«æå®ããŸãã $ psql -U postgres -d some_db -c "SELECT columnA, columnB FROM some_table;" -A -F : columnA:columnB A:B (1è¡) å©çšäŸïŒæœåºçµæãã csv ãã¡ã€ã«ãäœæãã ä»å玹ä»ãããªãã·ã§ã³ã®å©çšäŸãšããŠãããŒã¿ããŒã¹ã®æœåºçµæãã csv ãã¡ã€ã«ãäœæããæ¹æ³ãã玹ä»ããŸãã ãã®å Žåã -A ã -F ãªãã·ã§ã³ãæå¹ã§ãã 2ã€ã®ãªãã·ã§ã³ãçµã¿åãããŠåºåãæåã ã«ã³ã ã«ããããšã§ãæœåºçµæã csv ãã¡ã€ã«ã®åœ¢åŒã§åºåããããšãã§ããŸãã $ psql -U some_user -d some_db -c "SELECT columnA, columnB FROM some_table;" -A -F , columnA,columnB A,B (1è¡) ããšã¯ãåºåçµæã«å¯ŸããŠãªãã€ã¬ã¯ããªã©ãçšããããšã§ãæœåºçµæãã csv ãã¡ã€ã«ãäœæããããšãã§ããŸãã ãŸããåå㯠CSV ãã¡ã€ã«ã«å«ããããè¡æ°ã¯å«ããããªããšããå Žåã grep ã³ãã³ã ãªã©ãšçµã¿åãããŠè¡æ°è¡šç€ºãåºåçµæããé€ããšè¯ãã§ãããã # è¡æ°è¡šç€ºãåé€ããäžäŸ $ psql -U some_user -d some_db -A -F , -c "SELECT * FROM some_table;" | grep -v "è¡" columnA,columnB A,B çµããã« psql ã®ãªãã·ã§ã³ãããã€ã玹ä»ããŠã¿ãŸãããããããã§ããã§ããããã ä»å玹ä»ãããªãã·ã§ã³ã¯æœåºçµæã«åœ±é¿ãäžãããã®ã°ããã§ããããã¡ããããŒã¿ã®è¿œå ãæŽæ°æã«å©çšã§ãããªãã·ã§ã³ãååšããŸãã ãã ã psql ã³ãã³ããå©çšããç®çãšããŠå€ãã®ã¯ããã¯ãããŒã¿æœåºã ãšæããŸãã ãªã®ã§ãä»å玹ä»ãããªãã·ã§ã³ãå©çšã§ããæ©äŒãšããã®ã¯ãã»ãã®ãªãã·ã§ã³ã«æ¯ã¹ãŠå€ãããã«æããŸãã çããŸã psql ã³ãã³ããå©çšãããéã¯ãä»å玹ä»ãããªãã·ã§ã³ã®å©çšãæ€èšããŠã¿ãŠã¯ãããã§ããããã åè psql - PostgreSQL 9.6.5ææž ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã rakus.hubspotpagebuilder.com ã©ã¯ ã¹Developersç»é²ãã©ãŒã https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ âTECH PLAY techplay.jp âconnpass rakus.connpass.com
倧éªãªãã£ã¹ã®ç§»è»¢ ãæ©ã«ãçæŽ»ãªãºã ãçµ¶è³èŠçŽãäžã® @kawanamiyuu ã§ãã ä»åã¯æšå¹ŽåºŠããåãçµãã§ãããéç§°ããã¿ãããããžã§ã¯ããã®ä»æã®ææïŒã®äžéšïŒã«ã€ããŠã玹ä»ããŸãã ãã¿ãããããžã§ã¯ããšã¯ ããã·ã§ã³ ç®æš 瀟å
ã·ã¹ãã ã®ãã€ã¯ããµãŒãã¹å 瀟å
ã·ã¹ãã ã®æŠèŠ ãã¿ãããããžã§ã¯ãéå§å 2018 幎 9 æçŸåš ãã€ã¯ããµãŒãã¹ã®çµææŽåæ§ èª²é¡æ æ€èšŒå
容 æ€èšŒçµæïŒåŸãããç¥èŠïŒ ãµãŒãã¹ã®åå²ã¯é£ãã çµææŽåæ§ã®æ
ä¿ã¯é£ãã æåŸã« ãã¿ãããããžã§ã¯ããšã¯ ãã¿ãããããžã§ã¯ããšã¯ãéçºã®æªæ¥ã«å
æãæã€ãããžã§ã¯ããã®ç¥ç§°ã§ã2017 幎床ã«åãçµã¿ãå§ãŸããŸããã ããã·ã§ã³ ãç¶ç¶çã«æ°ããããšã«åãçµã¿ãçµç¹èŠæã«å¯ŸããŠè¿
éã«ãã¬ã³ãæè¡ã§å¿ããããšãã§ããããã«ãªãã ç®æš å
·äœçã«ã¯ä»¥äžã®å®çŸã®ããã®æè¡æ€èšŒãç¥èŠç²åŸãã瀟å
ã·ã¹ãã ã®ãã€ã¯ããµãŒãã¹åã顿ã«è¡ã£ãŠããŸãã ãœãããŠã§ã¢èŠæš¡ã«æ¯äŸããéçºå¹çäœäžã®è»œæž ç¡åæ¢ãããã€ãäžå
·åçºççäœäžãªã©ã®é«å¯çšæ§ã®å®çŸ çŸè¡ãœãããŠã§ã¢ããã®æ®µéçãªç§»è¡ã®å®çŸ 瀟å
ã·ã¹ãã ã®ãã€ã¯ããµãŒãã¹å 瀟å
ã·ã¹ãã ã®æŠèŠ LAMP ( PHP ) ã§æ§ç¯ãããã¢ããªã·ãã¯ãª Web ã¢ããªã±ãŒã·ã§ã³ ãšã³ãžãã¢ã çµç æ
åœè
ãªã©ãã瀟å
ããã®ã¿ã¢ã¯ã»ã¹ããŠå©çšãã ãããžã§ã¯ãç®¡çæ©èœãéçºçšŒåéèšæ©èœãªã©ãæäŸãã ãã¿ãããããžã§ã¯ãéå§å ãã¹ãŠã®æ©èœãã¢ããªã·ãã¯ãªã¢ããªã±ãŒã·ã§ã³ãšããŠæäŸãããŠãã 2018 幎 9 æçŸåš ã¢ããªã·ãã¯ãªã¢ããªã±ãŒã·ã§ã³ãããäžéšã®æ©èœããã€ã¯ããµãŒãã¹ãšããŠåãåºãã ãã€ã¯ããµãŒãã¹ã¯ AWS äžã§ã³ã³ãããšããŠåäœããŠãã ãã€ã¯ããµãŒãã¹ã®çµææŽåæ§ ãã€ã¯ããµãŒãã¹åãé²ãããšããã¯ãšã³ãã§è€æ°ã®ãµãŒãã¹ãå調ããŠåäœããããšã«ãªãããããŸã§ã¯ããŒã¿ããŒã¹ã® ãã©ã³ã¶ã¯ã·ã§ã³ æ©èœã«ããæ
ä¿ãããŠããããŒã¿ã®äžè²«æ§ã«ã€ããŠå¥ã®ã¢ãããŒããå¿
èŠã«ãªããŸãã ãã¿ãããããžã§ã¯ãã®ä»æã®åãçµã¿ã® 1 ã€ãšããŠããã€ã¯ããµãŒãã¹ã®çµææŽåæ§ã«ã€ããŠèª¿æ»ãæè¡æ€èšŒãè¡ããŸããã èª²é¡æ è€æ°ã«åå²ããããµãŒãã¹éã®ããŒã¿ã®äžè²«æ§ãã©ã®ããã«ä¿ãŠã°ããã ããŒã¿äžæŽåãçããå Žåãã©ã®ããã« ãªã«ã㪠ãŒããã°ããã æ€èšŒå
容 ããæ©èœã 2 ã€ã®ãµãŒãã¹ (å³äžã® project-service ãš function-service ) ãšããŠåãåºã ã¢ããªã·ãã¯ãªã¢ããªã±ãŒã·ã§ã³ããè€æ°ïŒç€Ÿå
ã§ã®å©çšå®çžŸããªãããããã¯å°ãªãïŒã®èšèªã ãã¬ãŒã ã¯ãŒã¯ ãå©çšããŠåå²ããããšãæè¡æ€èšŒã®äžç° ãããªãœãŒã¹ãæ°èŠç»é²ããéã«ãåŸæ¥ 1 ãã©ã³ã¶ã¯ã·ã§ã³ ã§è¡ã£ãŠããåŠç ( SQL ) ã®äžéšããä»ååãåºãããµãŒãã¹ã® API åŒã³åºãã«çœ®ãæãã ããŒã¿ã®æŽåæ§ã¯ãªãã©ã€åŠçã§æ
ä¿ãã æ€èšŒçµæïŒåŸãããç¥èŠïŒ ãµãŒãã¹ã®åå²ã¯é£ãã 倧åæãšããŠãµãŒãã¹ããŸãã ãã©ã³ã¶ã¯ã·ã§ã³ ãçºçããªãããã«ãµãŒãã¹ãåå²ãã¹ã ä»åã®ããã«åäž ãã©ã³ã¶ã¯ã·ã§ã³ ã§ããŒã¿æŽæ°ããããåŠçã§ããã°ããµãŒãã¹å士ã ççµå ã§ã¯ãªããšããããšã§ããããããããµãŒãã¹åå²ã®ç²åºŠãæ£ãããªãå¯èœæ§ãé«ã ãã¡ã€ã³ ã®ç¥èãä¹ããç¶æ
ã§ã¯é©å㪠ãã¡ã€ã³ å¢çãèªèããããšã¯ããããŠé£ãã ãã¡ã€ã³ ã®ç¥èãå¢ããäžç€ã«ãªã£ãŠããåå²ãçŽãããšããå¥ã®æå³ã§é£æåºŠãé«ãã èªåãã¹ããªã©å質æ
ä¿ã®ä»çµã¿ããäœãçŽãã«å¯Ÿããçµç¹ã®çè§£ã®åºŠåãã§å®çŸå¯èœæ§ã倧ããå€ãã çµææŽåæ§ã®æ
ä¿ã¯é£ãã ä»åã®ããã«ãªãã©ã€ïŒæéåæ°ïŒã§æŽåæ§ãæ
ä¿ããå Žåããã¹ãŠå€±æããå¯èœæ§ããŒãã§ã¯ãªããæçµçã«ãã°ãªã©ããæå ãªã«ã㪠ãŒã§ããä»çµã¿ãèããŠããå¿
èŠããã ä»åã¯æéã®éœåã§æ€èšŒããŠããªãããã¡ãã»ãŒãžãã¥ãŒãå©çšããã€ãã³ããœãŒã·ã³ã°ãª ã¢ãŒããã¯ãã£ ãæ€èšããã 忣 ãã©ã³ã¶ã¯ã·ã§ã³ ïŒäºçžã³ããããªã©ïŒã®ææ³ã䜿ãéžæè¢ãããããã·ã¹ãã ã®è€éããé£æåºŠãäžæ°ã«å¢å ãããã§çŸå®çã§ã¯ãªããã æåŸã« ãã€ã¯ããµãŒãã¹ã®åå²ãçµææŽåæ§ã«é¢ããç¥èŠã¯ãæ
å ±ãšããŠã¯äžã®äžã«ãããŸãããå®éã«èªåã®æãåãããŠæ€èšŒããããšã§ãæ¹ããŠãã®èª²é¡æã宿ãããšãšãã«ãçŸå®ã®ãµãŒãã¹éçºã«ãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ã㣠ãé©çšããé£ãããæããã«ãªããŸãã ã©ã¯ ã¹ã§ã¯çŸåšã HRïŒäººäºåŽåïŒé åã察象ããæ°ãµãŒãã¹ã®éçº ã«åãçµãã§ããããã®ããã¿ãããããžã§ã¯ããã§åŸãããç¥èŠãçŸå®ã®ãããžã§ã¯ãã§æŽ»ããããããšããŠããŸããäŸãã° ã©ã¯ ã¹ãæäŸãã ã¯ã©ãŠã ãµãŒãã¹ãšããŠã¯åããŠå
šé¢çã« ã¯ã©ãŠã ãã€ãã£ã㪠ã¢ãŒããã¯ãã£ ãæ¡çšããããšã決å®ããŸãã ãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ ã®æ¡çšã«ã€ããŠãæ€èšããŸããããä»åçµéšãããµãŒãã¹åå²ã®é£ããããããŸãã¯ã¢ããªã·ãã¯ãª ã¢ãŒããã¯ãã£ ã§æéã§ããŒã±ããã«åå
¥ãããšããéžæãããŸãã ã©ã¯ ã¹ã§ã¯çŸç¶ã«æºè¶³ããéçºã®æªæ¥ã«å
æãæã£ãŠããã仲éãHRTech ã«èå³ããããšã³ãžãã¢ãåéããŠããŸãïŒ www.wantedly.com ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã forms.gle ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ rakus.connpass.com
ã¯ããã« æ°å2幎ç®ãšã³ãžãã¢ã®kasuke18ã§ãã ã€ãå
æ¥iOS12ããªãªãŒã¹ãããŸããããªãªãŒã¹ãããå
å®¹ã¯æ°å€ããããŸããããã®äžã§ãæ°ã«ãªã£ãã®ããã·ã§ãŒãã«ããããšããã¢ããªã§ãããã®ã¢ããªãããŸã䜿ãã° iPhone åäœã§ API ã®å®è¡ãå¯èœã«ãªããŸããå®éã«è©ŠããŠã¿ãŸããã®ã§ã玹ä»ããŸãã ããã ã¯ããã« ãã·ã§ãŒãã«ãããã¢ããªã«ã€ããŠ äœæããã·ã§ãŒãã«ãã å
容 äœæäŸ å®è¡çµæ ãããã« åèæç® ä»é²ïŒä»å䜿çšããã¢ã¯ã·ã§ã³ ãã·ã§ãŒãã«ãããã¢ããªã«ã€ã㊠ãªãªãŒã¹ããŒã Shortcuts 2.0 release notes ãèŠããšããã·ã§ãŒãã«ãããã¢ããªã¯iOS12ã®ä»¥åã«ãWorkflowãã¢ããªãšããŠå
¬éãããŠããããã§ãã ãã·ã§ãŒãã«ãããã¢ããªã§ã¯ã ããžã¥ã¢ã«ããã°ã©ãã³ã°èšèª ã®ããã« ã¢ã¯ã·ã§ã³ ãšåŒã°ããæ§æèŠçŽ ãçµã¿åãããŠ1ã€ã®ã·ã§ãŒãã«ãããäœæããŸããã¢ã¯ã·ã§ã³ã«ã¯ iPhone端æ«ã®èšå®å€æŽ ã ä»ã¢ããªã®æäœã»ããŒã¿ã®åãæž¡ã ãšãã£ããã®ãçšæãããŠããã»ãã倿°ã»æ¡ä»¶åå²ã»ç¹°ãè¿ãïŒfor, foreachïŒãšãã£ãå¶åŸ¡ãè¡ããã®ãçšæãããŠããŸãã äœæããã·ã§ãŒãã«ãã å
容 ã¯ãªããããŒã ã«ä¿åãããŠããç»åã®ãªã³ã¯ã«å¯Ÿã㊠OCR ã® API ãå®è¡ããç»åå
ã®æåãããã¹ãã«å€æããŠåºåããããšããããšããã£ãŠã¿ãŸãããä»å䜿çšãã OCR ã® API 㯠Free OCR API | OCR.space ã§ããPOSTãã©ã¡ãŒã¿ãã¬ã¹ãã³ã¹ã® JSON æ§æã¯ãªã³ã¯å
ã§ã確èªãã ããã äœæäŸ ãŸãã¯POSTãªã¯ ãšã¹ ããéä¿¡ããéšåã§ãã å³1. POSTãªã¯ ãšã¹ ãã®éä¿¡ ä»åPOSTãã©ã¡ãŒã¿ãšããŠå¿
èŠãªæ
å ±ã¯ APIã㌠㻠ç»åå
ã®æåã®èšèª ã» base64ãšã³ã³ãŒããããç»å ã®ïŒã€ã§ãããã®ãã¡ ç»åå
ã®æåã®èšèª ã¯æ¥æ¬èªã§åºå®ãšããŠããã®ã§ãæ®ãïŒã€ãååŸããåŠçã¯ãµãã«ãŒãã³ãšããŠå¥ã·ã§ãŒãã«ããã«åãåºããããããåŒã³åºãæ¹åŒããšã£ãŠããŸããã§ã¯ããããã®ã·ã§ãŒãã«ãããèŠãŠãããŸãã APIã㌠ã®ååŸåŠçã§ãã API ããŒã¯ ç°å¢å€æ° ã«æã£ãŠããããã®ã§ããããããã«ãããŸã§ã¯ã§ããªããããªã®ã§ãä»å㯠ãªãã€ã³ã㌠ã¢ããªã«ä¿æã»èªã¿åºãããã«ããŠããŸãã å³2. API ããŒã®ååŸ å
容㯠API ããŒãä¿æããŠãã ãªãã€ã³ããŒ ãæ€çŽ¢ãããã®äžããä»å䜿çšãã OCR.space ãšããã¿ã€ãã«ã®é
ç®ãã API ããŒãååŸããŠããŸãã ã·ã§ãŒãã«ããã®æåŸã§ã¯ãã¡ã€ã³ã®ã·ã§ãŒãã«ããã«å€ãæž¡ãããã倿°ããå€ãåãåºããŠçµäºããŠããŸãã æ¬¡ã« base64ãšã³ã³ãŒããããç»å ã®ååŸåŠçã§ãããã®ãã©ã¡ãŒã¿ã«èšå®ããå€ã¯ data:image/[ãã©ãŒããã],[base64ãšã³ã³ãŒããããç»å] ã§ãã®ã§ãå®é㯠æ¡åŒµå ãš ç»åãbase64ãšã³ã³ãŒãããããã¹ã ã®ïŒã€ãå¿
èŠã«ãªããŸãã ãŸãã¯æ¡åŒµåã®ååŸåŠçã§ãã å³3. æ¡åŒµåã®ååŸ å€§ããªæµããšããŠã¯ããŸã ã¯ãªããããŒã ã®å
容ãURL圢åŒã©ãã確èªããURL圢åŒãªããã®å
容ãååŸããŸããããã«ãã®å
容ãã€ã¡ãŒãžã§ããã°æ¡åŒµåããããã§ãªããã° none ãšããããã¹ããè¿åŽããããšããåŠçãè¡ã£ãŠããŸãããã® none ãšããããã¹ãã¯ãã·ã§ãŒãã«ãããå®è¡ããåŽã®åŠçã§ none ãåãåãããšã©ãŒãšããŠåŠçãçµäºããããã«å©çšããŸãã æ¬¡ã ç»åãbase64ãšã³ã³ãŒãããããã¹ã ã®ååŸåŠçã§ãã å³3. ç»åã base64 ãšã³ã³ãŒã ããããã¹ãã®ååŸ ãã㯠æ¡åŒµå ã®æãšã»ãŒåãåŠçã®æµããããŠããŠã æ¡åŒµå ãååŸããŠãããšããã ç»åãbase64ãšã³ã³ãŒãããããã¹ã ãååŸããããã«å€æŽããã ãã§ãã æåŸã«ã¡ã€ã³ã®ã·ã§ãŒãã«ããã§ ä»ã®ã·ã§ãŒãã«ãããå®è¡ããïŒãã®çµæãåãåã åŠçãšã ã¬ã¹ãã³ã¹JSONãããŒã¹ãã åŠçãè¡ããŸãã ãŸã㯠ä»ã®ã·ã§ãŒãã«ãããå®è¡ïŒãã®çµæåãåã åŠçã§ãã å³4. å¥ã·ã§ãŒãã«ããã®å®è¡ åŠçã®æµãã¯ç»åã®éãã§ããã·ã§ãŒãã«ãããå®è¡ãããã®çµæãæ¡åŒµåã§ã¯ãªããšãã¯äžæãããããšãéç¥ãã·ã§ãŒãã«ãããçµäºããŸãã ç¶ã㊠ã¬ã¹ãã³ã¹JSONãããŒã¹ãã åŠçã§ãã å³5. ã¬ã¹ãã³ã¹ JSON ã®ããŒã¹ ãã·ã§ãŒãã«ãããã¢ããªå
ã§ã¯ JSON ã¯ èŸæž ãšããåèªã§æ±ãããŠããŸããã¢ã¯ã·ã§ã³ãšããŠã¯ èŸæžã®å€ãååŸ ãšãããã®ã§ãããã¯çµã¿åãããã°ãã¹ãããã JSON ã®ããŒã¹ãå¯èœã§ãããŸãä»åã¯çµæåºåã®ãããæåŸã«ã¡ã¢ã«æžãã ãããã«ããŠããŸãã å®è¡çµæ 以äžã®ãµã³ãã«ããååç§ãæžããèšäºã®ç»åã«å¯ŸããŠå®è¡ããçµæã以äžãšãªããŸãã å³6. OCR ã§èªèããç»å å³7. å®è¡çµæ ãããã« ä»ãŸã§ã¯ã¡ãã£ãš API ã詊ããŠã¿ããã ãã§ãPCãçšæããå¿
èŠããããŸãããããã®ãã·ã§ãŒãã«ãããã¢ããªã䜿çšããã° iPhone åäœã§ç°¡åã«ã§ããŸãããŸãä»åã¯ç޹ä»ããŠããŸããããããã¹ãã«å¯Ÿã㊠æ£èŠè¡šçŸ ãçšãããããã³ã°ãã§ããã®ã§ã ã¹ã¯ã¬ã€ãã³ã° ãå¯èœã§ãã iPhone ãŠãŒã¶ã®æ¹ã¯è©ŠããŠã¿ãŠã¯ãããã§ããããã æåŸãŸã§ã芧ããã ãããããšãããããŸãã åèæç® Shortcuts 2.0 release notes https://support.apple.com/en-us/HT209087 Free OCR API | OCR .space https://ocr.space/ocrapi ä»é²ïŒä»å䜿çšããã¢ã¯ã·ã§ã³ ã¢ã¯ã·ã§ã³åãšãã®äœ¿ãæ¹ã以äžã«ãŸãšããŸããã API å®è¡ URL URLãæ¬¡ã®ã¢ã¯ã·ã§ã³ã«æž¡ã URLã®å
容ãååŸ åãåã£ãURLããªã¹ ãšã¹ ãããã¬ã¹ãã³ã¹ã次ã®ã¢ã¯ã·ã§ã³ã«æž¡ã ã¯ãªããããŒã ããªã¯ ãšã¹ ãçšã«å å·¥ ã¯ãªããããŒã ãååŸ ã¯ãªããããŒã ã®å
å®¹ãæ¬¡ã®ã¢ã¯ã·ã§ã³ã«æž¡ã çš®é¡ãååŸ åãåã£ãå€ã®ããŒã¿çš®é¡ïŒã€ã¡ãŒãžã»URLãªã©ïŒã®ããã¹ããæ¬¡ã®ã¢ã¯ã·ã§ã³ã«æž¡ã Base64 ãšã³ã³ãŒã åãåã£ãå€ã Base64 圢åŒã§ ãšã³ã³ãŒã ã»ãã³ãŒãããå€ã次ã®ã¢ã¯ã·ã§ã³ã«æž¡ã ãã¡ã€ã«ã®è©³çްãååŸ åãåã£ãå€ïŒãã¡ã€ã«ïŒã®è©³çŽ°ïŒæ¡åŒµåã»ãµã€ãºãªã©ïŒã次ã®ã¢ã¯ã·ã§ã³ã«æž¡ã JSON ã®ããŒã¹ èŸæžã®å€ãååŸ åãåã£ã JSON ããæå®ããããŒã®å€ã次ã®ã¢ã¯ã·ã§ã³ã«æž¡ã å¶åŸ¡ 倿°ãèšå® åãåã£ãå€ã倿°ã«ä»£å
¥ãã åãåã£ãå€ããã®ãŸãŸæ¬¡ã®ã¢ã¯ã·ã§ã³ã«æž¡ã 倿°ã«è¿œå åãåã£ãå€ã倿°ã«è¿œå ããïŒListã«appendãããããªã€ã¡ãŒãžïŒ åãåã£ãå€ããã®ãŸãŸæ¬¡ã®ã¢ã¯ã·ã§ã³ã«æž¡ã 倿°ãååŸ å€æ°ããå€ãåãåºããæ¬¡ã®ã¢ã¯ã·ã§ã³ã«æž¡ã 次ã®å ŽåïŒif~elseæïŒ åãåã£ãå€ãšæå®ããå€ãæ¯èŒããïŒæ¬¡ãšçããã»æ¬¡ãå«ãã»ãã倧ããã»ããå°ããïŒ ããããã§ç¹°ãè¿ãïŒforeachæïŒ åãåã£ããªã¹ã圢åŒã®å€ã«å¯ŸããŠïŒã€ãã€åŠçãè¡ã ã·ã§ãŒãã«ãããå®è¡ åãåã£ãå€ãç¹å®ã®ã·ã§ãŒãã«ããã«æž¡ãããã®å®è¡çµæã次ã®ã¢ã¯ã·ã§ã³ã«æž¡ãïŒã¡ãœããã®ãããªã€ã¡ãŒãžïŒ API ããŒãååŸãã ãªãã€ã³ããŒãæ€çŽ¢ æ¡ä»¶ã«åèŽãããªãã€ã³ããŒãæ€çŽ¢ãããã®çµæã次ã®ã¢ã¯ã·ã§ã³ã«æž¡ã ãªãã€ã³ããŒã®è©³çްãååŸ åãåã£ãå€ïŒãªãã€ã³ããŒïŒã®è©³çްïŒã¡ã¢ã»ã¿ã€ãã«ãªã©ïŒã次ã®ã¢ã¯ã·ã§ã³ã«æž¡ã ãã®ä» ããã¹ã æå®ããããã¹ããæ¬¡ã®ã¢ã¯ã·ã§ã³ã«æž¡ã éç¥ã衚瀺 ã¿ã€ãã«ã»ã¡ãã»ãŒãžãæå®ãããã®å
容ãéç¥ãšããŠè¡šç€ºãã ã¡ã¢ãäœæ åãåã£ãå€ãã¡ã¢ã«æ°èŠç»é²ãã "ã·ã§ãŒãã«ãã"ãçµäº çŸåšã®ã·ã§ãŒãã«ãããçµäºãã çŸåšã®ã·ã§ãŒãã«ããã«å«ãŸããåŸç¶ã®ã¢ã¯ã·ã§ã³ã¯å®è¡ããªã ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã rakus.hubspotpagebuilder.com ã©ã¯ ã¹Developersç»é²ãã©ãŒã https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ âTECH PLAY techplay.jp âconnpass rakus.connpass.com
ã¯ããã« ããã«ã¡ã¯ã ã©ã¯ ã¹ãšã³ãžãã¢ã®strongWhiteã§ããä»åã¯8æã« 京éœã¢ãžã£ã€ã«ååŒ·äŒ ã«è¡ã£ãŠããŸããã®ã§ã¬ããŒãããããšæããŸãã ã¢ãžã£ã€ã« ãšã¯ãèŠæ±ä»æ§ã®æ±ºå®ã倿Žã«å¯ŸããŠãæè»ã«å¯Ÿå¿ããããã®ãœãããŠã§ã¢éçºææ³ã®ããšã§ããæšä»æåã«ãªãã€ã€ãã ã¢ãžã£ã€ã« ã§ããç§ãšããŠãèå³ããããŸããã®ã§ä»åå匷äŒã«åå ããŠã¿ãŸããã â»ãã®èšäºã§ã¯ ã¢ãžã£ã€ã« ã«é¢ãã詳现ãªèª¬æã¯çããŸãã ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ãåããŠèãæ¹ã¯éŠŽæã¿ã®ãªãçšèªãåºãŠããŸãããäºæ¿ãã ããã äº¬éœ ã¢ãžã£ã€ã« å匷äŒãšã¯ ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ãå®è·µããããšããŠããïŒãããã¯å®è·µäžã®ïŒäººã察象ãšããå匷äŒã§ãèªèº«ïŒãããã¯èªç€ŸïŒãæ±ããŠãã ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ã«é¢ããçåãäžå®ãªã©ããã£ãã°ããã«è°è«ãããäºãã«çè§£ãæ·±ãåãäŒã§ããã¡ãªã¿ã«ç§ãè¡ã£ãŠããã®ã¯ä»¥äžã®å匷äŒã§ãã connpass.com ç§ã®æå±ããããŒã ã§ã¯ ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ãåãå
¥ããéçºãããŠããã®ã§ãä»å㯠ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ãå®è·µããäžã§ç§ãæ±ããŠããçåãäžå®ãå匷äŒã«åå ãããŠããçããã«ã¶ã€ããŠã¿ãããšã«ããŸããã åŠãã ããš ãã£ã¹ã«ãã·ã§ã³åœ¢åŒã®å匷äŒã¯åããŠã ã£ãã®ã§æ°é®®ã§ããããŸãã ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ã«å¯Ÿããçè§£ãå°ããªããé²ãã æ°ãããŸãããç§ãšããŠã¯æ¥ã
ã¹ã¯ã©ã ã» ã¢ãžã£ã€ã« ãå®è·µããäžã§ ãããã¯ãããã¯ãã°ããã¹ããªã³ãããã¯ãã°ãåºããŸã§ã«æéããããæ¬¡ã®ã¹ããªã³ããå§ããããªã ãšãã課é¡ãæ±ããŠããã®ã§ãããä»åã®å匷äŒã§ãšããæ¹ãããèŠåãçºé²çã«æ¬¡ã®ã¹ããªã³ããå§ããã®ã¯ãããªãã®ã§ãæéãããã£ãŠãããããå
šãŠã®ã¹ããªã³ã ããã¯ãã° ãåºããŠããæ¬¡ã®ã¹ããªã³ããã¹ã¿ãŒããã¹ãããšããå©èšãããã ããå°ãåæ°ãããããŸããã çµããã« ä»åã®ãããªãã£ã¹ã«ãã·ã§ã³åœ¢åŒã®å匷äŒã¯è¬çŸ©åœ¢åŒã®ãå
ãæãã¯å
šããªãã®ã§ç§ãšããŠããªã©ãã¯ã¹ããŠåè¬ã§ããŸãããæ©äŒãããã°ãŸã ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ç³»ã®å匷äŒã«åå ããããšæããŸããããŒã ãšããŠãç§ãšããŠããŸã ãŸã ã¢ãžã£ã€ã« ã» ã¹ã¯ã©ã ãå§ããã°ãããªã®ã§ããŸãçåãåºãŠãããããããå匷äŒã®å Žã§è§£æ¶ããŠããããšæããŸãã åè ã¢ãžã£ã€ã«éçº äº¬ã¢ãžã£
ããã«ã¡ã¯ãMasaKuã§ãã ããã°ããŒã¿ ãšããèšèãããç®ã«ããŸããããã®èåŸã«ããæè¡ã«ã€ããŠã¯ããŸãçè§£ããŠããŸããã§ããã ããã§ã ããã°ããŒã¿ ãæ¯ããæè¡ã®ã²ãšã€ã§ããNoSQLã«ã€ããŠèå³ãçãŸããã®ã§ãä»åã®èšäºã§ã¯ãNoSQLã«ã€ããŠå匷ããçµæã«ã€ããŠãŸãšããããšæããŸãã ïŒæ¬èšäºã®å·çã«ã¯ä»¥äžã®æžç±ãåèã«ãããŠããã ããŸããïŒ NOSQLã®åºç€ç¥è ããã°ããŒã¿ã掻ããããŒã¿ããŒã¹æè¡ ã¯ããã« NoSQLãšã¯ RDBãšã®éã NoSQLã«æåŸ
ããããš NoSQLã®ããŒã¿ã¢ãã« ããŒããªã¥ãŒå ã«ã©ã æåå ããã¥ã¡ã³ãæåå ã°ã©ãå ãããã« åèæç® ã¯ããã« çŸåšã Twitter ã¯ãïŒæ¥ãããïŒïŒãã©ãã€ããè¶
ããããŒã¿ãæ±ã£ãŠããããã§ãã 10ãã©ãã€ããšãããšãæžç±äžåã®ããŒã¿éïŒïŒïŒäžæåïŒãšãããšæžç±ïŒïŒïŒïŒäžååã«çžåœããŸãã ã¢ãã€ã«ã ãã€ã¹ ãããç°¡åã«ã¢ã¯ã»ã¹ããŠåçãåç»ã³ã³ãã³ããçºä¿¡ã§ãã WebãµãŒãã¹ ãæ®åããŠããããšã ããã°ããŒã¿ ã®çºçã®èµ·å ã®ã²ãšã€ã«ãªã£ããšèšããã§ãããã ããã°ããŒã¿ ã®å¯Ÿå¿ã«ã¯3Vãšãã以äžã®ãããªç¹åŸŽããããŸãã VolumeïŒèšå€§ãªéïŒ VelocityïŒéãïŒ VarieryïŒå€çš®å€æ§ïŒ ä»åŸãæŽã«ãªãããªæ
å ±ãæ±ã WebãµãŒãã¹ ãæ®åããŠãããšã ããã°ããŒã¿ ãåŠçããæè¡ããŸããŸãéèŠã«ãªãããšãããNoSQLã®æè¡çºå±ãæåŸ
ãããŸãã NoSQLãšã¯ PostgreSQL ã MySQL ãªã©ã® RDB ã§ã¯å¯ŸåŠãã¥ãããã㪠ããã°ããŒã¿ ã«å¯Ÿå¿ãã¹ãçã¿åºãããæè¡ã§ã SQL ã䜿çšããªããšããããšãç¹åŸŽã§ãã ãNot Only SQL ãã®ç¥ã§ãããã SQL ã ãã§ãªããæ°ããããŒã¿ããŒã¹ã®æè¡ãå©çšããå¿
èŠããããšããã ãŒãã¡ã³ãã®ããšã§ããããšå€ãã®æ¹ã«èªèãããŠããŸãã ãããããNoSQLãšã¯ãºããªããããããšïŒããšããå®çŸ©ã«ã€ããŠã¯ãŸã æç¢ºåããŠããªãããã§ãã NoSQLãšããŠä»£è¡šçãªãã®ã«ã¯ã Google ã® BigTable ãã¢ããŸã³ã® Amazon DynamoDB ãªã©ããããŸãã RDB ãšã®éã NoSQLãš RDB ãšã®éãã«ã€ããŠä»¥äžã«ãŸãšããŸããã æ©èœã¯è±å¯ã§ã¯ãªã ããŒã¿ã®æŽåæ§ãç·©ã çµææŽåæ§ã§ãããšããèã NoSQLã§ã¯ã RDB ã§åœããåã«å©çšã§ããJOINïŒçµåïŒãéåžžã¯ãµããŒããããŠããŸããã ãŸããåæå®è¡å¶åŸ¡ïŒ æä»å¶åŸ¡ ïŒãæç«ããã ãã©ã³ã¶ã¯ã·ã§ã³ ã®æ©èœãç·©ããããŠãããããŒã¿ã®æŽåæ§ãããã倧éã®ããŒã¿ãçŽ æ©ãåŠçããããšãåªå
ããŠãããšããç¹åŸŽããããŸãã NoSQLãš RDB ã®ç¹æ§ã®éãã説æããäžã§éèŠãªã CAPå®ç ããšããå®çããããŸãã 忣åããŒã¿ããŒã¹ã·ã¹ãã ã«ãããäžå€§èŠä»¶ãšããŠä»¥äžãååšããŸãã ConsistencyïŒæŽåæ§ïŒâŠåžžã«åäžã®ããŒã¿ãåç
§ãã AvailabilityïŒå¯çšæ§ïŒâŠ åžžã«èªã¿åºããšæžã蟌ã¿ãã§ãã Partition ToleranceïŒåæèæ§ïŒâŠãããã¯ãŒã¯ãåæãããŠãééã£ãçµæãåŒãèµ·ãããªã 忣åããŒã¿ããŒã¹ã·ã¹ãã ã§ã¯ãäžèšã®3ã€ã®ãã¡æå€§ïŒã€ããæºããããšãã§ããªãããšããã®ãCAPå®çã§ãã CAPå®ç RDB ã«ã¯ACIDãšããç¹æ§ãååšãã ãã©ã³ã¶ã¯ã·ã§ã³ ãä¿¡é Œæ§ããã£ãŠå®è¡ãããããã®å¿
èŠæ¡ä»¶ãå®çŸ©ãããŠããŸãã äžæ¹ãBASEãšãããã®ãååšããã¢ããªã±ãŒã·ã§ã³ã¯åžžæçšŒåããåžžã«æŽåæ§ãä¿ã€å¿
èŠã¯ãªããçµæçã«æŽåæ§ããšããç¶æ
ã«è³ããšããç¹æ§ãåããŠããã¹ãããšããèãæ¹ããããŸãã CAPå®çã®æå±è
ã§ããEricBreweræ°ã¯ä»¥äžã®ããã«èª¬æããŠãŸãã ã·ã¹ãã ã«æŽåæ§ïŒC)ãšåæèæ§ïŒPïŒãæ±ããããå Žåã«ã¯ãAICDç¹æ§ãå®åããªããã°ãªããªãã ã ããæŽåæ§ïŒCïŒãããå¯çšæ§ïŒAïŒãšåæèæ§ïŒPïŒãæ±ããããã®ã§ããã°ããã®ã·ã¹ãã ã¯BASEã®ç¹æ§ãæã€ã¹ãã§ããã RDB ã¯CAïŒæŽåæ§ãšå¯çšæ§ïŒã«åé¡ãããã»ãšãã©ã®NoSQLããŒã¿ããŒã¹ãCPïŒæŽåæ§ãšåæèæ§ïŒãAPïŒå¯çšæ§ãšåæèæ§ïŒã«åé¡ãããŸãã RDB ãšNoSQLã§ã¯æåŸ
ããŠããæ§èœãç°ãªãããšãããNoSQLã RDB ãå®å
šã«ä»£æ¿ãããã®ã§ã¯ãªãããšãããããŸãã NoSQLã«æåŸ
ããããš NoSQLå
šè¬ã«ã¯ä»¥äžã®ãããªèŠä»¶ãæºããããšãæåŸ
ãããŠããŸãã äžå°ã®ãµãŒãã«ã¯å容ã§ããªãã»ã©èšå€§ãªããŒã¿ãæ±ã ããŒã¿ãè€æ°ã®ãµãŒãã«åå²ããŠå²ãåœãŠã é«äŸ¡ãªããŒããŠã§ã¢çã§ã¯ãªããå®äŸ¡ãªæ±çšããŒããŠã§ã¢ã®äžã§çšŒåãã ããŒã¿ã«çŽå€±ããªããããŒã¿ã¯å®å
šãªç¶æ
ã«æ ŒçŽãããŠãã ã·ã¹ãã å
šäœãšããŠã¯ããã€ã§ã䜿ããç¶æ
ã«ãã é害ãçºçããŠãçæéã§åŸ©æ§ã§ãã ãªã¢ã«ã¿ã€ã ã«è¿ãå¿çæ§èœãåããŠãã ãŸããããŒã¿ãé«éã«åŠçããäžã§ãé«åºŠãªããŒã¿ããŒã¹ãã¥ãŒãã³ã°ã®æè¡ãå¿
èŠãšããªãããšãç¹åŸŽã§ãã ããŒã¿ã®ãµã€ãºã圢åŒãé »ç¹ã«å€åãããããªã¢ããªã±ãŒã·ã§ã³ã RDB ã§ããŒã¿ãé«éã§åŠçãç¶ããããã«ã¯ãããŒã¿ããŒã¹èšèšã«å¯Ÿããé«ãæè¡åãæã£ããšã³ãžãã¢ãåžžæå¯Ÿå¿ããªããã°ãªããŸããã ãããŸã§ã® RDB ã§ã¯ååãªæ§èœãåŸãããªãã£ããã RDB ã§å®çŸããããšãããšãæ§é ãè€éã«ãªããã³ã¹ãããããããããšããåé¡ãåé¿ããããã®ææ®µãšããŠNoSQLãéžæè¢ã®äžã€ãšãªãããããšãæåŸ
ãããŸãã NoSQLã®ããŒã¿ã¢ãã« NoSQLã«ã¯æ§ã
ãªããŒã¿ã¢ãã«ãååšããŸãã ããŒããªã¥ãŒå ããŒããªã¥ãŒå RDB ã®ãããªããŒãã«ãé¢ä¿æ§ãå®çŸ©ãããããŒãšããªã¥ãŒãšããçµã¿åãããããªãã·ã³ãã«ãªããŒã¿ã¢ãã«ã§ãã ããŒã¿ãå¢ããã«ã€ããŠè¡šãçžŠã®æ¹åã«äŒžã³ãŠããã€ã¡ãŒãžã§ãã ããŒã¿ã¢ãã«ãåçŽã§ããããšããããŒã¿ã容æã«åå²å¯èœãªããšãããã¹ã±ãŒã«ã¢ãŠãã«æé©ãªã®ãç¹åŸŽã§ãã ã«ã©ã æåå ã«ã©ã æåå äžèšã®ããŒããªã¥ãŒåã«ã«ã©ã ã®æŠå¿µãæãããããŒã¿ã¢ãã«ã§ãã è¡ã«ä»äžãããããŒãè€æ°ã®ã«ã©ã ãæã€ããšãã§ããŸãã ã«ã©ã æ°ã¯ RDB ã®ããã«åºå®ã§ã¯ãªããåçã«è¿œå ããŠããããšãã§ããŸãã RDB ãå©çšããŠãããšç°è³ªã«æãããããããŸããããã»ãã®è¡ã«ã¯ååšããªãã«ã©ã ãæã€è¡ãäœãããšãã§ããŸãã ããã¥ã¡ã³ãæåå ããã¥ã¡ã³ãæåå JSON ã XML 圢åŒã§èšè¿°ãããããã¥ã¡ã³ãã®åœ¢ã§ããŒã¿ã管çããããšãã§ããŸã åããã¥ã¡ã³ãã¯éå±€æ§é ãæãããçžäºã®é¢ä¿ã暪䞊ã³ã«ç®¡çããŸãã RDB ã®ããã«åºå®ãããããŒã¿èšèšãäžèŠãªããšããã ã¹ããŒã ã¬ã¹ã§ããããšèšãããŸãã ç§ã¯ããã¥ã¡ã³ãæååã®èª¬æãèªãã éãäžèšã®ã«ã©ã æååãšã®éããæç¢ºã«èªèããããšãã§ããŠããŸããã§ãããã以äžã®ãããªãã®ãªã®ã ãšçè§£ããŸããã ããã¥ã¡ã³ãæååã®äŸ ããã°ã®æçš¿å±¥æŽãšã¡ãŒã«ã®éä¿¡å±¥æŽãããã¥ã¡ã³ãæååããŒã¿ããŒã¹ã«èšé²ãããšããŸãã ãããã¯å
šãç°ãªãæ§è³ªã®ããŒã¿ã§ãããæçš¿æ¥ãšéä¿¡æ¥ã2018/9/18ã®ããŒã¿ããšæå®ããããšã§ãé¢ä¿ããããŒã¿ãååŸã§ããŸãã ãã®ãããªããŒã¿ã®æ§è³ªãç°ãªããã®ãããããŸã§ååŸããŠããããŒã¿ã®åœ¢åŒãåçªã«å€ãã£ãŠããŸããããªå¯Ÿè±¡ã§ããããã¥ã¡ã³ãã®åœ¢åŒã§ããŒã¿ããŒã¹ã«æ ŒçŽããããŒã¿ãåŠçã§ããããã«ããã®ã ãªããžã§ã¯ãæå åã®ããŒã¿ããŒã¹ã®ç¹åŸŽãªã®ã ãšæããŸããã ã°ã©ãå ã°ã©ãå ããŒã¿ãšããŒã¿æã®ã€ãªããã管çã§ããããŒã¿ã¢ãã«ã§ãã ã°ã©ãåã®ããŒã¿ããŒã¹ã«ã¯ä»¥äžã®æ§æã§è¡šçŸãããŸãã ããŒã ãªã¬ãŒã·ã§ã³ã·ãã ãããã㣠äŸãã°ã FaceBook ã®åéé¢ä¿ãã°ã©ãåã§è¡šçŸãããšä»¥äžã®ããã«ãªããŸãã Aãããšããã¢ã«ãŠã³ããååšããŸãïŒããŒãïŒ Aããã¯Bãããšé¢ä¿ããããŸãïŒãªã¬ãŒã·ã§ã³ã·ããïŒ AãããšBããã¯åéå士ã§ãïŒããããã£ïŒ ãã®åºæ¬æ§é ãæ¡åŒµããŠãããšãAããã®åéã§ããBããã®åéãããAãããšåéã«ãªã£ãŠãã3幎以äžçµéããã¢ã«ãŠã³ãããšãã£ãæ€çŽ¢ãå¯èœã«ãªããŸãã ãããã« ãããã§ããã§ããããã çè
ããMongoDBãšããããã¥ã¡ã³ãæååNoSQLãå©çšããŠç°¡åãªWebã¢ããªã±ãŒã·ã§ã³ãäœã£ãŠã¿ãŸããããNoSQLã«ã€ããŠèª¿ã¹ãŠèŠããšæ§ã
ãªããŒã¿ã¢ãã«ãååšããããšãããããŸããã ããããã®ããŒã¿ã¢ãã«ããšã®åŒ·ã¿ãå
ããããªWebã¢ããªã±ãŒã·ã§ã³ã®ç¹æ§ã«ã€ããŠãä»åŸèª¿ã¹ãŠãããããšæããŸããã åèæç® NOSQLã®åºç€ç¥èããã°ããŒã¿ã掻ããããŒã¿ããŒã¹æè¡ NoSQL - Wikipedia ブリュワーのCAP定理~データストレージの選定基準 - 浜村拓夫の世界 ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã rakus.hubspotpagebuilder.com ã©ã¯ ã¹Developersç»é²ãã©ãŒã https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ âTECH PLAY techplay.jp âconnpass rakus.connpass.com
id:radiocat ã§ãã9/13ã«æ±äº¬ãªãã£ã¹ã§éå¬ããMeetupã«ç»å£ããçµãããªã ã¹ã¯ã©ã ããšããã¿ã€ãã«ã§çºè¡šããŸãããä»åã®ã€ãã³ããéããŠãç§ãã¡ãç¶ç¶ã㊠ã¹ã¯ã©ã ã«åãçµãã§ããããã§ã®æ§ã
ãªæ°ã¥ããåŸãããšãã§ããã®ã§ããããã5ã€ã®åŠã³ãšããŠèšäºã«ãŸãšããŠã¿ãŸããããåå é ããã¿ãªããŸãããããšãããããŸããã rakus.connpass.com çºè¡šã®æŠèŠ çºè¡šã®ååã¯ç§ãã¡ã®ããŒã ãåãå
¥ãã ã¢ãžã£ã€ã« éçºã®ã ã©ã¯ ãã£ã¹ã®èª¬æã§ãä»å¹Ž3æã®ç€Ÿå
ã€ãã³ãã§çºè¡šããå
容ãããŒã¹ãšãªã£ãŠããŸãããããã®æŠèŠã¯ä»¥åã®ããã°èšäºã«ãŸãšããŠããŸãã®ã§ãåç
§ãã ããã tech-blog.rakus.co.jp çºè¡šã®äžç€ããã¯éçºãå°ãã〠ã¢ãžã£ã€ã« ã«ãããã㊠ã¹ã¯ã©ã ã«ãã£ã¬ã³ãžããŠããããã«ç§ãã¡ãåèã«ããæžç±ããããäžã®æ
å ±ã玹ä»ããŸããããããŠåŸåéšåã§ã¯ãçŸåšã®ãããžã§ã¯ãã§ãåŒãç¶ã ã¹ã¯ã©ã ã§éçºãé²ããŠããäžã§æ°ãã«åãçµãã§ããããšã玹ä»ããŸããã speakerdeck.com 5ã€ã®åŠã³ çºè¡šåŸã®æèŠªäŒã§ã¯åå è
ã®æ¹ã
ãããããããã£ãŒãããã¯ãé ããŠãããããã®çŸå Žã§å®è·µããŠãã ã¹ã¯ã©ã ã®åãçµã¿ãªã©ãæããŠããã ãããšãŠãææçŸ©ãªã€ãã³ãã«ããããšãã§ããŸãããé ãããã£ãŒãããã¯ã亀ããŠã5ã€ã®åŠã³ãã玹ä»ããŸãã 1. 圹å²ã«åŸ¹ããããšãã§ããäœå¶ã§ ã¹ã¯ã©ã ãå§ãã ç§ãã¡ã® ã¹ã¯ã©ã ããŒã ã§ã¯ãããã¯ããªãŒããŒïŒä»¥äžPOïŒããã¶ã€ã³éšéã®ã¡ã³ããŒãæ
ã£ãŠããŸãã ãã®çç±ã¯å€§ãã2ã€ã§ãã éçºããŒã ã¯å€§éªãPOã®ãã¶ã€ã³éšéãš ã¹ããŒã¯ãã«ã㌠ã®äºæ¥éšéã¯æ±äº¬ãæ ç¹ BtoBã®ãµãŒãã¹ã§ããããããã¶ã€ã³éšéã¯ãã¶ã€ã³ã®äœã蟌ã¿ãããUI/UXããã£ããæ€èšããããšãæ±ãããã ãã®è©±ãããæã«ããïŒäžèšã®äœå¶ãæžããïŒã¹ã©ã€ããèŠãæã«ããã ãšæã£ãããšãããã£ãŒãããã¯ãé ããŸããã ã¹ã¯ã©ã ããŒã ã®äžã§èª°ãPOã ã¹ã¯ã©ã ãã¹ã¿ãŒïŒä»¥äžSMïŒãæ
åœããã㯠ã¹ã¯ã©ã ã«åãçµãããã§ã®æåã®é£é¡ã®1ã€ã§ããããŒã ã®äžã§èª°ããã®åœ¹å²ãæ
ãã°ãã®åœ¹å²ã«åŸ¹ããããšãã§ããã®ãããã£ããåããããŠæ±ºããå¿
èŠããããŸãã 圹å²ã«åŸ¹ããããšãã§ããªãäœå¶ã§ ã¹ã¯ã©ã ãå§ããŠãããæãã倱æããŠããŸãããäžã®äžçã«è€æ°æ ç¹ããªã¢ãŒãã¯ãŒã¯ã絡ããã¡ã³ããŒæ§æã¯åœããåãšãªã£ãŠããŸãããããããã®çŸå Žã«åãããŠæé©ãªäœå¶ãèããå¿
èŠããããŸãã ã¡ãªã¿ã«ãä»åã®äœå¶ã®å Žåã¯éçºéšéã«ããããªãŒããŒãšããç«å Žã®ç§ãSMãæ
ãããšããã1ã€ã®èª²é¡ã«ãªããŸããã éçºããŒã ãæ©èœããããã«çµç¹ãšããŠã®åœ¹è·ãéªéã«ãªãããšãããã°ãããŸã掻çšããŠããŒã ãæ¯æŽã§ããããšããããããããããŸã䜿ãåããããšã圹å²ã«åŸ¹ããããã«å¿
èŠãªããšã§ãã 2. ã¹ããªã³ãã®æéã¯1é±éããããã ä»åã®çºè¡šã§åãäžããéçºãããžã§ã¯ãã§ã¯2é±éã®ã¹ããªã³ãã§ ã¹ã¯ã©ã ãå§ããŸããããçŸåšã¯ã¹ããªã³ãã®æéã1é±éã«ããŠããŸãã åæ§ã«1é±éã§ã¹ããªã³ããåããŠãã人ããã1é±éãããªããšã¹ããªã³ããåãã®ã¯ç¡çããšãããã£ãŒãããã¯ãããããŸããã倧ããªçç±ã¯ä»¥äžã®2ç¹ã§ãã ã¹ããªã³ãã®æåã«2é±éåã®ã¿ã¹ã¯ãæŽãåºããŠãã©ã³ãã³ã°ããã®ãå€§å€ 2é±éå
ã®èŠèŸŒã¿ãèŠæ¥µããã®ãå€§å€ ç§ãã¡ãæ
£ããä»ãšãªã£ãŠã¯1é±éãæããããããæããŠããŸãã ããŒã ã®äºæ
ã«ããããŸãããã¹ããªã³ãã®æéãã©ã®ãããã®é·ãã«ãããããŸã ã¹ã¯ã©ã ã«åãçµãäžã§ã®èª²é¡ã®1ã€ã§ããç§ãã¡ãæåã«ã¹ããªã³ãã®æéãæ±ºããåœæã¯ä»ã®ãããžã§ã¯ãã«çšŒåã䜿ãã¡ã³ããŒããããã2é±éããããã¡ããã©è¯ããšå€æããŸããããŸããåœæã¯1ã€ã®ã¿ã¹ã¯ã®ç²åºŠãå°ããããäºã«æ
£ããŠãããã1é±éã¹ããªã³ãã§å€§ããªç²åºŠã®ã¿ã¹ã¯ã®å®è¡ã«æ³å®å€ã®æéãããã£ãŠããŸããšãã£ãšããéã«ã¹ããªã³ãã®çµãããè¿ããŠããŸãæããæããŠããŸãããããããä»ãšãªã£ãŠã¯1é±éã¹ããªã³ããªãããŸããããªããŠãæ¹åããŠæ¬¡ã«æŽ»ããã°è¯ããšããæèŠã®ã»ãã倧ããã§ãã 3. ãªãã¡ã€ã³ã¡ã³ããšæè¡çã¹ãã€ã¯ã®å€§åããšé£ãã æ¬¡ã®ã¹ããªã³ãã«åã㊠ããã¯ãã° ãæºåãããªãã¡ã€ã³ã¡ã³ããæè¡çã¹ãã€ã¯ã®æŽ»å㯠ã¹ã¯ã©ã ã€ãã³ããšããŠã¯å®çŸ©ãããŠããŸããããéåžžã«éèŠã§ãã€ããŒã ã§ã«ãŒã«ã決ããã®ãé£ããæŽ»åã§ããç§éã®ããŒã ã§ã¯ãªãã¡ã€ã³ã¡ã³ãäŒè°ãã€ãã³ãåããŠåŒ·å¶çã«æéãåãããã«ããŠããŸãã ããã«ã€ããŠãåæ§ã«ã«ãŒã«ã決ããŠæéãåã£ãŠããããŒã ããããšãããã£ãŒãããã¯ãé ããŸãããããããã¯ããŒã ã«ãã£ãŠããããããããã§ãããããããã«ããŠããã©ã³ãã³ã°ãŸã§ã« ããã¯ãã° ããã¡ããšæºåã§ããŠããªããã°ãã¹ããªã³ãã¯ããŸãåããªããšããã®ãå
±éã®çè§£ã§ãã ã¡ãªã¿ã«ãçŸåšç§ãã¡ã®ããŒã ã§ã¯1ã¹ããªã³ãã«2çš®é¡ã®ãªãã¡ã€ã³ã¡ã³ãäŒè°ã宿œããŠããŸãã éçºããŒã å
ãªãã¡ã€ã³ã¡ã³ãäŒè°ïŒæè¡çã¹ãã€ã¯ã®ç¶æ³ç¢ºèªãèªèåãããäžå¿ ã¹ã¯ã©ã ããŒã å
šäœãªãã¡ã€ã³ã¡ã³ãäŒè°ïŒ ããã¯ãã° ã®æŽçãšå
容ã®èªèåãããäžå¿ ãã®çç±ã¯äž»ã«ä»¥äžã®3ç¹ã§ãã çŸåšåãçµãã§ãããããžã§ã¯ãã®ç¹æ§ãšããŠæè¡é¢ã§ã®äžç¢ºå®èŠçŽ ãå€ã éçºããŒã ã®äººæ°ãå¢ããŠããããå
šäœå
±æãèªèåããã®å Žããã£ãã»ããé²ãããã POãšéçºããŒã ã®æ ç¹ãå¥ããŠããããæéãæ±ºããŠå®æœããã»ããé²ãããã ããããç§ãã¡ã®ããŒã ã®äºæ
ã«ãããã®ã§ãããããããèžãŸããŠãªãã¡ã€ã³ã¡ã³ããæè¡çã¹ãã€ã¯ã¯ããããã®ããŒã ã§ãããããèããŠåãçµãå¿
èŠãããæŽ»åã ãšæããŠããŸãã 4. ããŒã ã®äººæ°ãå¢ããã«ã€ã㊠ã¹ã¯ã©ã ã¯é£ãããªã ç§éã®ããŒã ã¯ã¡ã³ããŒã10人ãè¶
ããããã¹ã±ãŒã«ã¢ãŠããæ€èšãå§ããŠããŸãã ããã«é¢é£ããŠããŒã ã®ã¡ã³ããŒã9人ãããšãã人ããããã£ãŒãããã¯ãããããŸãããããã€ãªãŒ ã¹ã¯ã©ã ãæéã©ããã«çµããããã ãã§ãé£ããã人æ°ãå¢ãããš ã¹ã¯ã©ã ã¯é£ãããªããšæããŠããŸããç§ãã¡ã®ããŒã ã§ããã¹ã©ã€ãã«æžããŠãããšãã ã¹ã¯ã©ã ã»ãªãã» ã¹ã¯ã©ã ãLeSSã Nexus ãšãã£ãå€§èŠæš¡ ã¹ã¯ã©ã ã®äºäŸã調æ»ããŠæ€èšãããŠããŸãããäºäŸèªäœãããŸãå€ããªãã®ã§ãŸã å
·äœçãªå€æã¯äžããŠããŸããã ãã ãã¹ã©ã€ãã®äžã«æžããŠãããè¥æã¡ã³ããŒã®ãã ã¹ã¯ã©ã ãã詊ãæéã§ãäžæçã«ã¡ã€ã³ã®ãããžã§ã¯ãã®ã¡ã³ããŒã5人ã«ãããšããããã·ãã£ãäžãã£ãŠã¹ããªã³ãã以åããããŸãåããããã«ãªã£ãã®ã§ããã¯ã5人ããããã¡ããã©è¯ããšããæèŠãåŸãŠããŸãã 5. ããŒã ã®è²æãšæé·ã¯ç±æãæã£ãŠæ ¹æ°åŒ·ã äžèšã®ãè¥æã¡ã³ããŒã®ãã ã¹ã¯ã©ã ããã以åãã®ããã°ã§ã玹ä»ããã ã¹ã¯ã©ã ã¯ã€ãºãã«é¢ããŠã¯è¯ããã£ãŒãããã¯ãé ããŸããã ããŒã ã®ã¡ã³ããŒã²ãšãäžäººããã¡ããš ã¹ã¯ã©ã ã«åãåããªããã° ã¹ã¯ã©ã ãããŸãåãããšãé£ãããªããŸãããã£ãŒãããã¯ã®äžã§ãã®ç¹ã«èª²é¡ãæã£ãŠããããŒã ã®è©±ãããã€ãèãããšãã§ããŸããããããŒã ã®äžã§ç±æããã£ãŠé²ããããã¡ã³ããŒãããªããš ã¹ã¯ã©ã ãç¶ããŠããã®ã¯é£ãããšæããŸããã æã
ããŸã ãŸã 詊è¡é¯èª€ããªããæ§ã
ãªåãçµã¿ãè¡ã£ãŠãããšããã§ããããã®ããã«ãä»ã®ããŒã ã®äºäŸã課é¡ã¯ãšãŠãåèã«ãªããŸããããããæå³ã§ãä»åã®ã€ãã³ãã§ã¯ããããã®ãã£ãŒãããã¯ãé ããç§ãã¡èªèº«ã®æ°ããªåŠã³ãåŸãããšãã§ããŸããã ãã®åŠã³ããŸãããŒã ã«æã¡åž°ã£ãŠããã« ã¹ã¯ã©ã ãåé²ãããŠããããã§ãã ã¹ã¯ã©ã ã®ç¿åŸã¯ãŸã ãŸã çµããããã«ãããŸããã ä»åã®ã€ãã³ãããã£ããã«åœããã°ã«ãçµãããªã ã¹ã¯ã©ã ããšããã«ããŽãªãäœããŸãããä»åŸã ã¹ã¯ã©ã ã®åãçµã¿ã§åŸãããšãéæçºä¿¡ããŠãããããšèããŠããŸãã®ã§ãåŒãç¶ããã§ãã¯ããŠé ããŸããšå¹žãã§ãã ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã forms.gle ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ rakus.connpass.com
ããã«ã¡ã¯ãéçºãšã³ãžãã¢ã®d_ shr ( id:d_shr )ã§ãã ãããŸã§ã¯Node.jsã PostgreSQL ã«ã€ããŠæžããŠããŸããã ä»åã¯IoTãæ¯ãã éä¿¡ãããã³ã« MQTT ã«ã€ããŠãŸãšããŸãã tech-blog.rakus.co.jp tech-blog.rakus.co.jp ã¯ãã㫠軜éã§çé»å ã¡ãã»ãŒãžã³ã°ãšTopic ã¡ãã»ãŒãžã³ã° Topic MQTTã®æ©èœ QoS Retain Will ãŸãšã ã¯ããã« MQTT ã¯ãPublish/Subscribe ã¢ãã«ã®ã¡ãã»ãŒãžã³ã°ã«ãããéåæã«1察å€ã®éä¿¡ãã§ãã ãããã³ã« ã§ãã ã·ã³ãã«ãã€è»œéã«èšèšãããŠãããããæ©æ¢°å士ãéä¿¡ãè¡ãããåãããM2M (Machine-to-Machine) ã å®¶é»ãèªåè»ãªã©å€çš®å€æ§ãªãã¢ãããéä¿¡ãè¡ãããåãããIoT (Internet of Things) ãå®çŸããã®ã«é©ãã ãããã³ã« ãšèšãããŠããŸãã 軜éã§çé»å HTTPãšæ¯èŒãããšã軜éã§çé»å㪠ãããã³ã« ã§ãã MQTT ã®ããããµã€ãºã¯ïŒãã€ãããšHTTPã«æ¯ã¹ããšããªã軜éã«ãªã£ãŠãã ãã®è»œéãããããããªãŒãéãããŠããã¢ãã€ã«éä¿¡ã«é©ããŠããŸãã ã¡ãã»ãŒãžã³ã°ãšTopic ã¡ãã»ãŒãžã³ã° MQTT ã¯Pub/Subã¢ãã«ã§ã¡ãã»ãŒãžã³ã°ãè¡ããŸãã Pub/Subã¢ãã«ã§ã¯ã¡ãã»ãŒãžã®éä¿¡è
ãPublisherãã¡ãã»ãŒãžã®åä¿¡è
ãSubscriberãã¡ãã»ãŒãžã®ä»²ä»ãããã®ãBrokerã§ãã Publisher ã¯ã¡ãã»ãŒãžãBrokerãžéããšããéã£ãã¡ãã»ãŒãžãã©ã® Subscriber ã«å±ãã®ããªã©æ°ã«ããå¿
èŠã¯ãããŸããã Subscriberã¯ã¡ãã»ãŒãžãã©ã® Publisher ããéãããŠæ¥ãã®ãç¥ãããšãªã欲ããã¡ãã»ãŒãžãBrokerããåãåããŸãã Topic MQTT ã§ã¯ãTopicãšåŒã°ããããŒãçšããŠã¡ãã»ãŒãžã³ã°ãè¡ããŸãã ãããã¯ã¯ã/ãã§åºåãããéå±€æ§é ã«ãªã£ãŠããŸãã äŸïŒjapan/osaka Publisherã¯Topicãæå®ããŠã¡ãã»ãŒãžãéä¿¡ããSubscriberã¯åä¿¡ããããããã¯ãfilterãšããŠæå®ããããšã§ã欲ããã¡ãã»ãŒãžã ããæã«å
¥ããããšãã§ããŸãã MQTTã®æ©èœ QoS MQTT ã§ã¯ã¡ãã»ãŒãžããšã«å°éä¿èšŒã«é¢ãã QoS (ãµãŒãã¹ã®å質)ãæå®ããŸãã QoS0 ã¡ãã»ãŒãžã¯æé« 1 å é
ä¿¡ããã ã¡ãã»ãŒãžã éä¿¡å
ã«å±ããã¯ä¿èšŒãããªã QoS1 ã¡ãã»ãŒãžã¯æäœ 1 å é
ä¿¡ããã ã¡ãã»ãŒãžã éä¿¡å
ã«å±ãããšãä¿èšŒããããéè€ããŠå±ãå¯èœæ§ãããïŒ QoS2 ã¡ãã»ãŒãžã¯æ£ç¢ºã« 1 å é
ä¿¡ããã ã¡ãã»ãŒãžãéäžè¶³ãªã 1 åã®ã¿å°çããããšãä¿èšŒãããïŒ Retain Topicããšã«æåŸã«Publishãããã¡ãã»ãŒãžãMQTTãµãŒããä¿æããŠããæ©èœã MQTT ã¯Pub/Subã¢ãã«ãªã®ã§ãPublishãããšãã«SubscribeããŠããã¯ã©ã€ã¢ã³ãã«ããã¡ãã»ãŒãžã¯éä¿¡ãããŸããã å
·äœçã«ã¯ã10åããšã«æŽæ°ãããæ
å ±ãåŸãããã«æ°ããSubscribeããŠãïŒæé·10åéã¯ãªã«ãæ
å ±ãåŸãããªãããšã«ãªããŸãã ããããRetainæ©èœã䜿ããšãã®æç¹ã§ã®ææ°ã®æ
å ±ãåŸãããšãã§ããŸãã Will PublisherãåæãããŠãµãŒããšã®éä¿¡ãã§ããªããªã£ããšãã« æå®ãããTopicãšã¡ãã»ãŒãžãSubscriberã«éä¿¡ããæ©èœã äºæãã¬åæãªã©ãçºçãããšãã«ãSubscriberã¯PublisherãåæãããŠããããšã倿ã§ããŸãã ãŸãšã IoTãæ¯ãã ãããã³ã« MQTT ã«ã€ããŠç°¡åã«ãŸãšããŠã¿ãŸããã äžã®äžã«IoTãåºãã£ãŠããŠããã®ã§ãããã«é¢é£ããæè¡ã¯è¿œã£ãŠãããããšæããŸãã ãšã³ãžã㢠äžéæ¡çš ãµã€ã ã©ã¯ ã¹ã§ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒã® äžéæ¡çš ãç©æ¥µçã«è¡ã£ãŠãããŸãïŒ ãèå³ãããŸãããæ¯éã確èªããé¡ãããŸãã https://career-recruit.rakus.co.jp/career_engineer/ ã«ãžã¥ã¢ã«é¢è«ãç³èŸŒã¿ãã©ãŒã ã©ã®è·çš®ã«å¿åããã°è¯ããããããªããšããæ¹ã¯ãã«ãžã¥ã¢ã«é¢è«ãéæè¡ã£ãŠãããŸãã 以äžãã©ãŒã ãããç³èŸŒã¿ãã ããã rakus.hubspotpagebuilder.com ã©ã¯ ã¹Developersç»é²ãã©ãŒã https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ ã€ãã³ãæ
å ± äŒç€Ÿã®é°å²æ°ãç¥ãããæ¹ã¯ãæ¯é±éå¬ããŠããã€ãã³ãã«ãåå ãã ããïŒ âTECH PLAY techplay.jp âconnpass rakus.connpass.com
ã©ã¯ ã¹ã¯ã ITæè¡ ã§äžå°äŒæ¥ã匷ãããŸãïŒããããã·ã§ã³ã«æ²ãã ã¡ãŒã«å
±æã»ç®¡çã·ã¹ãã ã®ã¡ãŒã«ãã£ãŒã©ãŒããå§ãŸããçµè²»ç²Ÿç®ã·ã¹ãã ã®æ¥œæ¥œç²Ÿç®ã«è³ããŸã§ã å»¶ã¹40,000瀟ãè¶
ããã客æ§ã«èªç€Ÿéçºãã ã¯ã©ãŠã ãµãŒãã¹ãæäŸããŠããŸããã ä»åïŒ9/13(æš)ïŒã¯ã ã©ã¯ ã¹ã§äž»å ã¯ã©ãŠã ãµãŒãã¹ã®éçºãçœåŒãããšã³ãžãã¢ã«ãã ããŒã¯ ã»ãã·ã§ã³ãšäº€æµäŒãéå¬ããŸãã ã¯ã©ãŠã ãµãŒãã¹éçºã®ãšã³ãžãã¢ãšããŠæŽ»èºããŠããæ¹ã¯ãã¡ããã ã¯ã©ãŠã ãµãŒãã¹éçºã«ãèå³ããæã¡ã®ãšã³ãžãã¢ã®æ¹ãæ°è»œã«ãåå é ããã°ãšæããŸãã èªç€Ÿéçºãªãã§ã¯ã®æè¡ã»éçšããŠããŠããæ°ããåãçµã¿ã®ææã倱æè«ãªã© ãåèã«ããŠé ããæ
å ±ãç©æ¥µçºä¿¡ããŠãããããšèããŠãããŸãã ãã®ã€ãã³ããæ°ããæ°ã¥ããæé·ã«ã€ãªããæ©äŒãæäŸããå Žã«ãªããšãšãã«ã ã©ã¯ ã¹ç€Ÿå¡ãšåå è
ã®çããŸããŸãåå è
ã®çããŸåå£«ã§æ°ããªã€ãªãããçãŸãããã£ããã«ãªãã°å¹žãã§ãïŒ é嬿ŠèŠ ãæ¥æã2018/9/13(æš) 19:30ïœ21:30(éå Žã¯19:00) ãäŒå Žã ã©ã¯ ã¹ æ±äº¬æ¬ç€Ÿ ïŒã151-0051 æ±äº¬éœæžè°·åº åé§ã¶è°· 5-27-11ãã¢ã°ãªã¹ã¯ãšã¢æ°å®¿2F [ã¢ã¯ã»ã¹] ïŒ ãå®å¡ã30å ãç³èŸŒã¿ã connpass ãåå è²»ãç¡æ ãäž»å¬ã ã©ã¯ã¹ ä»åã® ããŒã¯ ããŒã çµãããªã ã¹ã¯ã©ã ãïœæ¥œæ¥œç²Ÿç®ã®ãµãŒãã¹æ¡å€§ãæ¯ãã ã¹ã¯ã©ã éçºã®åãçµã¿ 倧塿£éïŒããã€ããŸãã¿ã¡ïŒ ã©ã¯ ã¹ã§ã¯ããŸã å€ãã®éçºããŒã ã ãŠã©ãŒã¿ãŒãã©ãŒã« åã® éçºããã»ã¹ ãæ¡çšããŠããŸããã äžéšã®ããŒã ã§ ã¹ã¯ã©ã ã«ãã ã¢ãžã£ã€ã« éçºã«åãçµãã§ããŸãã ä»åã¯æ¥œæ¥œç²Ÿç®ããŒã ã§ã®åãçµã¿ã玹ä»ããŸãã å®éã«ãã£ãŠã¿ããšæ§ã
ãªåé¡ãçºçããŸãããåé¡è§£æ±ºã«åããã¢ã¯ã·ã§ã³ãåãçµã¿ãéããŠåŸãç¥èŠãä»åŸã®èª²é¡çãäºäŸã亀ããŠã話ãããŸãã ãã ã¯ãªãŒã ïŒèªç§°ïŒãšããŠã®ãã£ãŠããïŒãïœ iOS ã¢ããªéçº ããŒã ãçã㊠å·äžŠè£ïŒãããªã¿ããïŒ è¥æãšãŒã¹ãšã³ãžãã¢ãåããŠã® iOS ã¢ããªéçº ã§ãã ã¯ãªãŒã ãšããŠå¥®éããã話ãã§ãã iOS ã¢ããªéçº ã¯ãèªèº«ãåãã¡ã³ããŒãåããããççŽæïŒ3ãµæïŒïŒïŒïŒã ãã® ãã¹ããŒã ãäºæãããäžå©ãªæ¡ä»¶äžã§ããã ã¯ãªãŒã ãšããŠã©ã®ããã«ããŒã ããªãŒãã£ã³ã°ããã®ãã æ§ã
ãªäºäŸã亀ããŠã玹ä»ããŸãã æµè¡ã®éçºææ³ChatOpsãšã¯ãïœæ¥œæ¥œæçްããŒã /ChatOpsã§ã«ãŒãã£ã³äœæ¥ããŸãããšèªååïœ äžç°è±äžïŒã¿ããããã¡ïŒ Jenkinsã®å°å
¥ã§èªååãé²ãã ãã©ããJenkinsãæ¯åéãã®ã¯é¢åãããã¢ã«ãŠã³ãã®äœæãé¢åãããéãšã³ãžãã¢ã«äœ¿ã£ãŠãããã«ã¯ã¡ãã£ãšããŒãã«ãé«ããã ããã§å°å
¥ããã®ãChatOps! Slackäºæã®ãã£ããããŒã«ãMattermostãã§ã«ãŒãã£ã³äœæ¥ãäžžããšèªååããŸããã å©çšãã bot ããŒã«ãã·ã¹ãã æ§æãHubot ã¹ã¯ãªãã ã®å®äŸãªã©ãããŠããŠãäœãããšãªãã玹ä»ããŸãã ã¿ã€ã ããŒãã« 19:00 éå Žã»åä»éå§ 19:30 ã€ãã³ãã¹ã¿ãŒã 21:30 çµäºäºå® ããŒã¯ ãçµããæ¬¡ç¬¬ã亀æµäŒã«ç§»ããŸãã 亀æµäŒã§ã¯ããã£ã³ã¬ãŒããŒããããªã³ã¯ããçšæèŽããŸãã ãæ°è»œã«ãåå ãã ããã ãšã³ããªãŒæ¹æ³ [connpass] ãããšã³ããªãŒããé¡ãããŸãã â»åœæ¥ã¯ãååº2æãæåãã ãã â»æäŸå¯èœãªèšåïŒ Wi-Fi ã黿º äŒå Ž ã©ã¯ ã¹ãæ±äº¬ãªãã£ã¹2F ã»ã ããŒã«ãŒã æ±äº¬éœæžè°·åº åé§ã¶è°· 5-27-11ãã¢ã°ãªã¹ã¯ãšã¢æ°å®¿2F [ã¢ã¯ã»ã¹]
ã¯ããã« ããã«ã¡ã¯ sts -250rrã§ãã ååã®èšäºã§ã¯ARãããŒãã«èšäºãæçš¿ããããŸããã ä»åã¯ããŒããã¬ã©ãªãšå€ããŸããŠã æ©æ¢°åŠç¿ ãã«ã€ããŠç°¡åã«ãŸãšããŠã¿ãããšæããŸãã æšä»ã AWS ã® Amazon Machine Learningã Microsoft ã®Azure Machine Learning Studioãªã©ã§æè»œã« æ©æ¢°åŠç¿ ãå©çšã§ããããã«ãªã£ãŠæ¥ãããšã«å ãã æ¥œæ¥œç²Ÿç®ã§ã¯ã iOS åãã«é åæžã®ã¢ããããŒããã§ããã¢ããªããªãªãŒã¹ããŸããã æ¥œæ¥œç²Ÿç® æ ªåŒäŒç€Ÿ ã©ã¯ ã¹ ããžãã¹ ç¡æ ãã®ã¢ããªã§ã¯ æ©æ¢°åŠç¿ ç³»æè¡ã®1ã€ã§ãã OCR ïŒOptical character recognitionïŒãçšããŠé åæžããŒã¿ãèªã¿åããæ¥œæ¥œç²Ÿç®ã«ã¢ããããŒãããŠããŸãã äžéçã«ã話é¡ãã€ã ã©ã¯ ã¹ã§ã æ©æ¢°åŠç¿ ã«æ³šç®ããŠããããšãããã è¯ãã¿ã€ãã³ã°ãªã®ã§ æ©æ¢°åŠç¿ ã«ã€ããŠæŽçããŠã¿ãããšããããšã§ãã ä»åã¯ç°¡åã« æ©æ¢°åŠç¿ ãšã¯ ãšãã£ã話ããã æ©æ¢°åŠç¿ ãè¡ãããŒã«ã䜿ã£ãŠ æ©æ¢°åŠç¿ ãäœéšããŠã¿ãå
容ããŸãšããŠãããŸãã æ©æ¢°åŠç¿ ãšã¯ïŒ ã¯ããã«ã Wikipedia ã§ã¯ æ©æ¢°åŠç¿ ã«ã€ããŠããæžãããŠããŸãã æ©æ¢°åŠç¿ ïŒããããããã
ããè±: machine learningïŒãšã¯ã 人工ç¥èœ ã«ãããç 究課é¡ã®äžã€ã§ã人éãèªç¶ã«è¡ã£ãŠããåŠç¿èœåãšåæ§ã®æ©èœãã³ã³ãã¥ãŒã¿ã§å®çŸããããšããæè¡ã»ææ³ã®ããšã§ããã ã€ãŸãã 人工ç¥èœ ãå®çŸããææ®µã æ©æ¢°åŠç¿ ãšããäºã§ãã ããã« Wikipedia ãèªã¿é²ããŠãããšæŠèŠã«ããèšèŒãããŠããŸãã ã»ã³ãµãããŒã¿ããŒã¹ãªã©ãããããçšåºŠã®æ°ã®ãµã³ãã«ããŒã¿éåãå
¥åããŠè§£æãè¡ãããã®ããŒã¿ããæçšãªèŠåãã«ãŒã«ãç¥è衚çŸãå€æåºæºãªã©ãæœåºãã ã¢ã«ãŽãªãºã ãçºå±ãããããªããããŒã¿éåãè§£æããã®ã§ã çµ±èšåŠ ãšã®é¢é£ãæ·±ãã ãšããããã«ãå®ã¯ æ©æ¢°åŠç¿ 㯠統èšåŠ ãšæ·±ãé¢é£ãæã£ãŠããŸãã çµ±èšåŠ ã¯ã倧éã«åŸãããããŒã¿ã®æ§è³ªãèŠåæ§ãåé¡ãèŠã€ãããããªåŠåã§ããããã® æ§è³ªãèŠåãèŠã€ããäº ã æ©æ¢°åŠç¿ ã«ãšã£ãŠã®åŠç¿ã«ãªãããã§ãã æ©æ¢°åŠç¿ ã®çš®é¡ æ©æ¢°åŠç¿ ã«ã€ããŠå°ãæãäžããŠãããŸãã åçŽã« æ©æ¢°åŠç¿ ãšãã£ãŠãã倧ããåããŠã æåž«ããåŠç¿ ããšã æåž«ãªãåŠç¿ ããååšããŸãã ããããã«åŠç¿æ¹æ³ãã§ããããšãç°ãªããŸãã®ã§ç°¡åã«ãŸãšããŠãããŸãã æåž«ããåŠç¿ åŠç¿ã«äœ¿çšããã㌠ã¿ã»ãã ã«å¯ŸããŠãæ£è§£ãäžããŠããåŠç¿æ¹æ³ã§ãã ãã®åŠç¿ã§ã¯ã倧éã®ã㌠ã¿ã»ãã ããæ£è§£ã®æ
å ±ãåŠç¿ãããããç¹åŸŽãæã€ãã®ã¯ãããäºæã«å¯ŸããŠæ£è§£ã§ãããããšã倿ã§ããåŠç¿æ¹æ³ã§ãã ç°¡åãªäŸã ãšããèµ€ãè²ãšããç¹åŸŽãæã€æç©ãããçŸå³ããããšå€æããããšãã§ããŸãã ããããæ£è§£ãšããŠãçŸå³ãããããçŸå³ãããªãããã®ã¿ãåŠç¿ãããŠããããããèµ€ãè²ãšããç¹åŸŽãæã€æç©ãããçŸããããã¯å€æããããšã¯ã§ããŸããã æåž«ããåŠç¿ ãè¡ãæ¹æ³ã«ã¯æ¬¡ã®ãããªãã®ããããŸãã ç·åœ¢ååž° ããžã¹ãã£ãã¯ååž° ãã€ãŒã ãã€ãº kè¿åæ³ ãã¥ãŒã©ã«ãããã¯ãŒã¯ æåž«ãªãåŠç¿ æåž«ããåŠç¿ ãšã¯å察ã«ãåŠç¿ã«äœ¿çšããã㌠ã¿ã»ãã ã«å¯ŸããŠãæ£è§£ã¯äžããŸããã ãã®åŠç¿ã¯ã倧éã®ããŒã¿ã®é¡äŒŒåºŠãèŠåæ§ãåŠç¿ããããŒã¿ã®åé¡ãè¡ããŸãã ç°¡åãªäŸã ãšãããæç©ã®ããŒã¿ã倧éã«éããŠãããš3ã€ã«åããããŸããã æ©æ¢°èªèº«ã«ã¯åããããããŒã¿ãäœã瀺ããã®ã§ãããã¯ããããŸããããæ¬¡ã«ããŒã¿ãåŸãããæã3ã€ã®ãã¡ã©ãã«è©²åœããããŒã¿ã§ãããã倿ããããšãã§ããããã«ãªããŸãã æåž«ãªãåŠç¿ ãè¡ãæ¹æ³ã«ã¯æ¬¡ã®ãããªãã®ããããŸãã äž»æååæ k平忳 ãã£ãŒãã©ãŒãã³ã° 匷ååŠç¿ *1 æ©æ¢°åŠç¿ ã詊ããŠã¿ã èšèã®ã¿ã§ã¯è
ã«èœã¡ãªãéšåãããã®ã§å®éã©ã®ããã«åŠç¿ããŠããã®ãã詊ããŠã¿ãããªããŸããã ããã§weka *2 ãšããããªãŒã® æ©æ¢°åŠç¿ ããŒã«ã䜿ã£ãŠãããŸãã (ä»åãwekaã®äœ¿ãæ¹ã«ã€ããŠã¯ç¹ã«èª¬æããããŸããã®ã§æªããããããã) ä»å㯠æåž«ããåŠç¿ ã«ãããžã¹ãã£ãã¯ååž°ãã æåž«ãªãåŠç¿ ã«ãk平忳ãã«ãã ã¯ã©ã¹ã¿ãªã³ã° ã䜿ã£ãŠãããŸãã ãããã®ææ³ã«ã€ããŠã¯äžèšã®èšäºã§è©³çްã玹ä»ãããŠããŸããã qiita.com qiita.com ã詊ã1ïŒ æåž«ããåŠç¿ wekaã®ãµã³ãã«ããŒã¿ã§ããã¢ã€ã¡ã®åçš®åé¡ããŒã¿iris.arffã䜿ã£ãŠãããŸããããŒã¿ã®å
容ã¯ä»¥äžã®éãã§ãã ã¯ã©ã¹(æ£è§£):setosa, versicolor, virginica ç¹åŸŽé(屿§) - sepallength : ããã®é·ã - sepalwidth : ããã®å¹
- petallength : è±åŒã®é·ã - petalwidth : è±åŒã®å¹
äžèšã®ããŒã¿ãæã£ã150ã®ã㌠ã¿ã»ãã ãšããžã¹ãã£ãã¯ååž°ã䜿ã£ãŠåŠç¿ããããŠã¿ãŸããã ããããåŠç¿ããããã ãã§ã¯æå³ããããŸããã åŠç¿ã®ææãèŠãããã«ã10åå²äº€å·®æ€å®ãçšããŠå€å¥å¶åºŠãèŠãŠãããŸãã wekaãªããããŸã§ãã£ãŠãããã®ã§ãæè»œã§ãã æ€èšŒçµæã®æç²ã§ãã === Stratified cross-validation === === Summary === Correctly Classified Instances 144 96 % Incorrectly Classified Instances 6 4 % Kappa statistic 0.94 Mean absolute error 0.0287 Root mean squared error 0.1424 Relative absolute error 6.456 % Root relative squared error 30.2139 % Total Number of Instances 150 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class 1.000 0.000 1.000 1.000 1.000 1.000 1.000 1.000 Iris-setosa 0.920 0.020 0.958 0.920 0.939 0.910 0.970 0.933 Iris-versicolor 0.960 0.040 0.923 0.960 0.941 0.911 0.975 0.933 Iris-virginica Weighted Avg. 0.960 0.020 0.960 0.960 0.960 0.940 0.982 0.955 åŠç¿ã«ããå
šäœã®å€å¥å¶åºŠ96%ã ããããã®æ£è§£ã«æ£ããå€å¥ããããšãã§ãã確çã Iris-setosa : Iris-versicolor : Iris-virginica = 100ïŒ
: 95% : 92% ãšããçµæãåŸãããŸããã ãã¹ãããŒã¿ãšããããšããããªããªãã®å¥œæçžŸã§ããã ã詊ã2ïŒ æåž«ãªãåŠç¿ æåž«ããåŠç¿ ãšåããããªããŒã¿ã§è©ŠããŠã¿ãŸãã ãã ãã æåž«ãªãåŠç¿ ã§ã¯æ£è§£ããŒã¿ã¯å¿
èŠãªãããåé€ããŠãããŸãã ä»åã¯k平忳ã«ãã ã¯ã©ã¹ã¿ãªã³ã° ãè¡ã£ãŠã¿ãŸããã å
ããŒã¿ã3çš®ã«åé¡ãããŠããã®ã§3 ã¯ã©ã¹ã¿ ã«åé¡ãããããã«èšå®ããŸããã ãã¹ãããŒã¿ãšã¯ããã綺éºã«åé¡ãããããã§ã¯ãªãããã§ããããã ããã§ç¶ºéºã«åé¡ãããããªåŠç¿ãã§ããã°ãæ°ããªããŒã¿ãåŸãéã«ã©ãã«åé¡ããããå€å¥ã§ããããã«ãªãããã§ããã ããªããã£ããã§ãããæ°å€ãç»é¢ãã¿ãŠå°ãã ãã€ã¡ãŒãžã§ããŸããã ãŸãšã ä»åã¯ æ©æ¢°åŠç¿ ã«ã€ããŠç°¡åã«ãŸãšããŠã¿ãŸããã ããããªããããã®èšäºã®å
å®¹ã¯ æ©æ¢°åŠç¿ ã®è¡šé¢ããªãã£ãçšåºŠã§ãããããŸããã ä»åã®ãããªå
容ããã£ããææ¡ããŠããããšããã¯ããã«è¿°ã¹ããã㪠Amazon Machine LearningãAzure Machine Learning Studioãå©çšããããšã§ç°¡åã« æ©æ¢°åŠç¿ ã¯å©çšå¯èœãªäžã®äžã«ãªãã€ã€ãããŸãã ãã ããå¹çãã æ©æ¢°åŠç¿ ãåãå
¥ããããã«ããã©ããªæ¹æ³ãäœã«é©ããŠããã®ãã¯ç¥ã£ãŠããã¹ãã§ãããã æ¬¡åã¯ä»ã® æ©æ¢°åŠç¿ ã®æµè¡ããããŒãã«æçš¿ããŠã¿ããããšæããŸãã®ã§ã楜ãã¿ã«ã *1 : æåž«ããåŠç¿ ã æåž«ãªãåŠç¿ ãšåãã¬ã€ã€ãŒã§åããããå ŽåããããŸãã *2 : https://www.cs.waikato.ac.nz/ml/weka/
ã©ã¯ ã¹ã¯ã ITæè¡ ã§äžå°äŒæ¥ã匷ãããŸãïŒããããã·ã§ã³ã«æ²ãã ã¡ãŒã«å
±æã»ç®¡çã·ã¹ãã ã®ã¡ãŒã«ãã£ãŒã©ãŒããå§ãŸããçµè²»ç²Ÿç®ã·ã¹ãã ã®æ¥œæ¥œç²Ÿç®ã«è³ããŸã§ã å»¶ã¹40,000瀟ãè¶
ããã客æ§ã«èªç€Ÿéçºãã ã¯ã©ãŠã ãµãŒãã¹ãæäŸããŠããŸããã ä»åïŒ9/13(æš)ïŒã¯ã ã©ã¯ ã¹ã§äž»å ã¯ã©ãŠã ãµãŒãã¹ã®éçºãçœåŒãããšã³ãžãã¢ã«ãã ããŒã¯ ã»ãã·ã§ã³ãšäº€æµäŒãéå¬ããŸãã ã¯ã©ãŠã ãµãŒãã¹éçºã®ãšã³ãžãã¢ãšããŠæŽ»èºããŠããæ¹ã¯ãã¡ããã ã¯ã©ãŠã ãµãŒãã¹éçºã«ãèå³ããæã¡ã®ãšã³ãžãã¢ã®æ¹ãæ°è»œã«ãåå é ããã°ãšæããŸãã èªç€Ÿéçºãªãã§ã¯ã®æè¡ã»éçšããŠããŠããæ°ããåãçµã¿ã®ææã倱æè«ãªã© ãåèã«ããŠé ããæ
å ±ãç©æ¥µçºä¿¡ããŠãããããšèããŠãããŸãã ãã®ã€ãã³ããæ°ããæ°ã¥ããæé·ã«ã€ãªããæ©äŒãæäŸããå Žã«ãªããšãšãã«ã ã©ã¯ ã¹ç€Ÿå¡ãšåå è
ã®çããŸããŸãåå è
ã®çããŸåå£«ã§æ°ããªã€ãªãããçãŸãããã£ããã«ãªãã°å¹žãã§ãïŒ é嬿ŠèŠ ãæ¥æã2018/9/13(æš) 19:30ïœ21:30(éå Žã¯19:00) ãäŒå Žã ã©ã¯ ã¹ æ±äº¬æ¬ç€Ÿ ïŒã151-0051 æ±äº¬éœæžè°·åº åé§ã¶è°· 5-27-11ãã¢ã°ãªã¹ã¯ãšã¢æ°å®¿2F [ã¢ã¯ã»ã¹] ïŒ ãå®å¡ã30å ãç³èŸŒã¿ã connpass ãåå è²»ãç¡æ ãäž»å¬ã ã©ã¯ã¹ ä»åã® ããŒã¯ ããŒã çµãããªã ã¹ã¯ã©ã ãïœæ¥œæ¥œç²Ÿç®ã®ãµãŒãã¹æ¡å€§ãæ¯ãã ã¹ã¯ã©ã éçºã®åãçµã¿ 倧塿£éïŒããã€ããŸãã¿ã¡ïŒ ã©ã¯ ã¹ã§ã¯ããŸã å€ãã®éçºããŒã ã ãŠã©ãŒã¿ãŒãã©ãŒã« åã® éçºããã»ã¹ ãæ¡çšããŠããŸããã äžéšã®ããŒã ã§ ã¹ã¯ã©ã ã«ãã ã¢ãžã£ã€ã« éçºã«åãçµãã§ããŸãã ä»åã¯æ¥œæ¥œç²Ÿç®ããŒã ã§ã®åãçµã¿ã玹ä»ããŸãã å®éã«ãã£ãŠã¿ããšæ§ã
ãªåé¡ãçºçããŸãããåé¡è§£æ±ºã«åããã¢ã¯ã·ã§ã³ãåãçµã¿ãéããŠåŸãç¥èŠãä»åŸã®èª²é¡çãäºäŸã亀ããŠã話ãããŸãã ãã ã¯ãªãŒã ïŒèªç§°ïŒãšããŠã®ãã£ãŠããïŒãïœ iOS ã¢ããªéçº ããŒã ãçã㊠å·äžŠè£ïŒãããªã¿ããïŒ è¥æãšãŒã¹ãšã³ãžãã¢ãåããŠã® iOS ã¢ããªéçº ã§ãã ã¯ãªãŒã ãšããŠå¥®éããã話ãã§ãã iOS ã¢ããªéçº ã¯ãèªèº«ãåãã¡ã³ããŒãåããããççŽæïŒ3ãµæïŒïŒïŒïŒã ãã® ãã¹ããŒã ãäºæãããäžå©ãªæ¡ä»¶äžã§ããã ã¯ãªãŒã ãšããŠã©ã®ããã«ããŒã ããªãŒãã£ã³ã°ããã®ãã æ§ã
ãªäºäŸã亀ããŠã玹ä»ããŸãã æµè¡ã®éçºææ³ChatOpsãšã¯ãïœæ¥œæ¥œæçްããŒã /ChatOpsã§ã«ãŒãã£ã³äœæ¥ããŸãããšèªååïœ äžç°è±äžïŒã¿ããããã¡ïŒ Jenkinsã®å°å
¥ã§èªååãé²ãã ãã©ããJenkinsãæ¯åéãã®ã¯é¢åãããã¢ã«ãŠã³ãã®äœæãé¢åãããéãšã³ãžãã¢ã«äœ¿ã£ãŠãããã«ã¯ã¡ãã£ãšããŒãã«ãé«ããã ããã§å°å
¥ããã®ãChatOps! Slackäºæã®ãã£ããããŒã«ãMattermostãã§ã«ãŒãã£ã³äœæ¥ãäžžããšèªååããŸããã å©çšãã bot ããŒã«ãã·ã¹ãã æ§æãHubot ã¹ã¯ãªãã ã®å®äŸãªã©ãããŠããŠãäœãããšãªãã玹ä»ããŸãã ã¿ã€ã ããŒãã« 19:00 éå Žã»åä»éå§ 19:30 ã€ãã³ãã¹ã¿ãŒã 21:30 çµäºäºå® ããŒã¯ ãçµããæ¬¡ç¬¬ã亀æµäŒã«ç§»ããŸãã 亀æµäŒã§ã¯ããã£ã³ã¬ãŒããŒããããªã³ã¯ããçšæèŽããŸãã ãæ°è»œã«ãåå ãã ããã ãšã³ããªãŒæ¹æ³ [connpass] ãããšã³ããªãŒããé¡ãããŸãã â»åœæ¥ã¯ãååº2æãæåãã ãã â»æäŸå¯èœãªèšåïŒ Wi-Fi ã黿º äŒå Ž ã©ã¯ ã¹ãæ±äº¬ãªãã£ã¹2F ã»ã ããŒã«ãŒã æ±äº¬éœæžè°·åº åé§ã¶è°· 5-27-11ãã¢ã°ãªã¹ã¯ãšã¢æ°å®¿2F [ã¢ã¯ã»ã¹]
ã¯ããã« ããã«ã¡ã¯ã @rs_tukki ã§ããæ°å2幎ç®ã§ãã ååã®èšäºã¯ä»¥äžãã芧ãã ããã tech-blog.rakus.co.jp ãŸãã以åã«æžããèšäºãããããã¢ã¯ã»ã¹æ°äŒžã³ãŠããŠããã¿ããã§ããããããšãããããŸãïŒ tech-blog.rakus.co.jp ããŠãæ¬é¡ã«å
¥ããŸãããã 瀟äŒäººãšããŠ2幎ç®ã«å
¥ãããã¹ãã®çµæãè³æã«ãŸãšãããããã°ä¿®æ£ã®å¯Ÿå¿æ¹éãäŒããããšãèªåã®ãã£ãããšãå
茩ãäžåžã«å ±åãçºè¡šããå¿
èŠæ§ãå¢ããŠããããã«æããŸãã èªåã¯ä»ãŸã§ããŸã説æããçºè¡šããã奜ãã§ã¯ãªãã£ãã®ã§ãããä»ã§ã¯åŸæãšããã»ã©ã§ã¯ãªãã«ãããåŸã
ã«èŠææèã¯ãªããªã£ãŠããŸããã ä»åã¯ããšã³ãžãã¢ãšããŠå¿
é ã¹ãã«ã§ãã説æãçºè¡šã®èŠææèãåãæãããã®1ã€ã®ææ®µã LT ã«ã€ããŠã®ã話ã§ãã ã¯ããã« Lightning Talks(LT)ãšã¯ïŒ äœæ
LTãæå¹ãªã®ã ã説æããããšããè¡çºã®ç·Žç¿ã«ãªã è²ããªæè¡ã®ç¥èŠãåŸããã 人ãšç¹ããæ©äŒã«ãªã ãŸãšã åè Lightning Talks(LT)ãšã¯ïŒ ã§ã¯ãŸãã LT ãšã¯äœã§ããããïŒ å°ã£ããšãã® Wikipedia å
çã ã©ã€ããã³ã° ããŒã¯ ïŒè±: Lightning TalksïŒãšã¯ã«ã³ãã¡ã¬ã³ã¹ããã©ãŒã©ã ãªã©ã§è¡ãããçããã¬ãŒã³ããŒã·ã§ã³ã®ããšãæ§ã
ãªåœ¢åŒãããããæã¡æéã5åãšããå¶çŽãåºãå
±æãããŠããã 圢ãšããŠã®ã©ã€ããã³ã° ããŒã¯ ã¯1997幎㮠Python ã«ã³ãã¡ã¬ã³ã¹ã§åããŠè¡ããããšãããŠããã[1]ãã®æç¹ã§ã¯åã«ãã·ã§ãŒã ããŒã¯ ããšåŒã°ããŠããããã©ã€ããã³ã°ïŒLightningïŒçš²åŠ»ãé»å
ç³ç«ïŒããšããèšèãçšããããããã«ãªã£ãã®ã¯ã2000幎6æã«è¡ããã YAPC 19100 ConferenceãããšãããŠããã[2]ãã®åŸæè¡çãªã«ã³ãã¡ã¬ã³ã¹ã«æŒããŠããã®èšèãæµžéããããã«ãªã£ãŠãã£ãã LTãšããã®ã¯ç°¡åã«èšãã°çããã¬ãŒã³ã®ããšã§ãã ãã¬ãŒã³ããŒã·ã§ã³ãšãããšãäŒç€Ÿå
ã§ã¯æ°ããäŒç»ã®èª¬æäŒãäŒç€Ÿå€ã§ã¯æ°ååã®çºè¡šäŒâŠãªã©ãªã©ãã©ã¡ãã«ããŠã1æé以äžã¯æéããããŠãã£ãããšè©±ãã€ã¡ãŒãžãããããšæããŸãã ã§ãããLTã¯ã皲劻 ããŒã¯ ããšããæå³ãããåããéããæã¡æéã¯ã ããã5åãé·ããã®ã§ã10åãšãããããã§ãã LTã®å
容èªäœã¯ããçšåºŠã®ããŒãããæå®ããããã®ã®ãæè¡ç㪠ããŒã¯ ã«éå®ãããªãããšãå€ããçããéãããæéã®äžã§èªåã®å¥œããªè©±ãèªç±ã«çºè¡šããŠããŸãã(ãããŠå匷äŒãªã©ã§ãªãéãã¯å€§äœãé
ãã€ããŠããŸã) connpass çã®åéãµã€ãã§ãé »ç¹ã«LTäŒãéå¬ãããŠãããããŸãã reedex.connpass.com connpass.com engineers.connpass.com äœæ
LTãæå¹ãªã®ã æåã«ãLTãšã¯ 説æãçºè¡šã®èŠææèãåãæãããã®1ã€ã®ææ®µ ãšèª¬æããŸããã LTâŠãšããããçºè¡šèªäœã«èŠææèã®ãã人ã«ã¯ããŒãã«ãé«ãããšæããŸãããããã§ãç§ãšããŠã¯ã瀟å
ã瀟å€åããæ°åã®ãã¡ãããã²LTã«ç»å£ããŠã¿ãŠã»ãããšæã£ãŠããŸãã ã説æããããšããè¡çºã®ç·Žç¿ã«ãªã LTã®ç¹åŸŽã¯ãäœãšèšã£ãŠããã®çãã§ãã ãé·ãæé話ãã®ã«èããããªãããç®ãåãããããªãããšãã人ã§ãã倧äœ5ïœ10åçµã£ãŠããŸãã°åŒ·å¶çã«çµäºã§ããããå²ãšå€±æããŠãæ¥ãããããªãã§ãã 瀟å€ã®LTã§ã€ãžãé£ã¶ã®ãæãâŠãšãã人ãããŸããã倧æµç€Ÿå€ã®LT㯠Twitter ã§å®æ³ãããã®ã§èŠãŠãã人ãã€ãžãé£ã°ããŠããäœè£ã¯ãªããšæããŸã(ç¬)ã togetter.com ãããªç°å¢ã®äžã§ãèªåãåŠãã ããšãæ°ã«ãªã£ãŠããããšãçãæéã§çºè¡šããããšã§ãè³æã®äœæã«æ
£ããåãããããäŒãæ¹ã«æ
£ãããããã¯ç€Ÿå
ã§äººã«èª¬æããããšã«ãæ
£ããŠãããã®ã§ã¯ãªãããšæã£ãŠããŸãã è²ããªæè¡ã®ç¥èŠãåŸããã æ°åãšããŠäŒç€Ÿã«å
¥ç€Ÿããçããã¯æ¥åã§äœ¿ãæè¡ãåŠãã§ããããšæããŸãããéšçœ²ãç°åã«ãªãã°ãŸãå¥ã®æè¡ãå¿
èŠã«ãªãã§ããããã転è·ãšããªãã°ä»æã£ãŠããæè¡ã§ã¯å€ªåæã¡ã§ããªãããšãããã§ãããã ãããªãšãã«ã æ°ããªæè¡ã(ååã ãã§ã)ç¥ã£ãŠããããšããã®ã¯å€§ããªæŠåšã«ãªãåŸãŸãã 話ãããåŽã ãã§ãªããèŽãåŽãšããŠãæ§ã
ãªäººã®æ§ã
ãªå
容ã®LTãèŽãäžã§ããšã³ãžãã¢ãšããŠã®ç¥èãã©ãã©ã身ã«ã€ããŠããããšæããŸãïŒ äººãšç¹ããæ©äŒã«ãªã ããšç€Ÿå€ã®LTã§èšããŸããšããããçµæ§ãªã¡ãªããã§ãã å
ã»ã©LTã®å
容㯠Twitter ã§å®æ³ããããšæžããŸããããçºè¡šãçµãããæèŠªäŒã«ãªã£ãåŸã§æ°ã«ãªã£ãçºè¡šè
ã«ã話ãèŽããŠã¿ãã®ããããšæããŸãããããã SNS çã§ç¹ããããšããããŸããã話ãçãäžããäžã§å¥ã®å匷äŒã«èªã£ãŠããã ããããšããããŸãã æ°åã®éã¯ã©ãããŠã瀟å€ã®äººãšç¹ããæ©äŒãå°ãªãããšæããŸããããããã£ãLTã®æ©äŒãã茪ãåºããŠãã£ãŠã¿ãŠã¯ã©ãã§ããããïŒ ãŸãšã ä»åã®èšäºã§èšãããã£ãããšã¯äžã€ã§ãã ã説æåãã®åäžã®ããã«ãLTã«ç©æ¥µçã«ç»å£ããŸãããïŒ ãããŠã çããã®é¢çœã話ããã²èãããŠãã ããïŒ ä»¥äžã§ãããèŠèŽããããšãããããŸããã(LT颚ã«) åè ライトニングトーク - Wikipedia IT業界でよく聞く「LT」ってなんなの?3つのメリットを知って、きみもLTしてみよう! | トビラシステムズ株式会社