2007-02-01から1ヶ月間の記事一覧

メモ

http://reader.livedoor.com/js/compat.0.3.2.js http://reader.livedoor.com/js/common.0.3.2.js http://reader.livedoor.com/js/event.0.3.2.js http://reader.livedoor.com/js/roma.0.3.2.js http://reader.livedoor.com/js/template.0.3.2.js http://rea…

Char classがないのはかなりもにょもにょする

self[nth]でいきなり整数値返すのはかなり暴力的でアレだな。はともかく、rubyにはislowerみたいな文字種類判別関数はないのだろうか。それがくっついててしかるべきCharクラスもろとも行方不明なので困る。正規表現があるからいいだろヴォケとかそういうこ…

突然ですがRubyでSchemeのサブセットを実装します。継続と末尾再帰最適化ありの。その1:データ構造とパーサ

Scheme/Lispを実装してみようって企画はたまにあるのですが*1、どれもこれも無限ループするとスタックオーバーフローする始末。末尾再帰最適化もないような代物にSchemeを名乗る資格はございませんことよ。 というわけで、この私がRubyでScheme(末尾再帰最…

インピーダンスミスマッチ

相変わらずActiveRecord.netを設計している。 まずRDBとオブジェクトというデータ構造のミスマッチがあり、それに付随してデータ型もミスマッチ。DBエンジンはそれぞれ違う特性と独自拡張を持っていて ――まあ複数のDBに対応すべきかどうか考えあぐねているの…

C#でWSSE認証する

参照:はてなフォトライフAtomAPIとは - はてなキーワードサービスによってnonce/digestをbase64エンコードしたりしなかったりするらしい。はてなのはする。 準備する情報 string username="hogehoge"; string password="pass"; DateTime created=DateTime.No…

XPathわからん

XmlNode#SelectNodesではまっている。"title"で引っかからないのに"*[name()='title']"でマッチするなんてことがあるのか?(というか、あるんだが) 理解不能。→あー、namespaceまわり?→そうみたい。 <hoge xmlns="http://d.hatena.ne.jp/gnarl/"> <hage><fuga /></hgae> <hage /> </hoge> XmlDocument d=new XmlDocument(); d.LoadXml( xm…

はてなブックマークAtomAPI

勘違いしてたんだけど、/atom/edit/[eid] で取得できるのは、ブクマのエントリページについての情報(サイトのタイトルとかサマリーとか)であって、ユーザのブクマ情報(コメントやタグ)じゃあないんだね(コメントも入ってた) それにしても、ブクマの新…

キーワードを編集しようと思ったらまだはてダ市民になってなかった。びっくり。

なんということだ!馬車馬のように日記を書き続けるしか

はてな住民はJavaとかC#とか嫌いすぎるというかLLが好きすぎるというか

はてブの注目エントリに上がってくるのはrubyとかPerlとかrailsとかjavascriptとかばっかりじゃないですか!まったくお前らはなんでそんなにLL系が好きなんだ…… D言語に変態機能が入ったとかの面白ニュースもちょうスルーだし……!一時期流行ったHaskellとかS…

jsで遅延評価

js

課題をやっていたはずなのになぜかこんなものができてしまった。ふしぎ。 function Promise(x) { this.cache=null; this.force=function() { if(this.cache==null) this.cache=x(); return this.cache; } } function tarai(x,y,z) { if(x<=y) return y; retu…

複数のディスプレイ間でウィンドウを移動させたい。座標系がどうのこうの。

きばらしに、ショートキー一発でアクティブウィンドウを別のディスプレイに移動させるアプリをつくっている。 そんなもの30分でできそうなものだが、残念なことに、System.Windows.Formsはてんで不完全だ。アクティブウィンドウを取得する手段すらない! ア…

アクティブウィンドウをショートカットキー一発で他のディスプレイに移動するツール

――というのが意外となかったので作りました*1。マルチモニタ環境で使えばちょうべんり! WindowMover(ソース類全部紛失しました!ごめんなさい!) windowsよう。.net Framework 2.0が必要です。 WindowMoverというあまりに安直な名前を何も考えずつけたら先…

ActiveRecord.net つづき

データ型のマッピングをまともに。Enumも使えるようになった。have_one,belongs_to,have_manyなど実装。 class Person : ActiveRecord<Person> { public string name; public int age; public int boss_id; public belongs_to<Person> boss; [Option("TargetColumn", "boss_i</person></person>…

ActiveRecord.netを作ってみたよ

――まあタイトルは釣りで、「作りかけてみたよ」ってなもんですがね。.net2.0のジェネリクスとリフレクションを駆使してRuby on RailsのActiveRecord風にORマッピングするというもくろみ。 元ネタは生産性を向上させるメタオブジェクト技術 - 分裂勘違い君劇…

例外テストの落とし穴

「ここで例外が飛ぶ」ことをテストしたいけど例外の型を明示するのが面倒なとき、 [Test] public ExceptionTest() { try { ThrowException(); //ここで例外が飛ぶはず Assert.Fail(); //……なのでここは通らない }catch{} } というコードを書いていたのだけど…

定義した順にメンバをとりだすことはできないんだろうか

namespace Sandbox { class Hoge { public int mem1; public char mem2 { get { return 'a'; } } public void mem3() { } public string mem4; public double mem5(int i) { return 0.0; } public int mem6 { get { return 0; } set { } } } class Program {…

復帰した

わああ!二ヶ月ちかく放置してしまった!ひどい! これからしばらくは気合を入れて技術ネタを書き散らしてゆく予定。