タグ

ブックマーク / matarillo.hatenadiary.jp (12)

  • YコンビネータっていうかZコンビネータでラムダ式が再帰関数に変わるからフィボナッチ数も計算できる、Java8版 - 平々毎々(アーカイブ)

    Java8も出たことだし、ラムダ式で頑張ってみました。 たぶんこういうことだと思いますが、詳しくはきしださんに聞いた方がいいのでしょう。 2009-04-09 下のコードはQiitaにも置きました。 (追記)rec.applyRec(rec)が自分自身に名前を付けて呼び出してるからレギュレーション違反、と言われそうな気がしたので、ちょっとだけ修正。変数で受けてるのは、キャストするのがアレだな、1行が長くなるのが嫌だな、と思っただけのこと。変数で受けずに1行で書くことは可能です。 package example; import java.util.function.*; public class Program { public static void main(String[] args) { Function<Integer, Integer> fib = Y(f -> n -> n >

    YコンビネータっていうかZコンビネータでラムダ式が再帰関数に変わるからフィボナッチ数も計算できる、Java8版 - 平々毎々(アーカイブ)
    terazzo
    terazzo 2014/04/24
    型の方を再帰にするしかないよね。
  • オープンソースは報われない仕事。でもやるんだよ。 - 平々毎々(アーカイブ)

    Microsoftの中の人で、OSSとWeb技術を推進するScott Hanselmanが書いたブログ記事 "Open Source is a thankless job. We do it anyway." を勝手に翻訳。 オープンソースは難しい。 セキュリティは難しい OpenSSLの最近の "Heartbleed" バグに関する記事がたくさん出回っている。技術的な分析をすべて読んだら丸一日つぶれてしまうだろうが、 その中にこれはと思う見出しがあった。『OpenSSLはオープンソースの大きな問題を示している。資金不足、人員不足』だ。インターネットを織りなす基の部分は、ほとんどの場合たった一人によるもので、あとはたくさんのボランティアだ。 〝魅惑的で気が遠くなるような事実とは、ネットワークインフラストラクチャにはこのように重大な部品が存在していて、インターネットの大部分で実際に動いてい

    オープンソースは報われない仕事。でもやるんだよ。 - 平々毎々(アーカイブ)
    terazzo
    terazzo 2014/04/21
  • 擬似乱数 - 平々毎々(アーカイブ)

    メルセンヌ・ツイスターが(日人が考案したこともあってか)有名だけど、もちろん他にもいろいろある。 WELL Random number generator(WELLRNG) メルセンヌ・ツイスターと同様の長周期ジェネレータで、MTより(各種性質が)よいとされる。MTの松眞教授もかかわってる。http://www.iro.umontreal.ca/~panneton/WELLRNG.html ラグ付フィボナッチ法 加算だとALFG、乗算だとMLFG。 http://ja.wikipedia.org/wiki/Lagged_Fibonacci_%E6%B3%95 KISS generator(KISS99) マーサグリアの手法。KISSはKeep It Simple Stupidのこと。後述するJKISSのように派生アルゴリズムもいろいろある。 Xorshift 同じくマーサグリアの手法。

    擬似乱数 - 平々毎々(アーカイブ)
    terazzo
    terazzo 2013/09/30
  • IE9とヘルベチカ - 平々毎々(アーカイブ)

    IE9, IE10が抱えるHelvetica問題について初めて知った件 | IDEA*IDEA この記事はカス記事。情報が雑すぎ。 IE9がヘルベチカを扱えないという意味不なバグじゃなくて、Vista以降の新しい文字描画APIがType1フォントをサポートしてないという問題ですから。 TrueTypeまたはOpenTypeのヘルベチカをインストールしている人には何の影響もないですから。 百式管理人は、この↓記事を見つける程度の能力がないのか、その手間を惜しんでるのかのどちらか。ソースのあいまいな情報をtwitterで拡散する人たちと一緒。情弱のそしりを免れないよ。 Internet Explorer 9 Type 1 Font Bug, Helvetica IE9 Bug で、あるべき論から言えば、IE9がType1フォントをサポートしてないのであれば別のフォントにフォールバックするべきで

    IE9とヘルベチカ - 平々毎々(アーカイブ)
    terazzo
    terazzo 2013/07/04
  • .NETがこの先生きのこるには - 平々毎々(アーカイブ)

    Windows系からLinux系にスキルチェンジする方法、ってを書いたら売れないかな - ikeike443のブログ で挙げられてた元記事。 XBoxのことはあまりよくわからないが、他は頷ける感じ。 1の拒否反応は日でも強いと感じる。なんというか、えんがちょ感(近寄りたくない、知りたくもない感じ)? 4はいい加減やばいでしょう。Windows Azure · GitHubとかMicrosoft Open Technologies, Inc. · GitHubとかはいい傾向だと思う。 原文:The dying platform: .Net 瀕死のプラットフォーム: .NET ここ数年C#のコードを書いてきた。C#と.NETはソフトウェアを書くすごいツールだと思っている。C#はまさに私が必要なものだ。とても高レベルな抽象を扱いつつ、低レベルなこともできる。しかし世の中は(不幸にも)私が思う

    .NETがこの先生きのこるには - 平々毎々(アーカイブ)
    terazzo
    terazzo 2013/05/20
  • Java8のStreamを使いこなすをC#で - 平々毎々(アーカイブ)

    さて、C#で関数型っぽいことをやって遊んでみたわけですが、恥ずかしくなっての写真に置き換えました。 C#で実際に使うのは、LINQです。 ということで、LINQの使い方をひととおり見てみます。 基 LINQの中核となるのはIEnumerable<T>インタフェースです。これがJava8のStreamに相当します。 さて、IEnumerable<T>インタフェースにはForEach拡張メソッドが用意されていません。これはFAQで、意図的に入れていないということです。 LINQとはズレますが、List<T>クラスにはForEachメソッドがありますから、こっちを使いましょう。ええ、クラスです。インターフェースではありません。 var names = new[] {"hoge hoge", "foo bar", "naoki", "kishida"}.ToList(); names.ForE

    Java8のStreamを使いこなすをC#で - 平々毎々(アーカイブ)
    terazzo
    terazzo 2013/05/06
  • C#とモナド - 平々毎々(アーカイブ)

    Eric Lippert*1のブログで新たにモナドの連載記事が始まったので、ちょこちょこ翻訳してる。 前に訳した「モナドの驚異」にも細々とアクセスがあるので、インデックスを作っておいた。 http://matarillo.com/general/monad_index.php (4/6追記)訳し終えた……1か月以上続くことになるとは。 *1:元MSのC#コンパイラーチームの主任デベロッパー、現コベリティ

    C#とモナド - 平々毎々(アーカイブ)
    terazzo
    terazzo 2013/03/08
  • XNAのはなし - 平々毎々(アーカイブ)

    続報の方から。ちょっとずつ。 Follow-up on DirectX/XNA – Promit's Ventspace 今日受信したメール。「引用OK」ってあるから、たぶん重要事項につきNDAの例外なんだろう。 メッセージには「DirectXは技術としてもう進化していません」とありました。これはまったく、少しも事実ではありません。マイクロソフトはDirectXに対し活発に投資しています。DirectXは私たちの主要なプラットフォームにおける統一されたグラフィック基盤なのですから。XBox 360でも、Windows Phoneでも、そしてWindowsでも。DirectXは進化していますしこれからも進化し続けます。たとえば、まさに今、とある革新をDirectXに与えるべく投資中です。このことは引用してもかまいませんよ。;-) ぼくはDirectXの未来に疑問を投げかけて炎上させるつもりは

    XNAのはなし - 平々毎々(アーカイブ)
    terazzo
    terazzo 2013/02/04
  • 逆FizzBuzz問題 (Inverse FizzBuzz) - 平々毎々(アーカイブ)

    just another scala quantを日語にしました。 ちなみに、私の解はこちらに。 最初の解答 はてブに書いた解答方針、Inverse Fizzbuzz (FizzBuzzの逆関数) - Qiita - 与えられた範囲内のすべての解を数え上げてます。 もっと簡潔な解答 逆FizzBuzz問題 解きなおし - Qiita それでは、問題の日語訳をどうぞ。 逆Fizzbuzz問題 2012年ではなく、2016年のお話。 世の中は大して変わっていない。 OOPと書き換え可能なオブジェクトによって何度もひどい目にあった後、世界はやっとのことでJohn Hughesの考察が正しかったことに気づき、関数型プログラミングに移行した。GoogleはTypesafe社を買収し、ScalaAndroid上でネイティブに動作するようになっている。Googleに負けず劣らず、AppleはHas

    逆FizzBuzz問題 (Inverse FizzBuzz) - 平々毎々(アーカイブ)
    terazzo
    terazzo 2012/05/15
  • 関数型言語ってこわい?C#erがLINQでパーサーに挑戦(1) - 平々毎々(アーカイブ)

    註:この記事は、「ごはんはおかずLINQはモナド」と聞いたことがあるけど、モナドって何なのかは特に知りたくない、でもLINQがモナドだと何ができるのかはちょっとだけ知りたい、という奇特な人向けに、「簡単なパーサーを実装する」というお題でコードを見てみようという、まったくPVの伸びなさそうな記事です。 なので、以下のテーマは対象外。 モナドを学びたい→Haskellを勉強しよう。 Maybeモナド/Option型をC#/LINQで→こちらでどうぞ。http://d.hatena.ne.jp/liner_lock/20111012/1318428588 実用的なパーサー/パーサジェネレータが欲しい→僕も情報を持ってません。 実装したいのは、ゼロ以上の整数、加算記号(+)、乗算記号(*)、開かっこ、閉かっこから構成される数式を文字列で与えられたときに、パースして結果を計算し、intを返すメソッド

    関数型言語ってこわい?C#erがLINQでパーサーに挑戦(1) - 平々毎々(アーカイブ)
    terazzo
    terazzo 2012/04/18
  • C#5のCaller Info Attributes - 平々毎々(アーカイブ)

    うかつにもBuildのときはスルーしてた。 ufcppさんとこがわかりやすいのでここにリンク。 しかしよくこんなのを入れたなあ。後から「あれも欲しいこれも欲しいもっと欲しいもっともっと欲しい」ってなりそうな気が。 これ、CallerFilePath、CallerLineNumber、CallerMemberNameなど少数の属性だけをコンパイラが特別視するってことなら、それはどうなの。 どうせコンパイラへの置換指令なんだから、汎用的な仕組みにしておいてほしいな(Roslyn待ち?)。アンダースがマクロ要望を蹴ってるのは有名な話だが、今回みたいに、型には属性をつけるだけにしておいて、型を利用する側のコンパイル時だけ置換が行われる(メソッド引数を足す)仕組みならは、オプション引数をサポートした今ならアンダース的にもOKなんでしょう? 追記:Roslynの絡みで

    C#5のCaller Info Attributes - 平々毎々(アーカイブ)
    terazzo
    terazzo 2012/03/05
  • 宇宙に思いを馳せ続けた人、Google APIが縁でなんとNASAから招待される - 平々毎々(アーカイブ)

    なんて煽るとどこかの有名海外ニュースサイトみたいな話に聞こえるが、これ日の話ね。 柏井勇魚さんはサイエンスファンを自認している。"Junkyard Review"と題したメモの中で、宇宙に関するニュースを多く綴っている。 そんな勇魚さんがGoogleSatTrackという、Google APIを利用して国際宇宙ステーション(ISS)の現在位置を表示するサービスを作り、公開したところ……。 以下は勇魚さんのtwitterからまるっと引用。(上が古く下が新しい発言になるように並び替え。) 勇魚さんおめでとうございます!楽しんできてください!! (追記:23:07)勇魚さんご自身による今回の顛末!

    宇宙に思いを馳せ続けた人、Google APIが縁でなんとNASAから招待される - 平々毎々(アーカイブ)
    terazzo
    terazzo 2008/05/23
  • 1