ブックマーク / nowokay.hatenablog.com (6)

  • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

    いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし

    Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
  • FPGAチップが今後バカみたいに安くなるかもしれない話 - きしだのHatena

    ふと、今後5年でFPGAはバカみたいに安くなってくるかもしれないと思ったので、まとめておきます。 ただし、材料はブログで見た話とか人に聞いた話とかで、しかもそれをいいように解釈しての話なので、妄想レベルであることを最初に断っておきます。 用語として、FPGAのようなプログラム可能なチップに対して、出荷段階で回路が決まっているようなチップをまとめてASICと呼びます。(ASICの正確な定義は知らない) 今のFPGAは「なんでもできるけど高くて遅い」 前に、「CPUはオワコン」というタイトルでFPGAが来るよという話を書いたときにあった意見として、「CPUは終わらないでしょう」という話よりも「FPGAだけじゃないでしょう」という話が多かったように思います。 その根底には、FPGAはチップとしては遅いということと、もっと大きい要因として高いということがあります。 FPGAは、同じ回路であればAS

    FPGAチップが今後バカみたいに安くなるかもしれない話 - きしだのHatena
  • おねえさんを組み合わせ爆発から救う:完結編おねえさんは星になった - きしだのHatena

    おねえさんを組み合わせ爆発から救うために、経路をZDDとして表したら、すっきりと経路情報が扱えました。 http://d.hatena.ne.jp/nowokay/20121018#1350528607 あとは、このZDDを効率よく構築できれば、おねえさんを救えそうです。このZDDの構築には、クヌース先生の開発したSimpathアルゴリズムを使うと非常に効率よく構築できます。 前回生成したZDDを見ると、同じノードにまとまっているものがいくつかあることがわかります。特に後半になるとどんどん同じパターンになるものがまとめられていきます。 つまり、この経路問題のZDDを構築するときには、いかに同じパターンになるものをまとめるかが鍵になるということです。 Simpathでは、辺の端だけに注目して、同じパターンになっていればそれ以降のノードを使いまわすという考え方で、ノードをまとめていきます。 つ

    おねえさんを組み合わせ爆発から救う:完結編おねえさんは星になった - きしだのHatena
  • どのプログラム言語を選ぶべきか・・・ - きしだのHatena

    PHP-erはダメな言語でいかにまともなものを作るかっていうマイナスからのスタートだし、 JavaScript-erは何もないところで何か動いて楽しいっていう0からのスタートだし、 Ruby-erはRuby好きって言ってるだけだし、 Java-erはJavaの仕様にしか興味がないし。 Scala-erは生ぬるいこと言うと狩られるし、 Smalltalk-erは過去の栄光語ってるだけだし、 COBOL-erは苦労話しか出ないし、 FORTRAN-erはプログラムに興味ないし、 Perl-erは同窓会みたいだし、 Python-erは仲間探すの大変だし、 Erlang-erはどこにもいないし、 C-erは目先の仕事にしか興味ないし、 C++-erはC++の復興にしか興味ないし、 C#-erはWindowsにひきこもるし、 ActionScript-erはAdobe税はらうのに大変そうだし、 O

    どのプログラム言語を選ぶべきか・・・ - きしだのHatena
  • どうでもいいことをあたかもなんかすごいことのように語るメソッド - きしだのHatena

    どうでもいいことを、あたかもなんかすごいことのように語る方法を考えてみる。 まず、書きたい「どうでもいいこと」を決めよう。 とりあえずここでは、「明星のインスタント焼きそば作るときにかやくを入れ忘れたのだけど、それってフタの説明が悪いんじゃない?」ということを書くとしよう。ここで、読んでる人に「ようわからんけどなんかすごい」と思わせるために話の主題をずらすのが大切だ。今回は、結論を「UFOのターボ湯切りいいよね」ということにしよう。 文はこのようになる。 先日明星のインスタント焼きそばをべた。 ふたの説明を見ながら手順どおりに作ったのだけど、べる段になって、かやくはあらかじめ入れておかないといけないことに気づいた。これはふたの説明が悪いのではないか。ふたの説明はインスタント焼きそばの味を最終的に決めるものであるから、わかりやすく書くべきである。 UFOのようにかやくをあらかじめめんの

    どうでもいいことをあたかもなんかすごいことのように語るメソッド - きしだのHatena
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • 1