タグ

2020年12月27日のブックマーク (2件)

  • 食べログの大規模なレガシーシステムを段階的に改善していく取り組み - Qiita

    こんにちは、べログシステム部長の京和です。 今年の4月から部長になりました。さらに4月に娘が生まれました エントリではべログで1年を通じて取り組んだ、大規模なレガシーシステムの段階的な改善について紹介します。[翻訳] Shopifyにおけるモジュラモノリスへの移行 に続いて2記事目のアドベントカレンダーになります。 どのように段階的に進めるか べログは今年で15年目のサービスで、Railsになってからは13年が経過しています。これだけ歴史があればあちこちにガタが来ているのは当然で、無数にある課題に対してどこからどのように取り組んでいくかを最初に決める必要がありました。 まず最初の前提として以下のように考えました。 既存のビジネスや開発を止めるような悪影響を与えない。むしろなるべく早くポジティブな影響を与えていきたい。 これだけ歴史のあるシステムを改善していくのは長い時間がかかる

    食べログの大規模なレガシーシステムを段階的に改善していく取り組み - Qiita
    kyuns
    kyuns 2020/12/27
  • 「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita

    はじめに この記事はシスコ同志によるAdvent Calendarの25日目として投稿しています。 幸いタイトルのような無茶振りには遭ったことはありませんが、シスコではJavaバイトコードを操作する技術を使った監視製品を開発しているので、その技術について記事でサンプルを交えて紹介します。 この記事を読んで出来ること おわかりでしょうか?HelloWorldはAliceに対して挨拶するプログラムだったのに、-javaagent:agent.jarというオプションを付けて実行すると、Malloryに挨拶するプログラムに変わってしまいました。 このカラクリはJVMが読み込んだJavaバイトコードを実行時に書きかえ、変数の値をAliceからMalloryに変えています。HelloWorldのソースコードも、コンパイル後の.classファイルも変えていないにも関わらず、実行時に処理を変更できてしま

    「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita
    kyuns
    kyuns 2020/12/27
    バイトコードインジェクション検知してくれるようなサービスもあるのね