タグ

Rubyに関するlylephoneのブックマーク (6)

  • Ruby プロセスを追いかけるツール(プロファイラとか)10選 - sonots:blog

    Ruby プロセスを追いかけるツール(プロファイラとか)10選 - sonots:blog
  • pry-byebug を使ってRailsアプリをステップ実行する

    Railsアプリケーションのデバッグはどのように行っていますか? 愚直にプリントデバッグ? でも複雑なロジック内だと「このロジックのこの処理のここでピンポイントで止めたい!」という場合もありますよね。 そんなときに便利なのがpry-byebug. Githubのリンクは下記。 https://github.com/deivid-rodriguez/pry-byebug pry-byebugを使えばピンポイントで処理を止めてステップ実行が可能になります。 RequirementRuby2以上pry-byebugで使われているByebugはRuby2前提のデバッガーなので2以上が必要になってきます。 導入下記をGemfileに追加してbundle install. ユースケース例えばこんなコントローラーのロジックがあったとする。 class PostsController < Applicat

    pry-byebug を使ってRailsアプリをステップ実行する
  • RabbitMQ と再送について

    概要 : AMQP のプロトコルを読むと、一瞥して送信はパケットを送るだけ、受信はソケットを読み込むだけのようにも見える。しかしながら、実際に書いてみると、再送処理を自前で実装する必要があるため、現実には大変に複雑な処理が必要だ。 そもそもなぜ RabbitMQ を使うのかという話、あるいはなぜ再送が必要かという話たんにコンポーネント同士が疎結合で通信したいのであればわざわざ MQ を使う必然性は皆無である。ごくあたりまえに TCP で通信すればそれでいい。暗号通信が必要なら当然 SSL でいいし、パケットエンティティに依存する複雑な L7 リバースプロキシを MQ を使って実現することも、不可能ではないが、普通そういうのは varnish とかでやるだろう。 MQ において優れているのはデータの durability だ。つまり、一旦キューにためておけば、その両側のコンポーネントは好き勝

    RabbitMQ と再送について
  • Rubyにはなぜ「ブロック」があるの? | Yakst

    Rubyの特徴的な仕組み「ブロック」がなぜ生まれたのか、その必要性からブロックをひもとく。ブロックが分かりにくいと思っていた人には、なるほどと思える分かりやすい解説。 Rubyのブロックは、この言語を使い始めたほとんどの人にとって、最初に超えなければならないハードルでしょう。他の言語を何年も使ってきた人にさえ、ブロックというコンセプトは最初は理解しにくいことが多いようです。 ブロックを完全に理解するのが難しいのは、その一般的な説明の仕方に問題があるのではないかと私は思います。来Parleyへの投稿として始まったこの話に関して、この記事では私のブロックについての考えを、他の言語で既に使っているであろうパターンに対する実用的なショートカットとして説明したいと思います。 他の多くの言語と同じくRubyでは、受け渡しができ実行可能なコードの小さな塊を作ることができます。これを実現するにはたくさん

    Rubyにはなぜ「ブロック」があるの? | Yakst
  • Draperで驚くほどRailsコードがわかりや少なったよ! 

    Draperって何?Draperは、Model/Controller/View/Helperと異なる第4のレイヤを提供するGemです。 この第4のレイヤは、海外では「Presenter」として分類されています。(正確にもう少し細かい分類があるらしいですが割愛♪) このレイヤを作るメリットは、 model/viewに余計なロジックを書かなくてすむ Helperのメソッドが使われている場所が不明という事態を防ぐ 日ではPresenterレイヤでは、ActiveDecoratorというGemが有名です。ActiveDecoratorもほぼ同じことができます。 Draperの紹介Draperの説明ならRailsCastが一番わかり易かったです(説明は日語に翻訳されています、動画は英語です)↓ #####286 Draper - RailsCasts 1年前の記事ですので、実際に動かしてみると少

    Draperで驚くほどRailsコードがわかりや少なったよ! 
  • スクリプトをDaemonizeする。god ツール.しかもプロセス監視・再起動付き - それマグで!

    twitter ボットとか、ファイル同期ボットとか、メール転送ボットとかイロイロボット作るよね?ボッと作らないで、プログラムを使う意味がないというか,ボットがあるからこそプログラムに価値があるわけです. rubyのプロセス管理ツールGod がそこそこイカス プロセス監視・再起動するのが面倒なので,ツールを探してるとGODを見つけた Gravatarの開発者が作って使ってるらしい. 多機能なので基的なところから god インストール gem install god god を使ってプロセス管理 test.god God.pid_file_directory = "/tmp/god_pids/" #god が書き込みできるディレクトリ God.watch do |w| w.name = "myscript" w.start = "/home/takuya/test/myscript.rb"

    スクリプトをDaemonizeする。god ツール.しかもプロセス監視・再起動付き - それマグで!
  • 1