タグ

2008年9月1日のブックマーク (11件)

  • split の研究 - bkブログ

    split の研究 split 関数の挙動が言語ごとに微妙に異なると知人と話題になったので調べてみました。結果はまとめをどうぞ。 Ruby まずはRubyから調べてみます。irb を使って調べました。 % irb ... まずは普通に分割 >> "a,b,c".split(",") => ["a", "b", "c"] 末尾に空要素があると、省略されてしまう >> "a,,c,,".split(",") => ["a", "", "c"] 末尾の空要素を省略しないためには -1 が必要 >> "a,,c,,".split(",", -1) => ["a", "", "c", "", ""] 空文字列だと結果も空 >> "".split(",") => [] -1 をつけても同様 >> "".split(",", -1) => [] 分割パターンを指定しない場合も同様 >> "".split

  • Route 477(2008-08-23)

    ■ [ruby] bitclustに関するメモ Ruby合宿中に聞いとけばよかった…。 ディレクトリ構成はとりあえず % ls bitclust/ doctree/ db-1_8_7/ みたいにする。 まずDBフォルダを作る。 % ./bitclust/bin/bitclust.rb -d ./db-1_8_7 init version=1.8.7 encoding=euc-jp encoding=utf8とかしても、入力を自動的にUTF8に変換してくれたりはしないので注意(今のところ)。 次にリファレンスを読み込む。svn upを忘れずにな。 % ruby -I bitclust/lib/ bitclust/bin/bitclust.rb -d ./db-1_8_7/ update --stdlibtree=./doctree/refm/api/src 末尾に「&& echo ^G」(^

    Route 477(2008-08-23)
    monjudoh
    monjudoh 2008/09/01
    『$LOAD_PATH << File.expand_path("../lib", File.dirname(__FILE__)) 』このコードが書かれたrbファイルのpathから相対pathでlibのpathを解決する。どのディレクトリから実行してもlibを参照できる。
  • ページを半透明

    Overview The jQuery BlockUI Plugin lets you simulate synchronous behavior when using AJAX, without locking the browser[1]. When activated, it will prevent user activity with the page (or part of the page) until it is deactivated. BlockUI adds elements to the DOM to give it both the appearance and behavior of blocking user interaction. Usage is very simple; to block user activity for the page: $.bl

    monjudoh
    monjudoh 2008/09/01
    モーダルダイアログの後ろが黒くなるアレを$.blockUIメソッドで出して、$.unblockUIで戻す。
  • Haskell の 4 つの糊 - あどけない話

    なぜ関数プログラミングは重要かでは、糊の重要さが強調されています。 問題を解くための部品プログラムを書くとき、その問題を部分問題に分割し、部分問題を解き、その解を合成する。元の問題を分割する方法は、部分解を張り合せる方法に直接依存する。それゆえに、概念的には問題をモジュール化する能力を高めるためにはそのプログラミング言語のなかで新たな糊の類を用意しなければならない。... 糊の重要性は、大工仕事との類比によって、正しく評価できる。椅子は、部分(座部、脚、背もたれなど)を作り、それらを正しくくっつけ合せることで容易に作ることができる。しかし、これはジョイントと木を張り合せるという能力に依存する。その能力がなければ、椅子を作る方法はひとつ木の塊からそれを彫り出す以外なく、非常に難しい作業になる。この例は、モジュール化の強大な力と正しい糊を持つことの重要性の両方を例示するものである。 僕が思うに

    Haskell の 4 つの糊 - あどけない話
    monjudoh
    monjudoh 2008/09/01
    『僕が思うに Haskell には 4 つの糊があります。 関数合成(.) 高階関数 遅延評価 モナドの bind』
  • プログラミングの道具を考察する - プログラマーの脳みそ

    構造化定理で言われるような順次・反復・分岐というプログラミングの基礎の基礎と言える要素を、たかだか数個組み合わせることで対処できるようなコーディングというのは、設問に対するパターンマッチングで回答することができる。 受験勉強でもそうなのだが、こうした問題のパターンに対して定型の答えを返す、という機械的な対処は、黙々とパターンを暗記することである程度の成果が出るわけだが、応用がまるで効かない。 必要となった時に、応用することができるかどうかがコーダとプログラマの分水嶺のように思う。 プログラマとコーダの狭間 - プログラマーの脳みそ と述べたように、プログラミングの技能というのは応用力の類だということ。 この稿で言う「プログラミングの道具」というのはエディタとかデバッガとかの話ではなく、プログラムを組み立て上で用いるプログラミングパラダイム、つまり思考の道具のことを指す。 道具の獲得と使い方

    プログラミングの道具を考察する - プログラマーの脳みそ
    monjudoh
    monjudoh 2008/09/01
    順次・反復・分岐の制御構文から始まってアスペクト指向とかアノテーションとかまで
  • 禁断の乗り物CDR(クダー)の謎を追え! - リリカル☆Lisp開発日記

    データを入れるところが2つある箱をコンスセルという。 左側の入れ物がCAR(カー)で右側がCDR(クダー)。 どうして左側がCARなのか分かる? 車は左側通行だからさ! --- Lisp初学者が一度は聞くことになる(と私は思い込んでいる)決まり文句です。 しかし、ここで誰もが疑問に思うのが「CDR」の存在です。 CARが左側通行の乗り物ということは、CDRという右側通行の乗り物があるのでしょうか。 しかし、CDRの正体を尋ねてみても、 「そんなCDRらないことを聞くな。」 と、お決まりの返事をされ、結局CDRの正体を教えてくれません。 ひょっとしたら皆が決して触れようとしない、「クダー」という名の乗り物が存在するのではないのか。 そして、真のLisperのみが隠れてクダーに乗っているのではないか。 そう考え、私なりに色々と想像してみました。 「クダー」という独特の響きや、

  • ユメのチカラ: LL Future

    週末LL Futureに行ってきた。朝の10時から夜9時まで11時間の長丁場である。参加するだけでもヘロヘロなのだから裏方の実行委員や発表者の皆様のご苦労は大変なものだろう。感謝。 わたしがこの夏のLLイベントにはじめて参加したのはLL Ring (2006)からで、昨年のLL Sprits(2007)、そして今回のLL Future (2008)というような感じである。 基調講演はPerlのLarry Wallである。Perl 6のお話をするのだけど、言語そのものの拡張機能をビルトインするらしい。うは、Lisp的な。しかし、ふつーの利用者は、言語の文法を拡張したいのだろうか?シンタックスをばりばり変更拡張して、俺様言語を作るというのをふつーの利用者は望んでいるのだろうか。 うーむ。よくわからない。むしろ言語設計者の役割は、様々なプログラミング言語のアイデアを絶妙なバランスで取捨選択して、

    monjudoh
    monjudoh 2008/09/01
    Perl6で動的に言語の文法を拡張できることの是非とか
  • 「長く使える技術力を自分に蓄えていく」―はてな伊藤直也氏がジュンク堂書店大阪本店トークセッションに登場 | gihyo.jp

    2008年8月23日(土)、ジュンク堂書店大阪店にて、(株)はてなの伊藤直也氏によるトークセッションが開催された。今回のイベントは、『⁠[24時間365日]サーバ/インフラを支える技術』(⁠伊藤直也/勝見祐己/田中慎司/ひろせまさあき/安井真伸/横川和哉著、技術評論社)発刊に関連して、ジュンク堂書店大阪店企画/主催で実現された。 はてな伊藤直也氏 私にとっての技術書読書 今回のテーマは「私と技術書⁠」⁠。トーク中に「プログラミングは世界を変える(※注⁠)⁠」⁠「⁠ハッカーになりたい⁠」⁠、そんな率直な思いを言葉にした伊藤氏にとっての技術書とは、読書とは、いかなるものなのだろうか。 テーマは「私と技術書」 ※注) 伊藤氏は、小学校時代のパソピア7(東芝製パソコン)でのプログラミング体験に始まり、数々のソフトウェア、インターネットで世界が変わったその時期に高校/大学時代を過ごし、ユーザ数

    「長く使える技術力を自分に蓄えていく」―はてな伊藤直也氏がジュンク堂書店大阪本店トークセッションに登場 | gihyo.jp
  • UserAgentを使わないブラウザ判定を作った - ?D of K

    これ。例のIE5+も動くjQuery用。winieとmacieとunknownを追加した。 昼間載せたバージョンはIE5だと動作しなかった。IE5ではObjectの添え字は文字列だけのようだ。switchを使った実装に変えて回避。 チェックはあまり終わっていない。 チェックしたブラウザ Windows Vista IE 5.5 (IE Tester) IE 6 (IE Tester) IE 7 (IE Tester) IE 8b1 (IE Tester) 7と判定(Selectors APIが未実装っぽいから) Opera 8.0 Opera 9.52 Fx 2.0.0.16 20080702と表示(Fx3と混同しそうだけど、Fxは実装バグが少ないから多分使わない Safari 3.1.2 (525.21) 3と判定 Windows 2000 IE 5.01 (Multiple IE) I

    UserAgentを使わないブラウザ判定を作った - ?D of K
  • チーフ・テクノロジ・オフィサ(CTO)ってチーフ・エンジニアと違うの? - Zerobase Journal

    最高技術責任者 (CTO: Chief Technology Officer) は単に「最も優れたエンジニア」なのではいけない。経営者でなければならない。自社の経営における技術の位置づけ(技術戦略)、良い技術と悪い技術の見極め(選定・採用基準)、良い技術人材の確保などがその仕事だ。自ら手を動かすことではない。 良いCTOは金の草鞋を履いてでも探せ (ZEROBASE BLOG)へ頂いたコメントを紹介します。それをきっかけとして、CTOの職務とは何かについて考えてみたいと思います。「天才エンジニア」と同様に「CTO」という言葉も曖昧に使われがちです。 →素敵な要約をして頂きました:CTOと「技術経営」 - Zopeジャンキー日記 今回のポイント CTOの職務は何か? それに必要な能力は何か? 前提 「CTOの職務」を論じる上での大前提ですが、「人に仕事をつける」という考え方ではなく、「職務に

    monjudoh
    monjudoh 2008/09/01
    CTOってどんな仕事なの?という話。まず、作らずに済ませることを考えるのが大事とか。
  • さくらインターネットに色々インストールする - yasuhisa's blog

    大学サーバーは卒業するとあれになってしまうので、どっか契約することにしました。さくらレンタルサーバーのスタンダードでは、シェルログインができるので、これにしました。 最初に mkdir ~/local をやっておく。 vimviは入っているけど、vimは入っていなかった。 さくらインターネットのレンタルサーバーにvimをインストールしてみる - SIGSEGV ftp ftp://ftp.vim.org/pub/vim/unix/vim-7.0.tar.bz2 tar xvjf vim-7.0.tar.bz2 cd vim70/ ./configure --prefix=$HOME/local make make install .vimrc あんまり意味分かってないでコピペ(ry。 set number set compatible set tabstop=2 set shiftwidt

    さくらインターネットに色々インストールする - yasuhisa's blog