並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 8 件 / 8件

新着順 人気順

try catch throwable phpの検索結果1 - 8 件 / 8件

  • 安全に倒し切るリリースをするために:15年来のレガシーシステムのフルリプレイス挑戦記

    はじめに こんにちは!あっという間に秋が終わり、クリスマスソングが流れる季節がきましたね。 今回は、どうやら多くの人が苦しんでいると聞くレガシーシステムと向き合う話です。 弊チームでは先日、15年来のレガシーシステムを、バグ0でリプレイス&新機能の追加リリースを実施することに成功しました!既存機能の改修ではなく、既存を大きく作り替えつつI/Oも変えるというものだったので、新しい検証方法やリリース手法を組み合わせてリスクを最小限に抑える方法をとりました。 今回は、その予期せぬトラブルを未然に防ぐことができた「安全に倒し切ったリリース」についてお話します。他のプロダクトでも応用可能な方法なので、システム刷新を検討している方の参考になれば幸いです! なぜ安全に倒し切りたいか 私たちが今回触ったのは、前述の通り15年前から存在する、プロダクトの中でも最もレガシーに類される場所です。以前からパフォー

      安全に倒し切るリリースをするために:15年来のレガシーシステムのフルリプレイス挑戦記
    • PHP アプリケーションのトレース計装ではじめる OpenTelemetry 入門 - Shin x Blog

      OpenTelemetry を利用して PHP アプリケーションのテレメトリデータを計装する方法をまとめました。 本エントリのコードは下記で公開しています。 github.com OpenTelemetry とは 用語 PHP アプリケーションのマニュアル計装(手動計装) 構成 OTel Collector Jaeger 動作環境 必要なパッケージ PHP コード 設定 実行 PHP アプリケーションのゼロコード計装(自動計装) 必要な拡張とパッケージ 設定 PHP コード 実行 さいごに 参照 OpenTelemetry とは opentelemetry.io OpenTelemetry は、サービスやアプリケーションのテレメトリーデータ(トレース、メトリクス、ログなど)を計装、生成、収集、送信するためのオブザーバビリティフレームワークです。ベンダーニュートラルな OSS であり、CNC

        PHP アプリケーションのトレース計装ではじめる OpenTelemetry 入門 - Shin x Blog
      • PHP の Carbon をだいたい 3 倍くらい高速化した話 (または composer-patches の使い方) - COLOPL Tech Blog

        こんにちは。 Platform Engineer の工藤です。 今回は PHP で利用される日時ライブラリ nesbot/carbon の速度をだいたい 3 倍くらい高速化した話について紹介させていただきます。 nesbot/carbon について carbon.nesbot.com github.com nesbot/carbon は PHP で日付・時刻を扱うためのライブラリで、 PHP 標準の ext-date を拡張し、より利用しやすい形で提供してくれます。PHP のアプリケーションフレームワークで有名な Laravel でも標準で採用されており、昨今のプロジェクトだと基本入っている場合が多いと思います。 バージョンアップでパフォーマンスが悪化 便利な nesbot/carbon ですが、 Laravel 6 の EOL による Laravel 9 へのアップグレード対応の際、大幅

          PHP の Carbon をだいたい 3 倍くらい高速化した話 (または composer-patches の使い方) - COLOPL Tech Blog
        • 不要なコードや機能を安全に削除していく仕組みを作って18万行削除した話 - Giftmall Inside Blog

          ギフトモール でEngeering Managerをやっている @nori0620 です。 ギフトモール のアプリケーションは7年以上運用しておりコードの肥大化、認知負荷の増大などの課題が出てきています。対応として機能ごとのサービス分割などの対応も進めていますが、この記事ではあえて「モノリシックな部分の不要なコードを減らしていく取り組み」にフォーカスした話をしてみます! この記事の概要の3行まとめ 不要なコードが増えると開発効率/開発体験にネガティブな影響が出る ギフトモールのコードベースは非常に大きく成長しており、その分不要そうなコードや機能が本当に使われていないことを確認するコストも高いことが課題だと感じた 不要そうなコードが実際に使われていないか検知する仕組みを作って、安全に18万行のコードを消せた 不要なコード・機能の存在は、なにが問題なのか 不要なコードはアプリケーションの挙動に

            不要なコードや機能を安全に削除していく仕組みを作って18万行削除した話 - Giftmall Inside Blog
          • エンジニアじゃなくたって現在時刻を自由自在に操ってテストがしたいよ〜〜 with Symfony - OTOBANK Engineering Blog

            こちらは Symfony Advent Calendar 2021 の11日目の記事です。 昨日は @ttskch さんの [Symfony] Securityアノテーションを使って複雑な権限チェックを行う | blog.ttskch でした。 どーも @kalibora です。今回は 「エンジニアじゃなくたって現在時刻を自由自在に操ってテストがしたいよ〜〜(CV: マヂカルラブリー野田) with Symfony」 と題した記事です。 どういう話かといいますと、例えばお正月の1月1日からお正月キャンペーンのようなものをやるとして、画面が1/1の0時から切り替わるけど、それを前もってQAやPdMなどエンジニア以外の人がどうやって簡単にテストするか?みたいな話です。 前半は Symfony に関係ない一般的な話、後半はそれを Symfony でどう実装したか?という2段構えで書かせていただき

              エンジニアじゃなくたって現在時刻を自由自在に操ってテストがしたいよ〜〜 with Symfony - OTOBANK Engineering Blog
            • うつ病を抱えるエンジニアが ChatGPT+Laravel+SQLite で「自分を追い込まない体調管理ツール」を作ってみた話(途中経過) - Qiita

              はじめに この記事は、 去年のアドベントカレンダーの記事 のゆるい続編です。 去年のアドベントカレンダーでは、 うつ病で働けなくなった状態から、就労移行支援を経て LITALICO に入社し、エンジニアとして再スタートを切るまでの経緯を、「ここまで戻ってくるまでの話」として書きました。 あれから1年が経ち、ありがたいことに私は今もエンジニアとして働けています。 もちろん体調がずっと完璧だったわけではなく、しんどい日もたくさんありました。 今年はその後の話として、 どうやって体調と付き合いながら働き続けているか その中で ChatGPT と小さな自作ツールがどんな役割を果たしているか をまとめてみようと思います。 タイトルに「(途中経過)」とつけたのは、これが「うまくいきました!」という完成レポートではなく、まだ試行錯誤の途中だけどここまで来た、という中間報告だからです。 長期就労の過程で見

              • 非フレームワークのPHPアプリケーションの計装に向き合っていたら、ゼロコード計装っぽいものを錬成してしまったのだが…? - kmuto’s blog

                OpenTelemetryのトレースゼロコード計装は、たいていフレームワークの利用を前提としており、PHPも例外ではない。しかし、フレームワークを使わないアプリケーションはいまも広く存在する。そのような状況で、アプリケーションコードにできるだけ手を入れずに計装できるか、しばらく試行錯誤していた。 当初は素朴にNGINXでの計装や一部PHPコードの改変、ライブラリ計装から始めたが、最終的にリクエストに対する「ゼロコード計装っぽいもの」を錬成した気がする。 題材とするアプリケーション ゼロコード計装っぽいものの仕組み 試行錯誤(1):NGINXの計装チャレンジ 試行錯誤(2):PHPコードに直接計装 試行錯誤(3):データベースアクセスの自動計装 試行錯誤(4):auto_prepend_fileとauto_append_fileによる計装の隠蔽 あとがき 題材とするアプリケーション 構成はシ

                  非フレームワークのPHPアプリケーションの計装に向き合っていたら、ゼロコード計装っぽいものを錬成してしまったのだが…? - kmuto’s blog
                • PHP のオートロードはいつ実行されるか - Shin x Blog

                  下記エントリを書いたところ、ではいつオートローダによって PHP ファイルが読み込まれるのかという質問をいただきました。 blog.shin1x1.com このエントリでは、オートロードの仕組みを交えて、どのようなケースでオートローダが実行されるかをまとめました。 なお、このエントリではクラスの名称をクラス名としていますが、これはインターフェイス、トレイト、enumの名称も含んでいます。 オートローダが実行される条件 オートロード関数の登録 オートローダが実行される PHP コード オートローダが実行されない PHP コード 引数によってオートローダが実行される関数 オートローダ実行の仕組み zend_lookup_class_ex() spl_perform_autoload() 型検査 さいごに オートローダが実行される条件 オートローダは以下の条件を満たした時に実行されます。 spl

                    PHP のオートロードはいつ実行されるか - Shin x Blog
                  1