2009/09/01
[メモ]証明書発行サービス
・確認するポイント
・・プログラムの追加と削除
・・・ Windowsコンポーネントの追加と削除
・・・・ 証明書サービス
・・サービス
・・・(Microsoft) Certificate Servicesは開始しているか
・・IISマネージャ
・・・規定のWebサイトが開始しているか
・・・ポートの競合(80番ポート)
参考:
証明書サービスでサーバ証明書を発行する
http://www.atmarkit.co.jp/fwin2k/win2ktips/920iiscert5/iiscert5.html
2009/08/31
SchemeとJsでしつこくYCombinator
Schemeの方はTechEd2009中に、眠くなったときや話がわからなくなった時に書いた(w
download - ycombinator.scm.txt
download - ycombinator.js.txt
2009/08/24
Jsのfunctionで暇つぶし(ejax)
またもや眠気覚ましに少し遊んでみた。
意味のあるコードではない。
いつまでたってもScheme初級者から抜け出せない私はJavaScriptよくで遊ぶ。
functionはもうちょっと短くfunくらいにならないかな。まぁ改めてみるとlambdaもなかなか冗長だな。^でいんじゃね。
ところで、ejaxとjs2-modeはやはりかなり良い。この二つが完全に連携してくれると助かるけどなー。
(ejaxはemacs lispで書かれたECMA標準に準拠したJavaScriptインタプリタ)
download - 10times.recursive.helloworld.js
普通の再帰
| (function f (n){ |
マッチポンプ的な再帰に変換。自分に自分を呼び出す自分を渡して・・・
| (function (f){ |
リテラルを一つ外にくくりだしてみる。無名関数はローカル変数の変わりになるというあれ。Schemeのletはlambdaでくくり出すのと同じだよーっていうあれ。
| (function (x){ |
出力を行う部分を関数として外に出してみる。この辺から後はとくに面白みがない。
| (function (y, action){ |
反復条件も関数として外に出してみる。pはpredicateのpということで。
| (function (y, a, p){ |
ここで再帰のたびにデクリメントされる部分を関数として外に出したらfor文ぽいよねーなどと思いながら外にだしてみる。iはincrementのiかな。
| (function (y, a, p, i){ |
2009/08/12
[C#]再帰的四則演算(加減乗除)
KPF第四回勉強会でやったネタのC#版ですね。
The Little Schemerの4章のNumbers Gamesのコード片です。
| using System;
// The Little Schemer
//デクリメント
//加算
//減算
//大なり
//小なり
//乗算
//除算
Console.ReadLine(); |
[C#]九九テーブル
先日schemeで書いたものをC#で書いてみようかなーと。
型宣言でかなりごちゃごちゃ。varはいいな。
| using System; namespace QxQ
tblmaker = new Func<IEnumerable<int>, IEnumerable<int> col.ToList().ForEach(j => List<List<KeyValuePair<KeyValuePair<int, int>, int>>> tbl Console.WriteLine(tbl); /*
var tablemaker2 = new Func<IEnumerable<int>, IEnumerable<int> row.ToList().ForEach(i => col.ToList().ForEach(j => private static void Display(List<List<KeyValuePair<KeyValuePair<int, int>, int>>> tbl) |
[C#]名前空間の外にクラスを定義する
というようなことができるということだったので、やってみた。
使いどころは思いつかない。
download - GlobalNamespaceClasss
| using System;
namespace Sample.GlobalNamespaceClass
//グローバル名前空間に定義されたクラス(名前空間の指定無し)
public T Value
public GlobalClass(T val)
public T Print(Func<T, T> printer) |
2009/08/11
[js]map,iota,times
map, iotaは何度か同じようなの書いてる。
timesはNumberクラスいじったらできるんじゃね?って思ったらできた。
| // Arrayクラスのprototypeにmapを追加 for (var i = 0; i < this.length; i++) |
| // Arrayクラスにiotaクラスメソッドを追加(したつもり) var ret = []; for (var i = 0, j = init; ret.length < cnt; i++, j = j + inc) return ret;
/*
|
| // 数値(Numberクラス?)のprototypeにtimesメソッドを追加 /*
js> (10).times(function (i) { print ('hello'); }) |
[scheme]九九っぽい
(use srfi-1) (define 9x9 (lambda (row cnt inc mul) (append (cons (map (lambda (n) (cons (cons mul n)(cons (* n mul) '()))) (iota cnt 1 inc)) (if (zero? row) '() (9x9 (- row 1) cnt inc (+ mul 1))))))) (9x9 9 9 1 1) ;; => ((((1 . 1) 1) ((1 . 2) 2) ((1 . 3) 3) ((1 . 4) 4) ((1 . 5) 5) ((1 . 6) 6) ((1 . 7) 7) ((1 . 8) 8) ((1 . 9) 9)) (((2 . 1) 2) ((2 . 2) 4) ((2 . 3) 6) ((2 . 4) 8) ((2 . 5) 10) ((2 . 6) 12) ((2 . 7) 14) ((2 . 8) 16) ((2 . 9) 18)) (((3 . 1) 3) ((3 . 2) 6) ((3 . 3) 9) ((3 . 4) 12) ((3 . 5) 15) ((3 . 6) 18) ((3 . 7) 21) ((3 . 8) 24) ((3 . 9) 27)) (((4 . 1) 4) ((4 . 2) 8) ((4 . 3) 12) ((4 . 4) 16) ((4 . 5) 20) ((4 . 6) 24) ((4 . 7) 28) ((4 . 8) 32) ((4 . 9) 36)) (((5 . 1) 5) ((5 . 2) 10) ((5 . 3) 15) ((5 . 4) 20) ((5 . 5) 25) ((5 . 6) 30) ((5 . 7) 35) ((5 . 8) 40) ((5 . 9) 45)) (((6 . 1) 6) ((6 . 2) 12) ((6 . 3) 18) ((6 . 4) 24) ((6 . 5) 30) ((6 . 6) 36) ((6 . 7) 42) ((6 . 8) 48) ((6 . 9) 54)) (((7 . 1) 7) ((7 . 2) 14) ((7 . 3) 21) ((7 . 4) 28) ((7 . 5) 35) ((7 . 6) 42) ((7 . 7) 49) ((7 . 8) 56) ((7 . 9) 63)) (((8 . 1) 8) ((8 . 2) 16) ((8 . 3) 24) ((8 . 4) 32) ((8 . 5) 40) ((8 . 6) 48) ((8 . 7) 56) ((8 . 8) 64) ((8 . 9) 72)) (((9 . 1) 9) ((9 . 2) 18) ((9 . 3) 27) ((9 . 4) 36) ((9 . 5) 45) ((9 . 6) 54) ((9 . 7) 63) ((9 . 8) 72) ((9 . 9) 81)) (((10 . 1) 10) ((10 . 2) 20) ((10 . 3) 30) ((10 . 4) 40) ((10 . 5) 50) ((10 . 6) 60) ((10 . 7) 70) ((10 . 8) 80) ((10 . 9) 90)))
[scheme]iotaっぽいの書いてみた
(こんなんだったかなーと思い出しながら)
download
;; (iota cnt init inc (define iota (lambda (cnt . opt) (letrec ((init (if (null? opt) 0 (car opt))) (inc (cond ((or (null? opt) (null? (cdr opt))) 1) (else (cadr opt)))) (iter (lambda (cnt init inc ret) (if (zero? cnt) '() (cons ret (iter (- cnt 1) init inc (+ ret inc))))))) (iter cnt init inc init)))) (iota 10 0 1) ;; => (0 1 2 3 4 5 6 7 8 9) (iota 10 1) ;; => (1 2 3 4 5 6 7 8 9 10) (iota 15) ;; => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) (iota 10 0 2) ;; => (0 2 4 6 8 10 12 14 16 18) |