タグ

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

  • 関連タグはありません

タグの絞り込みを解除

algorithmとrubyとdevelopmentに関するuchiuchiyamaのブックマーク (2)

  • Workflow Engine をつくろう! Part 1(Task の依存関係の解決) - Qiita

    Part 1 Task の依存関係の解決 Part 2 Workflow の冪等性 Part 3 Task 間でのデータのやり取り Part 4 Task の並列実行 Workflow Engine って何? Workflow Engine と言っても多機能なものから、シンプルなものまで様々なものがあります。そこで、主旨がぶれないように、この記事での Workflow Engine は、以下の要件を満たすソフトウェアとします。 Workflow Engine とは、依存関係のある複数の Task を、意図した順番通りに実行するもの この記事では、この要件を満たす Workflow Engine を Ruby でつくる方法について解説します。 依存関係を記述する 依存関係を解決するコードを書く前に、依存関係を記述する方法をまず決めましょう。 依存関係を記述するには、luigi のように Ta

    Workflow Engine をつくろう! Part 1(Task の依存関係の解決) - Qiita
  • Execute Around Method - Standing on the shoulder of giants

    必ず対で実行しなければならない処理がある場合は、ブロックを受け取るメソッドを定義しましょう。 振る舞いの実現に関するパターンです。 ファイルをオープンしたら最後に必ずクローズしなければいけないといった、必ず対で実行しなければならない処理を実現したい場合、最も単純な実現方法は対の処理をそれぞれ独立したメソッドとして公開することです。 class File def open ... end def close ... end end f = File.new f.open ... f.close しかし、この実現方法だと、インタフェースとして以下のような問題が残ります。 対で実行する必要があることを利用者が知らなければならない どのようなケースでも処理が対で実行されることをそれぞれの利用者が保証しなければいけない このような問題は、対の処理の間で実行したい処理をブロックとして受け取るメソッドを

    Execute Around Method - Standing on the shoulder of giants
  • 1