Project EulerをHaskellで解いている。Project Eulerはプログラミングで解ける数学の問題が掲載されているサイト。毎週新しい問題が一つずつ追加されていて、現時点で283問ある。月初から始めて、ちょうど30問解いた。
愚直にロジックを組むだけで解ける問題もあれば、愚直なだけでは計算がなかなか終わらない問題もある。Project Eulerには、一分間ルールというのがあるそうで、まともなロジックで組めば、必ず一分以内に計算が終了するはずとのこと。だから何十分もかかるような場合は、明らかに改善の余地がある。
Haskellでシンプルに書ける問題もあれば、リスト内包表記やモナドを上手く活用しないと書けなそうな問題もある。このあたりはまだちょっと分かってないところもあるので、いろいろ試行錯誤しながら実装することになる(モナドはまだ使ってないけど)。これがなかなか勉強になるので、もし今からProject Eulerを始めるなら、ぜひ新しい言語で書くのがよいと思う。
コードはgithubで管理することにした。
gami / project-euler-in-haskell GitHub
|
エラーメッセージでググったらバグレポートを見つけた。
レポートに書いてあるパッチをあてて、手動でmake installまでやってから、再度gem installしたら入った。
iPhoneOS3.0にアップデートしたら、作成していたjavascriptのアプリケーションで、touchendイベントの効きがおかしくなった。
原因はコピーアンドペースト用の選択イベントが優先されるため。
これを回避するには、任意のエレメントのスタイル情報に、
-webkit-user-select : none;
と、指定する。選択されなくなる。コピーアンドペーストを禁止したい場合もこの指定でよいはず。
これは、WebkitのCSS拡張で、他にもいろいろある。
しかし、チケットを無くしてしまい、断念した。
ただustreamで全部見れたのでよかった。
WEB+DB PRESSを読みながら、Flexのサンプルコードを動かそうとした。
サイト構成が変わったのか、雑誌にあったURLだとFlex3Builder(有償)の体験版ダウンロードが始まってしまう。無償版と書いてあるのに。
結局、体験版のSDKにPathを貼って使い始めたが、後で探したらAdobeのオープンソースサイトでSDK単体でのダウンロードが可能だった。Buidlerの方は300MB以上あるので、こっちから落としたほうがよいと思う。
|
Tomcatのserver.xmlでオートリロードに設定していなくても、web.xmlを更新すると、設定が再読込され、サーブレットが初期化される。オートリロードの設定は、classesとlib以下のみであるため(下の本に書いてあった)。これまで、オートリロードに設定しているから、web.xmlをtouchしたら更新されるのかと思っていたが勘違いだった。
このとき、classesも更新されるのだろうか?今度試してみよう。
無知のせいで、障害を出してしまったが、怠惰が原因よりはましか。
|
ブックオフオンラインからデータを取ってくるための、RubyOnRailsプラグインを公開しました。
BOKKOFF ACCESS(英語)
自分が使いたいところしか作ってないので、月1くらいのニーズで作り込んでいきます。
それにしてもニーズがあるのだろうか?