¥È¥Ã¥× ºÇ¿· Äɵ­

2010-12-05 [ĹǯÆüµ­]

_ ºÇ¶á¤ÎJavaScript¤Î¥Æ¥¹¥Æ¥£¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Æ¤ß¤¿

¤¢¤ë¤¤¤Ï kanazawa.js v0.0.1 ÊÙ¶¯²ñ : ATND ¤Ë»²²Ã¤·¤Æ¤­¤¿¡£

º£²ó¤Ï¤È¤ê¤¢¤¨¤ºº£ÃíÌܤ·¤Æ¤¤¤ë JavaScript ¥Æ¥¹¥Æ¥£¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Î¾Ò²ð¤È¤¤¤¦¤«¥ê¥ó¥¯½¸¤á¤À¤±¡£

¤Þ¤È¤á

  • QUnit ¤È Jasmine ¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤¿¤è¡ª
  • ¹¥¤­¤Ë»È¤Ã¤Æ¡ª Jasmine ¤Î»È¤¤Êý¤Ï¤Þ¤À½ñ¤¯¤³¤È¤¢¤ë¤ó¤À¤±¤ÉÈè¤ì¤¿¤«¤é¤Þ¤¿º£Å٤͡ª

½ñ¤¤¤¿¤è¡ª Jasmine¤ò¤â¤¦¾¯¤·¾Ü¤·¤¯¾Ò²ð¤·¤Æ¤ß¤ë ¤âÆÉ¤ó¤Ç¤ß¤Æ¡ª

¼«Ê¬¤ÎÇØ·Ê

JsUnit ¤ò»È¤Ã¤ÆÃ浬ÌϤʥ³¡¼¥É¤ò½ñ¤¤¤¿·Ð¸³¤¬¤¢¤ë¡£ÉáÃÊ¤Ï PHP + SimpleTest ¤Ç³µ¤Í TDD ¤Ç½ñ¤¤¤Æ¤¤¤ë¡£Ruby ¤Ï¤Þ¤À Test::Unit ¤ò»È¤Ã¤Æ¤¤¤ë¡£RSpec ¤Ë°Ü¹Ô¤·¤¿¤¤¤È»×¤¤¤Ê¤¬¤é¥¿¥¤¥ß¥ó¥°¤ò¤Ä¤«¤ß¤½¤³¤Í¤Æ¤¤¤ë¡£

¥Æ¥¹¥Æ¥£¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ë¤Ç¤­¤ë¤³¤È

  • ¤Þ¤º¸¶Â§¤Ï JS ¤Î¤ß¤Î¥æ¥Ë¥Ã¥È¥Æ¥¹¥È

¤³¤ì¤ò¥æ¥Ë¥Ã¥È¥Æ¥¹¥È¤È¸Æ¤Ö¤« TDD ¤È¸Æ¤Ö¤« BDD ¤È¸Æ¤Ö¤«¤ÏÇØ·Ê¤Îʸ²½¤Ë¤è¤ë¤¬¡¢¾¯¤Ê¤¯¤È¤â¤Ç¤­¤ë¤³¤È¤Ë¤â¤Î¤¹¤´¤¯Â礭¤Êº¹¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤È¹Í¤¨¤Æ¤ª¤¤¤Æ´Ö°ã¤¤¤Ê¤¤¡£

DOM ¤òÁàºî¤¹¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï JS ¥³¡¼¥É¤ò¸Æ¤Ó½Ð¤¹ HTML ¤ËÂФ·¤ÆÁàºî¤ò²Ã¤¨¡¢·ë²Ì¤ò¥Æ¥¹¥È¤¹¤ë¤Î¤¬´ðËܤˤʤ롣¡Ê¤Ï¤º¡£¡Ë

¤Þ¤¿¥µ¡¼¥Ð¥µ¥¤¥É¤Îưºî¤È¤Ï´ðËÜŪ¤ËÀÚ¤êÎ¥¤·¤Æ¹Í¤¨¤Æ¤ª¤¯¡£¥µ¡¼¥Ð¤¬ÀÅŪ¤Ê HTML ¤·¤«ÊÖ¤µ¤Ê¤¤¤Ê¤é¤½¤ì¤ò¥Æ¥¹¥È¥³¡¼¥É¤ËÍ¿¤¨¤ì¤Ð¤è¤¤¤·¡¢Ajax Âбþ¤Ïº£¤Þ¤µ¤Ë¥Æ¥¹¥Æ¥£¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤¬¤·¤Î¤®¤òºï¤Ã¤ÆÂбþ¤ò¿Ê¤á¤è¤¦¤È¤·¤Æ¤¤¤ë²ÝÂê¤Î¤è¤¦¤À¡£¤â¤¦¾¯¤·ÂԤơ£

º£²ó¤Î2¤Ä¤Ë¶¦Ä̤¹¤ë¤³¤È
  • ¸Å¤¤ xUnit ·Ï¤è¤ê¤â¼«Í³¤Ë̾Á°ÉÕ¤±¤Ç¤­¤ë

xUnit ·Ï¤ÎΨľ¤Ê¼ÂÁõ¤Ï´ðËÜŪ¤Ë¥Æ¥¹¥È̾¤Ï¥á¥½¥Ã¥É̾¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤·¤¿¤¬¤Ã¤Æ¥Æ¥¹¥È¤Î°Õ¿Þ¤òµ­½Ò¤·¤Ë¤¯¤¤¤³¤È¤¬¤¢¤ë¡£º£²ó¾Ò²ð¤¹¤ë2¤Ä¤Ë¤Ï¤½¤¦¤¤¤¦À©¸Â¤Ï¤Ê¤¤¡£

QUnit

jquery/qunit - GitHub

¸Ä¿ÍŪ¤Ê°õ¾Ý¤Ï schwern/test-more - GitHub ¤È¤¤¤¦¤« Blog | New testing framework | symfony | Web PHP Framework ¤Î¤è¤¦¤Ê´¶¤¸¡£Íפ¹¤ë¤ËÈæ³ÓŪ¥·¥ó¥×¥ë¤Ë¥Æ¥¹¥È¤ò½ñ¤±¤ë¤â¤Î¡£

¤È¤¤¤¦¤è¤ê¶²¤é¤¯¤¤¤Á¤Ð¤ó¥¦¥±¤Æ¤¤¤ë¤Î¤Ï

½àÈ÷¤¬³Ú

¤Ã¤Æ¤³¤È¤À¤È»×¤¦¡£´ðËÜŪ¤Ë¤Ï qunit.js ¤È qunit.css ¤È¤½¤ì¤òÆÉ¤ß¹þ¤à HTML ¤µ¤¨¤¢¤ì¤Ð¥Æ¥¹¥È¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤ë¡£

´ðËÜŪ¤Ê»È¤¤Êý

ºÇ¤â´ðËÜŪ¤Ê»È¤¤Êý¤Ï°Ê²¼¤Î¤è¤¦¤Ê HTML ¤òÍѰդ·¤Æ¥Ö¥é¥¦¥¶¤ÇÆÉ¤ß¹þ¤à¡£

¤³¤ì¤Ï http://docs.jquery.com/QUnit ¤Ë¤¢¤ë¥Ç¥â¤«¤é jQuery °Í¸¤ÎÉôʬ¤ò½ü¤¤¤¿¤â¤Î¡£¤ä¤Ã¤Æ¤ß¤ì¤Ðʬ¤«¤ë¤±¤ÉÉáÄÌ¤Ë jQuery ̵´Ø·¸¤Ëư¤¯¡£*1

»²¹Í

¡Ú¥ì¥Ý¡¼¥È¡ÛjQuery¥Æ¥¹¥È¥¹¥¤¡¼¥È¡ÖQUnit¡×¤¬¥¹¥¿¥ó¥É¥¢¥í¥ó²½! »È¤¤Êý¤òÁᮥÁ¥§¥Ã¥¯ (1) QUnit¤È¤Ï? | ¥¨¥ó¥¿¡¼¥×¥é¥¤¥º | ¥Þ¥¤¥³¥ß¥¸¥ã¡¼¥Ê¥ë

Jasmine

¸Ä¿ÍŪ¤Ë¤Ï¤³¤Ã¤Á¤¬ËÜÌ¿¡£ÌÀ³Î¤Ë RSpec-inspired.

Jasmine: BDD for Javascript | Jasmine

Pivotal Labs ¤¬¥á¥ó¥Æ¥Ê¥ó¥¹¤ò¤·¤Æ¤¤¤ë¡£¼Â¤Ï¤³¤ì¤¹¤´¤¯½ÅÍס£¤Ê¤¼¤Ê¤é JsUnit ¤â pivotal/js-spec-server - GitHub ¤â´Ø·¸¤·¤Æ¤¤¤ë Pivotal Labs ¤¬¤¢¤¨¤Æ¿·¤·¤¤ JavaScript Testing Framework ¤òºî¤Ã¤Æ¤¤¤ë¤Î¤À¡£¤³¤ì¤¬Îɤ¯¤Ê¤¯¤Æ°ìÂβ¿¤¬Îɤ¤¤Î¤À¡£

¤Þ¤¿¡¢relevance/blue-ridge - GitHub ¤È¤¤¤¦¤«¤Ê¤êµ¤¹ç¤¤¤ÎÆþ¤Ã¤¿ Framework ¤âº£¤Ï¡Ö¤â¤¦¤ä¤é¤Ê¤¤¤«¤é Jasmine »È¤¨¡×¤Ã¤Æ¸À¤Ã¤Æ¤ë¤¯¤é¤¤¤Ê¤ó¤À¤«¤é¡¢ËÜÌ¿Ãæ¤ÎËÜÌ¿¤È¸À¤Ã¤Æ¤¤¤¤¤È»×¤¦¡£

Pivotal Labs ¤Î̾Á°¤ò°Õ¼±¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤ÏEϤµ¤ó¤ÎÃæ¤Çή¹Ô¤Ã¤Æ¤¤¤ë¤È¤¤¤¦Ïäòʹ¤¤¤Æ¤«¤é¤À¤±¤É¡¢jsUnit ¼«ÂΤϰÊÁ°¤«¤éÃΤäƤ¤¤¿¤Î¤Ç¡¢¤³¤ì¤ÏÀµÄ¾´üÂÔ¤·¤Á¤ã¤¦¤Ã¤Æ¤â¤ó¤À¡£

related projects ¤Ê¤É¤Ï¤Þ¤À¥¢¥Ã¥Á¥Ã¥Á¤«¤â¤·¤ì¤Ê¤¤¡£¤Ç¤â¤³¤ì¤Ï·ë¹½´üÂԤǤ­¤½¤¦¡£

Jasmine ¤Ç fixture

velesin/jasmine-jquery - GitHub

¤ò»È¤¦¤È³ä¤ÈÁÇľ¤ËÌÜŪ¤òãÀ®¤Ç¤­¤ë¡£jasmine-jquery ¤È¤¤¤¦Ì¾Á°¤À¤¬ÊÌ¤Ë jquery ¤ò»È¤¦É¬ÍפϤʤ¤¡£

Ʊ¤¸¤è¤¦¤ÊÌÜŪ¤Ç jeffwatkins/jasmine-dom - GitHub ¤È¤¤¤¦¤â¤Î¤â¤¢¤ë¤Î¤À¤¬¡¢¤É¤¦¤â fixture ¼þ¤ê¤Îư¤­¤¬ÊÑ¡£¥³¡¼¥É¼«ÂΤϤâ¤Î¤¹¤´¤¯¹ó»÷¤·¤Æ¤ë¤ó¤À¤±¤É¡¢¤Ê¤ó¤«ÊÑ¡£

Jasmine ¤Ç Ajax

pivotal/jasmine-ajax - GitHub

¤È¤¤¤¦¥×¥í¥¸¥§¥¯¥È¤¬¤¢¤ë¤ó¤À¤±¤É¡¢¤Þ¤À¤¢¤Þ¤êÆüËܸì¤ÇÏäòʹ¤«¤Ê¤¤¡£º£¤ä¤Ã¤¿¤éÆüËܿͤÎÃæ¤Ç¤Ï¥ê¡¼¥É¤Ç¤­¤ë¤«¤â¡£

headless

headless ¤Ã¤Æ¤¤¤¦¤Î¤Ï GUI-less ¤Î¤³¤È¤À¤È»×¤Ã¤Æ¤ë¤ó¤À¤±¤É¡¢¤³¤Î¼è¤êÁȤߤϤ¤¤¯¤Ä¤«¤¢¤ë¡£

  1. jeremylightsmith/class.TDD-in-javascript-with-headless-jasmine - GitHub
  2. injest - Project Hosting on Google Code

¤³¤ì¤â¤Þ¤À¤¢¤Þ¤êÏäòʹ¤«¤Ê¤¤¡£

»²¹Í

*1 ¤¿¤À¤·¥³¡¼¥É¤òÄɤ¦¤ÈÃæ¤Ë¤Ï¤Þ¤À jQuery ¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ëÉôʬ¤¬¤¢¤ë¤Î¤Ç´°Á´¤Ë jQuery ¤¬¤Ê¤¯¤Æ¤â¤è¤¤¤ï¤±¤Ç¤Ï¤Ê¤¤¤Ã¤Ý¤¤¡£


2010-12-06 [ĹǯÆüµ­]

_ ¤¤¤¤»Å»ö¤·¤¿¤¤¤¸¤ã¤ó

²þ¤á¤Æ»×¤Ã¤¿ 2 + 1 ¤Î¤³¤È

ºÇ¶á¡¢¿Í¤ËÏ乤³¤È¤Ç²þ¤á¤Æ¼«Ê¬¤Î»×¤¤¤Ëµ¤¤Å¤¤¤¿¤³¤È¤¬Æó¤Ä¤¢¤ë¡£

  • ¤¤¤¤»Å»ö¤ò¤·¤¿¤¤
  • Ãæ¾®´ë¶È¤Ë¤Ï»þ´Ö¤â¿Í¼ê¤â;͵¤Ï¤Ê¤¤

·Ú¤¯·¡¤ê²¼¤²¤Æ½ñ¤­»Ä¤·¤Æ¤ª¤­¤¿¤¤¡£¤½¤·¤Æ½ñ¤¤¤Æ¤¤¤ëÅÓÃæ¤Ç½Ð¤Æ¤­¤¿¤Î¤¬

  • Ï·³²¤Ë¤Ê¤ê¤¿¤¯¤Ê¤¤

¤Ç¤¢¤ë¡£¤³¤ì¤â»Ä¤·¤Æ¤ª¤³¤¦¡£¤¤¤Ä¤«¿¶¤êÊ֤俤Ȥ­¤Ë¤¤¤í¤¤¤í»×¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

¤¤¤¤»Å»ö¤·¤¿¤¤¤¸¤ã¤ó

¡Ö¤¤¤¤»Å»ö¡×¤È¤¤¤¦¸ÀÍդϤ¤¤í¤¤¤í¤Ê°ÕÌ£¤ò´Þ¤à¡£¿Í¤Ë¤è¤Ã¤ÆÄêµÁ¤¬ÊѤï¤Ã¤Æ¤·¤Þ¤¦Û£Ëæ¤Ê¸ÀÍդȤâ¸À¤¨¤ë¤±¤É¡¢¤³¤³¤Ç¤Ï¤È¤ê¤¢¤¨¤ºÛ£Ëæ¤Ê¤Þ¤Þ¹Ô¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤«¤È´¶¤¸¤Æ¤¤¤ë¡£¥¨¥ó¥¸¥Ë¥¢¤Ë¤Ï¥¨¥ó¥¸¥Ë¥¢¤Î¡¢±Ä¶È¤Ë¤Ï±Ä¶È¤Î¡¢²ñ·×¤Ë¤Ï²ñ·×¤Î¤¤¤¤»Å»ö¤¬¤¢¤ë¤Ï¤º¤À¡£¤½¤ì¤Ç¤¤¤¤¤È»×¤¦¡£

ÀµÄ¾¤Ê¤È¤³¤í¼«Ê¬¤Ï²¿¤â¤·¤Ê¤¯¤Æ¤¤¤¤¤Ê¤é²¿¤â¤·¤¿¤¯¤Ê¤¤¿Í´Ö¤À¡£¹¥¤­¤Ê¤³¤È¤À¤±¥À¥é¥À¥é¤Ç¤­¤ë¤Ê¤é¤³¤ó¤ÊÁÇÀ²¤é¤·¤¤¤³¤È¤Ï¤Ê¤¤¤È»×¤¦¤·¡¢¤½¤ì¤Ç¤â¶²¤é¤¯¥Ò¥Þ¤Çº¤¤Ã¤Á¤ã¤¦¤è¤¦¤Ê¥¿¥¤¥×¤Ç¤Ï¤Ê¤¤¤È»×¤Ã¤Æ¤¤¤ë¡£

¤È¤³¤í¤¬»Äǰ¤Ê¤¬¤é¸½¼Â¤Ï¤½¤¦´Å¤¯¤Ê¤¤¡£»Å»ö¤·¤Ê¤¤¤ÈÀ¸¤­¤Æ¤¤¤±¤Ê¤¤¡£¼Ò²ñ¤¬Êú¤¨¤ë¤¢¤Þ¤ê¤ËÂ礭¤ÊÉéºÄ¤Ë¤Ä¤¤¤Æ¡Ö¤Ê¤ó¤Ç¤³¤ó¤Ê¥¢¥Û¤ÊÏäФ䫤ʤó¤À¡×¤È»×¤¦¤³¤È¤Ï¿¤¤¤±¤ì¤É¡¢¤Ò¤È¤Þ¤º¤½¤ì¤òÃÖ¤¤¤ÆÌܤÎÁ°¤ÎÌäÂê¤ËÂн褷¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡£¤Ä¤Þ¤ê»Å»ö¤¹¤ë¤Î¤À¡£

¤É¤¦¤»¤ä¤ê³¤±¤Ê¤¯¤Á¤ã¤¤¤±¤Ê¤¤¤Î¤Ê¤é¤Ð¡Ö¤¤¤¤»Å»ö¡×¤ò¤·¤¿¤¤¤È¼«Ê¬¤Ï»×¤¦¥¿¥¤¥×¤Ç¤¢¤ë¡£¥¢¥¸¥ã¥¤¥ëŪ¤Ë¤Ï¡Ö¤ªµÒÍͤÎËþ­¡×¤È¸À¤¦¤Î¤¬¤³¤³¤Ï¤«¤Ã¤³¤¤¤¤¤È¤³¤í¤Ê¤ó¤À¤±¤É¡¢¤¢¤Þ¤ê°ì¤Ä¤Î¸ÀÍÕ¤ÇÃÖ¤­´¹¤¨¤Æ¤·¤Þ¤¤¤¿¤¯¤Ï¤Ê¤¤¡£¾­Íè¤Î¼«Ê¬¤¬³«È¯¤·¤Æ¤¤¤ë¤È¤â¸Â¤é¤Ê¤¤¡£

Ãæ¾®´ë¶È¤Ë¤Ï»þ´Ö¤â¿Í¼ê¤â;͵¤Ï¤Ê¤¤

¤³¤ì¤ÏÂ礭¤Ê²ñ¼Ò¤Ç¤âÆÃ¤Ë¿¿ÌÌÌܤ˹ñÆâ¥È¥Ã¥×¥ì¥Ù¥ë¡¢¤¢¤ë¤¤¤ÏÀ¤³¦¥ì¥Ù¥ë¤Ç¡Ö¶¥Áè¡×¤·¤Æ¤¤¤ë¤È¤³¤í¤âƱ¤¸¤«¤â¤·¤ì¤Ê¤¤¡£Íפ¹¤ë¤Ë

;¤Ã¤Æ¤¤¤ë¤â¤Î¤Ê¤ó¤«²¿¤â¤Ê¤¤

¤Î¤À¡£¤À¤«¤é¡ÖËÜÅö¤ËɬÍפʤΡ©¡×¤Èµ¿Ìä¤Ë´¶¤¸¤ë¤è¤¦¤Ê»Å»ö¤Ï¤É¤ó¤É¤ó¸«Ä¾¤µ¤Ê¤¯¤Á¤ã¤¤¤±¤Ê¤¤¡£

Î㤨¤Ð IT ¤ÎÀ¤³¦¤Ç¤è¤¯Ê¹¤¯¤Î¤Ï

  • ¤Î¤Á¤Ë¤Á¤ã¤ó¤È¿¶¤êÊÖ¤ê¤â¤·¤Ê¤¤¤Î¤ËÂçÎ̤˽ñ¤«¤µ¤ì¤ë¸À¤¤Ìõʸ½ñ
  • ¥á¥ó¥Æ¥Ê¥ó¥¹À­¡¢¸¡º÷À­¤Î°­¤¤ Excel »ÅÍͽñ
  • ½Å¤¹¤®¤Æ¤Þ¤È¤â¤Ëºî¶È¤Ç¤­¤Ê¤¤ Excel ¤Î¥Ð¥°É¼
  • »ÅÍͽñ¤È¹ç¤Ã¤Æ¤Ê¤¤¥³¡¼¥É
  • ¹ó»÷¤·¤Æ¤¤¤ë¤Î¤ËÈù̯¤Ë°ã¤¦ÂçÎ̤Υ³¥Ô¥Ú¥³¡¼¥É
  • °Õ¿Þ¤òÅÁ¤¨¤ºÆ°ºî¤À¤±¤òÀâÌÀ¤¹¤ë¡Ö°ÕÌ£¤Î¤Ê¤¤ÂçÎ̤Υ³¥á¥ó¥È¡×
  • ºî¶È¸úΨ¤òÃø¤·¤¯Íî¤È¤¹¡Ö¥³¥á¥ó¥È¥¢¥¦¥È¤µ¤ì¤¿Á°¥Ð¡¼¥¸¥ç¥ó¡×

¤³¤ì¤é¤Ï¤¹¤Ù¤Æ¸½¼Â¤Ë¤è¤¯¤¢¤ëÏÃ*1¡£¤³¤³¤Çµó¤²¤¿¤Î¤ÏÂç¤Þ¤«¤Ë

  • ̵Â̤Êʸ½ñ¡¢ÌµÂ̤ʥ³¡¼¥É
  • ºî¶È¸úΨ¤Î°­¤¤Ê¸½ñ¥Õ¥©¡¼¥Þ¥Ã¥È¡¢ºî¶È¸úΨ¤Î°­¤¤¥³¡¼¥É¡ÊÆÉ¤ß¤Ë¤¯¤¤¥³¡¼¥É¡Ë

¤Ë½¸Ì󤵤ì¤ë¡£

¤Ä¤Þ¤êÆü¡¹¤ÎÀ¸»ºÀ­¤ò³Î¼Â¤ËÍî¤È¤¹¤â¤Î¤¿¤Á¤À¡£¤È¤¤¤¦¤³¤È¤ÏÁ´Éô¸«Ä¾¤·¤ÎÂоݤǤ¢¤ë¡£¸«Ä¾¤µ¤Ê¤¤¤È¡¢ËÜÍèãÀ®¤¹¤Ù¤­¡Ö²ÁÃ͡פǤϤʤ¯¡Öºî¶È¡×¤Ë¼«Ê¬¤Î¡Ö¼ê¡×¤È¡Ö°Õ¼±¡×¤òÃ¥¤ï¤ì¤Æ¤·¤Þ¤¦¡£

¤·¤«¤·¤³¤³¤ÇÌäÂê¤Ë¤Ê¤ë¤Î¤¬Â¿Áز¼ÀÁ¤±¹½Â¤¡£¸µÀÁ¤±¤Ê¤éʸ½ñ¡¢¥³¡¼¥É¤Î¥ë¡¼¥ë¤Ï¼«Í³¤ËÀßÄê¤Ç¤­¤ë¤¬¡¢²¼ÀÁ¤±¤Î¾ì¹ç¤Ï¤½¤¦¤â¤¤¤«¤Ê¤¤¤³¤È¤â¤è¤¯¤¢¤ë¡£¹¬¤¤¼«Ê¬¤Ï¤½¤¦¤¤¤¦´Ä¶­¤Ë¤Ï¤Ê¤¤¤Î¤Ç¡¢Ä¾¤»¤ë¤È¤³¤í¤Ïľ¤·¤Æ¤¤¤«¤Ê¤¤¤È

¶¥ÁèÎϤò¼º¤Ã¤ÆÂà¾ì¤µ¤»¤é¤ì¤Æ¤·¤Þ¤¦¡£

¤½¤ì¤¬²æ¡¹¤ÎÀ¸¤­¤ëÀ¤³¦¤Ê¤Î¤À¡£

Ï·³²¤Ë¤Ï¤Ê¤ê¤¿¤¯¤Ê¤¤

¤¢¤ì¡¢»°¤ÄÌܤ¬¤Ç¤Æ¤­¤Æ¤·¤Þ¤Ã¤¿¡£

½ñ¤¤¤Æ¤ë¤¦¤Á¤ËºÆ³Îǧ¤Ç¤­¤¿¤³¤È¤¬¤â¤¦°ì¤Ä¤¢¤Ã¤¿¡£¼«Ê¬¤Ï

Ï·³²¤Ë¤Ï¤Ê¤ê¤¿¤¯¤Ê¤¤

¤ó¤À¤Ê¤È¶¯¤¯»×¤Ã¤¿¡£

¾å¤Ëµó¤²¤¿ÌäÂê¤Ï´ðËÜŪ¤Ë

²áµî¤òƧ½±¤·¤Æ¤¤¤ë¤À¤±¤Îºî¶È¤¬¿·¤¿¤Ê²ÁÃͤÎÁϤ¤òÁ˳²¤·¤Æ¤¤¤ë

¤È¸À¤¨¤ë¤È»×¤¦¡£¤Ä¤Þ¤ê¤«¤Ä¤Æ¤Ï¤½¤ì¤¬ºÇÁ±¤È»×¤ï¤ì¤¿¤Î¤Ç¤½¤¦¤Ê¤Ã¤¿¤Î¤À¡£Â¿¾¯¹¥°ÕŪ²ò¼á¤ò¿¤á¤Ë²Ã¤¨¤ëɬÍפϤ¢¤ë¤¬¡£¤·¤«¤·º£¤Ï¤è¤êŬÀÚ¤ÊÆ»¶ñ¤òŬÀڤ˻Ȥ¤¤µ¤¨¤¹¤ì¤Ð¤â¤Ã¤ÈÎɤ¤ºî¶È¤ËÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¾¯¤Ê¤¯¤È¤â

  1. ¸½ÂåŪ¤Ê¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à
  2. ¸½ÂåŪ¤Ê Issue Tracking System

¤òÀµ¤·¤¯±¿ÍѤ¹¤ì¤Ð¡¢¾å¤ÎÌäÂê¤Î¿¤¯¤Ï²ò¾Ã¤Ç¤­¤ë¡£¤â¤Á¤í¤óƳÆþ¤·¤¿¤À¤±¤Ç¤¹¤Ù¤Æ²ò·è¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤*2¤¬¡¢¾¯¤Ê¤¯¤È¤â¥ë¡¼¥Á¥ó¥ï¡¼¥¯¤Î¥³¥¹¥È¤ò²¼¤²¤ë½àÈ÷¤Ï¤Ç¤­¤ë¡£

¤À¤«¤é¤³¤ÎÆó¤Ä¤ÏºÇÄã¸ÂãÀ®¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡£

¤·¤«¤·¤½¤³¤ÇÉâ¾å¤·¤Æ¤¯¤ë¤Î¤¬

¶µ°é¡¿³Ø½¬¥³¥¹¥È

¤ÎÌäÂê¤Ç¤¢¤ë¡£

¤³¤³¤Ï»Äǰ¤Ê¤¬¤é¼º¤¦¤â¤Î¤Î¿¤¤¥Ù¥Æ¥é¥ó¤ÎÄñ¹³¤¬¶¯¤¤¡£Ç¯¤ò¼è¤ì¤Ð¼è¤ë¤Û¤É¿·¤·¤¤¤â¤Î¤Î½¬ÆÀ¤Ï²¯¹å¤Ë¤Ê¤ë¤·¡¢¥è¡¼¥¤¥É¥ó¤ÇƱ»þ¤Ë³Ø½¬¤ò»Ï¤á¤¿¤é¼ã¤¤¤ä¤Ä¤Ë¤«¤Ê¤¦Ìõ¤¬¤Ê¤¤¡£µ¤»ý¤Á¤Ïʬ¤«¤é¤Ê¤¯¤Ï¤Ê¤¤¤¬¡¢¤â¤¦¤½¤Î¾õÂÖ¤ÏÏ·³²¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È»×¤Ã¤¿Êý¤¬¤¤¤¤¡£

¼«Ê¬¤ò¿¶¤êÊ֤äơ¢¼«Ê¬¤Î¼þ¤ê¤Î¿Í´Ö¤ò´Ñ»¡¤·¤Æ»×¤¤Åö¤¿¤ë¤³¤È¤Ï¤Ê¤¤¤À¤í¤¦¤«¡£¤Ï¤Ã¤­¤ê¸À¤Ã¤Æ¼«Ê¬¤Ç¿¨¤Ã¤Æ¤â¤¤¤Ê¤¤¤Î¤Ë¤·¤¿¤ê´é¤Ç¡û¡û¤ÎÈãɾ¤ò¤¹¤ë¤ä¤Ä¤ÏÏ·³²¤À¡£Ç¯Îð¤Ï´Ø·¸¤Ê¤¤¡£µ¤¤ò¤Ä¤±¤Æ³Ý¤«¤é¤Ê¤­¤ã¤¤¤±¤Ê¤¤¡£¡û¡û¤Ë¤Ï²¿¤òÆþ¤ì¤Æ¤â¤¤¤¤¡£¤Á¤ç¤Ã¤ÈÁ°¤Ê¤é¥¹¥Þ¡¼¥È¥Õ¥©¥ó¤¬Æþ¤ë¤·¡¢¤È¤ê¤¢¤¨¤º¿·¤·¤á¤Î¤â¤Î¤òÆþ¤ì¤ì¤Ð¤À¤¤¤¿¤¤À®¤êΩ¤Ä¡£

¼«Ê¬¤Ïº£¤Á¤ç¤¦¤É¶­Ìܤˤ¤¤ë¤È»×¤Ã¤Æ¤¤¤ë¡£º£¤Ï¤Þ¤ÀÏ·³²¤Ç¤Ï¤Ê¤¤¤¬¡¢¤Á¤ç¤Ã¤È³Ø¤Ö°ÕÍߤ¬Â­¤ê¤Ê¤¯¤Ê¤Ã¤¿¤é¤¢¤Ã¤È¤¤¤¦´Ö¤ËÏ·³²¤Ë¤Ê¤ë´í¸±¤ò´¶¤¸¤Æ¤¤¤ë¡£³Ø¤Ö°ÕÍߤȤ¤¤¦¤Î¤Ï¸ÄÀ­¤«¤â¤·¤ì¤Ê¤¤¤¬´Ä¶­¤ÎÌäÂê¤â¤ä¤Ï¤êÂ礭¤¤¡£Ï·³²¤Ë¤Ê¤Ã¤¿Êý¤¬¤¤¤¤¤«¤â¤·¤ì¤Ê¤¤¤È´¶¤¸¤Æ¤·¤Þ¤¦¤è¤¦¤Ê¤é¡¢¡Ö¸«¼Î¤Æ¤ë¡×·ë²Ì¤Ë¤Ê¤ë¤È¤·¤Æ¤â¡¢´Ä¶­¤òÊѤ¨¤¿Êý¤¬¤¤¤¤¤Î¤«¤â¤·¤ì¤Ê¤¤¤È¤â»×¤¦¡£

¤¢¤ë¤¤¤ÏÎ㤨¤Ð¿·¤·¤¤µ»½Ñ¤Ë¤Ä¤¤¤Æ¤ÎȽÃǤϤ·¤Ê¤¤¡¢¤¿¤À¤ÎÏ·¤È¤·¤ÆÀ¸¤­¤ë¤«¡£º£¤Î¼«Ê¬¤Ï¤Þ¤ÀÏ·³²¤ËÊ¢¤òΩ¤Æ¤ë¦¤Î¿Í´Ö¤Ç¤¢¤ë¡£¤Ä¤â¤ê¤À¡£¤·¤«¤·¤¤¤Ä¤«Ï«³²¤Ë¤Ê¤êÆÀ¤ë¡£¤¤¤Ä¤«¥¹¥È¥Ã¥×¤ò³Ý¤±¤Æ¤·¤Þ¤¦Â¦¤Î¿Í´Ö¤Ë¤Ê¤ë¡£¤½¤Î¤È¤­¤Ë¤Ï¤â¤¦¤½¤ÎȽÃǤò¤·¤Ê¤¤Î©¾ì¤Ë¤Ê¤é¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¤â»×¤Ã¤Æ¤¤¤ë¡£

*1 ¥×¥í¥À¥¯¥È¥ª¡¼¥Ê¡¼¤Î°Õ»×¤È¹ç¤Ã¤Æ¤Ê¤¤»ÅÍͽñ¤Ï¤Þ¤¿Ê̤ÊÏá£

*2 ¾¯¤Ê¤¯¤È¤â¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤¹¤ë¤À¤±¤Ç¤Ï¥¯¥½¥³¡¼¥É¤ÏÎɤ¯¤Ê¤é¤Ê¤¤¡£¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤·¤¿¤¦¤¨¤Ç̵Â̤ò¤É¤ó¤É¤óºï¤®Íî¤È¤·¤Æ¤¤¤¯ºî¶È¤ÏɬÍפǤ¢¤ë¡£


2010-12-07 [ĹǯÆüµ­]

_ Jasmine¤ò¤â¤¦¾¯¤·¾Ü¤·¤¯¾Ò²ð¤·¤Æ¤ß¤ë

Jasmine: BDD for Javascript | Jasmine

ÀèÆü¥×¥Ã¥·¥å¤·¤¿ Jasmine ¤Ë¤Ä¤¤¤Æ¤â¤¦¾¯¤··¡¤ê²¼¤²¤Æ¤¤¤­¤Þ¤¹¡£¤¿¤À¤·¥Æ¥¹¥È¤Î½ñ¤­Êý¤Ë¤Ä¤¤¤Æ¤Ï¿¨¤ì¤Þ¤»¤ó¡£¤½¤ì¤Ï¸ø¼°¤Î¾ðÊó¤ä¤¹¤Ç¤Ë¾Ü¤·¤¯¾Ò²ð¤µ¤ì¤Æ¤¤¤ëµ­»ö¤¬¤¢¤ê¤Þ¤¹¡£

¤Þ¤È¤á

  • Jasmine ¤Ï¸«¤¿ÌܤÀ¤±¤Ç¤Ê¤¯¹Í¤¨Êý¤â RSpec ¤Î±Æ¶Á¤ò¼õ¤±¤Æ¤¤¤ë¤è
  • ¿¾¯±ó²ó¤ê¤Ç¤â rubygems ÈǤΠJasmine ¤ò»È¤¦¤È¥Æ¥¹¥È¤¬ËÜÅö¤Ë¼«Æ°²½¤Ç¤­¤ë¤è

¤ï¤¶¤ï¤¶¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¥Æ¥¹¥È¤·¤¿¤¤¤È¤¤¤¦¤³¤È¤Ï¤¢¤ëÄøÅÙ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤Æµ¬ÌϤ¬Â礭¤¤¤È¤«¡¢¥µ¥¤¥È¤È¤·¤Æµ¬ÌϤ¬Â礭¤¯ JavaScript ¤Î¿ô¤¬Â¿¤¯¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¿ÍÎÏ¥Á¥§¥Ã¥¯¤¬ÂçÊѤÀ¤È¤¤¤¦¤³¤È¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

µ¬ÌϤ¬Â礭¤¯¤Ê¤Ã¤Æ¤­¤¿¾ì¹ç¤Ï¡¢¤¢¤ëÄøÅÙºîË¡¡Ê¥ë¡¼¥ë¡Ë¤òÍѰդ·¤Æ¤½¤ì¤ò¼é¤ë¤³¤È¤¬°ÂÁ´¡¢°Â¿´¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¡¢ºîÀ®¤Ë·ç¤«¤»¤Þ¤»¤ó¡£Jasmine ¤Ïñ¤Ë JavaScript ¤Ç JavaScript ¤Î¥Æ¥¹¥È¥³¡¼¥É¤¬½ñ¤±¤ë¤À¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤êÎɤ¤ÇÛÃÖ¡¢¤è¤êÎɤ¤Ì¿Ì¾¤òÂ¥¤·¤Þ¤¹¡£

ÆÃħ

¸«¤¿ÌÜŪ¤Ë¤âÌÀ¤é¤«¤Ë RSpec ¤Î±Æ¶Á¤ò¼õ¤±¤Æ¤¤¤Þ¤¹¤¬¡¢¹½Â¤Åª¤Ë¤â¤¤¤ï¤æ¤ë¥Ø¥ë¥Ñ¡¼ÉÕ¤­¥Æ¥¹¥Æ¥£¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Î¹Í¤¨Êý¤ò¼è¤êÆþ¤ì¤Æ¤¤¤Þ¤¹¡£¶ñÂÎŪ¤Ë²¿¤¬µ¯¤­¤ë¤«¤È¤¤¤¦¤È¡¢

¥×¥í¥À¥¯¥È¥³¡¼¥É¤â¥Æ¥¹¥È¥³¡¼¥É¤â¤¤¤Ã¤Ú¤ó¤ËÆÉ¤ß¹þ¤â¤¦¤È¤·¤Þ¤¹¡£

µ¿ÌäÅÀ

¾å¤ÎÆÃħ¤òƧ¤Þ¤¨¤ë¤È°Ê²¼¤Î¤è¤¦¤Êµ¿Ì䤬ͯ¤¤¤Æ¤­¤Þ¤¹¡£

  • 1. HTML ¤ÎÃæ¤Î JavaScript ¤Ï¤É¤¦¤ä¤Ã¤Æ¥Æ¥¹¥È¤¹¤ë¤Î¡©
  • 2. jQuery ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ê¤É¤Ë¤è¤¯¤¢¤ë
$(document).ready( function() {
   ...
});

¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ï¤É¤¦¤ä¤Ã¤Æ¥Æ¥¹¥È¤¹¤ë¤Î¡©

  • 3. Ê£¿ô¤Î JavaScript ¤ò¤¤¤Ã¤Ú¤ó¤ËÆÉ¤ß¹þ¤ó¤À¤é¾¤Î¥³¡¼¥É¤Ë±Æ¶Á½Ð¤¿¤ê¤·¤Ê¤¤¤Î¡©

¤¿¤Ö¤ó¤³¤ì¤¬²óÅú

  • 1 ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥Æ¥¹¥È¤·¤¿¤¤¥³¡¼¥É¤Ï HTML ¤«¤éʬΥ¤·¤Þ¤·¤ç¤¦
  • 2 ¤È 3 ¤Ï¤Á¤ã¤ó¤È¥ª¥Ö¥¸¥§¥¯¥È¤Ë̾Á°¤òÉÕ¤±¤Æ¤Ö¤Ä¤«¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦

¼Â¤Ï¤³¤ì¤Ï¤â¤¦

ÆüËÜRubyKaigi2010 3ÆüÌÜ - ¤Þ¤Á¤å¥À¥¤¥¢¥ê¡¼(2010-08-29)

¤òÆÉ¤á¤ÐÁÛÁü¤¬¤Ä¤­¤Þ¤¹¡£

¤Á¤ç¤Ã¤È¤·¤¿¸ú²Ì¤Ë¤·¤«»È¤ï¤Ê¤¤¾ì¹ç¤ÏÌÌÅݤ˴¶¤¸¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¥³¡¼¥É¤ò¥³¡¼¥É¤Ç¥Æ¥¹¥È¤¹¤ë TDD ¤ä BDD ¤Ï¡¢¤ä¤Ã¤Æ¤Ê¤¤¤È¤­¤ËÈæ¤Ù¤ë¤È¥¹¥¿¡¼¥È»þÅÀ¤Ç¤Ï¿¤«¤ì¾¯¤Ê¤«¤ìÌÌÅݤʤâ¤Î¤Ç¤¹¡£¤³¤³¤Ï¤½¤¦¤¤¤¦¤â¤Î¤È³ä¤êÀڤäƤ¯¤À¤µ¤¤¡£¤¢¤È¤Ç¤Þ¤¿Êä­¤·¤Þ¤¹¡£

»È¤¤Êý

Æó¤Ä¤¢¤ê¤Þ¤¹¡£

  • standalone
  • rubygems + rake
standalone

°Ê²¼¤Ë jasmine-standalone-1.0.1.zip ¤ÎÆâÍÆ¤òµó¤²¤Þ¤¹¡£

¨§¨¡¨¡ SpecRunner.html
¨§¨¡¨¡ lib
¨¢   ¨¦¨¡¨¡ jasmine-1.0.1
¨¢       ¨§¨¡¨¡ MIT.LICENSE
¨¢       ¨§¨¡¨¡ jasmine-html.js
¨¢       ¨§¨¡¨¡ jasmine.css
¨¢       ¨¦¨¡¨¡ jasmine.js
¨§¨¡¨¡ spec                <-- spec¥Õ¥¡¥¤¥ë¡Ê¥Æ¥¹¥È¥³¡¼¥É¡ËÃÖ¤­¾ì
¨¢   ¨§¨¡¨¡ PlayerSpec.js
¨¢   ¨¦¨¡¨¡ SpecHelper.js
¨¦¨¡¨¡ src                 <-- ¥×¥í¥À¥¯¥È¥³¡¼¥ÉÃÖ¤­¾ì
    ¨§¨¡¨¡ Player.js
    ¨¦¨¡¨¡ Song.js

¾å¤Î src/ ¤Ë¥Æ¥¹¥È¤·¤¿¤¤ JavaScript ¥³¡¼¥É¤ò¡¢spec/ °Ê²¼¤Ë spec ¥Õ¥¡¥¤¥ë¡Ê¥Æ¥¹¥È¥³¡¼¥É¡Ë¤òÃÖ¤­¤Þ¤¹¡£spec ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï

¡Ö¸µ¤Î̾Á° + [Ss]pec¡×.js

¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¼ÂºÝ¤Ë¤Ï standalone ¤Î¾ì¹ç¤Ï¼«Í³¤Ç¤¹¤¬¡¢gem ÈǤò»È¤¦¤È¤­¤Ë¤Ï¤³¤Î¥ë¡¼¥ë¤¬¥Ç¥Õ¥©¥ë¥È¤Ê¤Î¤Ç¡¢¹ç¤ï¤»¤Æ¤ª¤¤¤¿Êý¤¬¤¤¤¤¤È»×¤¤¤Þ¤¹¡£

¤½¤·¤Æ³Æ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò SpecRunner.html ¤ÎÃæ¤Ë½ñ¤­¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥Ö¥é¥¦¥¶¤Ç³«¤¯¤³¤È¤Ç¤¹¤Ù¤Æ¤Î¥Æ¥¹¥È¤¬¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

ÉÕ°¤·¤Æ¤¤¤ë¥µ¥ó¥×¥ë SpecRunner.html ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Jasmine Test Runner</title>
  <link rel="stylesheet" type="text/css" href="lib/jasmine-1.0.1/jasmine.css">
  <script type="text/javascript" src="lib/jasmine-1.0.1/jasmine.js"></script>
  <script type="text/javascript" src="lib/jasmine-1.0.1/jasmine-html.js"></script>

  <!-- include source files here... -->
  <script type="text/javascript" src="src/Player.js"></script>
  <script type="text/javascript" src="src/Song.js"></script>

  <!-- include spec files here... -->
  <script type="text/javascript" src="spec/SpecHelper.js"></script>
  <script type="text/javascript" src="spec/PlayerSpec.js"></script>

</head>
<body>

<script type="text/javascript">
  jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
  jasmine.getEnv().execute();
</script>

</body>
</html>

¤³¤³¤Þ¤Ç¤Ï¸«¤ì¤Ðʬ¤«¤ëÄ̤ê¤Ç¤¹¡£QUnit ¤È°ã¤Ã¤Æ¥µ¥ó¥×¥ë¤ÎÃʳ¬¤Ç¥Æ¥¹¥È¤ò HTML ¤ÎÃæ¤Ë½ñ¤¯¤Î¤Ç¤Ï¤Ê¤¯¡¢¥Æ¥¹¥È¤òµ­½Ò¤·¤¿ spec ¥Õ¥¡¥¤¥ë¤È¤·¤ÆÊ¬Î¥¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

standalone ÈǤϥƥ¹¥È¤¹¤ë¥³¡¼¥É¤¬Áý¤¨¤ì¤Ð¤³¤Î HTML ¤ÎÊÔ½¸¤Î¼ê´Ö¤âÁý¤¨¤Æ¤¤¤­¤Þ¤¹¡£

rubygems + rake

¥×¥í¥À¥¯¥È¥³¡¼¥É¤È¥Æ¥¹¥È¥³¡¼¥É¤ÎÇÛÃ֤ˤĤ¤¤Æ¤Ï standalone ÈÇ¤ÈÆ±¤¸¤Ç¤¹¤¬¡¢SpecRunner.html ¤ÎÊÔ½¸¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢ÅöÁ³

  • ruby
  • rubygems

¤¬É¬ÍפǤ¹¡£

ÌÌÅݤǤ¹¤«¡© ¤Ç¤â¤³¤ì¤¬ÍѰդǤ­¤ì¤Ð²è´üŪ¤Ë³Ú¤Ë°Â¿´¤ò¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤â¤¦¾¯¤·Â³¤±¤Þ¤·¤ç¤¦¡£

rubygemsÈÇJasmine

¥¤¥ó¥¹¥È¡¼¥ë
gem install jasmine

¤ÇÆþ¤ê¤Þ¤¹¡£¡ÊWindows ¤Ç¤Ï»î¤·¤¿¤³¤È¤¬¤Ê¤¤¤Ç¤¹¤¬¡£¡Ëselenium ¤Ê¤É¾¤Ë¤â°Í¸¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤Î¤Ç¿¾¯»þ´Ö¤¬³Ý¤«¤ë¤È»×¤¤¤Þ¤¹¡£

¤¤¤Á¤Ð¤ó´ðËÜŪ¤Ê»È¤¤Êý

Rails2, Rails3, ¤½¤Î¾ÍѤλȤ¤Êý¤ÎÀâÌÀ¤¬ Using the Jasmine Gem | Jasmine ¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤³¤Ç¤ÏºÇ¤â²¿¤â¹Í¤¨¤ëɬÍפΤʤ¤¤½¤Î¾ÍѤò¤â¤È¤ËÀâÌÀ¤·¤Þ¤¹¡£¤Ê¤ª¡¢Ruby ¤È Rubygems ¤Ï¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤È¤·¤Þ¤¹¡£

¤¹¤ë¤È jasmine ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤«¤é»È¤¤»Ï¤á¤Ï¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£

$ gem install jasmine
$ mkdir jasmine_test
$ cd jasmine_test
$ jasmine init
$ rake jasmine

¤³¤ì¤À¤±¤Ç¤¹¡£¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë WEBRick ¥µ¡¼¥Ð¤¬Î©¤Á¾å¤¬¤ê¤Þ¤¹¡£

(in /path/to/jasmine_test)
your tests are here:
  http://localhost:8888/
[2010-12-08 18:35:04] INFO  WEBrick 1.3.1
[2010-12-08 18:35:04] INFO  ruby 1.8.7 (2010-08-16) [i686-darwin9]
[2010-12-08 18:35:04] INFO  WEBrick::HTTPServer#start: pid=56941 port=8888

¥µ¥ó¥×¥ë¤ÎSpecRunner.html¤ò³«¤¤¤ÆJasmine¤ò¼Â¹Ô¤·¤¿¤È¤³¤í

¤³¤³¤Ç http://localhost:8888/ ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¥Æ¥¹¥È¤¬¼Â¹Ô¤µ¤ì¤Æ±¦¤Î¤è¤¦¤Ë·ë²Ì¤¬Ê֤äƤ­¤Þ¤¹¡£

jasmine init ¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¹½À®

¤³¤Î¤È¤­ jasmine init ¤ò¼Â¹Ô¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¿È¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¨§¨¡¨¡ Rakefile
¨§¨¡¨¡ public
¨¢   ¨¦¨¡¨¡ javascripts
¨¢       ¨§¨¡¨¡ Player.js
¨¢       ¨¦¨¡¨¡ Song.js
¨¦¨¡¨¡ spec
    ¨¦¨¡¨¡ javascripts
        ¨§¨¡¨¡ PlayerSpec.js
        ¨§¨¡¨¡ helpers
        ¨¢   ¨¦¨¡¨¡ SpecHelper.js
        ¨¦¨¡¨¡ support
            ¨§¨¡¨¡ jasmine.yml
            ¨¦¨¡¨¡ jasmine_runner.rb

¤¢¤ì¡¢SpecRunner.html ¤¬¤¢¤ê¤Þ¤»¤ó¡Ê¤ï¤¶¤È¤é¤·¤¤¡Ë¡£¼Â¤Ï ./spec/javascripts/support/jasmine.yml ¤ËÈëÌ©¤¬¤¢¤ê¤Þ¤¹¡£¥³¥á¥ó¥È¤ò¾Ê¤¤¤ÆÆâÍÆ¤ò·ÇºÜ¤¹¤ë¤È°Ê²¼¤Ë¤Ê¤ê¤Þ¤¹¡£

src_files:
    - public/javascripts/**/*.js
stylesheets:
helpers:
spec_files:
src_dir:
spec_dir:

¤³¤³¤Ç³Æ¼ï¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤È̾Á°¤ò»ØÄꤷ¤Þ¤¹¡£´ðËÜŪ¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¤Þ¤Þ¤ÇÂç¾æÉפǤ¹¡£¼«Æ°Åª¤Ë³Æ¼ï¥Õ¥¡¥¤¥ë¤ò½¦¤¤¾å¤²¤Æ¤½¤ì¤ò <script> ¤ÇÆÉ¤ß¹þ¤à¤è¤¦¤Ëºî¤é¤ì¤¿ HTML ¤¬¥µ¡¼¥Ð¤«¤éÁ÷¤é¤ì¤Æ¤¯¤ë¤Î¤Ç¡¢¥Æ¥¹¥ÈÂоݤΠJavaScript ¤¬Áý¤¨¤Æ¤â¾å¤Î¥ë¡¼¥ë¤Ë¥Þ¥Ã¥Á¤¹¤ë¸Â¤ê¤Ï²¿¤â¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£

¥Ç¥Õ¥©¥ë¥È¤È°Û¤Ê¤ë¾ì½ê¤Ë JavaScript ¤òÃÖ¤­¤¿¤¤¾ì¹ç¤Ï jasmine.yml ¤ò½ñ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£

jasmine gem ¤ÎÃæ¿È
¨§¨¡¨¡ MIT.LICENSE
¨§¨¡¨¡ README.markdown
¨§¨¡¨¡ bin
¨§¨¡¨¡ generators
¨§¨¡¨¡ jasmine
¨§¨¡¨¡ lib
¨¢   ¨§¨¡¨¡ jasmine
¨¢   ¨¢   ¨§¨¡¨¡ ...
¨¢   ¨¢   ¨§¨¡¨¡ run.html.erb   <-- ¥³¥ì
¨¢   ¨¢   ¨¦¨¡¨¡ ...
¨¢   ¨¦¨¡¨¡ jasmine.rb
¨¦¨¡¨¡ spec

¤³¤ÎÃæ¤Î run.html.erb ¤¬¥­¥â¤Ç¤¹¡£

http://localhost:8888/ ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤ÈÀè¤Û¤É¤Î YAML ¤ÎÃæ¿È¤¬¼«Æ°Åª¤Ë¤³¤ÎÃæ¤ËŸ³«¤µ¤ì¤¿¤â¤Î¤¬¥Ö¥é¥¦¥¶¤ËÊÖ¤µ¤ì¤Þ¤¹¡£

¤·¤¿¤¬¤Ã¤Æ¤¤¤Á¤¤¤Á SpecRunner.html ¤òÊÔ½¸¤»¤º¤Ë¡¢js ¥Õ¥¡¥¤¥ë¤ò½êÄê¤Î¾ì½ê¤ËÃÖ¤¯¤À¤±¤Ç¼«Æ°Åª¤Ë¤¹¤Ù¤ÆÆÉ¤ß¹þ¤à¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¤ï¤±¤Ç¤¹¡£

rake jasmine:ci ¤¬¤¹¤´¤¤

gem ÈǤΠJasmine ¤Ç¤Ï´ðËÜŪ¤Ë¤Ï

rake jasmine

¤ò¼Â¹Ô¤·¤Æ http://localhost:8888/ ¤Ë¥¢¥¯¥»¥¹¤·¤Æ¥Æ¥¹¥È¤¹¤ë¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤òÁ´¼«Æ°¤Ë¤¹¤ë¤Î¤¬

rake jasmine:ci

¤Ç¤¹¡£¤³¤ì¤Ï *1selenium ¤òÍøÍѤ·¤Æ¥Ö¥é¥¦¥¶¡Ê¥Ç¥Õ¥©¥ë¥È¤Ï Firefox¡Ë¤òÁàºî¤·¤Æ¥Æ¥¹¥È¤Î·ë²Ì¤òÆÀ¤Þ¤¹¡£¤Ä¤Þ¤ê¾å¤Î¥³¥Þ¥ó¥É¤òᤤ¤¿¤¢¤È¤Ï¤¿¤ÀÂԤĤÀ¤±¤Ç¤¹¡£

(in /path/to/jasmine_test)
/opt/local/bin/ruby -S rspec --color --format progress "spec/javascripts/support/jasmine_runner.rb"
Waiting for jasmine server on 56662...
[2010-12-08 18:41:30] INFO  WEBrick 1.3.1
[2010-12-08 18:41:30] INFO  ruby 1.8.7 (2010-08-16) [i686-darwin9]
[2010-12-08 18:41:30] INFO  WEBrick::HTTPServer#start: pid=57246 port=56662
Waiting for jasmine server on 56662...
jasmine server started.
Running: java -jar "/opt/local/lib/ruby/gems/1.8/gems/selenium-rc-2.2.4/vendor/selenium-server.jar" -port 56670 > /dev/null
==> Waiting for Selenium RC server on port 56670... Ready!
Waiting for suite to finish in browser ...
.....

Finished in 0.18192 seconds
5 examples, 0 failures

¤³¤ó¤Ê·ë²Ì¤¬Ê֤äƤ­¤Þ¤¹¡£¡ÊMacPorts ¤ÇÆþ¤ì¤¿ Ruby ¤Ç¼Â¹Ô¡£¡Ë

¥Ö¥é¥¦¥¶¤¬¤¹¤Ç¤Ëµ¯¤­¤Æ¤¤¤Æ¤â¿·¤¿¤Ëµ¯Æ°¤¹¤ë¤È¤³¤í¤«¤é»Ï¤á¤ë¤Î¤Çưºî¤ÏÃÙ¤¤¤Î¤Ç¤¹¤¬¡¢Á´¼«Æ°¤Ç¼Â¹Ô¤Ç¤­¤ë¤Î¤ÏÌ¥ÎϤǤ¹¡£¤³¤ì¤ò CI ¥µ¡¼¥Ð¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤±¤Ð¤¤¤Ä¤â JavaScript ¤Î¥³¡¼¥É¤¬Àµ¤·¤¯Æ°¤¤¤Æ¤¤¤ë¤«¥Æ¥¹¥ÈºÑ¤ß¤Î¾õÂÖ¤ò°Ý»ý¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤ï¤±¤Ç¤¹¡£

¤³¤¦¤Ê¤ë¤È¤È¤Æ¤â°Â¿´¤Ç¤¹¡£³Æ¼ï¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¾å¤²¤¿¤È¤­¤Î¸¡¾Ú¤Ê¤É¡¢ÂçÉý¤Ë¾ÊÎϲ½¤Ç¤­¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

»²¹Í

*1 º£¤Î¤È¤³¤í


2010-12-11 [ĹǯÆüµ­]

_ º£¤µ¤é»Ï¤á¤ëRails 3

Ruby ¤È¤ÎÉÕ¤­¹ç¤¤¤Ï¤½¤ì¤Ê¤ê¤ËŤ¤¤Î¤Ç¤¹¤¬¼Â¤Ï Rails ¤Ç²¿¤«¤òºî¤Ã¤¿¤³¤È¤Ï°ìÅ٤⤢¤ê¤Þ¤»¤ó¡£*1scaffold ¤ä migration ¤Ï°ìÄ̤ê»î¤·¤Æ¤ß¤¿¤³¤È¤¬¤¢¤Ã¤¿¤±¤ì¤É¤â¡¢²¿¤«¿¡¤¨¤Ê¤¤É԰´¶¤ä±ï¤Î¤Ê¤µ¤«¤éº£¤Þ¤Ç¤Ï¼þÊÕµ»½Ñ¤Î°ì¤Ä¤È¤·¤Æ°Ê¾å¤Ë¤Ï¿¨¤Ã¤¿¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£

¶½Ì£

º£²ó¡¢½ÐÃÙ¤ì¤Ï¤·¤¿¤±¤ì¤É¤â

  • Á´ÌÌŪ¤Ë Merb & Rack ¥Ù¡¼¥¹
  • Arel Åоì
  • i18n ¤Îµ¡¹½¤¬ÁȤ߹þ¤ßºÑ¤ß
  • ¤¹¤Ç¤Ë¼ÂÀÓ¤¬Áý¤¨¤Æ¤­¤Æ¤¤¤ë

ÊÕ¤ê¤Ç¶¯¤¯¶½Ì£¤¬Í¯¤¤¤Æ¤­¤¿¤Î¤Ç¤Þ¤º¤Ï°ìÄ̤ê¤Î½àÈ÷¤ò¤·¤Æ¤ß¤Þ¤·¤¿¡£

¾Ã¶ËŪ¤ÊÍýͳ

¾Ã¶ËŪ¤ÊÍýͳ¤â¼Â¤Ï¤¢¤Ã¤Æ¡¢¤½¤ì¤Ï

  • PHP ¤Î¥ì¥¬¥·¡¼¥³¡¼¥É¤ÈÀ臘¤Î¤ËÈè¤ì¤¿
  • ÉéºÄ¤Î¤¢¤ë PHP ¤ÇºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤ËÄɤ¤¤Ä¤¯¤Î¤ÏÂçÊÑ
  • ºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ê¤¤¤È PHP ¤ä PHP ¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Î»ÝÌ£¤ÏÌ£¤ï¤¨¤Ê¤¤
  • Ruby ¤Ê¤éºÇ¿·¤Ç¤Ê¤¯¤¿¤Ã¤ÆÍ·¤Ù¤ë
  • Rails ¤Î²áµî¤ÎºîË¡¤ò¤Û¤È¤ó¤ÉÃΤé¤Ê¤¤¤Î¤Çº®Í𤷤ʤ¤

¾¤Î¤É¤ó¤Ê¸À¸ì¤Ç¤â»÷¤¿¤è¤¦¤Ê¤â¤Î¤À¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢¥ì¥¬¥·¡¼¥³¡¼¥É¤òÂçÎ̤ËÊú¤¨¤Æ¤·¤Þ¤¦¤È¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤º¤Ë¥­¥ã¥Ã¥Á¥¢¥Ã¥×¤¬Æñ¤·¤¯¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿ rvm ¤Î¤è¤¦¤Ê»ÅÁȤߤâ¤Ê¤¤ PHP ¤Ç¤ÏºÇ¿·¤Î¾ðÊó¤ò¼ê¸µ¤Ç¤À¤±»î¤·¤Æ¤ª¤¯¤È¤¤¤¦½àÈ÷¤â¤·¤Ë¤¯¤¤¤Ç¤¹¡£¤½¤ÎÅÀ Ruby ¤Ë¤Ï rvm ¤â¤¢¤ë¤· gem ¤ÏÊ£¿ô¥Ð¡¼¥¸¥ç¥ó¤òÊÝ»ý¤Ç¤­¤ë¤·¡¢Îɤ¤¥Æ¥¹¥È¤Îʸ²½¤¬¤¢¤ê¤Þ¤¹¡£

¤Þ¤º¤Ï¥¤¥ó¥¹¥È¡¼¥ë

¤Î¡¢Á°¤Ë Ruby ¤Ï 1.8.7 °Ê¾å¤¬É¬ÍפǤ¹¡£Windows ¤Ê¤é installer ¤ÇÆþ¤ì¤ì¤Ð¤¤¤¤¤Ç¤¹¡£rvm ¤ò¤¹¤Ç¤Ë»È¤Ã¤Æ¤¤¤ë¤Ê¤é¹¥¤­¤Ê¤â¤Î¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£º¤¤ë¤Î¤Ï RHEL 5 ·Ï Linux ¤Ç¥Ð¥¤¥Ê¥ê¥¤¥ó¥¹¥È¡¼¥ë¤·¤«¤·¤Ê¤¤¿Í¤Ç¡¢¤½¤Î¾ì¹ç¤Ï

End Point Package Repository

¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£RHEL 6 ¤Ê¿Í¤Ï Rails 3 ready ¤é¤·¤¤¤Ç¤¹¡£

¤¢¤È¤ä¤ë¤³¤È¤Ï

$ gem install rails

¤À¤±¡£°Í¸¥é¥¤¥Ö¥é¥ê¤Ï¤É¤«¤É¤«Æþ¤ê¤Þ¤¹¤Î¤Ç¡¢¤·¤Ð¤é¤¯ÂÔ¤Á¤Þ¤¹¡£¤¢¤È¤ÏɬÍפ˱þ¤¸¤Æ

  • sqlite3-ruby
  • rails-erd
  • jpmobile
  • rspec-rails
  • typus
  • jasmine
  • cucumber-rails

¤Ê¤É¡¢¤ª¹¥¤ß¤Ç¡£Cucumber ¤Ï¤Þ¤À¥º¥ë¥º¥ë¤­¤Æ¤ª¤ê¤Þ¤¹¡£¤¤¤¤²Ã¸º¤ä¤é¤Ê¤¤¤È¡£

RSpec ¤Ï 2 °Ê¾å¤¬ Rails 3 Âбþ¤Ç¤¹¡£¸½»þÅÀ(2010-12-11)¤Ç¤Ï²¿¤â¹Í¤¨¤º¤ËºÇ¿·¤òÆþ¤ì¤ì¤ÐÂç¾æÉפǤ¹¡£ËÜÅö¤Ë Rails 3 ¤Î¥ê¥ê¡¼¥¹¤Ë¤ß¤ó¤Ê¤¬Â­Ê¤ߤò·¤¨¤¿¤³¤È¤¬¤è¤¯Ê¬¤«¤ê¤Þ¤¹¡£¤¢¤ê¤¬¤È¤¦¡£

¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¿÷·Á½àÈ÷

rails new foo ¤Ç¥¢¥×¥ê¤Î¿÷·Á¤òºîÀ®¤·¤Þ¤¹¡£

$ rails new foo -T -J

¤³¤Î¤È¤­ -T -J ¤Ç¤½¤ì¤¾¤ì Test::Unit ¤È prototype.js °Í¸¤ò¼è¤ê½ü¤±¤Þ¤¹¡£¤¬¡¢¤³¤³¤Ç¤Ï¤Þ¤À¼è¤ê½ü¤±¤ë¤À¤±¡£

Gemfile ¤ÎÊÔ½¸

Rails 3 ¤«¤é¤Ï Bundler ¤Î»ÅÁȤߤò»È¤Ã¤Æ°Í¸ gem ¤ò´ÉÍý¤·¤Þ¤¹¡£¤É¤¦¤¤¤¦¤³¤È¤«¤È¤¤¤¦¤È

  1. »È¤¤¤¿¤¤ gem ¤ò Gemfile ¤ËÎóµó
  2. Gemfile ¤òÊÔ½¸¤·¤¿¤é bundle install

¤¬¡¢¤ª¤Þ¤¸¤Ê¤¤¤È¤·¤ÆÁý¤¨¤¿¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

¤³¤ì¤Ï¤â¤·¤«¤·¤¿¤éÌÌÅݤ˴¶¤¸¤ë¿Í¤¬Â¿¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¥µ¡¼¥Ð´ÉÍý¤¹¤ë¿Í´Ö¤«¤é¤¹¤ë¤È¡¢¤É¤Î¥¢¥×¥ê¤Ç²¿¤Î¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¤ë¤Î¤«¤è¤¯Ê¬¤«¤é¤Ê¤¤¾õ¶·¤Ë¤Ê¤ê¤¬¤Á¤Ç¡Ö¤â¤¦Á´Éô rsync ¤¹¤ì¤Ð¤¤¤ó¤¸¤ã¤Í¡×¤¯¤é¤¤¤·¤«ÂǤļê¤Î¤Ê¤«¤Ã¤¿ºÇ¶á¤Î¾õ¶·¤ËÂФ¹¤ë¤È¤Æ¤â¥¹¥Þ¡¼¥È¤Ê²óÅú¤È¤·¤Æ¡¢¸Ä¿ÍŪ¤Ë¤Ï´ò¤·¤¯»×¤Ã¤Æ¤¤¤Þ¤¹¡£Â絬ÌϤʥµ¥¤¥È¤·¤«Áê¼ê¤Ë¤·¤Ê¤¤¾ì¹ç¤Ï¥é¥¤¥Ö¥é¥ê´ÉÍý¤Ï¡Ö¤½¤Î¥µ¥¤¥È¤ÇɬÍפʤâ¤ÎÁ´Éô¡×¤Ê¤Î¤Ç¤½¤³¤Þ¤ÇÌÌÅݤ¸¤ã¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¾®¤µ¤¤¤â¤Î¤ò¤¤¤¯¤Ä¤â VirtualHost ¤Ç¼ý¤á¤Æ¤¤¤ë¤è¤¦¤Ê¾ì¹ç¤Ïº¤¤ê¤Þ¤¹¡£

¤³¤³¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤È¤ê¤¢¤¨¤º¤É¤«¤É¤«¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ß¤Þ¤¹¡£

gem 'jpmobile'
# gem 'jquery_rails3' # NOT WORK !!
gem 'jquery-rails'

group :development, :test do
  gem 'rails-erd'
  gem 'rspec-rails'
  gem 'jasmine'
  gem 'typus'
end

¤³¤ó¤Ê´¶¤¸¡£

¤Ç¤Ï°Ê²¼¤Ë³Æ gem ¤Î»È¤¤Êý¤Ê¤É¤ò´Êñ¤Ë¾Ò²ð¤·¤Æ¤¤¤­¤Þ¤¹¡£

rails-erd

Rails ERD &#8211; Entity-Relationship Diagrams for Rails

¤³¤ì¤ÏÌÌÇò¤¤¤Ç¤¹¡£Rails 3 ÍѤȤ¤¤¦¤«Àµ³Î¤Ë¤Ï ActiveRecord 3 ÍѤǡ¢

À¸À®ºÑ¤ß¤Î Model ¤Î¾ðÊ󤫤é ER ¿Þ¤ò¤½¤ì¤Ã¤Ý¤¯µ¯¤³¤·¤Þ¤¹¡£

graphviz ¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹¤·¡¢graphviz ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¤­¤ì¤¤¤Ê¿Þ¤¬ÉÁ¤±¤Ê¤¤¤Î¤ÇÃí°Õ¤¬É¬ÍפǤ¹¡£¤¹¤Ù¤ÆÅ¬ÀÚ¤ËÆ°¤¤¤Æ¤¤¤ì¤Ð

rake erd

¤Ç ERD.pdf ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ç Rails ¤Î´Ä¶­¤«¤éÎ¥¤ì¤Æ¥Þ¥¦¥¹¤ò¥Ý¥Á¥Ý¥Á¤ä¤ë¤³¤È¤Ê¤¯ ER ¿Þ¤¬ºî¤ì¤Þ¤¹¡£´ò¤·¤¤¡£¤½¤ì¤ËºÇ¶á¤Î ORM ¤ò»È¤Ã¤¿³«È¯¤Ç¤Ï DBMS ¤òÃê¾Ý²½¤·¤Æ¤¤¤ë¤Î¤Ç DBMS ¤ò schema dump ¤·¤Æ¤âÀµ¤·¤¤´Ø·¸¤òÃê½Ð¤Ç¤­¤Ê¤¤¤ó¤Ç¤¹¤è¤Í¡£¥ê¥ì¡¼¥·¥ç¥ó¤â DBMS ¤Ç¤Ï¤Ê¤¯ Model ´Ö¤Ç¹Í¤¨¤ëɬÍפ¬¤¢¤ë*2¤Î¤Ç¡¢¤³¤¦¤¤¤¦¥Ä¡¼¥ë¤¬¤È¤Æ¤â´ò¤·¤¤¤Ç¤¹¡£

¢¨ »î¤·¤¿ÈϰϤǤϰʲ¼¤Î¤è¤¦¤Ê´¶¤¸¤Çư¤¤¤¿¤êư¤«¤Ê¤«¤Ã¤¿¤ê¤·¤Þ¤·¤¿¡£

¥Ð¡¼¥¸¥ç¥ó ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à ·ë²Ì
2.26 MacPorts OK
2.22 CentOS 5 NG
¡Ê¼ºÇ°¡Ë Fink NG
2.20 Debian OK

ñ¤Ë¿·¤·¤¤Êý¤¬¤è¤¤¡¢¤Ã¤Æ¤ï¤±¤Ç¤â¤Ê¤¤¤ß¤¿¤¤¤Ç¤¹¡£

RSpec

RSpec - Relish

bundle install ¤ËÀ®¸ù¤·¤Æ¤¤¤ì¤Ð rails g ¥³¥Þ¥ó¥É¤Ë rspec:install ¤¬¸½¤ì¤ë*3¤Î¤Ç¡¢¤³¤ì¤ò»È¤Ã¤Æ spec ¤Î¿÷·Á¤òÍѰդ·¤Þ¤¹¡£

$ rails g rspec:install

¤Þ¤À¼ÂºÝ¤Ë spec ¤ò½ñ¤¤¤¿¤³¤È¤Ï¤Ê¤¤¤Î¤Ç¡¢°Ê²¼Î¬¡£

jQuery

[2010-12-27 ½¤Àµ]

indirect/jquery-rails - GitHub

Rails ɸ½à¤Ï prototype.js ¤Ê¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤ÏÀè¤Û¤É¤Î rails new ¤ÇÍ޻ߤ·¤Æ¤¢¤ë¤Î¤Ç¡¢²þ¤á¤Æ jQuery ¤òÆþ¤ì¤Þ¤¹¡£rspec ¤ÈƱÍÍ¤Ë rails g ¥³¥Þ¥ó¥É¤Ë jquery:install ¤¬¤Ç¤­¤Þ¤¹¡£

$ rails g jquery:install

ºÇ½é´Ö°ã¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢jquery_rails3 ¤Ï¥À¥á¤Ç¡¢jquery-rails ¤À¤È¤¦¤Þ¤¯¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£

¤â¤·¤¹¤Ç¤Ë prototype.js °Í¸¤Ç project ¤ò new ¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Æ¤â¤Á¤ã¤ó¤È¼è¤ê½ü¤¤¤Æ¤¯¤ì¤Þ¤¹¡£

¤Ê¤ó¤«¥¨¥é¡¼½Ð¤Þ¤¹¤Í¡£git ¤ÎºÇ¿· jquery ¤ò¼èÆÀ¤¹¤ë½èÍý¤Ç¥³¥±¤Æ¤ë¤Ã¤Ý¤¤¤Ç¤¹¡£https ¼þ¤ê¤«¤Ê¡£

ÊüÃÖ¤·¤Þ¤¹¡£

º£²ó¤Ï¤È¤ê¤¢¤¨¤º¥«¥Ã¥³¤¬¤Ä¤±¤Ð¤¤¤¤¤Î¤Ç¡£

jpmobile

jpmobile - A Rails plugin for Japanese mobile-phones

¤¹¤ó¤Ê¤ê»È¤¨¤Þ¤¹¡£¤¿¤À¤·¼ÂºÝ¤Ëµ¡Ç½¤µ¤»¤ë¤Ë¤Ï config ¤ò¤¤¤¸¤é¤Ê¤¤¤È¥À¥á¤Ç¤¹¡£Rails ¤Î config ¤Ï¤³¤ÎÊդˤ¢¤ê¤Þ¤¹¡£

RAILS_ROOT/config/
¨§¨¡¨¡ application.rb
...
¨§¨¡¨¡ environment.rb
...

º£²ó¤Ï environment.rb ¤ò°Ê²¼¤Î¤è¤¦¤Ë¤¤¤¸¤Ã¤Æ¤ß¤Þ¤·¤¿¡£¤É¤³¤ò¤¤¤¸¤ë¤Î¤¬Àµ²ò¤Ê¤Î¤«¤Ïʬ¤«¤ê¤Þ¤»¤ó¤¬¡£

# Load the rails application
require File.expand_path('../application', __FILE__)

module Demo
  class Application
    # jpmobile
    config.jpmobile.mobile_filter
  end
end

# Initialize the rails application
Demo::Application.initialize!

¤³¤ì¤À¤±¤ÇüËö¤Ë±þ¤¸¤¿ view ¤Î¿¶¤êʬ¤±¤Ï¤¹¤°¤Ë»È¤¨¤Þ¤¹¡£¥­¥ã¥ê¥¢¤Ë±þ¤¸¤ÆÊ¸»ú¥³¡¼¥É¤ÎÊÑ´¹¤â¼«Æ°¤Ç¤ä¤Ã¤Æ¤¯¤ì¤ë¤·¡¢¥¹¥Þ¡¼¥È¥Õ¥©¥óÂбþ¤â´Êñ¤Ë¤Ç¤­¤½¤¦¤Ç¤¹¡£¤³¤ì¤ÏÊØÍø¡£

¢¨ º£²ó Rails 3 ¤Ë´Ø¿´¤ò»ý¤Ã¤Æ¤¤¤ë¤â¤¦°ì¤Ä¤ÎÍýͳ¤¬¤³¤Î jpmobile ¤Ç¤¹¡£PHP ¤Ç¥â¥Ð¥¤¥ëÂбþ¤·¤è¤¦¤È¤·¤Æ¤â¤³¤ì¤À¤±¤Î´°À®Å٤Τâ¤Î¤Ï¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£

Bundler

Bundler: The best way to manage Ruby applications

bundle install ¤Ï¤¹¤Ç¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢

$ bundle install [PATH]

¤¢¤ë¤¤¤Ï

$ bundle install --deployment

¤ò¼Â¹Ô¤¹¤ë¤È RAILS_ROOT/.bundle/config ¤¬ºîÀ®¤µ¤ì¡¢¤³¤ÎÃæ¤Ë¥Ñ¥¹¤Î¾ðÊ󤬻Ĥë¤è¤¦¤Ç¤¹¡£¤³¤Î¾ðÊ󤬻ĤäƤ¤¤ë¸Â¤ê¤Ïñ¤Ë

$ bundle install

¤ò¼Â¹Ô¤·¤Æ¤â system ¤Î gem ¤Î¥Ñ¥¹¤Ç¤Ï¤Ê¤¯¡¢¥×¥í¥¸¥§¥¯¥ÈÆÈ¼«¤Î¥Ñ¥¹¤ËÆþ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ê¤ë¤Û¤É¤Ê¤¡¡£

Typus¤Ç´ÉÍý²èÌ̤ϲ£Ã夹¤ë

Typus Core: Admin Panel for Ruby on Rails Applications

DBMS ¤ò»È¤¦¥¢¥×¥ê¤ÇÌÌÅݤʤΤϤä¤Ï¤ê´ÉÍý²èÌ̤¸¤ã¤Ê¤¤¤Ç¤¹¤«¤Í¡£´ÉÍý²èÌ̤¬¤Ê¤¤¤È¤º¤Ã¤È¤ª¼é¤ê¤ò¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¯¤Ê¤ë¤±¤É¡¢É½¤Ë¸«¤¨¤ë¤ï¤±¤¸¤ã¤Ê¤¤¤Î¤Ç¤Ä¤¤²¯¹å¤Ë¤Ê¤ê¤¬¤Á¤Ç¤¹¡£

¤½¤³¤Ç´ÉÍý²èÌ̤κîÀ®¤ò½õ¤±¤Æ¤¯¤ì¤ë¤â¤Î¤ÏɬÍפÀ¤í¤¦¤È°ÊÁ°¤«¤é»×¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤È¤ê¤¢¤¨¤º Typus ¤Ï¸½¾õ¤Ç¤â Rails 3 ¤Ç»È¤¨¤½¤¦¤Ç¤¹¡£

$ rails g model

...

$ rake db:migrate
$ rails g typus

¤¹¤ë¤È¡¢ºîÀ®ºÑ¤ß¤Î¥â¥Ç¥ë¤Î¾ðÊ󤫤餽¤ì¤Ê¤ê¤Î´ÉÍý²èÌ̤¬¼«Æ°¤ÇÀ¸À®¤µ¤ì¤Þ¤¹¡£

¤¿¤À¤·¡¢model ¤ÎÊѹ¹¤Ë¤Ï¶²¤é¤¯ÄÉ¿ï¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢¤¢¤ëÄøÅÙ¹½Â¤¤¬¸Ç¤Þ¤Ã¤Æ¤«¤é generate ¤·¤¿Êý¤¬¤¤¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£

ruby-toolbox.com ¤Î Rails Admin Interfaces ¤Ç2Èֿ͵¤¡¢Rails 3 Âбþ¤Î¤â¤Î¤Ç¤Ï1Èֿ͵¤¤Ê¤Î¤Ç¡¢³°¤ì¤Ç¤Ï¤Ê¤¤¤ó¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

¢¨ ¼Â¤Ï Typus ¤ò»î¤¹Á°¤Ë Casein - A lightweight Ruby on Rails CMS ¤ò»î¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢jpmobile ¤È¤Ö¤Ä¤«¤Ã¤Æ¤Ë¤Ã¤Á¤â¤µ¤Ã¤Á¤â¤¤¤«¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç¤ä¤á¤Þ¤·¤¿¡£¸«¤¿ÌÜŪ¤Ë¤Ï Casein ¤ÎÊý¤¬¤«¤Ã¤³¤è¤µ¤½¤¦¤Ê¤ó¤Ç¤¹¤±¤É¤Í¡£

Jasmine

Jasmine: BDD for Javascript | Jasmine

¤³¤ì¤Ï°ÊÁ°¤Î¾Ò²ð¤È°ã¤Ã¤Æ

$ bundle exec jasmine init

¤¹¤ë¤À¤±¤Ç¤¹¡£¤¢¤È¤Ï°ì½ï¡£

Arel

$ rails console

¤ÎÃæ¤Ç¤Á¤ç¤Ã¤È»î¤·¤Æ¤ß¤Þ¤·¤¿¡£

Model.select( 'foo, bar' ).where( 'bar != baz' ).limit( 2 )

¤ß¤¿¤¤¤Ë½ñ¤¤¤Æ¤¤¤­¤Ê¤ê·ë²Ì¤¬¼èÆÀ¤Ç¤­¤Þ¤¹¡£¤¦¤Ã¤Ï¡£¤ª¤Þ¤±¤Ë

.to_sql

¤òÉÕ¤±¤ì¤Ðȯ¹Ô¤µ¤ì¤ë SQL ¤¬¤¹¤°¤Ë³Îǧ¤Ç¤­¤Þ¤¹¡£

¤Ê¤ó¤¸¤ã¤³¤ê¤ã¡ª

ORM ¤Ø¤ÎÄñ¹³¤¬°ìµ¤¤Ë¤Ê¤¯¤Ê¤ê¤Þ¤¹¤è¡¢¤³¤ì¡£¥¹¥Æ¥­¤¹¤®¤Þ¤¹¡£

i18n

¢¨ ¤Ç¤­¤ë¤³¤È¤È¤Ç¤­¤Ê¤¤¤³¤È¤¬Ê¬¤«¤ê¤Þ¤·¤¿¡£

RAILS_ROOT/config/locales/

°Ê²¼¤Ë .rb ¤Ê Hash ¤« .yml ¤Ê YAML ¤Ç¥á¥Ã¥»¡¼¥¸¥«¥¿¥í¥°¤òÍѰդ¹¤ë¤Î¤¬É¸½à¤ÎÊýË¡¤ß¤¿¤¤¤Ç¤¹¡£

¤³¤³¤Ç¤¤¤¸¤Ã¤¿¤â¤Î¤Ï¤Á¤ã¤ó¤È locale ¤ÎÀßÄ꤬¤Ç¤­¤Æ¤¤¤ì¤Ð Typus ¤Ç¼«Æ°À¸À®¤·¤¿´ÉÍý²èÌ̤ˤâÈ¿±Ç¤µ¤ì¤Þ¤¹¡£¤Á¤ç¤Ã¤È´¶Æ°¡£*4

¤¿¤À¤· Typus ¤¬ model ̾¤Ç¤Ï¤Ê¤¯¥Æ¡¼¥Ö¥ë̾¤òɽ¼¨¤·¤Æ¤·¤Þ¤¦*5¤Î¤Ç¡¢model ̾¤ËÆüËܸì¤ò³ä¤êÅö¤Æ¤Æ¤â¡Ö¥â¥Ç¥ë̾s¡×¤Ã¤Æ¤¤¤¦Ææ¤Îɽµ­¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

¤³¤ì¤Ï¡Ä¥Ð¥°¤È¸À¤Ã¤¿Êý¤¬¤¤¤¤¤Î¤«¤Ê¤¡¡©

[2010-12-26 Äɵ­] ʬ¤«¤ê¤Þ¤·¤¿¡£

Typus ¤Ï generate ¤·¤¿ºÝ¤Ë

/app/views/admin/

°Ê²¼¤Ë¤¤¤í¤¤¤í HTML ¤òÅǤ¯¤Î¤Ç¤¹¤¬¡¢¤½¤ÎÃæ¤Ç

@resource.model_name.human.pluralize

¤ä

<%= _t(key.constantize.model_name.human.pluralize) %>

¤³¤ó¤Êµ­½Ò¤¬½Ð¤Æ¤­¤Þ¤¹¡£¤³¤Î pluralize ¤¬¥À¥á¤Ç¤¹¡£

active support ¤Î inflection ¤Ç¤¢¤ë pluralize ¤Ï Rails ¤Î i18n ¤Î¼éÈ÷Èϰϳ°¤Ê¤Î¤Ç¡¢model_name.human ¤Î¤¢¤È¤Ë¸Æ¤ó¤¸¤ã¥À¥á¤Ê¤Î¤Ç¤·¤¿¡£¤Þ¤¿¡¢Rails ¤Î i18n ¤Ï

5.1 Translations for Active Record Models - Ruby on Rails Guides: Rails Internationalization (I18n) API

¤Ë¤¢¤ë¤è¤¦¤Ë model ¤Î̾Á°¤ËÂФ·¤ÆËÝÌõ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£table_name ¤Ë³ä¤êÅö¤Æ¤ëµ¡Ç½¤¬¤¢¤ì¤Ð .pluralize ¤¬¤¢¤Ã¤Æ¤âÀµ¤·¤¯µ¡Ç½¤µ¤»¤ë¤³¤È¤â̵Íý¤Ç¤Ï¤Ê¤µ¤½¤¦¤Ç¤¹¤¬¡¢¸½¾õ¡Ê3.0.3¡Ë¤Ç¤Ï¤Ç¤­¤Þ¤»¤ó¡£

model.human ¤Î¤¢¤È¤Ë pluralize ¤Ï¸Æ¤ó¤¸¤ã¥À¥á

¤È³Ð¤¨¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£

¤Ê¤ª¡¢twitter ¾å¤Ç .model_name.human ¤¸¤ã¤Ê¤¯¤Æ .human_name ¤Ë¤¹¤ì¤Ð¤è¤«¤Ã¤¿¤È½ñ¤­¤Þ¤·¤¿¤¬¡¢human_name ¤Ï deprecated ¤Ç¤·¤¿¡£

»Ä¤ê¤Î²ÝÂê

¤¶¤Ã¤Èºî¶È¤À¤±¸«¤Æ¤­¤Þ¤·¤¿¤¬¡¢º£¸å¤Î²ÝÂê¤Ï

  • fixture
  • rspec
  • cucumber
  • ¡Ö¥â¥Ç¥ë¤Î¥ê¥ì¡¼¥·¥ç¥ó¥·¥Ã¥×¡×¤È¤¤¤¦³µÇ°¤Î½¬ÆÀ

¤Ç¤·¤ç¤¦¤«¡£ORM ¤ÎÍøÍѷи³¤â¤¢¤Þ¤ê¤Ê¤¤¤¿¤á¡¢foreign key ¤òÌÀ¼¨¤»¤º¤Ë Model Ãæ¿´¤Ë¹Í¤¨¤ë¤³¤È¤¬¤É¤¦¤â¤Þ¤À¤·¤Ã¤¯¤ê¤­¤Æ¤¤¤Þ¤»¤ó¡£schema dump ¤·¤Æ¤ß¤Æ¤â

¤Ê¤ó¤À¤³¤Î¥¹¥«¥¹¥«¤·¤¿´¶¤¸¤Ï

¤È¤¤¤¦¤Î¤¬Î¨Ä¾¤Ê´¶ÁۤǤ¹¡£¤·¤Ð¤é¤¯¤Ï¸ÍÏǤ¤¤â»Ä¤ë¤Ç¤·¤ç¤¦¤¬¡¢Á᤯¡Ö¥â¥Ç¥ë¤Î¥ê¥ì¡¼¥·¥ç¥ó¥·¥Ã¥×¡×¤È¤¤¤¦¹Í¤¨Êý¤ËƬ¤ò´·¤ì¤µ¤»¤Ê¤¤¤È¥À¥á¤Ç¤¹¤Í¡£

Tags: Rails Ruby

*1 ¤â¤È¤â¤È¸ø³«¤Ç¤­¤ë¥×¥í¥À¥¯¥È¤Ê¤ó¤«¤Û¤È¤ó¤É¤Ê¤¤¤ó¤À¤±¤É¡£

*2 ¤Ã¤Ý¤¤¤³¤È¤òº£ÄË´¶¤·¤Æ¤¤¤ëºÇÃæ¤Ê¤Î¤Ç¤â¤·¤«¤·¤¿¤éÊѤʤ³¤È¸À¤Ã¤Æ¤ë¤«¤â

*3 rails g --help ¤È¤¹¤ë¤È³Îǧ¤Ç¤­¤ë

*4 locale ¤ÎÊѹ¹¤Ë´Ø¤·¤Æ¤Ï development ´Ä¶­¤Ç¤âºÆµ¯Æ°¤¬É¬Íפߤ¿¤¤¤Ç¤¹¤Í¡£¥«¥¿¥í¥°¤ÎÊѹ¹¤Ï¤¹¤°¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¤¬¡£¤Þ¤¡ locale ¤ÎÊѹ¹¤Ê¤ó¤Æ²¿Å٤⤷¤Ê¤¤¤Î¤ÇÌäÂê¤Ê¤¤¤Ç¤¹¤±¤É¡¢ÃΤé¤Ê¤¤¤È locale ¤¬È¿±Ç¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤«¼«Ê¬¤Î¥«¥¿¥í¥°¥Õ¥¡¥¤¥ë¤ÎÍѰդλÅÊý¤¬¤ª¤«¤·¤¤¤Î¤«Ê¬¤«¤é¤Ê¤¤¤Î¤Ç¤Á¤ç¤Ã¤ÈÃí°Õ¤¬É¬ÍפǤ¹¡£

*5 Àµ³Î¤Ë¤Ï model_name ¤ò¤ï¤¶¤ï¤¶ pluralize ¤·¤¿¤â¤Î


2010-12-20 [ĹǯÆüµ­]

_ ÁǤΠRuby ´Ä¶­¤Ç Fabrication

¥À¥ß¡¼¥Ç¡¼¥¿¤¬¤¿¤¯¤µ¤óÍߤ·¤¤

¼«Ê¬¤Î»Å»ö¾ì¤Ï¤Á¤ç¤Ã¤ÈÊѤï¤Ã¤Æ¤¤¤ë¤Î¤Ç¥À¥ß¡¼¤Î¥Æ¥­¥¹¥È¤òÍѰդ¹¤ë¤Î¤Ï¤½¤ì¤Ã¤Ý¤¤¿Í¤ËÍê¤à¤È²Äǽ¤Ç¤Ï¤¢¤ë¤Î¤Ç¤¹¤¬¡¢ËÜÍ褳¤ó¤Ê¤â¤Î¤Ïµ¡³£¤Ëºî¤é¤»¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¡£¤È¤Ï¸À¤¨¤ï¤¶¤ï¤¶¥À¥ß¡¼¥Ç¡¼¥¿À¸À®¥Ä¡¼¥ë¤òºî¤ë¤Î¤Ï¥À¥ë¤¤¤·¡¢ÊØÍø¤Ê¤â¤Î¤âÃΤé¤Ê¤«¤Ã¤¿¤Î¤Çº£¤Þ¤Ç¤Ï¤Ê¤ó¤È¤Ê¤¯¿Í³¤Àï½Ñ¤Ç¤ä¤Ã¤Æ¤Þ¤·¤¿¡£¤´¤á¤ó¤Ê¤µ¤¤¡£

ºÇ¶á¤Á¤ç¤Ã¤È Rails ¤Å¤¤¤Æ¤¤¤ë¤Î¤Ç fixture replacement ¤Îʸ̮¤Ç¤¤¤¯¤Ä¤«¥Ç¡¼¥¿À¸À®¥Ä¡¼¥ë¤ò¸«¤Æ¤¤¤¿¡Ê»î¤·¤Æ¤Ê¤¤¤Î¿¿ô¡Ë¤Î¤Ç¤¹¤¬¡¢2010ÅߤÎÃʳ¬¤Ç¤Ï Fabrication ¤Î¿Íµ¤¤¬¾å¤¬¤Ã¤Æ¤­¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¤Í¡£¡Ê¤Þ¤À ruby-toolbox.com ¤Ç¤Ï̾Á°¤ò¸«¤Ê¤¤¤±¤É¡£¡Ë

¤È¤¤¤¦¤³¤È¤Ç»È¤Ã¤Æ¤ß¤¿

paulelliott/fabrication - GitHub

¤Þ¤º¤Ï¤è¤¯¸«¤ë Faker ¤ÈÁȤ߹ç¤ï¤»¤ëÎã¡£

¢¨ ¤Ê¤ª¡¢url ¤ÎÉôʬ¤Î½èÍý¤Ï»²¹Í¤Ë¤·¤¿ hibariya ¤µ¤ó¤Î¥³¡¼¥É´Ý¥Ñ¥¯¥ê¤Ç¤¹¡£

µ¤¤ò¤Ä¤±¤ë¥Ý¥¤¥ó¥È

Rails ή¤Î Model ¥¯¥é¥¹¤òÁÛÄꤷ¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤Î¾ì¹ç¤Ï Company ¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ËÆÉ¤ß½ñ¤­¤Î¸¢¸Â¤òÍ¿¤¨¤Æ¤¯¤À¤µ¤¤¡£

Fabricate.attributes_for() ¤¹¤ë¤Ê¤é Struct ¤ò»È¤Ã¤Æ¤â·ë²Ì¤Ï¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ê¤Î¤Ç°ì¤Ä¤Î¼ê¤È¤·¤Æ¤Ï¥¢¥ê¤«¤â¤·¤ì¤Þ¤»¤ó¡£

cf. Fabrication¤ò»È¤Ã¤Æ¤ß¤¿ - ¤Î¤É¤òRuby¤Ç¤¤¤Ã¤Ñ¤¤¤Ë¤·¤Æ

Faker ¤ÎÂå¤ï¤ê¤Ë forgery ¤ò»È¤¦

sevenwire/forgery - GitHub

ruby-toolbox.com ¤Î Random Data Generation ¤Î¹àÌÜ ¤Ç¤Ï faker ¤è¤ê¤â forgery ¤ÎÊý¤¬¿Íµ¤¤¬¹â¤¤¤è¤¦¤Ç¤¹¤Î¤Ç¡¢¤³¤Ã¤Á¤â»î¤·¤Æ¤ß¤Þ¤¹¡£

¾å¤Î Faker ¤ÎÎã¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤â¤Î¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£Ãæ¿È¤ò¸«¤ë¤È Faker ¤è¤ê¤â¤¹¤°»È¤¨¤ë¤â¤Î¤¬Â¿¤¤¤«¤é¤â¤·¤«¤·¤ÆÊØÍø¡© Formats ¤ä Dictionaries ¤¬½àÈ÷¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç Faker ¤è¤ê¤âºî¤ì¤ë¥À¥ß¡¼¥Ç¡¼¥¿¤Î¼ïÎà¤òÁý¤ä¤·¤ä¤¹¤¤¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£

cf. [sinatra for flasher] ÂçÎ̤ΥÀ¥ß¡¼¥Ç¡¼¥¿¤òÊÖ¤¹API¤òºî¤ë - func09

¤Á¤Ê¤ß¤Ëº£²ó¤Î¥³¡¼¥É¤ÎÁ´ÂÎÁü

¤³¤Á¤é

gist: 748375 - fabrication with faker and forgery- GitHub

git clone ¤·¤Æ

$ ruby fab.rb -h

¤Çʬ¤«¤ê¤Þ¤¹¤¬¡¢

  • class ¤ÎÀ¸À®ÊýË¡
  • fabrication ¤ÈÁȤ߹ç¤ï¤»¤ë¥À¥ß¡¼¥Ç¡¼¥¿À¸À®¥é¥¤¥Ö¥é¥ê
  • fabrication ¤Çºî¤ë¥Ç¡¼¥¿¤Î·Á¼°

¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

»²¹Í

Tags: Ruby RubyGems

2010-12-21 [ĹǯÆüµ­]

_ Ķº£¤µ¤é½é¤á¤Æ¤Îgisty

gisty ¤òÃΤ俤ΤϤ⤦µ­²±¤Ë¤â¤Ê¤¤¤¯¤é¤¤ÀΤÀ¤·¡¢Ä¾ÀÜ´«¤á¤é¤ì¤¿¤Î¤Ï

Twitter / ¤æ¡¼¤±¡¼/ÀÖ¾¾ Í´´õ: @wtnabe gist¤Ë¥×¥í¥À¥¯¥È¥³¡¼¥É¤È¥Æ¥¹¥È¥³ ...

¤Ê¤ó¤È3·î¤Ê¤Î¤Ç9¥ö·îÁ°¤È¤¤¤¦ÂΤ¿¤é¤¯¤Ç¤´¤¶¤¤¤Þ¤¹¤¬¡¢¤è¤¦¤ä¤¯»È¤Ã¤Æ¤ß¤Þ¤·¤¿ < gisty

swdyh/gisty - GitHub

ɬÍפʽàÈ÷

  1. gisty gem
  2. GISTY_DIR
  3. git ¤Î config
  4. »È¤Ã¤Æ¤¤¤ë Ruby ¤¬»²¾È¤Ç¤­¤ë OpenSSL ¾ÚÌÀ½ñ

gisty ¤ò»È¤¦¤Ë¤Ï clone ¤¹¤ë¾ì½ê¤ò´Ä¶­ÊÑ¿ô¤Ç»ØÄꤷ¤Æ¤ª¤¯¡£post ¤¹¤ë¤À¤±¤Ç¤âƱ»þ¤Ë clone ¤¹¤ë¤Î¤Ç GISTY_DIR ¤Î»ØÄê¤Ïɬ¿Ü¤Ç¤¢¤ë¡£

¤Þ¤¿¡¢git ¤Î config ¤ÏºÇ½ªÅª¤Ë¤³¤ó¤Ê·Á¤Ë¤Ê¤ì¤Ð¤è¤¤¡£

[github]
       user  = USERNAME
       token = XXXXXXXXXXXXXXXXXXXXXXX

¤¤¤º¤ì¤Ë¤·¤Æ¤â¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¸«¤ì¤Ð¤É¤¦¤¹¤ì¤Ð¤è¤¤¤«¤Ïʬ¤«¤ë¤Î¤Ç´Êñ¡£

¼Â¤Ï¡¢4 ¤Ç¥Ï¥Þ¤Ã¤¿¡£

Ruby ¤Î»²¾È¤Ç¤­¤ë OpenSSL ¾ÚÌÀ½ñ

¤Ê¤ó¤«¤³¤ìÁ°¤Ë¤â¥Ï¥Þ¤Ã¤¿µ¤¤¬¤¹¤ë¤ó¤À¤±¤É¡¢º£²ó¤Ï Mac OSX ¤Ç¤É¤¦¤ä¤Ã¤Æ²ò·è¤·¤¿¤«¡£

gisty¤òMac¤«¤é»È¤¦ - Dive into the Tech World!

¤ò¸«¤ë¤È

$ ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'

¤Ç¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Ë¹Ô¤Ã¤Æ¤¤¤ë¤«Ê¬¤«¤ë¡£¸«¤ë¤È¤½¤³¤Ë¤Ï²¿¤â¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤¡£

FreeBSD ¤Î¤È¤­¡ÊRuby ¤Î SSL ¤Î¾ÚÌÀ½ñ¸¡¾Ú¤Î¼ºÇԤǥϥޤäƤ¤¤¿ - ¤¢¡¼¤¢¤ê¤¬¤Á(2010-01-14)¡Ë¤Ë¤Ï ca_root ´Ø·¸¤Î ports ¤¬¤¢¤Ã¤¿¤±¤É¡¢MacPorts ¤Ë¤Ï¤Ê¤¤¤Ã¤Ý¤¤¡£¤½¤ì¤Ã¤Ý¤¤¤Î¤Ï

$ port search cert
curl-ca-bundle @7.21.2 (net)
    CA certificate bundle for curl

¤Ê¤Î¤Ç¡¢¤³¤ì¤òÆþ¤ì¤Æ

/opt/local/etc/openssl/cert.pem@ ->
      /opt/local/share/curl/curl-ca-bundle.crt

¤Î link ¤òÄ¥¤Ã¤ÆÂн衣

»È¤¤Êý

$ gisty help

¤Ç³Îǧ¤Ç¤­¤ë¡£¡Êgisty --help ¤Ç¤Ï¤Ê¤¤¡£¡Ë

gisty post *

¤È¤·¤Æ¤Ç¤­¤¢¤¬¤Ã¤¿¤Î¤¬¥³¥ì¡£

gist: 748375 - fabrication with faker and forgery- GitHub

¤Õ¡¼¡£Ä¹¤«¤Ã¤¿¡£

gisty sync¤ËÃí°Õ

gisty sync ¤Ï¼«Ê¬¤Îºî¤Ã¤¿ gist Á´Éô¤ò local ¤Ë clone ¤·¤è¤¦¤È¤¹¤ë¡£¤½¤ÎºÝ¡¢

1²ó1²ó¸°¤Î passphrase ¤òʹ¤«¤ì¤ë¡£

¼«Ê¬¤ÏÉáÃÊ ssh-agent ¤È¤«»È¤ï¤Ê¤¤¤Î¤Ç¤â¤Î¤¹¤´¤¯ÌÌÅݤˤʤäÆÅÓÃæ¤Ç¤ä¤á¤Æ¤·¤Þ¤Ã¤¿¡£

sync ¤ÎºÝ¤Ë¤Ï ssh-agent ¤ä keychain ¤ò³èÍѤ¹¤Ù¤·¡£


2010-12-28 [ĹǯÆüµ­]

_ Rinari+Rhtml¤ÇRails¤Î¥³¡¼¥É¤ò½ñ¤¯¤³¤È¤Ë¤·¤¿

¤¤¤Ä¤â¤Î¤³¤È¤Ê¤¬¤é¤¹¤´¤¯º£¤µ¤é¤ÊÏá£

¤º¤Ã¤È ruby-mode.el °ìËܤǤä¤Ã¤Æ¤­¤¿¤Î¤À¤±¤É¡¢Rails ¤Î¥³¡¼¥É¤Ï¤É¤¦¤âÆÉ¤ß¤Ë¤¯¤¤¤·¡¢¤Ê¤ó¤«¤½¤¦¸À¤¨¤Ð rails.el ¤Ã¤ÆÊ¹¤¤¤¿¤³¤È¤¢¤Ã¤¿¤Ê¤¡¤È»×¤¤½Ð¤·¤ÆÄ´¤Ù¤Æ¤ß¤¿¡£·ë²Ì¡¢

  • rails.el ¤Ï 2007ǯ¤Ç»ß¤Þ¤Ã¤Æ¤¤¤Æ»ö¼Â¾å¤Î discontinued ¾õÂÖ
  • Rinari ¤È¤¤¤¦ minor mode ¤¬¤¢¤ë¤é¤·¤¤

minor mode ¤ÇÂç¾æÉפʤ󤫤¤¤Ê¤È»×¤Ã¤¿¤±¤ì¤É¡¢¿´ÇÛ̵ÍѤǤ·¤¿¡£*1

Rinari

Rinari: Ruby on Rails Minor Mode for Emacs

¥¤¥ó¥¹¥È¡¼¥ë¤ÎÃí°ÕÅÀ

git clone ¤ò»È¤Ã¤Æ install ¤¹¤ëºÝ¤Ï submodule ¤òÍ׵᤹¤ë¡£default ¤Ç¤Ï git protocol ¤Ç¼èÆÀ¤·¤è¤¦¤È¤¹¤ë¤Î¤Ç git protocol ¤ÎÄ̤é¤Ê¤¤´Ä¶­¤Ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤¹¤ë¡£

.gitmodules ¤òÊÔ½¸¤·¤Æ¤«¤é submodule ¤ò¼èÆÀ¤·¤Ë¤¤¤±¤Ð¤¤¤¤¤Î¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢¤ä¤Ã¤Æ¤ß¤Æ¤Ê¤¤¤Î¤Ç¤è¤¯Ê¬¤«¤é¤Ê¤¤¡£

Rinari ¤¬¤ä¤Ã¤Æ¤¯¤ì¤ë¤³¤È

Introduction - Rinari: Ruby on Rails Minor Mode for Emacs

  • navigation ¡Ê MVC ¤ä migration ´Ö¤Î¹Ô¤­Íè )
  • Web server Ω¤Á¾å¤²¤¿¤ê
  • ŬÀÚ¤Ê sql-mode ¤òµ¯Æ°¤·¤¿¤ê
  • ¥Æ¥¹¥È¤ò»Ù±ç¤·¤Æ¤¯¤ì¤¿¤ê

¤Ê¤É¡£¤¢¤ì¡¢¡ÖÆÉ¤ß¤Ë¤¯¤¤¡×¤È¤¤¤¦ÌäÂê¤Ï²ò·è¤·¤Ê¤¤¤è¤¦¤Ê¡£

Rhtml-mode ¤òÄɲÃ

¡ÖÆÉ¤ß¤Ë¤¯¤¤¡×¤Î¤¬»Ï¤Þ¤ê¤Ê¤Î¤ÇÄɵᡣ

Add Ons - Rinari: Ruby on Rails Minor Mode for Emacs

¤ó¡¼¤Ç¤â YAML ¤â CSS ¤â JavaScript ¤âº¤¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢Äɲ乤ë¤È¤·¤¿¤é Rhtml ¤«¤Ê¡£

¤¢¤È yasnippet-rails ¤òÆþ¤ì¤Æ¤ª¤¤¤¿¡£¡Êyasnippet ¤Ï¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¡Ë

rhtml-mode ¤Î¿§¤Å¤±¤¬¤Á¤ç¤Ã¤Èµ¤¤ËÆþ¤é¤Ê¤«¤Ã¤¿¤Î¤Ç

M-x customize-group

¤Ç

erb-faces

¤«¤é¤Á¤ç¤Ã¤È¤¤¤¸¤Ã¤¿¡£

(custom-set-faces
...
 '(erb-delim-face ((t (:foreground "blue" :weight bold))))
 '(erb-exec-face ((t (:inherit erb-face :underline t))))
 '(erb-face ((((class color) (min-colors 8)) (:underline "black"))))
 '(erb-out-delim-face ((((background dark)) (:foreground "blue" :weight bold))))
...

¤³¤ó¤Ê´¶¤¸¡£

·ë¶É Rails ¤Î¥³¡¼¥É¤ÏÆÉ¤ß¤Ë¤¯¤¤¤Þ¤Þ

.html.erb ¤ÏÊÔ½¸¤·¤ä¤¹¤¯¤Ê¤Ã¤¿¤·¡¢¥³¡¼¥É´Ö¤Î°Üư¤â¤ä¤ê¤ä¤¹¤¯¤Ê¤Ã¤¿¡£¤·¤«¤· Ruby ¤Î¥³¡¼¥É¤ÏÆÉ¤ß¤ä¤¹¤¯¤Ê¤é¤Ê¤«¤Ã¤¿¡£

Rails ¤Î¥³¡¼¥É¤Ï¤Ê¤ó¤Æ¤¤¤¦¤« helper °Ê³°¤ÏÀë¸ÀŪ(?)²á¤®¤Æ¡¢ÉáÄ̤Υ³¡¼¥É¤Î¤è¤¦¤Ë¥á¥½¥Ã¥É¤Î¥«¥¿¥Þ¥ê¤òÌܤ¬Ç§¼±¤Ç¤­¤Ê¤¤¡£¤½¤Î¤»¤¤¤«¤É¤³¤Ç²¿¤ò¤ä¤Ã¤Æ¤¤¤ë¤Î¤«¤è¤¯Ê¬¤«¤é¤Ê¤¤´¶¤¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¾¯¤Ê¤¯¤È¤â¸Å¤¤ Ruby ¥³¡¼¥É¤Ë¤·¤«ÆëÀ÷¤ß¤Î¤Ê¤¤¿Í´Ö¤Ë¤Ï¤¤¤µ¤µ¤«¤Ä¤é¤¤¤â¤Î¤¬¤¢¤ë¡£¤â¤·¤«¤¹¤ë¤È¤³¤ì¤¬ DSL ¤ÈÁû¤¬¤ì¤¿ÊÒÎڤʤΤ«¤â¤·¤ì¤Ê¤¤¤¬¡£

¤È¤ê¤¢¤¨¤º²¿¤«¤Î¥Ä¡¼¥ë¤Ç·àŪ¤ËÆÉ¤ß¤ä¤¹¤¯¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ï¤Ê¤µ¤½¤¦¤Ê¤Î¤Ç¡¢¾¯¤·¤º¤ÄÌܤò´·¤é¤·¤Æ¤¤¤¯¤·¤«¤Ê¤¤¤ß¤¿¤¤¡£

¤È¤Ï¸À¤¨ Rinari ¤ÏÊØÍø¡£¼ý³Ï¥¢¥ê¡£

*1 ¤Û¤ó¤È¤ÎºÇÀèü¤Ï Rinari ¤¸¤ã¤Ê¤¤¤é¤·¤¤¤ó¤À¤±¤É¡¢¤Û¤È¤ó¤É¤Î¥Ä¡¼¥ë¤ÇÀèü¤òÄɤäƤʤ¤¼«Ê¬¤Ë¤Ï¤Þ¤Ã¤¿¤¯ÌäÂê¤Ê¤¤¡£