タグ

programmingに関するFTTHのブックマーク (21)

  • prototype.jsを読み解く:第1回 Prototypeライブラリ(1〜197行目)|gihyo.jp

    他のライブラリや、自分のコードと共存させるときは、これらの名前と衝突しないように気をつける必要があります。同じ名前を使ってしまうと、コードがロードされた順番によって挙動が変わる、というようなわかりにくい問題が発生してしまう場合が出てきます。 オブジェクト、クラスの使われ方 ライブラリ内では、上記の名前空間は大きく分けて以下のような使われ形をしています。 その下に別のオブジェクトを入れるための親名前空間として使う Class.create()を使って Prototypeライブラリ風のクラスとして定義する Object.extend()を使って他のクラス、オブジェクトから継承されることを前提とする関数を集める コードを簡潔に記述する為に短い名前の関数として使う 特に、Object.extend()を使って継承を実現している箇所が多く、最終的にどのオブジェクト・クラスにどのメソッドが定義されてい

    prototype.jsを読み解く:第1回 Prototypeライブラリ(1〜197行目)|gihyo.jp
  • ユメのチカラ: ソースコードの読み方

    ソフトウェア工学の標準的なカリキュラムにソースコードの読み方というのがあるのかないのか知らないが、プログラマとして最も重要な資質の一つにコードの読解力というのがある。 ついでに言えば、大学や専門学校であまり教えられているとはいえないけど、実践では常に必要とされているものとして、テストの方法論、デバッグの方法論、性能向上の方法論、メモリなど各種資源の削減方法論などなどがある。国際化、移植性なども重要な単元であるがソフトウェア工学の中で教授されていると言う話はあまり聞かない。コードのハック一般についてどこかで議論されているのだろうか。経団連あたりで議論しているのだろうか? 閑話休題。 ソースコードの読み方ということで、最近では「コード・リーディング」というそのものずばりの教科書も出ているので状況は好転しつつある。コードの読み方はオープンソースの時代になり、間違いなく広く情報を共有できるようにな

  • 『The Evolution of a Haskell Programmer』

    See Iavor Diatchki’s page “The Evolution of a Programmer” for the “original” (though he is not the author), and also below for the story behind this version. (This page has been translated into the Serbo-Croatian language by Anja Skrba from Webhostinggeeks.com. Thanks, Anja, for all your hard work!) Freshman Haskell programmer fac n = if n == 0 then 1 else n * fac (n-1) Sophomore Haskell programme

    FTTH
    FTTH 2007/07/16
    Iterative one-linerで脳が拒否ったw
  • 404 Blog Not Found:こんなスクリプト言語は仕事にならない

    2007年06月25日18:15 カテゴリLightweight Languages一日一行野郎 こんなスクリプト言語は仕事にならない 梅雨です。空梅雨だけど。 こういう時にはDRYよりWET (Waste of Efficiency and Time)を指向したいものです。 求人募集広告がこんなだ 団員募集中!宇宙人、未来人、超能力者大歓迎! 今開発中のマッシュアップサイトの名前が「RoRは大変なものを盗んで行きました」 見積書の金額に「おくせんまん」と書いてしまう 遅れに遅れているリリース時期を聞かれて思わず「ひぐらしのなく頃に」と答えてしまう ペアプログラミングの相手があべさん ついでに自分の名字が道下 #!がこんなだ #!/さあはじまるざますよ/いくでがんす/ふが/さっさとはじめなさいよっ 組み込みの正規表現ライブラリーがこれ。 バグトラッキングページにアクセスするたびに、こんなB

    404 Blog Not Found:こんなスクリプト言語は仕事にならない
    FTTH
    FTTH 2007/06/26
    gはあれか、UNICODE対応してるから日本語でもパス通るよという話か。
  • Lisp脳でやってみよう -- Schemeプログラマの発想をJavaでやるとどんなことになっちゃうのか - 矢野勉のはてな日記

    Java, LispFizzBuzz問題第二段です。Lispなやり方でやってみよう。手続き的な発想では、毎回特殊な処理を行いそれを繰り返すという発想でプログラミングしていました。Schemeプログラマはそうは考えません。データからデータへの変換を考えれば良く、出力は後からどうにでもなる、 と考えています。Karetta|Gaucheプログラミング(立読み版)|「Lisp脳」の謎に迫る - Schemeプログラマの発想結局言語の中心に何があるのかってことなんですよね。Schemeの中心にはいつもリストがある。だから「まずリストを作ろうぜ」と考えるんじゃないかな。 なんにせよJavaプログラマとしては「それJavaでやったらどんな気持ちになるかな」というのが気になるのでJavaでやってみた。今回はいろいろ考えながらやるのでタイムアタックはなし。 import java.util.*; pu

  • Haskell - Wikipedia

    Haskell(ハスケル)は非正格な評価を特徴とする純粋関数型プログラミング言語である。名称は数学者であり論理学者であるハスケル・カリーに由来する。 概要[編集] Haskell は高階関数や静的多相型付け、定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングやカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。また、遅延評価や再帰的な関数や代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作(例えば 代入、入出力、配列など)を実現するモナドを含む。このような機能の組み合わせにより、手続き型プログラミング言語では記述が複雑になるような処理がしばしば簡潔になるばかりではなく、必要に応じて手続き型プログラミングを利用できる。 Haskell は関数型プログラミングの

    Haskell - Wikipedia
  • http://user.ecc.u-tokyo.ac.jp/~t50473/onlispjhtml/

  • PHPの関数キャッシュを扱う「Pear::Cache_Lite_Function」:phpspot開発日誌

    p0t: 関数キャッシュ それ以前に関数キャッシュというものを知らなかった。Cache_LiteにCache_Lite_Functionというのがあるんですね。試してみました。 PHPの関数キャッシュを扱う「Pear::Cache_Lite_Function」の紹介。 関数の返り値と出力の両方をキャッシュしてくれるクラスのようで私も知りませんでした。 次のように使うそうです。 <?php require_once 'Cache/Lite/Function.php'; $clf = new Cache_Lite_Function(); $clf->call('foo'); $clf->call('foo'); function foo() { static $v = 0; echo ++$v; } ?> 覚えておくとどこかで使えそうですね。 関連エントリ PHPで使えるCAPTCHA画像作成

  • JavaとPerlとTDDと回想と。 - nothing but trouble

    この辺りのお話で。 『WEB+DB PRESS Vol.35』:実演! テスト駆動開発 - 角谷HTML化計画(2006-10-24) 404 Blog Not Found:テキストエディタさえあればできるTDD JavaPerlも俺の中では、かなり上位にランクインする好きな言語なんだけど、なんか両者の文化圏は妙に対立することが多いよね。 今回のは、小飼さんの「Eclipseの中」発言が全てを集約している気がする。 エンタープライズJavaな現場ってのは、経験上、窮屈なもので、だからこそJavaというアーキテクトがガチガチにプログラマを縛っていけるような言語が受け入れられたということがあると思う。 俺が、初めてJava格的に業務で使ったのは、2001年ぐらいだったとおもうんだけど、まだEclipseですら、重くて使い物にならないと思われていたような時代で、その頃はSolaris上で、

    JavaとPerlとTDDと回想と。 - nothing but trouble
  • Collection & Copy - IE、テキストエリア内の選択範囲/キャレットの位置(文字数)を取得する

    JavaScript簡単なようで、とても難しく、情報もあまり見つからなかったので、知らない方はぜひ読んで。 選択範囲の移動でもなく、選択範囲の内容の取得でもありません。選択範囲がテキストエリアの中で何文字目から何文字目に渡っているかをIEで調べる方法です。 まずFirefoxではElement#selectionStart/selectionEndで簡単に取れます。 次に、テキストエリアではなく一行のインプットボックスならば以下で大丈夫です。 setEndPointメソッドは、rangeTo.setEndPoint('EndToStart', rangeFrom)のように使い、rangeFromの範囲をrangeToにコピーします。名前はEndPointですが、始点/終点のどちらの端もこのメソッド一つで動かすことができます。'EndToStart'は、「rangeToの終点を、rangeF

  • (system|exec)\s*\(\s*["'].+["']\s*\) - Google Code Search

    FTTH
    FTTH 2006/10/20
    後は任せた!
  • ウノウラボ Unoh Labs: php で 簡単にデバッグする方法

    尾藤正人です。 Ruby で debug する7つの方法 Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 ということなので、僕が PHP でやってること書いてみたいと思います。 preprint_r() print_r() とか var_dump() だと HTML の中に出してブラウザで見るときにすごく見にくくなります。 そこで preprint_r() という関数を定義して、<pre></pre> で囲んで見やすいように出力しています。 function preprint_r(&$var, $title = '') { echo _preprint_r($var, $title); } function &_preprint_r(&$var, $title = '') { if

  • ホワット・ア・ワンダフル・ワールド 質問です.C 言語はだいたいマスターしたつもりです.次はどんな言語を学べば良いでしょうか ? できれば C 言語に近く,かつ近代的な機能も加わっ��

    凡庸な回答 : やはり C++Java でしょうか ? ([どうでもいい] 0 ポイント) 普通の回答 : AWK か Perl をお勧めします.C 風シンタックスで,C では面倒な仕事が簡単に片付けられるようになりますよ ([参考になる] 10 ポイント) 先進的な回答 : C 言語にこだわらず,思考の幅を拡げるためにも,なるべくいろいろな言語をためした方が良いですよ.今なら ML か Haskell をお勧めします.日語のも出ましたし ([参考になる] 15 ポイント) 模範回答 : Alef か limbo をお勧めします.ついでに OS も,Linux とか BSD とか Windows みたいな古くてつまんないのは捨てて,plan9 か Inferno にしましょう ( [素晴らしい回答] -100 ポイント) Plan9 / Alef ってのは,UNIX / C を作

    FTTH
    FTTH 2006/09/01
    すげー、けど独学でどうにかなる領域じゃねーな。
  • PhpDocumentor1.3.0正式版リリース - Do You PHP はてブロ

    もはやデファクトとなったPHPドキュメント生成ツールです。最初のRCから約2年半、ようやく1.3.0正式版がリリースです。 Features added to this release include: Full PHP 5 support, phpDocumentor both runs in and parses Zend Engine 2 language constructs. Internal classes are recognized and inheritance is documented. Note that you must be running phpDocumentor in PHP 5 in order to parse PHP 5 code XML:DocBook/peardoc2:default converter now beautifies the so

    PhpDocumentor1.3.0正式版リリース - Do You PHP はてブロ
  • 『Ethna』徹底解説

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    『Ethna』徹底解説
  • ProgrammerProverb - MoriMoin

    プログラマ格言 PHPを笑うものはPHPに泣く 意味: 「PHPなんてまともなプログラミング言語じゃないよ」と笑っていたら仕事PHPを触るはめになってしかも既存のソースが汚かったりして泣く。 教訓: 好き嫌いを通せるようにえらくなれ。 ソースが知れる 意味: 変な挙動をするソフトをさわっていると、動き方から間違ってるパターンと作った人のレベルがなんとなく透けて見える。 教訓: どうやったらうまく動くか探すのも仕事のうちらしい。 ひいきのwiki倒し 意味: 「wikiはすばらしいツールですよ!」 と、とにかくwikiを導入してメンテ不良のページを大量につくってしまう。 教訓: 情報共有ツールは使う人のメンテナンス能力が一番のネック。 ライブラリからボタ 意味: 延々ぐぐってみつからなかった情報がライブラリのソースであっさりみつかった。 教訓: ライブラリのソースは

  • 分裂勘違い君劇場 - 劇的に生産性を向上させるメタオブジェクト技術とRuby on Railsの陳腐化の宿命(Java、C#)

    ■この記事で取り上げているトピックハイライト■ なぜ、メタオブジェクトを自分自身で使いこなせるようになると、日常のプログラミング生産性が大きく向上するのか? なぜ、メタオブジェクト技術を使うと、分散オブジェクト、Rails、DI、ORマッピング、Webサービスなどの、大きく生産性を向上させる仕組み自体を自分でつくれるのか? C#のどのメタオブジェクト機能をどのように使えば、簡単に「C# on Rails」を作れるのか? なぜ「Ruby on Rails」は陳腐化してしまう運命にあるのか? 「Ruby on Rails」を陳腐化させるアーキテクチャとはどのようなものなのか? ■構成■ まず、Ruby on Railsと同様のフレームワークを、C#で作ったとしたら、どのようになるのかという例題を通して、メタオブジェクト機能、つまり、リフレクション、カスタム属性、CodeDOM、パーサジェネレー

    分裂勘違い君劇場 - 劇的に生産性を向上させるメタオブジェクト技術とRuby on Railsの陳腐化の宿命(Java、C#)
    FTTH
    FTTH 2006/05/13
    id:FTTH 明日読み直すための備忘w
  • Latest topics > プログラムを書くということ - outsider reflex

    Latest topics > プログラムを書くということ 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « バトルとかプロレスとか Main 眉毛いじりと髪の毛いじり » プログラムを書くということ - May 13, 2006 友人がその筋の偉い人に「PHP勉強したいから教えて!」と言ったところ、「ハァ?」と返されてしまった、と言っていた。 プログラムの書き方というのは、習おうと思って身につくようなものではない、と思うことがある。教わるプログラミングというのは例えて言うなら辞書を見ながら学ぶ英語だ。でもプログラミングの質はそこにはない。プログラムで最も重要なのは、語彙(関数名やメソッド名)ではなく、ものの考え方そのもの(アルゴリズム)だからだ

  • ひげぽん OSとか作っちゃうかMona- - エミュレータプログラマ最強説

    今日はエミュレータプログラマ最強説を唱えてみようと思います。 最強の定義としては「ひげぽんがこの人には絶対かなわないと思う」という意味です。 プログラマとして日々仕事趣味でコードを書いており、勉強も続けていますがこの人には99%勝てないという人たちが何人かいます。 勉強すれば追いつくとかそういうレベルではない人。レベルが一桁違う感じ。 そういう人達は「エミュレータプログラマ」である確率が高いというのが今日の話です。 エミュレータというのは、Windowsでプレステのソフトで遊べるぜー的なそういうソフトウェアのこと。 なぜそのような人たちがすごいと思うか?というと、自分ができることを全部あっさりとやられてしまうからです。 (もしくはやろうと思えばいつでもできる力がある。) 例えば OS書ける? →はい。書けます。自前でタスク管理やメモリ管理は当たり前。エミュレータはハードウェアやCPUをエ

    ひげぽん OSとか作っちゃうかMona- - エミュレータプログラマ最強説
  • 嫌になる - 世界線航跡蔵

    なんでエラー処理のないコードを提出して違和感持たないんだろう。リソースリークも、SQLインジェクションも何も考えてないっぽいぞ。これの後始末、明日までに私がやるわけ? JavaでGCが当たり前で育った子は、リソース管理っていう意識がなかったり。GCにも限界はあるんだから、参照しっ放しじゃだめだよ。メモリー以外のリソースはちゃんと解放しないとだめだよ。 PHPで育った子は型っていう意識が希薄だったり。動的型言語にも、実行時には型があるんだよ。まして、PHPRubyみたいに文字列と数値とnilでduck typeみたいなことはできないんだから、ポリモーフィックには扱えないんだから、実行時の型を意識しないとだめだよ。暗黙の型変換に頼るのイクナイっていうのはC++時代の大切な教訓だね。 やっぱりね、自分の足を撃ち抜けるような言語の経験が一度は必要だね。コア吐いてコア吐いてコア吐いて、OS吹き飛ば

    嫌になる - 世界線航跡蔵