タグ

ブックマーク / zenn.dev/dinii (2)

  • プロファイラを利用して Node.js サーバーのレスポンス時間を 200 秒 → 20 秒に短縮した話

    どんな問題を解決したのか こんにちは、ダイニーの ogino です。 ダイニーでは、飲店向けのクラウド POS レジを開発しています。その機能の一つとして、一ヶ月分の売上などの情報を印刷できる「月締伝票」があります。 月締伝票のサンプル 月締伝票に記載するデータは、Node.js バックエンドで集計をしています。この API はダイニーのバックエンド全体の中で最も重く、最近では一部店舗でレスポンスに 200 秒以上かかりタイムアウトエラーが発生していました。 その結果、月締伝票を発行することができないため顧客の業務に支障をきたし、複数の問い合わせが来ている状態でした。 プロファイラやログを手掛かりに調査したところ、ボトルネックを 2 行のコードだけに特定し、ほぼコストをかけずにレスポンス時間を 20 秒ほどに改善することができました。 改善リリース前後のレスポンス時間の変化 ボトルネック

    プロファイラを利用して Node.js サーバーのレスポンス時間を 200 秒 → 20 秒に短縮した話
  • 【React】なぜコンポーネントの中でコンポーネントを作るのは良くないのか?

    こんにちは、ダイニーの Feature team でソフトウェアエンジニアをしている @ta21cos です。 最近は新規事業である決済関連の機能の開発をメインに行なっています。 ダイニーにおける Feature team は機能にフォーカスした開発・運用を行っているチームです。最近は複数の事業毎に Unit として分かれて開発を進めています。 日は、普段の開発で実際にあった Pull Request のレビューコメントから得た学びについて紹介します。 Dialog を実装しよう React を使ってある Dialog を作成するため、以下のようなコードを書きました(コードは簡略化しています)。 // useSample ファイル // 内部でロジックと Dialog を同時に定義している hook const Dialog = memo<{ progress: number, ...

    【React】なぜコンポーネントの中でコンポーネントを作るのは良くないのか?
  • 1