tag:blogger.com,1999:blog-53234727852924507032024-03-14T18:17:42.371+09:00弱小プログラマーの日記Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-5323472785292450703.post-86019423538025375152013-02-25T01:02:00.002+09:002013-02-25T01:02:44.656+09:00自分でコンパイルしたRubyをrbenvで管理する(Mac OS X)Qiitaに書きました。<div>
<a href="http://qiita.com/items/1f6b396a26984ba2c0b6" target="_blank">自分でコンパイルしたRubyをrbenvで管理する(Mac OS X)</a></div>
<div>
<br /></div>
Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com1tag:blogger.com,1999:blog-5323472785292450703.post-48523489013876877872013-01-30T18:35:00.002+09:002013-01-30T18:35:25.656+09:00Railsプログラマへの道Railsでアプリケーションを作ろうと思うと、Rubyだけでなく色々な前提知識が必要です。<br />
必要になる知識と、私がそれをどうやって学んできたかを書きたいと思います。<br />
<br />
※過不足あるかと思います。参考程度に。<br />
<br />
<h2>
Web(http)の知識</h2>
Ruby on RailsはWebアプリケーションフレームワークですので、当然Webアプリケーションを開発します。<br />
Webとは何なのか。httpって何か。ブラウザとWebサーバーは何をしているのかという知識は必須です。<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS1=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=mkonishi19803-22&o=9&p=8&l=as1&m=amazon&f=ifr&ref=qf_sp_asin_til&asins=4274062708" style="height: 240px; width: 120px;"></iframe><br />
<br />
結構古い本ですが、いまでも役に立つ知識が豊富です。<br />
HTMLの文法についてや、httpの通信について詳しく説明されています。<br />
マンガと、文章で書かれていて読みやすいし面白いです。<br />
これを読めば、Railsが面倒なところを色々と隠ぺいしてくれている事が理解出来るはずです。<br />
私が就職してすぐに、Webアプリ開発の仕事をなんとかやれたのは高校生の頃にこの本を読んでいたからだと思います。<br />
これに書いてあるレベルの事を知らない同僚は苦労していました。<br />
手に入りにくいとは思いますが、入手出来そうなら読んでみてください。おすすめです。<br />
<br />
<h2>
Rubyの知識</h2>
RailsはRubyでWebアプリケーションを作るフレームワークですので、Rubyの知識も必要です。<br />
私はプログラミング言語を、C → C++ → VB6 → Ruby, Java → C#, VB.NET みたいな順番で学んだため、Rubyを初めて触った時にはプログラミング未経験ではなかったというのと、Rubyは1.6の頃からなんとなく時々ダラダラと10年くらい触ってて、毎日書くようになったのはここ1年少しという感じなので、「この本で入門した」という記憶がありません。<br />
<br />
ということで、普通の意味の入門に何が良いのかか分かりませんが、今までに読んだRuby関連の本で良かったものを紹介します。<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=mkonishi19803-22&o=9&p=8&l=as1&m=amazon&f=ifr&ref=tf_til&asins=4274068099" style="height: 240px; width: 120px;"></iframe><br />
<br />
<br />
私が最初に買ったのは第2版でしたが第2版はruby1.8での内容ですので、こちらの方がいいです。<br />
1.9版はメタプログラミングに関する記述も増えています。<br />
(もうすぐ2.0がリリースされますが、1.8から1.9ほどの違いは無さそうなので<br />
2.0の本が出てから入門した方がいいとか、そういう事はないと思います)<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=mkonishi19803-22&o=9&p=8&l=as1&asins=4048687158&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe><br />
<br />
<br />
次はこれ。入門本ではありません。<br />
入門本ではありません。<br />
<br />
大事なことなので二回言いました。<br />
<br />
Ruby on Railsでアプリを作るための必須知識というわけではありませんが、読むとRuby力がレベルアップすること間違いなしです。<br />
入門レベルのことは全て理解したとか、他のオブジェクト指向言語の経験があり、Rubyの文法もだいたい覚えたという人におすすめです。<br />
私は後者のパターンですが、衝撃を受けました。<br />
あまりに衝撃を受けたので、<a href="https://twitter.com/patorash" target="_blank">@patorash</a>主催の読書会に参加してもう一度読み返してますが、やっぱり衝撃を受け続けています。<br />
<br />
<h2>
Railsの知識</h2>
やっとRailsです。<br />
こんなに読まないと、入り口に立てないのかと思われるかもしれませんが、<strong><span style="color: red;">立てません!</span></strong><br />
というのは冗談で、本当は良くわかりません。<br />
おそらくいきなりRailsの入門から初めて、バリバリプログラミングしている方も大勢居ると思います。<br />
とにかく、下記に紹介する本を読んでみてください。<br />
知識が足りないと感じたなら、上で紹介したような知識を身に付けてみましょう。<br />
<br />
<br />
<br />
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://tatsu-zine.com/books/rails3" name="amazletlink" target="_blank"><img alt="はじめる! Rails3(1)" src="http://tatsu-zine.com/images/books/5/cover_s.jpg" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://tatsu-zine.com/books/rails3" name="amazletlink" target="_blank">はじめる! Rails3(1)【電子書籍】</a></div>
<div class="amazlet-detail">
黒田努<br />
達人出版会<br />
発行日: 2011-02-03<br />
対応フォーマット: EPUB, PDF</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://tatsu-zine.com/books/rails3" name="amazletlink" target="_blank">詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
<div class="amazlet-box" style="margin-bottom: 0px;">
</div>
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://tatsu-zine.com/books/rails3_2" name="amazletlink" target="_blank"><img alt="はじめる! Rails3(2)" src="http://tatsu-zine.com/images/books/10/cover_s.jpg" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://tatsu-zine.com/books/rails3_2" name="amazletlink" target="_blank">はじめる! Rails3(2)【電子書籍】</a></div>
<div class="amazlet-detail">
黒田努<br />
達人出版会<br />
発行日: 2011-09-05<br />
対応フォーマット: EPUB, PDF</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://tatsu-zine.com/books/rails3_2" name="amazletlink" target="_blank">詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
<div class="amazlet-box" style="margin-bottom: 0px;">
<div class="amazlet-image" style="float: left; margin: 0px 12px 1px 0px;">
<a href="http://tatsu-zine.com/books/rails3_3" name="amazletlink" target="_blank"><img alt="はじめる! Rails3(3)" src="http://tatsu-zine.com/images/books/22/cover_s.jpg" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /></a></div>
<div class="amazlet-info" style="line-height: 120%; margin-bottom: 10px;">
<div class="amazlet-name" style="line-height: 120%; margin-bottom: 10px;">
<a href="http://tatsu-zine.com/books/rails3_3" name="amazletlink" target="_blank">はじめる! Rails3(3)【電子書籍】</a></div>
<div class="amazlet-detail">
黒田努<br />
達人出版会<br />
発行日: 2012-04-04<br />
対応フォーマット: EPUB, PDF</div>
<div class="amazlet-sub-info" style="float: left;">
<div class="amazlet-link" style="margin-top: 5px;">
<a href="http://tatsu-zine.com/books/rails3_3" name="amazletlink" target="_blank">詳細を見る</a></div>
</div>
</div>
<div class="amazlet-footer" style="clear: left;">
</div>
</div>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=mkonishi19803-22&o=9&p=8&l=as1&asins=4797363827&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe><br />
<br />
一気に書きました。<br />
私の場合は、はじめる! Rails3 1巻と2巻をまず読みました。<br />
この二冊を読んで、あとはRails3レシピブックを辞書変わりに、毎日毎日仕事で書いたり<br />
自宅で趣味のWebサービスを開発したりして、Railsに慣れていきました。<br />
<br />
はじめる! Rails3 3巻では、Rails3.2の話になりassets pipelineの話も解説されているので<br />
今の最新の環境に関する知識もバッチリです。<br />
<br />
はじめる! Rails3ですが、プログラミングの本なので当たり前ですが<br />
読むだけでなく、実際に自分のPCでプログラムを書いて、Railsを動かしながら読んでください。<br />
<a href="http://www.oiax.jp/" target="_blank">著者のWebサイト</a>にて、開発環境の構築や便利なツールの解説記事もあるので読んでみるといいでしょう。<br />
<br />
<h2>
おわりに</h2>
今回はRailsのプログラミングが出来るようになるまでを紹介したので書いてませんが、Railsは作ったものを公開するのがまた面倒だったりします。<br />
私がいままでやったことあるのは、Heroku、Sqale、のPaasサービスに乗せるパターンと、自分でScientific LinuxにRailsが動く環境を作って、そこにデプロイするパターンです。<br />
Scientific LinuxではWebサーバーにnginxを、アプリケーションサーバーにPassengerを使っています。Unicornというアプリケーションサーバーで構築したこともあります。<br />
本番環境へのアップロードも何かと面倒なので、capistranoで自動化しています。<br />
サーバー環境のRubyはrvmでインストールしたもので動かしています。<br />
あとは、Gitも使えるようになるといいと思います。<br />
<br />
本番環境への公開は、今回のテーマではないので詳しく書きませんが、上にあげたキーワードで検索してみると、いろいろな情報が出てくると思います。Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com1tag:blogger.com,1999:blog-5323472785292450703.post-58917289844866993362012-12-31T23:26:00.002+09:002013-04-29T23:36:49.293+09:002012年を振り返ってみる「退かぬ! 媚びぬ! 省みぬ!!」 <br />
<br />
ではなくて、今年はまず転職が大きなイベントだった。<br />
昨年の12月に会社を止めて、1月から<a href="http://www.rhizome-e.com/" target="_blank">リゾーム</a>に働いている。<br />
<br />
正直前職の会社を辞めるつもりは全然無かったのだけど、@kazuhisa1976のtwitterでのRuby技術者募集のツイートに、非公式RTで 「ノ」 って書いたのがキッカケで転職してしまった。<br />
こんなこと家族には言えないので、岡山Ruby / Ruby on Rails勉強会で知り合った@kazuhisa1976さんに誘われたことにしてある。<br />
<br />
この転職で得たものはとても多かった。<br />
<br />
・Railsでアプリケーション作れるようになった<br />
・自分でサーバーをセットアップしてデプロイも出来るようになった <br />
・テストを書くようになった<br />
・早く帰るようになって、毎日ではないが自分のコードを書く時間が格段に増えた<br />
・チームメンバー全員がプログラミングにすごく興味ある<br />
<span style="font-size: x-large;"><span style="color: red;">・チームメンバー全員がプログラミングにすごく興味ある</span></span><br />
<br />
大事なことなので二回言いました。<br />
細かいこと言うと若干ニュアンス違うのだけど、大体合ってるはず。<br />
ちなみにチームメンバーは、@LuckOfWise @kazuhisa1976 @patorash。<br />
来年からは @zephiransasも仲間になる。<br />
なんだこれ。何があった。奇跡か。<br />
<br />
あと今年は家でコード書く時間が増えたのと、今年はアウトプットするぞーって目標にしてた成果(?)でWebサービスを2つリリース出来た。<br />
<br />
<a href="http://mydic.office-ore.net/" target="_blank"><strike>My Dic</strike></a><br />
<u><strike> 英単語学習ツール</strike></u><br />
(2013/4/29 追記 My Dicは事情により閉鎖しました)<br />
<br />
<a href="http://lanze-orepublic.sqale.jp/" target="_blank">Lanze</a><br />
サーバー稼働監視ツール<br />
<br />
どっちもRailsで。特にLanzeの方は大体の機能は1週間くらいで出来たし便利な世の中になったものだと思う。<br />
実はもっとたくさ作るつもりだったし、100万くらい稼いでやる!と意気込んでいたのだけどその辺は全然駄目だった。ここで諦めず来年も頑張ろうと思う。<br />
来年はWebサービスだけでなく、Androidアプリも作ろうと思う。最近入門してて何か作れそうな気がしてきたしネタも思いついたので。<br />
<br />
良いことばかり書いてますが、いい事ばかりだったんだよ!<br />
後は全部忘れた!Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com0tag:blogger.com,1999:blog-5323472785292450703.post-87931927278736724332012-12-05T14:18:00.001+09:002012-12-05T14:18:50.318+09:00自動化は悪とか本気で思ってる人へ<a href="http://www.adventar.org/calendars/39" target="_blank">大都会岡山Advent Calendar</a> の5日目です。昨日はは<a href="https://twitter.com/ryosms" target="_blank">@ryosms</a> さんの<a href="http://blog.livedoor.jp/ryosms/archives/6773928.html" target="_blank">記事</a>でした。<br /><br />ネタは何でもいいという事だったので、昨日の夜、会社からの帰路で<br />自転車漕ぎながら考えてたことをそのまま文章にします。<br /><br />仕事の自動化でコンピューターに仕事を奪われちゃう人、<br />自動化したことで浮いた人を解雇して、人件費抑えて利益アップとか言ってる会社がありますね。<br />で、言ってる人の大半はネタで言ってると思うのだけど、「自動化は悪」という理屈。<br />でも本当にそういう理由で仕事を失った人から見たら、本気で自動化は悪と考える人も居るかもしれません。<br /><br />雇用が減ってて不景気で国が悪いとかそういうのは置いておきます。<br />自分が出来る事を考えましょう。<br /><br />自分がやってる仕事で何が自動化出来るのか、自動化されてしまうのか。<br />そこから把握しましょう。すでにコンピューターに任せれば人手なんて掛からない仕事をしているのかどうか、それを知らないといけません。<br />自動化されてしまうのか判断が付かないということは、コンピューターの知識が無いからだと思うのですが<br />そこは勉強するしかありません。自分で自動化出来るようになるほどの知識が必要なのではなく<br />自動化が可能かどうか知ることが大事です。<br />「書類整理 自動化」とか、なにか自分がやっている仕事と自動化というキーワードでググりまくるのも手かもしれないです。<br />こうやってアンテナを張ってにわか知識を詰め込んでいくうちに、自動化されなさそうな仕事もまた分かってくるでしょう。<br />こういう情報に敏感になるべきです。<br />仮に自分が今やっているすべての作業が自動化されてしまうものばかりだったとします。<br />そこで絶望しても仕方ないので、それ以外の仕事が出来るような知識なり技能なりを見つけないといけません。<br />でも、目の前の仕事が忙しくてそんな勉強が出来る時間は無いかもしれません。<br />(忙しさを理由に勉強しない人は、暇が出来ても勉強しないと思うのですが、まぁそれも置いておきます)<br />時間を作るにはどうすればいいか。<br />自ら会社に、自分が今やっている作業は自動化出来ることが多いので、自動化してくれと頼みましょう。<br />それによって空く時間で、勉強をしたいということも申し出ます。<br />他にも価値があることをやれるようになるしかないわけです。<br />ちなみにこういう意識転換をせずに、根性で今の倍働いて成果を出そうとする人がいますが<br />それはまったくの間違いです。<br />最高でも成果は倍にしかなりませんし、そのうち死んでしまいます。<br />死ななかったとしても、残るのは倍働いていた時間で得た成果だけで、個人として何か価値が増えたわけではないです。<br />自分を変えるというのは、そういう事ではないです。<br />AWSのオンデマンドインスタンスの様に使われて、要らなくなったらポイされないように。<br /><br />楽をする為の努力は大変です。大変だから、ただ単に長く働くという楽な選択肢に逃げています。<br />でも長く働いて辛い思いをしているので、自分が逃げていることに気づいていないのではないですか?<br />自分が頑張っていると思い込んでいるそのやりかたが、じつは楽だから逃げているだけじゃないかどうか<br />考えましょう。<br /><br />「時代の変化を感じ取り、自分と会社を変える」というのは、こういうことだと思います。<br />
<br />
明日は<a href="https://twitter.com/kazuhisa1976" target="_blank">@kazuhisa1976</a> さんです。楽しみですね。<br />
<br />Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com0tag:blogger.com,1999:blog-5323472785292450703.post-15900276561013686822012-11-20T01:15:00.001+09:002012-11-20T01:15:18.553+09:00ドラクエの魔法、一つだけ使えるようになるとしたら?<br />
大学生の頃にタイトルの話題で一時期盛り上がったか事があります。<br />
一番人気はルーラです。 ドラえもんの道具で何が欲しいかという質問にもどこでもドアは人気のようです。<br />
しかしこれは一見便利そうですが、それほど役に立つとは思えません。電車やクルマや飛行機やお金があれば何とかなりそうです。<br />
せっかく一つだけ魔法が使えるようになるというのに目先の利益に目がくらんで、頑張ればどうにかなることを選んでしまうのはもったいない。<br />
間違いなくこの魔法を選んだ人は金持ちににはなれません。横並び意識強すぎます。 <br />
次に多かったのは回復魔法系。ホイミとかキアリーとか。<br />
ベホマレベルになれば、普通では回復しないような怪我でも治るだろうし、キアリーも普通ではどうにもならない状況を回避できそうです。<br />
ただホイミ系の魔法を使える人は会社には言わない方がいいと思います。何故かは皆さんならきっと分かっているでしょう。<br />
<br />
あと、レムオルとかアバカムとかお前いったい何するつもりだってやつが一人二人いました。<br />
<br />
私のオススメは攻撃魔法です。<br />
人生で通常では起こり得ない大ピンチに陥ったとき、そういう時に役だってこそ魔法を覚えた価値があるというものです。<br />
例えば何か悪の組織的なアレに小さくなる薬飲まされそうとかそういうアレです。<br />
ルーラで逃げるってのも有効な気がしますが弱点が多い。外でしか使えない。大体アレ、本当に無事に着地出来るのか?<br />
それに逃げても問題の解決にはなりません。やっぱり倒さないと。<br />
ということでメラゾーマかイオナズンあたりがオススメです。<br />
動物は火を怖がる習性があるのでメラゾーマの方が効果が高いかもしれません。<br />
<br />
というあたりを想定して、メラゾーマを選択したのですが<br />
友達に「お前は一体何をするつもりだ?」と言われました。<br />
レムオル選択したお前には言われたくねーよ。 Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com1tag:blogger.com,1999:blog-5323472785292450703.post-22623046033385661232012-10-30T23:46:00.005+09:002012-10-30T23:46:55.498+09:00ぼくのかんがえたさいきょうのはたらきかたマジで書いてます。<br /><br />
<h2>
■働く時間</h2>
日本の会社は1日8時間が標準の労働時間のところが多いと思います。
でもそんなに集中して働けないです。長くても4時間です。
それ以上は全然集中出来ません。調子が悪い時は4時間でも無理です。
でも、好きな事をやってると集中出来たりするので、残りの4時間は何か面白いことをやりたいです。<br />
<br />
Haskellの勉強とか、Scalaの勉強とか、F#の勉強とか(個人の感想です)<br />
<br />
会社に8時間居なきゃいけないのがどうしようもないというのなら、4時間労働、4時間は勉強(というか何かしらの時間投資)
に充てて、そのサイクルで得た技術なり知識なりで他人の二倍以上の速度で仕事が出来るようにしたいものです。
今はそんな理想には程遠いのですが、意地でも定時で帰るということを心がけています。<br />
<br />
<h2>
■会議</h2>
参加者をうんざりさせる会議を開いてしまう人は、みんな同じような思い違いをしていると感じます。<br />
<br />
・皆の意見を集めればよりいい意見が出来上がる<br />
・皆で集まれば意思決定出来る<br />
<br />
これらは、まだ前向きで、中には<br />
<br />
・皆で決めたことにして、決定したという責任を負いたくない<br />
・会議すると仕事した感じで充実する<br />
<br />
みたいな酷いのも居ます。
何か決定したければ人数は少ないほうが良いし、皆の意見を集めたいだけなら
メールか何かでアンケート取ればいい。返事を出さないような奴は会議でも喋らない。
皆で集まって同意をとった形にしたければ事前にネマワシしておけばいいし、
何かを決めてしまいたければ自分の責任で決めればいい。駄目だったら謝っとけばいいんだよあんなもん。<br />
<br />
<h2>
■コミュニケーション大事 </h2>
上の会議にも通じるものがあるんだけど、コミュニケーションはとればいいてもんじゃない。<br />
仕事がうまく回ってるなら、むしろ取らなくていい。うまく回ってる仕事を止めてまで何を語り合うのか。<br />
本当に必要なときにだけ、必要なコミュニケーションが取れるようにして、ようやく何が大切かが分かる。<br />
<br />
問題の本質がどこにあるのか探らずに、もっと酷い時は問題なんて何も無いときにまで、やたらとコミュニケーション、コミュニケーション言っても仕方がない。<br />
ちゃんと仕事が出来るやつは、相手のことが嫌いだろうが話しにくかろうが交流を図るし、不要ならわざわざ無駄に時間を使ったりしない。<br />
<br />
※必要なコミュニケーションまで阻害するような環境になるというのも良くないです。上記は無意味にとりすぎようとするなという話です。<br />
<br />
<h2>
■管理・教育</h2>
これについては何がいいのか、どんなふうになれば幸せなのか、自分の中でもよくわからないです。<br />
本音を言えば、こんなこと考えずとも何も問題ないようなメンバーとだけ仕事をしたい。今はそれ以上のことは考えられない。<br />
Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com1tag:blogger.com,1999:blog-5323472785292450703.post-51394360095229418052012-10-12T18:29:00.002+09:002012-10-30T22:20:56.378+09:00rvmの挙動が変わったっぽいのでメモ※2012/10/12現在の話<br />
つい最近までは、<br />
<br />
$ rvm install 1.9.2<br />
<br />
とやれば、libyamlは勝手にインストールしてくれたんだけど、今日やってみると入れてくれなかった。
なので今度から下記のように明示的に指定して入れる。<br />
<br />
$ rvm pkg install libyaml<br />
$ rvm install 1.9.2 -C --with-libyaml-dir=$HOME/.rvm/usr<br />
<br />
以上。<br />
<br />
※2012/10/30 追記<br />
10/27の時点で最新のrvmで、1.9.3-p286を入れたときはyamlのインストールから勝手にやってくれました。<br />
上記の時期だけ出てたバグを踏んだだけかもしれないです。<br />
(rvm触ってるとこういうこと多いね) Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com1tag:blogger.com,1999:blog-5323472785292450703.post-24096866671975343922012-09-21T23:56:00.005+09:002012-09-22T00:05:49.460+09:00札幌Ruby会議2012に参加した<h2>
はじめに</h2>
札幌Ruby会議2012に行って来たので、感想やメモを書きました。<br />
会議の内容については札幌Ruby会議2012のレポートチームによる下記の記事が詳しいです。<br />
<br />
<a href="http://gihyo.jp/news/report/01/sapporo-rubykaigi2012">札幌Ruby会議2012 スペシャルレポート</a><br />
<br />
<h2>
9/13(木)</h2>
<h3>
移動日</h3>
岡山からの札幌便が、14:35発の1便しかないため前日入。<br />
飛行機が遅れて15:00離陸、新千歳空港についたのが17:00過ぎくらい。<br />
札幌まではさらに1時間くらいかかった。<br />
ホテルにチェックイン後、晩御飯を。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG1-rFVG96UFWMPJBnDEMkNQUHUKS2yZtdQxHYfQPNtk5e9GKN3Jg6hQOMtQEGqv8_e72dWMBrrWMJSH0cWeo7DK8YnYAEQMkal-7YbY5gy_umZtv6seAWANvpB71o2g9r3sBZi2oZLF8/s1600/2012-09-13+19.47.44-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG1-rFVG96UFWMPJBnDEMkNQUHUKS2yZtdQxHYfQPNtk5e9GKN3Jg6hQOMtQEGqv8_e72dWMBrrWMJSH0cWeo7DK8YnYAEQMkal-7YbY5gy_umZtv6seAWANvpB71o2g9r3sBZi2oZLF8/s320/2012-09-13+19.47.44-2.jpg" width="320" /></a></div>
コリコリしてて旨かった。<br />
<br />
<h2>
9/14(金)</h2>
<h3>
会議前</h3>
Herokuから、先着100名に弁当を配るということで開場よりもかなり早く行ってみました。<br />
めでたく弁当ゲット。配っているメンバーも、相澤さん、まつもとさん、笹田さんと豪華メンバー。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2H0yc8y-5sg3FvGCn0D0OmgYLkVXUQiRFCkA3IkPqaREU7GOH2DokIF-9B9A2zNpiZopl04e0ytex0R5hY0fa6AFvcDOAIOGssluSKiIsIgqmOyibT1g1CYTPiCB1INDLS-QMbf7ignY/s1600/2012-09-14+11.40.22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2H0yc8y-5sg3FvGCn0D0OmgYLkVXUQiRFCkA3IkPqaREU7GOH2DokIF-9B9A2zNpiZopl04e0ytex0R5hY0fa6AFvcDOAIOGssluSKiIsIgqmOyibT1g1CYTPiCB1INDLS-QMbf7ignY/s320/2012-09-14+11.40.22.jpg" width="320" /></a></div>
タンブラーもいただいた。<br />
<br />
<h3>
■9/14(金) 1日目</h3>
<h3>
</h3>
<h4>
スポンサーセッション Heroku 相澤 歩さん</h4>
<br />
HerokuはただのPaasをやっているのではなく、プロフェッショナルのための生産性をいかに高めるのかを哲学にしているという言葉が印象深かった。<br />
最新のスタックのCedarでは、Ubuntu10.04で動く言語なら何でも動くらしい。Railsだけのサービスではない。<br />
<br />
<h4>
スポンサーセッション マイクロソフト 平野 和順さん </h4>
<br />
マイクロソフトのオープンソース戦略についての話。<br />
MacやLinuxで開発している人にもWindows Azureを使ってもらえるようにSDKをそれぞれのOS用に用意したり、能楽堂というRailsのアプリケーションサーバー、Webサーバーを開発している。<br />
<br />
HerokuやSqale、このAzureもだけどRailsを動かすためのPaasタイプのサービスが増えてきて面白い。仕事でも個人でも今はRailsでアプリを書いているので試して比べてみたいと思う。<br />
<br />
<h4>
スポンサーセッション 英和システムマネジメント 高橋 健一さん</h4>
<br />
ソーシャルコーディングについての話。<br />
コードを書くにはエンドツーエンドテストを最初に書き、Rspecでユニットテストを書いていく。<br />
gitを使っていて、pull request単位でコードレビューをしているとのこと。<br />
<br />
コードレビューの面白い例として、リーダブルコードの章番号付きで、なぜ良くないかのを示してレビューコメントがあった。<br />
<br />
「自分たちが納得できるようなプロダクトを作ることも出来ずに、お客様を満足させることは出来るのか?」<br />
この言葉が熱かった。<br />
<br />
この部分はこんなんじゃ駄目だなーという思いが残ったまま仕事してると、やっぱり駄目なことになってしまう。<br />
<br />
<h4>
スポンサーセッション クックパッド 井原 正博さん</h4>
<br />
クックパッドの組織づくりについての話。<br />
色々とキーワードが出てきたけど、自分が気になったのは以下のところ。<br />
・才能がきちんと活かされる世界であって欲しい。<br />
・全社員が技術を正しく理解している<br />
・絶対に自分より優秀な人を採る<br />
・バスに乗れる人数は決まっているので、誰を乗せるかが大事<br />
<br />
これを実践して組織づくりしてるってマジで凄いと思う。<br />
最近同僚ともこの手の話をよくするので考えされる話だった。<br />
<br />
<h4>
料理をささえる技術 クックパッド 舘野 祐一さん</h4>
<br />
rails2.3からrails3.0への移行にあたって、どんなふうに作業していったかをかなり具体的に解説。<br />
本番環境のリクエストを複製して、rails3.0バージョンのアプリに流すやり方はなるほどと思った。<br />
これは同じような事が出来るようにうちでも環境を作りたい。<br />
<br />
提供しているサービスの形態が違うので同じように出来ない部分もあるけど、今後もrailsアプリをメンテしていくのにとてもためになる話だった。<br />
<br />
<h4>
MobiRuby masuidriveさん</h4>
<br />
RubyでiPhoneアプリが書けるMobiRubyの話。<br />
mrubyを使って開発している。実際にMobiRubyで開発されたアプリがApp Storeにリリースされている。<br />
Rubyで色んなアプリが書けるようになると嬉しいので、こういうのどんどん出てきて楽しい。<br />
<br />
Androidにも対応する予定みたい。<br />
<br />
<h4>
一日目最後</h4>
<br />
Rubotのセッションのはずが、急遽なくなってしまったということでMatzに質問コーナーが。mrubyについて色々聞かれていた。<br />
<br />
メモ取ってなかった。<br />
<br />
<h3>
9/15(土) 2日目</h3>
<br />
<h4>
Purely functional programming in Ruby 前田 修吾さん</h4>
<br />
Rubyは関数型っぽい言語で、関数型言語由来の機能がけっこう入っているが、やっぱり命令形言語である。<br />
そのRubyで副作用のない関数プログラミングをするにはという話。<br />
<br />
<br />
<br />
配列を使うと副作用をさけられないので、HaskellなどにあるListを実装する。<br />
再帰をつかって処理を書くとすぐにオーバーフローする。末尾再帰の形で記述してもrubyだとやっぱりスタックがあふれる。<br />
じつは末尾再帰最適化のオプションがデフォルトでoffになっている。ruby2.0では有効になるかもしれないとのこと。<br />
<br />
gem install immutableでインストール。<br />
<br />
ベンチマークを取るとArrayよりかなり遅い。実用には向かないとのこと。<br />
でも面白いので使ってみたい。<br />
<br />
<h4>
Patter Matching in Ruby</h4>
<br />
先ほどのセッションに続き、関数型っぽい話題。<br />
gem install pattern-matchでインストール。<br />
Arrayだけでなく色々なオブジェクトでマッチ式を書ける。<br />
<br />
正規表現のマッチとかすごく便利そう。これは実践でも色々使ってみて情報共有してみたいと思った。<br />
<br />
<h4>
Keynote Aaron Patterson</h4>
<br />
サラミの情報のリアルタイムシステムについて。<br />
この発表は面白かった。<br />
ハードウェアから自作する人とかすごく尊敬する。<br />
<br />
<h4>
Keynote Matz</h4>
<br />
まつもとさんのコードを書く話。<br />
すごく熱い話だった。<br />
我コード書く、ゆえに我あり。<br />
自由に、強制されずに、書こう。<br />
<br />
モチベーションが大事で、モチベーションがあるなら車輪の再発明でも何でもやればいい。<br />
この話、すごく背中を押してくれた感じ。参加してたみんなもそうなんじゃないかなぁ。<br />
<br />
<h4>
アメリカのカンファレンスに行こう 原田洋子さん</h4>
<br />
英語が分からないから勉強してからとか、アメリカ遠いとかそういうこと考えないで<br />
とにかく行こう。行ってみて英語使わないと話せるようにならない。<br />
プログラミング言語と同じで、使わないと使えるようにならない。<br />
使えるようになってから使うとか考えてたらいつまで経っても出来ない。<br />
<br />
今回札幌にもかなり思い切って行ったのだけど、次はアメリカ行きたいなぁ。<br />
<br />
<h4>
Japanese a programming language アンドリューグリムさん</h4>
<br />
日本語は面白い言語という話。プログラミング言語であると。<br />
日本語は文法が簡単で、順序を変えずに単語を変えるだけで質問になる。<br />
英語だと順序が変わる。<br />
<br />
アンドリューさんは、一日目と二日目の懇親会への移動時に話しかけてくれたんだけど<br />
質問されて答える。質問されて答える。だけで会話が終わってしまう上に<br />
会話自体なかなか通じなくて、自分の英語のひどさを再自覚。<br />
<br />
原田さんのセッションでもあったとおり、勉強しようと思っててもしないので<br />
もっと英語圏の人に関わって、使うようにしないなと思った。<br />
<br />
<h4>
Ruby2.0 笹田さん</h4>
<br />
Ruby2.0の中身の話。<br />
Ruby2.0がどうなるかという話ではなく、Ruby2.0の機能をどうやってやるかの話。<br />
笹田さんなので、きっとそういう話だろうというつもりで聞きに行くと、<br />
RHG(Ruby Hacking Guide)くらい皆読んでますよね? との入りから。<br />
一応読んでるので大丈夫なはず。<br />
<br />
といっても、Flonumの話くらいしか理解出来ずだったけど。<br />
まぁしかしRuby2.0は楽しみだなぁ。<br />
聞いててRubyのプロファイラとか作ってみたいと思った。そういう技術興味ある。<br />
<br />
<h4>
Rubyによる本気のGC</h4>
<br />
RubyでGCを作りたいけど、でもRuby自体のGCが影響してあれだしという悩みから<br />
色々なVMとかGCを調べて、JikesRVMというVMを使ってやってみたという話。<br />
実装したGC中に、実装言語のGCが走らないように対象言語のオブジェクトを作らないように<br />
とかやってるうちに、「C死ね」から始まったのに結局Cを直接読んだりとか<br />
色々微妙になってしまったとのこと。<br />
<br />
言語処理系の実装の話が好きなので面白く聞けた。<br />
<br />
<h4>
LT</h4>
<br />
LTのところはメモがあんまり取れてないのでざっくり書きます。<br />
(LTはその場の臨場感を楽しむものだと思ってるので、集中して顔を上げて聞いてました。<br />
花火大会で花火の写真を撮らずに見るのと同じ)<br />
<br />
家計簿さなたろう。個人のプロダクトで奥さんと話し合いながら作った。<br />
うちも嫁さんから使いやすい家計簿が欲しいと言われてて、いま個人でやってるプロジェクトが落ち着いたら作ろうと思ってたので、じっくり参考にしたい思う。githubに公開されていたので早速フォークした。<br />
<br />
Axlxsの話。Rubyからxlsxを扱えるライブラリ。<br />
CSVなんて使うな、ユーザーはそんなもの使ってない。開発者の怠慢だってのがグサッときた。<br />
<br />
コードレビューの話。<br />
良いレビューは、「どこが悪いか」「なぜ悪いか」「どうすれば改善するか」を入れる。<br />
m9(^Д^)とか書いちゃ駄目。<br />
<br />
<h3>
9/16(日) 3日目</h3>
<h4>
<br />
Rubyの世界の継続的デリバリ 柴田さん</h4>
自分のなかで、いま一番課題になってて悩んでる部分の話。<br />
ものすごく参考になった。というか、これからガンガン参考にして<br />
今のプロジェクトの問題点をやっつけて行きたい。<br />
<br />
具体的にどういうツールを使っているかも聞けて、今回の中で個人的には一番聞けてよかった話だった。<br />
<br />
<h4>
分散 RSpec 村田健太さん</h4>
<br />
これもまさに今の仕事での悩みの一つ。<br />
クックパッドのテスト、分散環境で10分以内に終わるようになったのは雑誌でも見てて<br />
実行時間が平均化するように振り分けているのがすごいんだけど、<br />
そこからさらに進んで、動的に振り分けてさらに効率良く平均化出来るように取り組んでいるとのこと。<br />
<br />
俺の前職の経験で、負荷が高い処理を複数サーバーに動的に振り分けるってのをちょっとやってたのもあってこの完成形が楽しみ。<br />
<br />
クックパッドはこういう成果を公開してくれて、ライブラリを出してくれたりして<br />
<br />
本当に仕事が助かってる。すごい会社。<br />
<br />
<h4>
ぬRubyKaigi Smalltalkハンズオン</h4>
<br />
まさかのSmalltalkハンズオン。<br />
Squeakによるもの。前に図書館で本を借りて読んだことあったんだけど<br />
Squeak面白くて、時間とって勉強しようとしてたので、つい参加した。<br />
言語というより、OSに近い環境そのものって感じ。<br />
スライドもSqueakの中で動いてた。<br />
このまえ「自由自在Squeakプログラミング」がpdfで配布されてるのを入手したので<br />
それも読んで色々とやってみたい。<br />
<br />
<h3>
まとめ</h3>
<br />
上記に書いたもの以外のセッションも聞いたりしたんだけど詳しくはスタッフのかたがレポートをまとめてくれているのでそちらを見るといいと思う。<br />
<br />
今回本当に楽しかった。3日間ものイベントであれだけの参加者でスタッフの方々はすごく大変だったと思う。<br />
こんなに楽しいイベントをやってくれてありがとうございます。<br />
<br />
ちょっと自分の話を書くんだけど、すごくやってて良かったと思うのが「るびま編集」。<br />
これやってなかったら今回色々と話しした人の半分とも話せなかったかもしれない。<br />
岡山のRubyist、いっしょに編集やろう! (記事も書いて!!)<br />
岡山のRuby盛り上がるし、こういういい事あるよ!<br />
<br />
で、反省点はやっぱり「英語」。<br />
これはねぇ。どうしようかなぁ。<br />
アメリカに一回行ってみるかなぁ。<br />
<br />Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com0tag:blogger.com,1999:blog-5323472785292450703.post-88968924175517319462012-07-09T06:05:00.001+09:002012-07-09T06:05:13.256+09:00岡山Ruby会議01を開催しました<h2>
岡山Ruby会議01</h2>
<div>
2012/7/7(土)に、岡山Ruby会議01を開催し、スタッフとして参加しました。</div>
<div>
会の詳細は次号のるびま(39号)の載せる予定で、スタッフで執筆中ですのでお待ちください。</div>
<div>
<br /></div>
<div>
また、今回は2つ発表をさせて頂いたので、資料を公開しておきます。</div>
<div>
<br /></div>
<h2>
るびまの紹介</h2>
<div>
<div style="width:425px" id="__ss_13577572"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/mkonishi1981/rubyist-magazine-13577572" title="Rubyist magazine るびま の紹介 - 岡山Ruby会議01 -" target="_blank">Rubyist magazine るびま の紹介 - 岡山Ruby会議01 -</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/13577572" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0" allowfullscreen></iframe> <div style="padding:5px 0 12px"> View more presentations from <a href="http://www.slideshare.net/mkonishi1981" target="_blank">mkonishi1981</a> </div> </div>
<br />
</div>
<div>
<br /></div>
<h2>
Rubyでサーバー管理を楽に</h2>
<div>
<div style="width:425px" id="__ss_13577557"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/mkonishi1981/ruby-13577557" title="Rubyで楽々サーバー管理 - 岡山Ruby会議01 -" target="_blank">Rubyで楽々サーバー管理 - 岡山Ruby会議01 -</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/13577557" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0" allowfullscreen></iframe> <div style="padding:5px 0 12px"> View more presentations from <a href="http://www.slideshare.net/mkonishi1981" target="_blank">mkonishi1981</a> </div> </div>
<br /></div>
<div>
<br /></div>Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com0tag:blogger.com,1999:blog-5323472785292450703.post-90831999182534056382012-07-05T00:34:00.000+09:002012-07-05T00:34:08.928+09:00chefを使ってみた 試行錯誤のまとめ<h2>
<span class="Apple-style-span" style="font-size: large;">はじめに</span></h2>
<div>
過去の仕事でサーバーを1000台以上管理する仕事をしていて大変だったときに、chefというサーバー構成管理ツールを知りました。結局その仕事をしていた会社は辞めてしまったのですが、今の仕事でもサーバーの管理の必要が少なからずあるため、楽をするためにまずは使い方を覚えようと思い、自宅のPCに仮想マシンでLinuxを動かして試してみています。その時に参考にしたサイトをまとめます。</div>
<div>
<br /></div>
<h2>
<span class="Apple-style-span" style="font-size: large;">サイト一覧</span></h2>
<div>
・<a href="http://blog.madoro.org/mn/81">Chefを最速で使いこなすためのいくつかのポイント</a><br />
用語や概念の理解</div>
<div>
<br /></div>
<div>
・<a href="http://firn.jp/2011/12/05/chef-introduction">Chefで始めるシステム構成管理入門 その1</a><br />
用語や概念の理解</div>
<div>
<span class="Apple-style-span" style="font-size: 32px; font-weight: bold;"><span class="Apple-style-span" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: small; font-style: inherit; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;">・<a href="http://firn.jp/2011/12/08/chef-install">Chefで始めるシステム構成管理入門 その2 – インストールと初期設定</a></span></span><br />
chef-serverのインストールと管理作業PCへの管理ツールのセットアップ</div>
<div>
<br /></div>
<div>
・<a href="http://www.creationline.com/lab/1742">http://www.creationline.com/lab/1742</a><br />
node側の設定、設定したレシピが反映されるまで</div>
<div>
<br /></div>
<div>
・<a href="http://jp.rubyist.net/magazine/?0035-ChefInDECOLOG">Chef でサーバ管理を楽チンにしよう! (第 1 回)</a></div>
<div>
・<a href="http://jp.rubyist.net/magazine/?0037-ChefInDECOLOG">Chef でサーバ管理を楽チンにしよう! (第 2 回)</a><br />
レシピを書く例</div>
<div>
<br /></div>
<h2>
<span class="Apple-style-span" style="font-size: large;">実験用の環境の構築</span></h2>
<div>
上記のサイトを参考にしつつ、自分のPCにchef-serverとnodeの仮想マシンを作ってみました。<br />
<br />
構成は下記のようにした。<br />
<br />
・管理作業用PC:Mac (192.168.11.10/24)<br />
・chef-server:debian6 (192.168.11.25/24)<br />
・node:Scientific Linux 6.2 (192.168.11.26/24)<br />
<br />
chef-serverがdebianなのは、パッケージが用意されていてインストールが楽だから。<br />
nodeがSL6.2なのは、仕事で使っているサーバーがSLだから。<br />
<br />
<h2>
<span class="Apple-style-span" style="font-size: large;">構築手順</span></h2>
<span class="Apple-style-span" style="color: red;">※各マシンの<span class="Apple-style-span" style="font-family: Arial;">日付が大きくずれていると、nodeからサーバーにアクセス出来ない。</span></span><br />
<div style="font-family: Arial;">
<span class="Apple-style-span" style="color: red;"> ntpなどでちゃんと合わせておこう。</span></div>
</div>
<div>
<br /></div>
<div>
<div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 32px; font-weight: bold;"><span class="Apple-style-span" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: small; font-style: inherit; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><a href="http://firn.jp/2011/12/08/chef-install">Chefで始めるシステム構成管理入門 その2 – インストールと初期設定</a></span></span></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<span class="Apple-style-span" style="font-size: 32px; font-weight: bold;"><br /></span></div>
</div>
<div>
このサイトの手順通りに、debianにchef-serverを入れる。</div>
<div>
また、Macにはknifeを使えるように設定。</div>
<div>
<br /></div>
<div>
続いてnodeとなるSL6.2の設定。</div>
<div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
Scientifix Linux6.2をインストール。(GUIなしのバージョン)</div>
</div>
<div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
rvmで一般ユーザー権限で入れたrubyだと、パーミッションとかで何かとあれなので</div>
<div style="font-family: Arial;">
OSのパッケージのrubyとrubygems入れる。</div>
<div style="font-family: Arial;">
chef-clientを、root権限で実行させる。</div>
<div style="font-family: Arial;">
<span class="Apple-style-span" style="color: red;">※もしサーバーに入れてあるアプリの関係で他のバージョンのrubyが必要な場合は</span></div>
<div style="font-family: Arial;">
<span class="Apple-style-span" style="color: red;"> そちらをrvmで入れたrubyで動かす。</span></div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
$ su -</div>
<div style="font-family: Arial;">
# yum install ruby rubygems</div>
<div style="font-family: Arial;">
# yum install ruby-devel</div>
<div style="font-family: Arial;">
# gem install chef --no-rdoc --no-ri</div>
</div>
<div>
<div>
<div style="font-family: Arial;">
# cd /etc</div>
<div style="font-family: Arial;">
# mkdir chef</div>
</div>
<div style="font-family: Arial;">
# cd chef</div>
<div style="font-family: Arial;">
# scp root@192.168.11.25:./chef/validation.pem ./</div>
</div>
<div style="font-family: Arial;">
<div>
# vi /etc/chef/client.rb</div>
<div>
chef_server_url '<a href="http://192.168.11.25:4000/">http://192.168.11.25:4000</a>'<br />
<div>
node_name 'sl001'</div>
</div>
<div>
<br /></div>
</div>
<h2>
<span class="Apple-style-span" style="font-size: large;">レシピの作成とnodeへの反映</span></h2>
<div>
<div style="font-family: Arial;">
Macで作業</div>
<div style="font-family: Arial;">
% knife cookbook create cron_sample -o cookbooks</div>
<div style="font-family: Arial;">
% vi cookbooks/recipe/default.rb</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
<i><b><span class="Apple-style-span" style="color: #ff5056;">cron "user_c" do</span></b></i><br />
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> minute "30"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> user "masaya"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> command "/bin/true"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> path "/home/masaya/bin"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;">end</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"><br /></span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;">cron "root_c" do</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> user "root"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> command "/bin/ls"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> hour "4"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;"> minute "11"</span></b></i></div>
<div>
<i><b><span class="Apple-style-span" style="color: #ff5056;">end</span></b></i></div>
</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
% knife cookbook upload cron_sample -o cookbooks</div>
<div style="font-family: Arial;">
% knife node run_list add sl001 cron_sample</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
SL6.2で作業</div>
<div style="font-family: Arial;">
rootでログインして、chef-clientを動かしてレシピを反映させる。</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
# chef-client</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
crontabの確認</div>
<div style="font-family: Arial;">
# crontab -l</div>
<div style="font-family: Arial;">
<i><b><br /></b></i></div>
<div style="font-family: Arial;">
<i><b> # Chef Name: root_c</b></i></div>
<div style="font-family: Arial;">
<i><b>11 4 * * * /bin/ls</b></i></div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
もう一つのユーザーになって確認してみる。</div>
<div style="font-family: Arial;">
# su - masaya</div>
<div style="font-family: Arial;">
# crontab -l</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
<b><i># Chef Name: user_c</i></b></div>
<div style="font-family: Arial;">
<b><i>PATH=/home/masaya/bin</i></b></div>
<div style="font-family: Arial;">
<b><i>30 * * * * /bin/true</i></b></div>
</div>
<div>
</div>
</div>Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com0tag:blogger.com,1999:blog-5323472785292450703.post-45522503308267604502012-05-24T05:58:00.001+09:002012-05-24T05:58:49.656+09:00第一回関数型言語勉強会 大阪に参加した当日の雰囲気はこちら<br />
<a href="http://togetter.com/li/306278">http://togetter.com/li/306278</a><br />
<br />
<h2>
大阪までの道のり</h2>
<div>
家を出てから、新幹線→御堂筋線乗り換え→梅田で降車までは順調だったのだけど・・・</div>
<div>
ひとまず会場に行くにはどこの出口から出ればいいのかを確認するために、駅構内の地図とiPadの地図を見比べて、何かがおかしい。</div>
<div>
数分間見比べた結果、構内の地図は北が右側になってることに気づいてやっと方向を理解。</div>
<div>
(で、この間に改札をまだ出てない事実を忘れます)</div>
<div>
その後、どこの階段登っても改札が現れて、駅から出れなくて悩むも、3つ目の改札でようやく改札をまだ出てないことに気づいて、無事地上に出れたのだけど、勉強会には遅刻しました。</div>
<div>
もうちょっと道に迷う時間を考慮して家を出るべきだったですね。</div>
<div>
<br /></div>
<div>
普通の都会怖い</div>
<div>
<br /></div>
<h2>
勉強会</h2>
<div>
まず最初にすごいと思ったのは、この「関数型言語勉強会」というテーマで、80人近くの人が参加登録をしたということ。定員は45人だったので皆が参加出来なくて残念だったけど、それだけの人がこのテーマに興味持ってるというのが驚きです。</div>
<div>
<br /></div>
<div>
ひとつひとつの発表の内容がどんなだったかは書けませんw。</div>
<div>
聞いてなかったわけじゃなくて、むしろ頑張って聞いてたんだけど、何をメモすればいいのかもさっぱりな感じでですね(言い訳)。</div>
<div>
<br /></div>
<div>
全体的な感想として、関数型言語の説明といいつつHaskellの説明が多かったかなぁってのと、そのためか何なのか、静的型付で参照透明性でっていうのが関数型言語の定義の中に入ってしまっている感じがしました。</div>
<div>
<br /></div>
<div>
いけがみさんが「皆Haskellに影響されすぎ、自重しろ」ってことで、副作用がないとか参照透明がとかばかりが関数型言語じゃないよって話が良かったです。関数型言語と呼ばれているものの紹介や、勉強するのに読むといい本の紹介があって、その場でAmazonでポチッた人も居たようです。<a href="http://www.slideshare.net/ikegami__/1-lt-12266517">発表資料</a></div>
<div>
いけがみさんは、<a href="http://sovmoess.tumblr.com/post/23289171302">参加出来なかった人向けのフォローの記事</a>を書いてくださってます。</div>
<div>
<br /></div>
<div>
個人的にはまったく理解出来なかった発表も含めて、全部楽しかったです。こういう話を少しでも理解出来るようになってみたいという思いもあるというのに気づきました。</div>
<div>
<br /></div>
<div>
気になったのは「こわい」「こわくない」って単語が頻発してたのと、関数型の考え方の何が嬉しいのかの具体例がなかった事。今回は初心者向けということで開催されたみたいなんですが、もっとゆるーく、ちょっとした利点が聞きたかったであろう人が(そういう人が居たのかどうかは分からないですが)、次回から来なくなるんじゃないかと心配だったりしました。</div>
<div>
<br /></div>
<h2>
懇親会</h2>
<div>
せっかく大阪まで行ったし、知ってる人が全然居ない勉強会だったので、誰か一人でも多くの人と知り合いになろうと思って懇親会にも参加してきました。人見知りなのはいつも通りビールで酔って、勢いでカバー。</div>
<div>
<br /></div>
<div>
印象的だった言葉「今日の勉強会で軸がブレました」。これに爆笑。</div>
<div>
これすごいわかる。</div>
<div>
私が関数型言語に興味を持って勉強してみようと思ったきっかけって、あんまり覚えてないけど、知ってると役立つ、生産性が上がるっていうのが目的だったのに、気づいたら他の言語覚えること自体が目的になってて、なんか数学の勉強にまで興味が移ったり、どんどんハマっていく感じで。</div>
<div>
どうやら懇親会で話してた方々も似たような感じらしくてちょっと面白かったです。</div>
<div>
<br /></div>
<div>
<br /></div>Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com0tag:blogger.com,1999:blog-5323472785292450703.post-61234024582621038852011-12-07T08:26:00.001+09:002011-12-07T08:32:04.713+09:00第10回 岡山Ruby, Ruby on Rails勉強会で発表しました。Rubyistなので、プレゼン資料もruby使わないとダメだろ! という何かの脅迫観念で2年くらい前からrabbitを使い始めていたので<br />
ちょっと紹介しようと思って、岡山Ruby勉強会で紹介しました。<br />
もちろんこの紹介のプレゼンもrabbitで作っています。<br />
<br />
<div id="__ss_10489543" style="width: 425px;">
<strong style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/mkonishi1981/ruby-10489543" target="_blank" title="rabbit - 第10回 岡山Ruby, Ruby on Rails勉強会">rabbit - 第10回 岡山Ruby, Ruby on Rails勉強会</a></strong> <iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/10489543" width="425"></iframe> <br />
<div style="padding: 5px 0 12px;">
View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/mkonishi1981" target="_blank">mkonishi1981</a> </div>
</div>
実際に、ノートPCで動かしながら発表したのでスライドだけ見ても使い方とか、<br />
動いているイメージとかわかないのであれですが、スライドシェアを使ってみたかったので<br />
アップしました。Masaya Konishihttp://www.blogger.com/profile/07171586204038534918noreply@blogger.com1