(追è¨)2016å¹´12æ24æ¥ã«æ¬è¨äºã®ç¶ç·¨ãæ¸ãã¾ããããã¡ãã®ã»ãããã詳ããè¨è¼ãã¦ã¾ãã®ã§ããèå³ããã°ã¿ã¦ãã ããã ç¶ã»ãã«ããã³ãã«ã¼ã¿å¶å¾¡APIã©ã¤ãã©ãª NAPALMã触ã£ã¦ã¿ã NAPALMæ¦è¦ NAPALMã¨ããã«ã¼ã¿å¶å¾¡APIã©ã¤ãã©ãªããNANOG64ã«ã¦ç´¹ä»ããã¾ããã https://www.nanog.org/meetings/abstract?id=2588 NAPALM (èªã¿æ¹ã¯ãæ¥æ¬äººçã«ã¯ãããã¼ã ãã§ãããããNANOGã§ã¯ããã¤ãã¼ã ãã¨å¼ã°ãã¦ãã¾ãã)ã¯ãSpotify社ãæä¾ãã¦ããOSSã®Pythonã©ã¤ãã©ãªã§ãããååã¯ãNetwork Automation and Programmability Abstraction Layer with Multivendor supportãã®ç¥ã®ããã§ãã ã½ã¼ã¹ã³ã¼ãã¯githubã§å ¬é
netmiko ã¨ã¯ netmiko ã¨ã¯ããããã¯ã¼ã¯æ©å¨ã«SSHã§ãã°ã¤ã³ãã¦æä½ããã®ãå©ãã¦ãããPythonã®ã©ã¤ãã©ãªã§ããç¾å¨Cisco IOSãJuniper JunOSãPalo Alto PAN-OSãªã©ã«å¯¾å¿ãã¦ãã¾ãããã°ã¤ã³ãã³ã³ãã£ã°ã¢ã¼ã移è¡ããã°ã¢ã¦ããªã©ãã¡ã½ããã¨ãã¦æ½è±¡åããã¦ãã¦ãåå¥ã®ã³ãã³ãã¯ç´æ¥ã³ãã³ããæå®ããã¿ã¤ãã®ã©ã¤ãã©ãªã§ãããã®ç¹ã§ã¯NAPALMããæ½è±¡åº¦ã¯ä½ãã§ãã pip intall netmiko çã§ã¤ã³ã¹ãã¼ã«å¯è½ã§ãã GitHubãªãã¸ã㪠ktbyers/netmiko: Multi-vendor library to simplify Paramiko SSH connections to network devices èªåæ¤åºæ©è½ netmikoã§ã¯é常ãã³ãã¯ã·ã§ã³ãªãã¸ã§ã¯ããçæããéã«ã device
ãããã¯ã¼ã¯æ©å¨ï¼ã«ã¼ã¿ãã¹ã¤ããï¼ã®è¨å®ä½æ¥èªååã®ããã«ããããã¯ã¼ã¯APIã試ä½ãã¦ã¿ã¾ãããææã¡ã®ã«ã¼ã¿ï¼Cisco 1812Jï¼ã¯NETCONFãREST APIã«é対å¿ã®ãããã«ã¼ã¿ã®è¨å®ã¯ä¼çµ±çãªSSH+expectã§è¨å®ãã¾ããexpectãé è½ããããããããã¯ã¼ã¯APIï¼REST APIãWebï¼ã試ä½ãã¾ããããããã¯ã¼ã¯APIã¯ãRuby/Rails/Redis/expectã§å®è£ ãã¦ãã¾ãã試ä½ããã³ã¼ãã¯GitHub - kooshin/netmgrã«ããã¾ãã ã¯ããã« ãããã¯ã¼ã¯è¨å®å¤æ´ä½æ¥ããã»ã¹ï¼æé æ¸ãä½æãã¦ã第ä¸è ã«æé æ¸ã¬ãã¥ã¼ãã¦é ããä¸å¸ã®ä½æ¥æ¿èªãå¾ã¦ãã¯ããã¦ä½æ¥å®æ½ããããã»ã¹ï¼ã§æ¶èãã¦ã¾ããåããããªç°¡åãªä½æ¥ã¯ãã£ãã¨èªååãããã¨æããéç¨èªååã®ããã«ãããã¯ã¼ã¯APIã試ä½ãã¾ããã ãããã¯ã¼ã¯ã®èªååã®è¨äºã¯å¤ããã
ãã«ãããã¹ãç°å¢ã®èªååã¯ã顧客ã®ä¸å£°ã§ã¤ã¶ããã¦ãã¾ã£ãï½èªååã®ç¾å ´ã®çå®ï¼åç·¨ï¼ãã·ã¹ãã ãã¹ãèªååã«ã³ãã¡ã¬ã³ã¹ 2015 ãã¹ãèªååç 究ã主å¬ããã¤ãã³ããã·ã¹ãã ãã¹ãèªååã«ã³ãã¡ã¬ã³ã¹ 2015ããã2015å¹´12æ13æ¥ã«ãå æ¬æ¨ã®ã¤ãã¼æ ªå¼ä¼ç¤¾ã§éå¬ããã¾ããã ååä¸ã«è¡ãããã»ãã·ã§ã³ãèªå家ã¯è¦ãï½èªååã®ç¾å ´ã®çå®ï½ãã«ã¯é¢è¥¿ã®ã³ãã¥ããã£ããããããã®ã¡ã³ãã¼ãç»å£ããã¹ããå«ãéçºç°å¢ãèªååãããã¨ãã¦ããã¨ã³ã¸ãã¢ã®ãç¾å ´ã§ã®è¦æ©ã¨è¦å´ããªã¢ã«ã«ç´¹ä»ãã¦ãã¾ãã ãã®å 容ãåç·¨ãä¸ç·¨ãå¾ç·¨ã®3æ¬ã®è¨äºã«ã¾ã¨ãã¾ããããã®è¨äºã¯åç·¨ã§ãã èªå家ï¼ãªã¼ãã¡ã¼ã¿ï¼ã¯è¦ãï¼ èªååã®ç¾å ´ã®çå®ã ããããããã®åå·åå¿æ°ã ããããããæ¥ã¾ãããã°ã«ã¼ãåã«ããã¾ãæ·±ãæå³ã¯ããã¾ããã èªååã§çºè¡¨ãããäºä¾ã¯ãããã¨æµã¾ããç°å¢ã§ããããè½åãæã£ã¦
ãä¸è©±ã«ãªãã¾ããããã³ãã¨ã³ãæ å½ããã¦ããå°åæ£å¤§ã§ããWebãã¼ã¸ã®è¡¨ç¤ºãç£è¦ãã¦å·®ç°ããã£ãå ´åãã©ã®ãã¼ã¸ã§è¡¨ç¤ºã®å¤åãèµ·ãã¦ããããç¥ããã¨ãåºæ¥ãããã°ã©ã ãå®è£ ããã®ã§ãã®ãã¨ã«ã¤ãã¦æ¸ããã¨æãã¾ãã ä½ã«ã¤ãã£ãã®ï¼ åãããã³ãã¨ã³ããæ å½ãã¦ãããµã¼ãã¹ãæçãµããªãã§å¤§è¦æ¨¡ãªããã³ãã¨ã³ãã³ã¼ãã®ãªãã¡ã¯ã¿ãªã³ã°è¡ãéã«è¡¨ç¤ºãã¹ããèªååããããã«ä½æãã¾ããããæçãµããªãã¯PCã»ã¹ããåããã¦å¤§ä½350-400ãã¼ã¸ã®è¡¨ç¤ºãã¿ã¼ã³ãåå¨ããæ¯è¼çè¦æ¨¡ã®å¤§ãããµã¤ãã§ããå ¨ãã¼ã¸ã«å½±é¿ãä¸ãããããªä½æ¥ã¯å¤§è¦æ¨¡ãªååã¨ãªããä»åã®ãªãã¡ã¯ã¿ãªã³ã°ã§ã¯è¡¨ç¤ºãã¹ãã®è¨ç»ãªã©ã®æ®µåããå¿ è¦ã§ãããå¾æ¥ã®äººæã«ããQAã§ã¯ç´°ãããã°ãè¦éããããæéããããå¹çãæªãã®ã§ãå¯è½ãªéãèªååãããã¨èãå®è£ ãã¾ããã å®è£ ã®æ¦è¦ ãã®ç£è¦ã®ã·ã¹ãã ã¯ä»¥ä¸ã®ï¼ã¤å®è£ ãçµåã
16æ°ååãã®åå¼·ä¼ã§LTããã®ã§ãããä¼ç¤¾ãã許å¯ããããã®ã§å ¬éãã¾ãã*1 ãæ»åãã ããã ã¹ã©ã¤ã ããªã³ã ãæ¯ãã課éã©ã¤ãã©ãªãæ¯ããJenkins from Go Sueyoshi (a.k.a sue445) åããã¦èªã¿ããï¼é¢é£ã¨ã³ããªï¼ ã¹ã©ã¤ãã®å ãã¿ é¢ç½ã¨ã³ããªé Jenkinsã®slaveãitamaeã§ä½ã£ãæã®ç¥è¦ å¼ç¤¾è¬¹è£½ã®ãã¼ã¿ãã¼ã¹ã®æ°´å¹³åæ£ã©ã¤ãã©ãª Rubyã§éç解æããæã®ãå½¹ç«ã¡gem fluentdã§ãã£ããé£æºããæã®ã㤠ä»é±ã®gemã«ã¤ã㦠ååã®RubyKaigi2014ã®ç»å£è³æ å½æ¥çã¦ããTã·ã£ã ãããã¹ãã£ã¼ã¸ããªãã¥ã¢! ãã«ã°ã©ãã£ãã¯Tã·ã£ã ãã¯ã¤ã ãµã¤ãº:L åºç社/ã¡ã¼ã«ã¼: ã³ã¹ãçºå£²æ¥: 2015/02/12ã¡ãã£ã¢: ããã¡ãï¼ããã¼ãã®ååãå«ãããã°ãè¦ã ä»æã®å« Go! ããªã³ã»ã¹ããªãã¥ã¢
ããã«ã¡ã¯ãæè¡äºèª²ã®æ°¸ç°ï¼@nagaaki46ï¼ã§ãã çããã®ä¸çªæ¬²ããç©ã£ã¦ä½ã§ããï¼ äºå¹´åãç§ãä¸çªæ¬²ããã£ãç©ã¨ããã°Aragostaã®è»é«èª¿ã ããã¦ä»å¹´ãä¸çªæ¬²ããç©ã¯è¡£é¡ä¹¾ç¥æ©ã«ã 大人ã«ãªãã£ã¦ããããããã¨ã§ããããã ããã¦ãéã«æã家ã«å°å ¥ãããã¬ã¹å¼è¡£é¡ä¹¾ç¥æ©ã£ã£ã£ã£ã£ã£ã£ï¼ï¼ãªã¼ã¹ããã©ãªï¼ 人é¡ã®æ°¸é ã®æ§ããä»äºã®ãèªååãã ãã®è¡£é¡ä¹¾ç¥æ©ã¨å ±ã«éãããç§ã¯æé«ã«å¹¸ãè ã§ãã ã¨ããããã§ä»åã¯ã ãµã¼ãã¼ã¯ã¼ã¯ã¹ã®AWSå°å ¥æ¯æ´æ¥åã«ããã æ§ç¯èªååã®åãçµã¿ã«ã¤ãã¦ãç´¹ä»ãã¾ãã ãµã¼ãã¼ã¯ã¼ã¯ã¹ãããæ§ç¯ã®ä»æ¹ã£ã¦ï¼ ç§ã¯2014å¹´8æãããµã¼ãã¼ã¯ã¼ã¯ã¹ã«ã¸ã§ã¤ã³ãã¾ããã æå 端ã®AWSã«è§¦ããå¤ãä½è³ªãç¡ããµã¼ãã¼ã¯ã¼ã¯ã¹ã®ä»äºã®ããæ¹ã« ãã¦ãã§ããã¨åºæ¿ãåããæ¥ã ãéããã¦ãã¾ããã åºæ¿ã£ã¦å¤§äºã§ããããã ä¸æ¹ã§ãã¤ã³ãã°ã¬ã¼ã¿ã¼æ¥
ããã«ã¡ã¯ãCTOã®é¦¬å ´ã§ãã ã¿ããªå¤§å¥½ãFabricã®Tipsã§ãã Welcome to Fabric! -- Fabric documentation ãããããã¤ãã¼ã«ã¨ãã¦ç´¹ä»ããã¾ããã èªååã®ããã®Python+SSH+ã³ãã³ãå®è¡ãã¬ã¼ã ã¯ã¼ã¯ã¨ãã¦æè»ã«ä½¿ãã¦è¶ 便å©ã§ãã åºæ¬çã«ã¯ æå ã§ã®ã³ãã³ãå®è¡ SSHããã®ãªã¢ã¼ããµã¼ãã§ã®ã³ãã³ãå®è¡ SSHããã®ãªã¢ã¼ããµã¼ãã§sudoãã¦ã³ãã³ãå®è¡ ãã§ãããã¼ã«ãªã®ã§ããã使ãæ¹ã®ä¾ãç´¹ä»ãã¾ãã ééããªã©ããã°ãè¿ãã®ãã¼ããã¼ã社å¡ã @netmarkjp ã«æãã¦ããã ããã¨å¬ããã§ãã Python 2.7.10 + Fabric 1.10.2 + Paramiko 1.15.2ã§åä½ç¢ºèªãã¾ããã è¤æ°ã®ãµã¼ãã«å¯¾ãã¦åãã¦ã¼ã¶ã»ãã¹ã¯ã¼ãã§ãã°ã¤ã³ãã ã¦ã¼ã¶åããã¹ã¯ã¼ããä¸æ¬æå®ã§ãã¾ãã éµèª
(æ¥æ¬èªã¯ä¸ã«ããã¾ã / Japanese follows English) Automation. Deploy, setup server, CI etc... Automation is really important work to reduce repetitive (or complicated) tasks to focus on what we, engineer, human should really do. I've done many automations on different environments. My automation history started from where team did traditional by-hand deployment. And now I joined Internal PaaS Dev&Ops team a
Serverspecæ¬ã®ç®æ¬ãããã¨ããããã¾ããï¼ã¨ã¦ãé¢ç½ãã£ãã§ãï¼è©³ããæ¸è©ã¯ãã§ã«ç´ æ´ãããè¨äºãããã¤ãããã®ã§ï¼åã¯ç¾ãã¼ã ã§ã©ã®ããã«Serverspecãå°å ¥ãããï¼ã©ã®ããã«ä½¿ã£ã¦ãããã«ã¤ãã¦æ¸ãããã¨æãã¾ãï¼ Serverspecå°å ¥ã®èæ¯ ä»ã®ãã¼ã ã§ã¯ãµã¼ãã¼ã®ã»ãã¢ããããã³ãããã¤ã«Chefã使ã£ã¦ããï¼æ¬ã«ãæ¸ããã¦ããããã«ãã®ãããªæ§æ管çãã¼ã«ã使ã£ã¦ããå ´åã¯ãã®ãã¼ã«ãä¿¡é ¼ããã¹ãã§ããï¼Serverspecã®ãããªãã¹ããã¼ã«ã¯å¿ è¦ãªãï¼åãã®ãã¼ã ããã®ãããªçç±ã§Serverspecã®å°å ¥ã«ã¯è³ã£ã¦ããªãã£ãï¼ ãããã¢ããªã±ã¼ã·ã§ã³ãè¤éã«ãªãChefã®ã¬ã·ããæ··æ²ã¨ããããã«ãªãã¨ããã¯æç«ããªããªãï¼è¦éãã®æªãã¬ã·ãã¯Chefã¸ã®ä¿¡é ¼åº¦ãè½ã¨ãï¼ä¿¡é ¼åº¦ã®ä½ä¸ã¯ãããã¤ä¸ä¿¡ã«ç¹ãã人æï¼çèï¼ã«ãããã¹ããå§ã¾ãï¼ ãµã¼ãã¼ã®æ°ãã
èæ¯ æç¨ãã¦ãã MBP15" ãä¸ã¶æã»ã©åã«çªç¶äº¡ããªããæ¥é½ MBP13" ãè²·ã£ã¦ç°å¢æ§ç¯ãè¡ã£ãã®ã§è¨é²ãã¦ããã (ãã®å¾åã®èãã¦è»½ãã¦æ°ãã Macbook ãåºãã ãã§ãªã MBP13" ã¾ã§ãã¤ãã¼ã¢ãããã¼ãããããããããæããã¯ãªããæããã¯ãªããï¼ï¼) Brewfile ãªã¯ã³ã³åé¡ éçºç°å¢ã®æ§ç¯ã¯ Homebrew 㨠Homebrew Cask ãå ¥ã㦠Brewfile ãæ¸ãã brew bundle ããã°çµãããã¨æãããããã Brewfile ã¯ãªã¯ã³ã³ã«ãªã£ã¦ãã¾ã£ããããã (3/25 追è¨) Brewfile ããªã¯ã³ã³ãªã®ã§ã¯ãªã Homebrew æ¬ä½ãã bundle ã³ãã³ããå¤ãããã ãã§ã å ã¨ãªã£ã brewdle ã³ãã³ãã¯å¥å¨ã§ããã£ã¨ä¾¿å©ãª brew-file ãããã¨ã®ãã¨ã§ãã åè: Brewfileã¯ãªã¯ã³ã³
ã¢ã¸ã£ã¤ã«éçºã«åãçµããã¼ã åãã®ã³ã¼ãã³ã°ããæè¡é¡§åãèªå®ã¹ã¯ã©ã ãã¹ã¿ã¼ç ä¿®ãªã©ã®å種ãã¬ã¼ãã³ã°ãæä¾ãã¦ãã¾ãããã²ãæ°è»½ã«ãç¸è«ãã ããï¼ååç¸è«ç¡æï¼ ãã¾ã¾ã§è²ã ãªã¨ããã§è¨ã£ã¦ãããã¨ãã ãã ãã¨ã¾ã¨ãã¦ã¿ã¾ããã è¨ç»ããã³æºå段éè¦æ±ãããå質ã®å®ç¾©ããããªãDevã¨Opsã®åæ¹ã§æ å ±ãå ±æãããããã«ãããã¤ãããã¤ãéå§ããã®ããæããã«ãããããã¤ã®éã«ã¤ã³ãã©ãå¤æ´ããå¿ è¦ã¯ããã®ããæããã«ãããããã¤ãè¡ãæé帯ãè¡ããªãæéãããããã決ãã¦ãã(ä¼ã¿åãé¿ãã)ãã©ã³ãæ¦ç¥ããã¼ã¸æ¦ç¥ã決ããç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ã®æ¦ç¥ã決ãããã°ã®åºåæ¦ç¥ã決ãããã«ãã¨ãªãªã¼ã¹ã®èªåå人çè¦ç´ ãæ¸ããç¹°ãè¿ãå¯è½ã«ããèªåä½æ¥ã¨æä½æ¥ãæ··ããªããã«ããèªååãã誰ã®ãã·ã³ã§ããã«ãã§ããããã«ããã¦ããããã¹ããçµåãã¹ããUIãã¹ããªã©ãã¹ããèªååããæ¬çª
Seleniumã¨ã¯ãªã¼ãã³ã½ã¼ã¹ã®E2Eãã¹ããã¬ã¼ã ã¯ã¼ã¯ã§ã主ã«å®ãã©ã¦ã¶ãåããã¦Webãµã¤ãã®æ¤è¨¼ãè¡ãããã«ä½¿ãããã
対象èªè ã¨ç°å¢ Webãã©ã¦ã¶ã使ã£ããã¹ããèªååããOSSã®ãã¼ã«ãSelenium2ï¼WebDriverï¼ãã®ã¤ã³ã¹ãã¼ã«æé ã¨åºæ¬çãªä½¿ãæ¹ããç´¹ä»ãã¾ããæ³å®èªè ã¯ããã¹ãèªååã«èå³ã®ããããã°ã©ãã¼ã§ãã Seleniumã«ã¯Selenium IDEã¨ãããã©ã¦ã¶æä½ãè¨é²ã§ãããã¼ã«ããããSeleneseã¨ããSelenium1ã«å¯¾å¿ããã³ãã³ããHTMLå½¢å¼ã§ä¿åãã¾ããããã«ãã£ã¦ãã³ã³ã¼ãã£ã³ã°ã§ãã¹ãã¹ã¯ãªãããä½æãããã¨ãã§ããã®ã§ãããWebDriverãããã°ã©ãã³ã°ã«ããå¹çåã®æ©æµãåãããã¨ãã§ãã¾ãããæ¬è¨äºã¯Selenium IDEãæ´»ç¨ããªããWebDriver使ã£ããã¹ãã¹ã¯ãªãããJavaï¼JUnitï¼å½¢å¼ã§æ¸ãã¦ããããã®æå¼ãã¨ãªã£ã¦ãã¾ãã ä»åçè ã使ç¨ããç°å¢ã¯ä»¥ä¸ã®ã¨ããã§ãã OSï¼Windows 7 Javaï¼1.7 Fir
Writing a modern web app these days can sometimes feel like a tedious process; frameworks, boilerplates, abstractions, dependency management, build processes..the list of requirements for a front-end workflow appears to grow each year. What if however, you could automate a lot of this? In the slides from my FOWA keynote, I walk through a landscape of tools to keep you productive on the front-end.
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}