はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    Google I/O

『zenn.dev』

  • 人気
  • 新着
  • すべて
  • データ基盤再設計でレスポンス速度を 40倍高速化し、顧客体験を改善するまでの軌跡

    6 users

    zenn.dev/dinii

    はじめに こんにちは、ダイニーのデータチームのエンジニアをしている kawamitsu です。 ダイニーでは飲食店さま向けのデータ分析プロダクトを提供しています。 本記事では、膨大な店舗データの処理によるアプリケーションのボトルネックを、データ基盤によって解決した事例を紹介します。 先に成果を説明しますが、データ基盤の再設計によりユーザーのデータ分析においてタイムアウトのほぼ全廃と全店舗・任意期間のデータ取得を可能にしました。 この記事を通して、データエンジニアリング × アプリケーションエンジニアリング の開発に少しでも興味を持っていただけたら幸いです。 背景:飲食店におけるデータ活用の重要性 飲食店の経営において、データの活用は重要な経営判断の基盤となります。 注文履歴、決済履歴、監査目的の会計取消・修正履歴など、多岐にわたる情報を、全店舗分まとめていつでもアクセスできる環境が求められ

    • テクノロジー
    • 2025/06/04 16:36
    • performance
    • architecture
    • プロファイラを利用して Node.js サーバーのレスポンス時間を 200 秒 → 20 秒に短縮した話

      169 users

      zenn.dev/dinii

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

      • テクノロジー
      • 2025/05/28 00:29
      • パフォーマンス
      • あとで読む
      • node.js
      • performance
      • javascript
      • システム
      • tuning
      • 開発
      • ライブラリ
      • js
      • AI エージェントを仕組みから理解する

        524 users

        zenn.dev/dinii

        はじめに こんにちは、ダイニーの ogino です。 この記事では、AI エージェントや MCP に入門しようとしている人向けに、エージェントの内部実装について概説します。これを理解することで、現状の AI にできることが明確になり、今後の技術動向を追う上でも役に立つはずです。 本記事の要旨 MCP の表層的なプロトコルには大した意味も革新性も無いので、AI エージェントを理解するにはまずコンテキストを把握しましょう。 素の LLM の能力と、エージェントの実装を切り分ける AI エージェントは、自律的に判断してファイル操作や Web ブラウザなどのツールを使い分けることが可能です。しかし、その基盤となっている LLM にできるのは、テキストを入力してテキストを出力することだけに限られます[1]。 以降では「LLM にできないこと」を掘り下げ、それを補うために AI エージェントがどのよう

        • テクノロジー
        • 2025/05/08 02:29
        • AI
        • あとで読む
        • MCP
        • LLM
        • ツール
        • 開発
        • コマンド
        • Agent
        • 人工知能
        • programming
        • エンジニアのためのコミュニケーションベストプラクティス

          322 users

          zenn.dev/dinii

          ダイニーの urahiroshi です。 自分は前職のメルカリ、現職のダイニーで計3年くらい Engineering Manager を務めてきましたが、Engineering Manager の本質的な役割は「チームや組織のパフォーマンスを最大化すること」だと考えています。そのためには、チーム開発におけるメンバー間のスムーズなコミュニケーションが不可欠です。 これまでコミュニケーションに関するフィードバックを行ってきた中で、よく見られる改善点がいくつかあったため、それらをベストプラクティスとしてまとめてみました(それぞれのセクションで一つずつ本が書けるくらい多数のプラクティスが挙げられるテーマだと思いますが、特に頻出するポイントに絞っています)。皆さんのチーム開発にも役立てていただければ嬉しいです! レビューをするときのプラクティス 指摘にはWhyを書き、Howを押し付けない ❌️ Ba

          • テクノロジー
          • 2025/03/27 20:24
          • コミュニケーション
          • あとで読む
          • エンジニア
          • マネジメント
          • チーム
          • communication
          • 開発
          • development
          • TypeScript の Go 移植に備えて知っておくべきこと

            182 users

            zenn.dev/dinii

            はじめに こんにちは、ダイニーの ogino です。 TypeScript のコンパイラは今まで TypeScript で実装(セルフホスト)されていました。 それが TypeScript 7.0 から、Go による実装に移植され、10 倍高速になります。 本記事は、移植に関して筆者が疑問に感じた点を、GitHub discussion や TypeScript lead architect のインタビュー動画などから調べてまとめたものです。 移行の背景 今回 Go に移植される背景は、大規模な TypeScript コードベースをコンパイルする際のスピードの遅さにあります。 例えば VSCode のコードベース (150 万行) に対して tsc を実行すると、約 80 秒もかかります。 TypeScript のコンパイルは大きく以下の段階に分けられ、その内の check が特に複雑で重

            • テクノロジー
            • 2025/03/18 20:52
            • TypeScript
            • go
            • golang
            • あとで読む
            • Microsoft
            • ツール
            • 開発
            • プログラミング
            • javascript
            • 「読みやすいコード」を依存グラフで考える

              249 users

              zenn.dev/dinii

              はじめに こんにちは、ダイニーの ogino です。 この記事では、コードの読みやすさを比較判断するために役立つメンタルモデルを紹介します。 本記事を読むと、「このコードは良い / 悪い」という感覚が身につき、その理由を自信を持って説明できるようになるはずです。 コードの読みやすさとは何か コードを読む時には大抵、何か特定の目的があります。例えば、 API /foo にリクエストした時の動作を知りたい、ある画面で発生しているバグの原因を知りたい、などです。 この時、コードベースの隅から隅まで読み尽くすのではなく、特定のポイントから出発して関連する箇所を芋蔓式に辿りながら読むはずです。 人が一度に理解して覚えておける情報量には限界があるので、辿らなければいけないコード量が少ないほど当然読みやすくなります。 つまり、ある目的に関連するコードの箇所が局所的かつ明示的であるほどコードは読みやすいと

              • テクノロジー
              • 2025/03/10 20:37
              • プログラミング
              • あとで読む
              • programming
              • 設計
              • アーキテクチャ
              • コード
              • グラフ
              • visualization
              • graph
              • coding
              • 脆弱性報告で GitHub から $4,000 貰った話

                78 users

                zenn.dev/dinii

                はじめに こんにちは、ダイニーの ogino です。 この記事では GitHub の bug bounty で脆弱性を報告し、実際に報奨金を受け取った時の体験を共有します。 私は特にセキュリティの専門家ではなく、偶然に問題を見つけて初めて報告をしました。読者の方が同じようなチャンスに遭遇した時スムーズに行くように、海外からお金を受け取る上での意外なつまずきポイントや、実際に貰える金額などについて紹介します。 どんな問題を見つけたのか 今回見つけたのは、GitHub Copilot の VSCode 拡張機能に関する問題です。 この拡張機能のソースコードは本来公開されていないはずですが、TypeScript のソースマップによって元のコードが露出していました。 そもそも VSCode の拡張機能は .vsix という拡張子の付いたパッケージ形式で配布されます。これは実態としてはただの zip

                • テクノロジー
                • 2025/02/19 21:31
                • github
                • security
                • セキュリティ
                • あとで読む
                • スタートアップでセキュリティを改善していくための手順書

                  67 users

                  zenn.dev/dinii

                  ダイニーの urahiroshi です。 ダイニーはプロダクト・組織ともに拡大中です。プロダクトの利用が広がれば広がるほどセキュリティの重要度も増してきますが、ダイニーにはセキュリティの専門家がおらず、体系立ててセキュリティ対策を実施できていなかったという課題がありました。 この記事では、ダイニーのセキュリティ改善の取り組みを紹介していくことで、ダイニーのようにセキュリティの専門家がいないスタートアップでもセキュリティを改善していく動きができるように後押ししたいと考えています。 ステップ0. 方針の策定 スタートアップの日々の開発業務において、プロダクトの改善やインシデント対策などについてはやりたいことが無数にあります。しかし、そういった目に見えて優先度が高いものを実施しているだけだと永遠にセキュリティ対策ができません。 そこで、まずセキュリティのリスクや優先度を見える化する動きを作り、継

                  • テクノロジー
                  • 2025/02/18 12:55
                  • セキュリティ
                  • あとで読む
                  • 設計
                  • techfeed
                  • security
                  • Cloud Run のログを標準出力に出したらメモリが劇的に節約されてパフォーマンスも良くなった話

                    41 users

                    zenn.dev/dinii

                    テストで満点を取れるようになって、足が速くなって、恋人ができて、インスタンスの安定性も改善されました!!! こんにちは、ダイニーの whatasoda です。ダイニーでは4年以上 Cloud Run を使っていますが、ロギングには @google-cloud/logging-winston を利用しています。これまで Cloud Logging API を直接呼び出す方式で利用してきて特段不便を感じることはありませんでしたが、最近これを Cloud Run の標準出力に書き込む方式へと変更したところタイトルのような効果を得ることが出来ました。(そもそも Cloud Run では標準出力(stdout)に書き込まれたテキストを自動的に Cloud Logging に記録してくれるようになっています。) なお、ダイニーでは NestJS アプリケーションを Node.js で実行しているため、

                    • テクノロジー
                    • 2024/11/20 14:36
                    • logging
                    • あとで読む
                    • cloud
                    • 開発
                    • まとめ
                    • 【React】なぜコンポーネントの中でコンポーネントを作るのは良くないのか?

                      116 users

                      zenn.dev/dinii

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

                      • テクノロジー
                      • 2024/09/06 21:35
                      • react
                      • あとで読む
                      • フロントエンド
                      • techfeed
                      • web制作
                      • 開発
                      • モノレポで JavaScript のローカルパッケージをいい感じにできる『tamashii』というツールを作った話

                        3 users

                        zenn.dev/dinii

                        こんにちは。dinii の whatasoda です。モノレポで JavaScript のローカルパッケージをいい感じにできる『tamashii』というツールを作ったので作るに至った背景や機能についてまとめました。 モノレポとローカルパッケージ dinii では開発に用いる言語を TypeScript に統一しています(こちらでご紹介いただいています!)が、ほぼ全てのプロダクトのソースコードをモノレポで管理しているという特色もあります。 dinii が提供している MO-POS-CRM サービスは 10 近くのプロダクト群から出来上がっているため、モノレポであることは一人のエンジニアがプロダクトを横断して機能開発を行いやすい環境を実現するために非常に重要な意味を持ちます。ここでは深堀りはしませんが、プロジェクト間でバージョンの管理をする際の手間が省けることで開発がしやすかったり、リリースを

                        • テクノロジー
                        • 2024/07/03 13:47

                        このページはまだ
                        ブックマークされていません

                        このページを最初にブックマークしてみませんか?

                        『zenn.dev』の新着エントリーを見る

                        キーボードショートカット一覧

                        j次のブックマーク

                        k前のブックマーク

                        lあとで読む

                        eコメント一覧を開く

                        oページを開く

                        はてなブックマーク

                        • 総合
                        • 一般
                        • 世の中
                        • 政治と経済
                        • 暮らし
                        • 学び
                        • テクノロジー
                        • エンタメ
                        • アニメとゲーム
                        • おもしろ
                        • アプリ・拡張機能
                        • 開発ブログ
                        • ヘルプ
                        • お問い合わせ
                        • ガイドライン
                        • 利用規約
                        • プライバシーポリシー
                        • 利用者情報の外部送信について
                        • ガイドライン
                        • 利用規約
                        • プライバシーポリシー
                        • 利用者情報の外部送信について

                        公式Twitter

                        • 公式アカウント
                        • ホットエントリー

                        はてなのサービス

                        • はてなブログ
                        • はてなブログPro
                        • 人力検索はてな
                        • はてなブログ タグ
                        • はてなニュース
                        • ソレドコ
                        • App Storeからダウンロード
                        • Google Playで手に入れよう
                        Copyright © 2005-2025 Hatena. All Rights Reserved.
                        設定を変更しましたx