2011-09-03 [ĹǯÆüµ]
_ node repl¤ÈÀ¸jshint
À¸¤Îjshint¤Î»È¤¤Êý
commit 3c77ac ¤Ç³Îǧ¡£
- JSHINT¤È¤¤¤¦Ì¾Á°¶õ´Ö¤ÎÃæ¤Ë½èÍý¤¬¼ý¤Þ¤Ã¤Æ¤¤¤ë
- JSHINT( src, opts ) ¤Î·Á¤Ç lint ¤ò¼Â¹Ô
- src ¤ÏÅöÁ³Ê¸»úÎó¡¢opts ¤Ï JSON ?
- error ¤¬¤Ê¤±¤ì¤Ð JSHINT() ¤ÎÌá¤ê¤Ï true ¤Ç¡¢¤¢¤ì¤Ð false
- JSHINT.data() ¤Ç¼Â¹Ô»þ¤ÎºÙ¤«¤¤¥Ç¡¼¥¿¤¬¼è¤ì¤ë
- JSHINT.report() ¤Ï¤³¤ì¤ò HTML ²½¤·¤Æ¤¯¤ì¤ë
- error ¤Ï JSHINT.errors ¤È¤¤¤¦¥×¥í¥Ñ¥Æ¥£¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤ë Hash ¤Î Array ¤ò¸«¤ì¤Ðʬ¤«¤ë
- ¤¿¤À»Äǰ¤Ê¤³¤È¤Ë JSON ¤Î¤è¤¦¤Ë¸«¤¨¤Æ valid ¤Ê JSON ¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢¤³¤Î¾ðÊó¤ò JS °Ê³°¤Î´Ä¶¤Ç¤½¤Î¤Þ¤Þ°·¤¦¤Î¤ÏÆñ¤·¤¤¡£
°Ê¾å¤Î¤³¤È¤ònode repl¤Ç³Îǧ¤¹¤ë
- node >
- var JSHINT = require( /PATH/TO/jshint.js ).JSHINT
- var fs = require('fs')
- JSHINT( fs.readFileSync( /PATH/TO/jshint.js, encoding ) )
- // => true
- jshint.js ¼«¿È¤ò°ìÉô½ñ¤´¹¤¨¤ÆÊݸ¡ÊÎ㤨¤ÐËöÈø¤Ë , ¤ò¤¹¤È¤«¡Ë
- JSHINT( fs.readFileSync( /PATH/TO/jshint.js, encoding ) )
- // => false
- JSHINT.errors
·ë²Ì¡¢
[ { id: '(error)',
raw: 'Extra comma.',
evidence: ' wsh : true, // if the Windows Scripting Host environment globals',
line: 320,
character: 29,
a: undefined,
b: undefined,
c: undefined,
d: undefined,
reason: 'Extra comma.' } ]
Åö¤¿¤êÁ°¤À¤±¤É¥Á¥§¥Ã¥¯ÂоݤÏʸ»úÎó¤Ê¤Î¤Ç¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤Î¥¨¥é¡¼¤Ê¤Î¤«¤È¤¤¤¦¾ðÊó¤Ï¤Ê¤¤¡£¤³¤³¤Ï¸Æ¤Ó½Ð¤·Â¦¤ÇÂбþ¤ò¼è¤Ã¤Æ¤ä¤ëɬÍפ¬¤¢¤ë¡£
¤Ê¤ë¤Û¤É¡£
fs.readFileSync¤Ë¤Ïencoding¤ò˺¤ì¤º¤Ë
fs.readFileSync( path, encoding )
¤Ê¤ó¤À¤±¤É¡¢encoding ¤òÍ¿¤¨¤Ê¤¤¤Èʸ»ú¤È¤·¤Æ²ò¼á¤Ç¤¤Ê¤¤¤Ã¤Ý¤¤¡© ASCII ¤Î¥Õ¥¡¥¤¥ë¤Ç¤â¥À¥á¤À¤Ã¤¿¡£¿ô»ú¤ÎÍåÎó¤Ë¤Ê¤Ã¤Æ¤¿¤Î¤Ç codepoint Ū¤Ê²¿¤«¤Ë¤Ê¤Ã¤Æ¤ë¤Î¤«¤Ê¤¡¡£
¤È¤ê¤¢¤¨¤º utf-8 ¤Ë¤·¤¿¤éư¤¤¤¿¤±¤É¡¢¤¿¤Ö¤ó ascii ¤Ç¤â¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¡£»î¤·¤Æ¤Ê¤¤¤±¤É¡£
2011-09-04 [ĹǯÆüµ]
_ Ruby¤Îexecjs¤¬¤¹¤´¤¤·ï
¤Ç¤¤ë¤³¤È¤Èµ¯Æ°ÊýË¡¤È¥¨¥ó¥¸¥ó¤Î°ã¤¤
- Ruby¥¹¥¯¥ê¥×¥È¤«¤éJavaScript¥³¡¼¥É¤ò¼Â¹Ô¤Ç¤¤ë
- V8, node, spidermonkey, rhino ¤Ê¤É¤ÎÃæ¤«¤é¤½¤Î¤È¤ÍøÍѤǤ¤ë¥¨¥ó¥¸¥ó¤ò autodetect ¤·¤Æ¼Â¹Ô¤·¤Æ¤¯¤ì¤ë
- ´Ä¶ÊÑ¿ô¤«¤é¥¨¥ó¥¸¥ó¤ò»ØÄê¤Ç¤¤ë
- ExecJS::Runtimes ¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë RubyRacer ¤ä Node ¤Î̾Á°¤Ç export EXECJS_RUNTIME=Node ¤Ê¤É¤È»ØÄꤹ¤ë
- Î㤨¤Ð Rhino ¤Ï therubyrhino gem ¤Ë°Í¸¤¹¤ë¡£¤³¤¦¤·¤¿°Í¸ gem ¤Ï¼«Æ°¤Ç¤ÏÆþ¤é¤Ê¤¤¤Î¤ÇÃí°Õ¤¬É¬Í×
- ²¿¤Î gem ¤â½àÈ÷¤·¤Æ¤¤¤Ê¤±¤ì¤Ð execjs 1.2.4 ¤ÎÃʳ¬¤Ç¤Ï node.js, JavaScriptCore, SpiderMonkey, JScript ¤Î½ç¤ÇÍøÍѲÄǽ¤«¤É¤¦¤«Ãµ¤·¤Æ¤¯¤ì¤ë¡£
- ÅöÁ³¾å¤Ëµó¤²¤¿ ExternalRuntime ¤Ï³°Éô¥×¥í¥»¥¹¤Îµ¯Æ°¤¬Æþ¤ë¤Î¤Ç½Å¤¤¡£Node ¤è¤ê¤â TheRubyRacer ¤Ç V8 ¤òľÀÜᤤ¤¿Êý¤¬Â®¤¤¡£
¢¨ ¼ê¸µ¤Ç¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¤ò jshint ¤Ë³Ý¤±¤ë¥Ä¡¼¥ë¤òư¤«¤·¤¿¤é TheRubyRacer ¤Ç 0.14s ³Ý¤«¤ë½èÍý¤¬ Node ¤À¤È 2.28s ³Ý¤«¤Ã¤¿¡£¤À¤¤¤¿¤¤¤³¤Î¿ôÃͤǰÂÄꤷ¤Æ¤¤¤ë¤Î¤Ç¡¢16Çܤ¯¤é¤¤°ã¤¦¡£¿ô¤¬Â¿¤¯¤Ê¤ì¤Ð¤Ê¤ë¤Û¤Éº¹¤Ï³«¤¯¡£
Windows ¤Î¿Í¤â node.exe ¤Ë PATH ¤¬Ä̤äƤì¤Ð node.js ¤Çư¤«¤»¤ë¡£»Äǰ¤Ê¤¬¤éº£¤Î¤È¤³¤í Windows ¤Ç¤Ï npm ¤Ïư¤«¤Ê¤¤¤Î¤Ç node.js ¤Î»ÝÌ£¤¬¤À¤¤¤Ö¸º¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤ó¤À¤±¤É¡¢execjs ¤ò»È¤¨¤Ð node.exe ¤ò»È¤¦¥¹¥¯¥ê¥×¥È¤ò¼«Í³¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¤È¤¤¤¦¤ï¤±¤Ç¼ê»Ï¤á¤Ë jshint4r¤È¤¤¤¦¤â¤Î¤òºî¤ê¤Þ¤·¤¿¡£»È¤Ã¤Æ¤ß¤Æ¤Í¡£
´Êñ¤Ê»È¤¤Êý
- exec
- eval
- compile & call
¤Î3¤Ä¤Î»È¤¤Êý¤¬¤¢¤ë¡£
ÉûºîÍѤÀ¤±¤Ç´õ˾¤Î½èÍý¤¬¼Â¸½¤Ç¤¤ë¤Ê¤é¤½¤Î¤Þ¤Þ exec ¤Ë¥³¡¼¥É¤òÍ¿¤¨¤ì¤Ð ok. Ìá¤êÃͤ¬Íߤ·¤¤¾ì¹ç¤Ï eval ¤Ç¸Æ¤Ö¡£
ExecJS.exec('1 + 1') # => nil
ExecJS.eval('1 + 1') # => 2
Ãæ¤Ç
exec¤Ï(function( ... ){})()
¤ÎÃæ¤Ë source ¤òÆþ¤ì¤Æ¼Â¹Ô¤¹¤ë¤À¤±¤Ê¤Î¤¬ exec. ¤³¤ÎÁ°¤Ë return ¤òÃÖ¤¤¤ÆÃͤòÊÖ¤¹¤Î¤¬ eval.
call ¤Ï eval ¤Î±þÍѤߤ¿¤¤¤Ê´¶¤¸¤Ç¡¢compile ºÑ¤ß¤Î JS ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Î¤¢¤ë function ¤ò call ¤¹¤ë³Ê¹¥¤Ë¤Ê¤ë¡£Î㤨¤Ð
context = ExecJS.compile('function add() { return 1 + 1 }')
context.call('add') # => 2
¸Æ¤Ó½Ð¤·Êý¤Ï
context.call( FUNCTION, ARG1, ARG2, ... )
¤ß¤¿¤¤¤Ë¤Ê¤ë¡£¤¿¤Ö¤ó¤Á¤ç¤Ã¤È¤ä¤Ã¤Æ¤ß¤ì¤Ð¤¹¤°¤Ëʬ¤«¤ë¤È»×¤¦¡£
µ¤¤ò¤Ä¤±¤Ê¤¤ã¤¤¤±¤Ê¤¤¤Î¤Ï compile ¤Ëʸ»úÎó¤òÍ¿¤¨¤ë¤È¤³¤í¤«¤Ê¡£¤À¤«¤éÎ㤨¤Ð jshint ¤Ë JavaScript ¤Î¥³¡¼¥É¤òÍ¿¤¨¤¿¤¤¾ì¹ç¤Ï
context = ExecJS.compile( File.read( /PATH/TO/jshint.js ) ) context.call( 'JSHINT', File.read( /PATH/TO/SRC ), opts )
¤ß¤¿¤¤¤Ê·Á¤Ë¤Ê¤ë¡£¡Ê¤¿¤À¤·¡¢JSHINT ´Ø¿ô¤Ï true ¤« false ¤·¤«ÊÖ¤µ¤Ê¤¤¤¿¤á¡¢¤³¤Î¤Þ¤Þ¤Ç¤Ï»È¤¤¤â¤Î¤Ë¤Ê¤é¤Ê¤¤¡£¡Ë
JavaScript ¦¤ËÆÃÊ̼ê¤òÆþ¤ì¤º¤Ë Ruby ¤Ç¤½¤Î¼Â¹Ô·ë²Ì¤ò³è¤«¤½¤¦¤È»×¤Ã¤¿¤é eval ¤« call ¤ò»È¤¦·Á¤Ë¤Ê¤ë¤Î¤Ç¤Ï¤Ê¤«¤í¤¦¤«¡£
¤Þ¤È¤á
compile ¤È¤«¤¦¤Þ¤¯±£Ê乤ì¤Ð¤«¤Ê¤ê¼«Á³¤Ë Ruby ¥³¡¼¥É¤ÎÃæ¤«¤é JavaScript ¤ò¼Â¹Ô¤·¤Æ¤½¤Î·ë²Ì¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¤È»×¤¦¡£TheRubyRacer ¤ò»È¤¨¤Ð¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤â¤Þ¤Ã¤¿¤¯µ¤¤Ë¤Ê¤é¤Ê¤¤¡£
¤¤¤ä¤³¤ì¤Ï¤¹¤´¤¤¤Ê¡£JavaScript ¤Ïº£¸å¤â¤É¤ó¤É¤ó±þÍÑÈϰϤ¬¹¤¬¤Ã¤Æ¹Ô¤¯¤È»×¤¦¤ó¤À¤±¤É¡¢¤½¤ÎÀ®²Ì¤ò´Ý¤´¤È¡ÊÂбþ¤·¤Æ¤¤¤Ê¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥À¥á¤À¤±¤É¡Ë¤¤¤¿¤À¤¯¤³¤È¤¬¤Ç¤¤ë¡£¤Ê¤ó¤ÆìÔÂô¡£
¤ª¤Þ¤±
Rails 3.1 ¤«¤é execjs ¤òÍøÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢²¿¤é¤«¤Î JavaScript Runtime ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤È Rails ´Ä¶¤òµ¯¤³¤¹¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
Windows ¤Î¾ì¹ç¤Ï WSH ¤¬¡¢Mac ¤Î¾ì¹ç¤Ï JavaScriptCore ¤¬ºÇ½é¤«¤éÆþ¤Ã¤Æ¤¤¤ë¤Î¤ÇÌäÂê¤Ê¤¤¡£Linux ¤Î¾ì¹ç¤Ï¤Ê¤ó¤é¤«¤Î JavaScript ¼Â¹Ô´Ä¶¤¬É¬Íפˤʤ롣node.js ¤ò¤ä¤Ã¤Æ¤¤¤ë¿Í¤Ï¤³¤ì¤òÍøÍѤ¹¤ë¤Î¤ÇÌäÂê¤Ê¤¤¤±¤É¡¢ÉáÃʤ½¤³¤Þ¤Ç JavaScript ¤ËÆþ¤ì¹þ¤ó¤Ç¤Ê¤¤¿Í¤Ï TheRubyRacer ¤Ç¤â TheRubyRhino ¤Ç¤âÆþ¤ì¤ë¤È¤è¤¤¡£¤¤¤Á¤Ð¤ó´Êñ¤ËÆþ¤ë¤Î¤Ï¤¿¤Ö¤ó SpiderMonkey ¤¸¤ã¤Ê¤¤¤«¤Ê¡£·ë¹½¤¤¤í¤ó¤Ê´Ä¶¤Ç¥µ¥¯¤Ã¤È¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤ë¤Ï¤º¡£
2011-09-05 [ĹǯÆüµ]
_ jshint4r¤È¤¤¤¦¤â¤Î¤òºî¤ê¤Þ¤·¤¿
¤Ê¤ó¤Æ¤³¤È¤Ï¤Ê¤¤¡¢Ã±¤Ë jshint ¤ò Ruby ¤òÄ̤·¤Æ¼Â¹Ô¤¹¤ë¤À¤±¤Î¥Ä¡¼¥ë¡£
¤Ê¤ó¤Çºî¤Ã¤¿¤«
- npm ¤Î jshint ¤Ç¤Ï¥Õ¥¡¥¤¥ë¤Î½ü³°¤¬¤Ç¤¤Ê¤¤¡Ê¤¿¤Ö¤ó¡Ë
- npm ¤Î jshint ¤Î½ÐÎϤ¬¥¤¥Þ¥¤¥Á
- jshint_on_rails gem ¤ÏƱº¤Î Rhino ¤Ë°Í¸¤·¤Æ¤Æ¥¹¥¯¥ê¥×¥ÈÆâ¤ÎÆüËܸì¤òÌäÅú̵ÍÑ¤Ç unsafe character ¸À¤¤¤Þ¤¯¤Ã¤Æ¤¦¤¶¤¤
- ³°¤«¤éʸ»ú¥³¡¼¥É¤ò¶µ¤¨¤ëÊýË¡¤¬Ê¬¤«¤é¤Ê¤¤
¤½¤Î¤¦¤¨¤Ç¡¢JavaScript ¤Î lint ·Ï¥Ä¡¼¥ë¤Ï¼ê·Ú¤Ë¼Â¹Ô¤Ç¤¤ë¤ä¤Ä¤¬¤¤¤¤¡£
jshint ¤Î¾ðÊó¤ò¤½¤Î¤Þ¤Þ Ruby ¤Ç°·¤¨¤ë¤è¤¦¤Ë¤·¤Æ¼«Ê¬¤Ç¤¤¤í¤¤¤í¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤¤¿¤éÊØÍø¤¸¤ã¤Í¡©¤È»×¤¤Î©¤Ä¡£
ÆÃħ
- execjs ¤òÄ̤·¤Æ¤¤¤ë¤Î¤ÇÉý¹¤¤ JS ´Ä¶¤Çư¤¯
- custom reporter ¤ò½ñ¤±¤ÐÍÍ¡¹¤Ê½ÐÎÏ·Á¼°¤ËÂбþ¤Ç¤¤ë¡Êɸ½à¤Ç npm ¤Î jshint ¤Ã¤Ý¤¤½ÐÎϤξ¤Ë emacs ¤Î compilation-mode Âбþ·Á¼°¤òÍѰաË
- custom reporter ¼«ÂÎ¤Ï npm ¤Î jshint ¤Ë¤â¤¢¤ë¤ó¤À¤±¤É Ruby ¤ÎÊý¤¬´·¤ì¤Æ¤ë¤·
- ¼Â¹Ô¥Ð¥¤¥Ê¥ê¤âÍѰդ·¤Æ¤¢¤ë¤Î¤Ç¤¹¤°»î¤»¤ë
ưºî´Ä¶
- Ruby 1.8.7 ¤È 1.9.2 ¤Ç³Îǧ
¤¿¤Ö¤óWindows ¤Ç¤âư¤¯
Unicode °Ê³°¤Ç¤Ç¤¤¿¥¹¥¯¥ê¥×¥È¤¬¤É¤¦¤Ê¤ë¤«¤ÏÃΤé¤Ê¤¤¡£
»È¤¤Êý
gem install jshint4r
¤·¤Æ¤ª¤¤¤Æ¡¢
jshint4r [options] path1 path2 ...
¤«¡¢¤¢¤ë¤¤¤Ï¼«Á°¤Î¥¢¥×¥ê¤ä¥é¥¤¥Ö¥é¥ê¤ÎÃæ¤«¤é
require 'jshint4r'
¤·¤Æ¤¤¤¤¶ñ¹ç¤Ë¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤Æ¼«Í³¤ËÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤Ï¤º¡£
¥Ä¡¼¥ë
°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤¬»È¤¨¤ë¤Ï¤º¡£
¶ìÏ«¤·¤¿¤È¤³¤í
- jshint ¤½¤Î¤â¤Î¤Î»È¤¤Êý¤¬¤è¤¯Ê¬¤«¤Ã¤Æ¤Ê¤«¤Ã¤¿
- execjs ¤Î¥É¥¥å¥á¥ó¥È¤¬Á´Á³Â¤ê¤Æ¤Ê¤¤
- jshint ¤ÎÊÖ¤¹¾ðÊó¤¬ valid ¤Ê JSON ¤Ç¤Ê¤¯¡¢¤É¤¦²ò¼á¤·¤¿¤é¤¤¤¤¤Î¤«Ì¤ä¿
- file ¤Î exclude ¤¬ÌÌÅݤǡ¢·ë¶É Rake::FileList ¤ò»È¤Ã¤¿
¤Þ¤È¤á
°Õ³°¤Ë¤È¤¤¤¦¤«Í½ÁÛÄ̤ê¤È¤¤¤¦¤«¡¢¤È¤Ë¤«¤¯ÊØÍø¡£compilation-mode ¤«¤é¥¸¥ã¥ó¥×¤Ç¤¤ë¤·¡¢²¿²ó¼Â¹Ô¤·¤Æ¤â¥À¥ë¤¤¤È¤«¸À¤ï¤Ê¤¤¡£
¤Ç¤â¤Ê¤ó¤« node ÎϤâ Ruby ÎϤâÂ¤ê¤Æ¤Ê¤¤µ¤¤¬¤·¤¿¡£
2011-09-10 [ĹǯÆüµ]
_ rack¥¢¥×¥ê¤Î¥µ¡¼¥Ð¥µ¥¤¥É¤ÇHTML¤ò¥Á¥§¥Ã¥¯
¤Þ¤È¤á
- tidy ¤òʸˡ¥Á¥§¥Ã¥«¤È¤·¤Æ»È¤¦ rack middleware ¤Ï rack-htmltidy ¤À¤¬¡¢1.8 ÀìÍÑ
- ¤·¤«¤â HTML 5 ¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¥¹¥Þ¥ÛÈǤʤɥ¤¥Þ¥É¥¤Î HTML ¤ËÂбþ¤Ç¤¤Ê¤¤
¤È¤¤¤¦¤³¤È¤Ç¡¢HTML 5 Âбþ¤ò¹Í¤¨¤Ê¤±¤ì¤Ð rack-htmltidy ¤ò»È¤¨¤Ð¤Ê¤ó¤È¤«¤Ê¤ë¤Î¤Ç¤¹¤¬¡¢¤Á¤ç¤Ã¤È¼ä¤·¤¤¾õ¶·¤Ç¤¹¤Í¡¢¤³¤ì¤Ï¡£
ÇØ·Ê
¤·¤Ð¤é¤¯Á°¤«¤éWeb¤Î¥Õ¥í¥ó¥È¥¨¥ó¥É¤Îºî¶È¤ò¤¹¤ëºÝ¤Ë¤Ï¤³¤ÎFirefox add-on¤ò»È¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¤·¤«¤· Firefox ¤¬ 5.0 ¤Ë¤Ê¤ê¡¢release ¥µ¥¤¥¯¥ë¤¬ÊѤï¤Ã¤Æ°Ê¹ß¡¢Windows Èǰʳ°¤Ï source ¤¬ÇÛÉÛ¤µ¤ì¤ë¤Î¤ß¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£¤µ¤¹¤¬¤Ë Firefox add-on ¤Î¤¿¤á¤Ë¼«Á° build ¤È¤«¤ä¤ê¤¿¤¯¤Ê¤¤¤·¡¢¤½¤³¤Þ¤Ç¤Î»à³èÌäÂê¤Ç¤â¤Ê¤¤¤·¡¢¤Þ¤¡¤¤¤¤¤«¤È¸«Á÷¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ÀèÆü HTML ¤Î¹½Â¤¤ò²õ¤·¤Æ¼êÄˤ¤»þ´Ö¤ÎϲÈñ¤ò¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢°ìÅÙ¿¿ÌÌÌܤ˹ͤ¨¤Ê¤¤¤È¤Ê¡¼¤È»×¤Ã¤Æ¤¤¤¿¤È¤³¤í¤Ç¤Õ¤Èµ¤¤Å¤¤Þ¤·¤¿¡£
¥µ¡¼¥Ð¥µ¥¤¥É¤Ç¥Á¥§¥Ã¥¯¤Ç¤¤ì¤Ð¤¤¤ó¤¸¤ã¤Í¡©
Bingo ¤Ç¤·¤¿¡£rack tidy ¤Ç¸¡º÷¤¹¤ë¤È¤¤¤¯¤Ä¤«¸«¤Ä¤«¤ê¤Þ¤¹¡£¤È¤¤¤¦¤ï¤±¤Ç¸½¾õ¤òÀ°Íý¤·¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
Html Tidy
¤Þ¤ºº£²ó¤ÎÏäǽФƤ¯¤ë¤¤¤Á¤Ð¤óÂçÀڤʥ½¥Õ¥È¤Ï¤³¤ì¤Ç¤¹¡£
HTML Tidy ¤È¤Ï¤È¤Æ¤â¸Å¤¤¥½¥Õ¥È¥¦¥§¥¢¤Ç¡¢
- HTML ¤Î cleaning
- HTML ¤Î¹½Ê¸¥¨¥é¡¼¤Î·Ù¹ð
¤Î2¤Ä¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£Àè¤Î HTML Validator ¤âÃæ¤Ç tidy ¤ò¼Â¹Ô¤¹¤ë¥â¡¼¥É¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
tidy gem ( 1.8 )
¥á¥ó¥Æ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç fork ¥Ð¡¼¥¸¥ç¥ó¤¬Â¿¿ô¸ºß¤·¤Þ¤¹¤¬¡¢º£¤Ç¤â¤³¤ì¤ò»²¾È¤·¤Æ¤¤¤ë¥×¥í¥¸¥§¥¯¥È¤¬Â¿¤¤¤Ç¤¹¡£°Ê²¼¤Î 1.8 ÍѤΠgem ¤Ï´ðËÜŪ¤Ë¤³¤ì¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹¡£
rack-tidy ( 1.8 )
¥Á¥§¥Ã¥¯¤Ç¤Ï¤Ê¤¯ HTML ¤Î½ñ¤´¹¤¨¤òÌÜŪ¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¼«Ê¬¤Î°Õ¿Þ¤È¤Ï¹ç¤¤¤Þ¤»¤ó¡£¤Þ¤¿Ê¸»ú¥³¡¼¥É¤Î°·¤¤¤â¤¢¤ë¤Î¤Ç¼«Æ°½ñ¤´¹¤¨¤â¤Î¤Ï¤±¤Ã¤³¤¦´í¸±¡£
rack-htmltidy ( 1.8 )
¤³¤Á¤é¤â tidy gem ¤ò»È¤Ã¤¿¤â¤Î¤Ç¥Á¥§¥Ã¥¯¤À¤±¤Ç»È¤¨¤Þ¤¹¡£¥¨¥é¡¼¤Ï Log ¤ËÍî¤Á¤ë¤Î¤Ç¡¢¤½¤ì¤ò¸«¤Ê¤¬¤éºî¶È¤·¤Æ¤¤¤±¤Ð¤è¤¤¤è¤¦¤Ç¤¹¡£
html5-rack-tidy ( 1.8 )
customink/html5-rack-tidy - GitHub
rack-tidy ¤«¤é fork ¤·¤Æ HTML 5 Âбþ¤·¤¿¤â¤Î¡£¤È¤¤¤¦¤³¤È¤Ç¤³¤ì¤â½ñ¤´¹¤¨ÌÜŪ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
tidy_ffi ( 1.9 )
1.8 ÍѤΠtidy gem ¤Ï libtidy ¤òÍøÍѤ¹¤ë¥é¥¤¥Ö¥é¥ê¤Ç¡¢Íפ¹¤ë¤Ë native extension ¤Ç¤¹¡£¤³¤ì¤Ï¤½¤Î¤Þ¤Þ¤Ç¤Ï 1.9 ¤Ç¤Ïư¤¤Þ¤»¤ó¡£1.9 ¤Ç¤Ï ffi ¤òÄ̤¹ tidy_ffi ¤ò»È¤¦¤È¤è¤¤¤è¤¦¤Ç¤¹¡£
tack-tidy-ffi ( 1.9 )
¤½¤Î tidy_ffi ¤òÍøÍѤ¹¤ë¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤ì¡£
makevoid/rack-tidy-ffi - GitHub
¤¿¤À¤·¤ä¤Ï¤ê HTML ¤Î½ñ¤´¹¤¨¤òÌÜŪ¤Ë¤·¤Æ¤ª¤ê¡¢¤Þ¤¿ 1.9 ¤Î encoding ¤ÎÍí¤ß¤â¤¢¤Ã¤ÆÆüËܸì¤Î HTML ¤òÄ̤¹¤È¤È¤Æ¤â»Äǰ¤Ê·ë²Ì¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ê¡¢¤Á¤ç¤Ã¤È¤µ¤¹¤¬¤Ë»È¤¨¤Ê¤¤´¶¤¸¤Ç¤¹¡£
tidy_rack
¤³¤ì¤Ï libtidy ¤ò»È¤ï¤º¤Ë¼Â¹Ô¥Ð¥¤¥Ê¥ê¤ò»È¤¦¥Ð¡¼¥¸¥ç¥ó¡£
HTML ¤Î½ñ¤´¹¤¨¤â¤¹¤ë¤±¤É HTML ¾å¤Ë error ¤ä warning ¤ò½ÐÎϤ·¤Æ¤¯¤ì¤ë¤é¤·¤¤¡£
¤Þ¤È¤á
- tidy ¤òʸˡ¥Á¥§¥Ã¥«¤È¤·¤Æ»È¤¦ rack middleware ¤Ï rack-htmltidy ¤À¤¬¡¢1.8 ÀìÍÑ
- ¤·¤«¤â HTML 5 ¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¥¹¥Þ¥ÛÈǤʤɥ¤¥Þ¥É¥¤Î HTML ¤ËÂбþ¤Ç¤¤Ê¤¤
¤È¤¤¤¦¤³¤È¤Ç¡¢HTML 5 Âбþ¤ò¹Í¤¨¤Ê¤±¤ì¤Ð rack-htmltidy ¤ò»È¤¨¤Ð¤Ê¤ó¤È¤«¤Ê¤ë¤Î¤Ç¤¹¤¬¡¢¤Á¤ç¤Ã¤È¼ä¤·¤¤¾õ¶·¤Ç¤¹¤Í¡¢¤³¤ì¤Ï¡£
¢¨ HTML 5 Âбþ¤ò¹Í¤¨¤ë¤È Validator.nu ¤¬º£¤Î¤È¤³¤í¥¤¥Á¥ª¥·¤ß¤¿¤¤¤Ç¤¹¤Í¡£»î¤·¤Æ¤Ê¤¤¤Ç¤¹¤±¤É¡£
¼ØÂ
middleman ¤Çư¤«¤¹
middleman ¤Çư¤«¤¹¤Ë¤Ï config.ru ¤Ç¤Ï¤Ê¤¯ config.rb ¤ÎÊý¤ò½ñ¤´¹¤¨¤Ê¤¤¤È¥À¥á¤Ê¤è¤¦¤Ç¤¹¡£config.ru ¤ÇÀâÌÀ¤·¤Æ¤¢¤ëÉôʬ¤òÆÉ¤ßÂØ¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
w3c validator
¤â¤·¤«¤·¤¿¤é HTML ¤Î¥Á¥§¥Ã¥«¤È¤·¤Æ¤Ï w3c validator ¤ÎÊý¤¬Í̾¤«¤â¤·¤ì¤Þ¤»¤ó¡£w3c validator ¤Ï¥Á¥§¥Ã¥«¥µ¡¼¥Ó¥¹¤Ç¤¢¤ê¡¢¤½¤Î¥¨¥ó¥¸¥ó¤Î̾Á°¤Ç¤¹¡£¼ê¸µ¤Î´Ä¶¤Ë¼«Í³¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆÆ°¤«¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤Î w3c validator ¤òÍøÍѤ¹¤ë rack middleware ¤¬¤Ê¤¤¤«Ãµ¤·¤Æ¤ß¤¿¤È¤³¤í¡¢¤ä¤Ï¤ê¤¢¤ê¤Þ¤·¤¿¡£
¤¿¤À¤·¡¢¤»¤Ã¤«¤¯¤³¤Î¥Ä¡¼¥ë¤òÍøÍѤ·¤Æ¤¤¤ë¤Î¤Ë rack-validate ¤Ï w3c_validators ¤Ë¤Þ¤Ã¤¿¤¯ option ¤òÅϤ»¤º¡¢¥í¡¼¥«¥ë¤Î´Ä¶¤ËÊĤ¸¤ë¤³¤È¤¬¤Ç¤¤º¤Ë
The W3C Markup Validation Service
¤Ë¥¢¥¯¥»¥¹¤·¤Ë¹Ô¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤Ê¤ó¤Æ¤³¤Ã¤¿¡£
2011-09-18 [ĹǯÆüµ]
_ Æüµ¥Í¥¿¤ò·¡¤êµ¯¤³¤·¤Æ¤¤¤ë
ËÜÅö¤Ï¥³¡¼¥É¤ò½ñ¤¤¿¤¤¤ó¤À¤±¤É¡¢¤¦¤Þ¤¯¥¢¥¤¥Ç¥£¥¢¤¬½Ð¤Æ¤³¤Ê¤¤¤È¤«¹Í¤¨¤ë¤Î¤Ë»È¤¨¤ë¤Þ¤È¤Þ¤Ã¤¿»þ´Ö¤¬Â¤ê¤Ê¤¤¤È¤«¡¢¤Ê¤ó¤«¿²Ë·¤·¤Á¤ã¤¦¤È¤«Ã뿲¤·¤Á¤ã¤¦¤È¤«¡£
¤Ê¤ó¤«¤½¤ó¤Ê´¶¤¸¤Ç¥À¥é¥À¥é¤·¤Æ¤ë¡£¤Þ¡¼µÙ¤ß¤Ê¤ó¤À¤·¡¢¥À¥é¥À¥é¤¹¤ì¤Ð¤¤¤¤¤Î¤è¡£ÊÙ¶¯²ñ¤Ë½Ð¤¿¤ê git push ¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤è¤¦¤Ê¶¯Ç÷´Ñǰ¤Ê¤ÉÉÔÍѤʤΤ衣
Èè¤ì¤¬¼è¤ì¤Æ¤Ê¤¤µ¤¤â¤¹¤ë¤·¡¢¤Á¤ç¤Ã¤È¤è¤í¤·¤¯¤Ê¤¤´¶¤¸¡£¤â¤Ã¤È¥À¥é¥À¥é¡£¤º¤Ã¤È¥À¥é¥À¥é¡£
¤½¤¦¸À¤¨¤Ð¤â¤Î¤¹¤´¤¯µ×¤·¤Ö¤ê¤ËSUBWAY¿©¤Ù¤¿¡£Å¹ÊޤˤÏÀÐÀ½é¿Ê½Ð¤Ã¤Æ½ñ¤¤¤Æ¤¢¤Ã¤Æ¡¢¤½¤ì¤Ï¤Á¤ç¤Ã¤È±³½ñ¤¤¤Á¤ã¤¤¤«¤ó¤è¤È»×¤Ã¤¿¡£¶âÂô¤Ï½é¤á¤Æ¤À¤¬¾¾Ç¤¤Ë¤Ï¤¢¤Ã¤¿¤¾¡£
µ×¤·¤Ö¤ê¤¹¤®¤Æ»×¤¤½Ð¤»¤Ê¤¤¤ó¤À¤±¤É¡¢¥Ð¥¸¥ë¥½¡¼¥¹¤Ã¤Æ¤Ê¤«¤Ã¤¿¤Ã¤±¡£¥Ð¥¸¥ë¥Þ¥è¥Í¡¼¥º¤À¤Ã¤¿¡£¥Þ¥è¥Í¡¼¥º¤Ï¹¥¤¤¸¤ã¤Ê¤¤¤Î¤è¤Í¡£
¥Ñ¥ó¤¬½À¤é¤«¤¯¤Æ¤ª¤¤¤·¤«¤Ã¤¿¡£ºÇ¶á¤¢¤¢¤¤¤¦¥Ñ¥ó¤ò½Ð¤¹Å¹¤Ï¤¢¤Þ¤ê¤Ê¤¤¤Î¤Ç¤È¤Æ¤â¹¥°õ¾Ý¡£¶âÂô¤Î¿Í¤Î¿·¤·¤â¤Î¹¥¤¤¬Íî¤ÁÃ夤¤¿¤éìÝÕþ¤Ë¤·¤è¤¦¤È»×¤¦¡£Íî¤ÁÃ夤¤¿¤é¤Ê¤¯¤Ê¤ë¤«¤â¤·¤ì¤ó¤±¤É¡£
¤â¤¦2, 3ŹÊÞ¤¯¤é¤¤½Ð¤·¤Æ¤¯¤ì¤Ê¤¤¤«¤Ê¡£¤Á¤ç¤Ã¤ÈÉÔÊØ¡£
2011-09-23 [ĹǯÆüµ]
_ ¥Ö¥é¥¦¥¶¤Î¥ê¥í¡¼¥É¼«Æ°²½2011½©
¢¨ 2011½©¤Ã¤Æ¤¤¤¦¤Î¤Ï¼«Ê¬ÍѤ˽ñ¤¤¤Æ¤¢¤ë¤À¤±¤Ç¡¢·è¤·¤Æ 2011 ǯ¤ÎËÜÅö¤ÎºÇ¿·¾ðÊó¤Ç¤Ï¤Ê¤¤¤Ç¤¹*1¡£
²¿Ç¯¤âÁ°¤«¤é¤¤¤í¤ó¤Ê·Á¤Ç¤¯¤êÊÖ¤·½Ð¤Æ¤¤Æ¤ëÏäÀ¤±¤É¡¢¤ß¤ó¤Ê¤â¤Ã¤È³Ú¤·¤è¤¦¤¼¡£¤¤¤Ã¤¿¤¤¥ª¥ì¤¿¤Á¤Ï²¿²ó¥ê¥í¡¼¥É¤¹¤ì¤Ð¤¤¤¤¤ó¤À¤¤¡©
¤Þ¤È¤á
¤È¤¤¤¦¤³¤È¤Çº£²ó¤Ï¥Ö¥é¥¦¥¶¤Î¥ê¥í¡¼¥É¼«Æ°²½¤ÎÏᣤɤ¦¤¤¤¦·Á¤Ç¤³¤ì¤ò¼Â¸½¤·¤Æ¤¤¤ë¤Î¤«Ä´¤Ù¤Æ¤ß¤¿¡£
Rubyist Ū¤Ë¤Ï LiveReload ¤¬¥¤¥Á¥ª¥·¤Ê¤ó¤À¤±¤É¡¢¤Þ¤À³«È¯ÅÓ¾å¤ÊÉôʬ¤¬¥¢¥ì¥³¥ì¤¢¤Ã¤Æ Windows ´Ä¶¤Ë¤Ï¤ä¤ä¤Ä¤é¤¤¡£*2¤½¤ì¤Ç¤â Windows ¤Çư¤«¤·¤è¤¦¤Î¤Ê¤¤ npm °Í¸¤Î¤â¤Î¤è¤ê¤Ï¥Þ¥·¤À¤·¡¢»È¤¤¾¡¼ê¤Ï¤¤¤¤¤È»×¤¦¡£
°Ê²¼¤Îµ»ö¤â¤¢¤ï¤»¤ÆÆÉ¤ß¤¿¤¤¡£
ÇØ·Ê
- View ¤ä CSS¡¢¸ú²Ì·Ï¤Î JavaScript ¤ÎÊÔ½¸¤ÏºÙ¤«¤¤Êѹ¹¤òÌÜ»ë¤Ç³Îǧ¤·¤Ê¤¬¤é¤¯¤êÊÖ¤¹¤³¤È¤Ë¤Ê¤ê¤¬¤Á
- ¹ÈϰϤËÅϤëÊѹ¹¤Î¾ì¹ç¡¢Â¿¤¯¤Î¥Ú¡¼¥¸¤ò³«¤¤Þ¤¯¤ëɬÍפ¬¤¢¤ë
- »×¤¤¤¬¤±¤Ê¤¤±Æ¶Á¤¬½Ð¤Æ¤¤¤Ê¤¤¤È¤â¸Â¤é¤Ê¤¤
¥À¥ë¤¤
¥À¥ë¤¤¤Î¤Ïµ¡³£¤ËǤ¤»¤Æ¤·¤Þ¤ª¤¦¡£
¼«Æ°²½¤Î¼Â¸½ÊýË¡
Â礤¯°Ê²¼¤Î2Ä̤ê¤Ëʬ¤«¤ì¤ë¡£
- ¤ä¤ß¤¯¤â¤Ë reload ¤¹¤ë ( ¿ôÉ䪤¤È¤« )
- ¤É¤Á¤é¤«¤È¤¤¤¦¤È¥ª¡¼¥¯¥·¥ç¥ó´Æ»ë¸þ¤±
- ¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ò´Æ»ë¤·¤Æ reload ¤µ¤»¤ë
reloadÊýË¡
- HTML ¤ÎÃæ¤Ë JavaScript ¤ò»Å¹þ¤ó¤Ç location.reload
- OS¡¢¥Ö¥é¥¦¥¶¤òÁª¤Ð¤Ê¤¤¤¬ HTML ¤ò½ñ¤´¹¤¨¤ëɬÍפ¬¤¢¤ë¡Ê¼ê¤Ç¡© ¼«Æ°¤Ç¡©¡Ë
- OS ¤Îµ¡Ç½¤Ê¤É¤Ç¥¢¥×¥ê¤ÎÁàºî¤ò¼«Æ°²½ ( AppleScript or WSH or AutoHotKey ... )
- ¥Ö¥é¥¦¥¶¤Î³ÈÄ¥¤Ç
- MozRepl, Firebug, LiveReload, ...
¥Õ¥¡¥¤¥ë¤ÎÊѹ¹´Æ»ëÊýË¡
¤Ç¤¤ë¤À¤± OS ¥ì¥Ù¥ë¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÊýË¡¤¬·Ú¤¤¤·Â®¤¤¤¬¡¢ÎϤº¤¯¤Ç¤â´Æ»ë¤Ç¤¤ë¡£ÀâÌÀ¤¬¤³¤ß¤¤¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¾ÜºÙ¤Ï³ä°¦¡£
´Æ»ë¤ÈÄÌÃΤ¬Ê¬Î¥¤·¤Æ¤¤¤Ê¤¤·ÁÂ֤⤢¤ë¡£
¥Õ¥¡¥¤¥ë¤ÎÊѹ¹ÄÌÃÎÊýË¡
- ľÀÜ¥¨¥Ç¥£¥¿¤ä¥Ö¥é¥¦¥¶¤«¤é¥Õ¥¡¥¤¥ë¤Î status ¤ò¼èÆÀ
- XMLHTTPRequest ¤Ç status ¤òÅϤ¹
- WebSocket <- New !
¥Ö¥é¥¦¥¶¤Îautoreload³ÈÄ¥
¤Ç¤Ï¶ñÂÎŪ¤Ê¥Ä¡¼¥ë¤ÎÏá£
¤ä¤ß¤¯¤â¤Ëreload¤¹¤ë
- Easy Auto Refresh, Auto-Reload, Auto Refresh Plus, Page Refresh (°Ê¾å Chrome)
- ReloadEvery, Tab Mix Plus :: Add-ons for Firefox (°Ê¾å Firefox)
¥Õ¥¡¥¤¥ë´Æ»ë·Ï
- Auto Reload :: Add-ons for Firefox
- file scheme only ¤À¤±¤É¤ª¼ê·Ú¤Ç¥¤¥Á¥Ð¥ó¸ú²Ì¤ò¼Â´¶¤·¤ä¤¹¤¤¤«¤â¡£
- XRefresh provides browser refresh automation for web developers
- XRefresh for Chrome ¡½ Gist
- -> livereload
´Æ»ë¥Ä¡¼¥ë¤ÈÁȤ߹ç¤ï¤»¤ë·Ï
¿¾¯¼ê´Ö¤ÏÁý¤¨¤ë¤±¤É®¤¤¡£¥ê¥½¡¼¥¹Åª¤Ë¤â¿¾¯ÍÍø¡©
vogue
- node.js + npm °Í¸
- ³Æ¥Ú¡¼¥¸¤Ë reload ÍѤΠjs ¤ò³ú¤Þ¤»¤ëɬÍפ¬¤¢¤ë
- user script ¤Ç³ú¤Þ¤»¤ëÊýË¡¤â¤¢¤ë¤é¤·¤¤
- ¥Ö¥é¥¦¥¶¤òÁª¤Ð¤Ê¤¤
»î¤·¤Æ¤Ê¤¤¡£
livereload·Ï
LiveReload¤¬Ä¶µ¤»ý¤Á¤¤¤¤2011 ¤Ø¡£¸Ä¿ÍŪ¤Ë¤Ï¤¤¤Á¤Ð¤ó¤Î¥ª¥¹¥¹¥á¡£
nodejuice
nodejuice¤¬¥ä¥Ð¤¤2011¤Ø¡£¥Ò¥È¥Ð¥·¥é¡¼¤¬Áý¤¨¤ë¤È¤¤¤¤¤Ê¡£
¼«Ê¬¤ÇÁȤ߹ç¤ï¤»¤Æ¤Ê¤ó¤È¤«¤¹¤ëÊýË¡
´èÄ¥¤ë¤Î¤¬¹¥¤¤Ê¿Í¸þ¤±¡£¤¢¤ë¤¤¤Ï´èÄ¥¤Ã¤¿¿Í¤¿¤Á¤ÎÎò»Ë¡£
- watchr - ¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤¬¤¢¤Ã¤¿¤é²¿¤«¤¹¤ë / ¤â¤·¤¯¤Ï¥ª¥µ¡¼¥ó¤Ë¤Ä¤¤¤Æ - co¥ê¡¦¡¼¡¦¥ó¡ã2nd life
- MozRepl + ruby + watchr + net/telnet
- System.Exit – autotest ¤È MozRepl ¤Ç¥Ö¥é¥¦¥¶¼«Æ°¥ê¥í¡¼¥É
- Eclipse/Êݸ¤ÈƱ»þ¤Ë¥Ö¥é¥¦¥¶¤ò¼«Æ°¥ê¥í¡¼¥É¤¹¤ëÊýË¡ - TOBY SOFT wiki
- ¶¶Ëܾ¦²ñ » ¥¨¥Ç¥£¥¿Êݸ¤·¤¿¤é¥Ö¥é¥¦¥¶¥ê¥í¡¼¥É¤¹¤ësinatra/auto-reload¤òºî¤Ã¤¿
- Dreamweaver¤Ç¾å½ñ¤Êݸ¤·¤¿½Ö´Ö¤Ë¡¢Firefox¤ò¼«Æ°¤Ç¥ê¥í¡¼¥É¤µ¤»¤ë¡¢¶¯ÎϤʥ³¡¼¥Ç¥£¥ó¥°¹â®²½¥¹¥¯¥ê¥×¥È | 5am! Web Illusions
- ¥Õ¥¡¥¤¥ëÊݸ»þ¤Ë¥Ö¥é¥¦¥¶¤ò¼«Æ°Åª¤Ë¥ê¥í¡¼¥É¤¹¤ë JavaScript ¥é¥¤¥Ö¥é¥ê¤ò½ñ¤¤Þ¤·¤¿ | Tanablog
- ºÇ®¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¸¦µæ²ñ :: Firefox¤Ç¤Î³«È¯¤ò¹â®²½¤¹¤ë¼«Æ°¥ê¥í¡¼¥É¥¹¥¯¥ê¥×¥È
¤Û¤«
¤â¤¦°ìÅ٤ޤȤá
¥Ö¥é¥¦¥¶¤Î¼«Æ°¥ê¥í¡¼¥É¤Ë¤Ä¤¤¤Æ¤Ï²¿Ç¯¤âÁ°¤«¤éÍÍ¡¹¤Ê¹©Éפ¬¤Ê¤µ¤ì¤Æ¤¤Æ¤¤¤ë¡£¤É¤ì¤ò»È¤Ã¤Æ¤â¼«Ê¬¤ÎÌÜŪ¤¬Ã£À®¤Ç¤¤ì¤Ð¤½¤ì¤Ç¤è¤¤¤È¤â¸À¤¨¤ë¤¬¡¢ºÇ¶á¤Ï LiveReload ¤Ê¤É´°À®Å٤ι⤤¥Ä¡¼¥ë¤¬½Ð¤Æ¤¤Æ¤¤¤Æ¡¢¤â¤¦¾¯¤·Æ³Æþ¤¬³Ú¤Ë¤Ê¤ì¤Ð°ìµ¤¤Ë¥Ö¥ì¥¤¥¯¤¹¤ë¤ó¤¸¤ã¤Ê¤¤¤«¤È´¶¤¸¤Æ¤¤¤ë¡£
¤³¤¦¤·¤¿¥Ä¡¼¥ë¤Ï1¥Ú¡¼¥¸¤·¤«½ñ¤«¤Ê¤¤¤¦¤Á¤Ï¡¢¤¢¤ë¤¤¤Ï¤¢¤Þ¤ê HTML, CSS, JavaScript ¤ò¿¤¯½ñ¤«¤Ê¤¤¤¦¤Á¤Ï¥á¥ê¥Ã¥È¤ò´¶¤¸¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤±¤ì¤É¡¢CSS ¤ä JavaScript ¤ÏͽÁÛ³°¤Ë±Æ¶ÁÈϰϤ¬¹¤¯¤Ê¤ê¤¬¤Á¤Ê¤Î¤Ç¡¢¤¢¤ë¤È¤³¤í¤À¤±¤ò¤¤¤¸¤Ã¤Æ¤¤¤ë¤Ä¤â¤ê¤¬¤¦¤Ã¤«¤êÊ̤ʾì½ê¤ò²õ¤·¤Æ¤¤¤¿¤È¤¤¤¦¤³¤È¤â½½Ê¬¤¢¤êÆÀ¤ë¡£
ºÇ¶á¤Ï¤½¤¦¤¤¤¦»ö¸Î¤òËɤ°¤¿¤á¤Ë¤â¾å¤Ëµó¤²¤¿¥Ä¡¼¥ë¤Ç²¡¤µ¤¨¤Æ¤ª¤¤¿¤¤¥Ú¡¼¥¸¤òÁ´Éô¼«Æ°¤Ç¥ê¥í¡¼¥É¤µ¤»¤ë¤È¤¤¤¦»È¤¤Êý¤ò¤·¤Æ¤¤¤ë¤¬¡¢¤³¤ì¤Ï¤Ê¤«¤Ê¤«¤è¤¤¡£¥Þ¥·¥ó¤ÎÉé²Ù¤ÏÅöÁ³¾å¤¬¤ë¤¬¡¢¥ê¥í¡¼¥É¤È¤¤¤¦ºî¶È¤Ï´°À®¤¹¤ë¤Þ¤Ç¤ä¤ê³¤±¤ëñ½ãºî¶È¤Ê¤Î¤Ç¡¢Æ³Æþ¤Ë¿¾¯¥³¥¹¥È¤ò³Ý¤±¤Æ¤â½½Ê¬¤ªÄà¤ê¤¬¤¯¤ë¤·¡¢°Â¿´´¶¤¬¤Þ¤ë¤Ç°ã¤¦¡£¤â¤Á¤í¤ó¥Á¥§¥Ã¥¯¼«ÂΤòÌÜ»ë¤Ç¤Ï¤Ê¤¯¥·¥¹¥Æ¥à¤Ë¤è¤ë¥Æ¥¹¥È¤ËÃÖ¤´¹¤¨¤Æ¤¤¤¯¤Ê¤É¤Î¹©Éפâ¤Ç¤¤ë¤À¤í¤¦¤¬¡¢ÌÜ»ë¤Ç¤Ê¤¯¤Æ¤Ï³Îǧ¤Ç¤¤Ê¤¤¸ú²Ì¤ÏÌܻ뤻¤¶¤ë¤òÆÀ¤Ê¤¤¡£¤½¤¦¤¤¤¦°ÕÌ£¤Ç¤Ï´°Á´¤Ë CI ¤ËÃÖ¤´¹¤¨¤¬¸ú¤¯¤ï¤±¤Ç¤â¤Ê¤¯¡¢¥¨¥ó¥¸¥Ë¥¢¤Ë¤â¥Ç¥¶¥¤¥Ê¤Ë¤â´ò¤·¤¤¥Ä¡¼¥ë¤À¤È»×¤¦¡£
¤¼¤Ò¿¤¯¤Î¿Í¤Ë»È¤Ã¤Æ¤Û¤·¤¤¤Ê¤¡¤È»×¤¦¡£
2011-09-24 [ĹǯÆüµ]
_ nodejuice¤¬¥ä¥Ð¤¤2011
¢¨ nodejuice ¤Ï·è¤·¤Æ 2011ǯÀ½¤Î¥¢¥×¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Vimeo ¾å¤Î¥Ç¥â¥à¡¼¥Ó¡¼¤Ï 2009ǯ¤Ë¾å¤¬¤Ã¤Æ¤¤¤Þ¤¹¡£Æ±»þ¤Ë¡¢³«È¯¤Ï»ß¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
¥Ö¥é¥¦¥¶¤Î¥ê¥í¡¼¥É¼«Æ°²½2011½© ¤«¤éÆÉ¤ó¤Ç¤â¤é¤¨¤ë¤È´ò¤·¤¤¤Ç¤¹¡£
¥Ö¥é¥¦¥¶¤Î¼«Æ°¥ê¥í¡¼¥É¤ÎÏä¬Ä¹¤¯¤Ê¤ê¤½¤¦¤À¤Ã¤¿¤Î¤ÇÆÃ¤Ë¾Ò²ð¤·¤¿¤¤¤â¤Î¤ÏÊÌ¥¨¥ó¥È¥ê¤Ë¤·¤¿¡£¤Þ¤º¤Ï nodejuice ¤«¤é¡£
»°¹Ô¾Ò²ð
node.js ¤ò»È¤Ã¤¿¥¢¥×¥ê¤Ê¤ó¤À¤±¤É npm ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤º¤Ë¤ä¤äÌÌÅݤ¯¤µ¤¤¡£¤Þ¤¿¡¢³ä¤ÈºÇ¶á¤Î Web ¥¢¥×¥ê¤Î¹Í¤¨Êý¤¬Ê¬¤«¤Ã¤Æ¤¤¤Ê¤¤¤È¤½¤â¤½¤â WSGI ¤Ê¤É¤ÎÍѸ줬ʬ¤«¤é¤Ê¤¤¡£¤È¤¤¤¦¤³¤È¤Ï¤Ä¤Þ¤ê¥¢¥×¥ê¤Îưºî¥¤¥á¡¼¥¸¤¬¤Ä¤«¤á¤Ê¤¤¡£
¼ÂºÝ¤Ë¤Ï
- ÆÃÄê¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ë°Í¸¤·¤Ê¤¤
- ¥Ö¥é¥¦¥¶¤âÁª¤Ð¤Ê¤¤
- HTML ¤ò¼«Ê¬¤Ç½ñ¤´¹¤¨¤ëɬÍפâ¤Ê¤¤
¤È¡¢¤«¤Ê¤êÁÇÀ²¤é¤·¤¤¥Ä¡¼¥ë¤Ç¤¢¤ë¡£²¿¤·¤í HTML ¤ÎÄ´À°¤â¤»¤º¤Ë¥Ö¥é¥¦¥¶¤âÁª¤Ð¤Ê¤¤¤È¤Ê¤ì¤Ð¤¢¤Î IE ¤Ç¤â¥ê¥í¡¼¥É¤ò¼«Æ°²½¤Ç¤¤Æ¡¢¸¡¾Ú¤Î¥³¥¹¥È¤ò²¼¤²¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤À¤«¤é¡£
¤â¤¦¾¯¤·ÆÃħ¤òÎóµó
- ¥Ö¥é¥¦¥¶¤È¥µ¡¼¥Ð¤Î´Ö¤ËÆþ¤Ã¤ÆÆ°ºî
- ¥µ¡¼¥Ð¤¬¤Ê¤¤¾ì¹ç¤Ï¼«¿È¤¬ Web ¥µ¡¼¥Ð¤È¤·¤ÆÆ°ºî(WSGI)
- ¥µ¡¼¥Ð¦¤Î¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ò¸¡ÃΤ·¤ÆÄÌÃÎ(seeker)
- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÊÖ¤¹ HTML ¤ËÊѹ¹¤ò²Ã¤¨¤ë proxy ¤È¤·¤ÆÆ°ºî
- ¤³¤³¤Ç seeker ¤Î js ¤Ø¥¢¥¯¥»¥¹¤µ¤»¤ë <script> ¤òÄɲ䷤Ƥ¯¤ì¤ë
- ¥µ¡¼¥Ð¦¤Ç¤¹¤Ù¤Æ´°·ë¤¹¤ë¤Î¤ÇÊ£¿ô¤Î¥Ö¥é¥¦¥¶¤òƱ»þ¤Ë reload ¤µ¤»¤é¤ì¤ë¤·¡¢¥Ö¥é¥¦¥¶¤òÁª¤Ð¤Ê¤¤
- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥µ¡¼¥ÐÆâ¤Çưºî¤¹¤ëɬÍפϤʤ¤¤Î¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó´Ä¶¤âÁª¤Ð¤Ê¤¤
- Æñ¤·¤¤¤³¤È¤ò¹Í¤¨¤Ê¤¯¤Æ¤â static ¤Ê¥µ¥¤¥È¤Î¤¿¤á¤Ë¤â¤¹¤°¤Ë»È¤¨¤ë
- Mac + nodejs + nodejuice ¤Ê¤é´Ä¶¤òºî¤ë¤Î¤Ï¤½¤ì¤Û¤ÉÆñ¤·¤¯¤Ê¤¤¡£¤ä¤Ã¤Æ¤ß¤¿¡£
- ¤³¤Î Mac ¾å¤Ë¥µ¥¤¥È¤òµ¯¤¡¢Windows ¤«¤é¤³¤Î Mac ¤Ø¥¢¥¯¥»¥¹¤¹¤ì¤Ð Windows ¤Ç¤Î¸¡¾Ú¤Î¼ê´Ö¤â¸º¤é¤»¤ë
½àÈ÷¤Î¥Ï¡¼¥É¥ë¤Ï¼ã´³¹â¤¤*1¤¬¡¢¤è¤ê¿¤¯¤Î´Ä¶¤Ç¤Î¸¡¾Ú¤Î¼«Æ°²½¤ò½õ¤±¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤Ï¥¨¥ó¥¸¥Ë¥¢¹¥¤ß¤Ê´¶¤¸¡£¤Þ¤¿¤É¤Î¸À¸ì¡¢¤É¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ç¤Î³«È¯¤Ë¤â»È¤¨¤ë¤Î¤¬Â礤¤¡£
¢¨ node.exe ¤Ç nodejuice ¤òư¤«¤»¤ë¤«¤É¤¦¤«¤Ï»î¤·¤Æ¤¤¤Ê¤¤¤Î¤Çʬ¤«¤é¤Ê¤¤¡£
¤Þ¤È¤á
nodejuice ¤Ï¥¢¥¤¥Ç¥£¥¢¤ÏÎɤ¤¤ó¤À¤±¤É¡¢»È¤¤»Ï¤á¤ò¤â¤¦¾¯¤·´Êñ¤Ë¤·¤Æ¤¯¤ì¤ë¤È¥É¥¥å¥á¥ó¥È¤ä¼ÂºÝ¤Ë»î¤¹¿Í¤¬Áý¤¨¤Æ¤¯¤ë¤Î¤«¤Ê¤¡¤È¤¤¤¦´¶¤¸¡£Î¾Êý¤È¤â¤¢¤Þ¤ê¤Ë¾¯¤Ê¤¤¤Î¤¬ÆñÅÀ¡£¤ä¤Ã¤Æ¤ë¤³¤È¤Î¥¤¥á¡¼¥¸¤¬¤Ä¤±¤Ð¤½¤ì¤Û¤ÉÆñ¤·¤¤¤â¤Î¤Ç¤Ï¤Ê¤¤¤È»×¤¦¤¬¡¢¤¢¤Þ¤ê¤ËÀ¼¤¬¾¯¤Ê¤¤¤ÈÉ԰¤ˤʤäƤ·¤Þ¤¦¡£
¤½¤ì¤È¤âµ¤¤Å¤¤¤Æ¤Ê¤¤ÌäÂ꤬¤¢¤ë¤Î¤«¡£WebSocket ¤ò»È¤ï¤º¤Ë status check ¤·¤Þ¤¯¤ê script ¤òÁÞÆþ¤·¤Æ¤ª¤¯¤Î¤Ï¥Ö¥é¥¦¥¶¤Ë¤è¤Ã¤Æ¤Ï²õ¤ì¤ä¤¹¤¤¤è¤¦¤Êµ¤¤¬¤·¤Ê¤¤¤Ç¤â¤Ê¤¤¡£¥Ç¥â¥à¡¼¥Ó¡¼¤â¤è¤¯¸«¤ë¤È°ìÉô¥ê¥í¡¼¥É¤Ç¤¤Æ¤¤¤Ê¤¤¥¦¥£¥ó¥É¥¦¤¬¤¢¤ë¤è¤¦¤Ë¸«¤¨¤ë¡£
¤Á¤Ê¤ß¤Ë macports ¤«¤é¤Ï install ¤Ç¤¤¿¡£Â¾¤Î´Ä¶¤Ç¤Ï¶²¤é¤¯¼ê¤ÇÆþ¤ì¤Ê¤¤¤È¥À¥á¡£
*1 ¤È¸À¤Ã¤Æ¤â node.js ¤Î´Ä¶¤¬¤¹¤Ç¤Ë¤¢¤ì¤ÐÍî¤È¤·¤Æ¤¤Æ¹¤²¤ë¤À¤±
2011-09-25 [ĹǯÆüµ]
_ LiveReload¤¬Ä¶µ¤»ý¤Á¤¤¤¤2011
¢¨ ¤â¤Ï¤ä2011¸À¤¤¤¿¤¤¤À¤±¡£
¥Ö¥é¥¦¥¶¤Î¥ê¥í¡¼¥É¼«Æ°²½2011½©¤Îή¤ì¤Ç LiveReload ¤Î¤´¾Ò²ð¡£Æ°ºî¥¤¥á¡¼¥¸¤È¤·¤Æ¤ÏËܲȤΠscreencast ¤¬Ê¬¤«¤ê¤ä¤¹¤¤¡£
LiveReload Screencast « Envy Labs
¥¨¥Ç¥£¥¿¤ÇÊÔ½¸¤·¤¿ HTML(View) ¤ä CSS ¤Ê¤É¤¬¤Û¤Ü¨ºÂ¤Ë¥Ö¥é¥¦¥¶¤ÎÊý¤ËÈ¿±Ç¤µ¤ì¤Æ¤¤¤ë¡£ÂÔ¤Á»þ´Ö¤¬¤Ê¤µ¤¹¤®¤Æ²¿¤¬µ¯¤¤¿¤«°ì½Öʬ¤«¤é¤Ê¤¤¤³¤È¤â¤¢¤ë¤¯¤é¤¤¡£¤â¤Á¤í¤ó¥¢¥×¥ê¤ÎÀÚ¤êÂØ¤¨¤Ê¤É¤Î¼êºî¶È¤Ï°ìÀڤʤ·¡£¾¯¡¹¤ÎÊÔ½¸¤Ê¤é¤Þ¤À¤·¤â¡¢ºÙ¤«¤¤Ä´À°¤Î¥Õ¥§¡¼¥º¤ä¿¤¯¤Î²èÌ̤ò°ìÅ٤˳Îǧ¤·¤¿¤¤¾ì¹ç¤Ê¤É¤ËÀäÂç¤Ê¸ú²Ì¤òȯ´ø¤¹¤ë¡£
¤Þ¤È¤á
Web ¤Î³«È¯¡¢À©ºî¼Ô¤Ï¾¯¤Ê¤¯¤È¤â Safari, Chrome, Firefox ¤Î¤¤¤º¤ì¤«¤Ï»È¤Ã¤Æ¤¤¤ë¤È»×¤¦¡£¤³¤ì¤é¤Î¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¤¼¤Ò¥ª¥¹¥¹¥á¡£Ëè²ó¤Î reload ¤«¤é´°Á´¤Ë²òÊü¤µ¤ì¤ë¤Î¤Ï¤Á¤ç¤Ã¤ÈÁÛÁü°Ê¾å¤Ë¥¤¥ó¥Ñ¥¯¥È¤¬Â礤¤¡£
¤¿¤À¡¢¸Ä¿ÍŪ¤Ë¤Ï¥¤¥Á¥ª¥·¤Î LiveReload ¤À¤±¤É Windows ´Ä¶¤Ç¤Ï¤Á¤ç¤Ã¤ÈÀ©¸Â¤¬¸·¤·¤¤¡£¤Á¤ã¤ó¤È¼ê½ç¤Ë½¾¤¨¤Ð´Ö°ã¤¤¤Ê¤¯Æ°¤¯¡Ê1.6¤Ë¤Ä¤¤¤Æ¤Ï¡Ë¤Î¤Ç¡¢¥³¥¹¥È·×»»¤¬¤Á¤ã¤ó¤È¤Ç¤¤ë¿Í¤Ë¤Ï¤¼¤Ò»î¤·¤Æ¤â¤é¤¤¤¿¤¤¡£
¤Þ¤¿¥ï¡¼¥¯¥¹¥Ú¡¼¥¹¤¬ Windows °Ê³°¤Î¥Þ¥·¥ó¤Ê¤éÆÃ¤ËÆñ¤·¤¤¤³¤È¤Ï¤Ê¤¤¡£²¾¤Ë Linux Box ¾å¤Ë¡Ö¶¦Í¡×¥¹¥Ú¡¼¥¹¤òÍѰդ·¤Æ¤¤¤ë¤è¤¦¤Ê¤é¤½¤³¤Çư¤«¤·¤Æ¤ª¤¯¤À¤±¤Ç¤À¤¤¤Ö¸úΨ¤Ï¾å¤¬¤ë¤·¡¢Â¿¤¯¤Î¿Í¤ËƱ»þ¤Ë¸ú²Ì¤òÂ賤·¤Æ¤â¤é¤¨¤ë¤Î¤Ç¤è¤êÎɤ¤¡£
°ì¿Í¤Ç¾®µ¬ÌϤÀ¤È¤¢¤Þ¤ê¸ú²Ì¤Ï¼Â´¶¤Ç¤¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢´·¤ì¤ë¤È¼êÊü¤»¤Ê¤¯¤Ê¤ê¤½¤¦¡£¤È¤¤¤¦¤«¼«Ê¬¤Ï¤â¤¦¤Ê¤Ã¤¿¡£
»ÅÁȤß
- ¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ò´Æ»ë¤ò¤¹¤ë Ruby À½¤Î¥Ä¡¼¥ë
- WebSocket ¤òÄ̤¸¤Æ¾å¤Î¥Ä¡¼¥ë¤È¤ä¤ê¤È¤ê¤·¤Æ¥Ö¥é¥¦¥¶¤Î¥ê¥í¡¼¥É¤ò¼Â¹Ô¤¹¤ë³ÈÄ¥
¤ÎÁȤ߹ç¤ï¤»¤Çư¤¯¡£
³ÈÄ¥¤ÎÊý¤Ï´Êñ¤À¤±¤É¡¢Ruby À½¤Î¥Ä¡¼¥ë¤Ï Ruby ¤ËÉÔ´·¤ì¤À¤Ã¤¿¤ê¡¢¤Þ¤·¤Æ Windows ´Ä¶¤À¤Ã¤¿¤ê¤¹¤ë¤Èµ¤¤ò»È¤¦¤«¤â¡£
ʬ¤«¤ó¤Ê¤¤¿Í¤Ïʬ¤«¤ë¿Í¤Ë¥á¥·¤ª¤´¤Ã¤Æ¤ä¤Ã¤Æ¤â¤é¤ª¤¦¡ª
Ãí°Õ
¶õÇò¤ÎÆþ¤Ã¤¿¥Ñ¥¹¾å¤Ç¤Ïư¤«¤Ê¤¤¤È»×¤¦¡£¤¹¤Ù¤Æ¤Î´Ä¶¤Ç»î¤·¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤±¤É¡¢¾¯¤Ê¤¯¤È¤â Windows + LiveReload 1.6 ¤Ç¤Ïư¤«¤Ê¤«¤Ã¤¿¡£¼«Ê¬¤ÏÉáÃʥѥ¹¤Ë¶õÇò¤ÏÀäÂÐ¤ËÆþ¤ì¤Ê¤¤¤Î¤Çµ¤¤Å¤«¤Ê¤¯¤Æ¥Ï¥Þ¤Ã¤¿¡£
¤¢¤È»î¤·¤¿¸Â¤ê¤Ç¤Ï file scheme ¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¡© Âбþ¤·¤Æ¤ë¤È½ñ¤¤¤Æ¤¢¤ë¤ó¤À¤±¤É¡¢¼«Ê¬¤Î´Ä¶¤Ç¤Ï¤¦¤Þ¤¯Æ°¤«¤»¤Ê¤«¤Ã¤¿¡£
Web¥µ¡¼¥Ð¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥µ¡¼¥Ð¤¬ÆÃÊ̸ºß¤·¤Ê¤¤¾ì¹ç¤Ï Ruby ¤ò»È¤Ã¤Æ DocumentRoot ¤ËÅö¤¿¤ë¥Ñ¥¹¡Ä¤¨¡¼¤ÈÀäÂХѥ¹¤Î / ¤ËÅö¤¿¤ë¤È¤³¤í¤Ë cd ¤·¤Æ¡Ê¤â¤Á¤í¤ó KUROIGAMEN ¤Ç¡Ë
ruby -r webrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => ".").start'
¤ÈÂǤƤРok. Windows ¤À¤È
ruby -r webrick -e "WEBrick::HTTPServer.new(:DocumentRoot => \".\").start"
¤³¤¦¤Ê¤ë¡£
¢¨ Ruby 1.9.2 °Ê¹ß¤Ê¤é
ruby -run -e httpd -- --port=3000 .
¤Ç¤â¥¤¥±¤ë¡£
¥Ö¥é¥¦¥¶³ÈÄ¥¤Î½àÈ÷
¥Ö¥é¥¦¥¶¤Î³ÈÄ¥¤Ï¤É¤Á¤é¤âƱ¤¸¤â¤Î¤ò»È¤¦¡£
- chrome ³ÈÄ¥¤ÎÊý¤Ï port Èֹ椬Æþ¤Ã¤Æ¤¤¤Ê¤¤²ÄǽÀ¤¢¤ê¡£
- 35729
- firefox ¤Ï
- 0.6.3 °Ê¹ß¤Ç¤Ê¤¤¤È¤Ê¤¤¤È Firefox 6.x °Ê¹ß¤Ïư¤«¤Ê¤¤
- about:config ¤Ç°Ê²¼¤ÎÀßÄê¤ò
- network.websocket.enabled true
- network.websocket.override-security-block true
- ºÆµ¯Æ°¤·¤Ê¤¤¤È¥À¥á¤«¤â
³ÈÄ¥¤Î½àÈ÷¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤Î¥¨¥ó¥È¥ê¤¬»²¹Í¤Ë¤Ê¤ë¡£
Rails¥¢¥×¥ê¤òÊѹ¹¤·¤¿¤é¼«Æ°¤Ç¥Ö¥é¥¦¥¶¤ò¥ê¥í¡¼¥É¤·¤Æ¤¹¤°³Îǧ¤Ç¤¤ë guard-livereload¡ÃWEB¥Ç¥¶¥¤¥ó Tips
¤â¤·¤«¤¹¤ë¤È Firewall ¤¬ 35729 ¤ò block ¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç¡¢ruby ¤Ë¤è¤ëÄÌ¿®¤ò´Ý¤´¤Èµö²Ä¤È¤«¡¢¤½¤ó¤ÊÀßÄê¤Ë¤·¤Æ¤ª¤¯¤È¤¤¤¤¤«¤â¡£
Ruby¤Î½àÈ÷
OS ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ç¤â rvm ¤Ç¤â¤¤¤¤¤¬¤Þ¤º Ruby ¤òÍѰդ¹¤ë¡£Windows ¤Î¾ì¹ç¤Ï rubyinstaller ¤Ç 1.8*1 ¤òÆþ¤ì¤Æ¡¢devkit ¤â¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¯¡£devkit ¤¬¤¢¤ì¤Ð native extension ¤âÉݤ¯¤Ê¤¤¡£
ÅöÁ³¤Î¤è¤¦¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ï gem ¤ò»È¤¦¤Î¤Ç gem ¤âÆþ¤ì¤Æ¤ª¤¯¤³¤È¡£rvm ¤ä rubyinstaller ¤Ç¤Ï gem ¤Ïɸ½à¤Î¤Ï¤º¤Ê¤Î¤ÇÆÃ¤Ë¤ä¤ë¤³¤È¤Ï¤Ê¤¤¡£
guard-livereload
¢¨ 2011-09-25 ¸½ºß¤Ç Windows ¤Ç¤Ïư¤«¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£
Ruby ¤Î Guard ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤ò´Æ»ë¤·¤Æ²¿¤«¤¹¤ë¥Ä¡¼¥ë¤Î plugin Ū¤Ê¤â¤Î¤È¡¢¾å¤Î¥Ö¥é¥¦¥¶¤Î³ÈÄ¥¤òÁȤ߹ç¤ï¤»¤Æ¼Â¸½¤¹¤ë¡£WebSocket ¤Ç¥Ö¥é¥¦¥¶¤Ë reload ¤µ¤»¤ë¤Î¤Ç WebSocket Âбþ¥Ö¥é¥¦¥¶¤Ç¤Ê¤¤¤È»È¤¨¤Ê¤¤¡£
°Ê²¼¡¢ÆÃħ¡£
- HTML ¤Ë¤Ï¼ê¤ò²Ã¤¨¤ëɬÍפ¬¤Ê¤¤
- ¥Ö¥é¥¦¥¶¤òÁª¤Ö
- ¥µ¡¼¥Ð¦¤Ï Rails ¥¢¥×¥ê¤À¤È²¿¤«¤È´ò¤·¤¤¡ÊÊØÍø¤Ê gem ¤¬ËÉÙ¤À¤«¤é¡Ë¤¬¡¢ÊÌ¤Ë Rails ¤ä Ruby ¥¢¥×¥ê¤Ç¤¢¤ëɬÍפϤʤ¤¡£
- static ¤Ê¥µ¥¤¥È¤Ç¤â PHP ¥¢¥×¥ê¤Ç¤â¤Ê¤ó¤Ç¤â¤è¤¤
- CSS ¤Ï CSS ¤À¤± reload ¤·¤ÆÅ¬ÍѤ·Ä¾¤·¤Æ¤¯¤ì¤ë
ºÇ¶á Rails ¤ä Middleman ¤Ç¤³¤ì¤ò»È¤Ã¤Æ¤ë¤ó¤À¤±¤É¡¢git co ¤ä stash ¤Ê¤É¤¹¤ë¤À¤±¤ÇÂбþ¤·¤Æ¤ë¥Ö¥é¥¦¥¶¤¬ÊÒ¤Ãü¤«¤é reload ¤¹¤ë¥µ¥Þ¤Ï¤Ê¤«¤Ê¤«ÁÔ´Ñ¡£¤¿¤À¤· CSS ¤ÎÊѹ¹¤Ï΢¤Ç¹Ô¤ï¤ì¤ÆÌۤäÆÅ¬ÍѤµ¤ì¤ë¤Î¤Çµ¤¤Å¤«¤Ê¤¤¤³¤È¤¬¤¢¤Ã¤Æ¼êư reload ¤·¤¿¤ê¤¹¤ë¡Ê¥À¥á¤¸¤ã¤ó¡Ë¡£
¥¤¥ó¥¹¥È¡¼¥ë
gem insall guard-livereload
¤Ç¥ª¥·¥Þ¥¤¡£¤¿¤Ö¤ó¡£
»È¤¤Êý
¤Þ¤º´Æ»ë¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ç
guard init livereload
¤¿¤Ö¤ó Rails ÍѤΥƥó¥×¥ì¡¼¥È¤Î Guardfile ¤¬¤Ç¤¤ë¤Î¤Ç¡¢¤³¤ì¤òÌÜŪ¤Ë¹ç¤ï¤»¤ÆÊÔ½¸¡£À¸ HTML ¤Ê¤é¤³¤ó¤Ê¤ó¤Ç¤â¤¤¤¤¡£
guard 'livereload' do watch(/\.html?/) watch(/\.css/) watch(/\.js/) end
¤Ç¡¢´Æ»ë¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ç
guard [start]
¤³¤ì¤Ç¥Ö¥é¥¦¥¶Â¦¤Ç [ LR ] ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤¯¤ì¤ë¤Î¤òÂԤĤϤº¡£Ìµ»ö connect ¤Ç¤¤¿¤é¥Ü¥¿¥ó¤ÏÎФˤʤꡢKUROIGAMEN ¾å¤Ç¤Ï Browser connected. ¤Èɽ¼¨¤µ¤ì¤ë¤Ï¤º¡£
¤³¤¦¤Ê¤ì¤Ð¤¢¤È¤ÏŬÅö¤Ê¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¤À¤±¡£
LiveReload
LiveReload ¤Ï guard-livereload ¤ÈƱ¤¸¤¯ Ruby ¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¤¬ cross platform ¤ò°Õ¼±¤·¤Ä¤Ä Guard °Í¸¤ò¼è¤ê½ü¤¤¤Æ¤¢¤ë¡£*2 Guard °Í¸¤ò¼è¤ê½ü¤¤¤Æ¤¤¤ë¤Î¤Ç¤Ä¤¤¤Ç¤Ë guard ¤Ë¤¤¤í¤¤¤í¤ä¤é¤»¤ë*3¤³¤È¤Ï¤Ç¤¤Ê¤¤¡£¤¢¤¯¤Þ¤Ç½ã¿è¤Ë LiveReload ¤·¤«¤·¤Ê¤¤¡£¤¿¤À¤·¤½¤ÎºÝÊØÍø¤½¤¦¤Ê Sass ¤ä CoffeeScript ¤ÎÂбþ¤Ï¼«Á°¤Ç¤ä¤Ã¤Æ¤¯¤ì¤ë¤é¤·¤¤¡£
2011-09 »þÅÀ¤Ç GUI ¤âÈ÷¤¨¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤Æ½ñ¤´¹¤¨¤è¤¦¤È¤·¤Æ¤¤¤ëºÇÃæ¤Ç¡¢¤â¤Ã¤È¤â¹âµ¡Ç½¤Ê reloader ¤Ë¤Ê¤ê¤½¤¦¤Êµ¤ÇÛ¡£
- HTML ¤Ë¤Ï¼ê¤ò²Ã¤¨¤ëɬÍפ¬¤Ê¤¤
- ¥Ö¥é¥¦¥¶¤òÁª¤Ö
- º£¤Î¤È¤³¤í platform ¤âÁª¤Ö
- Ruby 1.8 + LiveReload 1.6 ¤¬º£¤Î¤È¤³¤í Windows ¤Ç¤ÏÍ£°ì¤ÎÁªÂò»è
- ¥Ñ¥¹¤Ë¶õÇò¤¬¤¢¤ë¤È¥¢¥¦¥È¡£¤â¤·¤«¤¹¤ë¤È¤³¤ÎÀ©¸Â¤Ï¾¤Î´Ä¶¤Ç¤âƱ¤¸¤«¤â¡£
¥¤¥ó¥¹¥È¡¼¥ë
Windows ¤Ç¤âư¤«¤»¤ëÊýË¡¤È¤¤¤¦¤³¤È¤Ç Mac ÍѤΠGUI ¤ÎÊý¤Ï̵»ë¤·¤Æ¤ä¤Ï¤ê KUROIGAMEN ¤Ç github ¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë½ñ¤¤¤Æ¤¢¤ëÄ̤ê¤ËÂǤġ£
- Windows
- gem install eventmachine-win32 win32-changenotify win32-event livereload --platform=ruby
- Mac
- sudo gem install livereload
- Linux
- sudo gem install rb-inotify livereload
¤¿¤Ö¤ó¾¤ÎÊýË¡¤Ç¤â¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤ë¤È»×¤¦¤±¤É¡¢¾¯¤Ê¤¯¤È¤â 2011-09-25 »þÅÀ¤Ç¤Ï Windows ¤Ë¤Ä¤¤¤Æ¤Ï¤³¤ÎÄ̤ê°Ê³°¤Ë¤ä¤Ã¤Æ¤â¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤È»×¤¦¡£
»È¤¤Êý
´Æ»ë¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ç
livereload
guard ¤È°ã¤Ã¤ÆÆÃ¤ËÍѰդ¹¤ë¥Õ¥¡¥¤¥ë¤Ï¤Ê¤¤¤Î¤Ç¡¢¤³¤ì¤À¤±¡£(¥Õ¥¡¥¤¥ë¤òÍѰդ·¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤±¤É¡£¡Ë
¤Þ¤È¤á
Ruby ¤ËÉÔ´·¤ì¤À¤È¤ä¤äʬ¤«¤ê¤Ë¤¯¤¤¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢´ðËÜŪ¤Ë¤ÏÍѰդµ¤ì¤¿¥É¥¥å¥á¥ó¥È¤Î¼ê½çÄ̤ê¤Ëºî¶È¤¹¤ì¤Ðư¤¯¤È»×¤¦¡£µÕ¤Ë Ruby ¤Ë´·¤ì¤Æ¤¤¤ë¤È Windows ¤ÇÌýÃǤ·¤Æ¥Ï¥Þ¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤ÇÃí°Õ¤¬É¬Íס£¡Ê¼«Ê¬¤Ï¥Ï¥Þ¤Ã¤¿¡£¡Ë
LiveReload ¤ÎºÇÂç¤ÎÆÃħ¤Ï®¤µ¤¸¤ã¤Ê¤¤¤«¤È»×¤¦¡£¼Â¤ÏÃѤº¤«¤·¤Ê¤¬¤é¤³¤ì¤Þ¤Ç¼«Æ°¥ê¥í¡¼¥É¤Î»ÅÁȤߤÏÍѰդ·¤¿¤³¤È¤¬¤Ê¤¤¤Î¤ÇÈæ³Ó¤Ï¤Ç¤¤Ê¤¤¤ó¤À¤±¤É¡¢¾¯¤Ê¤¯¤È¤âÃæ¤Ç»È¤Ã¤Æ¤¤¤ë EventMachine ¤â WebSocket ¤âÆÃ¤Ë½èÍý¤¬½Å¤Ê¤Ã¤¿¾ì¹ç¤Î®¤µ¤ËÄêɾ¤¬¤¢¤ë¤Ï¤º¤Ê¤Î¤Ç¤½¤³¤«¤é¤ÎÎà¿ä¡£¤¢¡¢Firefox ¤Î AutoReload ³ÈÄ¥¤Ï»î¤·¤¿¤Ê¡£¤¢¤ì¤ÏÃÙ¤«¤Ã¤¿¡£¤¢¤ì¤ËÈæ¤Ù¤ë¤ÈÂÔ¤Á»þ´Ö¤¬¤Û¤ó¤È¤Ë¾¯¤Ê¤¤¡£Atom ¥Þ¥·¥ó¤Ç¤â½½Ê¬²÷Ŭ¤Ëºî¶È¤Ç¤¤ë¡£
¤È¤¤¤¦¤ï¤±¤Ç¤³¤ì¤Ï¥ª¥¹¥¹¥á¤À¤È»×¤¦¤Ê¡¼¡£Windows ¤Ç¤â¥â¥í¥â¥í¤ÎÀ©¸Â¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤¯¤ì¤ë¤È´ò¤·¤¤¡£