タグ

2009年2月20日のブックマーク (16件)

  • Problems with Lisp

    I have seen a few complaints about Common Lisp over on Programming Reddit this week. Most of them are the usual kind of complaints you hear from people that are new to any programming language ("I don't understand the common idioms, so the language is bad"), but one complaint keeps coming up: Lisp doesn't support hashes well. There are plenty of things wrong with Lisp, but I don't get this one. So

  • Increment test counter

  • 既存の特異メソッドモジュール - Islands in the byte stream (legacy)

    Perlで特異メソッドでは「標準モジュールにも特異メソッドを実現するものはない」と書いたが,そういえばPerl 5.10.0から標準モジュールになったObject::Accessorというものがあることを思い出した。これは直接特異メソッドを定義するのではないが,振る舞いとしては特異メソッドそのものである。実際,Class::Monadicもadd_field()というアクセサを作成する機能を提供している。 Object::AccessorのSYNOPSISより: ### using the object as base class package My::Class; use base 'Object::Accessor'; $obj = My::Class->new; # create base object $bool = $obj->mk_accessors('foo'); # cr

    既存の特異メソッドモジュール - Islands in the byte stream (legacy)
  • Effective Code Reviews Without the Pain | Developer.com

    Code reviews in most organizations are a painful experience for everyone involved. The developer often feels like it’s a bashing session designed to beat out their will. The development leads are often confused as to what is important to point out and what isn’t. And other developers that may be involved often use this as a chance to show how much better they can be by pointing out possible issues

  • 本を読む WWW::Mixi::Scraperに勝手に外部から追加機能を注入してみる

    ふと、mixiのリニューアルで一番困っているのは専用ブラウザー系の人ではないかと思った。ためしにbackup_mixiを見てみたところ、まだ対応していないようだ。 PerlのWWW::Mixi::Scraperモジュールだったらさっくり書けるんじゃないかと思って、使いかたを調べてみた。すると、WWW::Mixi::Scraperでは、日記一覧で次のページへのリンクを取得する方法が用意されていないらしい。 それ用のプラグインを作る? WWW::Mixi::Scraperではプラグインのモジュール名とCGIのコマンド名が一対一で対応していて、同じコマンドに複数のプラグインを割り当てられないらしい ListDiaryプラグインを改造? いまの仕様はエントリのリストを返すようになっているので、その仕様を変更するとほかに影響が大 コピペして新しいスクリプトにする? メンテが面倒そう というわけで、不

  • sequential-command.el使ってみた。 - IMAKADO::BLOG

    同じコマンドを連続実行することで挙動を変える(行頭→先頭など) sequential-command.el をリリース - http://rubikitch.com/に移転しました リリースされたばかりの sequential-command.el を使ってみました。 一つのコマンドで複数の動作ができるのは思ったより便利でちょっとハマりそうです。 とりあえずポイントの前の単語を 大文字->キャピタライズ->小文字 の順に変更するコマンドを作ってみました。 (require 'sequential-command) (define-sequential-command seq-kyr-backward-word seq-upcase-backward-word1 seq-upcase-backward-word2 seq-upcase-backward-word3) (defun seq-u

    sequential-command.el使ってみた。 - IMAKADO::BLOG
  • 同じコマンドを連続実行することで挙動を変える(行頭→先頭など) sequential-command.el をリリース - http://rubikitch.com/に移転しました

    たとえばEmacsでC-aを押したら行頭に飛ぶ。しかし、行頭でC-aを押してもすでに行頭なので意味がない。C-aは特等席なんだからもっと働かせてやろうと思わないか?もう一度C-aを押したらバッファの先頭に飛ぶとかできれば、遊んでいるキーの有効活用ができる。少なくとも俺にとってはM-<よりもC-a C-aの方が負担がかからない。 そこで、sequential-command.elの登場だ。これは同じコマンドを連続的に実行したときに挙動を変えるフレームワークとなっている。そして、sequential-command-config.el はそれを使った具体的なコマンドを集めている。 M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/sequential-command.el M-x install-elisp htt

    同じコマンドを連続実行することで挙動を変える(行頭→先頭など) sequential-command.el をリリース - http://rubikitch.com/に移転しました
  • vimperator で svn:externals plugin_loader.js を使った設定ファイル管理 - 8時40分が超えられない - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    vimperator で svn:externals plugin_loader.js を使った設定ファイル管理 - 8時40分が超えられない - subtech
  • 超簡単なDoxygenの使い方 - y_tsuda's blog - s21g

    納品物の中によく「ソースコードのドキュメント」とありますが、いちいち作るのがめんどくさいです。 しかも、そのドキュメント作成の工程が「○人日」とかになってたりします。 ドキュメントは大切ですが、どうしても楽したいですよね。(僕だけ?) そこで、Doxygenを使ってドキュメントを自動生成します。 Doxygenを使うドキュメント生成は、 普段から決まったコメントの付け方をする Doxygenの使い方を覚える Doxygenでドキュメントを生成している時間待つ の3つを行うだけで、簡単にできます。 生成されるドキュメントには、HTML形式や、TeX形式などがあります。 準備編 インストール とりあえず、Linuxのみのインストール方法です。 yum系の場合(CentOS5.2 で確認)

  • Pure JavaScript Template Engine - mixi engineer blog

    はじめましてhirokiです。こんにちは。新卒で弊社に入って一年が経過しようとしているので、そろそろエンジニアブロガーの仲間入りをしてみようかと思っています。 今回はJavaScriptのお話です。ハードボイルドなバックエンド側技術のご紹介が多い当ブログですが、スイーツ(笑)なフロントエンド技術おもしろいんだよ!ということをアピってやろうという魂胆です><。 HTML.Template(JavaScript) 弊社では、サーバサイドによるHTMLの出力テンプレートエンジンにCPANモジュールであるHTML::Template::Proを使用しています。今回はそのJavaScript実装をオープンソースとして開発しましたので、紹介をさせていただきます。 HTML::Templateは貧弱で、冗長で、洗練されていないシンタックスでお馴染みのテンプレートエンジンですが、高速で必要以上のロジック

    Pure JavaScript Template Engine - mixi engineer blog
  • オリエンタルラジオが背負った十字架 - てれびのスキマ

    「クイック・ジャパン(82号)」の特集「テレビ・オブ・ザ・イヤー」の中で、板尾創路とピエール瀧の対談連載「ハチ公じゃなぜ剥製にされたのか?」にオリエンタルラジオの中田敦彦がゲストに招かれ、「テレビ」をテーマに語っている。 「クイック・ジャパン(77号)」でのオリエンタルラジオのインタビューと併せて読むと面白い。 中田は『アメトーーク』の「中学の時イケてないグループに属していた芸人」に出演したことで広く知れ渡ったが、高校の頃は「ひどかった」。だから「勉強しかしなかった」という。 その結果、現役で慶応義塾大学に合格する。 そして一緒に合格した幼なじみから「二人で(お笑いの)サークルを作ろう」と誘われて、学園祭などでネタを披露するようになる。その後、他大学のお笑い好きとともにインディーズ活動っぽいことをしていくようになっていく。しかし、中田を誘った幼なじみは「プロになるつもりはない」と突然抜け途

    オリエンタルラジオが背負った十字架 - てれびのスキマ
    koko1000ban
    koko1000ban 2009/02/20
    今のこの人達すごい好きだ
  • 「Unixコマンド生活実践」課題の解答 — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

  • プラグインローダ - 地獄のネコブログ

    UNIX系OSならシンボリックリンクがあるので、svn updateするだけで良いんだけど、Windowsだとそうもいかない。腹立たしくなってシェルを書いた。 plugin_loader.js 使えば何もしなくても良いのに。 js <<EOM liberator.globalVariables.plugin_loader_roots = "/home/anekos/coderepos/vimp-plugin/trunk/"; liberator.globalVariables.plugin_loader_plugins = [ 'appendAnchor', 'asdfghjkl', 'auto_detect_link', 'auto_source', 'bitly', 'browser_object', 'bufferecho', ]; EOM こうやって使いたいのを並べて置くだけで良い

    プラグインローダ - 地獄のネコブログ
    koko1000ban
    koko1000ban 2009/02/20
    こんな便利な方法が!
  • Mooseにおけるメソッドレゾリューションの落とし穴 - D-6 [相変わらず根無し]

    Mooseにおけるメソッドレゾリューションの落とし穴 MooseでRoleを作ります package Role; use Moose::Role; requires 'foo'; no Moose; で、このRoleをChildで実装しますが、こいつに親クラスParentがあると仮定します。こんな感じ。 # Parent package Parent; use Moose; has 'foo' => ( is => 'rw', isa => 'Int' ); no Moose; # Child package Child; use Moose; extends 'Parent'; with 'Role'; no Moose; で、foo()ってattributeがついているんだから、当然Roleのrequiresも満たしてると思いますよね? 満たしてません。 実はMoose::Roleのr

  • Lisp一夜漬け

    Lisp 一夜漬け 「Lisp 一夜漬け」は、ソフトバンクの月刊誌『Oh!X』の 1995年10月号〜1995年12月号に掲載された Lisp 講座です。 ここでは、掲載当時の X68000 に特化した部分などは削除してあります。 (ということは、1995年12月号掲載ぶんは全削除です) Lispの書き方 (1997.09.26 21:55) Lisp の世界 関数という概念 書き方 変数 制御と述語 関数定義 リスト (1997.10.01 00:50) Lisp におけるデータ型 ドット対 ドット対からリストへ nil について リストの定義 リストを扱う関数 リストを扱うプログラムを作る

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at