サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
takkan-m.hatenadiary.org
XZ 形式というのは、比較的新しい圧縮形式で、GNU tar 1.22 からサポートされていて gzipより圧縮効率が大きいらしい。 そんな XZ 形式なんだけど、Mac 標準の tar コマンドだと扱うことができない。 % tar Jxvf ./hoge.tar.xz Usage: List: tar -tf <archive-filename> Extract: tar -xf <archive-filename> Create: tar -cf <archive-filename> [filenames...] Help: tar --helpで、Homebrew で以下をインストール。 % brew install xz % brew install gnu-targnu-tar を使うには prefix として 'g' の付いた、gtar コマンドを使用する。 % gtar Jx
7/4にオブラブのイベントをやってきました(下書きに告知日記が残っているのは内緒。)。 今回は、「この10年で変わったもの、変わらなかったもの」ということをテーマにしてました。わたしの今回のイベントとの関わり方は、午後のセッションの人選でした。午後のセッションは、「ヤング・アダルト」という観点でセッションを組み、わたしはヤング担当でした。 まず決まったのが、shimosuk, potato_digger,akiinyo3人による今年の新人セッション。3人は、(ふわっとした依頼をしてしまったのですが)期待を上回る発表をしてくれました。これから、ほんとうにがんばって欲しいです。フォローアップしてくれたkenchan多謝。 次がid:t-wadaさん。ヤングかというと、35歳が定年といわれているから、越えてなければヤングだという考えのもと頼みました。実は、t-wadaさんの発表をちゃんと見たこと
とりあえず、Rails3.0.3ではまったので備忘録。 thinを使って、以下のようにディレクティブを使って一つのドメインで複数のRailsアプリを動かそうとすると、画像等の静的ファイルがみえなくなってしまった。 http://exsample.com/app1 http://exsample.com/app2原因は、Rails3になって ActionController::Base.relative_url_root が無くなってしまったため。そのため上記のようなことをやろうとする場合、config/environments/XXX.rb 内で config.action_controller.asset_path or config.action_controller.asset_url を設定する必要があるみたい。 今回は、静的ファイルは同一ドメイン内に配置しているのでconfig.
昨日のRubyスクリプトをdaemonで起動する - tricknotesのぼうけんのしょでした。 で、Ruby逆引きレシピAdvent Calendar : ATNDの5日目です。まず最初に大事なこと。このままだと明後日には、このカレンダーは終了となってしまいます。レシピ先輩にお世話になっている人とか、興味のあるひとは参加するといいとおもうの。 Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE) 作者: 島田浩二,設樂洋爾,村田賢太,前田智樹,谷口文威出版社/メーカー: 翔泳社発売日: 2009/07/25メディア: 単行本(ソフトカバー)購入: 16人 クリック: 349回この商品を含むブログ (77件) を見る で、まずこの本の書評を。 この本は、やりたいことをRubyでどうやるの?という形で参照するレシピブックです。Rub
日記を全然書いていなかったわけなんですが、やっぱり感極まったので書きます。内容については、他の人がきっとすごい記事書くんだから、ブクマでもおっかけてください。私的感想。 Ruby札幌: 札幌Ruby会議に初めて現地で参加をしました。過去二回はUstでの参加していました。 なんというか、わたしにとって札幌Ruby会議というかRuby札幌は、全然遠い地域Rubyist集団なのですが、とても好きな集団です。 去年の札幌Ruby会議02の翌日は、ちょうどRuby Advent Calendar jp: 2009に記事を書く日でした。そのときは、実際は前もって書くことは決めていたのですが、角谷さんの発表でだいたい言ってもらった感じで、どうしようかと思いながら記事を投稿した記憶があります。あのときから、自分はどうRubyにかかわることができるかということがテーマになった記憶があります。 で、あの札幌R
いつのまにか、Rails3+1.9.2というモテコンビで仕事をやっております。で、Rails3から入った新機能として、SexyValidationというのができたので、それを使ってみました。 Sexy Validationとは、いままでのRailsのvalidationの書き方とは違い、Modelに対してのvalidationがスッキリ書けるようになりました。例えば、titleカラムを持つPostというModelがあるときに、title要素は必須なんだというvalidationを書こうとすると、以下のようになります。 class Post < ActiveRecord::Base validates :title, :presence => true end 今迄の validates_presence_of :name よりわかりやすいのではないでしょうか。 独自のvalidationを
ちょっと自分のHT-03Aのカーネルコンフィグを見たかったので試してみた。 Linuxの動いているカーネルのコンフィグを見る方法は、id:ursmさんに教えてもらった以下のところを参照した。 kernelイメージから設定情報を取り出す で、HT-03AをMacとUSBで接続して、SDKに付属しているadbコマンドで実機の中を覗く。adb shellコマンドを使えば、対象となっているAndroidに対して、引数で渡したコマンドを実行できる。proc配下に何があるかを見るには、以下のようにする。 $ adb shell "ls /proc"これで、procにconfig.gzがあるのがわかったので、このファイルをMacに落とす。Androidからローカルにファイルをコピーするには、adb pull remote localでできる。 $ adb pull /proc/config.gz ./a
ClojureでAndroidアプリを見ながらやったら、ClojureでHelloWorldが簡単にできたのでびっくりした。 何度か素振りをしてコマンドラインでの開発するときに必要なコマンドがわかったので、以下備忘録。 開発できるAndroidの対象を確認する。 android list targetGUIのアプリが起動し、SDKを更新することができる。 android update sdkAndroidのプロジェクトを作成する。targetはandroid list targetで表示される対象のAndroidのバージョンを指定する。 android create project --target 3 --path ./HelloClojure --activity HelloClojure --package org.example.HelloClojreAndroidのエミュレーター
ということで、Asakusa.rbで触ってみた。 ruby-head > "\xF8\x9F".force_encoding("SJIS-DoCoMo").encode("UTF-8") => "☀" => "☀" @darashi, @mrkn おめでとうございます。
@fistfvckさんとRVM: Ruby Version Manager - RVM Ruby Version Managerを紹介するワークショップをやりました。参加者の方にはgdgdした感じでもうしわけなかったです。発表資料とかはないですが、asakusaのwikiに簡単にまとめてあります。 今朝になって、rvmが0.1.19になっていたのでつぶやいていたら、作者のwayneeseguinさんが答えてくれていたので、今日のところをつたえたところ、メッセージをいただいたので、あとで下の写真を見せたいと思います。 あと、おそくなりましたが、東京Ruby03すばらしかったです。運営者のかたがた、参加者のみなさま、ありがとうございました。 しかし、この会議は東京といった地の利をいかしたすばらしいものだなぁとおもった。これだけのコンテンツを無料で提供できる強みっていうのは地方都市では、正直きつ
<2/22追記> もうコマンドの仕様がかわったので、以下のチュートリアルだとできないので注意な あるRubyの環境で、gemが爆発するということがよくあると思います。また、勉強会とかでたときに、つかっている環境に必要でないgemをいれないといけないとか、gemのバージョンを固定したいのに別のバージョンをいれる必要があるとか。 そんなときに、rvmのgemsets機能なんかがよさげ。 ようは、gemをインストール、ロードするディレクトリを勝手に切り換えてくれる機能。 rvmのrubyでは、何もしないと以下のようなディレクトリのgemを使うことになります。 % rvm use ruby-1.8.7-p249 Now using ruby 1.8.7 p249 % rvm gems dir /Users/takkanm/.rvm/gems/ruby-1.8.7-p249 % echo $GEM_
(この記事はRuby Advent Calendar jp: 2009 : ATNDの6日目です。前日はMr.GことJugyoさんでした) 2日目のyharaさんの記事にもあるように、Ruby1.9では、1.8よりも便利な機能が満載です。 最新の安定版の1.9は、1.9.1-p243ですが、現在1.9.2の開発が進められています。1.9.2のできはYARVの作者の笹田さんが素晴しいとおっしゃるぐらいのものですが、リリースまでには一つ壁があります。 その壁というのは、RubySpecという、いろんなRuby実装の仕様をまとめようというプロジェクトがあります。先日、リリースマネージャーのYuguiさんから、このRubySpecが通らない限り1.9.2をリリースしないとの宣言がありました。 つまり、すばらしいRuby1.9である1.9.2を安心して使うには、RubySpecを通るようにRubyを
関数型パーサーの章にたどりついたんだけど、これはいいとおもった。今Haskellの概念を学びたいという人には、間違いなくこの本を推す。 何がいいかというとモナドという言葉がほとんどでてきません。他の本はモナドが特徴だみたいなかんじになって、モナドとはみたいな書き方なわけですが、本書の場合はこういうときはこう書いたほうがいいよね的な書き方があった後に、実はこれモナドっていうんだよみたいな書き方。これはいいと思った。 というわけで、Haskellの本が最近沢山でているけど、何を買ったらわからんという人は、この本をまず買うといいと思います。ただ、プログラムの記法というか記号が数学記号なので付録の対応表をみないときついですが。 プログラミングHaskell 作者: Graham Hutton,山本和彦出版社/メーカー: オーム社発売日: 2009/11/11メディア: 単行本(ソフトカバー)購入:
snoozer05さんに「最近1回休み多くないですか?」とつっこまれましたが、今日も1回休みにしたいぐらい。 なんというか、Rubyのお話がほとんどなかった気もしますが、楽しかったです。社長さんたちの話を聞いていると、いろいろ考えることあるなーと思った。がんばる。 懇親会では、kdmsnrさんが何故blikiを翻訳しだしたかという話を聞いた。すごい運命ってあるんですねー。 あとは、えにしテックのえにしさん(snoozer05)とテックさん(darashi)と話したり。えにしテックには頑張ってほしいですね。レシピ先輩もっと売れればいいのに。 帰りの電車では、kdmsnrさんとkakutaniさんとW話に花が咲きまして、結論としてWはバッドマンだという話に落ちつき、 腑におちた。 みなさまありがとうございました。
ちょっとまとめる。 まずはJRuby。先日のRWCでも発表があったけどJRubyが動く。やり方としてはJRubyをAndroidのVMで動くようにしてやればよい。JRubyをAndroidで動かしてみた - まめ畑を参考にするといいと思う。先日のAsakusa.rbで一人でためしたときには、なんかエラーがでて自分自身は動かせていない。というか、いまだにマーケットにでてこないが、どうしたことやら。 つづいて、android-scripting。こちらはAndroidでいろんなスクリプト環境を動かすやつみたいらしく、pythonとかperlとかも動く。なぜかRubyはJRubyなんだと。 最後が、android-ruby。こいつは、1.9.1互換みたい。他のと違って、libruby.soとかネイティブのバイナリを使えるみたい。
朝は昨日から始まったRuby逆引きレシピ読書会に参加中。あー、こんなんできるのねー。みたいな会話がよくでます。 Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE) 作者: 島田浩二,設樂洋爾,村田賢太,前田智樹,谷口文威出版社/メーカー: 翔泳社発売日: 2009/07/25メディア: 単行本(ソフトカバー)購入: 16人 クリック: 349回この商品を含むブログ (77件) を見る 夜からは、株式会社RAWHIDE.の方々との飲み会。ありがとうございました。
hsbtさんとid:walf443さんとで、お台場のガンダムを見に行ったりしてきました。あれはやばい。 なんと。かずひこさんとニアミスしてたみたい>< http://www.hsbt.org/diary/20090720.html#c02 後、この会議中にジュンク堂Ruby会議店に貢献した結果でも。 Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE) 作者: 島田浩二,設樂洋爾,村田賢太,前田智樹,谷口文威出版社/メーカー: 翔泳社発売日: 2009/07/25メディア: 単行本(ソフトカバー)購入: 16人 クリック: 349回この商品を含むブログ (77件) を見るRuby札幌のみなさんによって書かれた本。みんな買うといいと思うよ。 ふつうのコンパイラをつくろう 作者: 青木峰郎出版社/メーカー: SBクリエイティブ発売日:
まずは、スタッフのみなさん、参加者のみなさんありがとうございました。 セッションとかの感想は後で書く。 今日は、Ruby札幌の方々が書かれたRuby逆引きレシピのサイン会に参加したのですが、何故かサインしていただいた方々に id のほうを見せると、「あぁ」みたいな反応をいただいてびっくりしました。なんかスイマセン>< Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE) 作者: 島田浩二,設樂洋爾,村田賢太,前田智樹,谷口文威出版社/メーカー: 翔泳社発売日: 2009/07/25メディア: 単行本(ソフトカバー)購入: 16人 クリック: 349回この商品を含むブログ (77件) を見る 後は、別にbaibeなのに田舎Ruby親方会議参加してみたり。で、その流れで、角谷さんの話を聞いたりしたもんだから、いろいろと考えたり。どうやっ
資料は後日な。 アップした。下のほうね。 というわけで、本日オブジェクト倶楽部夏イベントの若人トラックで若人(俺まだ25)として、お話してきました。 今回は、Linuxのカーネルについて好き勝手しゃべるということをやらさせていただきました。通常(というか今回も)、僕はファンクション倶楽部という名義ででているんですが、あえて関数型のお話はしませんでした。 何故今回Linuxの話にしたかというと、ここには書いていますが、6月末で入社して以来やっていたLinux関係のお仕事からRubyに変わったわけでありまして、その節目として今回はLinuxの話がしたいなぁと思ったからです。まぁ、内容は昔(それも二年前ぐらい)にここに書いた記事に肉付けをしたものと新規が少々だったのですが。 今回の資料というか発表ができたのは、入社以来ほとんど一緒に仕事をしてきた先輩と、こっちに行ったほうがいいと推してくれた前プ
だんだん、だれてきましたが、今度はどのようにio_submit()で発行したI/Oが完了したか、どうかを知るための仕組みを追っかけてみます。 簡単にこの仕組みを説明すると、まずio_setup()で非同期I/Oを処理するための特別なメモリをとります。io_submit()でリクエストされたI/Oはカーネルスレッドで実行され、完了した際にこの特別なメモリに対してアクセスをし、完了したことを通知します。 まず、io_setup()でどのようなことをしているのかを見てみます。 io_setup()関数は、第一引数に発行する最大のI/O要求数、第二引数にio_context_tのポインタを渡され、第一引数の数だけ非同期I/Oを処理できるように準備をし、AIOコンテキストを示すオブジェクトをさすアドレスを第二引数に格納します。AIOコンテキストとは、I/Oコンテキストの一種で、kioctxオブジェク
今日は午前中は、先輩の自転車買いに行くのについて行き、その後、カメラのキタムラに一緒に行ったもう一人の先輩に連れて行ってもらい、気付いたらその人にCANONの営業をしてしまい、値段の落ちてきたkissX2(Wズーム)を買わせていました。 で、帰宅してからは生産性の高いプログラマの思考と技法のリファクタリング 〜俺たちの達人プログラマへの道は始まったばかりだ!〜をみていました。 非常に面白かったです。いろいろ買いたいものがでてくる内容でした。 リファクタリング・ウェットウェアは、スルーしようかと思っていたのに、角谷さんが説明する電波ゆんゆんぐあいと、島田さんが言われるプロダクティブプログラマとの対比がよくて欲しくなってきました。 あと、Pragmatic Life の話がでてきて、The Passionate Programmerの紹介も。たしかに、pragprogからのメールでこの本がきた
テレビを買ったので、その設置とかしていたから、まちまちだったっけど。 すごく、Ruby でビジネスを真面目に考えているんだなーという印象を受けた。あと、JRuby があついんだなーと。 途中、大学生に聞いた Ruby の印象に、「ドキュメント少ない」とか、「何につかえんのか知りたい」とかあって、未だに、触ったこと無い人とかの印象が、俺が Ruby 触りだした頃と変わんないんだなーって思った。 ドキュメントが少ないに関しては、Ust の IRC にもあったけど、そう思っている人って調べてないのかなーと思ってしまう。もともと、Ruby のページの言語マニュアルとかしっかりしてたし、今だったらるりまあるし、Rubyist Magazine - るびまにも相当の情報量があると思う。また、書籍だって、昔から、初心者なら「たのしいRuby」、ちょっと慣れてくれば「プログラミング言語Ruby」という良書
ここ二日ほど、Linuxをインストールしていたのは、O_DIRECTで遊ぶため。たまには、Linuxでご飯を本当に食べているということを見せようかと。たぶん、間違っている可能性があるので、ご指摘いただけるとうれしいです。一応、参考は、Linxuカーネル解読室のP314あたり。 O_DIRECTというのは、Linuxのカーネル2.4から(だよね)openシステムコールにたてれるようになったI/Oの直接転送を指定するフラグ。 自分が今の部署にはいって、最初に書くことになったTestプログラムで使ってくれとたのまれて、ちょうど一年前ぐらいにもさわっていたんだけど(昔のブログにはかいたんだけど、今そのブログがない)、最近、仕事の空いた時間で、ファイル経由のI/Oアクセスについて、いろいろ勉強(主にオライリーのカーネル本を読んでいる)していて、昔より何やってるいるかわかったきがするので、ちょっと遊ん
リージョナルというか、RubyKaigi番外編というかんじだったなぁ。 以下、箇条書きにて感想。 懇親スイーツw会場撮影カメラが @ngtykさんをストーキングしすぎてわろたw artonさんが最初からとばしすぎw "hsbt"の読み方は、"エッチなしばた" tdiary は開発者募集中 初版はまだ買える 英語版はまだ 32ドルの論文 RindaでHashを使うことをお薦めしないのは、テストされていないため 補習教材の初版は、まだ買えます 発表者が時間をオーバーしないと、どよめきがはしるLT 発表者が気をつかって、時間をオーバーするLT キューカンバーすげーな 今回は、角谷さんの講演途中で、みれなくなった。しかし、関さんのターンばっかりだったなぁ。 みなさま、おつかれさまでした。
Linuxでは、ユーザー空間で使用できる非同期I/Oを使う手段としては、2種類あります。 aio_readなどを使うPOSIX準拠の非同期I/O io_setupなどを使うシステムコールによる非同期I/O しかし、LinuxのI/Oは同期?非同期?で、LinuxのI/Oがたいていの場合、非同期であると説明しましたのに、何故、非同期I/OのAPIというのがあるのでしょうか? ここで注意しなければいけないのは、前のエントリでいっていた非同期と非同期I/OのAPIの非同期とはの意味が若干変わるということです。前のエントリでの非同期では、ディスクへのアクセスがユーザー空間からの要求と同時に行われるかどうかでしたが、非同期I/O APIによる非同期という意味は、要求をだしてから、read系ならその要求をだした関数から返ってきたら、すぐにそのメモリにデータが使える状態になるようなことを同期、要求を出し
rubyneko - escapeとctrlキーに関する考察より。 macbook使うようになってから、あんな遠くて小さいキーを叩く気がしなくなりまして(英字配列なので、全角/半角をswapという手も使えなくて)、以前コメントで教えてもらったctrl+[を使うようになりました。 vim使いっていわれても、shellではemacs風のキー操作使っているし、BSはC-hと叩きこまれているので、ctrlと他のキー同時押しは別に問題無い感じ。 まぁ、HHK使うときは、キーが近いのでescも使いますよ。 余談:今日のemacs使いの新人さんとのやりとり 新人「サーバにemacs入っていなくて使えません。」 おれ「この軟弱物者!それでも男ですか。」 というわけで、みんなviは使えるようになったほうがいいですよ。viはPOSIX準拠のUNIXならいれられていることが義務づけられていますので。当然vimじ
言語ゲーム - ArrowLoopで、ArrowのloopでYコンビネーターができるというので、ちょっと試してみた。 Arrowのloopは以前、MaDさんの記事でなんとなく、理解をしていたつもりだったんだけど、実際に自分で書いてみると全然わかっていない、Haskell(主に、if式とlet式)理解していないことをあらためて感じた。 僕の中で、Yコンビネーターといえば、階乗計算なので、階乗計算を書いてみる。 まずは、id:propellaさんのcountdownを真似てみる。 fact (a,f) = ( f a , fc) where fc 1 = 1 fc x = x * f (x-1) loop fact 10 fcという名前がなんとなく、嫌なのでfcを無名関数で記述。 fac (x,f) = (f x, (\y -> if y == 1 then 1 else y*(f (y -1
reject会議にRejectされて、RejectReject会議で「Hashのmapについて」愚痴ってきました。なんか、他の豪勢な内容と違って、うだうだ言っているだけですみません。予想以上に、自分がしゃべれなくて情けない。終わった後、笹田さんに「collectは使わないんだ?」と聞かれて、あぁcollect派なんてしりませんネタをいれるの忘れていて恥ずかしかった。「collectは全く使わないですねぇ」と普通に答えてしまいました。笹田さんは、collect派だったのかしら。 Ruby会議の本日の感想は、 まだ初版は買える。 CTCに漫才師がいる。 CTCですごい努力があったんだなぁ。 やっぱり、Rubyは型推論難しそう。 後で、論文よみます。 CRubyGCがんばれ 今回、Ruby会議にこれたのは、ホントいろんな人のおかげだった思っています。 ありがとうございました。 また、あらためて、
一昨日のつづきね。 こないだのHello Worldが、プログラミング言語を学ぶための儀式であるならば、最近のプログラミング言語の学習でこれでも書いとけ的な問題としてFizzBuzz問題というのがある。 1から100までの数字で、3の倍数のときはアホになるFizzと、5の倍数のときはBuzzと、15の倍数はFizzBuzzと、その他の数字は数字をそのまま表示せよという問題。 まず、RubyというのはCの皮をかぶったLispなので、Lisp脳らしく、1から100までの配列を作る。Rubyでは [1,2,3,....,99,100] のように、配列のオブジェクトを生成する簡単な記法が存在するのだが、いちいち100まで書くのは面倒なので、Rangeオブジェクトというのを使い、そこから配列クラスを生成する。 Rangeオブジェクトというのは、指定した範囲を表すオブジェクトである。Rangeオブジェ
次のページ
このページを最初にブックマークしてみませんか?
『takkan_mのNo planな日常』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く