タグ

ブックマーク / qiita.com/sonots (10)

  • 書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想とその検討停止について - Qiita

    この記事はZOZOテクノロジーズ #1 Advent Calendar 2019 23日目の記事です。 昨日の記事は弊チームの inductor による「GKEの内部負荷分散機能を使ってInternal Load Balancerを構築する」でした。面倒で困っているのでGCP様にはなんとかして欲しいものです さて記事では、残念ながら番運用には至らなかったのですが、私がここ暫くMLOps業の裏でやっていた「書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想」の検討結果について供養のつもりで記そうと思います。 なお、今年は弊社では全部で5つのAdvent Calendarが公開されています。 ZOZOテクノロジーズ #1 Advent Calendar 2019 ZOZOテクノロジーズ #2 Advent Calendar 2019 ZOZOテクノロジーズ #3 Ad

    書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想とその検討停止について - Qiita
  • embulk 0.9.0 で embulk gem がリリースされなくなった件について - Qiita

    embulk >= 0.9.0 から embulk gem が個別にリリースされなくなりました。 では、jruby プラグインから Embulk なライブラリを使うにはどうすれば良いかというと、embulk.jar に同梱されている embulk gem を使う形になります。 これによってどういう影響があるかというと、主には以下の2つに影響が出ているので、それについて記載します。 embulk run -b jruby プラグインのテストの書き方 embulk run -b /path/to/Gemfile embulk >= 0.9 で embulk run -b を使いたい場合は、Gemfile に を書いておく必要があります。embulk < 0.9.0 では必要ありませんでした。 bundler は Gemfile.lock に書かれているものだけをロード対象にするので、gem '

    embulk 0.9.0 で embulk gem がリリースされなくなった件について - Qiita
    a2ikm
    a2ikm 2019/03/04
  • プロビジョニングツールにおける設定ファイルの管理方法について - Qiita

    プロビジョニングツールでミドルウェアの設定ファイルを管理する時の方式について論じる。 例えば nginx の conf を管理するとして、管理しているアプリが10個ほどあり、それぞれのアプリで微妙に conf が異なるとする。 1. テンプレート方式 その場合、典型的には nginx.conf を erb などでテンプレート化すると思う。そして、異なるパラメータを erb 内の変数で埋めたり、場合によっては、パラメータで分岐させたりする。 まぁ、普通かな、という気はするがこの方式を取ると、ロジックが入り込んで複雑怪奇、完成系が erb を見ただけで予測できない、複雑なので単体テストが必要、などの問題が生じてくる。規模が大きくなるほど複雑さが増して来る。 2. ファイル分離方式 そこで、提案したい設定ファイルの管理方法がファイル分離方式である。アプリごとに conf が異なるならば、ファイル

    プロビジョニングツールにおける設定ファイルの管理方法について - Qiita
  • digdag の rb オペレータで bundle exec を使う3つの方法 - Qiita

    EDIT: 0.9.35 でruby オプションを指定できるようになったので追記 前提知識 ruby の前提知識および現在の digdag ができること、できないこと。 読み飛ばし可能。 digdag 0.9.33 から ruby へのパスを指定できるようになった

    digdag の rb オペレータで bundle exec を使う3つの方法 - Qiita
  • embulk mkbundle または embulk bundle の使い方 - Qiita

    embulk mkbundle および embulk run -b を使うと、embulk のプラグインを Gemfile/Gemfile.lock でバージョン管理できるようになる。その使い方。 [更新履歴] 2019/02/09 embulk >= 0.9.0 で gem 'embulk' が必要になったので注記 2015/11/06 mkbundle コマンドが生えたので記事を修正。v0.7.8 以降で有効 https://github.com/embulk/embulk/pull/334 https://github.com/embulk/embulk/pull/335 基の使い方 1. embulk mkbundle すると、Gemfile やプラグインの雛形(gem にせずに読み込みたいプラグイン)が作られる $ embulk mkbundle bundle_dir Crea

    embulk mkbundle または embulk bundle の使い方 - Qiita
  • Ruby でラインメモリプロファイラ - Qiita

    プロファイラ好きなモニタの前の皆さんこんにちは。@sonots です。この記事では、Ruby コードのどの行がどのぐらいメモリを消費しているか調べる方法を紹介します。 オブジェクトの数を数える Ruby には ObjectSpace というオブジェクトの情報を集めたり操作したりする module があります。 このモジュールの each_object メソッドを使用すると、RubyVM 上の全てのオブジェクトを取り出すことができます。 このメソッドを使って、以下のようなコードを書くと、実行した地点で、RubyVM 中にどのクラスのオブジェクトが何個存在しているのかカウントできたりするわけです。興味深いですね! ObjectSpace.each_object.inject(Hash.new 0) {|h,o| h[o.class]+=1; h } #=> {Class=>241, Strin

    Ruby でラインメモリプロファイラ - Qiita
  • Fluentd v0.12 Filter プラグインの使い方と作り方 - Qiita

    Fluentd v0.12 がリリースされました。git log を見るに v0.10.1 がリリースされたのは 2011/10/16 とのことなので、3年越しのメジャーバージョンアップとなりました。自分が Fluentd の開発に携わってから初ですね。感慨深い。 Fluentd v0.12 には Fluentd v0.12 is Released で言及されているように、今まであった Input プラグイン、Output プラグインに加えて、Filter プラグイン という仕組みが追加されています。記事ではその使い方、および作り方を解説します。 2014/12/30更新 v0.12.2 で filter メソッドで nil を返すとメッセージを削れるようになったので記事を修正。cf. #515 合わせて v0.12.2 で、Filter プラグインのテストヘルパーが追加されたのでテスト

    Fluentd v0.12 Filter プラグインの使い方と作り方 - Qiita
  • Fluentd v0.12 ラベル機能の使い方とプラグインの改修方法 - Qiita

    Fluentd v0.12 には Fluentd v0.12 is Released で言及されているように、「ラベル」という機能が追加されています。記事ではラベル機能の使い方、またラベル機能に対応するためにプラグインを改修する方法について解説します。 概説 このラベルという機能は、「内部ルーティングするのに add_tag_prefix したり remove_tag_prefix したり、タグ設計するのめんどくさい!!」という声にお答えして追加されたものです。 ラベル機能を使う事によって、タグを改変することなく、内部ルーティングすることができるようになります。 ラベル機能の導入によって、以下のような利点が生まれていると思います。 タグをいじることが(ほとんど)なくなったので、オリジナルのタグ情報を保てるようになった。 Fluentd 体がサポートする機能なので、プラグイン作者が個別に

    Fluentd v0.12 ラベル機能の使い方とプラグインの改修方法 - Qiita
  • インデントコミットで真犯人がわからなくなった場合の git blame

    config_param :queued_chunk_flush_interval, :time, :default => 1 を追加したコミットがどれかを探したいとします。 しかし、git blame を見るとこんなかんじに、インデントコミットによってほぼ全ての履歴が上塗りされていてどれだかわからない、みたいな状況にどうやって真犯人を探そうかという話です。 1. git blame -w を使う インデントコミットを無視したいだけであれば git blame の -w オプションが使える。-w は比較の際に whitespace を無視してくれるオプション。git diff にもあるよね。 $ git blame -w lib/fluent/output.rb ... (省略) 14d01c71 (Masahiro Nakagawa 2013-03-27 03:56:51 +0900 1

    インデントコミットで真犯人がわからなくなった場合の git blame
    a2ikm
    a2ikm 2014/04/02
  • bundler-auto-updateの紹介 - Qiita

    こんにちは @sonots @サンフランシスコ出張中です。今回私は bundler-auto-update という gem の紹介をしてみようと思います。 bundler-auto-update とは bundler-auto-update を使うことでシステムを壊さずに Gemfile に記述してある gem のバージョンをアップデートすることができます。 Gemfile に記述されている gem のバージョンを1つあげてテストを実施し、システムが壊れないバージョンまで gem のバージョンをあげてくれます。 使い方 $ git log 02cfb8c Auto update parallel to version 0.5.9 (16 hours ago) ff39287 Auto update cucumber to version 1.1.0 (16 hours ago) 3502a

    bundler-auto-updateの紹介 - Qiita
  • 1