This domain may be for sale!
今の世の中、オブジェクト指向プログラミングは当たり前だ。 しかし、じゃ「メタクラスは?」と聞かれて即答できる人は、ある程度の勉強家だろう。 なぜか……昨今の「オブジェクト指向プログラミング言語」の主流格であるC++にもJavaにも、メタクラスは存在しないからだ。 無論、Smalltalkerなら「当然」なので、鼻で笑われるだろう。 なんせ、クラスを作るには、メタクラスのインスタンスを作らなければならないからだ。 つまり、メタクラスとは、クラスオブジェクトのクラス、すなわち「クラスのクラス」だ。 正式には、あるオブジェクトがあると、そのクラスのクラスがメタクラス、ということになる。 クラス自身がオブジェクトである言語でなければ、メタクラスが存在するわけない、という意味はご了解できただろうか。 Perl風Smalltalkを標榜するRubyには、メタクラスは当然ある。 では、我らがPython
実は前回は、メタクラス(カスタムメタクラス)で一番力を発揮する__new__メソッドの話と、__call__メソッドの話をわざと省いた。 いや、えらそうなコトを言っておきながら、自分でも少し混乱していたので、こっそりと色々試していたのだ。 で、確認終了したので、ここにまとめる。 (2007.3.2修正しました) ■__new__メソッドについて メタクラスの話に入る前に、確認を兼ねて__new__組み込みメソッドについて。 Pythonでクラスを定義する場合は、__init__メソッドで初期化するのが普通だが、生成過程を制御したい場合には、__new__組み込みメソッドを使用する。 __new__は、__init__と全く同様に引数を設定し、クラスオブジェクトの関数呼び出しの形で使用される。 ただし、二点ほど注意することがある。 一点は「戻り値を設定しない」__init__とは異なり、__
現在は m4i さん作のcdd を tmux, bash, multi session +α に対応した - カワイイはつくれる のcddを使うのがオススメです。 screen を使ってると、別の作業している WINDOW のカレントディレクトリに移動したくなることってありませんか?私は月1000回ぐらいあります。で、毎回手動で打つのがめんどくさくなってきたので zsh スクリプト書いてみたら思っていた以上に便利だったので、汚いスクリプトですが公開します。 http://svn.coderepos.org/share/lang/zsh/cdd/cdd 使い方は、上記スクリプトを checkout したりダウンロードしたりしてから、.zshrc に autoload -U compinit compinit source ~/path/cdd # (cdd はこのファイル) するを追加します
「C-x RET f」で保存時の文字コードを変更できるのは知ってたけど、これを文字化けしたときに実行して、C-x C-s で保存すると、表示されている(文字化けしている)文字自体を指定した文字コードで保存してしまうらしく、さらに訳の分からない内容のファイルになってしまう。(推測なので、間違っていたらつっこんでください) この場合、正しい対処法としては「C-x RET r」(revert-buffer-with-coding-system)を使えばよいみたい。 revert-buffer-with-coding-system のヘルプの抜粋 (revert-buffer-with-coding-system CODING-SYSTEM &optional FORCE) Visit the current buffer's file again using coding system CODI
ワークショップ中の夕食で話したのですが、今のところ日本で(素性関数ベース&線形識別器)機械学習のいろいろな手法をまとめて体系的に教えてる資料などがあまりないなぁという話をしていました。 で、探すと、このあたりの大部分をまとめて説明しているいいチュートリアル(英語)がありました。 夏の学校資料[pdf] その他のコードやリンク ちょっとだけ解説 現在自然言語処理の多くで使われている学習器は線形識別器です。 入力x(例:単語、文、文書)から出力y(例:品詞、品詞列、文書のトピック)を予測したいという場合は、(x,y)のペアからいろいろな値を取り出し(x,yのペアから値を取り出す関数を素性関数と呼ぶ)、その値を並べたベクトルを素性ベクトルと呼び、f(x,y)とかきます。そして、その素性ベクトルf(x,y)と同じ次元数を持つ重みベクトルwとの内積を測って、その値が正か負か、または大きいか小さいかを
How does the gcc compiler get written? Who works on it and why? It seems to puzzle some people. There are vast numbers of free software projects these days, far more than I try to keep track of. Among these, gcc is unusual in several respects. gcc is more than 20 years old as an active free software project. gcc has a large number of active contributors. gcc is not associated with any single compa
ふと思い立ってシェルを入れ替えることにした。 bbLean入れた。すぐ消した。LiteStep入れた。もちろんすぐ消した。 昔はblackboxもAfterStepも主力で使っていたんだけど、5年ほど前に何となく肌に合わなくなってやめたのを思い出した。 (以前もblackbox系の互換シェル入れて同じように入れてすぐ消した気がする。。。) で、色々調べてGeoShell入れてみた。これは初めてだったし何かのWindowManagerのパクリってわけでもなさそうなので新鮮wktk。 http://geoshell.org/docs/display/R4/ 基本的なカスタマイズ方法 1.デスクトップ右クリ→Settings→geOShell Plugins→New GeoBarで新しくGeoBarを作る。HKEY_CURRENT_USER\Software\geo\GeoShell\Servi
最近新幹線に乗る機会が多々あったので、暇つぶしに Javascriptだけで(Ajax等は使わずに) 分かち書きが出来るソフトウェアを作ってみました。実用性は謎です。 http://chasen.org/~taku/software/TinySegmenter/ たった 25kbyte ですが、新聞記事でしたら、95%程度の精度で分かち書きができます。 辞書は全く持たず、文字単位で分割するか分割しないかを当てる機械学習器を 作って分割しています。 モデルをコンパクトにするために、L1ノルム正則化の トリックを使っているのですが、想像以上にコンパクトになって、しかも そこそこうまくいっていて、刺激的です。
Ring Menuとは? リングメニューは新しいスタイルのショートカットメニューです。右クリックした際に、本来の文字列のメニューではなく、グラフィカルなアイコンのリングのメニューを表示します。より見やすく、わかりやすい操作が可能になります。
最近Hadoopを使うために5〜6年ぶりにJavaをいじっています。 そんで、ちょっとばかり耐えがたいわけです。 例えばありがちな例題を挙げると、 ["google", "検索","開発"] のようなタグ(文字列)のリスト(でも配列でもなんでもいい)を受け取って [ {tag=>"google", enc=>'google'}, {tag=>"検索", enc=>'%E6%A4%9C%E7%B4%A2'}, {tag=>"開発", enc=>'%E9%96%8B%E7%99%BA'} ] のようなハッシュテーブルのリストに変換しなさい。 ただしパーセントエンコーディングを行う関数(でもメソッドでもなんでもいい) uri_encodingは与えられているものとする。 こんなこと、Webアプリケーションではよくやるじゃないですか。 んで、実際Perlなんかでは結構簡単に書けて #my @tag
「ありとあらゆるドラゴンクエストを集める」ということで、一般のお店には真似できないようなソフトを含めて集めまくっています。第1報はこちら ドラクエ、ドラクエモンスターズ、トルネコ、すらいむもりもり、剣神ドラクエなんてのは当然として、お店の常連さんの協力で、中国版のファミコンのドラゴンクエストも1~4全て揃いました。 ただ展示するだけでは面白くないのでプレイ画面リポートなどの紹介記事も込みでお店には展示する予定ですが、その前に一足さきにパッケージだけでもここで公開します。 パチモンくさいですが、全て中国のメーカーが版権を取得して中国向けに移植・販売されたものです。 さすがに海賊版を展示とはいえお店におくわけにはいきませんからねぇ。 最初はドラゴンクエスト・・・1です。 ドラクエ1のはずですがタイトルは勇者斗悪龍Ⅳってなってます。いきなりⅣからはじまるのがわけわかりません。 ストーリー的に2番
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く