タグ

2013年9月6日のブックマーク (4件)

  • https://qiita.com/dokubeko/items/558d9841d9b8525e894c

    ismage
    ismage 2013/09/06
    via Objective-Cタグが付けられた新着投稿 - Qiita http://qiita.com
  • RubyでClojure風loop-recur (末尾再帰) - Qiita

    Clojureのloop-recurを、Rubyでやった。Elixirの古いversionにも有ったらしい。 末尾再帰の最適化 (TCO, tail call optimization) が出来ないsystemだと、助かるみたい。Ruby 2.0.0とかClojureみたいな。 def factorial n cloop n, 1 do |n, acc| if n == 0 acc else recur n - 1, acc * n end end end みたいに使ふ。 instance_evalしか知らなくて、instance_execを見附け出すのに一番時間が掛った。アホだ。 Rubyだと、末尾再帰をloopに変換するmethod実装例とかも、検索すれば見附かるけど。 cf. Rubyで末尾再帰最適化をする。 - athosの日記 cf. Rubyの末尾再帰最適化を理解する 因みに多

    RubyでClojure風loop-recur (末尾再帰) - Qiita
    ismage
    ismage 2013/09/06
    via Rubyタグが付けられた新着投稿 - Qiita http://qiita.com
  • rubyからグラフデータベースneo4jを利用する - Qiita

    neo4jとは neo4jとはNeo Technologyが開発したJavaベースのグラフデータベースです。(日語ページ) グラフデータベースは、一つ一つのデータを行で表現するリレーショナルデータベースと異なり、 ノード(頂点)、リレーションシップ(エッジ)、プロパティ(属性)という3つの基構成要素でデータを格納します。 グラフデータベースが有用なのはTwitterやFacebookのように、フォローや友人関係を扱う時です。 「友人のそのまた友人を探す」や「任意の二人を選択し、最短の関係(パス)を探す」などの問題を解こうとしたとき、 リレーショナルデータベースでは関係の探索に大量の結合演算が必要になりますが、 グラフ構造をそのまま格納しているグラフデータベースなら高速に処理することが可能です。 neo4jはオープンソースですが、ライセンスはAGPLv3なので、商用利用などの際はライセン

    rubyからグラフデータベースneo4jを利用する - Qiita
    ismage
    ismage 2013/09/06
    via Rubyタグが付けられた新着投稿 - Qiita http://qiita.com
  • 【追記:2018 01/25】配列の連結(concat vs Array.prototype.push.apply) - Qiita

    こちらに追記しようとしたのですが見にくかったので別記事にしました ES6での配列の連結方法になります https://qiita.com/kaz2ngt/items/c03625587bf398b6f81a 以下過去記事 投稿テストも兼ねたメモ 一般的に配列の連結はconcatを用いるが、配列に配列を継ぎ足していくような処理だとconcatでは毎回配列を生成しているのがきになり、他の手段を調べてみるとArray.prototype.push.applyというものがあったためメモ 実行ファイル var a = [0, 1, 2, 3], b = [4, 5, 6, 7], i, count = 10000; console.time(); for (i = 0; i < count; i++) { a = a.concat(b); } console.timeEnd();

    【追記:2018 01/25】配列の連結(concat vs Array.prototype.push.apply) - Qiita
    ismage
    ismage 2013/09/06
    via JavaScriptタグが付けられた新着投稿 - Qiita http://qiita.com