タグ

rubyに関するmztaのブックマーク (42)

  • #rubykaigi バイヤーズガイド '13

    #rubykaigi バイヤーズガイド ‘13 あえてアマゾンのリンクは貼らないので会場で会おう たのしいRuby 第四版これを買うべき人: 全員ひとこと: ついにRuby 2.0の時代が格的に始まったことを宣言する決定打的一冊であり、必携。今後「情報がないから2.0は不安」などとうそぶくことはこれで不可能になった。テストから見えてくるグーグルのソフトウエア開発これを買うべき人: テストを日常的に書いている人と、テストを書く習慣がない人ひとこと: これはずばり俺が読みたいので買います。こちらからは以上です。白と黒のとびらこれを買うべき人: 「記号と再帰」がおもしろかった人ひとこと: まあなんていうんですかね、形式言語とか好きな人って結局そっちに道を踏み外しちゃうきっかけってテングワールだったりするわけじゃないですか。だからこういうふうに攻めてくるのって変化球のようでいて実はど真ん中だと思

    #rubykaigi バイヤーズガイド '13
    mzta
    mzta 2013/05/31
  • Rubyによる関数型プログラミング

    古き良き小学校の時代、この行には困惑させられたものだった。 魔術的な x が、加算されたのに等しいままでいる事に。 どういうわけか、プログラミングを始めると、それに構わなくなる。 「やれやれ、それは重大な事柄じゃないし、プログラミングとは現実のビジネス行為なんだから、 数学的な純粋さについてあら探しなんて必要無い (その議論なら、大学にいる狂った髭面野郎どもにさせておけばいい)」と思っていた。 けれども、ただ知らなかっただけで、我々が間違っていて高い代償を支払っていたのは 明らかである。 Wikipedia によれば、「関数型プログラミング(functional programming, FP)とは、 計算を数学的な関数の評価とみなし、 状態や可変データを避けるプログラミングパラダイム」である。 言い換えると、関数型プログラミングは、 副作用が無く変数の値を変化させないコードを推奨する。

    mzta
    mzta 2013/02/04
  • DCIを使ってみた - がむしゃらにコードを書き続けるBlog

    概要 DCI(Data Context Interaction)を使ってみました。 例は購入する時のパラメーターを作成する処理で、複数のモデル(User, Cart, Item)を使って処理をしないといけない場合の時です。 DCIを使わない場合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 class User has_many :carts def payment_hash { full_name: "#{last_name} #{first_name}", postal_code: "#{zip1}-#{zip2}" } end end class Item belongs_to :cart def payment_hash { item_id:

    mzta
    mzta 2013/01/31
  • ネタベタオタの上には - 書評 - メタプログラミングRuby : 404 Blog Not Found

    2010年08月24日23:45 カテゴリ書評/画評/品評Lightweight Languages ネタベタオタの上には - 書評 - メタプログラミングRuby 出版社より献御礼。 メタプログラミングRuby Paolo Perrotta / 角征典 [原著:Metaprogramming Ruby] 「ただの」プログラマーで終わりたくない人、必携。 Rubyistsはもとより、そうでない人も。 むしろRuby以外のプログラミング言語をホームグラウンドにしている人は、Rubyistsよりもさらに得るところが大きいかもしれない。「私の言語ではどうやる?」を考え、実際にやってみることで、Rubyも「母国語」も理解が深まるのだから。 書「メタプログラミングRuby」は、Rubyにおけるメタプログラミングを物語形式で学ぶ一冊。舞台はRubyを使っているある会社。平凡なプログラマー、ボブは、

    ネタベタオタの上には - 書評 - メタプログラミングRuby : 404 Blog Not Found
  • ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな

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

    ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな
  • rails.jarの試作品 - Hello, world! - s21g

    GAEjのファイル数制限が厳しいので、rails.jarを試作してみました。 rails-2.3.2.jar jrubyのバグなのか、jarファイルの中身に対してrequireをする時に、 pathの中に../..のような感じの指定が入っているとうまくロードできないようなので、その問題を回避するモンキーパッチをあてる必要がありました。 require_fix.rb 1  alias :require_original :require 2  def require(path) 3  path = File.expand_path(path) if path.to_s.match(/^file:/) 4  require_original path 5  end 6 7  alias :load_original :load 8  def load(path) 9  path = File.

  • 2D物理エンジンをRubyに移植してみました - ずっと君のターン

    http://github.com/technohippy/Pongo/tree/master 先週のRubyKaigi2009で「Rubyで*1何か作りたい欲」を激しく刺激されたので、前から欲しかった物理エンジンをRubyに移植してみた。気アプリならChipmunkのRubyバインディングでFAっぽいけど、ピュアRubyのもあればあったで嬉しいっしょ。 物理エンジンと言えば前にBox2DのAS3版をJSに移植したことがあるんだけど、Rubyの場合はJSみたいに単純に置換ってわけにいかないから難度高すぎ。30分ソース眺めて諦めた。で、もうちょっとシンプルそうなエンジンということで移植のターゲットとしてはAPE (Actionscript Physics Engine)を選択。ちなみに今回は置換じゃなくてちゃんと目視&手打で移植したっす。 移植してみて分かったのは、APEはホントにシンプル

    2D物理エンジンをRubyに移植してみました - ずっと君のターン
    mzta
    mzta 2009/07/27
  • さくっとRails on Google App Engineをはじめる·Rails on GAE MOONGIFT

    Google App Engine(GAE)の可能性はJavaをサポートしたことによってその可能性を飛躍的に向上させた。JavaVM上で実装された言語であれば何でも動作する。JRubyもその一つで、Ruby on RailsGoogle App Engine上で動作する。 GAEのパワーを素早くゲットする とは言えやはりマイノリティだけに色々な準備が必要とされていた。そのため敬遠していた人も多いだろうが、Rails on GAEによって大きく舵を切ることになりそうだ。 今回紹介するオープンソース・ソフトウェアはRails on GAE、GAEでRuby on Railsを動かすためのプラグインだ。 Rails on GAEはRuby on RailsをGAEで動作させるために必要なタスクを予めインストールすることで、後は順番に従って進めるだけでJRuby on Railsができるようにな

    さくっとRails on Google App Engineをはじめる·Rails on GAE MOONGIFT
  • Rubyの軽量Webフレームワーク「Sinatra」がステキ - このブログは証明できない。

    フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し

  • 画像の肌色率をもとにソートしてHTMLに出力するスクリプト - FLYING

    前からやりたいと思っていたアレ。こういう馬鹿なスクリプトは、できるなら昨日のうちに公開しておきたかった。仕組みは単純で、画像から適当な数のピクセルを抽出し、HSV色空間上で指定した色相空間と合致するかどうかを確かめるだけ。手元の環境で試してみたところ、認識率は微妙だった。ちなみに、スクリプトを実行するためには RMagick を使用できる環境が必要です。何かサンプルになる画像募集中。 うさげ ruby image_sort.rb '*.{bmp,jpg,png,gif}'Windowsネイティブ版のRubyで、カレントフォルダ内にあるすべての画像を対象に実行する場合はこんな感じ。シングルクオートでパス指定を括っているのは、ワイルドカードが展開されるのを防ぐため。他のシェルでどうやるかは知らない。スクリプトを実行すると output.html というファイルが生成されるので、ブラウザで眺めて

    画像の肌色率をもとにソートしてHTMLに出力するスクリプト - FLYING
  • Fenrir's BLog: Rubyでgnuplot

    最近グラフを書く機会が多いのですが、ただ単純にデータファイルをプロットすればいいという単純な作業はむしろ少なく、データファイルを読み込んでそれから何がしかの計算をした結果をグラフとして出力するという少々込み入った作業が大半を占めています。いちいち中間ファイルを作ると後からみてわけがわからなくなるので、できるだけ計算とグラフ描画はひとつの処理としてまとめてしまいたいと考えました。そこでRubyからgnuplotをコントロールすることを考えました。 以前『リアルタイム Gnuplot』と称してC++からGnuplotに(擬似)リアルタイム描画させるということを紹介しましたが、今回も基コンセプトは同じで、RubyからパイプでGnuplotにコマンドを発行してやり、グラフを描画することになります。しかしC++のときのように一から作りこむ必要はなく、そのような用途向けのライブラリが既にRubyには

  • 私家版REXML APIリファレンス

    はじめに このAPIリファレンスはREXML2.4.2のツリーAPIのもので、書 籍「Ruby de XML」の 付録として収録されているものをベースとしています。こ のAPIリファレンスはREXMLに付属してくるドキュメントと は別物です。ちなみに、REXML に付属してくるドキュメントの和訳のアーカイブはダウンロード出来ます。 まずはツリーAPIでのクラス、モジュールの構成を(Fig: ツリーAPIの構成)に示す。 Fig: ツリーAPIの構成 +-----------------+ +-----------------+ +--------------------------+ | REXML::Child | | REXML::Parent | | REXML::Element | +-----------------+ | _____________ |-+-| ________

    mzta
    mzta 2008/07/11
  • Ruby技術者認定試験を受けてきました - 対策方法を紹介 - 僕は発展途上技術者

    Ruby会議のとき、勢いで申し込んでしまったRuby技術者認定試験を受けてきました。 結果合格でホッとしてます。(合格してなければ受けたことを内緒にしてます :-)) Rails Rails 言っていてそれでっているわけだし、試験代は馬鹿にならないし、土日は家族ほっといて試験対策にあてたしで、当然合格しないとっていうプレッシャーをちょっと感じていました。テストらしいテストは、確か五年くらい前にアメリカで CBT の TOEFL を受けた以来久々で、なんか懐かしい緊張感でした。 よく、こんな試験や資格に意味はない、という人がいますが、僕はそうは思わないです。確かに資格持ってるから良いコードが書けるか、優秀な技術者かというと必ずしもそういうわけではないですが、Ruby のコードが書けるちゃんとした技術者ならば、きちんと対策さえすれば認定試験に合格するのはわけないのです。つまり、この資格を持っ

    mzta
    mzta 2008/07/08
  • はてなブログ | 無料ブログを作成しよう

    うまくいかない日に仕込むラペ 「あぁ、今日のわたしダメダメだ…」 そういう日は何かで取り返したくなる。長々と夜更かししてを読んだり、刺繍をしたり…日中の自分のミスを取り戻すが如く、意味のあることをしたくなるのです。 うまくいかなかった日のわたしの最近のリベンジ方法。美味しいラペを…

    はてなブログ | 無料ブログを作成しよう
  • Ruby用拡張ライブラリをCで作る

    Ruby用拡張ライブラリをCで作る Rubyは、C(あるいはC++)で書いたコードを動的(あるいは静的)にリンクして利用する事ができる。うまく使えば、Rubyで書くより高速な動作が期待できる。 たとえば、GUIライブラリである「Ruby/GTK」は、描画部分にCで書かれたライブラリを利用する事で、実用的な画面描画速度を確保している。 その、Ruby用拡張ライブラリをCで書く方法である。 ■ 拡張ライブラリ作成の流れ Rubyはオブジェクト指向言語である。オブジェクト指向言語におけるプログラムとは、基的にクラス定義である(と、少なくとも私は思っている)。そこで、ここではクラス定義に話を絞る。 メソッドの実体となる関数を定義する Init関数を作る rb_define_classで、新しいクラスを作る rb_define_methodで、クラスに1で作成したメソッドを追加する Makefil

    mzta
    mzta 2008/02/07
  • 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があるか 確認する必要があります。開発

    mzta
    mzta 2008/02/07
  • Home

    Lecture “Optimizing I/O operations in multithreaded applications in Ruby”.

    mzta
    mzta 2008/01/21
  • HotRuby - Ruby on JavaScript - yukobaのブログ

    先日の木曜日、YLUGに参加しました。笹田耕一さんの YARV(Yet Another RubyVM) の講演会でした。なんか、会は、過去9年間の間で、1,2を争う盛り上がりだったそうで、すごく楽しかったです。参加者のレベルも高く、YARV の中の話を色々と聞かせていただきました。 その席で、ザイボウズ・ラボの竹迫さんに、「Ruby on JavaScript つくらないの?」とお誘いを受けたので、この週末、作ってみました♪ 名づけて、HotRuby。ちゃんと動いているよ〜 http://hotruby.accelart.jp/ 基的な文法は、大体、実装しました。ただし、組み込み関数や組み込みクラスは、大部分が実装されていません。文法面でも、例外は実装していません。 仕組みは、一度、サーバーの Ruby 1.9.0 の YARV でオペコード列にコンパイルさせて、それを JSON でクラ

    HotRuby - Ruby on JavaScript - yukobaのブログ
  • Javascript で実装した Ruby インタプリタ JSRuby 0.1 リリースしました。 (nakatani @ cybozu labs)

    « MyMiniCity 日語化 | メイン | JSRuby から jQuery を使う ( Javascript 連携 ) » Javascript で実装した Ruby インタプリタ JSRuby 0.1 リリースしました。 あけましておめでとうございます。 1月からサイボウズ・ラボのオフィスが引っ越しました。新年から気分も新しくぶりぶり仕事します。よろしくです。 というわけでちょっとずつ作っていました Javascript で実装した Ruby インタプリタの "JSRuby" を一区切り付けるべくバージョン番号を付けてリリースしました。 JSRuby Project Page (CodeRepos) http://coderepos.org/share/wiki/JSRuby JSRuby Test Page http://labs.cybozu.co.jp/blog/naka

  • gonzui-win32: swiming in windows

    gonzui-win32はWindows環境で単体で利用できるgonzuiです。cygwinやrubyをインストールする必要がありません。 gonzui-win32は松が勝手に配布しているものです。gonzui-win32についてのgonzuiの開発者様への問い合わせはご遠慮ください。また、テストも不十分です。どうなっても知りません。 ダウンロード 2005-07-22: gonzui-win32-1.2.2.zip 2005-07-12: gonzui-win32-1.2.1.zip 2005-07-09: gonzui-1.2-win32.zip 2005-07-22: gonzui-win32-1.2.2-src.zip ソースコードは、svn://svn.shaka.dyndns.org/gonzui-win32/gonzui-win32/から匿名で取得することも可