タグ

algorithmとrubyに関するHashのブックマーク (26)

  • GitHub - marcandre/fruity: Cool performance comparison tool

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - marcandre/fruity: Cool performance comparison tool
    Hash
    Hash 2013/07/19
    速度を比較
  • Hey Judy, don't make it bad

    AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be

    Hey Judy, don't make it bad
    Hash
    Hash 2013/05/02
    読むのに気合いいるが面白い… 内容, 理解しきれない部分あるので学習ポインタに
  • ruby 1.9 におけるハッシュ飽和攻撃による DoS 脆弱性 (CVE-2012-5371)

    Posted by usa on 9 Nov 2012 ruby 1.9 系列で使用しているハッシュ関数について、ハッシュ飽和攻撃によってサービスを停止させることができる脆弱性が報告されました。 この脆弱性は 1.8.7 に対して公表された CVE-2011-4815 とは異なるものです。 全ての ruby 1.9 ユーザーは、この問題に対するセキュリティフィックスが含まれた ruby-1.9.3 patchlevel 327 に更新することが推奨されます。 影響 綿密に構築された文字列の並びをサーバーに対して送信することにより、そのサーバーがこの文字列の並びを文字列をキーとした Hash オブジェクトの生成に利用する場合、サービス停止攻撃が成立します。 例えば、信頼できない送信元から送られた JSON データを解釈する Web アプリケーションなどがこの脆弱性の影響を受けます。 詳細 こ

    Hash
    Hash 2012/11/12
    MurmurHash関数のハッシュ値を衝突させる方法が発見される
  • irb で覚える HMAC

    2006-07-25 https://www.amazon.co.jp/dp/4797322977 irb で覚えるハッシュ関数の続きは HMAC に挑戦。 HMACMAC (Message Authentication Code) の一種で、さっき覚えたハッシュ関数を使って実現する。 ハッシュ関数を使った MAC だから HMAC ということ。 MAC ってのは、メッセージを認証するためのコードで正しい人からメッセージが送られていることを確認するために使う。 結城さんの暗号技術入門には、アリス銀行からボブ銀行への送金依頼(口座番号と送金金額が書かれている)の例が載っている。 ボブ銀行がアリス銀行からのメッセージを受け取った時に、メッセージが当にアリス銀行から来たものなのか、そして改ざんされていないかを確認するために MAC を使うという説明だった(要は改ざんと成りすましを防ぐ)。

    irb で覚える HMAC
  • 包装アルゴリズム - Mae向きなブログ

    Blogopolisを見ていると,計算幾何について学んでみたくなります。ということで,凸包を求めるプログラムを作ってみました。 今回は,包装アルゴリズム(package wrapping algorithm)を使っています。以前,cairoを使ってみたことがあるので,今回も利用します。 wrapping.rb 包装アルゴリズムについては,以下を参考にしました。 凸包の計算と多角形の面積計算 『アルゴリズムC〈第2巻〉探索・文字列・計算幾何』 # -*- coding: utf-8 -*- require 'my_canvas' # 線分p1p2と水平な直線がなす角度を求める(0〜360) def theta(p1, p2) dx = p2[0] - p1[0]; ax = dx.abs dy = p2[1] - p1[1]; ay = dy.abs t = (ax + ay == 0) ?

    包装アルゴリズム - Mae向きなブログ
    Hash
    Hash 2011/09/16
    複数の点が囲む多角形の面積計算(by Ruby)
  • Rubyでもカリー化 - 趣味的にっき

    関数型言語ラブな人は、Rubyでもカリー化したくなってくると思います(特にHaskellラブな人はその傾向が強いように思います)。ということで、こんなメソッドを書いてみました。 module Kernel def curry(sym, *a1) f = sym.respond_to?(:call) ? sym : method(sym) lambda do |*a2| f.call(*(a1 + a2)) end end end 使い方はこんな感じです。mapの例を見てください。あぁ何て美しいのでしょう。 def add(a, b) a + b end p curry(:add, 2)[3] # => 5 p curry(method(:add), 2)[3] # => 5 p curry(lambda {|a, b| a * b}, 2)[3] # => 6 p (1 .. 10).ma

    Rubyでもカリー化 - 趣味的にっき
  • Ruby: The Little Rubyist TREE (Japanese)

    Ruby 手習い tree コマンドをつくる 応用編では、Ruby の機能を使って便利な使えるツールを作っていきます。 プログラムの書き方やスクリプトの書き方を文法から勉強しただけでは、作るというときに目的を達成できないことがあります。 プログラミング/スクリプティングに役立つ考え方や、実現方法についても扱っていきます。 ここでは、Ruby の便利な「組み込みクラス」の「Dir クラス」を使います。 ディレクトリとそのディレクトリに所属するファイルを手軽に扱えるので、ぜひ活用してください。 また、プログラミングのテクニックとして、 =再帰的処理= を扱っていきます。 これで、 =ディレクトリ= をうまく扱えるようになります。 目的として tree というコマンドを作成します。 実行例(sample0.txt)は、tree.rb を使った Ruby のソースコードのディレクトリ構造です。

    Hash
    Hash 2011/04/05
    日本語が不安定な感じ
  • https://userweb.mnet.ne.jp/tnomura/algo/dijkstra.rb

    Hash
    Hash 2009/08/10
    C言語直訳verの、Rubyダイクストラ
  • ダイクストラ法による最短路検索 - yasuhisa's blog

    昨日までに書いていたグラフはコストとかそういうの考えていなかったんだけど、ダイクストラをやろうということでコストも考えることにしました。ダイクストラでedgeとそこまでの距離のhashを作りながら、そこまでのを記憶しておくhashも用意。最短路を探す時にはそれを逆向きに再帰で探していきます。 # -*- coding: utf-8 -*- require 'pp' class Graph def initialize(edges=[]) @edges = edges @nodes = Hash.new{|h,k| h[k] = []} @weights = Hash.new{|h,k| h[k] = {}} end def add_edge(edge) @edges.push edge unless @edges.index(edge) end def add_node(u, v) add

    ダイクストラ法による最短路検索 - yasuhisa's blog
    Hash
    Hash 2009/08/10
    Rubyでダイクストラ法。
  • Ruby: Puzzle 8 Queen (Japanese)

    Ruby で 8 Queen パズル 8 Queen は、コンピュータで扱うのも有名な題材になっています。 多くの参考文献にとり上げられているのでどこかで目にしていると思います。 ここでは、Ruby を使ってこの題材を扱ってみたいと思います。 ぜひ自分で作成してみてください。 パズル 8 Queen ヒント ソースコード 解説 スレッドを使う ■ パズル 8 Queen チェスの「Queen」は、将棋の「飛車」と「角」を合わせた効き筋をもっています。 このため「縦」「横」「ななめ」に自由に動けます。 ここで、チェスの盤上(8 Queen の場合には 8 x 8 の盤を想定)に、それぞれの Queen が、他の Queen の効き筋にぶつからないように、8 個の Queen を配置します。 この配置の方法は、いくつあるでしょうか? 次のものが実際の解答の一つです。 +--+--+--+-

  • マルチスレットなどなど - yasuhisa's blog

    例えば、Twitterから同時にデータを取得するような例とかを考える。自分で結構考えてみたけど、処理が同時には走らない。どの辺がおかしいのかよくわからん。。。 #!/usr/bin/ruby -Ke require 'rubygems' require 'thread' require 'enumerator' require 'pp' require 'hpricot' require 'mechanize' require 'kconv' require 'yaml' gem 'twitter4r', '>=0.3.0' require 'twitter' $KCODE='e' class Friend attr_accessor :name attr_accessor :source attr_accessor :agent attr_accessor :following attr

    マルチスレットなどなど - yasuhisa's blog
    Hash
    Hash 2008/04/29
    かなわんなぁ
  • 再びN-queens問題(エイトクイーンズ問題) - 毛のはえたようなもの

    勘違い id:ujihisa兄さんのレスにしたがって書いてみましたが動きません。どしてかなぁ なんだかどえらい間違いをしている気がします。あほの子 class Queens 中略 def calc(i=0) @answer = 0 calc(0) end def calc(i) if i == @boardSize # print(" show_ans;[") # @boardSize.times{|k| printf("%s,",@matrix[k])} # print("]\n") @answer +=1 else @boardSize.times{|k| if check(i,k) @matrix[i] = k calc(i+1) end } end end 中略 end 後略 ああ!関数のデフォルト値! やっぱりあほの子だったらしい私。id:faultierにいさんからツッコミがは

    再びN-queens問題(エイトクイーンズ問題) - 毛のはえたようなもの
  • anarchy golf - FizzBuzz

    Open code-statistics: Language is selected by the extension of the file. See the list of supported languages to know the extension of your language. Problem Print integers 1 to 100, but replace multiples of 3 with "Fizz" and multiples of 5 with "Buzz" and multiples of both with "FizzBuzz" For longer description, see: http://tickletux.wordpress.com/2007/01/24/using-fizzbuzz-to-find-developers-who-g

    Hash
    Hash 2008/03/15
    perlやpythonなどなど。
  • ライフゲーム - 毛のはえたようなもの

    86世代の方たちがテスト期間中にライフゲームの実装をしていたのでたのしそーだなーと指をくわえてみていました。暇になったのでRubyでやってみよーの巻。詳しい問題設定などは下記 どう書く:どう書く?org Wikipedia:ライフゲーム - Wikipedia 実装 なんだかendまるけになってしまたよ(´・ω・`) require "curses" class Cells attr_reader :height, :width def initialize(height, width) @height = height @width = width @array = Array.new(height + 2) { Array.new(width + 2, 0) } end def []=(i,j,x) @array[i + 1][j + 1]=x end def [](i, j) @ar

    ライフゲーム - 毛のはえたようなもの
    Hash
    Hash 2008/03/07
    すぐ書けるのは情報系の下地か
  • UK STUDIO - Rubyでライフゲーム書いた

    どう書く?org #5581 久々にどう書くorgに投稿してみた。1個1個セルの周り調べてくのも面白みがないなと思って、生きてるセルの周りをスコア付けしてくやり方でやってみた。 生きてるセルに+10し、生きてるセルの周りに+1していく。最終的にスコアが3(まわりに3つの生きてるセルがある)のセルは次世代で誕生するセルと判断。スコアが12もしくは13の(今の世代で生きてるセルで、まわりに2つもしくは3つの生きてるセルがある)のセルは次世代も維持するセルと判断。 テストはWikipediaのライフゲームのページから振動型(ブリンカー、ヒキガエルなど)を試しただけで、テストコードすら書いてない。だからもしかしたら間違ってるかもしれない。許せ。 require 'curses' module LifeGame class World def initialize(map) @map = map e

  • あなたならどうお書きになります1.0 - 鍋あり谷あり

    今年もうちでクリスマスパーティーをやる。 クリスマスパーティーにはプレゼント交換。 で、誰が誰にプレゼントを渡すのかを決めるわけだが、人間がサイコロなどで乱数をつくって決めるのは、実は難しい。 そこで今日の出題。 クリスマスパーティーでプレゼント交換を行う。 全員、誰かにプレゼントを一つあげ、誰かからプレゼントを一つもらう。 参加者は、自分と同じグループに属している人にはプレゼントをあげない。 どのグループにも属さない人や、複数のグループに属する人はいない。 この条件を満たすようなプレゼント交換が等確率で出るような、プレゼント交換方法生成プログラムを実装せよ わかりにくいと思うので、グループについて解説。 例えば。私と杏子と穴田さんと出部さんの四人で行うとする。私と杏子は「鍋谷夫」というグループに属しており、穴田さんは「穴田さん」というグループ、出部さんは「出部さん」というグループに属し

    あなたならどうお書きになります1.0 - 鍋あり谷あり
    Hash
    Hash 2006/12/26
    こっちが元の問題。トラバ先から飛べば色々見れる
  • クリスマスパーティーのプレゼント交換プログラムのテストを書く - walf443's blog

    クリスマスパーティーでプレゼント交換を行う。 全員、誰かにプレゼントを一つあげ、誰かからプレゼントを一つもらう。 参加者は、自分と同じグループに属している人にはプレゼントをあげない。 どのグループにも属さない人や、複数のグループに属する人はいない。 この条件を満たすようなプレゼント交換が等確率で出るような、プレゼント交換方法生成プログラムを実装せよ http://d.hatena.ne.jp/Nabetani/20061217#p1 という問題が面白そうだったのでやってみました。もう締め切りはすぎているのですがテストを書いたという人は見受けられないので曝しておきます。 問題をやる際にまず考えたのが、最近流行のテストをどう書くか?ということでした。特に等確率であることをきっちり検証するにはどうやればいいのだろうということで悩みました。(というより悩み中です) 先にテストを書いたからか実装は素

    クリスマスパーティーのプレゼント交換プログラムのテストを書く - walf443's blog
    Hash
    Hash 2006/12/26
    へぇ。やってみようかな
  • M.Hiroi's Home Page / Lightweight Language

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    Hash
    Hash 2006/10/01
     下のほうにRubyのアルゴリズムスクリプト
  • Ruby Quiz

    Quiz FAQ Is Ruby Quiz Still Active? Yes, but it's under new management and this is no longer the site for the current challenges. After running three years worth of quizzes, I retired as quizmaster and passed the project on to some loyal fans. New quizzes are still posted to the Ruby Talk mailing list so look for them there if you want to participate. The rest of these questions are left as they w

    Hash
    Hash 2006/10/01
     色々面白い問題
  • http://www.cyber.sccs.chukyo-u.ac.jp/sirai/classes/algo/index.html

    Hash
    Hash 2006/09/30
     この大学Rubyやるのか うらやまし