タグ

関連タグで絞り込む (238)

タグの絞り込みを解除

Rubyに関するyukimori_726のブックマーク (273)

  • Wakame|トップ

    Wakameはサーバコストを大幅に削減する強力なオープンソースのクラウドコントローラです。Wakameとは 「Wakame」は、株式会社あくしゅが、中心となって開発している、ネットワーク構成を自動でマネージメントするためのエンジンであり、それに関するサブプロジェクトを含むプロジェクトの総称です。 もっと見る 3つの特徴 スモールスタート 最小構成はサーバー1台から構築可能。予算の少ない、スタートアップの会社や、社内ベンチャーの皆様も少ない予算から始められます。 マネジメントネットワーク サービスに応じて、Webサービスが何台必要、データベースが何台必要等々、自ら計画したネットワークを構築することができます。 仮想化されたネットワークシステムを利用することにより、柔軟なネットワーク設計をソフトウェアでサポートすることができます。 オートスケーリング リアルタイムの負荷状況を監視することによ

  • RSpecを使ったテストコードを読もう

    RSpecを使ったテストコードを読もう:Railsコードリーディング~scaffoldのその先へ~(2)(1/4 ページ) 優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) 第1回「コードリーディングを始めよう」では、Railsアプリケーションの基であるCRUDのソースコードを読解しました。最低限の基の動きということで、ディレクトリ構造の説明すら割愛していたので、今回はディレクトリ構造の解説から行います。その後、今回のメインテーマであるテストコードのコードリーディングに入っていきます。 ここで扱うテストコードというのは、Javaの世界でいうとJUnitを使ったテストコードと同じ粒度、つまり、単体テストに近い粒度のテストケースを動くプログラムで表したものになります。Javaの開発者にとってのJ

    RSpecを使ったテストコードを読もう
  • ニコ動快適化ソフト「ニコ串」 - OSのようなもの

    イントロダクション 僕らはネットにより世界を広げ,ネットによりある限界に制約され続けます。 検索のトリガーに文字列を使う限り,googleも含む全ての検索はいつまでたっても不便なままです。 ニコニコ動画は無料会員には無慈悲で回線は遅く,不快なコメントが無くなる事はありません。 ネットによりストレスが溜まることが解っていたとしても, マグロが海を泳ぐのを止めてしまうと死んでしまうように, 僕らはもうネットのない世界を生きることができません。 ストレスのない――つまり,快適なウェブ巡回は全人類の数少ないコンセンサスなのです。 プロクシソフト「ニコ串」 快適なネット生活を全ての人に提供します。 何ができますか? 現状で,次のような機能が実装されています。 プロクシを通してニコニコ動画で動画を再生した場合,あらかじめ設定しておいたフォルダに動画を保存します。 動画を再生する場合,上記を満たしていれ

    ニコ動快適化ソフト「ニコ串」 - OSのようなもの
  • Ruby の map reduce - ひがきの日記

    世の中 map reduce 大流行。 Ruby では map は頻繁に使うけど reduce って使ったことない。 と思って調べたら reduce って inject のことか。なーんだ。 そう言えば map も collect って名前持ってたね。 Ruby 的な名前 一般的な名前 collect map inject reduce rubyist には map 派と collect 派がいるらしいが、reduce 派というのは聞いたことないなぁ。 昔 matz さんが「Enumerable は -ect って名前のメソッドで揃えてある」って言ってたような気がする。*1 (0..9).to_a # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # -ect (0..9).collect{|i|i*2} # => [0, 2, 4, 6, 8, 10, 12, 14

    Ruby の map reduce - ひがきの日記
  • Rails向け省メモリVM、Ruby Enterprise Edition | エンタープライズ | マイコミジャーナル

    Phusion, The Computer Science Company Ruby Enterprise Editionの最新版、Ruby Enterprise Edition 1.8.6-20090421が22日(米国時間)に発表された。Ruby Enterprise EditionはオフィシャルのRubyをベースにガベージコレクタやmalloc実装などを入れ替えることで特にサーバ用途での性能改善を目指したプロダクト。OSSとして公開されている。 Ruby Enterprise Edition 1.8.6-20090421では採用されているtcmallocが0.99.6から1.2へとアップグレードされ以前よりも多くのプラットフォームをサポートするようになった。またUbuntu x86_64パッケージの提供開始や、ベースとなるRubyを1.8.6-p287へアップグレード、各種バグの修正

  • PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog

    サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlRubyのハッシュの代用としてTokyo Cabinetを使うことでメモリ使用量を激減させられることを説明します。 抽象データベースAPI Tokyo Cabinetには抽象データベースという機構があり、先日、そのPerlRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ

    PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog
  • B木の Copy-Modify 方式での実験的コード - Tociyuki::Diary

    id:naoya さんの Python 版B木に触発されて、Ruby 版の insert・delete だけを実装した B 木を書いてみました。 実装にあたり、標準的な教科書に良く掲載されている Overwrite 方式ではなく、現代的な Copy-Modify 方式、すなわち B 木の葉から根に向かって更新のおこなわれるノードを複製してから修正をおこなっていき、最後に根をすげ替える方式に挑戦してみました。こうすることにより、更新の途中でなんらかの例外が発生したとしても、直前の B 木を壊さずにすみ、安全にロール・バックすることができるようになります。また、更新の途中の元の B 木はいっさいがっさい元のままですから、根を変更バージョンごとに持つようにすれば、現代的なデータ・ベース・マネジメント・システムに採用されている Multi-Version Concurrency Control(M

    B木の Copy-Modify 方式での実験的コード - Tociyuki::Diary
  • ぼくが見ているレール(map.resouces編) - moroの日記

    先日のQConで大場さんもおっしゃっていたことですが、Railsで開発をする上でものすごく重要なポイントに、Railsの敷いたレールから降りないというのがあります。別にコレはRailsが不自由だというわけでなく*1、通り一遍のものしかできないというわけでもなく、ただ基盤と相性の悪い設計すればあとで苦労するという、当然の話なわけです。 最近、私を含めいろいろな方が「レールから降りないで作るのが重要」と話しています。が。じゃあそのレールはどこにあるのかという話はあまり聞かれません。ということで、ふだん私がRailsアプリを設計するときに意識しているレールを言語化してみて、議論なりのたたき台にしたいな、と思った次第です。 とはいえDB周りは「羽生さんのERDレッスン嫁」で7割くらい済む話*2なので、まずはコントローラから。 設計指針としてのmap.resouces Rails 2.xにおいて、コ

    ぼくが見ているレール(map.resouces編) - moroの日記
  • ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな

    Twitter mongrelP: @tasukuchan グニャラくーん、ニコ百の鯖がEeePCという話が持ち上がってますがただの監視用ですよね(しんぱいそうなめでみている) http://twitter.com/mongrelP/status/1524183917 ニコニコ大百科のアーキテクチャについてメモしておきます。 当は、このネタでRuby Kaigiに申し込もうと思ったけど、すっかり忘れていたのでエントリを起こしておきます。Rubyあんま関係なかったし。 全てのリクエストを受付、セッション情報も保持するEeePC 次世代サーバプラットフォーム EeePC ニコニコ大百科宛ての全てのリクエストは、全てEeePCに送られます。 実物の写真を載せておきます。 EeePCは2台稼動しており、1台はホットスタンバイです。 EeePCは、SSDとUPSを備えた次世代サーバプラットフォーム

    ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな
  • Greenbear Diary - Rubyでブラウザを使わずにJavaScriptのテストを行う

    ■ [ruby][git] JRubyがgitに移行 JRubyのリポジトリがsvnからgitに移行したそうな。 Headius: JRuby Moves to Git オフィシャルなリポジトリはkenai.comにあり、githubの方はミラーだそうです。 jrubyさんのアカウント。 活発にコミットがあります。 なぜgitを選んだかについては、 長いこと分散SCMを検討していて、Mercurialかgitにしようと思っていた KenaiはsvnとMercurialしか使えなかったんだけど、最近gitがサポートされた githubにリポジトリ置いた方がRubyistの援助を集めやすいんじゃね? そうこうする間にgitが気に入ってきた まあ結局、Ruby界でgitが人気だからgitにした。もしJythonの開発をやってたらMercurialの方を選んだだろうね とのこと。 ■ [ruby]

    Greenbear Diary - Rubyでブラウザを使わずにJavaScriptのテストを行う
  • Lanczos拡縮アルゴリズムの実装 - GIOの日記

    原理 画像の拡大縮小アルゴリズムはいくつか存在します ・ニアレストネイバー ・バイリニア ・バイキュービック ・Lanczos-2 ・Lanczos-3 この中で理論上最も美しいとされているのはLanczos-3であり、漢はだまってこの方法を選ぶべきなのですが、いくつかの実装では正確な計算がされておらず、もったいない事になっています。 なので今回はできるだけ正確な高品質な画像を目指して実装してみました。 rubyで。 原理的なものはコチラが詳しいです。こんなブログを見るよりお勧め http://gwaihir.hp.infoseek.co.jp/wiki.shtml?Lanczos%E9%96%A2%E6%95%B0%E3%81%AB%E3%82%88%E3%82%8B%E7%94%BB%E5%83%8F%E3%81%AE%E6%8B%A1%E5%A4%A7%E7%B8%AE%E5%B0%

    Lanczos拡縮アルゴリズムの実装 - GIOの日記
  • 脱Excel! Redmineでアジャイル開発を楽々管理

    ソフトウェア開発のタスクをチケットに登録すると、作業を始めるチケット管理をメインに、進ちょく管理、問題管理などができる。 バグ管理システムだけでなく課題管理システム(ITS:Issue Tracking System)で運用する開発プロセスは、チケット駆動開発(TiDD:Ticket Driven Development)と呼ばれ、最近注目されている。 Ruby1.9の開発はRedmineで管理されているように、近ごろは事例も増えている。 Redmine運用前の問題点 筆者がRedmine運用前に持っていたプロジェクト管理の問題点は下記2点だった。 1.Excelでのタスク管理の限界 従来からプロジェクトマネージャやプロジェクトリーダーの多くは、進ちょく管理やタスク管理Excelで行ってきた。 プロジェクト管理では顧客へ進ちょく報告するために、残工数と残タスク数を計算する必要がある。だが

    脱Excel! Redmineでアジャイル開発を楽々管理
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • Ruby拡張ライブラリ作成チュートリアル

    目次 準備 まずはC言語プログラムを呼び出す 簡単な数値のやりとり NArray配列を渡す Swigを使ってお手軽変換 参考文献 準備 このチュートリアルではRuby 1.8系列の使用を前提にしています。 確認はすべてRuby 1.8.4 [i386-Cygwin]で行いました。 NArrayはVersion 0.5.8を用いています。 またそれ以外に以外に以下のものが必要です。 Cコンパイラ Rubyのコンパイルに用いたものと同じものが必要です。 バイナリパッケージを導入した場合はどのコンパイラでビルドされたものか 知る必要がありますが、UNIX系ではたいていgccです。 ruby.h, mkmf.rb Rubyをソースコードから自分でビルドした場合はインストールされていると 思いますが、バイナリパッケージを導入した場合はruby.hやmkmf.rbがあるか 確認する必要があります。開発

  • Cのかけら

    小さい C プログラムを集めています。自分用のメモ書きです。同じ動作をする Ruby のプログラムと比較しても、意外に複雑な処理を簡単に記述できるのに驚かされます。先輩達がなんでもかんでも C 言語で作って行ったのが分かる気がします。しかし、ポインタの操作やメモリ管理など初心者には地雷があちこちに埋まっていそうです。Ruby でできることは Ruby でやった方が安心です。 C の関数の使い方が分からなくなったら man sprintf のように man ページを参照できます。ヘッダーファイルは /usr/include/stdio.h のように /usr/include/ 以下に納められているようです。locate で探すのも便利です。Unix は C 言語の開発環境なのだというのが実感として分かります。 C のソースをスクリプト感覚で試すには

  • 高速な RUBY 用仮想マシンの開発 sasada_dt_slides.pdf

    博士論文審査発表資料 高速なRUBY用仮想マシンの開発 EFFICIENT IMPLEMENTATION OF RUBY VIRTUAL MACHINE 東京大学大学院 情報理工学系研究科 特任助教 笹田耕一 1 Agenda 背景と目的 高速なRuby用仮想マシン Rubyの並列化 まとめ 2 背景 3 スクリプト言語の必要性の増大 � スクリプト言語の重要性増大 � 計算機の性能向上,スクリプト言語の機能向上 � 利用シーンの増加 � GUIプログラミング,ネットワークアプリケーション � ウェブアプリケーション � システムプログラミング言語 v.s. スクリプト言語 � John K. Ousterhout, Scripting: Higher-Level Programming for the 21st Century, Computer, IEEE, 1998 より � 型付

  • コサイン距離ベースのLSHをRubyで - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥

    参考文献:Web+DB press vol.49 レコメンド特集のPart3など。 アルゴリズムの概要 詳細(特に数学的な)はぐぐれ。 モチベーションとしては、高次元における近傍点探索を高速で行いたい。まじめにやるとどう工夫しても計算量がすごいことになるので、近似で。 どうするかというと、「距離が近いと同じような値になるハッシュ関数」を使う。あるベクトルの近傍を求めたい場合、そのベクトルのハッシュと同じ(もしくは近い)値のハッシュを持つベクトルをテーブルから引いてきて返す。計算量がどうなるかはややこしいけど、とりあえず全部探すよりは速い。 で、どういう関数をハッシュとするのか。これは距離の定義によって異なる。ハミング距離、コサイン距離、ユークリッド距離などにはそういった関数の存在が知られている。 コサイン距離の場合、ランダムなベクトルをいくつか用意して、入力されたベクトルがそれらと似ている

    コサイン距離ベースのLSHをRubyで - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥
  • Google App Engine、Java獲得 - JRubyとRails、Groovyも動作 | エンタープライズ | マイコミジャーナル

    Google App Engine Googleは7日(米国時間)、Google App Engineのサポート言語にJavaを追加したことを発表した。サポートされるバージョンはJava 6およびJava 5。実際の動作はJava 6仮想マシンを使っておこなわれる。このためJava 5も活用できるが、開発にはJava 6を採用した方がいいとされている。 Javaを使ってGoogle App Engineで動作するアプリケーションを開発するには、App Engine Java SDKをダウンロードして使うか、開発環境にEclipseを採用しているならUsing the Google Plugin for Eclipseの説明にしたがってGoogle Plugin for Eclipseをインストールして活用すればいい。com.google.appengineというパッケージが用意されている。

  • Rava / JavaVM on Ruby : JAVA PRESS 誌の掲載原稿+サポートページ

    はじめに 掲載原稿 ごめんなさい IRC Rava のページ 参考文献 はじめに JAVA PRESS 誌31号 に載せてもらいました Rava の記事についてのサポートページです。また、掲載原稿も見れるようにしました。 掲載原稿 ./Rava.pdf JavaPress誌 Vol.31 掲載原稿。技術評論社様のご厚意により、掲載したゲラを公開させていただきます。 技術評論社 JAVA PRESS誌 なんというか、出来が悪くてごめんなさい。 ごめんなさい まだ何も書いてないです。どうせ誰も見ないだろうしいいやー、とか思ってるんですが、見ちゃった人がいたらご連絡ください。焦ります。 何かご質問などがあればお気軽にメールください。ファンレターやラブレターも受け付けています。(*1) IRC あまりにアレなので ircnet の #rava に居ます。暇な人はどうぞ。 Rava のページ Rav

  • ■ - ひとり勉強会

    ここ「ひとり勉強会」は、会と言いつつひとりで勉強した記録を残してます。 金曜日は YARV: Yet Another Ruby VM のソースコード読みの日です。 履歴 (1): main から yarv コアに到達するまで (2): コンパイル処理の流れとデータ構造 (3): if のコンパイル (4): case, while のコンパイル (5): break, next, redo, retry, rescue, ensure, for, ブロック のコンパイル (6): 代入 のコンパイル (7): 自己代入, メソッド呼び出し のコンパイル (8): super, yield, リテラルなどなど のコンパイル (9): def, class, module, alias などなど のコンパイル ここまでのまとめ: PPT or PDF (10): 最適化 (11): バイトコー

    ■ - ひとり勉強会