タグ

ブックマーク / sho.tdiary.net (12)

  • 小田急線の脱線事故で帰宅難民化しそうになった - ただのにっき(2014-06-19)

    Rubyの定数はできるだけfreezeさせようと思った もう10数年もRuby使ってるのに、すげー初歩的なミスに気づかず2日もムダにしてしまった。典型的な「mutableな定数」問題。 CONST = 'foo' def bar(opt) str = CONST str << opt baz(str) end みたいなメソッドbarがマルチスレッドの奥底で何度も呼び出されて、そのたびにCONSTの中身が変わってしまっているのに気づかず、スレッドの競合かなにかに違いないと決めつけて延々と別のところを調べていたという。「CONST = 'foo'.freeze」って書いておけばすぐわかったはずなので、今後当に定数として使いたいときはfreezeすることにする。 (最近のrubyの実装でこのあたりのトピックがあった気がするけど思い出せない) ■ 小田急線の脱線事故で帰宅難民化しそうになった

    taka222
    taka222 2014/06/22
  • tDiary 4.0.0リリース - ただのにっき(2013-07-29)

    ■ tDiary 4.0.0リリース 3年ぶりのメジャーリリースとなるtDiary 4.0.0をリリースした(@machuが)。 tDiary.org - tDiary 4.0.0リリース 全面的にRackアプリになったりgemになったり(その上で互換性を維持したり)と、中身的にはかなりドラスティックな改造が入っていて、ようやくモダンなWebアプリケーションになったかなという感じなので、メジャーバージョンアップとした。運用実績はまだまだ少ないので小さな問題はこれからも出てくるとは思うけど、そこはぼちぼち潰していけば、また長く戦えるプラットフォームになるだろう。 もちろん今回も、がんばったのは@hsbtと@machuである。明日からしばらく出張だったり、仕事のほうがここのところ忙しくて今回は(今回も)ほとんど手出しができなかったので、ほんとありがたい限り。ここや第一tDiary.Netのバー

    taka222
    taka222 2013/07/30
  • 数十年後、「自然エネルギーに騙された」と言わないために

    ■ 数十年後、「自然エネルギーに騙された」と言わないために 斉藤和義の「ずっと嘘だった」という歌が評判だというので聴いてみたけど、「なんだこりゃ」だった。 断っておくけど、おれは別に原発推進派でもなければ反対派でもない、強いていえば消極的容認派だけれど、だからといって今さら「絶対安全って言ってたのに! 騙してたなんてひどい!」なんて騒がないよ。世の中に「絶対」なんてものがありえないって知ってるし。悪いけど、「絶対安全です」なんて言われて信じるほうがおかしい。 こんな歌、十代の子供なら許されるかも知れないけど、斉藤和義はもう44歳、おれと同世代じゃないか。この歳になったら言っていいのは「(自分より若い世代に対して)無知でごめんなさい、騙されててごめんなさい、黙っててごめんなさい」だろうよ。いい大人がイノセンスぶって責任回避かよ、情けねぇ。 この国はおそらく、今後ゆるやかに脱原発への道を進み始

    taka222
    taka222 2011/04/10
  • オライリーのebookから余白を除去して、Kindleで快適に読む方法 - ただのにっき(2011-03-28)

    ■ オライリーのebookから余白を除去して、Kindleで快適に読む方法 オライリーの被災者支援キャンペーンは大盛況のうちに終わったようで、最大で百数時間待ちになったようだ。おれが注文した3冊も昨晩遅くにようやく届いた。「同時にKindleを買うとどっちが先に届くだろう」なんて冗談を言い合っていたけれど、これはマジでKindleの方が早かったかも知れない。 それはさておき、買ったからにはちゃんと読みましょう(Kindleで)。ただし、紙の書籍をレイアウトそのままでPDFにしたものは、はっきりいって電子書籍端末では満足に読めないと思ったほうが良い。特にKindleをはじめ5~6インチの画面を持つ端末ではPDFの余白が極めて邪魔くさい。というわけで、これを除去してから読みたいものだ。 下のスクリーンショットはオライリーの「セキュリティの神話」を横向きにした表示したところ。上は買ったままのPD

    taka222
    taka222 2011/03/29
  • 「ひとりぼっちのプログラマ」に読んで欲しい、『 プログラマが知るべき97のこと』 - ただのにっき(2011-01-08)

    ■ 「ひとりぼっちのプログラマ」に読んで欲しい、『 プログラマが知るべき97のこと』 オライリーの高さんから献いただいた。いつもありがとうございます。 このはねぇ、「ひとりぼっちのプログラマ」にぜひ読んで欲しいなぁ。 ここでいう「ひとりぼっち」にはふたつの意味があって、ひとつは「ひとりでがんばっているプログラマ」。 Twitterやブログを読んでいると、仕事でいろんなことにチャレンジしたり、業務を改善したりしたいと思っているのに、職場の文化が壁になったり、上司の理解が得られなくて歯がゆい思いをしている若いプログラマの叫びが、それはもう、かなり頻繁に聞こえてくる。10年前ならいざしらず、今ならさっさと転職してしまうのが正しい道だろうけど、そうもいかない事情を抱えている、でも現状をなんとかしたい……そう感じているひとりぼっちのプログラマにとって、書はいい味方になってくれると思う。というか

    taka222
    taka222 2011/01/09
  • メタプログラミングRuby(Paolo Perrotta/角征典) - ただのにっき(2010-09-13)

    ■ メタプログラミングRuby(Paolo Perrotta) 翻訳者の角正典(aka kdmsnr)さんから献いただいた。なんでも刊行と同時にtDiaryの主要開発者に配られたようで、ありがたいことです。これは(たぶん)tDiaryが彼がこの世界に飛び込んだきっかけのひとつになったことへの感謝の意なんだろうとは思うが、裏の理由はtDiaryもまともなメタプログラミングをしろやというメッセージだろう。まったくだ! tDiaryは約10年前、書でいうところの「Javaのような」コードから出発していながら、随所でevalしまくるという、なんというか「ちょうどいい中間の状態」がないものだから、拡張しづらいはデバッグが難しいわで、なかなか厄介なレガシーコードになっている。そんなソフトウェアのメンテナが書を読むと、メタプログラミングを使ってコードを全面的に書き換えたくなることと間違いなしである

    taka222
    taka222 2010/09/14
  • 個人的なRubyKaigi2010総括と「最終回」について - ただのにっき(2010-08-30)

    ■ 個人的なRubyKaigi2010総括と「最終回」について クロージングで高橋さんが「次回最終回!」とやったもんだから、各所で議論が巻き起こっているわけだが、おれもちょっと書いておこうかな。あくまで個人的なもので、実行委員の総意でもなんでもない。 自分はまだ「RubyKaigi」と正式に名乗っていなかった初回の2006年にスピーカーとして参加。そのあとは実行委員に加わって、2007、2008、2009そして今年の2010と都合4回のスタッフとして関わった。まずはその5年間の変化をみてみたい。 懇親会で料理が余るようになった 2006年、2007年あたりの感想を探してみるとわかるけど、開始当初はホントにもう、あっというまに懇親会の料理がなくなってた。「Rubyistは酒もタバコもやらないけどやたらとう」と認識した我々は、一昨年のつくばで「質を落としてもいいから量を出す」方針で懇親会を設

    taka222
    taka222 2010/09/02
  • tDiary: ruby 1.9.1対応でdefault_externalを使うのは適切か? - ただのにっき(2009-01-07)

    ■ tDiary: ruby 1.9.1対応でdefault_externalを使うのは適切か? tDiaryのtrunkで、ruby 1.9.1対応のためにdefault_externalを設定している件に関して、ZnZさんからツッコミがあった: default_externalの影響範囲がよくわからないけど、tdiaryのここで使うのは適切なのだろうか? ツッコミ欄に書くには長くなるので、こっちで書いてみる。ホントは書きたくなかったんだけど、なぜかというとるびまに書くネタがなくなっちゃうから!(ぉ もっとも、ruby 1.9のエンコードに関してちゃんと理解しているとは言いがたいし、ここでツッコミ受けたほうがいいでしょう。 実行中のruby 1.9全域に影響するエンコーディングには3種類ある(たぶん): scriptエンコーディング default_internal default_ex

    taka222
    taka222 2010/07/06
  • Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)(山本 陽平) - ただのにっき(2010-04-23)

    ■ Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)(山 陽平) 技術評論社の稲尾さんから献いただいた。読むの遅くてすみません(ここまでテンプレ)。 とはいえ、すでに出回っている書評に付け加えることはほとんどないんだよなぁ。Webテクノロジーの基礎に関する最高の教科書のひとつだと思う。付録のリファレンスも含めて、作りが極めて教科書的で、色褪せない工夫が随所にあって感心する。Webサービス開発者に限らず、Webに携わる者はみんな読んでおくべき。 実は、途中までは、対象読者は開発者だろうと思っていたんだけど、最後のリソース設計のところで情報アーキテクチャとの関係が登場して、もっと広く読まれるべきだと思い直した。「Webアプリとか関係ないし」とか言いつつふつーの情報サイトを設計している人がいたら、自分が作ってるサイトが、いつかどこかでA

    Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)(山本 陽平) - ただのにっき(2010-04-23)
    taka222
    taka222 2010/04/24
  • Rubyベストプラクティス -プロフェッショナルによるコードとテクニック(Gregory Brown) - ただのにっき(2010-04-15)

    Rubyベストプラクティス -プロフェッショナルによるコードとテクニック(Gregory Brown) オライリーの高さんから献いただいた。読むのが遅くてすいません……。 しかしなんだ、面白いだなぁ、これは。例えるなら、Ruby部族の集落に潜入した文化人類学者によるフィールドワークの報告書みたいなだ*1。まえがきでまつもとさんも書いているけど、誕生当初なにもなかったRubyに、十数年かけて蓄積してきた「文化」のいいところを、粒度にこだわることなく紹介している。レシピと違うのは、文化として定着しているかどうかを基準に内容を厳選・整理している点かな、と思う。 多くの書評で「中級者以上向け」とされている書だが、それは構成に負うところが大きい。冒頭から3章までは、Rails以降急速に活用が進んでいるRubyの動的言語的側面がメインで、(自分が動的テクに不慣れな点を差し引いても)正直な

    Rubyベストプラクティス -プロフェッショナルによるコードとテクニック(Gregory Brown) - ただのにっき(2010-04-15)
    taka222
    taka222 2010/04/20
  • iPhoneを捨ててAndroidにするよ

    iPhoneを捨ててAndroidにするよ ※多分に感情的なので、興味ない人は読まない方がいいと思う。 今朝のiPhoneOS 4.0の発表で、ようやくマルチタスクが実装されることになったけど、新APIを使わないと対応されないとか、けっきょくタスクマネージャを実装したとか、3G置いてきぼりとかは「ダセェ」のひとことなんだけど、それはまぁいいや*1。 それより問題なのは、「AppleiPhoneデベロッパライセンス規約を変更し、Adobe Flash Professional CS5などのクロス・コンパイラを禁止に?」(MACお宝鑑定団)だ。最初に読んだときはせいぜい「やれやれ」って程度だったんだけど、半日考えていたらだんだんと怒りがこみ上げてきて、とうとう自分のiPhoneに触ることすら困難な心理状態になった。なんかもう、「なにこの汚らわしい機械」って感じ。おれの中でAppleは、完

    taka222
    taka222 2010/04/10
  • Amazon API認証のPROXYを書いたよ(AmazonのAPI認証導入はOSSに対する挑戦だよなぁ(4)) - ただのにっき(2009-06-19)

    Amazon API認証のPROXYを書いたよ(AmazonAPI認証導入はOSSに対する挑戦だよなぁ(4)) あれから、なんと即日で回答が来た: ご提案いただいている アプリ --(ASIN)→ PROXY --(ASIN+秘密キー)→ Amazon の方法でしたら、ライセンス上問題となりませんので、対応につきご検討いただけますと幸いです。 ニヤリ。 掲示板の方には書いていないが、言うまでもなくPROXYもFOSSとして公開するわけです(もちろんsecret keyは含めずに)。というか、サンプル的な意味合いを込めて、プリミティブな実装をGitHubにあげておいた: amazon-auth-proxy tDiaryのamazonプラグイン実装は、デフォルトでtDiary.org上に設置したこのPROXYを呼び出すようにするつもりだが、ご存知のようにtDiary.orgは第一tDia

  • 1