タグ

Rubyとあとで読むに関するlylephoneのブックマーク (4)

  • 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
  • 1