PHPで祝日を取得

3月 31st, 2008 admin

アルバイトの人が書いてくれた祝日リスト。祝日って意外と少ないんだなーと思った。
祝日の計算はできなくもないんだけど、結局規則が変わったりするので人の手無しでは駄目と言うことで割り切る
google calendarに20011年12月でアラートをしておいたけど、3年後もgoogle calendarを使っているかどうか不安なのと、法改正とかがあったときに、この関数を思い出すかどうかかなり不安だ

コード

	/**
	 * 任意の月の祝日を取得する
	 *
	 * @access public
	 * @param integer 取得する月
	 * @param integer 取得する年
	 * @return mixed
	 */
	 function getHoliday($month,$year = null){
	 	$year = is_null($year)? date('Y'):$year;

        $array = array(
		   2007 => array(
				1 => array(1=>1,8=>1),
				2 => array(11=>1,12=>1),
				3 => array(21=>1),
				4 => array(29=>1,30=>1),
				5 => array(3=>1,4=>1,5=>1),
				6 => array(),
				7 => array(16=>1),
				8 => array(),
				9 => array(17=>1,23=>1,24=>1),
				10 => array(8=>1),
				11 => array(3=>1,23=>1),
				12 => array(23=>1,24=>1)
				),
		   2008 => array(
				1 => array(1=>1,14=>1),
				2 => array(11=>1),
				3 => array(20=>1),
				4 => array(29=>1),
				5 => array(3=>1,4=>1,5=>1,6=>1),
				6 => array(),
				7 => array(21=>1),
				8 => array(),
				9 => array(15=>1,23=>1),
				10 => array(13=>1),
				11 => array(3=>1,23=>1,24=>1),
				12 => array(23=>1)
				),
		   2009 => array(
				1 => array(1=>1,12=>1),
				2 => array(11=>1),
				3 => array(20=>1),
				4 => array(29=>1),
				5 => array(3=>1,4=>1,5=>1,6=>1),
				6 => array(),
				7 => array(20=>1),
				8 => array(),
				9 => array(21=>1,22=>1,23=>1),
				10 => array(12=>1),
				11 => array(3=>1,23=>1),
				12 => array(23=>1)
				),
		   2010 => array(
				1 => array(1=>1,11=>1),
				2 => array(11=>1),
				3 => array(21=>1,22=>1),
				4 => array(29=>1),
				5 => array(3=>1,4=>1,5=>1),
				6 => array(),
				7 => array(19=>1),
				8 => array(),
				9 => array(20=>1,23=>1),
				10 => array(11=>1),
				11 => array(3=>1,23=>1),
				12 => array(23=>1)
				),
		   2011 => array(
				1 => array(1=>1,10=>1),
				2 => array(11=>1),
				3 => array(21=>1),
				4 => array(29=>1),
				5 => array(3=>1,4=>1,5=>1),
				6 => array(),
				7 => array(18=>1),
				8 => array(),
				9 => array(19=>1,23=>1),
				10 => array(10=>1),
				11 => array(3=>1,23=>1),
				12 => array(23=>1)
				)
  		 );
               return $array[$year][$month];
	 }

CSNAGOYA勉強会の案内(Haskell,CPU)

3月 19th, 2008 admin

僕は名古屋でCSNAGOYAという勉強会を運営しています。こじんまりとした勉強会なので、ひどい時には僕一人しかいなくて勉強会というよりはたんなる自習になっていたりするわけなんですが、先月で1周年を向かえ今月からまた新しいテーマが2つ増えたのでブログにてアナウンスさせて頂きます。

1つ目はCPUの創りかたという萌え本を読みながらに4bitのCPUを自作してしまおうというものです。コンピューターがなぜ動いているのか、どうやって計算しているのか、メモリは何をしているのか、クロックって?など気になっているけど調べてないような疑問が一気に解決されるお得な内容です。

2つ目はふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門という本を読み進めていくHaskellの勉強です。Haskellというのは関数型言語とよばれる種類のプログラミング言語で、それがなんなのか僕にはうまく説明できないため勉強会のテーマに選んでいるのでここではHaskellについて説明できません。とにかくハッカーと画家でポールグレアムがLisp最強Lisp最強Lisp最強Lisp最強と言っているので関数型言語を学びたいなと思ったのがきっかけです。
ですので本来はLispを学ぶべきなのですが、Lispには「簡単!初心者でもOK!7日間でデキる!」を連想させる装丁の本がなかったので僕が全幅の信頼を置いている青木峰郎氏の本書で関数型言語を学ぶことになっています。ラムダ計算とか、モナドとか遅延評価とか、高階関数とかっていうPHPには縁遠いことが学べることを期待しています。

勉強会のサイト

CSNAGOYA Wiki(http://www.jamboree.jp/cs/)
旧サイト(過去の開催履歴がみれます http://csnagoya.g.hatena.ne.jp/

プログラム

「CPUの創り方」読書会 (隔週開催)

CPUを作ってみたい、デジタル回路に興味がある人のための会

  • 日程:2008/03/23
  • 時間:17:30~21:00
  • 会場:名古屋市丸の内1-9-7 バンケービル4C
  • 参加費:300円
  • 定員:10名
  • 応募:toyosystem+cs@gmail dot comまで「参加希望」としてメールをください。
  • テキスト CPUの創りかた

「ふつうのHaskellプログラミング」読書会 (隔週開催)

高階関数、遅延評価、モナドが知りたい人のための会

まとめ

とにかく少人数なので僕みたいなPHPerにもやさしい環境になっているんじゃないかと思います。特に僕より経験のない人に僕は優しいので是非迷っている人がいればtoyosystem@gmail dot comとかにメールをください。それでは!

GAINER WORKSHOPに行って来ました。

3月 17th, 2008 admin

先週の土曜日にWCAN mini ActionScript vol.5という勉強会に参加させていただきました。

Gainerがなにかということについては公式サイト(http://gainer.cc/)などを見ていただきたいのですが、一番すごいのがActionScriptなどと簡単にやりとりができるようになっていることですね。ほかにも似たような製品があるし、これより高性能なものもありますが、この敷居の低さというのは本当に素敵だと思います。

作ったもの

wcan01.jpg
真ん中の赤いのがGainerのI/Oモジュール。板が赤いのは開発者の人がガンダム好きだからです。(多分・・・サーバ名ファンネルだし)
右のほうにボリューム(可変抵抗)でそのボリュームをぐりぐりまわすと・・・
wcan02.jpg
ブラウザで動いているFlashに反映される。(右に回すと上に、逆に回すと下にプロットされる)

まとめ

僕も前にFTDI社の同じようなモジュールを使って遊びましたがVBでプログラムする必要があったりして(当然なんだけど)、ActionScriptの楽さにはかなわない。
この手軽さを味わってしまうと、確実にあれもできるな、これもできるなと妄想が広がる。楽しい!

早速Gainerを買ってみようと思います。

たとえがうまい 書評「自分の小さな「箱」から脱出する方法」

3月 10th, 2008 admin

自分の小さな「箱」から脱出する方法
アービンジャー インスティチュート 金森 重樹 冨永 星
大和書房 (2006/10/19)
売り上げランキング: 168
おすすめ度の平均: 4.5

5 面白い
4 わかりやすいようなわかりにくいような
5 問題の原因はあなたの「箱」かも

「他人は自分を映す鏡なり」とか「情けは人のためならず」をまとめた本

「つまり人間は、相手が自分をどう思っているのかを感じることができる、これがポイントなんだ」

↑これに尽きる。僕は(あまり)嘘をつかないようにしているのだけど、これは僕が正直者だからなんじゃなくて僕の嘘は0秒でばれると思っているから。でも、嘘がつけないおかげで全体的にはプラスになってると思っている。

あと、「赤ちゃんが寝ていて、自分は狸ね入りをして妻を責める~」の例えは劇薬すぎだろと思った。あの考え方の解釈を間違えると「悪いのは全部私」とはならないだろうか?それは続編に書いてあるのかな?

誰かにも読ませて感想を聞きたい一冊。

ぬこ飼いたい 書評「夏への扉」

3月 10th, 2008 admin

夏への扉 (ハヤカワ文庫 SF (345))
ロバート・A・ハインライン 福島 正実
早川書房 (1979/05)
売り上げランキング: 3369

読書感想

だが彼は、どんなにこれを繰り返そうと、夏への扉を探すのを、決して諦めようとはしなかった。

この物語の冒頭の一文で僕はこの小説がどんなに糞であろうと絶対に読みきるという決意を固めた、なんて素敵な猫なの!

物語は後半で一気に伏線が回収されるあたりがかなり痛快。べたべたな伏線だからこそ読み手はどんどん推測させられ、物語を読むより先に主人公に待つハッピーエンドを次々に気づかされ幸せな気持ちになる。読み終わったころには主人公の多少問題ありな性格もなにもかも忘れて爽快な気持ちだけが残りました。

このロバートAハインラインさんのほかの作品には「ガニメデの少年」というのがあるけど、星を継ぐものと関係あるんだろうか??今度調べてみよう。