メモ

露出狂

クラス内の、あるメンバをインテリセンスに載せたくない場合、 EditorBrowsableAttributeを使って隠してやることができます。 F#でも [<EditorBrowsable(EditorBrowsableState.Never)>] member this.Love() = ()なんていう風に使えるものだと思っていました。 でもなぜか、僕の愛が相手に見透かされている</editorbrowsable(editorbrowsablestate.never)>…

F#でDuck Typing

F#にはコンパイル時にシグネチャをチェックする仕組みがあるので、 静的型付け言語であるにもかかわらずDuck Typingができてしまいます。C++のような感じ。 type Taro() = member self.Speak () = "こんにちは!太郎です!" member inline self.Calc (x, y) …

Seq.cache - Memoize

F#って標準でmemoizeもどき君が備わってたような、どんな関数だっけ・・・と思っていた矢先、@igetaさんのつぶやきの中からその関数を発見!白骨!発掘! その名もSeq.cacheさんでした。忘れないように軽くメモしておこうと思います。 > let test1 = seq { f…

AppDomain.Unload

AppDomain.UnloadによるスレッドのAbortと、抹殺されるスレッドの最後の抵抗(finally)によってCannotUnloadAppDomainExceptionが発生するまで。 親アプリケーション public void Test1() { string childPath = "(子アプリのパス)"; AppDomain domain = App…

記号

論理包含 同値 論理積 論理和 否定 全称 存在 ゲンツェン ⊃ ⊃⊂ & ∨ ¬ ∀x ∃x ラッセル ⊃ ≡ ・ ∨ 〜 (x) (∃x) ヒルベルト → 〜 & v  ̄ (x) (Ex) ライプニッツ 不明 不明 ・ + 不明 Πx Σx

フェルマーの最終定理

堅忍不抜の精神は大切ですね、ということだけ分かりました。 全部見てないけど。笑 これはMath少女(!)の新作を買わないといけませんね。 お金がないので遠い未来になりそうですが。 前作も積読リストのお仲間入りしてるんだけどね!

destructuring-bind

CL-USER 1 > (setq data '(1 (2 . 3) (4) 5 6 7)) (1 (2 . 3) (4) 5 6 7) CL-USER 2 > (destructuring-bind (a (b . c) (d) . e) data (list a b c d e)) (1 2 3 4 (5 6 7)) CL-USER 3 > (destructuring-bind (a (b . c) (d) . e) data (append (list a b c …

CGI

コマンドラインから[]python -m CGIHTTPServer[]とするとport:8000に穴を開けて簡易サーバが立ち上がる。 停止はCtrl+Break(Pause). 直下にcgi-binという名でフォルダを作り、そこにスクリプトを置く。 http://localhost:8000/cgi-bin/hello.py などとしてア…

記号・・・

List.map (Float.to_int << ( ** ) 2.0 << Float.of_int) [0..10];; [ for x in 0..10 -> 2.0 ** (Float.of_int x) |> Float.to_int ];; http://d.hatena.ne.jp/Nobuhisa/20080707/1215424638#c1215441149 いげ太さんに教えてもらったコードに見慣れない記号…

mapとfilterとリスト内包

PHP Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 8 [4] => 16 [5] => 32 [6] => 64 [7] => 128 …

functools.partial

先頭から順に・・・と思っていたのですが、指定することもできるのね。知らなかった。 >>> from functools import partial >>> f = lambda x, y: x*10+y >>> f2 = partial( f, 1 ) >>> f2( 2 ) 12 >>> f3 = partial( f, y=5 ) >>> f3( 3 ) 35

GCC Hacks

OSCには早い段階から登録していて、今年も行く気まんまんマントヒヒひひひひひひひひヒトコブラクダだだだだだだだダックスフンドどどどどどどどど、だったのですが用事が出来て結局行けませんでした。残念。 ニコニコにGCC Hacksをアップしてくださってたの…

Curry-Howard

とりあえずはメモだけ このような「型=命題,プログラム=証明」という対応のことを,カリー・ハワードの対応(Curry-Howard correspondence)という http://itpro.nikkeibp.co.jp/article/COLUMN/20070909/281498/ http://www.kmonos.net/wlog/61.html#_05…

契約プログラミング

http://blogs.wankuma.com/episteme/archive/2008/06/23/145011.aspx メイヤー本は今年の抱負に含まれていたような気がするけど、まだ買ってないや(汗 高いし、積読も結構あるし、まだまだ先かなぁ。。。 以下メモ 第13回 「表明」と「契約」による命令型プ…

Meadow + SLIME

http://d.hatena.ne.jp/macLisper/20070604/1180945094 http://d.hatena.ne.jp/BlacksmithMirai/20080130/1201658045

lambda

Haskellではλ式をこう書くんですね。 Prelude> (\ x y -> x ** y) 2 10 1024.0 GHCiでは関数を定義できないけどラムダ式ならOKか。 Prelude> let c = (\ x y -> x ++ reverse y) "hello, " Prelude> c "dlrow" "hello, world" Prelude> (\ x -> (\ y -> x + …

畳み込み - fold(l|r), reduce

RubyとPythonの場合 http://d.hatena.ne.jp/nullpobug/20080609/1212994658 Haskellだとfoldl(fold-left)とfoldr(fold-right)らしい。 定義を拾ってきた -- fold-left foldl :: (a -> b -> a) -> a -> [b] -> a foldl f z [] = z foldl f z (x:xs) = foldl f…

Tech-Ezoの勉強会をUstreamで覗いてて、gliffyというものを知った。 gliffy http://www.gliffy.com/ こんな感じ: bubble.us 偶然別のものも見つけた。シンプルで使いやすいかもしれない。 http://www.bubbl.us/ こんな感じ:

理科ねっとわーく

調べ物をしていたらあるページにたどり着き、ふとURLを見るとgo.jp! 科学技術振興機構というところが設けてる 理科ねっとわーく(全体)というサイトでした。 なかなかクオリティが高い。 小中学生向けのコンテンツでも普通に楽しめるものもあります。 まだ…

Vistaのハイブリッドスリープ

以前ハイブリッドスリープ時の電力消費について書いたことがありますが、この情報を知りたい方は案外多いらしく、ぐぐってこの日記にたどり着いた方が連日のようにいました。 で、自分でももう一度調べてみたところ、信憑性の高い情報が! 徹底検証 Windows …

勉強会

発表資料をアップしてくださいました。 http://d.hatena.ne.jp/nullpobug/20080426/1209195536

IEnumerable

あいえにゅめらぶる 45票 37% あいいなめらぶる 17票 14% あいいーにゅめらぶる 38票 31% ・・・ http://shinh.skr.jp/yomikata/#IEnumerable 前から読み方を結構迷っていた。 http://dictionary.goo.ne.jp/search.php?MT=enumerate&kind=ejで発音を聞けます…

CAB

http://www.atmarkit.co.jp/news/200804/11/cab.html んー。

LINQ to XML

今まで何回も目にしてきたけど、最近XMLを操作する必要がなくてLINQ to XMLを実際に触ったことがなかった(LINQ to Objectばっかり)。でも個人用ツールを作る際にXMLさんの出番が来たので、使ってみるべくようやく触りました。 .NET Framework 1.1時代にもX…

興味あるけどまだ触ってないCLOS。 こんなことができるらしい。 (defclass name () ()) (defmethod say ((n name) string) (format t "~A" string)) (defmethod say :before ((n name) string) (princ "Hello,")) (defmethod say :after ((n name) string) (…

Metaclass

メタクラスというものを知った。Smalltalkでは当たり前らしい。 Smalltalk勉強してみたいな〜と思いつつ、Pythonでメタクラスを体験。 途中までメモ type( 'ネーミングセンスあふれるクラス名', (スーパークラスのtuple), { メンバのDictionary } ) >>> Foo …

抱負

今更ながら抱負を書くぜー。 こちらの日記では主に勉強面の目標を。更新途中です。 何か助言とかありましたらよろしくお願いいたします。笑 多すぎる気がするので少し削ろうか。。。

array_map / create_function

'; print_r( $result ); echo '</pre>'; } private function func( $x ) { return $x * $x; } } $b…

array_udiff / コールバック関数

PHPのコールバック関数の使い方を学習いたしました。グローバルなものなら関数名だけ渡せばいいけど、クラスに属する関数を渡す時($obj->funcを渡したい時)は array( $obj, 'func' ); ってな感じで渡さないといけないんですね(最初見たときなんで配列渡して…

MockとDIコンテナ

NMock さりげなくMockってあまり使ったことありません。NUnit付属のものすら。 http://nmock.sourceforge.net/ http://d.hatena.ne.jp/NAgiler/20060531/1149067703 http://d.hatena.ne.jp/Kazzz/20060719/p1 以下はちょっと古い記事 http://www.atmarkit.co…