Hatena::ブログ(Diary)

しがないプログラマ の日記 RSSフィード Twitter

0000 | 00 |
2004 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 |
2011 | 01 | 03 | 05 | 06 | 07 | 08 | 09 | 11 |
2012 | 01 | 02 | 04 | 06 | 07 | 08 | 09 | 11 |
2013 | 01 | 03 |
2014 | 04 | 05 | 12 |
2015 | 03 | 11 |

2015年11月12日(木)

義理の父が亡くなりました。

11月12日のお昼頃、奥さんの父が亡くなりました。末期ガンでした。

先週の金曜日の時点で、医師から「週末を乗りきれるかどうか」と言われていたがそれよりは頑張ってくれましたが、残念ながら逝ってしまわれました。

65歳でしたので早いとは思いますが、透析を20年以上しながら働いていたのを考えれば、長生きしたのではないでしょうか。お陰で孫の顔を見せることができました。奥さんとの数少ない約束の一つだったので、果たせたことは幸いでした。

久しぶりの更新がこんな話題ですいません。身内の不幸が去年に続き今年も、なのでまた喪中のため年賀状はお預けです。

2015年3月8日(日)

DefinitlyTyped のメンバーになりました。

実は1ヶ月以上前から何ですが、DefinitlyTyped というTypeScriptの型定義ファイル集積所のメンバーになりました。

https://github.com/orgs/DefinitelyTyped/people

このDefinitlyTypedというサイトは、最初は有志でTypeScript向けの型定義ファイルを公開していたものだったんですが、いつの間にかDefact Standardとなって TypeScriptを開発しているMicroSoftからも公式に認められてしまったものです。TypeScriptの公式ページ からもLinkされています*1。今では、AltJS界で型が必要な時は DefinitlyTypedを使うのが当たり前となってきてます。

そんなサイトなんですが、自分自分が必要になった型定義を色々書いて送りつけていたら、@vvakame さんにスカウトされてメンバーになることになりました。

これからは自分で型定義を送るだけでなく、送られてきたもののMergeや自分に分かる範囲で質問に答えていきますのでよろしくお願いします。英語敷居が高い方は、気軽にTwitter(@Horiuchi_H)で聞いてくれると良いと思います。日本語なら、自分か vvakameさんにメンションを送ると返事が返ってくると思います。

*1:Topページの一番下の方にLinkがあります

2014年12月10日(水)

父が亡くなりました

2014年12月10日 午前 1:46 についに父が永眠しました。以下、自分向けのメモです。

前日、仕事歓迎会があったので帰りが遅くなり、帰ってきて一段落した午前1時過ぎに母からの電話が。こんな時間電話ということは父に何かあったなと、すぐに気づきはしましたがとうとうこの時が来てしまいました。すぐに病院へ駆けつけたら、既に心肺停止状態となって体が冷たくなり始めていました。

つい先月にお見舞いに行った際にはそこまで悪くはなさそうだったんですが、やはり徐々に体力が落ちてきていたんでしょうね。今週入ってからの寒さが堪えたのでしょうか。入院が長くなっていたのでそこに居るのが当たり前になっていましたが、いつかは終わりが来ることを忘れていました。

ただ、亡くなる前に孫を見せに行けたことだけは良かったな、と自己満足かもしれませんが思っています。ALSとの闘病生活は本当にお疲れ様でした。

2014年5月26日(月)

TypeScriptリファレンス

TypeScriptリファレンス Ver.1.0対応

TypeScriptリファレンス Ver.1.0対応

DefinitelyTyped への pr*1 をしていた縁で、わかめ(@vvakame) さんより献本頂きました。

この本は今年の4月リリースされたばかりの TypeScript Ver1.0を解説したものになります。JavaScriptを多少知っていることが前提になっていますが、TypeScriptをまったく知らなくても問題ないように書かれています。開発環境の構築から言語仕様まで、日本語で読めるまとまった資料がこんなに早く出たことはありがたいですね。

自分的には Chapter 06の型定義ファイルの書き方講座を、ありがたく読ませて頂きました。これを読めば、誰でも型定義ファイルをかけるようになるはず!さすが DefinitelyTypedの中の人ですね。これからも自分も貢献して行こうと思います。

2014年4月25日(金)

Windows Azure で、対象ホスト毎にVMサイズを変更する方法 Azure SDK v2.2版

気づいたら1年以上放置してましたが、 Windows Azure で、対象ホスト毎にVMサイズを変更する方法 - しがないプログラマ の日記 で書いた方法が動かなくなっていたので、更新版を書いておきます。

Azure環境毎に VMSizeを変更する方法になります。VisualStudioの設定では VMサイズは環境別には設定できません。実際、VMSizeの設定は環境やBuildの設定に寄らず ServiceDefinition.csdef に記述されています。仕方がないので Build時にこのファイルを書き換えることで解決しました、というのが前の記事なのですが、現在の Azure SDKでは上記の手順ではうまく動かなくなっていました。

今回はちゃんと最新版でも動く方法になります。

続きを読む

2013年3月7日(木)

Scala exercises for beginners をやってみた。

https://gist.github.com/horiuchi/5106615

scalaで何か書いてみようと、手始めに λ Tony’s blog λ - Scala exercises for beginners をやってみました。解答は上記のGistに置きました。

問題としては scalaの構文を覚えることと関数型的な書き方に慣れるためのものです。なので、普通に再帰で書く場合と、foldrを使った畳み込みでやる場合の2通りで書いてみました。

Haskellっぽく、解けたので問題自体は難しくなかったです。

書いていて気になったのは、foldrにlambdaを渡す際に引数の型を明示しないとならないのがちょっと違和感scalaでは型は基本的に明示するものということなんですかね?型推論はそれほど強くないのかな?

今まで HaskellC# では、特に明示しなくても推論されていたので、違いが気になりました。

続きを読む

2013年1月8日(火)

Windowsで Haskellの persistent-postgresqlモジュールをインストールする方法

Haskellの Persistentで PostgreSQLを使ってみようと思ったのですが、モジュールインストールのに色々とハマったので手順をメモしておきます。

インストールする環境は以下の通り。現時点での最新のHaskell Platform を使用しています。

素の状態で、以下のコマンドを実行して「persistent-postgresql」をインストールしようとすると、

$ cabal-dev install persistent-postgresql

こんなエラーメッセージが出てインストールに失敗します。

Configuring postgresql-libpq-0.8.2.1...
setup.exe: The program pgconfig is required but it could not be found.
(中略)
persistent-postgresql-1.0.3 depends on postgresql-libpq-0.8.2.1 which failed to install.

persistent-postgresql依存している、postgresql-libpqインストールする際に、PostgreSQLファイルが必要になります。

その他いくつか必要なファイルがあるため、それぞれインストールして行きます。


PostgreSQLインストール

PostgreSQLWindows版のインストーラが用意されているので、それを使ってインストールすればOKです。ただし、Haskell Platformは 32bit版しか用意されていないのでインストールするPostgreSQLも 32bit版にする必要があります。

no title このページの「Win x86-32」をクリックすればインストーラDownloadできます。それをインストールしてしまいましょう(デフォルトでは『C:\Program Files (x86)\PostgreSQL\9.2』にインストールされるので、そこにインストールしたことにします)。

インストール後に、モジュールインストール時に必要になるファイルは、Haskell Platformのbuild時にPATHが通った場所に置く必要があります。そのため、以下のコマンドを実行して必要なファイルコピーしておきます。

$ cd /c/Program\ Files\ (x86)/PostgreSQL/9.2
$ cp bin/pg_config.exe /c/Program\ Files\ (x86)/Haskell\ Platform/2012.4.0.0/mingw/bin
$ cp lib/libpq.dll /c/Program\ Files\ (x86)/Haskell\ Platform/2012.4.0.0/mingw/bin
$ cp lib/libpq.dll lib/pq.dll

その他必要なファイルの入手

インストール時に、Haskell Platformのmingw環境でbuildが走るため、PostgreSQL依存DLLを別途入手する必要があります。今回は GNUWin32プロジェクトから必要なDLLDownloadすることにします*1

libintl.dll

LibIntl for Windows より、BinariesDownloadします。解凍した binフォルダの中に libintl3.dll があるので、以下のコマンドHaskell Platformへコピーします。

$ cp bin/libintl3.dll /c/Program\ Files\ (x86)/Haskell\ Platform/2012.4.0.0/mingw/bin
$ cp bin/libintl3.dll /c/Program\ Files\ (x86)/Haskell\ Platform/2012.4.0.0/mingw/bin/libintl.dll
ssleay32.dll

OpenSSL for Windows より、BinariesDownloadします。解凍した binフォルダの中にあるdllを同様に、以下のコマンドHaskell Platformへコピーします。

$ cp bin/*.dll /c/Program\ Files\ (x86)/Haskell\ Platform/2012.4.0.0/mingw/bin
$ cp bin/libssl32.dll /c/Program\ Files\ (x86)/Haskell\ Platform/2012.4.0.0/mingw/bin/ssleay32.dll

モジュールインストール

これで必要なファイルが揃ったはずです。後は以下のコマンドインストールが完了するはずです。

$ cabal-dev install persistent-postgresql --extra-include-dirs=/c/Program\ Files\ \(x86\)/PostgreSQL/9.2/include --extra-lib-dirs=/c/Program\ Files\ \(x86\)/PostgreSQL/9.2/lib

しかし、これではまだ安心できません。最後にexeをbuildしておきましょう。

$ cabal-dev install

以上で、完了です。お疲れ様でした。


それでもまだエラーが出る場合

実行時に、DLLが足りないというエラーがでる場合があります。その場合には上記の GNUWin32プロジェクトから、指定されたDLLを /c/Program\ Files\ (x86)/Haskell\ Platform/2012.4.0.0/mingw/bin に入れてあげる必要があります。また、DLL名が多少違っていたりする場合には、元のファイルコピーして名前を変えると動いたりします。

*1自分でbuildすることも可能ですが茨の道です。。。

PV: 1196963