<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4404910056858166205</id><updated>2024-09-02T01:00:32.435+09:00</updated><category term="Vim"/><category term="OS"/><category term="PHP"/><category term="TDD"/><category term="Python"/><category term="Selenium"/><category term="Symfony2"/><category term="pyspa"/><category term="勉強会"/><category term="温泉"/><category term="雑談"/><title type='text'>NingNing TechBlog</title><subtitle type='html'>:h! 落ち着いてくらさい &amp;gt; &lt;a href=&quot;https://twitter.com/_nishigori&quot;&gt;@_nishigori&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-5318169670148974516</id><published>2011-12-26T04:47:00.000+09:00</published><updated>2014-01-04T23:47:07.218+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Vim"/><title type='text'>Vim Advent Calender 26日目: monday.vimカスタマイズしてみた</title><content type='html'>おおかたのAdvent Calender 2011も終了していますが、&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://atnd.org/events/21925&quot; target=&quot;_blank&quot;&gt;Vim Advent Calender 2011&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;はまだまだ続きますね。&lt;br /&gt;
&lt;br /&gt;
26日目、@_nishigoriです :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ところで、皆さんはなぜVimにPlugin&amp;nbsp;(以降:&lt;i&gt;愛&lt;/i&gt;) を注いでいるのでしょうか？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
「それ俺のVim (以降:&lt;i&gt;彼女&lt;/i&gt;) ならできるよ」って自慢したいからですね。&lt;br /&gt;
もしくは愛を自分と自分の彼女だけで育みたいからでしょうか。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
（ここまでで、愛だ彼女だなんて気持ち悪いなんて思った方、&lt;br /&gt;
どうぞ&lt;b&gt;&lt;u&gt;1日目&lt;/u&gt;&lt;/b&gt;から読み返してください。きっと分かってもらえます。&lt;br /&gt;
もしくは&lt;a href=&quot;https://github.com/mattn/unite-advent_calendar&quot; target=&quot;_blank&quot;&gt;unite-advent_calender&lt;/a&gt;を入れてる人はソース置換でもしてください。）&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash;&quot;&gt;
:%s/彼女/Vim/g
:%s/愛\|恋愛/Plugin/g
&lt;/pre&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
でもちょっと待ってください。&lt;br /&gt;
ホントにそれでいいんでしょうか？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
あなたが彼女と育んできた愛は、&lt;br /&gt;
きっと他の彼女と付き合っている人たちにも共通するものがあるはずです。&lt;br /&gt;
それをあなたとあなたの彼女だけで秘密にするのは勿体ないです。&lt;br /&gt;
&lt;br /&gt;
是非周りの彼氏彼女にも伝えて互いの恋愛レベルを上げましょう！&lt;br /&gt;
&lt;br /&gt;
ただ、あなたが育んできた愛を伝えること自体はとても素晴らしいですが、&lt;br /&gt;
愛の注ぎ方にもお作法があります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;・彼女の年齢にあった恋愛であるか &lt;/b&gt;(v:versionの確認)&lt;br /&gt;
&lt;b&gt;・古き悪しき習慣を引きずらないよう心がけているか&lt;/b&gt; (:help :set-&amp;amp;vim)&lt;br /&gt;
&lt;b&gt;・愛の適用範囲&lt;/b&gt; (Licenseの明記)&lt;br /&gt;
&lt;b&gt;・シーンに合わせた愛であるか&lt;/b&gt; (autoload dir, ftplugin dir 等の活用)&lt;br /&gt;
&lt;br /&gt;
必要最低限でも配慮する必要はありますね。&lt;br /&gt;
&lt;br /&gt;
そしてこれらはあなたが他の人の恋愛テクニックを真似る際の&lt;br /&gt;
参考にもなります。&lt;br /&gt;
&lt;br /&gt;
幸い自信がなくても、恋愛マスターの方たちが&lt;br /&gt;
Google GroupsやLingr部屋にはたくさんいます。&lt;br /&gt;
是非相談してみましょう。&lt;br /&gt;
彼らもまた愛に飢えています。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
そして、&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;・他の人の愛を受け&lt;/b&gt;&amp;nbsp;(pull request)&lt;br /&gt;
&lt;b&gt;・他の恋愛テクニックと組み合わせ&lt;/b&gt;&amp;nbsp;(unite化)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #ea9999;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;あなたとあなたの彼女だけの愛をつくっていきましょう&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
クリスマスをVimとイチャイチャしてきた皆さんなら&lt;br /&gt;
きっと成し遂げられます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
…と中途半端に愛を語っておいて題目から大分ズレましたが、&lt;br /&gt;
即興Pluginで&lt;b&gt;monday.vim&lt;/b&gt;のカスタマイズ版&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://github.com/nishigori/vim-sunday&quot; target=&quot;_blank&quot;&gt;sunday.vim&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;をつくってみました。&lt;br /&gt;
（残念ながらお作法はあまりよろしくありませんが…。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/nishigori/vim-sunday&quot;&gt;https://github.com/nishigori/vim-sunday&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.vim.org/scripts/script.php?script_id=1046&quot; target=&quot;_blank&quot;&gt;monday.vim&lt;/a&gt;は&lt;a href=&quot;http://nanasi.jp/articles/vim/monday_vim.html&quot; target=&quot;_blank&quot;&gt;名無しのVim使いさん&lt;/a&gt;でも紹介されているPluginで、&lt;br /&gt;
曜日、月をインクリメント・デクリメントすることのできるPluginです。&lt;br /&gt;
&lt;br /&gt;
機能自体はとても便利なのですが、&lt;br /&gt;
インクリ・デクリするリストの編集・拡張はPluginを直接編集しなくてはいけなかった為、&lt;br /&gt;
とりあえず外出ししました。&lt;br /&gt;
以下の変数をvimrcに記述すると設定された対象text-object上で&lt;br /&gt;
&amp;lt;C-a&amp;gt;でインクリメント、&amp;lt;C-x&amp;gt;でデクリメントします。&lt;br /&gt;
&lt;br /&gt;
ex.)&lt;br /&gt;
&lt;pre style=&quot;background-color: black; color: white;&quot;&gt;&amp;nbsp; let g:sunday_pairs = [
&amp;nbsp; \ [&#39;hoge&#39;, &#39;hoge2&#39;, &#39;hoge3&#39; ],            &quot; hoge &amp;lt;-&amp;gt; hoge2 &amp;lt;-&amp;gt; hoge3
&amp;nbsp; \ [&#39;private&#39;, &#39;protected&#39;, &#39;public&#39; ],    &quot; private &amp;lt;-&amp;gt; protected &amp;lt;-&amp;gt; public
&amp;nbsp; \ ]
&lt;/pre&gt;
&lt;br /&gt;
今後の予定としてはファイルタイプ別での定義を可能にすることと、&lt;br /&gt;
リファクタリングも兼ねて&amp;lt;C-a&amp;gt;、&amp;lt;C-x&amp;gt;でなく任意のマッピングにできるようにしようかと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
それでは皆さま、少し早いですが来年も良きVim Lifeを :p</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/5318169670148974516/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/12/vim-advent-calender-26.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/5318169670148974516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/5318169670148974516'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/12/vim-advent-calender-26.html' title='Vim Advent Calender 26日目: monday.vimカスタマイズしてみた'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-494134060635610797</id><published>2011-11-01T00:45:00.000+09:00</published><updated>2012-02-03T05:26:29.451+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Vim"/><title type='text'>[小ネタ][Vim] number / relativenumber オプションを気軽に切り替える</title><content type='html'>巷ではVim熱が沸騰していてリア充率が意外と高いことが発覚したとか。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
かなり今さらではありますが、&lt;br /&gt;
Vim7.3の新機能として&lt;b&gt;&#39;relativenumber&#39;&lt;/b&gt;オプションが追加されてますね。&lt;br /&gt;
relativenumberとは、&lt;br /&gt;
カレント行からの相対的な行番号を表示するオプションです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilcLcHbNvO-WjJmr2QR55LBFJAmlOonBzQ7-YrO_Bk0wr13UfN9Yc2uehT6KJMluBDKpP5f1zcVqZYHQL_8HD9Yw15Q-0TFEb1VfQUrsaYeLDhnLMD4jXR5UOCyGKcutN_hD3Nifi8Gryy/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2011-11-01+0.25.54.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;106&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilcLcHbNvO-WjJmr2QR55LBFJAmlOonBzQ7-YrO_Bk0wr13UfN9Yc2uehT6KJMluBDKpP5f1zcVqZYHQL_8HD9Yw15Q-0TFEb1VfQUrsaYeLDhnLMD4jXR5UOCyGKcutN_hD3Nifi8Gryy/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2011-11-01+0.25.54.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
上の画像で言うと&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: lime; color: black;&quot;&gt;ピッコロ色&lt;/span&gt;に光ってるのがカレント行で、&lt;br /&gt;
そこから相対的に5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, ... と行番号が振られてますが、こんな感じです。&lt;br /&gt;
vimmerならよくやる行数指定の削除やヤンク、移動等の操作をする時にこれは便利ですね。&lt;br /&gt;
&lt;br /&gt;
ex.) {\d}dj , {\d}yk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ちなみにrelativenumberオプションを有効にすると&lt;br /&gt;
numberオプション（通常の行番号を表示）がリセットされます。&lt;br /&gt;
つまりは通常の行番号と相対的な行番号を同時に表示することは今のところできません。&lt;br /&gt;
&lt;br /&gt;
でも毎回行数指定が発生する操作の前に&lt;br /&gt;
relativenumberオプションを有効にするのもアレだし、&lt;br /&gt;
常にrelativenumberオプションを有効にしておくのも&lt;br /&gt;
個人的には好きになれません。（set number派）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
というわけで &lt;b&gt;&quot;number / relativenumber&quot;&lt;/b&gt; オプションをトグルするスクリプトをvimrcに書きましょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: black; color: green; padding: 5px;&quot;&gt;if version &amp;gt;= 703
  nnoremap &lt;silent&gt; &amp;lt;silent&amp;gt; ,n :&amp;lt;C-u&amp;gt;&lt;c-u&gt;ToggleNumber&amp;lt;CR&amp;gt;&lt;cr&gt;
  command! -nargs=0 ToggleNumber call ToggleNumberOption()

  function! ToggleNumberOption()
    if &amp;amp;number
      set relativenumber
    else
      set number
    endif
  endfunction
endif
&lt;/cr&gt;&lt;/c-u&gt;&lt;/silent&gt;&lt;/pre&gt;
&lt;br /&gt;
最初の条件分岐ですが、&lt;br /&gt;
relativenumberオプションはVim7.3以降の機能ですので、&lt;br /&gt;
7.3より前のヴァージョンでは適用しないようにします。&lt;br /&gt;
&lt;br /&gt;
後は単純でnumberオプションが有効ならrelativenumberに切り替え、&lt;br /&gt;
そうでないならnumberオプションを有効にします。&lt;br /&gt;
&lt;br /&gt;
mappingの「,n」は好きに変えてくださいまし。&lt;br /&gt;
&lt;br /&gt;
これでnomal-modeでmapping定義したコマンド叩くと&lt;br /&gt;
状況に合わせnumber / relativenumber オプションが気軽に切り替わります。&lt;br /&gt;
&lt;br /&gt;
INFO:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; :help relativenumber</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/494134060635610797/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/11/vim-number-relativenumber.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/494134060635610797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/494134060635610797'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/11/vim-number-relativenumber.html' title='[小ネタ][Vim] number / relativenumber オプションを気軽に切り替える'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilcLcHbNvO-WjJmr2QR55LBFJAmlOonBzQ7-YrO_Bk0wr13UfN9Yc2uehT6KJMluBDKpP5f1zcVqZYHQL_8HD9Yw15Q-0TFEb1VfQUrsaYeLDhnLMD4jXR5UOCyGKcutN_hD3Nifi8Gryy/s72-c/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2011-11-01+0.25.54.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-4836342314356231670</id><published>2011-10-10T23:23:00.006+09:00</published><updated>2014-01-05T00:00:50.355+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Selenium"/><title type='text'>[Selenium][Firefox][PHPUnit] Selenium RCで新しいバージョンのFirefoxを動かす</title><content type='html'>Selenium RC でちょっとモゴモゴしたくなったのでメモ程度に。&lt;br /&gt;
&lt;br /&gt;
やろうとしてたことは、Selenium RC + PHPUnit で受け入れテストor回帰テストの自動化的なことをしようとしてたんだけど、&lt;a href=&quot;http://seleniumhq.org/download/&quot;&gt;本家&lt;/a&gt;からダウンロードしてくると、別個でインストールしているFirefox 7.0.1ではエラーで軽く一蹴される。&lt;br /&gt;
&lt;br /&gt;
これは既存起動時のselenium-server.jarがFirefox 3.6.xまでしか対応していないから。&lt;br /&gt;
以下回避策。&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. selenium-server.jarをselenium-server.zipとしてコピーして解凍。&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2. ディレクトリ配下に複数存在するinstall.rdfのmaxVersionを変更。&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;3. 変更したファイル群をzipで圧縮してまた.jarファイルにリネーム。&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;4. 編集したselenium-server.jarをjava -jar {directory}/selenium-server.jarとして実行。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;1.&amp;nbsp;selenium-server.jarをselenium-server.zipとしてコピーして解凍。&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
本家からダウンロードしたSelenium RC (現行では1.0.3)のserver/selenium-server.jarをコピーする。&lt;br /&gt;
&lt;br /&gt;
$ cp -a ./server/selenium-server.jar ./server/selenium-server.zip&lt;br /&gt;
&lt;br /&gt;
で解凍なんだけど、unzipするとそこにヴアーっとファイルが置かれてしまうので&lt;br /&gt;
別ディレクトリ先でやったほうが良いかも。&lt;br /&gt;
&lt;br /&gt;
$ mv ./server/selenium-server.zip {Directory}/&lt;br /&gt;
$ cd {Directory}&lt;br /&gt;
$ unzip selenium-server.zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;2.&amp;nbsp;ディレクトリ配下に複数存在するinstall.rdfのmaxVersionを変更。&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
$ find {Directory}/ | grep -i install\.rdf&lt;br /&gt;
&lt;br /&gt;
見つかったファイル全てのファイル名のFirefoxのmaxVersionを変更&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;!-- Firefox --&amp;gt;

&amp;lt;em:targetApplication&amp;gt;

&amp;nbsp; &amp;nbsp; &amp;lt;Description&amp;gt;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;em:id&amp;gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&amp;lt;/em:id&amp;gt;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;em:minVersion&amp;gt;1.4.1&amp;lt;/em:minVersion&amp;gt;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ↓ここ

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;em:maxVersion&amp;gt;3.6.*&amp;lt;/em:maxVersion&amp;gt;

&amp;nbsp; &amp;nbsp; &amp;lt;/Description&amp;gt;

&amp;lt;/em:targetApplication&amp;gt;

&lt;/pre&gt;
&lt;br /&gt;
指定するバージョン名はまぁお好みで。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;3. 変更したファイル群をzipで圧縮してまた.jarファイルにリネーム。&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
// pwd: {Directory}&lt;br /&gt;
$ zip -r selenium-server.zip *&lt;br /&gt;
$ mv {Directory}/selenium-server.zip {Directory}/selenium-server.jar&lt;br /&gt;
&lt;br /&gt;
.jarファイルはお好きなディレクトリ(/usr/local/bin/ とか）へどうぞ。&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;4. 編集したselenium-server.jarをjava -jar {directory}/selenium-server.jarとして実行。&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
$ java -jar {directory}/selenium-server.jar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Java: Apple Inc. 20.1-b02-383&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - OS: Mac OS X 10.7.1 x86_64&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - v2.0 [a2], with Core v2.0 [a2]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - RemoteWebDriver instances should connect to: http://xxx.xxx.xxx.xxx:xxxx/wd/hub&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Version Jetty/5.1.x&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Started HttpContext[/selenium-server,/selenium-server]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Started HttpContext[/,/]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@3b835282&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Started HttpContext[/wd,/wd]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Started SocketListener on 0.0.0.0:xxxx&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XX.XXX INFO - Started org.openqa.jetty.jetty.Server@55d15445&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
起動時にも特にエラーはない。&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;テストしてみる。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php

// WebTest.php

require_once &#39;PHPUnit/Extensions/SeleniumTestCase.php&#39;;



class WebTest extends PHPUnit_Extensions_SeleniumTestCase

{

&amp;nbsp; &amp;nbsp; protected function setUp()

&amp;nbsp; &amp;nbsp; {

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setBrowser(&#39;*firefox&#39;);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setBrowserUrl(&#39;http://www.google.co.jp/&#39;);

&amp;nbsp; &amp;nbsp; }



&amp;nbsp; &amp;nbsp; public function testTitle()

&amp;nbsp; &amp;nbsp; {

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;open(&#39;http://www.google.co.jp/&#39;);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;assertTitle(&#39;Google&#39;);

&amp;nbsp; &amp;nbsp; }

}

&lt;/pre&gt;
&lt;br /&gt;
$ phpunit --colors WebTest.php&lt;br /&gt;
&lt;br /&gt;
PHPUnit 3.5.15 by Sebastian Bergmann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Time: 6 seconds, Memory: 6.00Mb&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: lime;&quot;&gt;OK (1 test, 1 assertion)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Selenium Log&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Checking Resource aliases&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Command request: getNewBrowserSession[*firefox, http://www.google.co.jp/] on session null&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - creating new remote session&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Allocated session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX for http://www.google.co.jp/, launching...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Preparing Firefox profile...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Launching Firefox...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Got result: OK,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Command request: setTimeout[30000, ] on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Got result: OK on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Command request: open[http://www.google.co.jp/, ] on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Got result: OK on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Command request: getTitle[Google, ] on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Got result: OK,Google on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Command request: testComplete[, ] on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Killing Firefox...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XX:XX:XXX.XX INFO - Got result: OK on session XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
問題なく動きますね。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://seleniumhq.org/about/platforms.html&quot;&gt;Platforms Supported&lt;/a&gt;&amp;nbsp;見てもけっこーバージョンはカバーしてるっぽいし、&lt;br /&gt;
一応これで3.6以降のバージョンでも一応動くようにはなる。&lt;br /&gt;
&lt;br /&gt;
バージョンが上がるごとに先のようにうんちゃらするのはアレだし、&lt;br /&gt;
実はuser extionsionsで書けるんじゃないのって思うけど書き方を知らない。&lt;br /&gt;
&lt;br /&gt;
既にあったら、誰ぞ教えていただけるととってもハッピーになれます。&lt;br /&gt;
&lt;br /&gt;
いやそもそもSelenium Server 2.xを使ってみたいが、&lt;a href=&quot;https://github.com/sebastianbergmann/phpunit-selenium&quot;&gt;PHPUnit_Selenium_TestCase&lt;/a&gt;が1系しか対応していない。（きっとPHPUnit 3.6系でも同じ）&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://code.google.com/p/php-webdriver-bindings/&quot;&gt;php-webdriver-bindings&lt;/a&gt;を使ってもいいんだけど、xUnit likeにコード書いていきたい欲。&lt;br /&gt;
&lt;br /&gt;
おとなしく2.x系対応版が出るのを待つか、forkしてPHPUnit_Selenium2_TestCaseとしてExtension作るか。。。&lt;br /&gt;
需要あるかな？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LINKS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Selenium Remote-Control: &lt;a href=&quot;http://seleniumhq.org/projects/remote-control/&quot;&gt;http://seleniumhq.org/projects/remote-control/&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; phpunit:&amp;nbsp;&lt;a href=&quot;https://github.com/sebastianbergmann/phpunit/&quot;&gt;https://github.com/sebastianbergmann/phpunit/&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; phpunit-selenium: &lt;a href=&quot;https://github.com/sebastianbergmann/phpunit-selenium&quot;&gt;https://github.com/sebastianbergmann/phpunit-selenium&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; phpunit manual: &lt;a href=&quot;http://www.phpunit.de/manual/3.6/en/selenium.html&quot;&gt;http://www.phpunit.de/manual/3.6/en/selenium.html&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; php-webdriver-bindings: &lt;a href=&quot;http://code.google.com/p/php-webdriver-bindings/&quot;&gt;http://code.google.com/p/php-webdriver-bindings/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/4836342314356231670/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/10/seleniumfirefox-selenium-rcfirefox.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/4836342314356231670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/4836342314356231670'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/10/seleniumfirefox-selenium-rcfirefox.html' title='[Selenium][Firefox][PHPUnit] Selenium RCで新しいバージョンのFirefoxを動かす'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-3046334438457695180</id><published>2011-08-31T19:25:00.007+09:00</published><updated>2011-09-04T17:52:09.536+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Vim"/><title type='text'>[Vim] SnipMateでなくneocomplcache snippet completeを使うわけ</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;ネット環境がない場所にいるのでブログ記事でも書きます:)&lt;/div&gt;&lt;br /&gt;
プログラムを書くとき、同じような記述をすることは多々あると思います。&lt;br /&gt;
DRY原則云々という問題でなく、if-elseやwhileなどといった&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #cccccc;&quot;&gt;条件分岐&lt;/span&gt;&lt;/b&gt;や&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #cccccc;&quot;&gt;メソッドの呼び出し&lt;/span&gt;&lt;/b&gt;の記述といった話です。&lt;br /&gt;
&lt;br /&gt;
ここで多くのタイピングをしなくてはいけない&lt;u&gt;煩わしさ&lt;/u&gt;が発生する人もいるでしょう。&lt;br /&gt;
それを解消する便利な機能で&lt;a href=&quot;http://en.wikipedia.org/wiki/Snippet_%28programming%29&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime; font-size: large;&quot;&gt;code snippet&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;というものがあります。&lt;br /&gt;
&lt;br /&gt;
code snippetとは、誤解を恐れずものっそい簡単に説明すると、一種のテンプレートのようなものです。&lt;br /&gt;
（実際は単なるテンプレートよりはるかに強力ではありますが。）&lt;br /&gt;
&lt;br /&gt;
例えば、ifの入力後に&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&amp;lt;Tab&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;を押せば、ifの後に続く構文を自動的に補完出力してくれたりします。&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;pre type=&quot;vim&quot;&gt;if    &quot;&amp;lt;- ここで設定されたsnippet機能呼び出しボタンを押下
&lt;/pre&gt;こんな感じに。&lt;br /&gt;
&lt;br /&gt;
&lt;pre type=&quot;php&quot;&gt;if condition
  ${0}
endif
&lt;/pre&gt;&lt;br /&gt;
そして必要入力場所に簡単に飛んでいくことも可能です。&lt;br /&gt;
（上記の例だと、conditionのあとは${0}だったり。&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
code snippet自体の詳細はWebでゴロゴロ転がっているので、&lt;br /&gt;
概要を深く知りたい方はググってくださいまし。&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
code snippet機能を有するエディタ・IDEはいくつもありますが、&lt;br /&gt;
VimのPluginでは&lt;a href=&quot;http://www.vim.org/scripts/script.php?script_id=2540&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt;SnipMate&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;が有名でした。&lt;br /&gt;
今でも使用している人はたくさんいるでしょう。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ところが最近では&lt;a href=&quot;https://github.com/Shougo/neocomplcache&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime; font-size: large;&quot;&gt;neocomplcache&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;同梱のsnippet completeを使っている、&lt;br /&gt;
もしくはSnipMateから移行しているVimmerが多くいます。&lt;br /&gt;
&amp;nbsp;実際にsnipmate neocomplcacheでググッてみると、&lt;br /&gt;
いくつか移行してみた・移行してみたい方が多いですね。&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;  &lt;a href=&quot;todo:%20%E3%81%93%E3%81%93%E3%81%AB%E6%A4%9C%E7%B4%A2%E7%B5%90%E6%9E%9C%E3%82%92%E8%A8%98%E8%BF%B0&quot; target=&quot;_blank&quot;&gt;Google検索: snipmate neocomplcache &lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
前置きが長くなりましたが、なぜみんな移行しているのか。&lt;br /&gt;
使ってない人・導入を検討している人には何が違うのかハテナですね。&lt;br /&gt;
自分が移行した理由を書こうと思います。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;snipMateはもちろん便利ですが、&lt;br /&gt;
難点のひとつに、&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;「&lt;b&gt;補完出力名&lt;/b&gt;(以下snippet名)」&lt;/span&gt;を覚えておかなくてはいけません。&lt;br /&gt;
&lt;br /&gt;
if else 構文を打つなら&amp;nbsp;&lt;b&gt;「&lt;i&gt;ifelse&lt;/i&gt;&lt;/b&gt;&lt;tab&gt;&lt;b&gt;」&amp;nbsp;&lt;/b&gt;といった感じに打たないとsnippetは機能しないでしょう。&lt;br /&gt;
単純なsnippet名ならいざしらず、組み込み関数のsnippet名や独自snippet名を&lt;br /&gt;
全て覚えることは至難の業でしょう。&lt;br /&gt;
（っとゆーかそんなまどろっこしいことしてたらきっとsnippet嫌になります。&lt;br /&gt;
&lt;br /&gt;
neocomplcache(+snippet complete)でこれを解決する手段として、&lt;br /&gt;
ネオコンのメイン機能である自動補完が便利です。&lt;br /&gt;
&lt;br /&gt;
snippet名があやふやでも途中まで入力すれば補完出力候補にsnippet候補も出てくれます。&lt;br /&gt;
(let g:neocomplcache_enable_at_startup = 1 をvimrcに記述する必要あり)&lt;br /&gt;
&lt;br /&gt;
候補名には&amp;lt;Snip&amp;gt;&lt;snip&gt;と書かれてsnippet候補だということが&lt;b&gt;一目瞭然&lt;/b&gt;ですね。&lt;br /&gt;
&lt;br /&gt;
&lt;tab&gt;&lt;tab&gt;&lt;snip&gt;&lt;snip&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMfExf3CeOnOOc53J-mUwMwigYNw33g9SMgNFHh-tEalqubFK5hM2L-rbzrqjOzQkm5UeRVAFr6ArP3B3F5dF6-Tn82cKxJj5l23q27imS2TpcykV-nuDgXxf2TacxLwL_Fh2mLs6xuWe1/s1600/%25E7%25AF%2584%25E5%259B%25B2%25E3%2582%2592%25E9%2581%25B8%25E6%258A%259E_002.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;75&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMfExf3CeOnOOc53J-mUwMwigYNw33g9SMgNFHh-tEalqubFK5hM2L-rbzrqjOzQkm5UeRVAFr6ArP3B3F5dF6-Tn82cKxJj5l23q27imS2TpcykV-nuDgXxf2TacxLwL_Fh2mLs6xuWe1/s400/%25E7%25AF%2584%25E5%259B%25B2%25E3%2582%2592%25E9%2581%25B8%25E6%258A%259E_002.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
そしてもう一つの強力なアプローチとして、&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;unite.vim連携&amp;nbsp;&lt;/span&gt;&lt;/b&gt;があります。&lt;br /&gt;
neocomplcache snippetにはunite sourceも書かれていて、snippetをより活用できます。&lt;br /&gt;
(neocomplcache-unite-source-snippet)&lt;br /&gt;
&lt;br /&gt;
コマンドラインモードで&lt;i&gt;&lt;b&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;:Unite snippet&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/i&gt;と入力してみると、&lt;br /&gt;
filetypeに合わせたsnippet候補一覧が現れます。&lt;br /&gt;
ここで候補から選択し&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Enter&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/snip&gt;&lt;/snip&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/snip&gt;&lt;/tab&gt;&lt;tab&gt;&lt;snip&gt;&lt;tab&gt;&lt;tab&gt;&lt;snip&gt;&lt;snip&gt;を押すと自動的にsnippetが展開してくれます。&lt;br /&gt;
&lt;/snip&gt;&lt;/snip&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/snip&gt;&lt;/tab&gt;&lt;br /&gt;
&lt;tab&gt;&lt;snip&gt;&lt;tab&gt;&lt;tab&gt;&lt;snip&gt;&lt;snip&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmEeH99FgNCS705XcU04uogw85mzm_EOf3XjjFPFfsCeK7OEKE2WClEPeRV70OpbRJWvIz3NoetUXh0hPdGQVc2yfmFMb1v0_wt5eCWIyJrjFHpOgq-XUYFsuoGIsVhZ_dFTTMFpbjEB1q/s1600/%25E7%25AF%2584%25E5%259B%25B2%25E3%2582%2592%25E9%2581%25B8%25E6%258A%259E_002.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;135&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmEeH99FgNCS705XcU04uogw85mzm_EOf3XjjFPFfsCeK7OEKE2WClEPeRV70OpbRJWvIz3NoetUXh0hPdGQVc2yfmFMb1v0_wt5eCWIyJrjFHpOgq-XUYFsuoGIsVhZ_dFTTMFpbjEB1q/s400/%25E7%25AF%2584%25E5%259B%25B2%25E3%2582%2592%25E9%2581%25B8%25E6%258A%259E_002.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/snip&gt;&lt;/snip&gt;&lt;/tab&gt;&lt;/tab&gt;&lt;/snip&gt;&lt;/tab&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;br /&gt;
&lt;i&gt;Enter&lt;/i&gt;でなく&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;e&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;を押すと定義されているsnippetファイルに飛び直接編集ができ、(edit)&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;p&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;を押すとプレビューアクションで展開されるコードを予め見ることができます。(preview)&lt;br /&gt;
&lt;i&gt;&amp;lt;Tab&amp;gt;&lt;/i&gt;キーで他の&lt;b&gt;unite action&lt;/b&gt;を選択することも勿論できます。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;:Unite snippet&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;は予め.vimrcにマッピングしておくとより恩恵を受けられるでしょう。&lt;br /&gt;
imap &amp;lt;C-s&amp;gt;&amp;nbsp;&lt;c-s&gt;&amp;nbsp;&amp;lt;Plug&amp;gt;&lt;plug&gt;(neocomplcache_start_unite_snippet)&lt;br /&gt;
&lt;br /&gt;
上記のようにマッピングしたとすると、インサートモード中に&amp;lt;C-s&amp;gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;(Ctrl + s)を押すと&lt;br /&gt;
&lt;i&gt;&lt;b&gt;:Unite snippet&amp;nbsp;&lt;/b&gt;&lt;/i&gt;と同じ動作が起きます。&lt;br /&gt;
&lt;br /&gt;
またこれはunite.vim全般のお話ですが、&lt;br /&gt;
&lt;b&gt;&lt;i&gt;:Unite hogehoge &amp;nbsp;&lt;/i&gt;&lt;/b&gt;でunite sourceを開いているときにインサートモードに移り文字を入力すると、&lt;b&gt;入力された文字で候補検索が抽出&lt;/b&gt;されます。&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt; (最初からインサートモードでuniteを開く設定もできます)&lt;br /&gt;
&lt;br /&gt;
&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAgqIwxpdsm87LNgnghCe0fXDHcUEWtiArU-v0YwOvhmpchj27cyxp2YWmuOUbSoqpYrJvzCO6eJLr2XElZiWCgou0hGqHeJUsAV54f-sXI45TIOrCEzc9Sh_fvXmIhdhR6wrNgoBuwKOr/s1600/%25E7%25AF%2584%25E5%259B%25B2%25E3%2582%2592%25E9%2581%25B8%25E6%258A%259E_002.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;103&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAgqIwxpdsm87LNgnghCe0fXDHcUEWtiArU-v0YwOvhmpchj27cyxp2YWmuOUbSoqpYrJvzCO6eJLr2XElZiWCgou0hGqHeJUsAV54f-sXI45TIOrCEzc9Sh_fvXmIhdhR6wrNgoBuwKOr/s400/%25E7%25AF%2584%25E5%259B%25B2%25E3%2582%2592%25E9%2581%25B8%25E6%258A%259E_002.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;「おりゃ自動補完は好かね! 尊敬してるエンジニアが自動補完使ってねぇから俺も使わね」&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
なんていかにも的なアイデンティティーをお持ちの方にもこれは有力な手段ですね。&lt;br /&gt;
（小バカにしてるわけではないです。自分も使う前はそうだったんでw&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
最近のSnipMateの動向は追ってませんが、&lt;b&gt;unite連携は非常に強力です。&lt;/b&gt;&lt;br /&gt;
他Pluginを入れる際の検討材料にもなるでしょう。&lt;br /&gt;
&lt;br /&gt;
neocomplecacheのhelpにはSnipMateとの併用の記述もありますが、&lt;br /&gt;
個人的には冗長なので、&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;個別でsnippetを使いたいかたは&lt;i&gt;&lt;b&gt;g:neocomplcache_snippets_dir&lt;/b&gt;&lt;/i&gt;で指定してもいいかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
もしcode snippetをこれから活用していきたい方・SnipMateを使ってるけどsnippet名を&lt;br /&gt;
覚えきれなくて以前の僕と同じ煩わしさを抱えてる方がいたら、&lt;br /&gt;
これを機に&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;unite.vim, neocomplcache + snippet complete&lt;/span&gt;&lt;/b&gt;を導入してみてはいかがでしょうか。&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;&lt;br /&gt;
追記(2011/09/04):&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;　　SnipMateも今は補完機能を有しているようですが、neocomplcacheと競合するようです。 &lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;VL PGothic&#39;; white-space: normal;&quot;&gt;&lt;c-s&gt;&lt;plug&gt;&lt;c-s&gt;　　http://lingr.com/room/vim/archives#message-4683789&lt;br /&gt;
&lt;br /&gt;
NOTE:&lt;/c-s&gt;&lt;/plug&gt;&lt;/c-s&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/neocomplcache&quot; target=&quot;_blank&quot;&gt;GitHub: Shougo/neocomplcache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/unite.vim&quot; target=&quot;_blank&quot;&gt;GitHub: Shougo/unite.vim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nishigori/neocomplcache_phpunit_snippet&quot; target=&quot;_blank&quot;&gt;GitHub: nishigori/neocomplcache_phpunit_snippet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.vim.org/scripts/script.php?script_id=2540&quot; target=&quot;_blank&quot;&gt;Vim.org: snipMate&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/3046334438457695180/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/08/vim-snipmateneocomplcache-snippet.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/3046334438457695180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/3046334438457695180'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/08/vim-snipmateneocomplcache-snippet.html' title='[Vim] SnipMateでなくneocomplcache snippet completeを使うわけ'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMfExf3CeOnOOc53J-mUwMwigYNw33g9SMgNFHh-tEalqubFK5hM2L-rbzrqjOzQkm5UeRVAFr6ArP3B3F5dF6-Tn82cKxJj5l23q27imS2TpcykV-nuDgXxf2TacxLwL_Fh2mLs6xuWe1/s72-c/%25E7%25AF%2584%25E5%259B%25B2%25E3%2582%2592%25E9%2581%25B8%25E6%258A%259E_002.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-7430057916944984839</id><published>2011-08-23T14:56:00.006+09:00</published><updated>2014-01-04T23:59:57.448+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="Vim"/><title type='text'>neocomplcache phpunit snippetつくった &amp; TDDBC 1.7 LT内容補足</title><content type='html'>先のエントリで書いた&lt;a href=&quot;http://www.blogger.com/&quot; target=&quot;_blank&quot;&gt;&lt;span id=&quot;goog_464313627&quot;&gt;TDDBC 1.7 Tokyo for PHP&lt;/span&gt;&lt;/a&gt; でやらせていただいたLTですが、&lt;br /&gt;
実は初LTだった為何をしゃべっていたのかかなりうろ覚え状態。&lt;br /&gt;
&lt;br /&gt;
と、いうわけでここで少し補足説明をかねて書こうと思います。&lt;br /&gt;
&lt;br /&gt;
LTで使用したスライド&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder=&quot;0&quot; height=&quot;355&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/8948643&quot; width=&quot;425&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
今回はTDD、とくにテストコード記述に関してフォーカスしたVimの設定や&lt;br /&gt;
普段TDDに絡まったVim Pluginsの紹介をしました。&lt;br /&gt;
そしてもうすぐ発売をされる&quot;Vim テクニックバイブル&quot;ですね！！&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime; font-size: large;&quot;&gt;LTをやろうと思ったきっかけ&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Vim普及が一番の理由ではありますが、中でも&lt;u&gt;Vimmerのレベル底上げ&lt;/u&gt;が目的でした。&lt;br /&gt;
自分はおそらく中級者的な立ち位置にいると思いますが、&lt;br /&gt;
PHPerの中にはまだまだ&lt;a href=&quot;https://github.com/Shougo/unite.vim&quot; target=&quot;_blank&quot;&gt;unite.vim&lt;/a&gt;や&lt;a href=&quot;https://github.com/Shougo/neocomplcache&quot; target=&quot;_blank&quot;&gt;neocomplcache&lt;/a&gt;を入れてない方々が多いと日々感じることが多かったのです。&lt;br /&gt;
そしてVim勉強会ではunite.vim等を使っている当たり前状態であったのも格差が広がっているなと感じていました。&lt;br /&gt;
&lt;br /&gt;
そこでVim テクニックバイブルでも紹介されるunite.vim, neocomplcache, vim-quickrun等を&lt;br /&gt;
ライブコーディング形式で紹介すればイメージもつきやすくVim Levelを向上したいと思うきっかけに&lt;br /&gt;
なってくれるかなと思った次第です。&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime; font-size: large;&quot;&gt;&lt;b&gt;ライブコーディングでやってたこと&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;あらかじめunite bookmark addで操作するディレクトリをブックマーク。&lt;/li&gt;
&lt;li&gt;vimshellでちょこちょこ。&lt;/li&gt;
&lt;li&gt;unite buffer でファイル選択、&lt;tab&gt;キーを押してsplit actionを選択。&lt;/tab&gt;&lt;/li&gt;
&lt;li&gt;&lt;tab&gt;neocomplcacheでphpunit用のsnippet候補選択。(assertSame()とかsnippet出力させたかな)&lt;/tab&gt;&lt;/li&gt;
&lt;li&gt;&lt;tab&gt;&amp;lt;Leader&amp;gt;r&amp;nbsp;&lt;/tab&gt;でvim-quickrun発動。PHPUnitの結果をquickrun bufferに出力。&lt;/li&gt;
&lt;li&gt;git-vimでgvim上でgit add, git commitを実行。&lt;/li&gt;
&lt;li&gt;&amp;lt;Plug&amp;gt;(neocomplcache_snippets_expand)でphpunitのsnippetを選択、edit actionで手軽にsnippetを編集。&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #6aa84f;&quot;&gt;8/23 15:15 追記： 最後の項目について。&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #6aa84f;&quot;&gt;&amp;lt;Plug&amp;gt;(neocomplcache_snippets_expand)は私はvimrcにマッピングを記述しています。&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #6aa84f;&quot;&gt;何やったかの便宜上そう記述しました。何その&amp;lt;Plug(ry って方はneocomplcacheのdocsを拝見あれ。&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #6aa84f;&quot;&gt;また&amp;lt;Tab&amp;gt;キー後のedit actionを選択せずとも候補一覧時にeを押すだけでedit actoin選択された状態になります。&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #6aa84f;&quot;&gt;追記の時間まで書いているのはそれらを早速Shougoさんに指摘していただけたのでw&lt;/span&gt;&lt;br /&gt;
&lt;tab&gt;&lt;leader&gt;&lt;plug&gt; &lt;br /&gt;
あと自分は以前snipetにはsnipMateを使用していて&lt;/plug&gt;&lt;/leader&gt;&lt;/tab&gt;&lt;tab&gt;&lt;leader&gt;&lt;plug&gt; PHPUnit用のsnippetを書きつつneocomplcache同梱のsnippets completeに完全に乗り換えるいい機会だと思ったわけです。&lt;/plug&gt;&lt;/leader&gt;&lt;/tab&gt;&lt;br /&gt;
&lt;tab&gt;&lt;leader&gt;&lt;plug&gt;snipMateはunite化されていないということも乗り換えるべき理由のひとつでした。&lt;br /&gt;
&lt;br /&gt;
neocomplcache用のPHPUnit snippetはこちらに置いてあります。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/nishigori/neocomplcache_phpunit_snippet&quot;&gt; https://github.com/nishigori/neocomplcache_phpunit_snippet&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
まだPHPUnit_FrameWork_Contraintクラスのメソッド等のsnippetは書けていないですが、&lt;br /&gt;
PHPUnit 3.5のannotations, fixtures, assertionsはあるので基本的なテストコードはsnippet利用できるはずです。&lt;br /&gt;
&lt;/plug&gt;&lt;/leader&gt;&lt;/tab&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;tab&gt;&lt;leader&gt;&lt;plug&gt;&lt;br /&gt;
&lt;/plug&gt;&lt;/leader&gt;&lt;/tab&gt;&lt;br /&gt;
&lt;tab&gt;&lt;leader&gt;&lt;plug&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime; font-size: large;&quot;&gt;導入方法&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/plug&gt;&lt;/leader&gt;&lt;/tab&gt;&lt;br /&gt;
&lt;tab&gt;&lt;leader&gt;&lt;plug&gt;github上fileのREADMEにも記述されていますが、&lt;br /&gt;
Vimにはphpunitというfiletypeは存在しません。&lt;br /&gt;
かと言ってphp filetypeのsnippet候補に出力されるのも冗長でしょう。&lt;br /&gt;
以下のコードでTest.phpで終わるファイル名はfiletype php.phpunitを定義してしまいましょう。&lt;br /&gt;
&lt;/plug&gt;&lt;/leader&gt;&lt;/tab&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;augroup PHPUnitFileType
  autocmd!
  autocmd BufWinEnter,BufNewFile *Test.php set filetype=php.phpunit
augroup END
&lt;/pre&gt;&lt;br /&gt;
ちなみにライブコーディング中でも行っていたvim-quickrunでPHPUnitを実行する方法ですが、&lt;br /&gt;
以下のエントリと同じ形式で行いました。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://d.hatena.ne.jp/ruedap/20110225/vim_php_phpunit_quickrun&quot; target=&quot;_blank&quot;&gt;VimでPHPUnitをQuickRunする ~ アインシュタインの電話番号&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Stagehand_Testrunnerでは以下が参考になります。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://d.hatena.ne.jp/heavenshell/20110226/1298707441&quot; target=&quot;_blank&quot;&gt;[PHP][Vim] Stagehand_Testrunner を quickrun する ~ Heavens hell&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
vim-quickrun&lt;br /&gt;
&lt;a href=&quot;https://github.com/thinca/vim-quickrun&quot; target=&quot;_blank&quot;&gt;github&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
上に書かれていたfiletype定義と私のコードの違いがありますね。&lt;br /&gt;
set filetypeを php.unit にしているのに対し、私のは php.phpunit としています。&lt;br /&gt;
php. というのは php filetype を定義しており、これでfiletype PHPのsyntax等利用できます。&lt;br /&gt;
.以降のunitとphpunitの違いですが、unitですとftpluginで定義するファイル名や作成したsnippetファイル名をunit.vim、unit.snipにする必要があり&lt;br /&gt;
これは他のxUnit(PyUnit, JSUnit)用プラグインを今後使用していくことを考えるとfailtypeとして適切でないなと判断したためです。&lt;br /&gt;
&lt;br /&gt;
もちろん私のサンプルコードを利用してvim-quickrunでPHPUnitを叩く場合は&lt;br /&gt;
適時php.unitの部分をphp.phpunitにしてください。&lt;br /&gt;
（もしくはphpunit.snipを改名する方法もありますww）&lt;br /&gt;
&lt;br /&gt;
githubのコードでphpunit snippetのdirectoryがneocomplcacheのsnippet filesと一緒なのは&lt;br /&gt;
plugin managerを利用している方が楽に導入できる為です。&lt;br /&gt;
VimのPlugin manager？ なんじゃそりゃって方はVim-users.jpの以下のエントリを参考に導入してみてください。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://vim-users.jp/2010/11/hack183-2/&quot; target=&quot;_blank&quot;&gt;Hack #183: Vim日本語ドキュメントを更新しよう ~ pathogen.vimでアップデートを楽にする&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://vim-users.jp/2011/04/hack215/&quot; target=&quot;_blank&quot;&gt;Hack #215: Vundle で plugin をモダンに管理する&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
イベント中のペアプロ中や休憩中に色々と質問をいただき、&lt;br /&gt;
思った以上に皆さんVimに関心を持っていただき非常に嬉しかったです。&lt;br /&gt;
ライブコーディング中に「ん？今何をやったんだ？」的なセリフがあった気がしますが&lt;br /&gt;
是非発売されるVim テクニックバイブルを手に入れてください。&lt;br /&gt;
全て書籍に書いてあります！&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;（と思います）&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.amazon.co.jp/dp/4774147958&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.amazon.co.jp/dp/4774147958&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://vim-users.jp/wp-content/uploads/vim_cover.jpg&quot; width=&quot;260&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
また、著者のひとりでありunite.vim, neocomplcacheの作者であるShougoさんが&lt;a href=&quot;http://vim-users.jp/2011/08/vim-technic-bible-shougo/&quot; target=&quot;_blank&quot;&gt;Vim-users.jp&lt;/a&gt;に書かれている通り、&lt;br /&gt;
Vim テクニックバイブルは早めの購入をお薦めします。&lt;br /&gt;
&lt;br /&gt;
理由は他の書籍情報と同じく、情報は常に先に進んでいくことによる書籍情報の遅れは否めないためです。&lt;br /&gt;
幸いにして著名なVim Pluginsはdocumentが非常に丁寧に書かれています。&lt;br /&gt;
&lt;br /&gt;
Vim テクニックバイブルが発売されると、ふと生まれた疑問を作者に質問投げまくり、なんて状況がおそらく生まれるでしょう。&lt;br /&gt;
そのような負担を減らす為にも、利用する側はdocumentを読み解決できるところは自分で解決させていきたいですね！&lt;br /&gt;
LTでneocomplcacheやunite.vimの深い説明をしませんでしたが、是非documentを拝見ください。docs見るだけで驚愕モンですw&lt;br /&gt;
&lt;br /&gt;
あとはLTでお話しさせていただいた通り、&lt;a href=&quot;http://vim-users.jp/category/vim-hacks/&quot; target=&quot;_blank&quot;&gt;Vim-users.jpのHacks&lt;/a&gt;や&lt;a href=&quot;http://lingr.com/&quot; target=&quot;_blank&quot;&gt;Lingr&lt;/a&gt;のVim部屋を日々訪れるのも十分なVim Levelアップになると思われます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
今回紹介した人気なVim Pluginを使った操作はほんの一例です。&lt;br /&gt;
(ライブコーディング中ではvimshellで色々やってましたが、vimfiler使ったほうが楽であったり！とか)&lt;br /&gt;
紹介したPluginでもまだまだたくさんの操作ができますので、是非導入し実践してみてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt;今後の@_nishigoriのVim的活動予定&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
・需要があったらref.vimのphpunit manual版つくる、かも。&lt;br /&gt;
・何かunite化したPluginつくりたい。&lt;br /&gt;
・Vim テクニックバイブル著者にサインをねだる。</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/7430057916944984839/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/08/neocomplcache-phpunit-snippet-tddbc-17.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/7430057916944984839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/7430057916944984839'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/08/neocomplcache-phpunit-snippet-tddbc-17.html' title='neocomplcache phpunit snippetつくった &amp; TDDBC 1.7 LT内容補足'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-1831355225182432676</id><published>2011-08-23T13:19:00.006+09:00</published><updated>2014-01-04T23:59:43.656+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><title type='text'>TDDBC 1.7 Tokyo for PHP #tddbc が開催されました</title><content type='html'>最近人気を博しているTDD BootCampの&lt;a href=&quot;http://atnd.org/events/18430&quot; target=&quot;_blank&quot;&gt;1.7 for PHP&lt;/a&gt; が開催されました。&lt;br /&gt;
自分はスタッフ側として今回参加させていただきました。&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
なお、Live Ustもありましたが、&lt;br /&gt;
後日&lt;a href=&quot;https://twitter.com/#!/brtriver&quot; target=&quot;_blank&quot;&gt;@brtriver&lt;/a&gt;氏によって再あｐされるようです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;和田卓人さん(@t_wada)の基調講演&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
日本のTDD先駆者である&lt;a href=&quot;https://twitter.com/#!/t_wada&quot; target=&quot;_blank&quot;&gt;@t_wada&lt;/a&gt;氏にお越しいただき、&lt;br /&gt;
講演していただきました。&lt;br /&gt;
&lt;br /&gt;
過去の講演でお話された内容のおさらいや、&lt;br /&gt;
各地域によるTDDBCの特徴性(やはり関東はJava, PHPが多い等)のお話もされたりと、&lt;br /&gt;
現場で聞くことによる収穫も多かったです。&lt;br /&gt;
&lt;br /&gt;
特に印象に残っているのは「テスト」という言葉の乱立、です。&lt;br /&gt;
DeveloperTesting, CustomerTesting, QATesting。&lt;br /&gt;
どれも立ち位置が違いこれらの概要とTDDはどの位置にいるか、&lt;br /&gt;
単体テストとユニットテストの違い等きのこ本にまつわったお話もされていました。&lt;br /&gt;
&lt;br /&gt;
自身の属する組織でTDDを導入していこうと思った中で&lt;br /&gt;
言葉の正確さはレクチャーする側で非常に重要になってくると思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;LightningTalk&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;「Stagehand_TestRunner やってみた」&lt;/b&gt; By &lt;a href=&quot;https://twitter.com/#!/gilbite&quot; target=&quot;_blank&quot;&gt;@gilbite&lt;/a&gt;氏&lt;br /&gt;
&lt;br /&gt;
PHPのテスト実行に特化したPiece Framework&quot;Stagehand_TestRunner&quot;を実際に動かしてみての感想等をトークされました。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/madapaja/git-8931165&quot; target=&quot;_blank&quot;&gt;「Gitのおさらい」&lt;/a&gt;&lt;/b&gt; By &lt;a href=&quot;https://twitter.com/#!/madapaja&quot; target=&quot;_blank&quot;&gt;@madapaja&lt;/a&gt;氏&lt;br /&gt;
&lt;br /&gt;
推しメンDBはMongoDBとPHP界隈でも有名な@madapaja氏がGitについて丁寧におさらいしてくださいました。&lt;br /&gt;
とくにGitのオブジェクトの扱いについて熱弁しページ総数も99ページあり素晴らしかったです。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/nishigori/tdd-vim-8948643&quot; target=&quot;_blank&quot;&gt;「PHPerの為のVim TDD環境入門」&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
これは自分のLTです。内容と補足は別途エントリしたいと思っています。&lt;br /&gt;
Vimを使っている方や使い始めた方も多く、意外と反応が良くって嬉しかったです。&lt;br /&gt;
道具は大切。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/ShiroKappa/ss-8959336&quot; target=&quot;_blank&quot;&gt;「奇跡を軌跡に変える ～継続可能な開発へTDDから～」&lt;/a&gt;&lt;/b&gt; By &lt;a href=&quot;https://twitter.com/#!/gilbite&quot; target=&quot;_blank&quot;&gt;@ShiroKappa&lt;/a&gt;氏&lt;br /&gt;
&lt;br /&gt;
自律/協働/実践。@t_wada氏の基調講演を振り返る形の内容がたくさんありました。&lt;br /&gt;
何よりも起承転結がはっきりしていて思わず吹いてしまう話し方やスライドは圧巻でした。&lt;br /&gt;
そうした場を和ませつつ意識を内容に向けさせる手段は見習いたいと思いました。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;デモ&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
主催&lt;a href=&quot;https://twitter.com/#!/shishi4tw&quot; target=&quot;_blank&quot;&gt;@shishi4tw&lt;/a&gt;氏によるTDDへの心得と、@t_wada氏とのFizzBuzzペアプロの実演でした。&lt;br /&gt;
実はTDDBCはいつも満員御礼で参加できなかった為、人のペアプロを初めて観たのですが&lt;br /&gt;
やはり他者の視点は非常に議論されるべき指摘も多かったと感じました。&lt;br /&gt;
(FizzとBuzzはくっつくけて表示がいい等、個人でやっていたら気にも止めない部分もペアプロでは&lt;br /&gt;
有意義に議論でき、そういった部分も話し合ってほしいと@t_wada氏も仰っていました。)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Let&#39;s Pear Programming &amp;amp; Review&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
参加者内でテスト経験者、未経験者でペアを組みお題に沿ってペアプロしていき、&lt;br /&gt;
その後全体でコードレビューを行いました。&lt;br /&gt;
&lt;br /&gt;
お題　1問目  &lt;a href=&quot;http://www.evernote.com/shard/s12/sh/619a7c33-8053-457c-a74f-33929fde3b7b/78b926969916eceb05dbe8ca1b2f68b8&quot; target=&quot;_blank&quot;&gt;WikiEngineのパース機能&lt;/a&gt;&lt;br /&gt;
お題　2問目  &lt;a href=&quot;http://www.evernote.com/shard/s12/sh/0e2c8358-8ec6-4f02-8802-188dde445836/a67fa9a0df967526ce8f0474ec704d2b&quot; target=&quot;_blank&quot;&gt;○mazonカート&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
業務でペアプロしたことはあってもTDDでのペアプロは未経験だったので非常に今後の糧になりました。&lt;br /&gt;
相手の方と自分の抱える不安点が違うので、テストコードの実装も討論してお互い納得したコードを記述していき、&lt;br /&gt;
またtypo等も素早く発見・修正できるのもペアプロの利点のひとつですね。&lt;br /&gt;
&lt;br /&gt;
またコードレビューで披露されたテストコードも十人十色。&lt;br /&gt;
他の方はこう考えていたのかと、@t_wada氏の補足説明もあって、参加したからこその収穫が大きかったです。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;応用講演&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
ペアプロ後は@t_wada氏による応用講演。&lt;br /&gt;
やってみた、だけでなく実践に移すためのHow toをお話しいただきました。&lt;br /&gt;
レガシーコード改善ガイド、データベース・リファクタリング、xUnit TEST PATTERNS、GOOS本(Growing Object-Oriened)&lt;br /&gt;
といったTDD本以外の書籍紹介もされました。&lt;br /&gt;
早く読んで実践・布教側に回りたいものです。。。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;ふりかえり&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
アジャイル開発手法でも紹介されているKPT(Keep, Problem, Try)を&lt;br /&gt;
ぺたぺた貼れる紙（失念w)で皆さんで書きホワイトボードにまとめました。&lt;br /&gt;
Tryだけ抜粋すると、皆さんテストにより注力していきたい記述が多く、この瞬間が参加できて良かったと一番実感しましたね。&lt;br /&gt;
レビュー、ふりかえり大切!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;懇談会&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
イベント終了後は某やきとり屋さんで懇談会を行いました。&lt;br /&gt;
やはりPHPerの人が集まっているのでPHPによるテスト回りの話が大いに盛り上がりました！&lt;br /&gt;
懇談会でしか話せない内容もあるというもの。&lt;br /&gt;
イベントに参加したなら懇談会参加はしたほうがいいですね。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
。。。と全日程を終えて、感じた事は非常に多く。&lt;br /&gt;
お題考案や開催に向けて@shishi4tw氏に多大!なるご迷惑をおかけしていたのですが、&lt;br /&gt;
それでも辛抱強く粘り待ちしていただいたことに感謝です。&lt;br /&gt;
次の機会があればリベンジは必須だなこりゃって開催前から思うこと多々。。。&lt;br /&gt;
&lt;br /&gt;
帰り道は@t_wada氏と少し一緒だったのですが、&lt;br /&gt;
講演中にも仰っていたのですが、以前のTDDBCでの重複部分があることは本人にとって負担であると思われ&lt;br /&gt;
@t_wada氏の次のステップへの意気込みをうかがえました。&lt;br /&gt;
今後もTDDBCはどんどん開催されていくと思われます。&lt;br /&gt;
自分も早く支える側に回れるよう尽力したいと思った日になりました。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;最後に&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
主催の&lt;a href=&quot;https://twitter.com/#!/shishi4tw&quot; target=&quot;_blank&quot;&gt;@shishi4tw&lt;/a&gt;氏、&lt;br /&gt;
講演いただいた@t_wada氏、&lt;br /&gt;
一緒にスタッフとして裏手役に回っていただいた&lt;a href=&quot;https://twitter.com/#!/ShiroKappa&quot; target=&quot;_blank&quot;&gt;@ShiroKappa&lt;/a&gt;氏、&lt;a href=&quot;https://twitter.com/#!/NEKOGET&quot; target=&quot;_blank&quot;&gt;@NEKOGET&lt;/a&gt;氏、@&lt;a href=&quot;https://twitter.com/#!/brtriver&quot; target=&quot;_blank&quot;&gt;brtriver&lt;/a&gt;氏、@&lt;a href=&quot;https://twitter.com/#!/gilbite&quot; target=&quot;_blank&quot;&gt;gilbite&lt;/a&gt;氏、&lt;br /&gt;
会場提供をしていただいた&lt;a href=&quot;https://twitter.com/#!/n416&quot; target=&quot;_blank&quot;&gt;@n416&lt;/a&gt;氏率いる株式会社タイレルシステムズ様、&lt;br /&gt;
参加していただきました多くの方々、&lt;br /&gt;
&lt;br /&gt;
皆様と一緒に&lt;a href=&quot;http://atnd.org/events/18430&quot; target=&quot;_blank&quot;&gt;TDDBC 1.7 Tokyo for PHP&lt;/a&gt;をできて非常に充実した勉強会となりました。&lt;br /&gt;
有難うございます！！&lt;br /&gt;
&lt;br /&gt;
参加された皆様のブログ・トゥゲッターetc ...&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, arial, helvetica, clean, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;font-size: 20px; font-weight: bold; letter-spacing: -0.01em; line-height: 1.1; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;a class=&quot;info_title&quot; href=&quot;http://togetter.com/li/177659&quot; style=&quot;color: #ff8838; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot; target=&quot;_blank&quot; title=&quot;TDD Boot Camp Tokyo 1.7 for PHP&quot;&gt;TDD Boot Camp Tokyo 1.7 for PHP&lt;/a&gt;&lt;/h3&gt;&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;h3 style=&quot;font-size: 20px; font-weight: bold; letter-spacing: -0.01em; line-height: 1.1; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;a class=&quot;info_title&quot; href=&quot;http://togetter.com/li/177662&quot; style=&quot;color: #ff8838; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot; target=&quot;_blank&quot; title=&quot;TDDBC Tokyo 1.7 for PHP #tddbc まとめ&quot;&gt;TDDBC Tokyo 1.7 for PHP #tddbc まとめ&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 21px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 class=&quot;post-title entry-title&quot; style=&quot;color: #d52932; font: normal normal bold 24px/normal Arial, Tahoma, Helvetica, FreeSans, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; position: relative;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 21px;&quot;&gt;&lt;a href=&quot;http://shishithefool.blogspot.com/2011/08/tddbc-tokyo-17-for-php.html&quot; style=&quot;color: #d8545c; font: normal normal bold 24px/normal Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-decoration: underline;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;TDDBC Tokyo 1.7 for PHP を開催しました&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 21px;&quot;&gt;&lt;a href=&quot;http://d.hatena.ne.jp/lettas0726/20110821/1313939975&quot; style=&quot;color: #d8545c; text-decoration: underline;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;TDDBC Tokyo 1.7 for PHP #tddbc に行ってきました&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #333333; color: white; font-family: メイリオ, Meiryo, verdana, Osaka, &#39;ＭＳ Ｐゴシック&#39;, &#39;MS PGothic&#39;, sans-serif; font-size: 14px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3 style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://labs.uechoco.com/blog/wp-content/themes/bloweb-20/images/h-l.gif); background-origin: initial; background-position: 50% 100%; background-repeat: repeat no-repeat; color: #fefbdd; font-size: 1.41em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;a href=&quot;http://labs.uechoco.com/blog/2011/08/php-tddbc-tokyo-1-7-for-php-attended.html&quot; style=&quot;color: #fefbdd; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot; title=&quot;[php]TDDBC Tokyo 1.7 for phpに参加してきた&quot;&gt;[php]TDDBC Tokyo 1.7 for phpに参加してきた&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;div style=&quot;font-family: &#39;VL PGothic&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;PHPは9,10月も大イベント目白押しですね。&lt;/div&gt;&lt;div style=&quot;font-family: &#39;VL PGothic&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;一緒に業界を盛り上げられるよう私も頑張っていこうと思います :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/1831355225182432676/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/08/tddbc-17-tokyo-for-php-tddbc.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/1831355225182432676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/1831355225182432676'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/08/tddbc-17-tokyo-for-php-tddbc.html' title='TDDBC 1.7 Tokyo for PHP #tddbc が開催されました'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-2718317931035174395</id><published>2011-08-09T05:40:00.006+09:00</published><updated>2011-09-06T19:25:38.432+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pyspa"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="温泉"/><title type='text'>#pyspa 参加レポート</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;==========================&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;第9回Python温泉行ってきました。&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;color: blue;&quot;&gt;
&lt;b&gt;==========================&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
どうも、温泉でしっぽりしてきたnishigoriです。&lt;br /&gt;
&lt;br /&gt;
8/5 ~ 8/7 にかけて2泊3日でPyton温泉に行ってきました。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmZ43hvb1kkBRn6eWAGNnnuKXSsvRiek81VFmYFFvDuWVQogyUXxmSW5xHFGNEIl6oXtJAGX1XoRJM7iGZG3ozwTqKYgbnng1wEhwHEai59T_bDUn3oj4NnoS31n-vR80OlbShLeDze4cW/s1600/2011-08-05+19.35.48.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_brank&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmZ43hvb1kkBRn6eWAGNnnuKXSsvRiek81VFmYFFvDuWVQogyUXxmSW5xHFGNEIl6oXtJAGX1XoRJM7iGZG3ozwTqKYgbnng1wEhwHEai59T_bDUn3oj4NnoS31n-vR80OlbShLeDze4cW/s320/2011-08-05+19.35.48.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;color: blue;&quot;&gt;
::&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;color: red;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; `第9回Python温泉&amp;lt;&lt;a href=&quot;http://d.hatena.ne.jp/Voluntas/20110530/1306766741&quot; target=&quot;_brank&quot;&gt;http://d.hatena.ne.jp/Voluntas/20110530/1306766741&lt;/a&gt;&amp;gt;`_&lt;/div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; `旅館 芳泉閣&amp;lt;&lt;/span&gt;&lt;a href=&quot;http://housenkaku.atami-spa.com/&quot; style=&quot;color: red;&quot; target=&quot;_brank&quot;&gt;http://housenkaku.atami-spa.com/&lt;/a&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;gt;`_&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
参加したきっかけはと言うと、&lt;br /&gt;
その日はログ抽出でスクリプトを書こうとした時PHPがインストされてないサーバだったので&lt;br /&gt;
ちょうど手を出そうとしてたPythonでガリガリ書いてたんです。&lt;br /&gt;
&lt;br /&gt;
次の日、某Shimizukawa先生のRTでPython温泉の存在を知り参加に踏み切りました。&amp;nbsp; &lt;br /&gt;
(残念ながら某先生は参加できなくなってしまったようで残念でしたがw&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Python界隈になんのツテも持ってなく参加させてもらった僕ですが、&lt;br /&gt;
とかく色々と驚かされることが多かった!!&lt;br /&gt;
&lt;br /&gt;
特に印象に残ったものはこんな感じ。&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;**開発やらないで**&lt;/b&gt;は釣りではない!!&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;span style=&quot;color: red;&quot;&gt;他言語を扱うスペシャリスト達が血の流れない戦争を始める&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&quot;開発やらないで&quot;は釣りではない!!&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b style=&quot;color: blue;&quot;&gt;===========================&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
「Python温泉は勉強合宿ではありません」参加する前にこの言葉を目にしたんです。&lt;br /&gt;
&lt;br /&gt;
温泉に１回でも入っておかないと宿主に申し訳が立たないから。。。&lt;br /&gt;
なんて意味での体裁目的の記述とばっかり思ってました。&lt;br /&gt;
そんなことを実際にお話ししたら爆笑されてしまいましたがｗ&lt;br /&gt;
&lt;br /&gt;
参加理由を発表する場がありましたが、&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 「今日は温泉に10回入るのが目標!!」&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 「参加理由をさっきからずっと考えてたんだけど、えーとそ(ry」&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 「Erlangをやりにきた(ｷﾘｯ」&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 「誘われたから」&lt;/b&gt; etc...&lt;br /&gt;
&lt;br /&gt;
なんて理由が飛び交いましたww&lt;br /&gt;
&lt;br /&gt;
どうやら実はHackathonだよなんてオチではなくホントの温泉イベントだったようです。&lt;br /&gt;
(もちろん実際に何かHackしてる方もいましたが&lt;br /&gt;
&lt;br /&gt;
ただそれは僕が勝手に勘違いしただけで告知された趣旨通りだったので&lt;br /&gt;
もちろんイベント的には何の問題もありません！&lt;br /&gt;
&lt;br /&gt;
僕はSphinx触れたかったのでその旨伝えたら&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: #ffd966;&quot;&gt;&quot;Pythonをやりに来た人はずいぶん久しぶり&quot;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
と。。。:0&lt;br /&gt;
&lt;br /&gt;
これもまたPythonと書いてるのにすごいイベントだと、その時は唖然としましたww&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;br /&gt;
他言語を扱うスペシャリスト達が血の流れない戦争を始める&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: blue;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;=============================================&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
Pythonは当然のことながら、他言語を仕事で扱う方々も多かったのですが、&lt;br /&gt;
また会話がPythonイベントとは思えない内容でとても秀逸でした。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 「僕のLispはカッコ外せばホントもうPythonだよ」&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 「実装がアレだったのでJavaで書き直した」&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 「それErlangなら簡単にできるよっっ!」&lt;/b&gt; etc..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
そしてPythonのSimpleHTTPServerを殺してみようというお題が!!&lt;br /&gt;
その場でCommon Lisp製の即興負荷ツールでサーバはお亡くなりになりました。&lt;br /&gt;
&lt;br /&gt;
死因がはっきりせず、どうやらKernel周りが怪しいのではと、&lt;br /&gt;
日付が変わってるがそんなことは全く関係なく一斉にCコードを追っていくことに!!&lt;br /&gt;
（コードは&lt;a href=&quot;http://lxr.linux.no/linux+v3.0/net/ipv4/tcp_ipv4.c#L821&quot; target=&quot;_brank&quot;&gt;ここらへん&lt;/a&gt;とか追ってたり&lt;br /&gt;
&lt;br /&gt;
詳細の実況はtogetterにまとめられています。&lt;br /&gt;
&lt;div style=&quot;color: #f1c232;&quot;&gt;
`&lt;a href=&quot;http://www.blogger.com/togetter%3Chttp://togetter.com/li/171388&quot; target=&quot;_brank&quot;&gt;togetter&amp;lt;http://togetter.com/li/171388&lt;/a&gt;&amp;gt;`_&lt;/div&gt;
もしくはTwitterハッシュタグ #pyspaで検索してください。&lt;br /&gt;
&lt;br /&gt;
次回はMochiwebとか落とす撃墜温泉になるかもしれないとのことwww&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;振り返ってみて&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue; font-size: large;&quot;&gt;============&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
とまぁ驚きの連続ではありましたが、内容は非常に濃かった。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sphinx使いたいと言ったすぐ後に日本ユーザー会会長の渋川先生が話しかけてくださったり、&lt;br /&gt;
ロビーではここでは挙げられないほど色々なネタが飛び交ったり。&lt;br /&gt;
世界的に有名な方には全員拍手で就寝を見送るなんてことも!!&lt;br /&gt;
&lt;br /&gt;
Pythonをやりたいと思ったきっかけを聞かれ今までの経験を少しお話ししたら、&lt;br /&gt;
Vの人はじめ皆さんにいくつか教授いただけたことも非常に嬉しかったです:)&lt;br /&gt;
&lt;br /&gt;
そのひとつが自分でクライアント負荷測定ツールを作ってみるといいとのことで、&lt;br /&gt;
その会話がきっかけで先の撃墜イベントが発生したんですww&lt;br /&gt;
&lt;br /&gt;
次回ではPython使って撃墜イベントで一緒にアタックできればと思います。&lt;br /&gt;
あと将来的にErlangもやりたくなりました。理由は卑猥なのでここには書きません!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
参加されたことのない人は読んで *何だこのイベント* と思うかもしれませんが&lt;br /&gt;
これが他のイベントにはない良さだと参加して感じました。&lt;br /&gt;
&lt;br /&gt;
例えばPHPのイベントだと無論PHPやりにきた人が占めて、&lt;br /&gt;
何かの拍子でKernelが悪さしてるかもしれないと推測されたら、&lt;br /&gt;
そうかもしれないで止まることが多いと思います。&lt;br /&gt;
(そうでない方もいるでしょうが。&lt;br /&gt;
&lt;br /&gt;
今まで参加してきた他イベントが悪いと言っているのではなく、&lt;br /&gt;
つまりはこれは本題から逸れた、になると思います。&lt;br /&gt;
&lt;br /&gt;
その点Python温泉は参加目的が比較的緩い、もとい温泉が目的なので&lt;br /&gt;
起きた問題がPythonでなくとも迷わずそちらに走ることができるのは良いことだなぁと感じました。&lt;br /&gt;
&lt;br /&gt;
先ほどの話でJavaやErlang, Lispが出ましたが、Pythonスキルもずば抜けた方々なので、&lt;br /&gt;
全員がCを読み書きできる点も面白いなと観察してました。&lt;br /&gt;
皆さんおっしゃってましたが、&lt;br /&gt;
禁酒制だからこそ深夜帯でもおっくうなくCコードを読めたのだと。&lt;br /&gt;
&lt;br /&gt;
あとこれは参加してから知ったことですが、&lt;br /&gt;
あのエキPyはPython温泉からはじまったとのこと！&lt;br /&gt;
&lt;br /&gt;
伝統的なイベントですね、サインもしっかりいただきました:p&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKn2vDMy2eazmEccc9d6_00SpXajRhj2LERUJdrq8UJ0p8Ss2HvvjPSIBVVKiBFVcWTiXOPjI4vNQ3kY33jVyS9FjWxQBO4tafRv9GSfVNVXoPcI9-Co4Af4JfUGI1gAu4N9cW41dnrjWj/s1600/2011-08-06+02.07.32.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_brank&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKn2vDMy2eazmEccc9d6_00SpXajRhj2LERUJdrq8UJ0p8Ss2HvvjPSIBVVKiBFVcWTiXOPjI4vNQ3kY33jVyS9FjWxQBO4tafRv9GSfVNVXoPcI9-Co4Af4JfUGI1gAu4N9cW41dnrjWj/s320/2011-08-06+02.07.32.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: black; font-size: large;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;イベント参加したことない方に言うことがあるとすれば&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: blue; font-size: large;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue; font-size: large;&quot;&gt;========================================&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
勉強は独りでもできますが、&lt;br /&gt;
こういったイベントに参加するのも見識を広げるいいチャンスだと思います。&lt;br /&gt;
これからも頑張ろうとエネルギーも貰えますしね！&lt;br /&gt;
&lt;br /&gt;
あと参加希望するなら&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;基本一人で行く&lt;/span&gt;&lt;/b&gt;のがお薦めです。&lt;br /&gt;
知人と行ってしまうとついその人と話すことが増えその場の空気を噛み締められないかもしれません。&lt;br /&gt;
実際知り合い誰もいませんでしたが皆さん暖かく迎え入れてくれました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ちょっと後悔はもう少しPythonやりこんでから参加すればよかったかなと。&lt;br /&gt;
まぁそれは次回に活かそうと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;最後に&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;=====&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
そんなこんなで非常に充実した3日間でした！&lt;br /&gt;
&lt;br /&gt;
主催者の方々はじめ&lt;br /&gt;
参加者の皆様方、&lt;br /&gt;
宿を貸していただいた芳泉閣、&lt;br /&gt;
旅館のヌシ&lt;br /&gt;
&lt;br /&gt;
有難うございました!!&lt;br /&gt;
&lt;br /&gt;
直近のPycon JPには参加ないのですが&lt;br /&gt;
次回開催時や噂のPython忘年会等でまたお会いしましょう！&lt;br /&gt;
&lt;br /&gt;
ちなみに次の参加理由は既に決めてますw&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-size: large;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: lime; font-size: large;&quot;&gt;#pyspaには温泉入りにきました。&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;できるだけロビーに居たいと思ってます&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
..&amp;nbsp;&amp;nbsp; 他の方々のエントリー&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; `&lt;a href=&quot;http://d.hatena.ne.jp/Ehren/20110810/1312992911&quot; target=&quot;_blank&quot;&gt;第9回Python温泉に参加してきた&lt;/a&gt;&amp;lt;http://d.hatena.ne.jp/Ehren/20110810/1312992911&amp;gt;`_&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; `&lt;a href=&quot;http://d.hatena.ne.jp/Voluntas/20110807/1312727253&quot; target=&quot;_blank&quot;&gt;第9回Python温泉を終えて&lt;/a&gt;&amp;lt;http://d.hatena.ne.jp/Voluntas/20110807/1312727253&amp;gt;`_</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/2718317931035174395/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/08/pyspa.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/2718317931035174395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/2718317931035174395'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/08/pyspa.html' title='#pyspa 参加レポート'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmZ43hvb1kkBRn6eWAGNnnuKXSsvRiek81VFmYFFvDuWVQogyUXxmSW5xHFGNEIl6oXtJAGX1XoRJM7iGZG3ozwTqKYgbnng1wEhwHEai59T_bDUn3oj4NnoS31n-vR80OlbShLeDze4cW/s72-c/2011-08-05+19.35.48.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-367134000654841295</id><published>2011-06-05T03:19:00.006+09:00</published><updated>2014-01-05T00:01:20.986+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Symfony2"/><category scheme="http://www.blogger.com/atom/ns#" term="勉強会"/><title type='text'>Symfony2勉強会に行ってきた　〜継続中〜</title><content type='html'>Symfony2勉強会（&lt;a href=&#39;http://atnd.org/events/15562&#39; target=&#39;_brank&#39;&gt;午前の部&lt;/a&gt;・&lt;a href=&#39;http://atnd.org/events/15563&#39; target=&#39;_brank&#39;&gt;午後の部&lt;/a&gt;・&lt;a href=&#39;http://atnd.org/events/15861&#39; target=&#39;_brank&#39;&gt;懇親会&lt;/a&gt;・&lt;a href=&#39;http://atnd.org/events/15881&#39; target=&#39;_brank&#39;&gt;Midnight&lt;/a&gt;）に、行ってきました。&lt;br /&gt;
&lt;br /&gt;
もとい、今は絶賛Symfony2いぢり中ですw&lt;br /&gt;
&lt;br /&gt;
この時間(03:00)で20人弱がHack(?)やSymfonyについて語り合ってるのはすごいww&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;もうメモったり感じたことをそのまんま書いちゃってますが、&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;RedBullウォッカを飲んでる私達をお許しくださいまし&lt;/b&gt;m(__)m&lt;br /&gt;
たまにはこういう殴り書き風も大事だと感じたのでこのままで&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
まともにアンカーすら入れられてないですが、$HOME/.vimperator/pluginに&lt;br /&gt;
&lt;br /&gt;
appendAnchor.jsをいれて:ancを叩いてくださいw&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# 第一部&lt;br /&gt;
&lt;br /&gt;
- SlideShare&lt;br /&gt;
-- http://t.co/F5Hs2XC&lt;br /&gt;
-- http://www.slideshare.net/uechcoco/symfony2-0&lt;br /&gt;
-- http://www.slideshare.net/uechcoco/symfony2-1&lt;br /&gt;
-- http://www.slideshare.net/uechcoco/symfony2-8203902&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+ DIコンテナ&lt;br /&gt;
- lazy load&lt;br /&gt;
+ バンドル（plugin）&lt;br /&gt;
+ Doctrine2&lt;br /&gt;
- ORマッパー&lt;br /&gt;
+ Twig&lt;br /&gt;
- テンプレートエンジン&lt;br /&gt;
+ 名前空間の説明&lt;br /&gt;
+ Dependency Injection(依存性の注入)&lt;br /&gt;
- サンプルコードを交えて説明&lt;br /&gt;
DI containerのメリット&lt;br /&gt;
- lazy load&lt;br /&gt;
- テストしやすい&lt;br /&gt;
- 拡張しやすい&lt;br /&gt;
- chobi_e さんが&lt;a aref=&#39;http://d.hatena.ne.jp/chobi_e/20101102/1288677784&#39; target=&#39;_brank&#39;&gt;Dependency InjectionはPHP5.3になってどう変わったか&lt;/a&gt;日本語で書いてます&lt;br /&gt;
&lt;br /&gt;
# workshop&lt;br /&gt;
Symfony/&lt;br /&gt;
app/ # AppKernel等のアプリケーション用に特化したカーネル等や、autoload(sf2ではrequire_onceを基本的に使わない)&lt;br /&gt;
bin/&lt;br /&gt;
src/&lt;br /&gt;
vendor/&lt;br /&gt;
web/&lt;br /&gt;
&lt;br /&gt;
バンドルの作成&lt;br /&gt;
1. app/consoleコマンドでバンドル雛形を作成。&lt;br /&gt;
% pwd /var/www/Symfony/&lt;br /&gt;
$command_text = &lt;&lt;&lt;EOD:
takuya % php ./console init:bundle &quot;My\WorkshopBundle&quot; src
Summary of actions
- The bundle &quot;MyWorkshopBundle&quot; was created at &quot;src/My/WorkshopBundle&quot; and is using the namespace &quot;My\WorkshopBundle&quot;.
- The bundle contains a sample controller, a sample template and a sample routing file.

Follow-up actions
- Enable the bundle inside the AppKernel::registerBundles() method.
      Resource: http://symfony.com/doc/2.0/book/page_creation.html#create-the-bundle
- Ensure that the namespace is registered with the autoloader.
      Resource: http://symfony.com/doc/2.0/book/page_creation.html#autoloading-introduction-sidebar
- If using routing, import the bundle&#39;s routing resource.
      Resource: http://symfony.com/doc/2.0/book/routing.html#including-external-routing-resources
- Starting building your bundle!
      Resource: http://symfony.com/doc/2.0/book/page_creation.html#the-hello-symfony-page
EOD;

        2. 名前空間の登録(app/autoload.php)
        3. AppKernelへの登録(app/AppKernel.php)
        4. ルーティングの登録
        5. src/My/WorkshopBundle/Resources/config/routing.yml

        Twig構文
        {{ ... }}
            - 値や四季の結果をテンプレートに出力するため
        {{% ... %}}
            - 何かのロジックを記述(if, while etc...)
        {{# ... #}}
            - コメントアウト（複数行で可能らしい）

        ## 紹介だけ
            base.html.twig
            {% extends  &#39;hoge&#39; %}
            {% block &#39;hoge&#39; %}
            {% parent() %}

# 第二部

* Symfony + Behat (Bandle) でテストファースト開発 By 後藤さんこと @hidenarigoto

http://slidesha.re/mTJYON

DSL Domain Specific Language (久保さんから効いて)
DDD Domain Driven Design
Webアプリケーションのテスト駆動開発入門の話(今日はWebに限った話)
テストクドう開発のテスト（開発手法の視点） != ソフトウェア品質テストのテスト（品質保証の視点）
駆動って何？？

Behatを使うと
    自然言語に近い構文
        -&gt; 英語が分からなくても書ける&lt;br /&gt;
組み込みステップ&lt;br /&gt;
-&gt; Webテスト系をスムーズに記述可能&lt;br /&gt;
テストのないようがわかり易い&lt;br /&gt;
-&gt; テストのメンテナンス性&lt;br /&gt;
なので。。。ハードルが低い&lt;br /&gt;
&lt;br /&gt;
BDDについて&lt;br /&gt;
振舞駆動開発&lt;br /&gt;
PHPUnit等でもBDDはできる&lt;br /&gt;
BehatのBDDは「しなりおBDD」&lt;br /&gt;
読みやすいDSLによるテストの記述と実行&lt;br /&gt;
(PHPUnitマニュアル第13章　ボウリングゲームの例を参考に)&lt;br /&gt;
雪日足す言語(DDD)との親和性&lt;br /&gt;
&lt;br /&gt;
Behatについて&lt;br /&gt;
BDDフレームワーク for PHP&lt;br /&gt;
Cucumber(Ruby)互換DSL(Gherkin)&lt;br /&gt;
sf2のコンポーネントを使って実装&lt;br /&gt;
sf2と統合しやすい(BehatBundle)&lt;br /&gt;
sf2意外のフレームワークのテストにも利用可能&lt;br /&gt;
&lt;br /&gt;
sf2でBehatを使う&lt;br /&gt;
https://gist.github.com/997514&lt;br /&gt;
sf2 に以下を組み込む&lt;br /&gt;
Behat&lt;br /&gt;
Gherkin&lt;br /&gt;
Mink&lt;br /&gt;
BehatBundle&lt;br /&gt;
MinkBundle&lt;br /&gt;
&lt;br /&gt;
Behatでテスト書く準備&lt;br /&gt;
用語&lt;br /&gt;
フィーチャ&lt;br /&gt;
アプリケーションの機能ごとの単位&lt;br /&gt;
粒度は自由に決める（モジュール単位、画面単位、チケット単位）&lt;br /&gt;
Behatでは、1つのフィーチャファイル（拡張子 feature)&lt;br /&gt;
シナリオ&lt;br /&gt;
特定のフィーチャの振舞を表現するシナリオ&lt;br /&gt;
Scenario(シナリオ) :に続けて記述&lt;br /&gt;
１つのフィーチャには、複数のシナリオを記述する&lt;br /&gt;
ステップ&lt;br /&gt;
1つのしなりおには、複数のステップを記述できる。&lt;br /&gt;
・組み込みステップ&lt;br /&gt;
組み込みステップの場所(Mink内)&lt;br /&gt;
・カスタムステップ&lt;br /&gt;
ex.) behat:test:bundle --steps --lang=ja バンドル&lt;br /&gt;
前提（Given）もし、ならば&lt;br /&gt;
Gherkin&lt;br /&gt;
Mink&lt;br /&gt;
Sahi&lt;br /&gt;
&lt;br /&gt;
テストファーストについて&lt;br /&gt;
慣れろ！！（開発のサイクルに乗せるだけ&lt;br /&gt;
まずはテストを書くことに慣れる&lt;br /&gt;
たとえばechoデバッグを、テスtおコードで行う&lt;br /&gt;
$steps-&gt;Given(&#39;hoge&#39;, function() {&lt;br /&gt;
echo $hoge . PHP_EOL;&lt;br /&gt;
echo $hoge . PHP_EOL;&lt;br /&gt;
echo $hoge . PHP_EOL;&lt;br /&gt;
echo $hoge . PHP_EOL;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
「はじめる！Cucumber」 同じようにRailsアプリを作っていく電子書籍&lt;br /&gt;
&lt;br /&gt;
* Symfony2 のフォームについて    By 小川さんこと @fivestr&lt;br /&gt;
&lt;br /&gt;
http://www.slideshare.net/fivestar/symfony2-8203873&lt;br /&gt;
&lt;br /&gt;
** フォームフレームワークの役割&lt;br /&gt;
** sf1との違い&lt;br /&gt;
入力データのマッピング&lt;br /&gt;
バリデーション(sf2ではValidatorコンポーネントとて独立している)&lt;br /&gt;
DBの保存&lt;br /&gt;
DoctrineなどORMごとにFormクラスの拡張が用意されている&lt;br /&gt;
** sf2のフォーム&lt;br /&gt;
- Formコンポーネントとして提供&lt;br /&gt;
- 入力データのマッピングのみ&lt;br /&gt;
- sf2ではあどんなオブジェクトでもマッピングできるよう、強力なマッピング機構が実装されている&lt;br /&gt;
- 大幅な柔軟性の&lt;br /&gt;
&lt;br /&gt;
Symfony\Component\Form&lt;br /&gt;
3つの要素&lt;br /&gt;
FormFactory&lt;br /&gt;
FormBuilderからFormオブジェクトを生成する際、依存などを解消するファクトリー&lt;br /&gt;
FormBuilder&lt;br /&gt;
FormTypeのbuildForm()メソッドの中でFormuilderオブジェクト&lt;br /&gt;
FormType&lt;br /&gt;
sf1でいうwidgetみたいなもん(FormTypeInterfaceを実装されている)&lt;br /&gt;
&lt;br /&gt;
** Constraintvalidator&lt;br /&gt;
制約に対するバリデーションを行う&lt;br /&gt;
各フォーム項目のエラーメッセージもymlで記述できる&lt;br /&gt;
&lt;br /&gt;
sample.yml&lt;br /&gt;
user:&lt;br /&gt;
constraints:&lt;br /&gt;
GreaterThan:&lt;br /&gt;
left:    startDate&lt;br /&gt;
right:    endDate&lt;br /&gt;
properties:&lt;br /&gt;
name: ...&lt;br /&gt;
&lt;br /&gt;
** ひとつのフォームオブジェクトのデータを複数のフォームから入力する場合、バリデーショングループを実装する。&lt;br /&gt;
** DataTransformer&lt;br /&gt;
フォームに関わる型キャストの問題解消、みたいなもん??&lt;br /&gt;
ex.) FileToArray&lt;br /&gt;
&lt;br /&gt;
** EventDispatcher&lt;br /&gt;
Observerパターンの格闘&lt;br /&gt;
&lt;br /&gt;
** 複雑なフォームの扱い&lt;br /&gt;
- sf1では、エンベッドフォームというのを使わないと、１つのフォームに複数のオブジェクトを使えなかった。&lt;br /&gt;
- sf2では、どちらもFormTypeで扱う。（特に意識することなく使える）&lt;br /&gt;
&lt;br /&gt;
** マッピングの注意点&lt;br /&gt;
- フォームの定義とオブジェクトの定義が一致していないと基本的にマッピングはできない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PHPマイクロフレームワークSilex入門 By 前田さんこと @brtriver&lt;br /&gt;
&lt;br /&gt;
http://www.slideshare.net/brtriver/silex-8204780&lt;br /&gt;
&lt;br /&gt;
- microframeworkとは??&lt;br /&gt;
-- 各言語でそろってる。Silex自体はRubyの???から（失念&lt;br /&gt;
-- PHP: Silex, Python: Flask # FIXME: Python Flask気になるね。&lt;br /&gt;
-- Silexを理解すればするほどsf2を理解できる！！&lt;br /&gt;
--- 同じコンポーネントを使ってたりするから&lt;br /&gt;
&lt;br /&gt;
- Silexで絶対実装しないもの(by fabian)&lt;br /&gt;
-- cli tool&lt;br /&gt;
-- xml, ymlを必須とする設定&lt;br /&gt;
-- PHPっぽくない機能&lt;br /&gt;
-- Silexに多くのコードを追加して実装するような機能&lt;br /&gt;
&lt;br /&gt;
- PHP5.3をフル活用&lt;br /&gt;
-- PHAR (ふぁー)&lt;br /&gt;
--- 複数のファイルをひとつにまとめるための便利な仕組み&lt;br /&gt;
&lt;br /&gt;
// ライブラリはPHARを読み込むだけ&lt;br /&gt;
require_once__DIR__.&#39;/silex/phar&#39;;&lt;br /&gt;
&lt;br /&gt;
// Simple Dipendency Injection Container for PHP 5.3&lt;br /&gt;
// コードコメントアウト覗くと50行しかないから覗いてみて！！&lt;br /&gt;
PIMPLE&lt;br /&gt;
&lt;br /&gt;
-- 名前空間&lt;br /&gt;
--- 割愛&lt;br /&gt;
-- クロージャ&lt;br /&gt;
--- 割愛&lt;br /&gt;
&lt;br /&gt;
-- extention&lt;br /&gt;
--- TwigExtensionで例を紹介&lt;br /&gt;
&lt;br /&gt;
-- testsディレクトリ下に短く済んでいるテストコードがあるので、&lt;br /&gt;
TDDの参考になるはず。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Symfony2でより長いソフトウェアを作るために By くぼさんこと @iteman&lt;br /&gt;
- 依存関係の逆転&lt;br /&gt;
-- Client -&gt; Server&lt;br /&gt;
--   ↓&lt;br /&gt;
-- Client -&gt; Server Interface -&gt; Server&lt;br /&gt;
--- Server interface は sf2の DI Containerに値する。&lt;br /&gt;
&lt;br /&gt;
- Programmerはモデラー。モデラーはプログラマー&lt;br /&gt;
&lt;br /&gt;
- プロセス、技法、パラダイム&lt;br /&gt;
-- アジャイルプロセス(Scrum, XP, ...)&lt;br /&gt;
-- テスト駆動開発&lt;br /&gt;
-- ビヘイビア駆動開発&lt;br /&gt;
-- リファクタリング&lt;br /&gt;
-- SOLID&lt;br /&gt;
-- オブジェク&lt;br /&gt;
-- 関数プログラミング&lt;br /&gt;
-- ジェネリック&lt;br /&gt;
-- アスペクト指向プログラミング&lt;br /&gt;
-- 言語ワークベンチ&lt;br /&gt;
-- ジェネレーティブプログラミング&lt;br /&gt;
--  りんソフトアーキテクチャ?? DCI: data, context, and interaction&lt;br /&gt;
--- MVCのさきをゆくらしい（要調査）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LT:一発目    CLI&lt;br /&gt;
- 基本&lt;br /&gt;
-- php app/console XXXXX&lt;br /&gt;
- init:bundle&lt;br /&gt;
-- appKernel, autoloadの更新が面倒&lt;br /&gt;
--- 解決するのがgithub上にあった&lt;br /&gt;
--- github Garfield-fr/Symfony2Project&lt;br /&gt;
&lt;br /&gt;
* LT:二発目    madapaja (?)    Symfony2 + mongoDB&lt;br /&gt;
- Beta1までしか開発がおっついてない。&lt;br /&gt;
&lt;br /&gt;
https://www.dropbox.com/s/pwq7ubnluuoq79a/symfony2_workshop_no4_outline.pdf&lt;br /&gt;
&lt;br /&gt;
* LT:三発目    @hnw PHPunit MocObject試そう!! By @hnw&lt;br /&gt;
&lt;br /&gt;
http://slidesha.re/iXW1J3&lt;br /&gt;
&lt;br /&gt;
- PHPunit MocObject試そう!!&lt;br /&gt;
-- $ pear list -c phpunit&lt;br /&gt;
- モックとは&lt;br /&gt;
-- 本物のクラスオブジェクトにそっくりな、テスト用のオブジェクト&lt;br /&gt;
- モックとそ結合&lt;br /&gt;
-- DIでないとダメ&lt;br /&gt;
- モックとスタブの違い&lt;br /&gt;
-- スタブは状態の確認、モックは振舞の確認もできる。（何回モック化したメソッドが呼ばれたか等）&lt;br /&gt;
--- sample code&lt;br /&gt;
&lt;br /&gt;
// 中でインスタンス生成してちゃ差し替えられんだろ！&lt;br /&gt;
function hoge() {&lt;br /&gt;
$foo = new Foo();&lt;br /&gt;
$foo-&gt;sendMail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// DI Containerだと大丈夫、DI便利だね♪&lt;br /&gt;
function hoge(Foo $foo) {&lt;br /&gt;
$foo-&gt;sendMail();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
総括して、非常に中身の濃い一日でありました！！&lt;br /&gt;
DIコンテナ便利!!&lt;br /&gt;
Silexを触ることでsf2も分かってくる予感!!&lt;br /&gt;
テストはスキル!!!&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/367134000654841295/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/06/symfony2.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/367134000654841295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/367134000654841295'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/06/symfony2.html' title='Symfony2勉強会に行ってきた　〜継続中〜'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-4657317359978408011</id><published>2011-05-26T03:30:00.002+09:00</published><updated>2014-01-05T00:01:47.189+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OS"/><title type='text'>Oracle VM Virtualbox 4.0x で USB2.0 デバイスを認識させる</title><content type='html'>Oracle VM Virtualbox が4.0x系になって久しいが、&lt;br /&gt;
ちょくちょくアップデートはするが放置してたらUSB2.0デバイス関連でエラーが出てきた。&lt;br /&gt;
&lt;br /&gt;
4.0系からはOSE版やPUEL版があったりするが、&lt;br /&gt;
USB2.0デバイスの認識をする為にはextension packsが必要になったよう。&lt;br /&gt;
（実はもっと前から。。。？）&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blogs.oracle.com/wim/entry/oracle_vm_virtualbox_40_extens&quot; target=&quot;_brank&quot;&gt;http://blogs.oracle.com/wim/entry/oracle_vm_virtualbox_40_extens&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
extension packsをインストールせずにUSB2.0コントローラを有効化してると&lt;br /&gt;
以下のエラーメッセージが表示される。&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheKe_EFR55gLUlgoWd_yjfiIb4VXgGaYrdTaHMc96LXIGesJToDMbtyEq9EKgVmMHwJHkOhHklGF8okMQNxIjsNcfQdJnwuDhZ6v6AvSfJDqjnC0hq1bwPhh55U3WfynZpVo9izl_101Qm/s1600/virtualbox_error.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheKe_EFR55gLUlgoWd_yjfiIb4VXgGaYrdTaHMc96LXIGesJToDMbtyEq9EKgVmMHwJHkOhHklGF8okMQNxIjsNcfQdJnwuDhZ6v6AvSfJDqjnC0hq1bwPhh55U3WfynZpVo9izl_101Qm/s320/virtualbox_error.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
本家から&lt;a href=&#39;http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html#extpack&#39; target=&#39;_brank&#39;&gt;extension packs&lt;/a&gt;をとってくる。&lt;br /&gt;
ホストOSはUbuntu 10.04 LTSで行った。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Jb-Zatk3as2zqYOBLkesdaebxC-RfcLSb-efyZNFiigrRm3eZNYWEMxtVDda99DGF4PAupCBM8HSjlVk_IY8baPTc1JaePcEopyyo_2D1QUzd-wVoNpE6-q9RJhDKiK_Mhn0e-fjQ80T/s1600/virtualbox_extension_install.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Jb-Zatk3as2zqYOBLkesdaebxC-RfcLSb-efyZNFiigrRm3eZNYWEMxtVDda99DGF4PAupCBM8HSjlVk_IY8baPTc1JaePcEopyyo_2D1QUzd-wVoNpE6-q9RJhDKiK_Mhn0e-fjQ80T/s320/virtualbox_extension_install.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;ダウンロードしたら説明文を一読しInstallボタンで「成功しました」とメッセージが表示される。&lt;br /&gt;
おめでとう :)&lt;br /&gt;
&lt;br /&gt;
で、もうひとつやることがある。&lt;br /&gt;
Virtualboxインストール時に追加されたグループ「vboxusers」に自身のユーザを追加しなくてはいけない。&lt;br /&gt;
でないとまたこんな風に怒られる。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaW1a72d6WCPqJLwTgIHn8BZqP_kRY8KptmkhBUCMdN-AEpVlAl7kjuzkBMqUtg9mDugoQFB79JpXQelF9qbKR2CNx1b0yBLqjGAos2blUNrOdvYz2ZgICKMtoUEWUwGp6u3Hk8UlNef1g/s1600/virtualbox_error2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;83&quot; width=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaW1a72d6WCPqJLwTgIHn8BZqP_kRY8KptmkhBUCMdN-AEpVlAl7kjuzkBMqUtg9mDugoQFB79JpXQelF9qbKR2CNx1b0yBLqjGAos2blUNrOdvYz2ZgICKMtoUEWUwGp6u3Hk8UlNef1g/s200/virtualbox_error2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Ubuntu userなら以下のコマンドでグループに追加しよう。&lt;br /&gt;
&lt;pre&gt;% sudo gpasswd -a hogeuser hogegroup
&lt;/pre&gt;ログアウトしてgroupsコマンドで無事追加されたか確認しよう。&lt;br /&gt;
&lt;br /&gt;
syslogなんてまるで見ずにやった不届き者であるが、&lt;br /&gt;
これでとりあえずエラーメッセージは出ずUSB2.0デバイスをゲストOS側で利用できる形となる。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHM7K5ZmEGj9sEvUsCD6qBxMoPMQEva67UmgIZVlp2d_RlWfTNAVLXTZtDy9qDvzngI1nhKRQDqwBfDWxxe3OU31eQzdThQWKIZF6eu3JDEC_J3rzTgdubt-Cyu4P2t_yuCF-3iy9vQlfA/s1600/virtualbox_success.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;243&quot; width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHM7K5ZmEGj9sEvUsCD6qBxMoPMQEva67UmgIZVlp2d_RlWfTNAVLXTZtDy9qDvzngI1nhKRQDqwBfDWxxe3OU31eQzdThQWKIZF6eu3JDEC_J3rzTgdubt-Cyu4P2t_yuCF-3iy9vQlfA/s320/virtualbox_success.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Virtualbox.org : &lt;a href=&quot;http://www.virtualbox.org/&quot; target=&quot;_brank&quot;&gt;http://www.virtualbox.org/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/4657317359978408011/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/05/oracle-vm-virtualbox-40x-usb20.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/4657317359978408011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/4657317359978408011'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/05/oracle-vm-virtualbox-40x-usb20.html' title='Oracle VM Virtualbox 4.0x で USB2.0 デバイスを認識させる'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheKe_EFR55gLUlgoWd_yjfiIb4VXgGaYrdTaHMc96LXIGesJToDMbtyEq9EKgVmMHwJHkOhHklGF8okMQNxIjsNcfQdJnwuDhZ6v6AvSfJDqjnC0hq1bwPhh55U3WfynZpVo9izl_101Qm/s72-c/virtualbox_error.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-184039619076774173</id><published>2011-05-21T18:37:00.008+09:00</published><updated>2014-01-04T23:58:58.585+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Vim"/><title type='text'>#ujihisa.vimに行ってきました</title><content type='html'>&lt;a href=&quot;http://cotocoto.jp/event/45772&quot;&gt;http://cotocoto.jp/event/45772&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
#yokohamavimに次いでvim界隈の勉強会は２回目の参加です。&lt;br /&gt;
&lt;br /&gt;
強靭なるvimmer達から普段はEmacsな人まで濃い方々が参加され。。。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ujihisaこと@ujmさんのセッション&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: lime;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;shadow.vim のお話。&lt;/span&gt;&lt;/div&gt;めちゃ要約すると、coffeescriptを手軽に使えるためのプラグイン。&lt;br /&gt;
coffeescriptはRailsにも取り込まれててけっこう前から注目されていると思いますが、&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
coffescriptでjsを書きたいけど、プロジェクトではみんな素のJavaScriptを使ってる場合があると思います。&lt;br /&gt;
そんな時に自分だけ隠れてcoffeescriptで書けなおかつJavaScriptのコードとしてコミットできる優れモノ！&lt;br /&gt;
coffeescriptで記述されたファイルをJavaScriptコードにするにはターミナル上でcoffeeコマンドか何か（使ってないので知らない）&lt;br /&gt;
打たないと行けないようですが、それらの面倒を吸収してくれるようですね。&lt;br /&gt;
そしてcoffeescript -&amp;gt; js に限らずHTMLコード生成も実演されてました。&lt;br /&gt;
&lt;br /&gt;
好みの記述形式（無論限られる）から他コードへの変換、そして変換側へ影響のない適用をしてくれることから&lt;br /&gt;
影のように扱える存在としてshadow.vimと名付けられたそうです。&lt;br /&gt;
「命名は大事」最後にそうおっしゃってました。&lt;br /&gt;
&lt;br /&gt;
ujihisaさんは実演中にvimshell.vimやgit.vimを使ってたっぽいですね。&lt;br /&gt;
まさにvim内で全て完結。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/ujihisa/shadow.vim&quot;&gt;shadow.vim on github&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@kana1さんのセッション&lt;br /&gt;
&lt;div style=&quot;color: lime;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: lime;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;LiveDisVimrc&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
文字通り参加者のvimrcを晒しkanaさんがdisるというとんでも企画。&lt;br /&gt;
と、思いきやdisられつつもkanaさんが当人のvimrcを修正してくれて&lt;br /&gt;
diffFileを送ってくれるという感謝企画でした。&lt;br /&gt;
&lt;br /&gt;
時間の都合上2名のみが対象となりましたが、&lt;br /&gt;
自分もdisられたいと思ったのはこれが初めてなぐらい楽しかったです。&lt;br /&gt;
&lt;br /&gt;
目立った内容としてはこんな感じ。&lt;br /&gt;
・依存させたくない場合はsetでなくsetlocalを使おう。&lt;br /&gt;
・mapとnoremapの違いが曖昧な人はnoremapとして記述したほうが無難。&lt;br /&gt;
・ でなく&lt;space&gt;と書いたほうが分かりやすいよね。&lt;br /&gt;
・nnoremap Y y$ はするよねぇ。&lt;br /&gt;
・デフォのsマップ使ってる人は案外少ない。&lt;br /&gt;
&lt;br /&gt;
@niw さん&lt;br /&gt;
みんなでvim使ってこうよ、盛り上げようぜ！！&lt;br /&gt;
&lt;br style=&quot;color: lime;&quot; /&gt;&lt;span style=&quot;color: lime;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: lime; font-size: large;&quot;&gt; vim-tiny @guyon さん&lt;/span&gt;&lt;br /&gt;
#yokohamavimの主催をしていただいた方。&lt;br /&gt;
vi != vim-tiny、あくまでvim-tinyのお話。&lt;br /&gt;
サーバリソースを気にしなくてはいけない場合があるのなら&lt;br /&gt;
Ubuntuでいうところのvim-common等でなくvim-tinyが軽くていい。&lt;br /&gt;
という内容を細かく説明していただきました。&lt;br /&gt;
#yokohamavimでのゆびきちさんShougoさんの対談でもありましたが&lt;br /&gt;
Vimが軽いはもはや幻想チックなのかな。&lt;br /&gt;
（や、Plugin入れてないでも具体的な数字を見るとそう思った）&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime; font-size: large;&quot;&gt;@shougoさん「5分で学ぶVimとVim plugin」&lt;/span&gt;&lt;br /&gt;
Shougoさんが培ったVimHackを簡潔に伝授していただけると思いきや&lt;br /&gt;
いい形で期待を裏切られることにww&lt;br /&gt;
http://www.slideshare.net/Shougo/5vimvim-plugin&lt;br /&gt;
後で気づいたが2010年版とは違うものだった。。。&lt;br /&gt;
http://vinarian.blogspot.com/2010/09/vim-2010.html&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime; font-size: large;&quot;&gt;vital.vimのお話&lt;/span&gt;&lt;/space&gt;&lt;span style=&quot;color: lime; font-size: large;&quot;&gt; @ujmkさん&lt;/span&gt;&lt;br /&gt;
&lt;space&gt; Vim Scriptは低レイヤだ。&lt;br /&gt;
その解消の為に過去に「tlib」「VimJolts」などがあったが、&lt;br /&gt;
これからは皆でVitalを使おう！！&lt;br /&gt;
※ここで、Vitalのバグ（？）が発覚。&lt;br /&gt;
Shougoさんやthincaさん、tryuさんらが黙々とデバッグを始める。&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: lime; font-size: large;&quot;&gt;Rubyとmetrw.vimのお話 &lt;/span&gt;&lt;/space&gt;&lt;span style=&quot;color: lime; font-size: large;&quot;&gt;@sora_h さん&lt;/span&gt;&lt;br /&gt;
&lt;space&gt; Rubyコミッターとして投稿者に心がけてほしいことを言ってました。&lt;br /&gt;
（@sora_hさんはテンション高めで当日にmetrw.vimというプラグインを作って&lt;br /&gt;
LTしてました。&lt;br /&gt;
&lt;br style=&quot;color: lime;&quot; /&gt;&lt;span style=&quot;color: lime;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: lime; font-size: large;&quot;&gt;懇談会Time&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.zimbu.org/&quot;&gt;&lt;i&gt;Zimbu&lt;/i&gt;&lt;/a&gt;使ってみない？ By @ujmさん&lt;br /&gt;
Vimの作者Bramによって作られた言語。&lt;br /&gt;
&lt;/space&gt;&lt;br /&gt;
&lt;pre&gt;IF i % 15 == 0
  RETURN 1
ELSE
  RETURN 0
}
&lt;/pre&gt;閉じかっこ（｝）だけで開くほうがないという&lt;br /&gt;
なんとも奇妙な書き方。&lt;br /&gt;
Zimbu.vimやZimbu用のsnipMateなど&lt;br /&gt;
全部Bramが用意してくれてるよ！&lt;br /&gt;
と@ujmさんが満面の笑みで語ってくれました。&lt;br /&gt;
&lt;br /&gt;
全体を通して印象的だったのが、&lt;br /&gt;
vital.vimのデバッグ・修正をその場でやっていたこと。&lt;br /&gt;
Shougoさんは他の方がLTしてる中黙々と発言内容(?)をノートにメモしていた。&lt;br /&gt;
（#yokohamavimでこのノートが私のGTDツールと豪語されてた）&lt;br /&gt;
ujihisaさんが会場にいる全員に声をかけてくださったこと。&lt;br /&gt;
全員のLTが終わってから束の間の雑談時にPHPUnit + QuickRun の為にちょこちょこ&lt;br /&gt;
vimrcいぢってるので「こうしたほうがいいよ」ってアドバイスいただいたりして&lt;br /&gt;
助かりました。&lt;br /&gt;
海外組は一味違う（←関係ない）大物ぶりを実感。そして感謝。&lt;br /&gt;
&lt;br /&gt;
最後に、&lt;br /&gt;
発表をしてくださった方々と、&lt;br /&gt;
参加者の皆さん、&lt;br /&gt;
会場を提供してくださった(株)タイムインターメディアさん&lt;br /&gt;
&lt;br /&gt;
有難うございました。</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/184039619076774173/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/05/ujihisavim.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/184039619076774173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/184039619076774173'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/05/ujihisavim.html' title='#ujihisa.vimに行ってきました'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-1579054557140303091</id><published>2011-04-25T00:38:00.008+09:00</published><updated>2011-05-26T03:57:07.699+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Vim"/><title type='text'>Yokohama.vimに行って　〜脱Vim初心者の為の7ステップ(?)~</title><content type='html'>行ってきました&lt;span style=&quot;font-family: Verdana,sans-serif; font-size: x-large;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://atnd.org/events/14353&quot; target=&quot;_brank&quot;&gt;Yokohama.vim&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwJkKGoDv00mS_T0aH7Oe8HzDggrn1kdyPWY1lhdxufpkEtEqaE9wAqfO5YXzOG5B18BuQ6dI-6QJQODfy_BXoXFVOegZu0L2Q4Y8RThzZl6WdytGIlfFVs-i_MjEv_CE6c5Hpi8KViND0/s1600/2011-04-25+00.40.58.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwJkKGoDv00mS_T0aH7Oe8HzDggrn1kdyPWY1lhdxufpkEtEqaE9wAqfO5YXzOG5B18BuQ6dI-6QJQODfy_BXoXFVOegZu0L2Q4Y8RThzZl6WdytGIlfFVs-i_MjEv_CE6c5Hpi8KViND0/s320/2011-04-25+00.40.58.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
全て目が離せないセッションの目白押しでしたが、&lt;br /&gt;
その中で２つのことをまとめてみました。&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;VimとEmacsユーザ交流セッション&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;テーブル内のメンバーでディスカッション形式で&lt;a href=&quot;http://atnd.org/events/14353&quot; target=&quot;_brank&quot;&gt;ATNDのアジェンダ&lt;/a&gt;に書かれている&lt;br /&gt;
お題について議論しました。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;お題1：Vim（もしくはEmacs）を使ってない自分はすごく損をしている?   &lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;http://q.hatena.ne.jp/1182209114&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;お題2: 春から&quot;プログラマー&quot;になる人はどんなEditorを使うといいか？(VimまたはEmacsまたはその他Editorをお勧めする理由)   &lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;http://dev.ariel-networks.com/wp/archives/482&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;http://hiroki.jp/2011/03/27/1767/&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;お題3:VimまたはEmacsで開発をしている方の開発からリリースまでの手順や使用しているツールが知りたい   &lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;http://q.hatena.ne.jp/1224365468&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;お題4: フリーディスカッション（質問にひたすら応えるターン）   &lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Show Time?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;脱初心者Vimmerとしてロードマップがあったらいいんじゃない？話題が中心になりましたが、&lt;br /&gt;
時間の都合とメモしてた紙を置いてきてしまった為もう一度自分の中でまとめてみました。&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;1. vimtutorを始める。 % vimtutor &amp;lt;CR&amp;gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;2. 達人のvimrcを読んで盗みたいと思った部分を自分のvimrcに記述&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (既存のVimmerは最初コピペした人が多いかもしれない）&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Shougoさんはkanaさんのrcは初心者にはお薦めしないと言ってました。&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;3. 有名なVimサイトのまとまったTipsを読んでVimHacksを習得。&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://vim-users.jp/tag/vim-hacks/&quot;&gt;Vim-users.jp::Vim Hacks&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://nanasi.jp/&quot;&gt;&#39;名無しのvim使い&#39;&lt;/a&gt; さん&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; etc ..&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;4. Hacksを読み実践していくうちにコピペ戦術したrcの内容が気に入らなくなり自分なりのキーマップに書き直す（ハズ）。&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;5. 検索やVim-users.jpをだだ読みしていく内にPluginを入れたくなり有名どころを入れていく。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #f4cccc;&quot;&gt;別発表であったShougoさんの入れているプラグイン&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #666666;&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/unite.vim&quot;&gt;unite.vim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/neocomplcache&quot;&gt;neocomplcache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/vimshell&quot;&gt;vimshell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/vimproc&quot;&gt;vimproc&lt;/a&gt; (ヴィムプロシーと読むこと発覚)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/vimfiler&quot;&gt;vimfiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/echodoc&quot;&gt;echodoc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;eskk.vim&lt;/li&gt;
&lt;li&gt;smartchr&lt;/li&gt;
&lt;li&gt;caw.vim&lt;/li&gt;
&lt;li&gt;surround.vim&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Shougo/git-vim&quot;&gt;git-vim&lt;/a&gt; (自らのFouk版)&lt;/li&gt;
&lt;li&gt;ref.vim (uniteと連携)&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style=&quot;color: orange;&quot;&gt;&lt;b&gt;6. helpやPluginのdocumentsを熟読しVisualModeのみに頼らずtext-objectを駆使したり、Plugin用のキーマップ割り当てをする。&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ここまでやればVimLevel3まで登りつめられると思います。（VimLevel表は&lt;a href=&quot;http://vim-users.jp/2010/01/vim-10-levels/&quot; target=&quot;_brank&quot;&gt;こちら&lt;/a&gt;）&lt;br /&gt;
Yokohama.vimの参加者を見る限り、自分を含めVimLevel3の方々が１番多かった気がします。&lt;br /&gt;
&lt;br /&gt;
自分はVimLevel3からまだ抜け出せてないなーと思ってはいるのですが、&lt;br /&gt;
同じ理由の方がいたら是非次回のYokohama.vimに参加したほうがいいと思います。&lt;br /&gt;
明確な理由としては以下の点が挙げられます。&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Shougoさん曰く「Lingrやvim-users.jp、TwitterやGitHubで質問を投げてくるのは大抵熱心なVim中級者以上なので、どうしても初心者というより中級者達のレベル上げに注力してしまう」&lt;br /&gt;
&lt;br /&gt;
つまり一流のVimmerはVim界隈のレベル底上げを願っていてもする機会が少ない。（そしてそれは本来教えを乞う者から聞くべき）&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;各Pluginの操作方法や具体的な今後の方針等、直接作成者からヒアリングでき質問も投げられる！&lt;/li&gt;
&lt;li&gt;同じようなVimLevelの方々もたくさんいるので、フィードバックが盛んに行える。&lt;/li&gt;
&lt;/ul&gt;また、上に述べた事柄は勉強会参加やワークショップだけでは不十分なので、後の懇談会にも参加することで自分だけの成果を得られることが多いです。&lt;br /&gt;
基本平日の夜や休日を返上して（本人達はいたって返上してるなんて思ってはいないでしょうが）参加している方ばかりなので、打ち解けられるかの不安は皆無です。&lt;br /&gt;
&lt;br /&gt;
先に書いた脱初心者ステップはあくまでベターな感じですが、&lt;br /&gt;
初心者の段階でイベント参加は非常に喜ばれるので、レベル関係なく参加されるが本当は望ましいと思います。&lt;br /&gt;
（日時・交通アクセスの都合上等参加できない方もいらっしゃると思うので上には含んでません）&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;http://vinarian.blogspot.com/&quot; target=&quot;_brank&quot;&gt;Shougoさん&lt;/a&gt;と&lt;a href=&quot;http://d.hatena.ne.jp/rubikitch/&quot; target=&quot;_brank&quot;&gt;るびきちさんの対談&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
「Emacsのほうがいいとか、Vimのほうがいいとか、ネタでしかないよねww」から始まり、&lt;br /&gt;
anything.elとunite.vimでEmacs,Vimを日本で牽引している両者の対談は非常に興味深かったのですが&lt;br /&gt;
お互い尊重し長所も欠点も認めあってる点が印象的でした。&lt;br /&gt;
Emacsを使わないので分からんですが、るびきちさん曰く&quot;Emacsのpagerは腐ってる！！&quot;とか&quot;今はEmacsもそこまで起動時間遅くないよね&quot;　とかそーなんだ話題も満載でした。&lt;br /&gt;
興味ある方は&lt;a href=&quot;https://twitter.com/#%21/search/%23yokohamavim&quot; target=&quot;_brank&quot;&gt;Twitter#yokohamavim&lt;/a&gt;を見てみてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vimmerは噂通りシャイな方が多く、懇談会ではぎこちない感じも新鮮でしたが&lt;br /&gt;
主催のgu4さん、発表してくださった方々と同じ参加者の方々、&lt;br /&gt;
楽しいお時間を有難うございました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ちなみに、テーブル内ディスカッションでの最終的な結論は。。。&lt;br /&gt;
&lt;br /&gt;
既に気に入った開発環境を見い出してるのであれば無理に勧められないけど、&lt;br /&gt;
それでもVimに興味があったり&lt;br /&gt;
まだ手足のように扱えるエディタを見つけられてない人は、&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;喜んでVimを勧めるよ！！！&lt;/b&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/1579054557140303091/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/04/yokohama.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/1579054557140303091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/1579054557140303091'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/04/yokohama.html' title='Yokohama.vimに行って　〜脱Vim初心者の為の7ステップ(?)~'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwJkKGoDv00mS_T0aH7Oe8HzDggrn1kdyPWY1lhdxufpkEtEqaE9wAqfO5YXzOG5B18BuQ6dI-6QJQODfy_BXoXFVOegZu0L2Q4Y8RThzZl6WdytGIlfFVs-i_MjEv_CE6c5Hpi8KViND0/s72-c/2011-04-25+00.40.58.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-7259521209272704074</id><published>2011-04-10T22:20:00.008+09:00</published><updated>2014-01-05T00:02:01.450+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OS"/><title type='text'>[Ubuntu] 10.04 64bit用のflashpluginをインストール</title><content type='html'>どうもUbutnuのflashの調子がよろしくない。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI4Vr4lk4PDNa5mS2fZHiXqm5NVVz6GIPs3rE772txhTx001JxMfv04YpuZ3kkY9NfdV5sUcjH7BgpAVn1dAl0iSoQQvKFcyQYdE4d2iWQbohKPVQ4kaRbdrhFcvFDWFb-kz4_rARYT3Pu/s1600/0409_flash.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;283&quot; width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI4Vr4lk4PDNa5mS2fZHiXqm5NVVz6GIPs3rE772txhTx001JxMfv04YpuZ3kkY9NfdV5sUcjH7BgpAVn1dAl0iSoQQvKFcyQYdE4d2iWQbohKPVQ4kaRbdrhFcvFDWFb-kz4_rARYT3Pu/s320/0409_flash.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;こんな感じに白線入ったり、&lt;br /&gt;
それよりも？？？.bin（失念;&lt;）がやけにメモリ食ってた。

Abode Labsでこんな告知が出てたのね。
デフォではi386だった。
We have closed the Flash Player 10 for 64-bit Linux ...
&lt;a href=&quot;http://labs.adobe.com/downloads/flashplayer10_64bit.html&quot; target=&quot;_brank&quot;&gt;Adobe Labs - flashplayer10_64bit&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
APTに追加するには&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;以下のdebPackagesで&lt;br /&gt;
&lt;div&gt;deb http://ppa.launchpad.net/sevenmachines/flash/ubuntu lucid main&lt;br /&gt;
deb-src http://ppa.launchpad.net/sevenmachines/flash/ubuntu lucid main&lt;br /&gt;
&lt;/div&gt;PPAは複数ヴァージョン(Ubuntuの）パッケージを用意してくれてた。&lt;br /&gt;
&lt;pre style=&quot;background-color: gray;&quot;&gt;% sudo apt-add-repository ppa:sevenmachines/flash
&lt;/pre&gt;&lt;br /&gt;
例のごとくapt-get updateして確認。&lt;br /&gt;
&lt;pre style=&quot;background-color: gray;&quot;&gt;% sudo apt-cache search flashplugin
flshplugin-installer - Adobe Flash Player plugin installer
flashplugin-nonfree - Adobe Flash Player plugin installer (transitional package)
flashplugin64-installer - Adobe Flash Player plugin 64 bit alpha installer
&lt;/pre&gt;&lt;br /&gt;
どうやらまだ公式版は出ておらずalpha版になるよう。&lt;br /&gt;
Ubuntu Tweakだとalphaという記述すらされていなかったので&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh81uKjciyfjJOyrWMSjByGlts3kxxmeDiqFXiPp98fOEthVPfJH18e-JOlPl-SPkMKF5FSYzlIlYzM5H_OJ_KezZN_4NY7z_Eoi9LehzwadYDr0KE_wKbuY9DyPq4N4WnYHNInqDhXfR6A/s1600/0409_ubuntuTweak.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;63&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh81uKjciyfjJOyrWMSjByGlts3kxxmeDiqFXiPp98fOEthVPfJH18e-JOlPl-SPkMKF5FSYzlIlYzM5H_OJ_KezZN_4NY7z_Eoi9LehzwadYDr0KE_wKbuY9DyPq4N4WnYHNInqDhXfR6A/s400/0409_ubuntuTweak.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
flashplugin64-installerを選択した。&lt;br /&gt;
&lt;pre style=&quot;background-color: gray;&quot;&gt;% sudo apt-get install flashplugin64-installer
以下のパッケージが新たにインストールされます:
  flashplugin64-installer
  アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
  8,206B のアーカイブを取得する必要があります。
  この操作後に追加で 164kB のディスク容量が消費されます。
...
2011-04-10 19:49:34 (2.50 MB/s) -
`./flashplayer10_2_p3_64bit_linux_111710.tar.gz&#39; へ保存完了 [4310219/4310219]

Download done.
Flash Plugin installed.
&lt;/pre&gt;&lt;br /&gt;
※もし32bit版を既にインストールしてしまってた場合はautoremoveしておこう。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBtkOsQOwPfhDaWBPILGVdha2iCBCDuIEjRJ2UdozVFMTWpNHP2kL5Xbr_yRM1Hf893Bz1wBSj_jhu_c1bcGu1smI701_Ao2hq7VNeoAcwdGlMSZa-ZTs5HbXVC3zdGNWRmKiEe90xytp4/s1600/0409_flash_after.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;268&quot; width=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBtkOsQOwPfhDaWBPILGVdha2iCBCDuIEjRJ2UdozVFMTWpNHP2kL5Xbr_yRM1Hf893Bz1wBSj_jhu_c1bcGu1smI701_Ao2hq7VNeoAcwdGlMSZa-ZTs5HbXVC3zdGNWRmKiEe90xytp4/s320/0409_flash_after.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
slideshareはHadoopが気になったので&lt;a href=&quot;http://blog.yanaoki.org/&quot; target=&quot;_brank&quot;&gt;id:yanaokiさん&lt;/a&gt;のを拝借しました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
うむ、心なしか見た目も美しく（？）なった気がする。</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/7259521209272704074/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/04/ubutnuflash-abode-labs-we-have-closed.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/7259521209272704074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/7259521209272704074'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/04/ubutnuflash-abode-labs-we-have-closed.html' title='[Ubuntu] 10.04 64bit用のflashpluginをインストール'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI4Vr4lk4PDNa5mS2fZHiXqm5NVVz6GIPs3rE772txhTx001JxMfv04YpuZ3kkY9NfdV5sUcjH7BgpAVn1dAl0iSoQQvKFcyQYdE4d2iWQbohKPVQ4kaRbdrhFcvFDWFb-kz4_rARYT3Pu/s72-c/0409_flash.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-4637315894148623957</id><published>2011-04-05T03:54:00.001+09:00</published><updated>2011-05-26T03:58:48.935+09:00</updated><title type='text'>[Ubuntu] Virtualbox 4.0 と indicator for Virtualbox をインストールした</title><content type='html'>会社のOSを勢いでWindowsからUbuntu(10.04 LTS)に変えてみた＊&lt;br /&gt;
（さらば重きエクスプローラよ！！）&lt;br /&gt;
&lt;br /&gt;
まずはちょっと前に話題になっていた&lt;a href=&quot;http://www.virtualbox.org/wiki/Linux_Downloads&quot; target=&quot;_blank&quot;&gt;Oracle Virtualbox 4.0&lt;/a&gt; を本家から&lt;br /&gt;
debパッケージを入手・インストールする。&lt;br /&gt;
&lt;br /&gt;
次にindicator for Virtualboxを導入する。&lt;br /&gt;
前はVMwareを使っていたので、平気でウィンドウを閉じても問題なかったが、&lt;br /&gt;
せめてタスクバー（Ubuntuでもそう呼ぶ？）から起動できるようになりたい。&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
というのが&lt;a href=&quot;https://code.launchpad.net/indicator-virtualbox&quot; target=&quot;_blank&quot;&gt;これ&lt;/a&gt;。&lt;br /&gt;
&lt;br /&gt;
PPAを追加・インストール&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
sudo apt-add-repository ppa:michael-astrapi/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install indicator-virtualbox&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
起動時にindicatorを自動起動する設定。&lt;br /&gt;
[システム] -&gt; [設定] -&gt; [自動起動するアプリ]&lt;br /&gt;
コマンド欄に「indicator-virtualbox」と記述すれば、&lt;br /&gt;
次からVirtualboxをわざわざシステムツールから起動することも、&lt;br /&gt;
.vboxファイルのショートカットをどこかに置く必要もなし★三</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/4637315894148623957/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/04/ubuntu-virtualbox-40-indicator-for.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/4637315894148623957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/4637315894148623957'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/04/ubuntu-virtualbox-40-indicator-for.html' title='[Ubuntu] Virtualbox 4.0 と indicator for Virtualbox をインストールした'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-2819404618950938629</id><published>2011-03-20T20:41:00.003+09:00</published><updated>2014-01-05T00:02:15.659+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OS"/><title type='text'>XfceがメジャーアップデートしてたのでノートPCにインストしてみる</title><content type='html'>デスクトップ＆ノートPCともUbuntuで&lt;a href=&quot;http://gnome-look.org/content/show.php/Macbuntu?content=129021&quot; target=&quot;_blank&quot;&gt;Macbuntu&lt;/a&gt;を導入しているのだが、&lt;br /&gt;
どうにもDockeyさんが電力消費量が高いから、ノートPCだけでも変えようと。。。&lt;br /&gt;
&lt;br /&gt;
最初はLubuntu化しようとでも思ってたけど、&lt;br /&gt;
SSDなのでそこまでGnomeデスクトップにストレスを感じているわけではない。&lt;br /&gt;
&lt;br /&gt;
で、ググッてたらXfceがメジャーアップデートしてるとな(4.8.0) :-0&lt;br /&gt;
&lt;br /&gt;
さっそく導入してみる！&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
PPAリポジトリの追加方法は&lt;a href=&quot;http://smash.nobuto-murata.org/2010/11/ppaubuntu-1010-ubuntu-1004-lts.html&quot; target=&quot;_blank&quot;&gt;こちら&lt;/a&gt;を参考にしてみた。&lt;br /&gt;
&lt;br /&gt;
手順を追って、koshi氏のPPAリポジトリを使用することに。&lt;br /&gt;
・Ubuntu 10.04: ppa:alexx2000/xfce&lt;br /&gt;
・Ubuntu 10.10: ppa:koshi/xfce-4.8&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;~$ sudo apt-add-repository ppa:koshi/xfce-4.8&lt;br /&gt;
\Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv E4EC643FC995793CAC5C1C1EC81A926CB056DD89&lt;br /&gt;
gpg: 鍵B056DD89をhkpからサーバーkeyserver.ubuntu.comに要求&lt;br /&gt;
gpg: 鍵B056DD89: 公開鍵“Launchpad PPA for koshi”を読み込みました&lt;br /&gt;
gpg: 処理数の合計: 1&lt;br /&gt;
gpg:               読込み: 1  (RSA: 1)&lt;br /&gt;
&lt;/blockquote&gt;あとはスーパー牛さんパワーをアップデートし、&lt;br /&gt;
xfce4-sessionを指定してインストール（依存するパッケージも同時インストール）&lt;br /&gt;
&lt;br /&gt;
ただUbuntu 11.04ではGNOME3.x系になるのかな？&lt;br /&gt;
あとはログイン時にxfceセッションを選択すればいいだけです。</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/2819404618950938629/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/03/xfcepc.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/2819404618950938629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/2819404618950938629'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/03/xfcepc.html' title='XfceがメジャーアップデートしてたのでノートPCにインストしてみる'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4404910056858166205.post-8447661489125562379</id><published>2011-03-16T02:04:00.007+09:00</published><updated>2011-05-26T03:59:21.287+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="雑談"/><title type='text'>そうだ、ハッカーになろう</title><content type='html'>プログラマという人種は皆独学からスタートしたという方々が多いと思う。&lt;br /&gt;
&lt;br /&gt;
だから仕事にしてみるとある段階で壁にぶつかる。&lt;br /&gt;
その壁の大きさは人によってそれぞれだが、&lt;br /&gt;
それは楽しいという原動力だけでは自分は足りなくなった。&lt;br /&gt;
&lt;br /&gt;
そんな時出会ったのがこれ。&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;a href=&quot;http://wwwu.edu.uni-klu.ac.at/epirker/unix/hacker-howto.html&quot; target=&quot;_blank&quot;&gt;How To Become A Hacker&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;
（和訳は&quot;&lt;a href=&quot;http://cruel.org/freeware/hacker.html&quot; target=&quot;_blank&quot;&gt;ハッカーになろう&lt;/a&gt;&quot;が有名）&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;有名なのは当初知らなかったけど。。。&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The world is full of fascinating problems waiting to be solved.&lt;/h2&gt;&quot;世界は解決を待っている魅力的な問題で溢れている&quot;&lt;br /&gt;
この一文に感激したのをよく覚えてる。&lt;br /&gt;
&lt;br /&gt;
内容はリンク先を拝見していただくとして、&lt;br /&gt;
自分がハッカーになりたく、プログラマを続けている&lt;br /&gt;
”楽しみ”とはまた違った原動力のひとつになっている。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
これからこの業界に足を踏み入れる方達は、&lt;br /&gt;
僕と同じで大先輩の方々とはまた違った環境で育っている。&lt;br /&gt;
（高校生ぐらいの頃からUnixを扱っているようなゴールデンルーキーを除いてw）&lt;br /&gt;
&lt;br /&gt;
僕ぁなにせ最初に買ったOSがXPだもんよ。&lt;br /&gt;
&lt;a href=&quot;http://ja.wikipedia.org/wiki/XAMPP&quot; target=&quot;_blank&quot;&gt;XAMP&lt;/a&gt;を使いWindows上でなんちゃってサーバ構築から始まった人も多いはず。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
でもそれでいいと思う。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例え&lt;a href=&quot;http://www.php.net/&quot; target=&quot;_blank&quot;&gt;PHP&lt;/a&gt;からプログラミングを始めたって、&lt;br /&gt;
言語構造を知りたくなったらCに手を出したくなる。&lt;br /&gt;
Linux上での操作なんてGUIばっか触ってきた僕らゆとり世代には目からウロコだ！&lt;br /&gt;
そしてその快適さにすぐ虜になるはず。&lt;br /&gt;
&lt;br /&gt;
先ほど紹介した文書の著者：Eric氏もおっしゃってる通り、&lt;br /&gt;
複数言語を習得するごとに各々の文化に触れられる。&lt;br /&gt;
そしてメインの開発言語に生かすことができる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
そりゃあ萎える時もあるけど、&lt;br /&gt;
そんな時はまた”How To Become A Hacker&quot;を読んで頑張れるはず:)</content><link rel='replies' type='application/atom+xml' href='http://nishigori.blogspot.com/feeds/8447661489125562379/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://nishigori.blogspot.com/2011/03/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/8447661489125562379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4404910056858166205/posts/default/8447661489125562379'/><link rel='alternate' type='text/html' href='http://nishigori.blogspot.com/2011/03/blog-post.html' title='そうだ、ハッカーになろう'/><author><name>@_nishigori</name><uri>http://www.blogger.com/profile/17839880199380619603</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUX2fz1IK-c23Uh7VwInl-6t0pTSfTuDDPOSd7ibkMWC4rLf1YVlOwImuyeu-wE9ckOczHS18OnCQ0-7bqxW2gzIuGWcB9F3QVCylQWkKGSzYZ6XHpuRnrwaiJQHIrRE/s1600/*'/></author><thr:total>0</thr:total></entry></feed>