タグ

rubyに関するzetamattaのブックマーク (166)

  • 僕がRubyをやめたわけ - ひがやすを blog

    私は気が付いてしまいました。Ruby の動的型付けは多くのエラーを引きおこすことに。そして、安心してデプロイするためには 95% ものテストカバレッジを達成しなければいけないことに。95% のテストカバレッジを得ることの代償として、私の書いたコードは(テストコードも含めて) Java で書いたものと同等のサイズにまでふくれあがってしまいました。その上、Rails では動的なコードの変更が可能なため、開発・テスト・デプロイ中にトラブルが続出するようになりました。高いテストカバレッジを確保しているにも関わらずです。これらの問題にくわえて、MRI(Matz Ruby Implementation: まつもとゆきひろ氏による Rubyの実装)は速度が遅く、言語仕様も安定していません。それなのに開発コミュニティはそのことに見向きもしません。 liftを開発した人へのインタビューなんだけど、ちょっとひ

    僕がRubyをやめたわけ - ひがやすを blog
    zetamatta
    zetamatta 2008/04/04
    曰く「はっきりいえるのは、自分のスキルのなさを言語のせいにする人にろくなやつはいないということです」――激しく同意
  • みるくけーき@そふと (backup_mixi)

    zetamatta
    zetamatta 2008/03/15
    Ruby で書かれた mixi コンテンツのバックアップソフト。バックアップをとった内容がそのままブラウザで見ることができる
  • シンボルとは何か 概論 - 世界線航跡蔵

    Rubyにはシンボルというものがある :thorugh とか :conditions とか、コロンで始まる表記で、RailsAPIによく出てくるアレだ。 でも、シンボルって何だろう。この問いに答えられる人は少ないのではないか。シンボルリテラルの表記法は分かる。Symbolクラスのインスタンスであることも分かる。何だか、文字列に似ているのも知っている。で、それは何? この記事シリーズは、シンボルとは何かという問いに私なりの回答を提示する。 視点 Rubyにおけるシンボルを、私は3つの視点から説明する。 意味論から言えば、「プログラムにおける名前」という概念に対応するオブジェクトである。 他のオブジェクトとの相互作用で言えば、「intern化された文字列」に近い 実装から言えば、Rubyの名前管理用ハッシュ表のエントリである。 シリーズ目次 その1(前編) 文字列の同一性と同値性 その1(後

    シンボルとは何か 概論 - 世界線航跡蔵
    zetamatta
    zetamatta 2008/02/25
    Ruby のシンボルについての解説
  • ビーチサンダルの危険なところ|一足、二足、サンダル!

    普段のおしゃれとしてビーチサンダルを愛用するのは危険です。ビーチサンダルは、底が薄いので歩くたびに地面からの衝撃を強く受け、かかとに大きな負担がかかります。基的にかかとが無防備になるので、土やホコリなどの汚れが付着しやすく、乾燥すれば綺麗な足にはなりません。裸足に近い感覚で歩けますが、実際は自分の足ほど使い勝手が良くありません。簡単に脱げてしまうので、それを防ぐために体には変な力が入り、全身のバランスが乱れます。構造上は膝やアキレス腱、背骨を支える機能がないので、姿勢が悪くなります。力を入れて歩き続けると、バニオンという腱膜瘤がつま先にできることがあります。使われている素材の多くがEVA樹脂で、摩耗が早いので滑りやすいです。プールサイドは水気で常にツルツルしているため、そこをビーチサンダルで走ると滑って大怪我をします。底が天然ゴムになったものが価格が高く、スニーカーほど滑り止め機能は優れ

    zetamatta
    zetamatta 2008/01/12
    Windows で簡単にファイルシステムを構築できるライブラリ。sshfs など、いろいろ応用モジュールがある。すばらしい
  • L'eclat des jours(2008-01-03)Railsは吹き溜まりだね

    _ Railsは吹き溜まりだね Rails Is A Ghetto なんとなく読んだので、要約のつもり(いや、誤訳しそうなところはすっ飛ばしたものをさらに要約してるので、おおはずれかも)。 ●Rails Is A Ghetto(Railsは吹き溜まり) 会社や個人を特定してばんばんやるぜ。こいつら寄ってたかっておれのことをこけにしやがった。文句あるなら、リングの上で待ってるぜ。このくそめらめが。 まずはケビンクラークだ。こいつは、おれをサポート扱いしやがったうえに、間抜けあつかいしやがった。 でも、すべての原因は、このばかが、リポジトリ上のconfigureファイルを消しちまいやがったことにある。これじゃ、チェックアウトしてビルドできるわけないじゃん。それをおれが間抜けなせいだといいやがりやがった。 Rails界隈はこんなくずばかりだ。 ●Tied To The RailsRailsべっ

    L'eclat des jours(2008-01-03)Railsは吹き溜まりだね
    zetamatta
    zetamatta 2008/01/03
    スラドでも取り上げられた、Ghetto氏の「DHHを含むRails界隈に集まった人々」への批判
  • 2008-01-03

    ずっとある程度まとめて勉強したことが無かった、 SSL について軽く調べてみた。あんま深く調べてないので真に受けんで下さい。 まずはとりあえずクライアントとサーバーを作る。 OpenSSL というとオレオレ認証局を作るのがめんどいという感じだけど、 Debian だと # apt-get install ssl-cert # make-ssl-cert generate-default-snakeoilこんだけで /etc/ssl/certs/ssl-cert-snakeoil.pem と /etc/ssl/private/ssl-cert-snakeoil.key ができる。ちゃんと作るなら /usr/share/ssl-cert/ssleay.cnf を編集して使えばいいんだけど、これもまぁすごい簡単で、いずれにせよずいぶん楽にできるんだなぁと思った(なんか昔 expect とかで作っ

    2008-01-03
    zetamatta
    zetamatta 2008/01/03
    SSLの利用方法まとめ
  • http://yowaken.dip.jp/tdiary/20071216.html

    zetamatta
    zetamatta 2007/12/16
    曰く『文字列への埋め込みを使えば、Ruby のコードが書ける』―なんという卑怯言語(誉め言葉)
  • Route 477(2007-12-01)

    ■ [javascript] JSONをevalするときは括弧で囲まないといけないらしい? eval("{}") これはundefinedだが eval("({})") これは Object のインスタンスを返す。 JSONをevalするときは result = eval("("+json+")"); とするのがセオリーなのかな?(prototype.jsはそうなっている) ■ [ruby][scheme] S式をRubyで手軽に生成する ちょっと気の利いたWebAPIを作ったとき、フォーマットはJSONかXMLが代表的なんだけど、 ことSchemeから使うのならS式の方が使いやすいのは容易に想像できると思われます。 が、JSONは gem install json すれば JSON.generate(obj) で手軽に生成できるのに対し、 S式はRubyから手軽に生成する方法がありません

    Route 477(2007-12-01)
    zetamatta
    zetamatta 2007/12/02
    ふむ
  • Win32環境でDHCPアドレスを解放:Geekなぺーじ

    ここでは、Windows環境においてDHCPで取得したIPアドレスを解放する方法を説明したいと思います。 サンプル Win32API経由でIPHLPAPI(IP Helper API)を利用すると、DHCPで取得したIPアドレスを解放できます。 詳細はコード中にコメントとして記述しています。 #!/usr/bin/ruby require 'Win32API' #require 'dl/win32' # IPHLPAPIを利用するための準備 GetInterfaceInfo = Win32API.new('iphlpapi', 'GetInterfaceInfo', %w(p p), 'i') IpReleaseAddress = Win32API.new('iphlpapi', 'IpReleaseAddress', %(p), 'i') # 32ビットint intPtr = "\0"

    zetamatta
    zetamatta 2007/12/02
    曰く「Win32API経由でIPHLPAPI(IP Helper API)を利用すると、DHCPで取得したIPアドレスを解放できます」
  • Win32環境でマックアドレス取得:Geekなぺーじ

    ここでは、Windows環境でマックアドレスを取得する方法を説明したいと思います。 サンプル Win32API経由でIPHLPAPI(IP Helper API)を利用すると、マックアドレスを取得できます。 詳細はコード中にコメントとして記述しています。 #!/usr/bin/ruby require 'Win32API' # GetIfTableとGetIfEntryを利用するための準備 GetIfTable = Win32API.new('iphlpapi', 'GetIfTable', %w(p p i), 'i') GetIfEntry = Win32API.new('iphlpapi', 'GetIfEntry', %w(p), 'i') # 32bit intを生成 intPtr = "\0" * 4; # NULLを渡して実際に必要な値をintPtrに入れてもらう GetIf

    zetamatta
    zetamatta 2007/12/02
    「Win32API経由でIPHLPAPI(IP Helper API)を利用する」方法
  • Rubyはエンタープライズの基盤になれるか:ITpro

    Rubyはどこまで大規模な基幹システムに適用できるか---この問いに対する答えを探す,あるいは作る試みが動き出している。 Rubyを大規模システムへ適用しようという原動力となっているのが,エンタープライズ・システムの生産性を向上させたいという企業の要求と,Rubyを使いたいという開発者の要望だ。「Ruby on Railsの生産性はVBscriptの倍,PHPの1.5倍ではないか」」(カカクコム 事業開発部事業開発部システム担当部長 宮島壮洋氏)。「COBOLやVBに比べ4割から5割生産性が向上しそうだ」(テクノプロジェクト 代表取締役専務 吉岡宏氏)。 しかし,ビジネスへの格的な適用が始まったばかりのRubyを大規模で高信頼性が要求されるシステムに適用するためには,いくつかの課題を証明,または解決する必要がある。 その課題とは何か。日で最大規模の事例であるカカクコムの「べログ.c

    Rubyはエンタープライズの基盤になれるか:ITpro
    zetamatta
    zetamatta 2007/12/02
    「何十万件というデータを全部とってきてメモリーに載せようとする」― まぁ、そのまま使うとそうなりそうだよね。
  • mputの日記。 - RubyConf07 一日目 - まーた今年も無線がつながらないな , Breakfast , 無線きたー , 携帯電話の充電器忘れたのであまり写真が撮れない , Welcome to..RubyConf07 一日目レポート

    zetamatta
    zetamatta 2007/11/03
    「数百人規模のプロジェクトでRubyを使おうとすると弱い部分があると思う。しかしRubyを使えば数人でそのような大規模プロジェクトと同等の開発を達成できることもある」――それは疑問に思う。
  • azito.com

    This domain may be for sale!

    zetamatta
    zetamatta 2007/10/22
    名前空間とか、call の件とか、不満点?
  • まつもとゆきひろ�結城浩,Rubyを語る - enbug diary (2007-06-24)

    _ まつもとゆきひろ×結城浩,Rubyを語る たまには、ざっくばらんに書かせてもらいます。 結 変えようとするところが,スゴイと思います。変えないほうが楽ですよね。 私には全く信じがたい言葉です。 まともなソフトウェア開発をやっている人間なら、決してこんな言葉は吐かないはず。 普通、ソフトウェア開発をやっている人間には次のパターンが存在するように思います。 もう関心がないので、実は放置したいと思っているか、実際にそうしている。 やる気あり。どんどん改善できるところはやりたい。でも既存のユーザを無視できないので、そう簡単には変更できない。 やる気あり。もういっぱい変えたくてたまらないし、実際にそうしている。ユーザなんて知ったことではない。 私が思うに、結城さんが言っているのは最初のパターンで、 こんなのはまともな状態とは言えないのだから、 変えない方が楽とかじゃなくって、何もしないのが楽って

    zetamatta
    zetamatta 2007/06/24
    「変えようとするところがスゴイと思います。変えないほうが楽ですよね」という引用に対して曰く「私には全く信じがたい言葉です」
  • バベル案内

    Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、JavaPerl

    zetamatta
    zetamatta 2007/05/15
    いろんな言語の論評。「Pythonのコミュニティは長い間、赤いピルを飲んでPerlのマトリックスから目覚めた人々の避難所だった」
  • λ萌え - たらいを後回し : 404 Blog Not Found

    2007年05月13日06:30 カテゴリLightweight Languages λ萌え - たらいを後回し Gauche Nightではしゃぎすぎたところにもってきて、昨日はEncodeをメンテしながらホームパーティーなんぞをしていたらどうやら風邪を引いてしまったみたい。 風邪で頭が痛いときには、λと戯れるに限る、ということでこの話題。 前回までのあらすじ 404 Blog Not Found:たらいを回すならHaskell 404 Blog Not Found:javascriptでもたらいを回してみた 404 Blog Not Found:gaucheでもたらいを回してみた 404 Blog Not Found:C - Judyでたらい回し ここまでのあらすじでわかった事は、遅延評価(lazy evaluation)するHaskellがむちゃくちゃ優秀なこと、遅延評価がない言語で

    λ萌え - たらいを後回し : 404 Blog Not Found
    zetamatta
    zetamatta 2007/05/13
    いろんな言語で遅延評価による高速化を試してみるテスト
  • Route 477(2006-12-01)

    ■ [Ruby/SDL] C言語のenumの代わりには、StringじゃなくてSymbolを使おう 要するに、 case key when "UP" then @y -= 1 when "DOWN" then @y += 1 when "RIGHT" then @x += 1 when "LEFT" then @x -= 1 end じゃなくて case key when :up then @y -= 1 when :down then @y += 1 when :right then @x += 1 when :left then @x -= 1 end のように書こう、って話を少し。 この手の「プログラム内部でしか使わない文字列」は、以下のような理由でSymbolを使ったほうが良いです。 Symbolとは (概念的に) シンボルはLisp由来の機能で、 リファレンスでは「任意の文字列と

    Route 477(2006-12-01)
    zetamatta
    zetamatta 2007/05/01
    これ、いい説明だ!
  • [結] InstantRails でRuby on Railsを動かす - 2006年3月 - 結城浩の日記

    目次 2006年3月29日 - マルチリンガルの時代 / 2006年3月27日 - 模様替え / 2006年3月25日 - ナルニア国物語 / LaTeXで式展開の説明文を付ける方法 / 2006年3月24日 - 伝統と変化 / 2006年3月22日 - 当選者発表中 / 2006年3月21日 - JWord防止 / 2006年3月20日 - コンセプトアウト・デマンドイン / 2006年3月19日 - 日曜日 / 2006年3月17日 - アルゴリズムを学習する最良の方法 / 2006年3月16日 - すばらしいに仕上がっています / 『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』無料プレゼント / 2006年3月14日 - 結城浩の最新刊『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』 / rubyco(るびこ)の日記 / 2006年3月13

    zetamatta
    zetamatta 2007/04/28
    InstantRailsでRuby on Railsを動かす - MySQL/Apache/PHP/Rails が一発で入るキット
  • Route 477(2007-04-20)

    ■ [spoj] プログラミング得意なやつちょっと来い - SPOJ Open Contestは4/27まで Sphere Online Judgeでプログラミングコンテストが開催中です。 C系言語に限らず、LLから関数型、Brainf**kまでさまざまな言語で参加可能です。あなたのお気に入りの言語でぜひ。 問題は10問あって、7問が普通の問題、3問がchallengeになっています。 普通の問題は正解すれば所定の得点が入ります。challengeは問題ごとにスコアの計算方法が決まっていて (速いほうがいいとか、精度が高いほうがいいとか)、1位とのスコア比によって得点が入ります。 問題の日語訳(を途中で挫折したもの)を http://mono.kmc.gr.jp/~yhara/w/?SPOJ2007 に置いておきます。どうぞご利用ください。 いま業界(?)で熱いのは√2をどこまでも計算せ

    Route 477(2007-04-20)
    zetamatta
    zetamatta 2007/04/21
    とりあえず、参加しとく
  • 2007-04-04

    昨日のエントリでCで記述したテストサーバー(TCPテスト - octech)と同等のものをRubyでも作ってみた。(それに伴い昨日のRuby TCP クライアントも少々修正) TCPサーバーには、TCPSocketクラスではなく、TCPServerクラスを使うようです。 プログラミング言語 Ruby リファレンスマニュアル ということで、コード。↓ 続きを読む 今日のコードは、昨日書いたサーバープログラムに対応するシンプルなメッセージを送るプログラムサンプル。 これも7割方 でもわかるネットワークプログラミング 第2版 (でもわかるプログラミングシリーズ) のコードをコピペですが、昨日のコードと同じように見えるようにしてみました。 ホストlocalhostのみ。ポートだけ入力して選べます。(もちろん2行程度の修正でホスト名も入力させるようにはできます!) ネットワークプログラムって動

    2007-04-04
    zetamatta
    zetamatta 2007/04/05
    ソケットサーバの作り方