ã¯ããã« Redmine ã§ãã±ãããåã£ããç°¡å㪠Note ã追è¨ãããããã®ã«æ¯åº¦ãã©ã¦ã¶ã§æä½ããã®ãã¢ã¬ãªã®ã§ï¼YAPC::Asia 2012 ã§ãç´¹ä»ããã¦ãã Redmine::Chan ã使ã£ã¦ IRC çµç±ã§æä½ãã¦ãã¾ãï¼ onishi/Redmine-Chan · GitHub ç§ã®å ´åï¼ã¡ããã¡ããã使¥æéãï¼ã¾ããããã¼ã«ï½ï¼ãè¨é²ãã¦ãã¾ããï¼ç¾æç¹ã§ã¯ Redmine::Chan ã¯ãã®ãããããµãã¼ããã¦ãã¾ããï¼ãã®ããï¼Redmine::Chan å°å ¥å¾ããã°ããã®éã¯ï¼æéã®è¨é²ã«ã¤ãã¦ã¯ãã©ã¦ã¶ã§è¡ã£ã¦ãã¾ãããï¼ãããã«ããéçãªæãããã¦ãã¾ããï¼ï¼Redmineï¼ãã¾ã使ãã¢ããã¼ã·ã§ã³ä¸ãããã§ããï¼ä½¿ãåæçãªæå³ã§ï¼ï¼ ãããªããã§ããªããã°ä½ãã°ãããããªããã®ç²¾ç¥ã®ä¸ï¼Redmine::Chan ãããããããã£ã¦ï¼ä½æ¥æéãè¨é²ã§
ã¸ã¢ãã£ã¼ã§ã¯ç¾å¨ç¤¾å ã®ãã¿ã ã«ãããããã«Skypeã使ã£ã¦ãã¾ã. ã¨ã³ã¸ãã¢ãã£ãã, å ¨ç¤¾ãã£ãã, ãã¿ãã£ãããªã©ããã¤ãã®é¨å±ããã以ä¸ã®ãããªå°èå± ãæã¿ãªããçæãæãã«ã¢ã¬ãã¦ã¾ã. å¼ç¤¾ããããã¤æã®æ§å twitter.com/soplana/status⦠â soplana (@soplana) November 22, 2012 ã¨ãããä¸é¨ã®éæ¿æ´¾ãåSkypeãæ²ãç«ã¡ä¸ãã, è¡ã§è¡ãäºãå±éã®ã®ã¡ç¤¾å IRCãç«ã¦ãããéã³ã¨ãªãã¾ããã®ã§ãã®è¨é²ãæ®ãã¾ã. è«äºã®è©³ç´°ã¯ã·ã³åå ´ç:âã§è£å®ãããããã§ã. EC2ãµã¼ããç¨æ GitLabãªã©ããããã®èª¿æ»ã«ä½¿ã£ã¦ããéå¤ãªEC2ãµã¼ã(smallã¤ã³ã¹ã¿ã³ã¹)ãIRCãµã¼ãã¨ãã¦æµç¨ãããã¨ã«ãã¾ãã. IRCãã¼ã¢ã³ãã¤ã³ã¹ãã¼ã« IRCç«¥è²ãªããã«æ¨¡ç´¢ãã¤ã¤ä½æ¥ãã¾ããã®ã§, ãã®ã¸ããæ®ãã¦
ã¿ãªãããRedmine ã§ããã¸ã§ã¯ã管çãã¦ã¾ããï¼ Redmine API ã IRC ãã対話çã«å©ãã¦ãèªç¶ã«ããã¸ã§ã¯ã管çãã¦ã¿ã¾ãããï¼ ã¯ã¦ãªç¤¾å ã§ã使ã£ã¦ãã¾ãã ãã±ããã®ç»é² ã¹ãã¼ã¿ã¹ã®å¤æ´ æ å½è ã¢ãµã¤ã³ ã¬ãã¥ã¼ä¾é ¼ ã½ã¼ã¹ã³ã¼ããã¥ã¢ã¼ã¨ã®é£æº ãã¼ã ãªãã¹ãæ æ°ã«ãIRC ãããªãã§ããã¦ã¿ã¾ãããã
7. IRCã¨ã¯ âInternet Relay Chatï¼ã¤ã³ã¿ã¼ãããã»ãª ã¬ã¼ã»ãã£ãããç¥ç§° : IRCï¼ã¨ã¯ããµã¼ããä» ãã¦ã¯ã©ã¤ã¢ã³ãã¨ã¯ã©ã¤ã¢ã³ããä¼è©±ããã æ çµã¿ã®åç§°ã§ãããæç« ã®ã¿ãããåãã㦠ä¼è©±ãè¡ããDCCãªã©ãå©ç¨ãããã¨ã§ãã¡ã¤ ã«è»¢éã対å¿ããã â å¼ç¨: http://ja.wikipedia.org/wiki/Internet_Relay_Chat 2012-11-17 Nagoya.pm #8 8. IRCã¨ã¯ RFC1459 ã¨ãã¦å®ç¾© http://tools.ietf.org/rfc/rfc1459.txt http://www.haun.org/kent/lib/rfc1459-irc-ja.html ï¼æ¥æ¬èªè¨³ï¼ RFC2810 â¼ 2813 2000å¹´ 2012-11-17 Nagoya.pm #8
VMware Imageã§GitLabã試ãã¦ã¿ããç¾ç¶ã®è¦æ±ã§ã¯Redmineã®æ¹ãåãã¦ãããã¨ãããã£ããåã«ä»é¢¨ã®ãã¶ã¤ã³ã®ãã®ã使ãããã¨ããéªãªæ°æã¡ããã£ãã®ã§Redmineã®ãã¼ããGitHubã£ã½ããã¦ã¿ãã¨ãããã¨ããã£ã¦ã¿ãã Redmineã®ãã¼ãã¯ã¹ã¿ã¤ã«ã·ã¼ãã以ä¸ã®é層ã«ã¤ãã£ã¦è¨å®ãã夿´ãããã¨ã§é©å¿ã§ããã public/themes/{themename}/stylesheets/application.css åè: http://www.redmine.org/projects/redmine/wiki/Themes ã¹ã¿ã¤ã«ã·ã¼ããªã®ã§ä»ã®ãã¼ããåèã«ããªãã使ãããã¨ãã§ããã http://www.redmine.org/projects/redmine/wiki/Theme_List ä»å㯠A1 theme ããã¼ã¹ã«GitHubã®ã«
ã©ã¤ãã©ãªãå©ç¨ãããã¨ã«ãããããGoogle Apps Scriptããã¸ã§ã¯ãã§ä½æãã颿°ã夿°ããä»ã®ããã¸ã§ã¯ãããå©ç¨ã§ããããã«ãªãããã®ãã¼ã¸ã§ã¯ã使ããã©ã¤ãã©ãªãå©ç¨ããæ¹æ³ãç´¹ä»ãã¦ããã é¢é£ï¼ã©ã¤ãã©ãªã使ããã«ã¯ ãããããã©ã¤ãã©ãªã«ãã¼ã¸ã§ã³ã1ã¤ä»¥ä¸ä½æãã¦ããå¿ è¦ããããã©ã¤ãã©ãªã®ä½æã«ã¤ãã¦ã¯ã©ã¤ãã©ãªã使ããã«ã¯åç §ã 1.ã©ã¤ãã©ãªã®ããã¸ã§ã¯ããã¼ãåå¾ãããã©ã¤ãã©ãªãã¨ãã£ã¿ã§éããããã¡ã¤ã«ã»ãããã¸ã§ã¯ãã®ããããã£ããã¯ãªãã¯ã Project Keyãã³ãã¼ãã¦ããã 2.ã©ã¤ãã©ãªãåç §ããå´ã®ã¹ã¯ãªãããéããããªã½ã¼ã¹ã»ãã©ã¤ãã©ãªã管çããã¯ãªãã¯ã 3.Find a Libraryã«ã(1)ã§ã³ãã¼ãã¦ãããProject Keyãè²¼ãä»ããã鏿ããã¿ã³ãã¯ãªãã¯ããã 4.ã©ã¤ãã©ãªããªã¹ãã«è¡¨ç¤ºãããã
ãã¥ã¼ããªã¢ã« ä¸ç´è 2-5: Docs Listã¨ã®é£æºãå³ã Docs List ä¸ã®ãã¡ã¤ã«ãæ¢ãã¦çµæã表示ãã¾ããã¾ã Docs Listå ã«ä¿åããã¦ããCSVãã¡ã¤ã«ãã¤ã³ãã¼ããããã¨ã¯ã¹ãã¼ããã¦ã¿ã¾ãã 使¥ã¯ããã10åã§å®æãã¾ãã ãã®ããã°ã©ã ã¯å ãã¡ãã¥ã¼ã®å®ç¾©ä»ãããã¾ãã1-3: ã¡ãã¥ã¼ã®å®ç¾© §1 Docs Listå ã®æ¤ç´¢ã¨è©²å½ãã¡ã¤ã«ã®è¡¨ç¤º §2 CSVãã¡ã¤ã«ããã®ã¤ã³ãã¼ã §3 鏿ç¯å²ãCSVãã¡ã¤ã«ã«ä¿åãã ãã¥ã¼ããªã¢ã« ä¸ç´è /ç®æ¬¡ åç §ãã¼ã¸(Goolge) Docs Listã«ä½ããã®ãã¡ã¤ã«ãä¿åããã¦ãããã¨ã確èªãã¾ããã¡ãã¥ã¼ãã«ã¹ã¿ãã¤ãºãã¦ã¦ã¼ã¶ã¼ããæç¤ºãããæ¤ç´¢èªã«ãããã¡ã¤ã«æ¤ç´¢ãããå¾ãçµæãã¹ãã¬ããã·ã¼ãã«è¡¨ç¤ºãã¾ãã ã¹ãã¬ããã·ã¼ãã«æ»ã£ã¦ãScript Editorããéãã¾ãã ä¸ã®ã³ã¼ããè²¼ã
å¢äºç ã®å宿ããã£ãã ã¹ã±ã¸ã¥ã¼ã«ã«é£²ã¿ä¼ã®æéãæ¸ãã¦ãªãã£ãã®ã§ããããã¨æã£ããæåãããã£ã¨é£²ãã§ãã 夿¹ã«geta6ãNode.jsã1æéãããã§ã¿ããªã«æãã¦ããããExpress+Socket.IOã使ã£ã¦ç°¡åãªãã£ãã䏿©æåãããã®ãã®ã ããããæ¹é ãã¦ã¡ããã¶ãã£ãããã§ããã Tiqav Chat Tiqavã®JSONP API使ã£ãã ã³ã¼ãã¯githubã«ãã ãããã¤å ã®Herokuã ãã©ãããææãµã¼ãã¹ã¨åéãããã¦ããã©DBã¨ããå¤ãã«ä½¿ããªãéãç¡æã§ä½¿ãã¾ãã ã¨ãã«SinatraãNode.jsã«å°éã®Memcached/MongoDB/PostgreSQLãªãç¡æã§ä½¿ããã俺ãã¾ã éæã£ããã¨ç¡ãã Herokuã¯ã¬ã³ã¿ã«ãµã¼ãã¼ã¿ããã«ãã½ã³ã³ãã¾ããã¨åããããããªãã¦ãã½ã¼ã¹ã³ã¼ããgitã§ã¢ãããã¼ãããã¨å®è¡ãã¦ããããµã¼ãã¹ã ã
node.jsã§expressã¨socket.ioã使ã㨠/socket.io/socket.io.jsã404ã«ãªã£ã¦ãã¾ãã 404ã®è§£æ±ºæ¹æ³ãåãã£ãã®ã§æ¸ãã¦ããã¾ãã expressã§çæãããapp.jså ã® http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening on port " + app.get('port')); }); ã®é¨åã var server = http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening on port " + app.get('port')); }); ã«æ¸ãæã㦠v
æ¬æ¸ã«ã¤ãã¦ æ¬æ¸ã¯ãNode.jsã§ã®ã¢ããªã±ã¼ã·ã§ã³éçºãå§ãããã¨ããçããã«ã âé«åº¦ãªâJavaScriptã«ã¤ãã¦ç¥ãã¹ããããããã¨ã解説ãã¾ãã ããããâHello Worldâãã¥ã¼ããªã¢ã«ã®ãã¯ããä¸ããããã®ã§ãã ã¹ãã¼ã¿ã¹ è²´æ¹ãèªãã§ããã®ã¯ãæ¬æ¸ã®ããããæçµçã¨ãªãã¾ãã ã¤ã¾ãæ¬æ¸ã¯ãééããè¦ã¤ãã£ãå ´åãã Node.jsã®æ°ãã¼ã¸ã§ã³ã«ããã夿´ç¹ãåæ ããæã®ã¿ãæ¹è¨ããã¾ãã æçµæ´æ°æ¥ã¯2012å¹´2æ12æ¥ã§ãã æ¬æ¸å ã®ã³ã¼ãã®ãµã³ãã«ã¯ãNode.jsã®ãã¼ã¸ã§ã³0.6.10ã§ãã¹ããã¦ãã¾ãã ã¿ã¼ã²ããèªè æ¬æ¸ã¯ãRubyãPythonãPHPãJavaã®ãããªãå°ãªãã¨ãã²ã¨ã¤ã®ãªãã¸ã§ã¯ãæåè¨èªãçè§£ãã¦ããã JavaScriptã«ã¤ãã¦ã¯ãã¾ãçµé¨ããªããNode.jsã«ã¤ãã¦ã¯å ¨ãçµé¨ããªãã¨ããã èè ã¨åããããªãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}