2010-01-04 [ĹǯÆüµ]
_ xig_installer ¤Ê¤ó¤Æ¤â¤Î¤ò½ñ¤¤¤Æ¤ß¤¿
¤Þ¤È¤á
- twitter ¤ò IRC ¤ËÊÑ´¹¤·¤Æ»È¤¤¤¿¤¤
- tig.rb ¤ò»È¤¤¤¿¤¤¤±¤É¤É¤³¤«¤é¤É¤¦Æþ¤ì¤¿¤é¤¤¤¤¤«¤è¤¯Ê¬¤«¤é¤Ê¤¤
- ¤Ê¤ó¤« tig.rb ¤ò¤â¤Ã¤È¤¦¤Þ¤¯°·¤¤¤¿¤¤
¿Í¸þ¤±¤Î¥Ä¡¼¥ë¤òºî¤Ã¤¿¤è¡£
¤Þ¤º¤Ï¤Ê¤ó¤Ç¤³¤ó¤Ê¤â¤Î¤òºî¤Ã¤¿¤Î¤«¡¢Íýͳ¤«¤é¡£
~/bin ¤Ë¤Ê¤ó¤Ç¤âÆÍ¤Ã¹þ¤à¤Î¤ò¤ä¤á¤¿¤¤
¸½ºß¼«Ê¬¤Î twitter ´Ä¶¤Ï
¼«Â𥵡¼¥Ð¾å¤Î(tiarra + TwitterIRCGateway) + ¥¯¥é¥¤¥¢¥ó¥ÈPC¤Î LimeChat
¤È¤¤¤¦¹½À®¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤ó¤À¤±¤É¡¢¼Â¤Ï¥µ¡¼¥Ð¾å¤Î¥×¥í¥°¥é¥à¤Ï
¤¹¤Ù¤Æ ~/bin °Ê²¼¤ËÊü¤ê¹þ¤Þ¤ì¤Æ¤¤¤ë¾õÂÖ
¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤È¤ê¤¢¤¨¤ºÆ°¤«¤·»Ï¤á¤ë¤È¤¤Ë¤Ï¤³¤¦¤¤¤¦¤Î¤è¤¯¤ä¤ë¤ó¤À¤±¤É¡¢°ìºòǯËö(!)¤«¤é»Ï¤á¤¿¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀ°Íý¤Î°ì´Ä¤Ç¡¢~/bin °Ê²¼¤â´ðËÜŪ¤ËÁ´ÍøÍÑ¥Û¥¹¥È¶¦Ä̤ˤ·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ë¡£ÅöÁ³¡¢¤¤¤Á¤Ð¤ó¤Î¥Í¥Ã¥¯¤Ï
¥µ¡¼¥ÐÍѤΠ~/bin ¤ÎÆâÍÆ¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë»ý¤Ã¤Æ¤¤¿¤¯¤Ê¤¤
¤È¤¤¤¦¤È¤³¤í¡£
gem ¤Î±üÄì¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò¸Æ¤Ö¤Î¤¬¤Ê¤ó¤«¥¤¥ä
¤¹¤Ç¤Ë½ñ¤¤¤¿¤±¤É twitter ¤Ø¤ÎÂçȾ¤Î¥¢¥¯¥»¥¹¤Ë TwitterIRCGateway ¤ò»È¤Ã¤Æ¤¤¤ë¡£¤¿¤À¼Â¤Ï¤º¤¤¤Ö¤óÁ°¤«¤é¤³¤ì¤Î Ruby ÇÉÀ¸ÈǤǤ¢¤ë tig.rb ¤Ë¾è¤ê´¹¤¨¤è¤¦¤È¤·¤Æ¤¤¤ë¡£
TwitterIRCGateway ¤Ï¼«Ê¬¤Ë¤È¤Ã¤Æ Twitter ¤òµ¤·Ú¤Ë¤«¤Ä¥Ç¥£¡¼¥×¤ËÍøÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤ë¤¦¤¨¤ÇÀäÂФ˳°¤¹¤³¤È¤Î¤Ç¤¤Ê¤¤¥×¥í¥À¥¯¥È¤Ç¡¢¤È¤Æ¤â´¶¼Õ¤·¤Æ¤¤¤ë¡£
¤À¤±¤ì¤É¡¢¤ä¤Ï¤ê¤É¤¦¤â FreeBSD + Mono ¤È¤¤¤¦´Ä¶¤Î¤»¤¤¤Ê¤Î¤«¡¢
- ¤è¤¯Ê¬¤«¤é¤Ê¤¤Íî¤ÁÊý¤ò¤¹¤ë
- µ©¤Ë̵¸Â»àË´¥â¡¼¥É¡Êµ¯¤³¤·¤Æ¤âµ¯¤³¤·¤Æ¤â¤¹¤°»à¤Ì¡Ë¤ËÆþ¤ë
- dll ¤ÎÆþ¤ìÂØ¤¨¤ò¼êư¤Ç¹Ô¤¦¥¢¥Ã¥×¥Ç¡¼¥ÈÊýË¡¤¬¤Ê¤ó¤«¥¤¥ä
¤Ê¤É¤ÎºÙ¤«¤¤ÉÔËþ¤¬¤¢¤Ã¤¿¡£°ì¸À¤Ç¸À¤¦¤È
¤É¤¦¤â´ÉÍý¤·¤Ë¤¯¤¤
¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¤½¤³¤Ç Ruby ¤À¤±¤Çư¤¯¤·¡¢gem ¤Ç install ¤Ç¤¤ë net-irc ¤ËÉÕ°¤·¤Æ¤¤¤ë tig.rb ¤Ë¾è¤ê´¹¤¨¤è¤¦¤«¤È¤¤¤¦¤³¤È¤Ê¤ó¤À¤¬¡¢
´Î¿´¤Î tig.rb ¤Ï gem ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ examples/ °Ê²¼¤Ç¡¢gem ¤Î¿¼¤¤³¬Áؤβ¼¤ÎÊý¤Î¥Õ¥¡¥¤¥ë¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ï¤Ê¤ó¤«¥À¥µ¥¤¤·°·¤¤¤Ë¤¯¤¤*1
¤È¤¤¤¦¤³¤È¤Ç¡¢net-irc °Ê²¼¤Î examples/ °Ê²¼¤Ë¤¢¤ë *ig.rb ¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¡¢¤Ä¤Þ¤ê²¿¤«¤È IRC ¤Î Gateway ¤È¤·¤Æµ¡Ç½¤¹¤ë¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò PATH ¤ÎÄ̤俤Ȥ³¤í¤Ë install ¤·¤Æ¤·¤Þ¤¦¥Ä¡¼¥ë¤òÍѰդ¹¤ë¤³¤È¤Ë¤·¤¿¡£
Á°ÃÖ¤¤¬Ä¹¤¯¤Ê¤Ã¤¿¤±¤É¡¢¤½¤ó¤Ê¤ï¤±¤Ç xig_installer ¤È¤¤¤¦¥Ä¡¼¥ë¤ò½ñ¤¤¤¿¡£
¾Ò²ð
wtnabe's xig_installer at master - GitHub
¤È
xig_installer | gemcutter | awesome gem hosting
¤ËÃÖ¤¤¤Æ¤¢¤ë¡£
¤Ö¤Ã¤Á¤ã¤±¤ë¤È¼Â¤Ë¤¯¤À¤é¤Ê¤¤¥Ä¡¼¥ë¤Ç¡¢gem ¤Î±üÄì¤Ë¤¢¤ë *ig.rb ¤Î°ìÍ÷¤òºî¤ê¡¢¤½¤ì¤ò gem ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë Ruby ËÜÂÎ¤ÈÆ±¤¸¥Ñ¥¹¤ËÂФ·¤Æ install, upgrade, uninstall ¤¹¤ë¤À¤±¡£¾®È½»¤¹¤®¤ë¤¦¤¨¤Ë¤¿¤¤¤·¤¿¤³¤È¤Ï¤·¤Æ¤Ê¤¤¡£
¤Ç¤â¤³¤ì¤À¤±¤Ç¼Â¹Ô»þ¤Ë¤ÏÉáÄÌ¤Ë PATH ¤ÎÄ̤äƤ¤¤ë¤È¤³¤í¤Ë¤¢¤ë tig.rb ¤òᤱ¤Ð¤è¤¯¤Ê¤ë¡£¤³¤ì¤¬´ò¤·¤¤¡£
»È¤¤Êý¤Ï´Êñ¡£
- Ruby¤ò¥¤¥ó¥¹¥È¡¼¥ë
- Rubygems ¤ò¥¤¥ó¥¹¥È¡¼¥ë
- gem install gemcutter
- gem install xig_installer
¤³¤ì¤Ç net-irc ¤â°Í¸´Ø·¸¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤Î¤Ç¡¢¤¢¤È¤Ï
(rehash) xig_installer install tig.rb
¤È¤¹¤ë¤È Ruby ¤òÃÖ¤¤¤Æ¤¢¤ë¥Ñ¥¹¤Ë tig.rb ¤¬¥³¥Ô¡¼¤µ¤ì¤ë¡£Ruby ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë´ÉÍý¼Ô¸¢¸Â¤¬É¬Íפʤé
sudo xig_installer install tig.rb
¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¡£
¤½¤Î¾¤Îµ¡Ç½¤Ï
xig_install help
¤Ç³Îǧ¤·¤Æ¤Û¤·¤¤¡£
tig.rb ¤Î»È¤¤Êý¤Ï¤È¤ê¤¢¤¨¤º³ä°¦¤È¤¤¤¦¤³¤È¤Ç¤´¤á¤ó¤Ê¤µ¤¤¡£
*1 gem ¥Ð¡¼¥¸¥ç¥ó¤¸¤ã¤Ê¤¯¤Æ git clone ¤·¤¿¤â¤Î¤ò»È¤¦¤Ç¤·¤ç¡¢¤È¤¤¤¦»ØÅ¦¤Ï¤È¤ê¤¢¤¨¤ºÃÖ¤¤¤Æ¤ª¤¯¡£
2010-01-07 [ĹǯÆüµ]
_ RTM¤Î±¿ÍÑÊýË¡¤òiPodÃæ¿´¤ËÊѹ¹
¤³¤ì¤Þ¤Ç
¤³¤Î²Æ¤Ë¤è¤¦¤ä¤¯RTM¤òËܳÊŪ¤Ë»È¤¤½Ð¤·¤Æ°ÊÍè¡¢
RTM¤Î¥ê¥Þ¥¤¥ó¥À -> ¥±¡¼¥¿¥¤¥á¡¼¥ë
¤ÇÁ´Éô¤Î¥¹¥±¥¸¥å¡¼¥ë¤È¤½¤ÎÆü°ìÆü¤Î¥¿¥¹¥¯¤òÄÌÃΤµ¤»¤Æ¤¤¤¿¡£
¤·¤«¤·ºòǯËö¤ËPocketWifi + iPod touchÂÎÀ©¤Ë°Ü¹Ô¤¹¤ë¤ËÅö¤¿¤Ã¤Æ¡¢iPod touch Ãæ¿´¤Î±¿ÍѤËÊѤ¨¤Æ¥±¡¼¥¿¥¤¤ÎÊý¤Ï¥Ñ¥±¥Ã¥ÈÂå¤ò»×¤¤ÀڤäÆÀáÌ󤹤뤳¤È¤Ë·è¤á¤Æ¤¤¤¿¡£
¤Þ¤¿¡¢iPod touch ¤Ë¤Ï¤»¤Ã¤«¤¯¥«¥ì¥ó¥À¡¼¥¢¥×¥ê¤¬¤¢¤ë¤Î¤Ç¡¢¤³¤ì¤Ç¾ðÊó¤ÎÐíâפò¹Ô¤¤¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤¿¡£¥±¡¼¥¿¥¤¤Ë¤Ï¥ê¥Þ¥¤¥ó¥À¤ÏÈô¤Ð¤·¤Æ¤¤¤¿¤±¤É·ë¶É¤½¤Î¾ì¸Â¤ê¤ÎÄÌÃΤǤ·¤«¤Ê¤¯¡¢Á´ÂΤÎÇİ®¤Ë¤Ï PC ¤Î¥Ö¥é¥¦¥¶¤¬É¬ÍפȤ¤¤¦¾õ¶·¤¬¤Á¤ç¤Ã¤ÈÌÌÇò¤¯¤Ê¤¤¤Ê¤È´¶¤¸¤Æ¤¤¤¿¡£
RTM -> ¥«¥ì¥ó¥À¡¼Æ±´üÊýˡõˬ
¤Ê¤¼¤«
- RTM -> Google Calendar ( 3rd party cookie )
- RTM -> Google Calendar ( private address )
- Google Calendar -> iPod
¤Î¾ðÊó¤Ð¤«¤ê¸«¤Ä¤«¤ë¡£
1 ¤Ë¤Ä¤¤¤Æ¤Ï 3rd party cookie ¤òµö²Ä¤·¤Æ¥Ö¥é¥¦¥¶¾å¤Ç¤À¤± Google Calendar ¤È RTM ¤òÏ¢·È¤µ¤»¤ëÊýË¡¤Ê¤Î¤Ç¡¢ºÇ½ªÌÜŪ¤¬ iPod ¤Ê¼«Ê¬¤È¤·¤Æ¤Ï´ò¤·¤¯¤Ê¤¤¡£
¤È¤³¤í¤¬ 2 ¤¬¤É¤¦¤Ë¤â¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£»þ´Ö¤¬³Ý¤«¤ë¤È¤¤¤¦¾ðÊó¤Ï¤¢¤Ã¤¿¤¬¡¢´Ý1Æü·Ð¤Ã¤Æ¤âƱ´ü¤µ¤ì¤ëÍͻҤϤʤ¤¤Î¤Ç¡¢²¿¤«¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤ó¤À¤í¤¦¤È¤¤¤¦ÇùÁ³¤È¤·¤¿Í½ÁÛ¤ò¤â¤È¤ËÍøÍѤòÃÇǰ¡£
¤Á¤Ê¤ß¤Ë¥×¥é¥¤¥Ù¡¼¥È¥¢¥É¥ì¥¹¤ÏÍפ¹¤ë¤Ë½½Ê¬Ê£»¨¤Ê URL ¤Ã¤Æ¤À¤±¡£
cf. Remember The Milk ÆüËÜÈÇ ¸ø¼°¥Ö¥í¥° » Tips ¡§ ¥×¥é¥¤¥Ù¡¼¥È¥¢¥É¥ì¥¹¤ò³èÍѤ·¤è¤¦
¤É¤¦¤Ë¤â¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢Pro ¥¢¥«¥¦¥ó¥È¤Ë¤·¤Æ iPhone ¥¢¥×¥ê¤ÇľÀÜÆ±´ü¤·¤Æ¤ß¤¿¡£¤³¤ì¤Ï³Î¤«¤ËÄÌÃΤˤâÂбþ¤·¤Æ¤¤¤ÆÊØÍø¡£ÊØÍø¤Ê¤ó¤À¤±¤É¡¢RTM ¤Ï¤¢¤¯¤Þ¤Ç RTM ¤Ê¤Î¤Ç¡¢¥«¥ì¥ó¥À¡¼¾å¤Ç°ìÍ÷¤¹¤ë¤È¤¤¤¦»È¤¤Êý¤¬¤Ç¤¤Ê¤¤¤Î¤Ï iPhone ¥¢¥×¥ê¤Ç¤âƱ¤¸¡£
¤ä¤Ï¤êÌÜŪ¤Ï
iPhone / iPod touch ¤Î¥«¥ì¥ó¥À¡¼¥¢¥×¥ê¤ÇÐíâפ⤷¤¿¤¤
¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¡¢¤³¤ì¤À¤±¤Ç¤Ï¤Á¤ç¤Ã¤ÈǼÆÀ¤¤¤«¤Ê¤¤¡£
¼Â¤ÏľÀܡ־Ȳñ¡×¤Ç¤¤¿

¤³¤ì¤â¤·¤«¤·¤Æ iPhone OS 3 °Ê¹ß¤Îµ¡Ç½¤«¤Ê¤Ë¤«¤Ç¥Ö¥í¥°µ»ö¤¬¤¢¤Þ¤ê¤Ê¤¤¤Î¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢¼Â¤Ï iPhone ¤Î¥«¥ì¥ó¥À¡¼¤Ï RTM ¤Î¥×¥é¥¤¥Ù¡¼¥È¥¢¥É¥ì¥¹¤«¤éľÀÜ iCal ¾ðÊó¤òÆÉ¤ß¹þ¤ó¤Çɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤ï¤¶¤ï¤¶ Google Calendar ¤ò·Ðͳ¤µ¤»¤ëɬÍפϤޤ俤¯¤Ê¤«¤Ã¤¿¡£
ÊýË¡¤Ï
[ ÀßÄê ] -> [ ¥á¡¼¥ë / Ï¢ÍíÀè / ¥«¥ì¥ó¥À¡¼ ] ¤«¤é [ ¥¢¥«¥¦¥ó¥È¤òÄɲà ]
¤òÁª¤Ó¡¢¥¢¥«¥¦¥ó¥È¤Î¼ïÎà¤Ï [ ¤½¤Î¾ ] ¤òÁª¤Ö¡£
[ ¾È²ñ¤¹¤ë¥«¥ì¥ó¥À¡¼¤òÄɲà ] ¤òÁª¤ó¤Ç¤³¤³¤Ë iCal ¤Î URL ¤òľÀÜÆþÎϤ·¤Æ¤ä¤ì¤Ð ok.
¤â¤Á¤í¤ó¡Ö¾È²ñ¡×¤Ê¤Î¤Ç¥«¥ì¥ó¥À¡¼¤ÎÊÔ½¸¤Ï¤Ç¤¤Ê¤¤¤±¤É¡¢º£¤Î¤È¤³¤í RTM ¤Î Pro ¥¢¥«¥¦¥ó¥È¥¢¥×¥ê¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤½¤³¤Ïº¤¤é¤Ê¤¤¡£º£¸å¤É¤¦¤Ê¤ë¤«¤Ïʬ¤«¤é¤Ê¤¤¤±¤É¡¢¤·¤Ð¤é¤¯¤³¤ì¤Ç¤¤¤¤¤«¡£
¤¦¤ó¡¢¤ä¤Ã¤Ñ¥«¥ì¥ó¥À¡¼¤ÇÐíâפ¹¤ë¤È¥¿¥¹¥¯¥ê¥¹¥È¤À¤±¤Ç¤Ïµ¤¤Å¤±¤Ê¤¤¤³¤È¤¬Ê¬¤«¤ë¤Ê¤¡¡£

¤È¤¤¤¦¤ï¤±¤Ç Google Calendar ¤ÏÁêÊѤï¤é¤º¤¦¤Þ¤¯³èÍѤǤ¤º¤Ë2010ǯ¤ò·Þ¤¨¤Æ¤¤¤ë¤Î¤Ç¤¢¤Ã¤¿¡£¤Ê¤ó¤«¸Ä¿ÍŪ¤Ë¤¦¤Þ¤¯¥Ï¥Þ¤é¤Ê¤¤¡£
ÄÌÃΤϤɤ¦¤·¤Æ¤¤¤ë¤«
- Google Calendar <-> ¡Ö¥«¥ì¥ó¥À¡¼¡×Ʊ´ü¤Ç¤Ï¡Ö¥«¥ì¥ó¥À¡×¡¼¤ÎÊý¤ÇÄÌÃΤ¬µ¡Ç½¤¹¤ë
- RTM -> ¡Ö¥«¥ì¥ó¥À¡¼¡×¾È²ñ¤Ç¤ÏÄÌÃξðÊó¤¬Íî¤Á¤ë¤Î¤Ç¡Ö¥«¥ì¥ó¥À¡¼¡×¤ÎÄÌÃΤϵ¡Ç½¤·¤Ê¤¤
¤È¤¤¤¦¤³¤È¤Ç¡¢RTM ¤òµ¯ÅÀ¤Ë¤·¤Æ¤·¤Þ¤¦¤È¡Ö¥«¥ì¥ó¥À¡¼¡×¤Î¡ÖÄÌÃΡפϵ¡Ç½¤·¤Ê¤¤¡£
- RTM Pro ¥¢¥«¥¦¥ó¥È¥¢¥×¥ê¤ÇÆÈ¼«¤ËÄÌÃΤǤ¤ë
¤Î¤À¤±¤É¡¢¤¤¤º¤ì¤Ë¤»¤è RTM ¤Î¡Ö¥ê¥Þ¥¤¥ó¥À¡×¤¬¥¡¼¤Ë¤Ê¤ë¡£¤Þ¤¡°ÊÁ°¤Î¤è¤¦¤Ë¥á¡¼¥ë¤¬Íè¤Þ¤¯¤Ã¤Æ¡¢¤É¤¦¤» RTM ¤ÎÄÌÃΤÀ¤Ê¤È»×¤Ã¤Æ¤½¤Î¾¤Î¥á¡¼¥ë¤Î¥Á¥§¥Ã¥¯¤¬Á¤«¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤è¤ê¤Ï¥¢¥×¥ê¤ÎÄÌÃΤÎÊý¤¬¤¤¤¤¤ó¤À¤±¤É¡¢iPod touch ¤Ë¤Ï¥Ð¥¤¥Ö¤¬¤Ê¤¤¤·¡¢ÉáÃʥܥê¥å¡¼¥à¤ò¾å¤²¤Þ¤¯¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤â¤Ê¤¤¤Î¤Ç¡¢°Õ³°¤Ë¤³¤ÎÄÌÃΤ˵¤¤Å¤«¤Ê¤¤¡£
·ë¶É¡¢ËÜÅö¤ËÂç»ö¤Ê»þ´Ö¤Ï¥±¡¼¥¿¥¤¤Î¥¢¥é¡¼¥à¤ä¥¹¥±¥¸¥å¡¼¥ë¡¢¾ïÍÑ PC ¾å¤Î Lightning ¤ä cron + growl ¤Ê¤É¡¢Êä½õ¥Ä¡¼¥ë¤ò»È¤¦¤³¤È¤Ë¤·¤¿¡£¼ã´³¼ê´Ö¤ÏÁý¤¨¤¿¤±¤ÉÄÌÃΤ¬Â¿¤¹¤®¤ÆÁ¤«¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤è¤ê¤Ï¥Þ¥·¤«¤Ê¤È»×¤Ã¤Æ¤¤¤ë¡£
¤Ä¤¤¤Ç¤Ë¾¤Î¤â¾È²ñ¤·¤Æ¤¤¤ë
¥¤¥ó¥È¥é¤Î¥«¥ì¥ó¥À¡¼¤âɬÍפʤâ¤Î¤ÏÆþ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤·¤¿¡£·ë¶É¤¤¤¯¤Ä¥«¥ì¥ó¥À¡¼¤¬¤¢¤Ã¤Æ¤â¼«Ê¬¤Î»þ´Ö¼´¤Ï°ì¤Ä¤·¤«¤Ê¤¤¤Î¤Ç¡¢É¬ÍפʾðÊó¤ÏÁ´Éô¼ê¸µ¤Ë¤Ê¤¤¤È°ÕÌ£¤Ê¤¤¤Ê¤È»×¤Ã¤¿¡£
¤¦¤ó¡¢¤¤¤¤´¶¤¸¡£
2010-01-08 [ĹǯÆüµ]
_ OSX 10.4 ¤Ç ffmpeg ¤ò»È¤¦ 2010
2009ǯ¤Î¿¶¤êÊÖ¤ê¤ò²ÚÎï¤Ë¥¹¥ë¡¼¤·¤¿ wtnabe ¤Ç¤¹¡£¤¤¤ä¡¢¤½¤Î¤¦¤Á¿¶¤êÊÖ¤í¤¦¤È¤Ï»×¤Ã¤Æ¤Þ¤¹¤è¡£¥Þ¥¸¤Ç¥Þ¥¸¤Ç¡£
ÏÃÊѤï¤Ã¤Æº£²ó¤â¤Þ¤¿¤Ê¤ó¤Ç¤½¤ó¤Êº£¤µ¤é¤Ê¥Í¥¿!?¤È¤¤¤¦ÆâÍÆ¤Ç¤¹¡£
·ëÏÀ - macports ¤Î ffmpeg ¤Ç ok
·ëÏÀ¤òÀè¤Ë¸À¤¦¤È OSX 10.4 ¤Ç¤â MacPorts (1.8.2) ¤«¤é ffmpeg (0.5) ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ì¤Ð*1 MPEG2 ¤«¤é DV ¤ØÊÑ´¹¤Ç¤¡¢Àµ¤·¤¯ QuickTime ¤Ë²ò¼á¤µ¤»¤Æ iMovie ¤Ë¼è¤ê¹þ¤à¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ç¤Ï¤½¤ÎÅ¿Ëö¤ò¤É¤¦¤¾¡£
ÇØ·Ê - ¸Å¤á¤Î iMac ¤Ç¥Ó¥Ç¥ªÊÔ½¸
µîǯ¤«¤é¤Á¤ç¤³¤Á¤ç¤³»Å»ö¤Ç¥à¡¼¥Ó¡¼¤ÎÊÔ½¸¤È¤« DVD ¤Î¥Þ¥¹¥¿¥ê¥ó¥°¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£»Å»ö¤È¤Ï¸À¤¨Çä¤ê¤â¤ó¤òºî¤Ã¤Æ¤ë¤ï¤±¤¸¤ã¤Ê¤¯¤Æ¡¢¤¢¤¯¤Þ¤ÇÆâÉôÊÝ´ÉÌÜŪ¤Ç¤¹¤¬¡£¤Ç¡¢¥«¥á¥é¤È¤« HDD ¤ÎÍÆÎ̤ÎÌäÂ꤬¤¤¤í¤¤¤í¤¢¤Ã¤Æ¡¢¤³¤Îºî¶È¤ò
¸Å¤á¤Î Intel iMac (OSX 10.4 + HDD 160GB + iMovie HD 6)
¤Ç¹Ô¤Ã¤Æ¤ª¤ê¤Þ¤¹¡£¤Ç¡¢¤³¤ì¤Þ¤Ç¤Ï¥«¥á¥é¤¬ DV ¤À¤Ã¤¿¤Î¤Ç iMovie ¤Ç¼è¤ê¹þ¤à¤À¤±¤Ç¤è¤«¤Ã¤¿¤ó¤Ç¤¹¤¬¡¢MPEG2 ¤Ç»£¤ì¤ë¥«¥á¥é¤«¤é¥Ç¡¼¥¿¤À¤±»ý¤Á¹þ¤Þ¤ì¤ë¡¢¤È¤¤¤¦¥±¡¼¥¹¤¬È¯À¸¡£¤Þ¤¡º£¤É¤¤Î¥«¥á¥é¤Ê¤é MPEG2 ¤È¤« MPEG4 ¤È¤«Åö¤¿¤êÁ°¤Ç¤¹¤Í¡£¤Ç¤â¤³¤ì¤Ïº¤¤ëÌõ¤Ç¤¹¡£
iMovie ¤Ï MPEG2 ¤òÊÔ½¸¤Ç¤¤Þ¤»¤ó¡£
¤·¤«¤â¥«¥á¥éľ·ë¤Ç iMovie ¤Ë¼è¤ê¹þ¤á¤ë¤ó¤Ê¤é¤¤¤¤¤ó¤Ç¤¹¤¬¡¢¥Ç¡¼¥¿¤À¤±ÅϤµ¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£
ffmpegX ¤¬Æ°¤«¤Ê¤¤¡ª
¤¢¡¼¤¸¤ã¤¢ ffmpeg ¤ÇÊÑ´¹¤Í¡¢¤È¤¤¤¦¤³¤È¤Ç
ffmpegX a DVD, SVCD, VCD, CVD, VOB, DivX, XviD, H.264, PSP, iPod, MP4, MOV encoder for Mac OSX
¤«¤éÍî¤È¤·¤Æ¼Â¹Ô¡£¡Ê¥Ð¡¼¥¸¥ç¥ó¤Ï 0.0.9y¡ËºÇ¶á¤Ï±Ñ¸ì´Ä¶ºî¤é¤Ê¤¯¤Æ¤â ffmpegX ¤ÇÊÑ´¹¤Ç¤¤ÆÊØÍø¤À¤è¤Í¡¼¤Ê¤ó¤Æ»×¤Ã¤Æ¤¤¤¿¤é¡¢
ffmpegX ¤¬¥½¡¼¥¹ movie ¤ÎȽÊ̤˼ºÇÔ¤¹¤ë
¤¸¤ã¤Ê¤¤¤Ç¤¹¤«¡£¤¨¡¼¤Ã¡£¸µ¤Î¥à¡¼¥Ó¡¼¤¬²¿¤«Ê¬¤«¤é¤Ê¤±¤ì¤ÐÀµ¤·¤¯ÊÑ´¹¤Ç¤¤ë¤ï¤±¤Ê¤¤¤ä¤ó¡£¤â¤·¤«¤·¤¿¤é¤È»×¤Ã¤Æ°ì¤ÄÁ°¤Î 0.0.9x ¤ò»î¤·¤Æ¤ß¤Þ¤·¤¿¤¬¸½¾Ý¤Ï°ì½ï¡£
À©¸Â
¤Á¤Ê¤ß¤Ë OSX 10.5 (PPC) + 0.0.9y ¤Ç°Õ¿ÞÄ̤ê MPEG2 -> DV ÊÑ´¹¤ò¹Ô¤¨¤ë¤Î¤Ï³ÎǧºÑ¤ß¤Ç¤¢¤ê¤Þ¤¹¡£
¤¸¤ã¤¢¤½¤ÎÊÑ´¹¤Ç¤¤ëµ¡³£¤Ç¤ä¤ê¤ã¤¤¤¤¤¸¤ã¤ó¤È»×¤¦¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢¤³¤Î PPC ¥Þ¥·¥ó¤Ï¼«Ê¬¤Î¥á¥¤¥ó¥Þ¥·¥ó¤À¤·²¿¤è¤êÃÙ¤¤¤Î¤Ç¤¹¡£Windows ¥Þ¥·¥ó¤Ï¤¢¤ë¤Î¤Ç¤½¤ì¤ÇÊÑ´¹¤¹¤ë¤È¤¤¤¦ÊýË¡¤â¤Ê¤¯¤Ï¤Ê¤¤¤±¤É¡¢Windows ¥Þ¥·¥ó¤Ï HDD ¤Ë¤Þ¤Ã¤¿¤¯Í¾Íµ¤¬¤Ê¤¯¡¢¤µ¤é¤Ë DV ¤ËÊÑ´¹¤·¤Á¤ã¤Ã¤¿¤Ç¤«¤¤¥Ç¡¼¥¿¤òÊÔ½¸ºî¶ÈÍѤε¡³£¤Ë»ý¤Ã¤Æ¹Ô¤¯¤Î¤â°ì¶ìÏ«¤Ê´Ä¶¤Ê¤Î¤Ç¤¹¡£
¾Ð¤¨¡£
ffmpeg ¤½¤Î¤â¤Î¤ò»î¤¹¤¬¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¤â¤Î¤Ï¥À¥á
GUI ¤Ê¤ó¤«¤Ê¤¯¤¿¤Ã¤ÆÊÑ´¹¤µ¤¨¤Ç¤¤ê¤ã¤¤¤¤¤è¤È»×¤¤Î©¤Á¡¢ffmpegX ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤òÇÁ¤¤¤Æ ffmpeg ¥³¥Þ¥ó¥É¤òľá¤¡¢¤¹¤ë¤ÈÊÑ´¹¤Î¼Â¹Ô¤ò»î¤ß¤ë¤¬¤Û¤É¤Ê¤¯Íî¤Á¤ëorz °ì¤ÄÁ°¤Î 0.0.9x Æâ¤Î ffmpeg ¥³¥Þ¥ó¥É¤Ï 0.0.9y ¤Î¤â¤Î¤è¤ê¤ÏÊݤĤ¬¡¢¤ä¤Ï¤êÅÓÃæ¤ÇÍî¤Á¤ëorz
¤¤¤¶ MacPorts ¤Ø
ȬÊý¤Õ¤µ¤¬¤ê¤«¤È»×¤¤¤«¤±¤¿¤±¤É¡¢¤³¤ì IntelMac ¤À¤·¡¢¤â¤·¤«¤·¤¿¤é MacPorts ¤Ë ffmpeg ¤¢¤ë¤«¤â¡¢¤È»×¤Ã¤¿¤é¤³¤ì¤¬¥Ó¥ó¥´¡£¤è¡¼¤·¤È¤¤¤¦¤³¤È¤Ç¤³¤³¤«¤é°Ê²¼¤Î¼ê½ç¤òƧ¤à¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
- install DVD ¤«¤é XCode Tools ¤ò¥¤¥ó¥¹¥È¡¼¥ë
- The MacPorts Project -- Home ¤«¤éMacPorts ¤ò¥¤¥ó¥¹¥È¡¼¥ë
- sudo port install ffmpeg
- mp4v2 ¤¬¥³¥ó¥Ñ¥¤¥ëÉÔǽ¡£¤É¤¦¤âÀ¸À®¤µ¤ì¤ë Makefile ¤¬¤ª¤«¤·¤¤¤é¤·¤¯¡¢#21007 (mp4v2 build fails on Tiger (libtool: more than one: -current_version option specified)) – MacPorts ¤«¤é patch ¤ò¼è¤Ã¤Æ¤¤ÆÅö¤Æ¤ë
- libtheora ¤Ë install DVD ¤«¤éÆþ¤ì¤¿ XCode ¤Ï¸Å¤¤¤«¤é¾å¤²¤ì¤È¸À¤ï¤ì¤ë¡£ADC ¤«¤é 10.4 ¤ËÆþ¤ì¤é¤ì¤ë XCode 2.5*2¤ò¥À¥¦¥ó¥í¡¼¥É*3 -> ¥¤¥ó¥¹¥È¡¼¥ë
- Á´Éô¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤¿¡ª
¤³¤³¤Ç½éÆü¤Ï»þ´ÖÀڤ졣
QuickTime ¤¬²ò¼á¤·¤Ê¤¤¡ª
̵»ö¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤¿ ffmpeg ¤ÇÊÑ´¹¤ò»î¤ß¤ë¡£¤¨¤¤¡£¤ª¤©¡¢ÊÑ´¹¤Ç¤¤Æ¤ë¤Ç¤¤Æ¤ë¡ª
¡Ä¡Ä¡£
¤¢¤ì¡©
ÊÑ´¹ºÑ¤ß¤Î dv ¥Õ¥¡¥¤¥ë¤ò QuickTime ¤Ç³«¤¯¤È¤¤¤¤Ê¤ê¡Ö¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Ë㤷¤Þ¤·¤¿¡×¤È¸À¤ï¤ì¤ë¡£¤â¤·¤«¤·¤ÆÊÑ´¹¸å¤Î¥Ç¡¼¥¿²õ¤ì¤Æ¤ë¡©
ffmpeg ¤Ï target ¤´¤È¤Ë default bitrate ¤ò¤è¤·¤Ê¤Ë¤·¤Æ¤¯¤ì¤Ê¤¤
»î¤·¤Ë VLC ¤Ç³«¤¯¤ÈºÆÀ¸¤Ç¤¤ë¡£¡Ä¤±¤É¡£¤Ê¤ó¤À¤³¤Î¹Ó¤µ¡©
¤¢¡¼ bitrate ¤ÎÌäÂê¤Ê¤Î¤Í¡£man ¤ò¸«¤ë¤È³Î¤«¤Ë
Video Options
-b bitrate
Set the video bitrate in bit/s (default = 200 kb/s).
¤Ã¤Æ½ñ¤¤¤Æ¤¢¤ë¡£target ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï DV ¤À¤Ã¤Æ¸À¤Ã¤Æ¤ë¤ó¤À¤«¤é DV ÍѤΠbitrate ¤Ë¤·¤Æ¤¯¤ì¤ê¤ã¤¤¤¤¤Î¤Ë¡£
¤È¤¤¤¦¤ï¤±¤Ç
ffmpeg -i foo.mpg foo.dv -target dv -b 25000k
¤ÇÊÑ´¹¤·¤¿¤é QuickTime ¤ÇÆÉ¤á¤¿¤è¡ª
QuickTime ¤ÇÆÉ¤á¤ë¤È¤¤¤¦¤³¤È¤Ï iMovie ¤Ë¼è¤ê¹þ¤á¤ë¤È¤¤¤¦¤³¤È¡£¤¤¤ä¡¼¤á¤Ç¤¿¤·¤á¤Ç¤¿¤·¡£Ä¹¤¤Æ»¤Î¤ê¤À¤Ã¤¿¡£
2010-01-09 [ĹǯÆüµ]
_ iPod touch¤«¤é¤Îdelicous postÉü³è
FLDR ¤Î pin ¤ò purge ¤¹¤ë¤È¤¤Ë delicious ¤ËÅꤲ¤é¤ì¤Ê¤¤¤Èº¤¤ë¤Î¤À¤¬¡¢¤¤¤Ä¤«¤é¤«¡¢¤½¤ì°ÊÁ°¤Ë¤Ïư¤¤¤Æ¤¤¤¿¤Ï¤º¤Î bookmarklet ¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤Æ¡¢¤Ê¤ó¤Ç¤À¤í¤¦¤Ê¤ó¤Ç¤À¤í¤¦¤È»×¤Ã¤Æ¤¤¤¿¡£¤Á¤ã¤ó¤ÈÃí°Õ¤·¤Æ delicious ¤òÍøÍѤ¹¤ëµ»ö¤òÆÉ¤ßľ¤·¤Æ¤¤¤¿¤é¥¢¥×¥ê¤Î¤³¤È¤¬½ñ¤¤¤Æ¤¢¤Ã¤¿¡£
²¿¤Î¤³¤È¤Ï¤Ê¤¤¡¢É¬Íפʥ¢¥×¥ê¤ò°Õ¿Þ¤»¤º¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤¿¤À¤±¤À¤Ã¤¿¡£¤½¤¦¤«¡¢Mobile Safari ¤À¤±¤Ç bookmarklet ¤òư¤«¤¹¤³¤È¤Ï¤Ç¤¤Ê¤¤¤Î¤«¡©
°Ê²¼¡¢ºòÆü*1¤Î Twitter ¤Î¥í¥°¡£
22:35:11 >wtnabe< ¤Ç¤¤¿¡£²¿¤â¤«¤â²òÌÀ¡£1) Ť¤¤³¤È iPod touch ¤Ç delicious ¤ËÅꤲ¤é¤ì¤Ê¤¤¤È»×¤Ã¤Æ¤¤¤¿¤Î¤ÏɬÍפʥ¢¥×¥ê¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë ¤·¤Æ¤¤¤¿¤«¤é¡£ 22:36:44 >wtnabe< 2) ¤³¤ì¤Ï¡¢¥¢¥×¥ê¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Èbookmarklet¤ÎÀßÄê¤ò È󯱴ü¤ËÄ´¤Ù¤ÆÈ󯱴ü¤Ë¼Â¹Ô¤·¤¿¤¿¤á¡¢bookmarklet ¤Î¼Â¹Ô¤Ë¥¢¥×¥ê¤¬É¬Í×¤È ¤¤¤¦¤³¤È¤¬¤Þ¤Ã¤¿¤¯Ê¬¤«¤Ã¤Æ¤Ê¤«¤Ã¤¿¤«¤é¡£¥¢¥×¥ê¤Î̾Á°¤Ï Delicious Bookmarks 22:37:21 >wtnabe< 3) ¤Ê¤¼¤¢¤ë¤È¤¤³¤ì¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤«¤È¤¤¤¦¤È¡¢ ¤³¤ì¤Ï¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ÎƱ´ü¤Ë»þ´Ö¤¬³Ý¤«¤ê¤¹¤®¤Æ¤³¤±¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤Ã¤¿¤¿ ¤á¡¢Æ±´üÌÜŪ¤Ç¤Ï Yummy ¤òÆþ¤ì¤¿¤«¤é¡£ 22:40:44 >wtnabe< ¤È¤¤¤¦¤³¤È¤ÇƱ´ü¤ÎÀßÄê¤òÀڤäÆbookmarkletưºîÍÑ¥¢¥× ¥ê¤È¤·¤ÆÉüµ¢¤·¤Æ¤â¤é¤Ã¤¿¡£¤Ê¤ó¤«¤Á¤ç¤Ã¤È¥¢¥Û¤¯¤µ¤¤¤±¤É»ÅÊý¤Ê¤¤¤Ê¡£
¤È¤¤¤¦¤³¤È¤Ç
- Yummy
- Ʊ´ü¡¢»²¾ÈÍÑ
- Delicious Bookmarks
- bookmark postÍÑ
¤Î2¥¢¥×¥êÂÎÀ©¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
cf.
Delicious¤ÎiPhone¥¢¥×¥ê"Bookmarks"¤Ç¤É¤³¤Ç¤â¥Ö¥Ã¥¯¥Þ¡¼¥¯¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿ - Blog.IKUBON.com
*1 Æüµ¤ÎÆüÉÕ¾å
2010-01-12 [ĹǯÆüµ]
_ ¼Â¹ÔÃæ¤Î Ruby ¤Î install ¥Ç¥£¥ì¥¯¥È¥ê¤òÃΤë
xig_installer ¤Î¤¿¤á¤Ë¼Â¹ÔÃæ¤Î Ruby ¤Î¥Ñ¥¹¤òÃΤꤿ¤¤¤È»×¤Ã¤¿¤¬¡¢Åö½é¤ÏÊýË¡¤¬¤è¤¯Ê¬¤«¤é¤º¡¢¤È¤ê¤¢¤¨¤ºÊüÃÖ¤·¤Æ¤¤¤¿¡£¤³¤ì¤ò¤Á¤ã¤ó¤ÈÄ´¤Ùľ¤·¤¿¡£
ENV¤¸¤ã¤Ê¤«¤Ã¤¿
- Twitter / wtnabe: ruby -e 'p ENV["_"]' ¤Ã¤Æ¼«Ê¬¼« ...
- Twitter / eban: @wtnabe ¹ç¤Ã¤Æ¤Ê¤¤¤Ç¤¹¡£bash¤È¤«¤¬ÀßÄꤷ ...
- Twitter / wtnabe: ¼Â¹ÔÃæ¤Î Ruby ¤Î¥Ñ¥¹¤Ï ruby -e 're ...
2010-01-07
17:05:43 >wtnabe< ruby -e 'p ENV["_"]' ¤Ã¤Æ¼«Ê¬¼«¿È¤ò¼Â¹Ô¤·¤Æ¤¤¤ë Ruby ¥¤¥ó¥¿¥×¥ê¥¿¤òÆÀ¤ëÊýË¡¤È¤¤¤¦Íý²ò¤Ï¹ç¤Ã¤Æ¤Þ¤¹¤«¡© 17:14:06 <eban> @wtnabe ¹ç¤Ã¤Æ¤Ê¤¤¤Ç¤¹¡£bash¤È¤«¤¬ÀßÄꤷ¤Æ¤ë¤Î¤Ç¡¢sh¤À ¤È¤À¤á 17:35:11 >wtnabe< @eban ¤¢¤¶¤Ã¤¹¡£¤Á¤Ê¤ß¤Ë½ã¿è¤Ë Ruby ¥¹¥¯¥ê¥×¥È¤À¤±¤Ç ÃΤëÊýË¡¤Ã¤Æ¤¢¤ë¤ó¤Ç¤¹¤«¤Í¡©
¤´¤½¤´¤½Ä´¤Ù¤ë¤È require 'rbconfig' ¤¬É¬Íפ餷¤¤¡£
2010-01-08
11:15:51 >wtnabe< ¼Â¹ÔÃæ¤Î Ruby ¤Î¥Ñ¥¹¤Ï ruby -e 'require "rbconfig"; p Config::CONFIG["bindir"]' ¤Ç¤¹¤«¡©
Config -> RbConfig °Ü¹ÔÌäÂê
- Twitter / wtnabe: Ruby 1.8 ¤Ï Config ¤Ç 1.9 ¤Ï ...
- Twitter / Kazuhiro NISHIYAMA: @wtnabe Config¤Ç¤âRbConfig¤Ç¤â ...
- Twitter / Kazuhiro NISHIYAMA: @wtnabe ÇÑ»ßͽÄê¤À¤È»×¤¦¤Î¤Ç¡¢¿·¤·¤¤¤Î¤À¤±¤Ç ...
- Twitter / Siena.: @wtnabe require 'rbconfig' ...
2010-01-12
18:56:55 >wtnabe< Ruby 1.8 ¤Ï Config ¤Ç 1.9 ¤Ï RbConfig ¤Ê¤Î¤«¡£¤¨¡¼¤È ¤É¤¦½ñ¤±¤Ð¤¤¤¤¤Î¤«¤Ê¡£ 19:00:59 <znz> @wtnabe Config¤Ç¤âRbConfig¤Ç¤â¸«¤¨¤ë¤«¤é¤É¤Ã¤Á¤Ç¤â¤¤¤¤¡£ ¤â¤¦¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤Ê¤¤¸Å¤¤¤Î¤âÂбþ¤·¤¿¤±¤ì¤ÐConfig¤·¤«¤Ê¤µ¤½¤¦¤À¤±¤É¡£ 19:10:01 >wtnabe< @znz Config ¤Ï¤¤¤º¤ìÇÑ»ßͽÄê¤È¤«¤Ç¤Ï¤Ê¤¤¤ó¤Ç¤¹¤«¤Í¡© ¸Ä¿ÍŪ¤Ë¤Ï 1.8.5 °Ê¹ß¤À¤±Áê¼ê¤Ë¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¥®¥ê¥®¥ê¤É¤Ã¤Á¤Ç¤â¥ª¥Ã¥±¡¼ ¤Ê¤ó¤¹¤±¤É¡£ 19:12:59 <znz> @wtnabe ÇÑ»ßͽÄê¤À¤È»×¤¦¤Î¤Ç¡¢¿·¤·¤¤¤Î¤À¤±¤ÇÎɤ±¤ì¤Ð RbConfig¤¬¤¤¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¡£ 19:12:59 <nsiena> @wtnabe require 'rbconfig' ¸å¤ËÄêµÁ¾õ¶·¤ò const_defined? ¤ÇÄ´¤Ù¤Æ RbConfig = Config ¤È¤«¤Ç¤Ï¤À¤á¤Ç¤¹? 19:14:29 >wtnabe< @nsiena ¤¢¡¼¤½¤ó¤Ê¤ó¤Ç¤¤¤¤¤Ç¤¹¤Í¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ ¤¹¡£
¤Þ¤È¤á
ºÇ½ªÅª¤Ë½ÐÍè¾å¤¬¤Ã¤¿Éôʬ¤¬¥³¥ì¡£
require 'rbconfig' RbConfig = Config unless defined? RbConfig RbConfig::CONFIG['bindir']
cf. Commit 651136d20e9925d9a86d224272acae13dad84c31 to wtnabe's xig_installer - GitHub
RbConfig ¤Ï Ruby 1.8.5 °Ê¹ß¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤Þ¤¡¸½Ìò¤Ç»È¤ï¤ì¤Æ¤¤¤ë Ruby ¤Î¤Û¤È¤ó¤É¤Ï¤ï¤¶¤ï¤¶¤³¤Î½ñ¤Êý¤Ë¤·¤Ê¤¯¤Æ¤â RbConfig ¤òÆÉ¤á¤ÐÂç¾æÉפÀ¤È»×¤¦¡£
»²¹Í
¤Á¤Ê¤ß¤Ë¤Á¤ç¤Ã¤ÈÁ°¤Ë¤³¤ó¤ÊµÄÏÀ¤¬¤¢¤Ã¤¿¡£¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤Ê¤¯¤Æ¼Â¹Ô¥Ñ¥¹¤À¤±¤É¡¢ basename ³ú¤Þ¤»¤Ð¤¤¤¤¤À¤±¤À¤·¡¢»÷¤¿¤è¤¦¤Ê¤â¤ó¤«¤È¡£
- [ruby-dev:39755] RbConfig.rubybin
- [ruby-dev:39755] RbConfig.rubybin - Tanaka Akira - org.ruby-lang.ruby-dev - MarkMail
MarkMail ¤Ã¤Æ»È¤¤¤ä¤¹¤¤¤Ê¤¡¡£¤¹¤´¤¤¤Ê¤¡¡£
2010-01-13 [ĹǯÆüµ]
_ lftp mirror ¤Ç¥É¥Ã¥È¥Õ¥¡¥¤¥ë¤òÂоݤˤ¹¤ë
°ÊÁ°ºî¤Ã¤¿´Êñ¤ÊWeb¥µ¥¤¥È¸þ¤±Rakefile ¤Ç lftp mirror ¤ò»È¤Ã¤Æ°ìÉô¤Î¥µ¥¤¥È¤Î¹¹¿·¤ò¤·¤Æ¤ë¤ó¤À¤±¤É¡¢¥É¥Ã¥È¥Õ¥¡¥¤¥ë¤¬Àµ¤·¤¯¥ß¥é¡¼¥ê¥ó¥°¤ÎÂоݤˤʤäƤ¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤³¤ÎÌäÂê¤ò½¤Àµ¤·¤¿¡£Àµ³Î¤Ë¤Ï
Á´Éô¥¢¥Ã¥×¤¹¤ë¤È¤¤Ë¤Ï¥É¥Ã¥È¥Õ¥¡¥¤¥ë¤ÏÂоݤˤʤ뤱¤É¡¢remote ¤Î list ¤ò¼èÆÀ¤¹¤ë¤È¤¤Ë̵»ë¤µ¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢ÌäÅú̵ÍѤǥ¢¥Ã¥×¤¹¤ë¤À¤±¤Ç¡¢local ¤Çºï½ü¤·¤Æ¤âÈ¿±Ç¤µ¤ì¤Ê¤¤¡£
¤È¤¤¤¦¾õÂ֤ǡ¢¤³¤ì¤Ï¶ñÂÎŪ¤Ë¤Ï
.htaccess ¤Çǧ¾Ú¤ò³Ý¤±¤Æ¤¤¤¿¤â¤Î¤ò³°¤¹¤³¤È¤¬¤Ç¤¤Ê¤¤
¤È¤¤¤¦¤«¤Ê¤ê¤ª¥Ð¥«¤Ê¾õÂ֤ˤʤäƤ¤¤¿¡£¤³¤ì¤Ø¤ÎÂнè¤Ï
set ftp:list-options -a
¤ÈÀßÄê¤òÊѹ¹¤¹¤ë¥³¥Þ¥ó¥É¤òÍ¿¤¨¤ë¤³¤È¡£ºÙ¤«¤¤ÊýË¡¤Ï¥ê¥ó¥¯Àè¤Î Rakefile ¤ò grep ¤·¤Æ¤â¤é¤¦¤È¤·¤Æ¡¢´ðËÜŪ¤Ë¤Ï
lftp -e 'set ftp:list-options -a; mirror --delete FROM TO; bye'
¤Ã¤Æ´¶¤¸¤Ç»È¤¦¡£
¤¦¤ó¡¢¤³¤ì¤Ç°Â¿´¤·¤Æ»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
_ ngrep ¤Ç localhost °¸¤Î¥Ñ¥±¥Ã¥È¤òÇÁ¤¯
¤ß¤ó¤ÊÂç¹¥¤ ngrep. ¤Ç¤â ngrep ¤Ï¤½¤Î¤Þ¤Þ¤Ç¤Ï localhost ¤Ø¤Î¥¢¥¯¥»¥¹¤ÎÍͻҤÏÃê½Ð¤Ç¤¤Ê¤¤¡£man ¤Ë¤Ï¤³¤Î¤è¤¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
-d dev By default ngrep will select a default interface to listen on.
Use this option to force ngrep to listen on interface dev.
Î㤨¤Ð
sudo ngrep -d lo port 80 (Linux¤Ï¤³¤¦¤À¤È»×¤¦)
¤È¤«
sudo ngrep -d lo0 port 80 (BSD·Ï¤Ï¤³¤¦¤À¤È»×¤¦)
¤È¤¹¤ì¤Ð localhost ¤ËΩ¤Æ¤¿ Apache ¤Ø¤ÎÄÌ¿®¤ÎÍͻҤò¤ß¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¤Á¤Ê¤ß¤Ë default interface ¤Î·è¤Þ¤êÊý¡¢localhost ¤ò°ÕÌ£¤¹¤ë loopback interface ¤Ë¤Ä¤¤¤Æ¤¤¤ë̾Á°¡¢¤³¤ì¤é¤Ï»È¤Ã¤Æ¤¤¤ë OS ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤Î¤Ç¡¢¼ÂºÝ¤Ë¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤«¤Ï³Æ¼«¤ÇÄ´¤Ù¤Æ¤Á¤ç¡£
2010-01-14 [ĹǯÆüµ]
_ Ruby ¤Î SSL ¤Î¾ÚÌÀ½ñ¸¡¾Ú¤Î¼ºÇԤǥϥޤäƤ¤¤¿
´ðËÜŪ¤Êή¤ì
- TIG ¤«¤é tig.rb ¤Ë°Ü¹Ô¤·¤è¤¦¤È»×¤¤Î©¤Ã¤¿
- tig.rb ¤¬ÀèÆü¤Î DNS ¾ã³²¤Î·ï¤ò¼õ¤±¤Æ SSL ¤Î¾ÚÌÀ½ñ¤ò¤Á¤ã¤ó¤È¸¡¾Ú¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿
- ¼«Â𥵡¼¥Ð¤Î FreeBSD ¾å¤Î Ruby ¤Ç CA¾ÚÌÀ½ñ¤¬Ç§¼±¤µ¤ì¤Æ¤ª¤é¤º¡¢·ë²Ì twitter.com ¤Î¥µ¡¼¥Ð¾ÚÌÀ½ñ¤ò¸¡¾Ú¤Ç¤¤º¤Ë¥³¥±¤Æ¤¤¤¿¡£
tig.rb ¤Î¥¢¥Ã¥×¥Ç¡¼¥È - ÅßÄ̤ê¤Ë¾Ã¤¨¹Ô¤¯À©Éþ¥¬¡¼¥ë¤Ï¡¢Ì´Êª¸ì¤Ë¥ê¥¢¥ë¤òµá¤á¤Ê¤¤¡£ - subtech
¤òÆÉ¤àÁ°¤Ë¥Ï¥Þ¤Ã¤Æ¤Þ¤·¤¿¡ä¡ã
¤À¤é¤À¤é¤È¸À¤¤Ìõ
- ËÜÈ֤ȸ¡¾Ú¤Ç3¼ïÎà¤ÎRuby¤ò»È¤Ã¤Æ¤¤¤¿
- ports ( Ruby 1.8.7 ) on FreeBSD
- MacPorts ( Ruby 1.8.7 ) on MacOSX
- Fink ( Ruby 1.8.6 ) on MacOSX
- ports ¤Î¤â¤Î¤À¤±¾ÚÌÀ½ñ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤Æ¤Ê¤«¤Ã¤¿
- ¤¿¤Þ¤¿¤Þ ports ¤Î¤â¤Î¤À¤± tiarra ¤ÈÁȤ߹ç¤ï¤»¤Æ¤¤¤¿¤Î¤Ç tiarra ¤Ë¤¢¤é¤Ìµ¿¤¤
- ¤³¤³¤Ç¤·¤Ð¤é¤¯¥Ï¥Þ¤ë
- ºÇ½ªÅª¤Ë¤Ï RFC ¤È tig.rb ¤ÎÃæ¿È¤òÆÉ¤ó¤Ç tiarra ¤ò½ü³°¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¸¡º÷¤·¤Æ Net::HTTP ¤ËÌ·À褬
ºÇ½é¤Ï¥Ð¥°¤òµ¿¤Ã¤¿¡£
14:25:09 >wtnabe< http://bit.ly/4tHhtN ¤³¤Î patch ŬÍѤ·¤¿¤é OpenSSL::SSL::SSLError Îã³°¤Ë½Ð²ñ¤¨¤¿¡£
- Twitter / wtnabe: http://bit.ly/4tHhtN ¤³¤Î pa ...
- Bug#564168: net/http.rb: Error on page fetch exception (regression) - linux.debian.bugs.dist | Google ¥°¥ë¡¼¥×
¤³¤Î¥Ñ¥Ã¥Á¤òÅö¤Æ¤Æ¤ß¤¿¡£¤¹¤ë¤È OpenSSL ¼þ¤ê¤ÎÎã³°¤¬½Ð¤Æ¤¤¿¤Î¤Ç¡¢¤È¤Ë¤«¤¯ SSL ¤ÎÌäÂê¤À¤È¤¤¤¦¤³¤È¤ÇÍî¤ÁÃ夯¡£tig.rb ¤òÆÉ¤à¤È SSL ¤Î verify_mode ¤ò¥»¥Ã¥È¤·¤Æ¤¤¤ëÉôʬ¤¬¤¢¤Ã¤¿¤Î¤Ç»î¤·¤Ë¤³¤ì¤ò³°¤·¤Æ¤ß¤¿¤éư¤¤¤¿¡£
Twitter / wtnabe: ¤µ¤Ã¤¤Î¥Ñ¥Ã¥ÁÅö¤Æ¤¿¾õÂÖ¤Ç tig.rb ¤ò htt ...
14:38:26 >wtnabe<¤µ¤Ã¤¤Î¥Ñ¥Ã¥ÁÅö¤Æ¤¿¾õÂÖ¤Ç tig.rb ¤ò http://gist.github.com/276924 ¤³¤¦¤·¤¿¤éư¤¤¤¿¡£¤³¤³¤Þ¤Ç¤¤Æ»Ä¤ê¤Ï¾ÚÌÀ ½ñ¤«¡£¤È¤ê¤¢¤¨¤º tiarra ¤Î¤»¤¤¤Ç¤â¤Ê¤ó¤Ç¤â¤Ê¤«¤Ã¤¿¡£
Twitter / wtnabe: net/http ¤ò¸µ¤ËÌᤷ¤Æ¤âư¤¤¤¿¡£¤È¤¤¤¦¤³¤È¤Ç ...
net/http ¤ò¸µ¤ËÌᤷ¤Æ¤âư¤¤¤¿¡£¤È¤¤¤¦¤³¤È¤Ç openssl ¤Ç»È¤¦¾ÚÌÀ½ñ¤ÎÌäÂê ¤À¤Ã¤¿¡£¤â¤·¤¯¤Ï tig.rb ¤Ç¾ÚÌÀ½ñ¤ò¤Þ¤È¤â¤Ë¥Á¥§¥Ã¥¯¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Á¤ã¤¦ ¤«¡¢¤É¤Ã¤Á¤«¡£
¤³¤Î¾õÂÖ¤Ç Net::HTTP ¤ò¸µ¤ËÌᤷ¤Æ¤ß¤¿¤¬¤ä¤Ï¤êÀµ¾ï¤Ëưºî¤·¤¿¡£¤È¤¤¤¦¤³¤È¤ÏËÜÅö¤Ëñ¤Ê¤ë SSL ¤ÎÌäÂê¡£
¤½¤Î¸å¡¢
Twitter / : @wtnabe tig.rbư¤«¤·¤Æ¤ë¤Î¤¬FreeB ...
18:18:54 <otsune> @wtnabe tig.rbư¤«¤·¤Æ¤ë¤Î¤¬FreeBSD¤À¤Ã¤¿¤Î¤Ç security/ca_root_nss¤¤¤ì¤¿
¤È @otsune ¤Ë¾ðÊó¤ò¤¤¤¿¤À¤¤¤¿¤Î¤Ç¡¢security/ca_root_nss ¤òÆþ¤ì¤¿¤±¤É¡¢¤¦¤Þ¤¯Æ°¤«¤º¡£ºÇ½ªÅª¤Ë¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤¿¥Ñ¥¹¤ÎÌäÂê¤Ç¡¢
Twitter / wtnabe: VERIFY_PEER ¤Ç¤â /usr/local/ ...
00:05:34 >wtnabe< VERIFY_PEER ¤Ç¤â /usr/local/openssl/cert.pem@ -> /usr/local/share/cert/ca-root-nss.crt ¤Î link ¤Çư¤¤¤¿¤Ã¤Ý¤¤¡£
¤È¤¤¤¦¤³¤È¤Ç tig.rb ¤ò¸µ¤ËÌᤷ¤Æ link Ä¥¤Ã¤Æ²ò·è¡£Ä¹¤«¤Ã¤¿¡ª
·ë¶É¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤¿¾ÚÌÀ½ñ¤òÀµ¤·¤¯Ç§¼±¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤À¤±¡£¤Ç¤â Net::HTTP ¤Î¥¨¥é¡¼¤Î½ÐÊý¤âʬ¤«¤ê¤Ë¤¯¤¤¤è¤Í¤§¡©
¤Á¤Ê¤ß¤Ë¾¤Ë¤â¥Ï¥Þ¤Ã¤Æ¤¤¤¿¿Í¤¬¡£
Twitter / Yugui (Yuki Sonoda): ¤³¤ÎRuby¤Ï¤É¤ÎOpenSSL¤È¥ê¥ó¥¯¤µ¤ì¤ë¤ó¤À¡¼ ...
¢¨ Ruby 1.9 ¤ÎÊý¤Ï Ruby 1.9 - Feature #2579: Net::HTTP.start("www.ruby-lang.org", use_ssl: true) ¤Ç SSL ÍøÍѤò²Äǽ¤Ë - Ruby Issue Tracking System ¤Ç¾ÚÌÀ½ñ¤Î¸¡¾Ú¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¹Ô¤¦¤è¤¦¤Ë¤Ê¤ë¿· API ¤¬Æþ¤ê¤Þ¤·¤¿¡£
»Ä¤ê´ØÏ¢¤Î¥í¥°¤ò¥³¥Ô¥Ú¡£
2010-01-15:12:05:40 @yugui fav¤é¤ì¤Æ¤¿¤Î¤Ç¤Á¤ç¤Ã¤È¤Þ¤È¤á¤ë»þ´Ö¤òüÀޤà ¤Æ¤ªÅÁ¤¨¤·¤Þ¤¹¤È¡¢Ruby¤ÎNet::HTTP.new()¤ÏSSL¤Î¸¡¾Ú¤Ë¼ºÇÔ¤·¤¿¤È¤¤Ë @socket¤¬nil¤Î¤Þ¤Þ¤Ë¤Ê¤ë¤ó¤À¤±¤É¡¢¹Í褵¤ì¤Æ¤Ê¤¤¥Ñ¥¿¡¼¥ó¤¬¤¢¤ë¤È¤¤¤¦Ìä Âê¤Ç¤·¤¿¡£ http://groups.google.co.jp/group/linux.debian.bugs.dist/browse_thread/thread/27dae518c1c5d617 2010-01-15:12:19:11 @yugui SSL¤Î¸¡¾Ú¼ºÇÔ¤ò¤É¤¦¤ä¤Ã¤ÆÃΤë¤Î¤«¡¢¤È¤¤¤¦°Õ Ì£¤Ç¤Ï.request()¤¬nil.closed?()¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤È¤«¡¢¤¢¤ë¤¤¤Ïinspect¤·¤¿ ¤È¤¤Îopen=false¤À¤±¤À¤È¤Á¤ç¤Ã¤Èʬ¤«¤ê¤Ë¤¯¤¤¤«¤Ê¤È¤Ï»×¤¤¤Þ¤¹¡£
2010-01-15 [ĹǯÆüµ]
_ God + tig.rb ¤Ø°Ü¹Ô¤·¤¿
¤¢¤ê¤¬¤È¤¦ TwitterIRCGateway
Twitter¤ËÆü¾ïŪ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤«¤é¡¢¤º¤Ã¤È IRC ¤ËÊÑ´¹¤·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£²¿ÅÙ¤«¤¢¤Á¤³¤Á¤Ë½ñ¤¤¤Æ¤ëµ¤¤¬¤¹¤ë¤±¤É¡¢¸Ä¿ÍŪ¤Ë¤Ï IRC ¤È Twitter ¤Ï·Ò¤®¤Ã¤Ñ¤Ê¤·¤Çµ¤¤¬¸þ¤¤¤¿¤È¤¤À¤±¸«¤ë¤È¤«¡¢¸Æ¤Ð¤ì¤¿¤³¤È¤Ëµ¤¤Å¤¤¤¿¤È¤¤À¤±ÊÖ»ö¤¹¤ë¡¢¤È¤¤¤¦»È¤¤Êý¤¬¤È¤Æ¤â¤è¤¯»÷¤Æ¤¤¤ë¤È´¶¤¸¤Æ¤¤¤Þ¤¹¡£¤½¤·¤Æ¤³¤ÎÀܤ·Êý¤Ï¼«Ê¬¤Ø¤ÎÉéô¤¬¤È¤Æ¤â¾¯¤Ê¤¤¤Î¤Ç¤¹¡£¤À¤«¤é¼«Ê¬¤ÎÃæ¤Ç¤Ï¤Þ¤À¤·¤Ð¤é¤¯¤Ï¤³¤Î»È¤¤Êý°Ê³°ÁÛÁü¤¬¤Ç¤¤Þ¤»¤ó¡£
¤³¤Î IRC ¤Ø¤ÎÊÑ´¹¤Ë¤Ï¤º¤Ã¤È TwitterIRCGateway ¤òÍøÍѤ·¤Æ¤¤Þ¤·¤¿¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£Twitter ¤òÄ̤¸¤Æ¸òή¤¬¹¤¬¤Ã¤¿¤Î¤Ï´Ö°ã¤¤¤Ê¤¯ TIG ¤Î¤ª¤«¤²¤Ç¤¹¡£
FreeBSD + Mono + TIG ¤Ï¾¯¡¹µ¤Æñ¤·¤«¤Ã¤¿
¤½¤ó¤Ê¤ªÀ¤Ïäˤʤê¤ÃÊü¤·¤Ê TIG ¤Ç¤·¤¿¤¬¡¢¼«Â𥵡¼¥Ð¾å¤Çư¤«¤·¤Æ¤¤¤ë¤¿¤á¡¢
FreeBSD + Mono + TIG
¤È¤¤¤¦¹½À®¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤³¤ì¤¬¤ä¤Ï¤ê¾¯¡¹µ¤Æñ¤·¤¤¤Î¤Ç¤¹¤Í¡£¤½¤ÎÊÕ¤ÎÏÃ¤Ï xig_installer ¤Ê¤ó¤Æ¤â¤Î¤ò½ñ¤¤¤Æ¤ß¤¿ ¤Ë¤â½ñ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤â¤È¤â¤È .NET ¤¬¤è¤¯Ê¬¤«¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤â¤¢¤Ã¤Æ¡¢
- ¤¤¤ÄÍî¤Á¤ë¤Î¤«Ê¬¤«¤é¤Ê¤¤ÉÔ°Â
- ²¿¤¬°¤¤¤Î¤«¡¢²¿¤òľ¤»¤Ð¤¤¤¤¤Î¤«¤è¤¯Ê¬¤«¤é¤Ê¤¤ÉÔ°Â
¤¬¤º¤Ã¤È¤¢¤Ã¤¿¤Î¤Ï³Î¤«¤Ç¤¹¡£¤Þ¤¡¡¢TIG ¤¬Íî¤Á¤è¤¦¤¬ Twitter ¤¬Íî¤Á¤è¤¦¤¬¡¢¤½¤ó¤Ê¤Ëº¤¤é¤Ê¤¤¤³¤È¤Ï¤¹¤Ç¤Ëʬ¤«¤Ã¤Æ¤¤¤¿¤ó¤Ç¤¹¤¬(¾Ð)
¤½¤³¤Ç¹½À®¤òÊѤ¨¤è¤¦¤È¡¢¼Â¤Ï¤º¤¤¤Ö¤óÁ°¤«¤é»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¤³¤ó¤Ë¤Á¤Ï God + tig.rb
°Ê²¼¡¢¤ä¤Ã¤¿¤³¤È¤Ø¤Î¥ê¥ó¥¯¡£
- God¤Ç½é¤á¤Æ¤Î¥×¥í¥»¥¹´Æ»ë
- topless ¤Ç Activity Monitor ¤â¤É¤
- xig_installer ¤Ê¤ó¤Æ¤â¤Î¤ò½ñ¤¤¤Æ¤ß¤¿
- Ruby ¤Î SSL ¤Î¾ÚÌÀ½ñ¸¡¾Ú¤Î¼ºÇԤǥϥޤäƤ¤¤¿
- God¤Ë¥×¥í¥»¥¹¤Îµ¯Æ°½ç½ø¤ò¶µ¤¨¤¿¤¤
¼Â¤Ï¼«Ê¬¤Î»È¤Ã¤Æ¤¤¤¿ IRC ¥¯¥é¥¤¥¢¥ó¥È¤È¤ÎÁêÀ¤ÎÌäÂê¤Ç¾è¤ê´¹¤¨¤é¤ì¤Ê¤«¤Ã¤¿»þ´ü¤âŤ«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢º£¤Ï LimeChat + tiarra ¤Ç¤Þ¤Ã¤¿¤¯ÌäÂê¤Ê¤¯»È¤¨¤Æ¤¤¤Þ¤¹¡£²÷Ŭ¤Ç¤¹¡£
tid ¤¬¤á¤Ã¤Á¤ãÊØÍø
¤½¤Î¸å¡¢Ê¬¤«¤Ã¤¿¤³¤È¤Ç¤¹¡£
¤Ê¤ó¤Ç irc ¥¯¥é¥¤¥¢¥ó¥È¤Ç Twitter Ū¤ËÀµ¤·¤¤ reply ¤òÂǤƤë¤Î¤«ÉԻ׵ĤÀ¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢
- tig.rb ¾å¤Ç¡¢twitter ¤Î status id ¤Èɳ¤Å¤±¤é¤ì¤ë id ¤¬À¸À®¤µ¤ì¤ë
- tid ¤È¤¤¤¦¤Î¤Ï¤É¤¦¤â typable map id ¤Îά¤Ã¤Ý¤¤¡©
- ¡Ê¤¢¤ë¤¤¤Ï tig.rb id ?¡Ë
¤³¤ó¤ÊÉ÷¤Ë irc ¥¯¥é¥¤¥¢¥ó¥È¾å¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
wtnabe ¥¢¥¤¥Ç¥£¥¢½Ð¤·¤¹¤ë¤È¤¤Ï¹¤¤²èÌ̤¬Íߤ·¤¯¤Ê¤ë¤Ê¡¼ [ipya]
¤Á¤ç¤Ã¤È¤è¤¯¤¢¤ë¥Õ¥Ã¥¿¤È¶èÊ̤¬¤Ä¤¤Ë¤¯¤¤¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï¡ÊÂбþ¤·¤Æ¤¤¤ì¤Ð¡Ë¿§Ê¬¤±¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤³¤Þ¤Ç¸«¤Ë¤¯¤¯¤Ï¤Ê¤¤¤Ç¤¹¡£
¤³¤ì¤ò»È¤Ã¤Æ
/me reply <tid> HOGE
¤Ã¤ÆÂÇ¤Ä¤È irc ¥¯¥é¥¤¥¢¥ó¥È¤«¤é in_reply_to ¤òÉղä·¤Æ reply ¤Ç¤¤Þ¤¹¡£¤³¤ó¤Ê»È¤¤Êý¡£
/me reply uno ´Êñ¤Ê¸ÀÍÕ¤ÎÅǤ½Ð¤·¤ÈʤÙÂØ¤¨¤Ë OmniGraffle ¤ò»È¤Ã¤Æ¤ë ¤Î¤Ç¤¹¡£¤½¤Î¤Þ¤ÞÀ°Íý¤·¤Æ¤¤¤¯¤Î¤Ë¤âÊØÍø¤À¤·¡£ÌÌÅݤʤ³¤È¤ò¹Í¤¨¤ë¤È¤¤Ï¼ê ½ñ¤¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¹¤ë¤È¾¤Î Twitter ¥¯¥é¥¤¥¢¥ó¥È¤«¤é¸«¤Æ¤â¤Á¤ã¤ó¤È·Ò¤¬¤ê¤Îʬ¤«¤ë reply ¤òÂǤƤޤ¹¡£º£¤Þ¤Ç¤Î¼«Ê¬¤Î reply ¤Ë¤Ï ID ¤¬¤Ä¤¤¤Æ¤Ê¤¯¤Æ¸«¤Ë¤¯¤¤¤Ê¤È»×¤Ã¤Æ¤¤¤¿Êý¡¹¡¢¤´¤á¤ó¤Ê¤µ¤¤¡¢º£¸å¤Ï¤¿¤Ö¤óÂç¾æÉפǤ¹¡£
- Twitter / wtnabe: tid ¤ò true ¤Ë¤·¤¿¤é¤Ê¤ó¤«Ê¸»ú¤¬½Ð¤Æ¤¤¿¡£
- Twitter / wtnabe: tid(typemap id ?) ¤ò¼êÂǤÁ¤·¤Ê¤¤ã ...
Ʊ¤¸Í×ÎΤÇ
/me fav <tid>
¤È¤¹¤ë¤³¤È¤Ç fav ¤ì¤ë¤Î¤Ç¡¢irc ¥¯¥é¥¤¥¢¥ó¥È¤«¤éÌܤâ¼ê¤âÎ¥¤µ¤º¤Ë twitter ¾å¤Ë self fav ¤Î¥á¥â½ñ¤¤òºî¤Ã¤Æ¤¤¤±¤Þ¤¹¡£¼Â¤Ï¤³¤ì¤¬¤«¤Ê¤êÊØÍø¡£
TIG ¤Ë¤â¤³¤Îµ¡Ç½¤ÏÆþ¤Ã¤Æ¤ë¤Ã¤Ý¤¤¤ó¤Ç¤¹¤¬¡¢¤è¤¯Ê¬¤«¤Ã¤Æ¤Þ¤»¤ó¤Ç¤·¤¿¡£¤Ç¤âÄ´»Ò¤Ë¾è¤Ã¤Æ self fav ¤Ã¤Æ¤Ð¤«¤ê¤¤¤ë¤È¸å¤Ç¤Þ¤È¤á¤ë¤Î¤¬ÂçÊѤʤΤǡ¢¤½¤³¤Ï¹Í¤¨¤É¤³¤í¤Ç¤¹¤Í¡£
Twitter ¤¬Íî¤Á¤Æ¤Æ¤âº¤¤é¤Ê¤¤¤È¤«½ñ¤¤¤Æ¤¤¤Ê¤¬¤é Twitter ¤Ëɬ»à¤Ë¤Ê¤ê¤¹¤®¤¸¤ã¤Í¡©¤È»×¤Ã¤¿¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢º£¤Þ¤Çµó¤²¤¿¤ä¤Ä¡¢Á´Éô¾¤Ë¤â±þÍѤ¬Íø¤¯¤«¤é¤¤¤¤¤ó¤Ç¤¹¤è¡ª
2010-01-18 [ĹǯÆüµ]
_ ºî¶È¤Î¼«Æ°²½¤Î¼¡¤Ïºî¶È¤ÎµÏ¿
¤È¤ê¤¢¤¨¤º»×¤¤¤Ä¤¤Î¥á¥â¡£
rake, capistrano ¤òÃΤäưÊÍ衢ñ¤Ê¤ë¥¹¥¯¥ê¥×¥È²½¤è¤ê¤âʬ¤«¤ê¤ä¤¹¤¯°·¤¤¤ä¤¹¤¤ºî¶È¤ÎÄê·¿²½¡¢¼«Æ°²½¤ò°Õ¼±¤·¤Æ¤¤¿¤ó¤À¤±¤É¡¢¼¡¤Ï¤³¤ì¤ÎµÏ¿¤«¤Ê¤È»×¤Ã¤Æ¤¤¤ë¡£¤Þ¤¡¡¢¸½¾õ¤Ï¤½¤ì¤Û¤É¥¿¥¹¥¯¤Î shlauncher ²½¤¬¿Ê¤ó¤Ç¤¤¤ë¤ï¤±¤¸¤ã¤Ê¤¤¤ó¤À¤±¤É¡¢¤½¤ì¤Ï¤Þ¤¿Ê̤ÊÌäÂê¡£
µÏ¿¤È¤¤¤¦¤³¤È¤Ï¥í¥°¤Ê¤ó¤À¤±¤É¡¢¤É¤³¤ËµÏ¿¤¹¤ë¤«¤È¤¤¤¦¤È¡¢¤ä¤Ã¤Ñ°ì¤ÄHTTP¥µ¡¼¥Ð¤òÍѰդ·¤ÆÅꤲ¤Ä¤±¤ë¤Î¤¬³Ú¤Á¤ó¤«¤Ê¤È¤«ÌÑÁÛ¤·¤Æ¤¤¤ë¡£Sinatra ÊÕ¤ê¤Ç¥Õ¥í¥ó¥È¤òÍѰդ·¤Æ¡¢¼ÂºÝ¤Ë¤Ï¤Û¤È¤ó¤É¥í¥°¤ÎÃßÀѤȤ½¤Î¸¡º÷°Ê³°¤Ë»Å»ö¤Î¤Ê¤¤¥¢¥×¥ê¤¬¤¢¤ë¤ÈÊØÍø¤Ê¤ó¤¸¤ã¤Ê¤¤¤«¤È»×¤¦¡£
ÌäÂê¤Ï¤³¤Î¥í¥°¤Î·Á¼°¤Ç¡¢Á°¡¹¤«¤éÁ´Ê¸¸¡º÷¤Ë¶½Ì£¤¬¤¢¤ê¤Ä¤Ä¼ê¤¬Æ°¤«¤»¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢²¿¤«Å¬Åö¤ÊÁ´Ê¸¸¡º÷¥¨¥ó¥¸¥ó¤ò»È¤¤¤¿¤¤¤Ê¡¢¤¯¤é¤¤¤Î·Ú¤¤µ¤»ý¤Á¤Ç¤¤¤ë¡£°ÊÁ°¤Ê¤é HyperEstraier °ìÂò¤¯¤é¤¤¤Îµ¤»ý¤Á¤À¤Ã¤¿¤±¤É¡¢º£¤Ï¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¼«Í³¤Ë·è¤á¤é¤ì¤½¤¦¤Ê Ferret ¤¬¤¤¤¤¤Î¤«¤Ê¤È»×¤Ã¤Æ¤¤¤ë¡£
RDBMS ¤ÈÏ¢·È¤¹¤ë¥Ä¡¼¥ë¤Ç¤â¤¤¤¤¤ó¤À¤±¤É¡¢¸Ä¿ÍŪ¤Ë¤Ï¥í¥°¤È RDBMS ¤ÏÁêÀ¤¬Îɤ¯¤Ê¤¤¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥í¥°¤Ï¥×¥ì¡¼¥ó¤ËÍѰդ·¤Æ¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÊ̤ËÍѰդ¹¤ëÊýË¡¤òºÎÍѤ·¤¿¤¤¤«¤Ê¡£¤¤¤¶¤È¤Ê¤Ã¤¿¤é¤È¤ê¤¢¤¨¤º grep ¤À¤±¤Ç¤â»È¤¨¤ë¤·¤Í :-P
µÏ¿¤ÎÉôʬ¤òʬΥ¤·¤Æ¤¢¤ì¤Ð GUI ¥¢¥×¥ê¤Ç¤â CLI ¥¢¥×¥ê¤Ç¤â³Ú¤ËµÏ¿¤ò¤È¤ì¤ë¤ó¤À¤±¤É¡¢´ðËÜŪ¤Ë¤Ï shlauncher ¥Ù¡¼¥¹¤Ç¹Í¤¨¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë¡£
°Ê¾å¡£¤Þ¤À²¿¤â½ñ¤¤¤Æ¤Ê¤¤¤è¡ª
2010-01-19 [ĹǯÆüµ]
_ God¤Ë¥×¥í¥»¥¹¤Îµ¯Æ°½ç½ø¤ò¶µ¤¨¤¿¤¤
µ¯Æ°½ç¤òÀ©¸æ¤·¤¿¤¤ÇØ·Ê
ÀèÆü¡¢God + tig.rb ´Ä¶¤Ë°Ü¹Ô¤·¤¿¤ï¤±¤À¤±¤É*1¡¢¼ÂºÝ¤Ë¤Ï¼«Ê¬¤Î irc ¼þ¤ê¤Î´Ä¶¤Ï²¼¤Î¿Þ¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
twitter
|
internet
|
+----+ +---+--+
|ircd| |tig.rb|
++--++ +---+--+
| | |
+--+ +-+ +---+
| | |
+---+--+ +-+--+-+
|nadoka| |tiarra|
+------+ +---+--+
|
LimeChat ( Mac or iPod )
ÀÛ¤¤¿Þ¤À¤±¤É»Í³Ñ¤Ç°Ï¤ó¤Ç¤¢¤ëÉôʬ¤Ï¼«Â𥵡¼¥ÐÆâ¤Çư¤¤¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£À©¸æ¤·¤¿¤¤¥×¥í¥°¥é¥à¤À¤±È´¤½Ð¤¹¤È¡¢
| tiarra | proxy |
| nadoka | bot |
| tig.rb | twitter gateway |
¤È¤¤¤¦¹½À®¤Ë¤Ê¤Ã¤Æ¤¤¤ë*2¡£
¤½¤·¤Æ¤³¤³¤«¤é¤¬Âç»ö¤Ê¤ó¤À¤±¤É¡¢
µ¯Æ°¤Î½çÈ֤Ȥ·¤Æ¤Ï tiarra ¤¬¤¤¤Á¤Ð¤óºÇ¸å
¤Ç¤¢¤ë¡£
God °ÊÁ°
God ²½¤¹¤ëÁ°¡¢¤³¤ì¤é¤Ïñ¤Ë sh ¥¹¥¯¥ê¥×¥È¤«¤é½çÈ֤˵¯Æ°¤¹¤ë¤À¤±¤À¤Ã¤¿¡£
nadoka sleep 2 tig.rb sleep 2 tiarra
¤Ç¤¢¤ë¡£¥µ¡¼¥Ð¥µ¡¼¥Ð¤Ê¤ó¤Æ°Î¤½¤¦¤Ë¸À¤Ã¤È¤¤¤ÆÃæ¿È¤Ï¤³¤ó¤Ê¤â¤Î¡£ÅÓÃæ¤Ç²¿¤«¤ÎÇï»Ò¤Ë¤É¤ì¤«¤Î¥×¥í¥»¥¹¤¬Íî¤Á¤¿¤é¤½¤ì¤À¤±¤Þ¤¿µ¯¤³¤·Ä¾¤¹¡£Á´Éô¼êư¤Ç¡¢¸·Ì©¤Ë¤Ï daemon ¥×¥í¥»¥¹¤Ç¤Ï¤Ê¤¯
¤¿¤À¤º¤Ã¤Èµ¯¤¤Ã¤Ñ¤Ê¤·
¤Î¾õÂ֤ˤʤäƤ¤¤¿¡£¥µ¡¼¥Ð´ÉÍýŪ¤Ë¤Ï¤¢¤Þ¤ê¤ËÃÕÀÛ¤À¤¬¡¢¤³¤Èµ¯Æ°½ç¤Ë´Ø¤·¤Æ¤Ï
½ñ¤¤¤¿Ä̤ê¤Î½çÈ֤˵¯Æ°¤¹¤ë
¤È¤¤¤¦Ê¬¤«¤ê¤ä¤¹¤¤¤â¤Î¤À¤Ã¤¿¡£¤·¤«¤· God ²½¤·¤Æ¤·¤Þ¤¦¤È¤³¤¦¤Ï¤¤¤«¤Ê¤¤¡£
God ¤Îµ¯Æ°¤Îή¤ì
0.8.0 ¤Ç³Îǧ¤·¤¿¤È¤³¤í¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
- God.watch ¤Î»ØÄê¤òÆÉ¤ß¹þ¤á¤ë¤À¤±ÆÉ¤ß¹þ¤à
- watch ¤Î name ¤ò key ¤Ë¤È¤ë Hash ¤ËÊü¤ê¹þ¤Þ¤ì¤ë
- ÆÉ¤ß¹þ¤ß½ª¤ï¤Ã¤¿¤é Hash ¤«¤é°ì¤Ä¤º¤Ä¼è¤ê½Ð¤·¡¢autostart ¤ò»ØÄꤷ¤Æ¤¢¤Ã¤¿¤é¡Êdefault ¤Ç true¡Ë¤¿¤À¤Á¤Ë¥×¥í¥»¥¹¤Îµ¯Æ°¤ò¹Ô¤¦
¤È¤¤¤¦¤³¤È¤Ï¾¯¤Ê¤¯¤È¤â Ruby 1.8 ¤Ç¤Ï
God.load ¤ÎÆÉ¤ß¹þ¤ß½ç¡¢God.watch ¤Î½Ð¸½½ç¤È¥×¥í¥»¥¹¤Îµ¯Æ°½ç¤Ï̵´Ø·¸
¤Ç¤¢¤ë¡£
¤Ï¤Æº¤¤Ã¤¿¤Ê¡£
̵ÍýÌðÍý²ò·è¤·¤Æ¤ß¤¿¡£
¤³¤³¤Ç¤Ïñ¤Ë¥×¥í¥»¥¹¤Îµ¯Æ°½ç½ø¤À¤±¤òÌäÂê¤Ë¤·¤¿¤¤¤Î¤Ç tiarra ¤ä nadoka ¤Ê¤É¼ÂºÝ¤Ë»È¤Ã¤¿¥×¥í¥°¥é¥à¤Ç¤Ï¤Ê¤¯¡¢ÀèÆü¤Î xig_installer ¤Çư¤«¤·¤ä¤¹¤¯¤Ê¤Ã¤¿ tig.rb ¤È wig.rb ¤Ç»î¤·¤¿¤ß¤¿¡£
¾å¤Î gist ¤Î¥Õ¥¡¥¤¥ë¤òŬÅö¤Ê̾Á°¤ÇÊݸ¤·¤Æ
god -c CONFIG
¤Çµ¯Æ°¤¹¤ë¤È
ɬ¤º wig.rb ¤ÎÊý¤ò¸å¤Çµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
½çÈÖ¤Ï
ps ax | grep ruby
¤·¤Æ PID ¤ò³Îǧ¤¹¤ë¤Èʬ¤«¤ë¡£
¥Ý¥¤¥ó¥È
- ¤¢¤È¤«¤éµ¯Æ°¤·¤¿¤¤¤â¤Î¤Î God.watch ¤Îµ½Ò¤ÎÃæ¤Ç autostart = false ¤ò²Ã¤¨¤ë
- watch ÄêµÁ¤Î¤¢¤È¤Ë Thread.new {} ¤ÎÃæ¤Ç̵ÍýÌðÍýÂÔ¤Á¤¿¤¤¥×¥í¥»¥¹¤Îµ¯Æ°¤òÂÔ¤Ä
ÂÔ¤Á¤¿¤¤¥×¥í¥»¥¹¤ÎÍÍ»Ò¤Ï God.status[NAME][:state] ¤Ç³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¼Â¤Ï¡¢¤³¤ó¤Ê½ñ¤Êý¤Ç¤¤¤¤¤Î¤«Ê¬¤«¤Ã¤Æ¤Ê¤¤¡£ËÜÅö¤Ï¤â¤Ã¤È¤¤¤¤½ñ¤Êý¡¢Àµ¤·¤¤½ñ¤Êý¤¬¤¢¤ë¤Î¤«¤â¤·¤ì¤Ê¤¤¡£Ãµ¤·¤¿¤±¤É¤Þ¤À¤Þ¤À God ¤Î¾ðÊó¤Ï¾¯¤Ê¤¤¤·¡¢±Ñ¸ì¤Ë¤Ê¤ë¤È¤É¤¦¤¤¤¦¸ÀÍդǤ³¤ì¤òõ¤»¤Ð¤¤¤¤¤Î¤«¤âʬ¤«¤é¤Ê¤¤¡£
¤Ç¤âÌÜŪ¤ÏãÀ®¤Ç¤¤Æ¤¤¤ë¡£
»²¹Í - God.load ¤Îή¤ì
God.load ¤Ï»ØÄꤵ¤ì¤¿ÀßÄê¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤â¤Î¤Ê¤ó¤À¤±¤É¡¢ÆâÉô¤Ç Dir.glob ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç°ì¤Ä¤º¤Ä¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â
God.load File.dirname( __FILE__ ) + '/*.god'
¤Ê¤ó¤Æ½ñ¤Êý¤Ç¤Þ¤È¤á¤ÆÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤¤ë¡£ºÇ½ªÅª¤Ë¤Ï Kernel.load ¤¬¸Æ¤Ð¤ì¤ë¤Î¤Ç Ruby ¤Îʸˡ¤Ë§¤Ã¤Æ¤¤¤Ê¤¤¤È¡¢¤³¤Î»þÅÀ¤ÇÃÆ¤«¤ì¤ë¡£
ºÇ½é¡¢ÆÉ¤ß¹þ¤ß½ç¤Ç¥×¥í¥»¥¹¤Îµ¯Æ°½ç¤òÀ©¸æ¤Ç¤¤ë¤«¤È»×¤Ã¤¿¤±¤É°ã¤Ã¤¿¤Î¤Ç¤³¤ÎÉôʬ¤ÎÆÉ¤ß¹þ¤ß¤Ï¤¢¤ó¤Þ¤ê³è¤«¤·¤è¤¦¤¬¤Ê¤¤¤Î¤Ç¤¢¤Ã¤¿¡£»Äǰ¡£
2010-01-20 [ĹǯÆüµ]
_ God¤Ç´Êñdaemonize
º£¤µ¤é¤Ê¤¬¤é
¤Ê¤¼ daemontools ¤ò»È¤¦¤Î¤« - kazuho¤Î¥á¥âÃÖ¤¾ì
¤³¤ì¤òÆÉ¤ó¤Ç¡¢
Ä̾ï¤Î¥×¥í¥°¥é¥à¤ò¤½¤Î¤Þ¤Þ¥Ç¡¼¥â¥ó²½¤Ç¤¤ë¤«¤é
¤È¤¤¤¦µ½Ò¤Ë¤¦¤ó¤¦¤ó¤Èð÷¤¤¤Æ¤¤¤¿¡£*1
º£²ó¤Ï¡¢daemontools ¤â¤¤¤¤¤«¤â¤·¤ì¤Ê¤¤¤±¤É God ¤ò»È¤Ã¤Æ daemon ºî¤í¤¦¤¼¤Ã¤ÆÏᣤ³¤ì¤Ï monit ¤Ë¤Ï¿¿»÷¤Ç¤¤Ê¤¤¤è¡£
cf. M/Monit | Wiki
God¤Ç¥ª¥ì¥ª¥ì¥Ç¡¼¥â¥ó¤òºî¤ë
Î㤨¤Ð°ÊÁ°ºî¤Ã¤¿ Rswatch ¤Ã¤Æ¤¤¤¦¥í¥°¤ò´Æ»ë¤¹¤ë¥Ä¡¼¥ë¤Ê¤ó¤«¤â¡¢°ì±þ daemon ¤Î¤è¤¦¤Ëư¤¯¤±¤É¡¢¤³¤ìÍî¤Á¤¿¤é¤É¤¦¤¹¤ó¤Î¤È¤«¡¢¥·¥¹¥Æ¥àµ¯Æ°»þ¤Ë¼«Æ°Åª¤Ëµ¯¤¤ë¤è¤¦¤Ë¤¹¤ë¤Î¤É¤¦¤·¤è¤¦¡¢¤È¤«¤¤¤í¤¤¤í´ÉÍý¤·¤Ë¤¯¤¯¤Æ»ÅÊý¤Ê¤«¤Ã¤¿¡£¥Ç¡¼¥â¥ó¤òºî¤ë¤³¤È¤Ï¡¢¼Â¤Ï 1)ÌÜŪ¤Îưºî¤òºî¤ê¹þ¤à¤³¤È¡¢2)¥Ç¡¼¥â¥ó²½¤¹¤ë½èÍý¤òºî¤ê¹þ¤à¤³¤È¡¢¤ÎÆó¤Ä¤Ëʬ¤±¤é¤ì¤ë¡£¤½¤¦¡¢2 ¤ÏÌÜŪ¤¸¤ã¤Ê¤¤¡£´üÂÔ¤¹¤ëưºî¤Ç¤Ï¤¢¤ë¤±¤ì¤É¡£
God ¤ò»È¤¨¤Ð 2 ¤ÎÉôʬ¤Ï¤¹¤Ù¤Æ God Ǥ¤»¤Ë¤Ç¤¤ë¡£
¤Þ¤¿¼«Ê¬¤ÎÃæ¤Ç¤Ï daemon ¤È¸À¤¦¤È¥µ¡¼¥Ð¤È¤«¤³¤¦¤¤¤¦´Æ»ë¥Ä¡¼¥ë¤ò¤¹¤°¤Ë»×¤¤É⤫¤Ù¤Á¤ã¤¦¤ó¤À¤±¤É¡¢Ê̤ˤ½¤ó¤ÊÌò¤ËΩ¤Ä¤â¤Î¤Ð¤«¤ê¤¬ daemon ¤È¤¤¤¦¤ï¤±¤¸¤ã¤Ê¤¤¡£¤³¤³¤Ç¤Ï
¤È¤ê¤¢¤¨¤º½ªÎ»¤·¤Ê¤¤¤â¤Î
¤ÏÁ´Éô daemon ¤È¸Æ¤Ö¤³¤È¤Ë¤¹¤ë¡£Î㤨¤Ð twitter ¤Î bot ¤Ê¤ó¤«¤Ï daemon ¤Ç¤¢¤ë¡£
God¤ò»È¤Ã¤¿´ðËÜŪ¤Êdaemon²½¤Îή¤ì
¼Â¤Ï Ruby ¤À¤±¤ÎÏäǤ¢¤ì¤ÐÊÌ¤Ë God ¤ò»È¤ï¤Ê¤¯¤Æ¤â Process.daemon ¤Ç¤â daemons ¤Ç¤â¤¤¤¤¤Î¤À¤¬¡¢¤³¤ì¤Ï¸å½Ò¤¹¤ë¤³¤È¤Ë¤·¤Æ God ¤ÎÏäò¿Ê¤á¤ë¡£
¥¹¥¯¥ê¥×¥È¤òÍѰÕ
¤Þ¤º¤Ï½ªÎ»¤·¤Ê¤¤¥×¥í¥°¥é¥à¤òºî¤ë¡£¤³¤ó¤Ê¤â¤Î¤Ç¤â¤¤¤¤¡£
#! /usr/bin/env ruby require 'logger' ¡¡ i = 0 l = Logger.new( File.dirname( __FILE__ ) + '/counter.log' ) loop do l.info( i ) i += 1 sleep 1 end
¤³¤ì¤òÎ㤨¤Ð counter.rb ¤È¤¤¤¦Ì¾Á°¤ÇÍѰդ¹¤ë¡£¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤ÈÅöÁ³1É䴤Ȥ˱䡹¤È¿ô»ú¤ò¿ô¤¨¾å¤²¤Æ¤¤¤¯Æ°¤¤ò¤¹¤ë¡£
tail -f counter.log
¤Ç¡¢¤½¤ÎÍͻҤò³Îǧ¤Ç¤¤ë¡£¤ï¤¶¤ï¤¶ÀäÂХѥ¹¤Ë¤·¤Æ¤¤¤ë¤Î¤Ï¡¢
daemon ²½¤·¤¿¤È¤¤Ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬ÊѤï¤Ã¤Æ¤·¤Þ¤¦¤«¤é¡£
¤³¤ì¤Ï¤â¤¦¤½¤¦¤¤¤¦¤â¤Î¤Ê¤Î¤Ç´Î¤ËÌ¿¤¸¤Æ¤ª¤¯¡£
god¥Õ¥¡¥¤¥ë¤òÍѰÕ
Ʊ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ê²¼¤ÎÆâÍÆ¤Ç God ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤òºî¤ë¡£
God.watch do |w|
w.name = 'counter'
w.interval = 5.seconds
w.start = "ruby #{File.dirname( __FILE__ ) + '/counter.rb'}"
w.behavior( :clean_pid_file )
w.start_if do |start|
start.condition( :process_running ) do |c|
c.running = false
end
end
end
¤³¤ì¤ò counter.god ¤Î¤è¤¦¤Ê̾Á°¤ÇÊݸ¤¹¤ë¡£¥¹¥¯¥ê¥×¥È¤Î¥Ñ¥¹¤òÀäÂХѥ¹¤Ë¤·¤Æ¤¤¤ë¤Î¤Ï¤µ¤Ã¤¤ÈƱ¤¸Íýͳ¡£¤¢¤ë¤¤¤Ï¼Â¹Ô¤¹¤ë¥×¥é¥°¥é¥à¤ò PATH ¤ÎÄ̤俤Ȥ³¤í¤ËÃÖ¤±¤Ð¤â¤¦¾¯¤·ÏäϴÊñ¡£
xig_installer ¤òºî¤Ã¤¿¤Î¤Ï¼Â¤Ï¤³¤Î¤¿¤á¤Ç¤¢¤ë¡£
¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤¬ÊѤï¤Ã¤Æ¤·¤Þ¤Ã¤¿¤é God ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò¤¤¤Á¤¤¤Á½ñ¤´¹¤¨¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤ì¤ÏÌÌÅݤ¯¤µ¤¤¤·¡¢¤Þ¤ºËº¤ì¤ë¡£
¢¨ ¤³¤³¤Ç¤Ï ruby ¤Ë PATH ¤¬Ä̤äƤ¤¤ë¤³¤È¤ò´üÂÔ¤·¤¿½ñ¤Êý¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¬¡¢FreeBSD + ports ¤Î¤è¤¦¤Ë¥Ç¥Õ¥©¥ë¥È¤Î PATH ¤¬ /usr/bin ¤ÇÄɲ乤ë¥×¥í¥°¥é¥à¤¬¤¹¤Ù¤Æ /usr/local/bin ¤ËÆþ¤ë´Ä¶¤Ï¡¢¤³¤ÎÉôʬ¤â¥Õ¥ë¥Ñ¥¹¤Ë¤·¤Æ¤ª¤¯¤Ù¤¡£
god ·Ðͳ¤Çµ¯¤³¤¹
¤Þ¤º -D ¤òÉÕ¤±¤Æµ¯¤³¤¹¡£
god -D -c counter.god
¤¹¤ë¤È¥¹¥¯¥ê¥×¥È¤ò daemon ²½¤¹¤ëÍͻҡ¢¾õÂÖ¤ò´Æ»ë¤·¤Æ¤¤¤ëÍͻҤ¬¤½¤Î¤Þ¤Þ¥¿¡¼¥ß¥Ê¥ë¤Ëɽ¼¨¤µ¤ì¤ë¡£Àµ¾ï¤Ë daemon ²½¤Ç¤¤Æ´Æ»ë¤Ç¤¤Æ¤¤¤ì¤Ð ^C ¤Ç½ªÎ»¤¹¤ë¡£
¤³¤Î¤È¤¡¢daemon ²½¤·¤¿¥¹¥¯¥ê¥×¥È¤Ï¤½¤Î¤Þ¤Þư¤Â³¤±¤ë
¤¬¡¢¹²¤Æ¤º
god -c counter.god
¤ÈÂÇ¤Ã¤Æ god ¥×¥í¥»¥¹¤Î daemon ²½¤ò¹Ô¤¦¡£¤¹¤ë¤È
º£Æ°¤¤¤Æ¤¤¤ë¥×¥í¥»¥¹¤ò¤½¤Î¤Þ¤Þ´Æ»ëÂоݤˤǤ¤ë
¤Î¤Ç¡¢¤³¤Î¾õÂÖ¤Ç
god stop counter
¤ÈÂǤƤлߤá¤é¤ì¤ë¡£¤¢¤ë¤¤¤Ï
god terminate
¤È¤¹¤ì¤Ð´Ý¤´¤ÈÁ´Éô½ªÎ»¤Ç¤¤ë¡£
¤É¤¦¤À¤í¤¦¡£
ñ¤Ë½ªÎ»¤·¤Ê¤¤¥×¥í¥°¥é¥à¤òºî¤Ã¤¿¤À¤±¤Ê¤Î¤Ë God ¤ò³ú¤Þ¤»¤ë¤³¤È¤Ç¤Á¤ã¤ó¤È daemon ²½¤Ç¤¤Æ¤¤¤ë¡£*2
¤Þ¤¿¡¢¤³¤³¤Þ¤Ç¤ÎÎã¤Ï¤¹¤Ù¤Æ Ruby ¤Ç½ñ¤¤¤Æ¤¤¤ë¤¬¡¢daemon ²½¤·¤¿¤¤¥×¥í¥°¥é¥à¤Ï²¿¤Ç½ñ¤«¤ì¤Æ¤¤¤Æ¤â´Ø·¸¤Ê¤¤¡£God¤Ë¥×¥í¥»¥¹¤Îµ¯Æ°½ç½ø¤ò¶µ¤¨¤¿¤¤ ¤Ê¤É¤Ç¿¨¤ì¤Æ¤¤¤ë tiarra ¤Ï Perl À½¤À¤·¡¢¤Ê¤ó¤Ç¤â¤è¤¤¡£
¤ª¤Þ¤± - Ruby¤Çdaemon¤òºî¤Ã¤Æ´ÉÍý¤¹¤ë¤½¤Î¾¤ÎÊýË¡
»à³è´Æ»ë¤ä¥ê¥½¡¼¥¹¾ÃÈñ¤ò´Æ»ë¤·¤Æ¼«Æ°Åª¤ËºÆµ¯Æ°¡¢¤Ê¤É¤Îµ¡Ç½¤¬Íפé¤Ê¤¤¾ì¹ç¤Ï°Ê²¼¤Î¥ê¥ó¥¯Àè¤â»²¹Í¤Ë¤Ê¤ë¡£
- Ruby: daemon (Japanese)
- ¤¹¤´¤¯ÃúÇ«¤Ç¡¢Ruby 1.8 ¸þ¤±¤â´Þ¤á¤Æ»²¹Í¤Ë¤Ê¤ë
- Ëͤ¿¤Á¤¬ÂÔ¤Á˾¤ó¤Ç¤¤¤¿Ruby¥¹¥¯¥ê¥×¥È¤ò¥Ç¡¼¥â¥ó²½¤¹¤ëÊýË¡ - (rubikitch loves (Emacs Ruby CUI))
- Ruby 1.8 ¤â´Þ¤á¤Æ³Ú¤ò¤¹¤ëÊýË¡
¤¿¤À¤·¤³¤ì¤é¤Î¾ðÊó¤À¤±¤Ç¤Ïºî¤Ã¤¿ daemon ¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£Ruby¥¹¥¯¥ê¥×¥È¸ÂÄê¤Ç¤¤¤¤¤Ê¤é°Ê²¼¤ò»È¤¦¤È God ¤è¤ê³Ú¤Ë´ÉÍý¤Ç¤¤ë¡£
¤³¤ì¤ò»È¤¨¤Ð´ðËÜŪ¤Ë¤Ï
Daemons.run(¥Ç¡¼¥â¥ó²½¤·¤¿¤¤¥¹¥¯¥ê¥×¥È¤Î¥Õ¥¡¥¤¥ë̾)
¤À¤±¤ÇºÑ¤à¡£
¤Þ¡¢¤â¤Á¤í¤ó´Æ»ë¤Ï¤Ç¤¤Ê¤¤¤±¤É¡£
2010-01-21 [ĹǯÆüµ]
_ rqr ¤ò»È¤Ã¤Æ Ruby ¤Ç QRCode ²èÁü¤òºî¤ë
¤µ¤¡¡¢º£¤µ¤éÆüµ¥·¥ê¡¼¥º¤¬Éü³è¤·¤Þ¤·¤¿¤è¡£
QRCode ²èÁü¤ò Ruby ¤Çºî¤ë
QR¥³¡¼¥É¤ò»»½Ð¤¹¤ëÉôʬ¤Ï ext ¤À¤·¡¢²èÁü¤òÅǤ½Ð¤¹Éôʬ¤Ï¥Í¥¤¥Æ¥£¥Ö¤Î¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¤Î¤Ç¡¢Â¿¾¯½àÈ÷¤¬ÌÌÅݤÀ¤±¤É¤¿¤Ö¤ó¤½¤ì¤Ê¤ê¤Î®ÅÙ¤¬´üÂԤǤ¤ë¡£
¼Â¤Ï°ÊÁ°¤«¤é one-liner ¤Ê¤ó¤«¤Ç»È¤Ã¤Æ¤Ï¤¤¤¿¤ó¤À¤±¤É¡¢²þ¤á¤ÆÄê·¿ºî¶È¤Ë»È¤¨¤ë¤è¤¦¤Ë¤Á¤ç¤Ã¤È¤·¤¿¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤Æ¤ß¤¿¡£
¤Ç¡¢¤½¤Î¤È¤¤Ëµ¤¤Å¤¤¤¿¤ó¤À¤±¤É¡¢¤³¤ì¡¢¥µ¥¤¥È¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¡£
RQR::QRCode.new RQR::QRCode.create
¤¬Æ±¤¸¤è¤¦¤Ëư¤¯¤è¤¦¤Ë½ñ¤¤¤Æ¤¢¤ë¤ó¤À¤±¤É¡¢new ¤ÎÊý¤Ï block ¤Ï¼õ¤±¼è¤é¤Ê¤¤¡£create ¤ÎÊý¤Ï block ¤ò¼õ¤±¼è¤Ã¤Æ close ¤¹¤ë¤Þ¤ÇÁ´Éô¤Þ¤«¤Ê¤Ã¤Æ¤¯¤ì¤ë¡£¤¢¤È¡¢Windows ÈǤÇÌÌÇò¤¯¤Ê¤¤Æ°¤¤ò¤¹¤ë¡£
2009-10-14 ¤Î twitter ¤Î¥í¥°¤è¤ê¡£
14:34:29 >wtnabe< ¤¢¡¼ rqr 0.2.2 ¤Ï Windows ¤Ç¥Ð¥°¤Ã¤Æ¤ë¤Î¤«
14:48:53 >wtnabe< ʬ¤«¤Ã¤Æ¤¤¿¡£RQR::QRCode.new.save ¤À¤ÈÅܤé¤ì¤ë¡£
RQR::QRCode.new { |qr| qr.save } ¤À¤ÈÂç¾æÉס£¤Ç¤â close ¤¬¤Ê¤¤¤Ã¤ÆÅܤé
¤ì¤ë¤Î¤Ï¤Á¤ç¤Ã¤ÈÉ԰¤À¤Ê¤¡¡£
¤È¤¤¤¦¤³¤È¤Ç create »È¤Ã¤Æ¤ª¤¯¤Î¤¬¤¤¤Á¤Ð¤ó̵Æñ¤Ê¤Î¤«¤Ê¡£Windows ¤Ç¤Ê¤ó¤«Ê¸¶ç¸À¤ï¤ì¤ë¤Î¤Ïº£¤Î¤È¤³¤í°®¤ê¤Ä¤Ö¤·¤Æ¤ª¤¯¤·¤«¤Ê¤¤¤ß¤¿¤¤¡£
¢¨ ¤Ê¤ó¤«¡¢³±¤µ¤ó¤¬Èógem´Ä¶¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ë¡£
²èÁü¤¬É¬Íפʤ¤¾ì¹ç¤Ï¾¤ÎÊýË¡¤Ç¤â¤¤¤¤¤±¤É
¼Â¤Ï¤â¤¦ Web ¾å¤Ë QR ¥³¡¼¥É¤òɽ¼¨¤µ¤»¤ë¤¿¤á¤À¤±¤Ê¤é¤³¤¦¤¤¤¦²èÁü¤òÀ¸À®¤¹¤ë¥Ä¡¼¥ë¤Ï¤Ê¤¯¤Æ¤â¤è¤«¤Ã¤¿¤ê¤¹¤ë¡£¤Ê¤¼¤Ê¤é JavaScript ¤¬¤¢¤ì¤ÐưŪ¤ËÀ¸À®¤Ç¤¤ë¤«¤é¡£
¤Ç¤âÎ㤨¤Ð°õºþÍѤ˲èÁü¤òÍѰդ·¤¿¤¤¤È¤«¤¤¤¦¾ì¹ç¤Ï¤ä¤Ï¤ê¡Ö²èÁü¡×¤ò¼«Æ°À¸À®¤¹¤ëÊý¤¬³Ú¡£¼ÂºÝ¤Ë¤Ï¤³¤Î rqr ¤À¤±¤Ç¤ÏºÙ¤«¤¤Ä´À°¤ò¤¹¤ë¤Î¤ÏÂçÊѤʤΤǡ¢ImageMagick ¤Ê¤É¤ò³ú¤Þ¤»¤ëɬÍפ¬¤¢¤ë¤È»×¤¦¤±¤É*1¡£
*1 ¼ÂºÝ¡¢·ï¤Î ImageMagick ¤Î¥ª¥×¥·¥ç¥ó¤òÄ´¤Ù¤¿¤Î¤Ï¤³¤Î¤¿¤á¡£
2010-01-22 [ĹǯÆüµ]
_ ¥¤¥ó¥È¥égem server±¿Íѳ«»Ï
2009.10.29
09:14:00 >wtnabe< gemcutter ¥µ¡¼¥Ð¤ò¥¤¥ó¥È¥é¤ËΩ¤Æ¤é¤ì¤ë¤ÈÊØÍø¤À¤í¤¦¤Ê
2009.12.03
21:14:52 >wtnabe< ¥¤¥ó¥È¥é¤Ë gemcutter ¥µ¡¼¥Ð¤¬¤¢¤ë¤ÈÊØÍø¤À¤è¤Í
¼ò¤ò°û¤ó¤À¤È¤«¤Ç¤Ê¤¯¡¢Ê¿µ¤¤ÇƱ¤¸¤³¤È¤ò¤¯¤êÊÖ¤·¸À¤¦¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤Æ¤¤¤ë¡£¤Þ¤¤¤ê¤Þ¤·¤¿¤Ê¡£
¤½¤ì¤Ï¤È¤â¤«¤¯¡¢gem server ¤¬´Êñ¤¹¤®¤Æ¥Ó¥Ó¤ë·ï ¤ò½ñ¤¤¤Æ¤«¤éÃΤé¤ó´Ö¤Ë¤º¤¤¤Ö¤ó»þ´Ö¤¬·Ð¤Ã¤Æ¤·¤Þ¤Ã¤¿¤¬¡¢¤ä¤Ã¤È³èÍѤ·»Ï¤á¤¿¡£
2010.01.22
11:37:34 >wtnabe< ¥¤¥ó¥È¥é¤Ë gem push ¤·¤¿¤¤¤·¤¿¤¤¤È»×¤Ã¤Æ¤¿¤±¤É¡¢¤È¤ê ¤¢¤¨¤º Rakefile ¤Ë scp ¤¹¤ë task ¤·¤¿¡£permission ¤ò¹Í¤¨¤¿¤¯¤Ê¤¤¤«¤é DAV ·Ðͳ¤Ë¤·¤¿Êý¤¬¤¤¤¤¤«¤Ê¤¡¡£
¤É¤¦¤·¤¿¤«¤È¤¤¤¦¤È¡¢cutagem ¤Çºî¤Ã¤¿ Rakefile ¤ËľÀܤ³¤ó¤Ê task ¤ò½ñ¤Â¤·¤Æ¤ªÃã¤òÂù¤·¤¿¡£²æ¤Ê¤¬¤é¤Ò¤É¤¤¡£
desc "push gem to intra gem server"
task :push_gem do
name = "#{NAME}-#{VERS}.gem"
sh %{scp name HOST:/PATH/TO/GEM_SERVER/gems}
end
¤³¤ó¤Ê¤ó¡£¥µ¡¼¥Ð¦¤Ç¤Ï
/etc/cron.hourly/generate_gem_index
#! /bin/sh GEM_ROOT=/PATH/TO/GEM_SERVER gem generate_index -d $GEM_ROOT chown -R Web¥µ¡¼¥Ð¤Ë¤·¤¿¤ó¤À¤Ã¤± $GEM_ROOT
¤³¤ó¤Ê´¶¤¸¤Ç²ó¤·¤Æ¤ë¡£
scp ¤ÇÅꤲ¤ë¤Î¤ä¤á¤Æ DAV ¤ÇÅꤲ¤é¤ì¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¸¢¸Â¤È¤« owner ¤È¤«ÌÌÅݤʤ³¤È¹Í¤¨¤ëɬÍפʤ¯¤Ê¤ë¤è¤¦¤Êµ¤¤â¤¹¤ë¤±¤É¡¢¤¢¤ó¤Þ¹Í¤¨¤Æ¤Ê¤¤¡£¤É¤¦¤»¤·¤Ð¤é¤¯¼«Ê¬¤·¤« push ¤·¤Ê¤¤¤À¤í¤¦¤·¡£
¤¢¤È¤Ï¥¤¥ó¥È¥é¤Ç¾¤Ëư¤¤¤Æ¤ë¥Û¥¹¥È¤Î
/etc/gemrc
¤Ë¡¢¤Ò¤Ã¤½¤ê
:sources: - http://HOST/PATH
¤Ç¡¢gem ¤òõ¤¹¥µ¡¼¥Ð¤ò½ñ¤Â¤·¤Æ¤ä¤ë¡£
¤Á¤Ê¤ß¤Ë¥¤¥ó¥È¥é¤Îgem¤Ï¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¤Ê¤¯shlauncher¤Ç¸Ç¤á¤¿¥Ä¡¼¥ë·²¤ÎÇÛ¿®¤òÁÛÄꤷ¤Æ¤¤¤ë¡£
2010-01-24 [ĹǯÆüµ]
_ freebsd-update ¤Ç 6.4-RELEASE ¤Ë
¼«Â𥵡¼¥Ð¤Î FreeBSD ¤Ï´ðËÜŪ¤Ë¤Ï¤ªµ¤³Ú¼Â¸³ÍѤʤó¤À¤±¤É¡¢DNS cache ¥µ¡¼¥Ð¤ò·ó¤Í¤Æ¤¤¤ë¤Î¤Ç»ö¸Î¤ë¤È¤Þ¤º¤¤¡£¤½¤¦¤¤¤¦°ÕÌ£¤â´Þ¤á¤Æ¸Å¤á¤Î¤â¤Î¤òÄɤ䫤±¤Æ¤ë¤ó¤À¤±¤É¡¢º£¤Þ¤Ç»È¤Ã¤Æ¤¤¤¿ 6.3 ¤¬ 2010ǯ1·î¤¤¤Ã¤Ñ¤¤¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¯¤Ê¤ë¤Î¤Ç 6.4 ¤Ë¾å¤²¤¿¡£
freebsd-update
¼ê½ç¤Ï¤³¤ó¤Ê´¶¤¸¡£
freebsd-update -r RELEASE upgrade freebsd-update -r RELEASE install shutdown -r now freebsd-update install
library ¤¬¾å¤¬¤Ã¤Æ ports ¾å¤²¤í¤Ã¤Æ¸À¤ï¤ì¤¿¤Î¤Ç°Ê²¼¤Îºî¶È¤òÄɲá£
portupgrade -af freebsd-update install
ǰ¤Î¤¿¤á¤â¤¦°ìÅٺƵ¯Æ°¤·¤È¤¤¤¿¡£ports ¤Î full rebuild ¤ÏÅÓÃæ¤ÇÀßÄê¤ò²¿¸Ä¤«Ê¹¤«¤ì¤Ê¤¬¤é¤Ç´ÝȾÆü°Ê¾å³Ý¤«¤Ã¤¿¤«¤Ê¡©
¤½¤¦¤·¤¿¤é ircd-hybrid, nadoka, tiarra ¤Îµ¯Æ°¼þ¤ê¤¬¥¤¥Þ¥¤¥Á¡¢nadoka ¤¬¤¦¤Þ¤¯¤¤¤Ã¤¿¤ê¤¤¤«¤Ê¤«¤Ã¤¿¤ê¤·¤Æ¤ë¡£¤â¤·¤«¤·¤Æ nadoka ¤¬ ircd ¤è¤êÀè¤Ëµ¯¤¤¿¤ê¤·¤Æ¤ë¤Î¤«¤â¤·¤ì¤Ê¤¤¡£¤É¤¦¤Ë¤«¼êư¤Ç½çÈ֤⤤äÁ¤ê°Õ¼±¤·¤ÆºÆµ¯Æ°¤·¤Æ°Õ¿Þ¤·¤¿Æ°¤¤Ë¡£¤ä¤Ã¤Ñ ircd ¤â God ´ÉÍý¤Ë¤·¤Ê¤¤ã¥À¥á¤À¤Ê¤¡¡£
Trac ¤¬ 0.11 ¤Çư¤«¤Ê¤¯¤Ê¤Ã¤¿
¢¨ ²ò·èºÑ¤ß¡£¤Ê¤¼¤« mod_fastcgi ¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¿¡£¤³¤ì¤òÌᤷ¤¿¤À¤±¤Çư¤¤¤¿¡£
Trac, pysvn ¼þ¤ê¤Ï¤¤¤Ä¤â¤Á¤ç¤Ã¤È¥Ï¥Þ¤ë¤Î¤ÇÌÌÅݤÇÊüÃÖ¤·¤Æ¤¤¤¿¤ó¤À¤±¤É¡¢portupgrade -af ¤Ç°ì½ï¤Ë¾å¤¬¤Ã¤Æ¤·¤Þ¤Ã¤Æ°Æ¤ÎÄêÆ°¤«¤Ê¤¯¤Ê¤Ã¤¿¡£
¤É¤¦¤â PYTHON_EGG_CACHE ¤¬ÀßÄê¤Ç¤¤Æ¤¤¤Ê¤¯¤Æ cache ¤òºî¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¤ß¤¿¤¤¤Ê¤ó¤À¤±¤É¡¢
Apache + FastCGI
¤Çư¤¯ÀßÄ꤬½Ð¤Æ¤³¤Ê¤¤¡£¤Ê¤ó¤« FastCgiConfig --initial-env ¤¸¤ã¤Ê¤¯¤Æ PythonOption ¤ÇÅϤ¹¤ß¤¿¤¤¤Ê¤ó¤À¤±¤É¡¢edgewall ¤ÎÊý¤Ë¥¥Á¤Ã¤È½ñ¤«¤ì¤Æ¤Ê¤¤¤Ê¤¡¡£Python ÆÉ¤á¤ë¿Í¤¬¼«ÎϤDzò¼á¤·¤Æ¥Ö¥í¥°¤Ë½ñ¤¤¤Æ¤¢¤ë¤Î¤Ï¤¢¤ê¤¬¤¿¤¤¤ó¤À¤±¤É¡¢0.11 ¤¬½Ð¤Æ¤º¤¤¤Ö¤ó·Ð¤Ä¤Î¤Ë¾ðÊó¤¬À°Íý¤µ¤ì¤Æ¤Ê¤¤¤Î¤Ï Python À½¤Î¥Ä¡¼¥ë¤Ã¤Ý¤¯¤Ê¤¤°õ¾Ý¡£
¤È¤ê¤¢¤¨¤º¼«Âð¤Ç Trac ¤Ï½ÅÍפ¸¤ã¤Ê¤¤¤«¤éº£Åٹͤ¨¤è¤¦¡£
2010-01-26 [ĹǯÆüµ]
_ Mechanize¤Ç̵Ãã¤ò¤¹¤ë
¼«Ê¬¤Ë¤È¤Ã¤Æ Mechanize ¤Ë¤è¤ë¼«Æ°²½¤Ï¤¿¤¤¤¬¤¤ÌµÍý¤òÄ̤¹¹Ô°Ù¤Ç¤¢¤ë¡£Ê¬¤«¤ê¤ä¤¹¤¯¸À¤¨¤Ð API ¤Ê¤ó¤«¤Ê¤¤¡¢¤¢¤ë¤¤¤Ï¤¢¤Ã¤Æ¤â¤ê¤Ê¤¤¤ß¤¿¤¤¤Ê¾õÂ֤ǡ¢¤½¤ì¤Ç¤â¤É¤¦¤Ë¤«¼«Æ°²½¤·¤¿¤¤¤«¤é Mechanize ¤ò»È¤¦¡£
Mechanize ¤¬»ý¤Ã¤Æ¤¤¤ëɸ½àŪ¤Êµ¡Ç½¤À¤±¤ÇºÑ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ï¤Þ¤À¤«¤Ê¤ê¥Þ¥·¤Ç¡¢¼ÂºÝ¤Î¤È¤³¤í̵Íý¤È¤¤¤¦¤«¡Ö̵Ãã¡×¤Ê¥ì¥Ù¥ë¤ËÆÍÆþ¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¡¢¤Ê¤¼¤«¤½¤ì¤Ê¤ê¤Ë¤¢¤Ã¤¿¤ê¤¹¤ë¡£¶ñÂÎŪ¤Ë¤Ï HTML ¤¬²õ¤ì¤Æ¤¤¤ë¤Î¤Ç¥Ñ¡¼¥¹¤Ë¼ºÇÔ¤·¤Æ¡¢¤¢¤ë¤Ï¤º¤ÎÍ×ÁǤ¬¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¤ê¤¹¤ë¾ì¹ç¤Ê¤É¤Ç¤¢¤ë¡£
º£²ó¤Ï¤½¤ó¤Ê̵Ãã¤Î°ìÉô¤ò¤´¾Ò²ð¡£
¥Ñ¡¼¥µ¤ò Hpricot ¤ËÊѤ¨¤ë
¤º¤Ð¤ê´ðËܤǤ·¤ç¤¦¡£
Mechanize ¤Ï 0.9 °Ê¹ß¥Ç¥Õ¥©¥ë¥È¥Ñ¡¼¥µ¤ò Hpricot ¤«¤é Nokogiri ¤ËÀÚ¤êÂØ¤¨¤Æ¤¤¤ë¤¬¡¢¤½¤â¤½¤â Nokogiri ¤Ï HTML ÍѤˤǤ¤Æ¤¤¤Ê¤¤¡£XML ÍÑ¤ÎÆ»¶ñ¤Ë¡¢ Hpricot ¤Ë¤è¤¯»÷¤¿¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÉÕ¤±¤¿¤â¤Î¤Ç¤¢¤ë¡£HTML ¤Ï¼«Í³Å٤ι⤤½ñ¼°¤Ç¡¢XML ÍѤΥΥ³¥®¥ê¤Ç¤Ï»õ¤³¤Ü¤ì¤òµ¯¤³¤¹¤³¤È¤¬¤è¤¯¤¢¤ë¡£
¤½¤³¤Ç¤³¤ÎÀßÄê¡Ê0.9.0 ¡Á 0.9.2¡Ë¡£
require 'hpricot' WWW::Mechanize.html_parser = Hpricot
cf.
- Mechanize ¤Î parser ¤ò Hpricot ¤Ë¤¹¤ë
- hpricot's hpricot at master - GitHub
- hpricot | gemcutter | awesome gem hosting
0.9.3 ¡Ê°Ê¹ß¡©¡Ë¤Ï¥µ¥Ö¥¯¥é¥¹¤ÎÍøÍѤËÃí°Õ
html_parser ¤¬¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥¢¥¯¥»¥Ã¥µ¤È¤·¤ÆÄêµÁ¤µ¤ì¤¿¤Î¤Ç¥¤¥ó¥¹¥¿¥ó¥¹¤´¤È¤Ë parser ¤ò¥»¥Ã¥È¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ï¤¤¤¤¤ó¤À¤±¤É¡¢Mechanize¥¯¥é¥¹¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò self.class ¤Ç»²¾È¤·¤Æ¼«¿È¤Ë½ñ¤Ìᤷ¤Æ¤¤¤ë¤Î¤Ç¡¢
¥µ¥Ö¥¯¥é¥¹¤ËÈ¿±Ç¤µ¤ì¤Ê¤¤
¾õÂ֤ˤʤäƤ¤¤ë¡£¡Ê¾¯¤Ê¤¯¤È¤â Ruby 1.8.7 ¤Ç¤Ï parser ¤¬ nil ¤Ë¤Ê¤Ã¤ÆÆ°¤«¤Ê¤«¤Ã¤¿¡£¡ËÄêµÁÉôʬ¤Ï°Ê²¼¤Î¤è¤¦¤Ê´¶¤¸¡£
class Mechanize
...
@html_parser = Nokogiri::HTML
class << self; attr_accessor :html_parser, :log end
def initialize
...
@html_parser = self.class.html_parser
end
...
end
ư¤«¤¹¤È¤³¤ó¤Ê´¶¤¸¡£
$ cat sub_mechanize.rb class SubMechanize < WWW::Mechanize end $ irb irb(main):001:0> require 'mechanize' => true irb(main):002:0> a = WWW::Mechanize.new => (snip)irb(main):003:0> a.html_parser => Nokogiri::HTML irb(main):004:0> require './sub_mechanize' => true irb(main):005:0> b = SubMechanize.new => (snip) irb(main):006:0> b.html_parser => nil
¶²¤é¤¯ Mechanize ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¤Ä¤¤¤Æ¤Ï html_parser ¤Î¥»¥Ã¥ÈÊýË¡¤Ë¸ß´¹À¤ò¤È¤ê¤Ä¤Ä¥¤¥ó¥¹¥¿¥ó¥¹¤´¤È¤ËÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¤«¤Ã¤¿¤¿¤á¤Ë¤³¤¦¤Ê¤Ã¤¿¤ó¤À¤í¤¦¤±¤É¡¢¤¤¤Ä¤â¥Ç¥Ð¥Ã¥°¤·¤ä¤¹¤¤¤è¤¦¤ËÆÈ¼«¤Î¥µ¥Ö¥¯¥é¥¹¤ò³ú¤Þ¤·¤Æ¤¤¤¿*1¤Î¤Ç¡¢¤Þ¤Ã¤¿¤¯ parse ¤Ç¤¤Ê¤¤¸½¾Ý¤Ë¥Ï¥Þ¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£»ÅÊý¤Ê¤¤¤Î¤Ç¥µ¥Ö¥¯¥é¥¹¤ÎÃæ¤ÇÆÈ¼«¤ËÄêµÁ¤¹¤ë¤³¤È¤Ë¤·¤¿¡£
class SubMechanize < WWW::Mechanize
def initialize
super
@html_parser = Hpricot
end
end
¤³¤ó¤Ê¤ó¤Ç¤¤¤¤¤Î¤«¤Ê¡£
cf. Ruby¤ÎMechanize¤Î0.9.3¤¬6·î8Æü¤Ë½Ð¤Æ¤¿¤Ã¤Ý¤¤ - ¤¤¿¤â¤â¤ó¤¬¤¬¤¤¿¤ó¡£
Field ¤òºî¤ë
¤³¤ì¤Ï¤Þ¤À½éµé¡£
Form#add_field!( name, value )
̵ÂÌ¤Ë JavaScript ¤ËʬΥ¤·¤¿¥Õ¥©¡¼¥à¤Î¾ì¹ç¡¢É¬Í×¤Ê field ¤¬ HTML ¾å¤Ë¸ºß¤·¤Ê¤¤¤³¤È¤¬¤è¤¯¤¢¤ë¡£¤½¤ÎÃͤò̵ÍýÌðÍý form ¾å¤ËÈ¿±Ç¤¹¤ë¤¿¤á¤Ë»È¤¦¡£
FileUpload ¤òºî¤ë
¤³¤ì¤Ëµ¤¤Å¤¤¤¿¤È¤¤Ë¤Ï¤±¤Ã¤³¤¦´ò¤·¤«¤Ã¤¿¡£add_field! ¤Ç¤Ï Field ¤Ïºî¤ì¤Æ¤â FileUpload ¤Ïºî¤ì¤Ê¤¤¤«¤é¡£
¤É¤¦¤ä¤ë¤«¤È¤¤¤¦¤È¡¢Form ¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ instance_eval ¤ò»È¤¦¡£
Form#enctype = 'multipart/form-data'
Form#instance_eval {
@file_uploads << WWW::Mechanize::Form::FileUpload.new( name[, filename] )
}
¤â¤È¤â¤È file_upload ¤¬Â¸ºß¤·¤Ê¤¤ form ¤È¤·¤Æ²ò¼á¤·¤¿¾ì¹ç¤Ï enctype ¤¬°ã¤¦¤³¤È¤¬¤¢¤ë¡Ê¤È¤¤¤¦¤«»ØÄꤷ¤Æ¤Ê¤¤¤«¤â¡Ë¤Î¤Ç¼ê¤ÇÊѹ¹¤·¤Æ¤¢¤²¤ë¤ÈµÈ¡£
Form ¤òºî¤ë
instance_eval() ¤ò»×¤¤½Ð¤·¤Æ¤·¤Þ¤¨¤Ð´Êñ¡£¤â¤¦ form ¤½¤Î¤â¤Î¤ò²ò¼á¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¤È¤¤¤¦¶§°¤Ê HTML ¸þ¤±¡£
Page#instance_eval {
@forms << WWW::Mechanize::Form.new( node[, mech, page] )
}
node ¤Ë¤Ï Hpricot::Elem ¥ª¥Ö¥¸¥§¥¯¥È¤òÆþ¤ì¤Æ¤¢¤²¤ì¤Ð ok.
¤³¤Î¤È¤¡¢Hpricot::Elem ¤Ë¤Ê¤ì¤Ð¸µ¤Îʸ»úÎó¤Ï¤Ê¤ó¤Ç¤â¤è¤¤¤Î¤Ç¡¢
Form.new( Hpricot( String#scan( /<form.*?>.*?<\/form>/m ).to_s ).at( 'form' ) )
¤ß¤¿¤¤¤Ê¤³¤È¤â¤Ç¤¤ë¡£HTML ¤¬²õ¤ì¤Æ¤¤¤ë¤Î¤ÇÀµµ¬É½¸½¤Ç¤¤¤Ã¤¿¤ó form ¤À¤±°ú¤Ã¤³È´¤¤¤Æ¡¢¤½¤ì¤ò Hpricot ¥ª¥Ö¥¸¥§¥¯¥È¤ËÌᤷ¤Æ¤ä¤Ã¤Æ Form ¤òºî¤ë¡£ÅÓÃæ¤ÎÀ°·Á¤â»×¤¤¤Î¤Þ¤Þ¡£
Page ¤òºî¤ë
Page ¤òºî¤ë¤Î¤Ï¤Á¤ç¤Ã¤È¼ê¤¬³Ý¤«¤ë¡£°ÊÁ°ºî¤Ã¤¿¤â¤Î¤ò gist ¤ËÃÖ¤¤¤Æ¤¢¤ë¤Î¤Ç»²¹Í¤Ë¤Ê¤ì¤Ð´ò¤·¤¤¡£
*1 http://gist.github.com/76140