並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 59件

新着順 人気順

Cacheの検索結果1 - 40 件 / 59件

  • 2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ

    最近はお客さんとの勉強会でDockerのドキュメントをつまみ食いして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 本エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基本的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整

      2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ
    • ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io

      Intro こういうタイトルを付けるのはあまり好きではないが、あえてこのようにした。 「ブラウザでキャッシュがヒットしない」 以下は、 Web における Caching の FAQ だ。 サーバで Cache-Control を付与したのにキャッシュがヒットしない サーバで ETag を付与したのに If-None-Match が送られない サーバで Last-Modified-Since を付与したのに If-Modified-Since が送られない 先日も、筆者が書いた MDN の Cache セクションで「記述が間違っているのでは?」と同様の質問を受けた。 Issue about the Age response header and the term "Reload" · Issue #29294 · mdn/content https://github.com/mdn/cont

        ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io
      • ブラウザキャッシュの仕組みについてまとめた

        Web開発において、ページの読み込み速度は非常に重要になります。 そのためにもブラウザのキャッシュは効率的なWebサイト運営に不可欠な機能です。 ブラウザのキャッシュには次のHTTPヘッダを設定することができます。 Expiresヘッダ Cache-Controlヘッダ Last-Modifiedヘッダ ETagヘッダ これらのキャッシュには強いキャッシュと弱いキャッシュで分類が可能です。 「Expires」「Cache-Control」は強いキャッシュであり、「Last-Modified」「ETag」は弱いキャッシュに分類できます。 強いキャッシュと弱いキャッシュ 強いキャッシュは設定された期間内は完全にローカルキャッシュを利用して、サーバーへのリクエストを行いません。 一方で弱いキャッシュはキャッシュされたリソースの検証が必要であり、ETagやLast-Modifiedヘッダを利用して

          ブラウザキャッシュの仕組みについてまとめた
        • Google検索でキャッシュ復活へ Internet Archiveとの提携で

          米Googleは9月11日(現地時間)、今年初めに削除したGoogle検索のキャッシュ機能を、Webサイトのアーカイブ図書館を目指す米非営利団体Internet Archiveとの連携で復活させたと発表した。「この機能が完全に展開され、40カ国語で検索できるようになるまでには、1日ほどかかる」としている。 キャッシュ機能は、検索結果に表示されたWebページについて、直接アクセスしなくても、その内容を確認できるというもの。更新されたページの更新前の内容を確認する際などに便利だった。 Googleはこの機能を追加する理由を、「研究コミュニティの人々を含め、多くの人が、利用可能な場合はWebページの以前のバージョンを見ることを重視していることを知っている」ためと説明した。 この機能を使う方法は、検索結果の横にある3つのドットをクリックして表示されるウィンドウで、「このページの詳細」ボタンをクリッ

            Google検索でキャッシュ復活へ Internet Archiveとの提携で
          • 「Google 検索」の結果ページからキャッシュへのリンクが消えた……どうすれば?/「cache:」検索演算子を覚えておくと便利だぞ!【やじうまの杜】

              「Google 検索」の結果ページからキャッシュへのリンクが消えた……どうすれば?/「cache:」検索演算子を覚えておくと便利だぞ!【やじうまの杜】
            • 開発者が知るべきキャッシュ設計でよく遭遇する問題

              はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 Cache penetration DBに存在しない値を検索したときに、DBから返された空の結果をキャッシュしない場合に発生するシナリオです。 このシナリオではDBに存在しない値を繰り返し検索することにより、その値がキャッシュされていないため検索ごとにDBへのアクセスが必要になってしまいます。 存在しない

                開発者が知るべきキャッシュ設計でよく遭遇する問題
              • キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳

                どうもキャッシュバスターズ、 id:Soudai です。 Cache(以下、キャッシュ)は特定の場面に置いて劇的な効果を発揮し、様々な問題を解決する反面、新たなコンポートやミドルウェアが追加され、複雑性が上がり、運用のレベルが上がるため、扱いに注意する必要があります。 キャッシュを活用することで、パフォーマンスの改善や負荷軽減が行われ、コンピュータリソースの最適化によるサーバコストの削減や、レスポンスの改善によるユーザエクスペリエンスの改善がされます。 反面、その劇的な効果に毒され安易に多用すると、サービスが強くキャッシュに依存してしまい、非常に壊れやすくなり、運用が難しくなってしまいます。これをWeb界隈では「キャッシュは麻薬」と比喩されて、戒められてきました。 そのためキャッシュを使わずにサービスが運用できるのであれば使わないに越したことはないのですが、ある一定以上の規模になった際にコ

                  キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳
                • キャッシュと向き合う、キャッシュと共に生きる / cache pattern

                  PHPerKaigi 2024の登壇資料です。 https://phperkaigi.jp/2024/ - https://speakerdeck.com/moznion/pattern-and-strategy-of-web-application-caching - https://sou…

                    キャッシュと向き合う、キャッシュと共に生きる / cache pattern
                  • 一休レストランで Next.js App Router から Remix に乗り換えた話 - 一休.com Developers Blog

                    このエントリーは一休.com Advent Calendar 2023の15日目の記事になります。 CTO 室の恩田です。 現在は一休レストランのフロントエンドのリアーキテクトを手がけています。 今日はその中で Next.js App Router から Remix に乗り換えた話をご紹介したいと思います*1。 背景 6日目の記事で香西から紹介させていただきましたが、2023年10月に一休レストランのスマートフォン用レストラン詳細ページをリニューアルしました。 一休レストランの Rust バックエンドが正式リリースされました。https://t.co/7N4VGv5ej9 このページのスマートフォンビューはバックエンドが Rust で書かれた GraphQL になってます— naoya (@naoya_ito) 2023年10月4日 ちなみにフロントエンドも、旧バージョンは Nuxt v2

                      一休レストランで Next.js App Router から Remix に乗り換えた話 - 一休.com Developers Blog
                    • 実践Immutable Data Model - 紙箱

                      ランキング参加中プログラミング はじめに この記事では、Immutable Data Modelと呼ばれる設計手法をもとに、リレーショナル・データベースにおける、テーブル設計の話を書いています。また、今回の実践で利用する、別の考え方の背景を理解するために、Out of the tar pitという小論文の内容にも言及します。 「状態とは何か?」というややこしい話がたくさん出てきますし、データベースのテーブル設計についての話であることから、たくさんのSQLが出てきます。なので、データモデリングとか状態管理とか、特にSQLとかに興味がない人には面白くないと思います。 そのあたりに興味ある方は、読んでみて欲しいです。 Immutable Data Modelを、実際のアプリケーションで使うデータベースに採用するにあたり、どういう考え方で、どのようにテーブルを構成したか、自分なりの経験を書いていま

                        実践Immutable Data Model - 紙箱
                      • 「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ

                        これは はてなエンジニア Advent Calendar 2023 の 18 日目の記事です。昨日は id:gurrium による private-isuで70万点取るためにやったこと - ぜのぜ でした。私は 50 万点ぐらいで満足してしまっていたので、しっかり詰めていて凄いなと思う。 developer.hatenastaff.com Web アプリケーション開発において、「キャッシュは麻薬」という言葉がインターネット上をよく飛び交っています。YAPC::Kansai OSAKA 2017 の id:moznion のトークでよく知られるようになったワードじゃないかな。 初出はちゃんとは分からないんですが、少なくとも 2011 年には言われていますね。 「キャッシュは麻薬」とはよく言ったものだ。— TOYAMA Nao (@nanto_vi) November 5, 2011 キャッシ

                          「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ
                        • Redisよ安らかに眠れ: Garantia Dataが引き起こしたオープンソースの歴史上最大の強盗とは

                          TL;DR 2024年3月20日Redis社は、これまでオープンソースとして開発してきたRedis 7.4ソースコードのライセンスを、Redis Source Available License (RSALv2)とServer Side Public License (SSPLv1)のデュアルライセンスに変更すると発表しました。この変更によりRedis社の許可なくRedisを用いたマネージドサービスなどを提供することができなくなります。 2009年1人の情熱的なエンジニアAntirezが作り出したRedisですが、2013年のGarantia Data社の介入により様々なドラマが勃発し2020年にAntirezはIPそしてトレードマークを同社に譲渡します。その後、Redisのコアコミュニティメンバーを中心に開発・更新を続け、またAWS ElastiCacheを筆頭にRedisのアダプション

                            Redisよ安らかに眠れ: Garantia Dataが引き起こしたオープンソースの歴史上最大の強盗とは
                          • Google、検索結果からキャッシュへのリンクを削除 「cache:」も近い将来廃止へ

                            Googleが検索結果から、キャッシュされたページへのリンクを削除しました。 検索結果からキャッシュへのリンクがなくなっている 数日前から削除されていると指摘 Google検索ではこれまで、検索結果にキャッシュへのリンクが添えられていました。キャッシュされたページは、当該ページが見られない場合や、当該ページの古いバージョンを見たい場合に利用されていました。 数日前から、検索結果からキャッシュへのリンクがなくなっていると一部で指摘されていました。Googleは公式X(Twitter)アカウントで、ユーザーから「検索結果からキャッシュのリンクはなくなったのか」との問い合わせに、「削除されました」と回答。 「悲しいことです。Googleの最古の機能の1つでした。しかし、キャッシュのリンクはページを表示できないことが多かったときに、ページにアクセスするのを助けるためのものでした。今では大幅に改善さ

                              Google、検索結果からキャッシュへのリンクを削除 「cache:」も近い将来廃止へ
                            • E2Eテストワークフローを高速化・安定化させる取り組み | ドクセル

                              スライド概要 GitHub Actions Meetup Tokyo #3 https://gaugt.connpass.com/event/317178/ このプレゼンテーションでは、サイボウズ社のGaroonのE2Eテストについて、GitHub Actions self-hosted runner 上で実行していたE2Eテストを高速化・安定化させるために取り組んだこと、E2Eテストワークフローの視点の改善アイディアについて話されます。GaroonのE2Eテストにおける実行時間とFlakyが問題となっており、その改善に取り組んだ内容が紹介されています。 おすすめタグ:GitHub Actions,E2Eテスト,self-hosted runner,Garoon,テストワークフロー

                                E2Eテストワークフローを高速化・安定化させる取り組み | ドクセル
                              • fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について - mizdra's blog

                                TL;DR あるリソースの fetch 中にページ遷移すると、一部ブラウザでは fetch が中断される 中断されると、TypeError が throw される ページ遷移時は、ブラウザによって遷移前のページの実行が"停止"され、"捨てられる"ので、通常 throw された後のことは考えなくて良い しかし、そのページが Back/Forward Cache から復元されうるなら、話は別 ブラウザバックすると、エラーが throw された後からページが再開される!!! そして発生する、奇妙な現象の数々... はじまりは、あるサービスの不具合報告 ある日、「Webサービスから外部サービスにページ遷移した後、ブラウザバックで戻ると、エラー画面が表示される」という不具合が報告された。どうも Webサービスの ErrorBoundary で何かしらのエラーが catch され、それによってエラー画

                                  fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について - mizdra's blog
                                • RedisをフォークしたインメモリDBの「Valkey」、次期バージョンでは性能が2倍以上に

                                  オープンソースの代表的なインメモリデータストア「Redis」のフォークとしてLinux Foundation傘下で開発が進められている「Valkey」は、AWSやGoogle Cloud、Oracle Cloudなどへの採用が始まっています。 参考:Google Cloud、Redisをフォークした「Valkey 7.2」のマネージドサービス「Memorystore for Valkey」プレビュー版を開始 8月2日に、フォーク後の最初のメジャーバージョンとなる「Valkey 8.0」のリリース候補版が公開されたのに合わせて、Valkey 8.0で予定されている性能や機能の向上についての記事「Valkey 8.0: Delivering Enhanced Performance and Reliability」がValkeyのブログに投稿されました。 その内容から、Valkey 8.0の主

                                    RedisをフォークしたインメモリDBの「Valkey」、次期バージョンでは性能が2倍以上に
                                  • Next.jsを初心者向けツールとして捉えている自分が、実践 Next.js を読んでみて

                                    Next.jsを初心者向けツールとして捉えている自分が、実践 Next.js を読んでみて2024-03-28 この記事は 実践 Next.js の書評です。 見本誌を頂いた上での記事です。(PR記事?) tl;dr App Router のメリットを理解しつつも、学習コストに割り合わないと思っている人にオススメ!ドキュメントを読めるようになるし、学習コストが下がる。 はじめに 自分はどちらかというと今の Next.js に対しては否定的な感情の割合の方が高く、仕事で困らない程度の最低限の知識しか持っていない。 しかし、なんだかんだ勉強の必要性に駆られていて、そのキャッチアップとして同書の発売を楽しみにしていた。 そんな折に @takepepe さんから見本誌をいただいたことで、この週末に読んだので書評を書きたい。 俺は今のNext.jsが好きではない 書評を書く前にポエム書かせてくれ!

                                      Next.jsを初心者向けツールとして捉えている自分が、実践 Next.js を読んでみて
                                    • 3Dモデルの配信サーバーでRustとZstandardを採用して数倍のパフォーマンス向上を実現した - pixiv inside

                                      はじめに こんにちは、VRoid部所属のエンジニアのyueです。 この度VRoid Hubで3Dモデルの配信サーバーの見直しを行い、技術選定から始めRustとZstandard (zstd)を採用した実装に切り替えました。 結論から見るに従来のNode.js製サーバーと比べて以下のことを実現しました。 最大のレスポンス時間が 1.5 ~ 2.5s から 300 ~ 400msまで低下 平均のレスポンス時間が 700 ~ 800ms から 150 ~ 200msまで低下 サーバーのCPU使用率が ~ 50% から ~ 10%まで低下 docker image のサイズが ~ 346mb から ~ 21mb程度まで削減 配信されるファイルサイズが平均 10 ~ 20% 軽量化されました レスポンス時間 CPU使用量 (上からAVG(MAX), AVG, AVG(MIN)) メモリー使用量に関し

                                        3Dモデルの配信サーバーでRustとZstandardを採用して数倍のパフォーマンス向上を実現した - pixiv inside
                                      • キャッシュ制御の観点で見る CloudFront - NRIネットコムBlog

                                        本記事は AWSアワード記念!夏のアドベントカレンダー 7日目の記事です。 🎆🏆 6日目 ▶▶ 本記事 ▶▶ 8日目 🏆🎆 すっかり夏ですね、単純に嫌です。 日が落ちないと外に出るのも厳しい暑さですが皆様いかがお過ごしでしょうか。 西です。 今年は無事 2024 Japan AWS All Certifications Engineer に残れましたので AWSアワード記念!夏のアドベントカレンダー 7 番手です。 はたしていつまで All Certifications Engineer に残り続けられるのでしょうか。 さて、本題です。 今回も例によって Amazon CloudFront (CloudFront) についての記事です。 CloudFront はリクエストのあった Web コンテンツをキャッシュすることが主な役割です。 しかし、コンテンツにはキャッシュして良いものと

                                          キャッシュ制御の観点で見る CloudFront - NRIネットコムBlog
                                        • asdfコンパチのバージョン管理ツールrtxがmiseにリネームされていた - Acme::AnaTofuZ->new;

                                          TL;DR asdf互換のRust製のバージョン管理ツールのrtxがmiseにリネームされてるよ brewもrtxではもう入らなくなっている(miseが入る) すでにrtxをbrewで入れていた場合はbrew upgrade時にmiseが自動でインストールされ、rtxが消される rtxにエリアスが貼られてるとかはないので、シェルスクリプト中のrtx表記は一律miseにリネームする必要がある miseの初回起動時にrtxのディレクトリからmiseにマイグレーションが自動で行われる ただしPythonなどはパスが変わってると動かなくなるので、人によっては入れ直しまたはマイグレーション前のディレクトリを環境変数で指定すること 詳細 いつものようにbrew updateとbrew upgradeをしたところ、rtxのコマンドが見つからない系のエラーがでた。 おいおいおいと思ってwhere rtxと

                                            asdfコンパチのバージョン管理ツールrtxがmiseにリネームされていた - Acme::AnaTofuZ->new;
                                          • 危険なCookieのキャッシュとRailsの脆弱性CVE-2024-26144 | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ

                                            高度診断部アプリケーションセキュリティ課の山崎です。 弊社エンジニアの名古屋と山崎がRuby on RailsのActive Storageの脆弱性CVE-2024-26144を報告しました。 本脆弱性はRailsの5.2.0から7.1.0のバージョンに影響するもので、お使いのRailsのバージョンが最新でない場合にはアップデートを推奨します。 本記事では本脆弱性の注意点と、関連してCookieのキャッシュに関する調査内容を紹介します。 TL;DR ・ Set-Cookieヘッダがキャッシュされると別人ログイン問題が発生する ・ RailsのActive StorageでSet-Cookieヘッダがキャッシュ可能な設定であった(CVE-2024-26144) ・ Nginx(+ Passenger), Apache(+ mod_cache)等のキャッシュ機構と合わせて利用すると実際に事故が

                                              危険なCookieのキャッシュとRailsの脆弱性CVE-2024-26144 | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ
                                            • Linux Foundation Launches Open Source Valkey Community

                                              5 MIN READ Linux Foundation Launches Open Source Valkey Community The Linux Foundation | 28 March 2024 Community maintainers, contributors, and users will continue collaborative development of an open source, in-memory data store under the new Valkey name. SAN FRANCISCO – MARCH 28, 2024 – Today, the Linux Foundation announced its intent to form Valkey, an open source alternative to the Redis in-me

                                                Linux Foundation Launches Open Source Valkey Community
                                              • Google Chromeで特定のサイトのキャッシュクリアする方法

                                                EC担当の齊藤です。 サイト修正後の確認に必要なキャッシュクリア。 クライアントに修正後、確認を依頼したもののキャッシュクリアすることをお伝えし忘れて「修正されてないよー!」と連絡をいただいてしまうなんて経験、エンジニアにはあるあるなのではないでしょうか。 (齊藤はあるあるです。) ブラウザ全体のキャッシュクリアしてしまうとログイン状態が解除されたり、ブラウザで保存していたID・パスワードが削除されてしまうことがあります。 特定のサイトのみキャッシュクリアする方法をご紹介します。 まずはキャッシュクリアしたいサイトを開きます。 デベロッパーツールを開きます。 Windowsでは「F12キー」もしくは「Ctrl + Shift + I」 Macでは「Ctrl + Shift + C」で開きます。 デベロッパーツールを開いた状態で更新ボタンを長押しします。 長押ししていると選択肢がでてくるので

                                                  Google Chromeで特定のサイトのキャッシュクリアする方法
                                                • Microsoft、次世代高速キャッシュストアシステム「Garnet」をオープンソースとして公開 | gihyo.jp

                                                  Microsoft⁠⁠、次世代高速キャッシュストアシステム「Garnet」をオープンソースとして公開 Microsoftは2024年3月18日、同社の研究所が開発を進めてきた次世代の高速キャッシュシステム「Garnet」をGitHub上でオープンソースとして公開した。 Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services -Microsoft Research Blog Garnet is a cache-store system that addresses growing demand for data storage to support interactive web applications and se

                                                    Microsoft、次世代高速キャッシュストアシステム「Garnet」をオープンソースとして公開 | gihyo.jp
                                                  • OPcache オペコードキャッシュの仕組み - Shin x Blog

                                                    本エントリでは、PHP の内部実装(php-src)から OPcache のオペコードキャッシュの仕組みを見ていきます。 OPcache にはいくつかの機能がありますが、ここでは共有メモリへのオペコードキャッシュと preload が対象です。ファイルベースのキャッシュと JIT については触れません。 サマリ オペコードキャッシュ preload オペコードキャッシュと preload の比較 オペコードキャッシュ キャッシュデータレイアウト グローバル変数、マクロ キャッシュデータ構造体 オペコードキャッシュ: ZCSG(hash) キャッシュエントリ: zend_accel_hash_entry キャッシュデータ初期化 OPcache 処理の有効化 PHP ファイルコンパイル処理でのキャッシュ制御 persistent_compile_file() の主な処理 zend_accel_

                                                      OPcache オペコードキャッシュの仕組み - Shin x Blog
                                                    • GitHub ActionsでファイルをS3にキャッシュするアクションを作りました - プログラムモグモグ

                                                      GitHub Actionsでは依存パッケージやビルド結果などをうまくキャッシュすることで、テストやビルドの時間を短縮できます。 actions/setup-nodeやactions/setup-javaなどの各言語のオフィシャルアクションは各パッケージマネージャーのためのキャッシュ機構を提供していますし、actions/cacheを使って任意のファイルをキャッシュすることもできます。 これらは内部で@actions/cacheパッケージを使っており、キャッシュの機構はGitHub自身の機能と密に結びついています。 しかし、GitHub Actionsのキャッシュはリポジトリごとに10GBまでという制限があり、開発者の多いリポジトリではsetup-nodeのキャッシュだけでもすぐに上限に達してしまいます。 私の所属するチームのリポジトリはGitHub Enterprise Serverにホ

                                                        GitHub ActionsでファイルをS3にキャッシュするアクションを作りました - プログラムモグモグ
                                                      • 並行キャッシュライブラリーの開発で得られた知見

                                                        Rust.Tokyo 2023カンファレンスの発表スライドです。 The slides for my talk at Rust.Tokyo 2023 conference. Written in English and Japanese.

                                                          並行キャッシュライブラリーの開発で得られた知見
                                                        • Goの自動テスト高速化のための調査と改善手法 - Cluster Tech Blog

                                                          はじめに こんにちは、クラスター株式会社でソフトウェアエンジニアをやっているid:shiba_yu36です。 クラスターではGoの自動テストをCircleCIで実行しています。入社して以降、この自動テストの実行時間が少し長いと感じたため、調査と改善を進めてきました。結果として速度を改善できたので、この記事でGoの自動テスト高速化のための調査と改善手法について共有したいと思います。 はじめに Goの自動テストで課題だったこと 最終的な結果 自動テスト高速化の流れ テスト実行時間のボトルネックを調査する CircleCIのTIMINGタブで大まかなボトルネックを調査する make testのボトルネックを調査する 高速化でやるべきことを決定する 1つずつ改善し結果を計測する go generateの成果物をレポジトリにcommitし自動テスト上では実行しない: 2分短縮 ビルドキャッシュを用い

                                                            Goの自動テスト高速化のための調査と改善手法 - Cluster Tech Blog
                                                          • PerformanceResourceTiming API で HTTP Cache のヒット率を知る - Repro Tech Blog

                                                            はじめに こんにちは、Repro Booster という製品の開発責任者/プロダクトマネジメントを担当しているEdward Fox(edwardkenfox)です。 WebサイトやWebアプリケーションの表示速度を考える上では、キャッシュの活用はとても大事なテーマです。一口にキャッシュといっても、Webの文脈だけで見ても様々なレイヤーや用途のキャッシュが存在します。今回は昔ながらのキャッシュ、いわゆる HTTP Cache に的を絞り、HTTP Cache のヒット率について考えてみたいと思います。 さまざまなキャッシュレイヤー 前述のように、Webにおけるキャッシュには用途やレイヤーの異なる様々な種類のものが存在します。Webサイト/Webアプリケーションを開発する上で気にかけるべきものは、おおよそ次のようなものが該当するでしょう。 HTTP Cache (ブラウザキャッシュ) Cach

                                                              PerformanceResourceTiming API で HTTP Cache のヒット率を知る - Repro Tech Blog
                                                            • Amazon ElastiCache Serverless for Redis and Memcached is now available | Amazon Web Services

                                                              AWS News Blog Amazon ElastiCache Serverless for Redis and Memcached is now available Today, we are announcing the availability of Amazon ElastiCache Serverless, a new serverless option that allows customers to create a cache in under a minute and instantly scale capacity based on application traffic patterns. ElastiCache Serverless is compatible with two popular open-source caching solutions, Redi

                                                                Amazon ElastiCache Serverless for Redis and Memcached is now available | Amazon Web Services
                                                              • [Go言語] gin と singleflight を組み合わせた試行錯誤と実装例 - Techtouch Developers Blog

                                                                singleflight とは gin とは Middleware Context 2つの実装例 1. 同期待ち方式 2. 非同期待ち方式 まとめ こんにちは。SRE 兼 テックブログ編集長の izzii です。毎年お盆休みに連泊で登山するのですが今年は台風の影響で行けませんでした。悲しい! さて、本記事ではパフォーマンス最適化の文脈で登場することの多い singleflight と、ウェブフレームワーク gin を組み合わせた実装例を紹介します。要素技術の概要とモチベーションに触れつつ、試行錯誤についてもお話しします。実装に関しては結局妥協が必要であり正解の形がないので GitHub で公開という形ではなく、ブログを通して自分の考えた2つの実装を紹介することにしました。この記事は Go に関する基礎知識を必要とします。 singleflight とは 複数のスレッド(go routine

                                                                  [Go言語] gin と singleflight を組み合わせた試行錯誤と実装例 - Techtouch Developers Blog
                                                                • UberのCacheFront:レイテンシーを大幅に削減し、毎秒4000万件の読み取りを可能に

                                                                  Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                    UberのCacheFront:レイテンシーを大幅に削減し、毎秒4000万件の読み取りを可能に
                                                                  • やっとわかる!Next.js App Routerのcacheにおけるrevalidateと苦戦した話

                                                                    こんにちは。ココナラテックエージェントの開発をしているエンジニアのみんです。 新技術が常に登場しているフロントエンドの開発で、時代の波に乗り、キャッチアップすることが我々エンジニアの使命です。 ココナラテックエージェントのフロントエンドは Next.js アプリケーションです。2023年の9月から、App Routerへの移行を始めています。 つい9月末に、ココナラテックエージェントの案件一覧ページをApp Routerに移行しました! 案件一覧と検索を含め、案件まわりのキャッシュ再検証(revalidate)の実装に全身全霊を注いだ成果をシェアしたくて、この記事を書きました。 App Routerのキャッシュ種類 Next.jsは、レンダリングの効率を上げるために、オプション指定がない場合に全てのリクエスト結果をキャッシュする方針です。 公式ドキュメントによると、App Routerのキ

                                                                      やっとわかる!Next.js App Routerのcacheにおけるrevalidateと苦戦した話
                                                                    • GitHub - microsoft/garnet: Garnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with exis

                                                                      Garnet is a new remote cache-store from Microsoft Research, that offers several unique benefits: Garnet adopts the popular RESP wire protocol as a starting point, which makes it possible to use Garnet from unmodified Redis clients available in most programming languages of today, such as StackExchange.Redis in C#. Garnet offers much better throughput and scalability with many client connections an

                                                                        GitHub - microsoft/garnet: Garnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with exis
                                                                      • Next.js App Router キャッシュの今

                                                                        先日Vercelから「Next.js App Router Caching: Explained!」というタイトルの動画が公開されていたので、その内容をまとめることでNext.jsのキャッシュの今について整理しておこうと思います。 基本 まずNext.jsでは、静的レンダリングがデフォルトです。RSCを使用していても基本的にはビルド時にページが事前レンダリングされます。これはRoute Handlersも同様です。仮にビルド後にデータを更新してもリビルドしない限り表示は古いままであり、これは静的にレンダリングされていると言えます。 ただし、developmentとproductionでは挙動が異なります。ローカルではコードに変更を加えるたびにデータが再取得・レンダリングされるので、ローカルとビルド後の挙動に違いがあることを理解しておきましょう。 リクエストするたびに最新のデータを取得し表示

                                                                          Next.js App Router キャッシュの今
                                                                        • アップルの「次世代の半導体戦略」が見える「M3チップ」独特の設計とは

                                                                          アップルはMacBook ProおよびiMacの新製品を発表した。これらで使われているのが、同社の新プロセッサー「M3」シリーズだ。 アップルがMacに独自開発プロセッサを使うようになって3年が経過し、M1からM3へと世代交代している。 世代を追ってプロセッサーが性能アップしていくのはマーケティング上も当然のことで、そのこと自体に驚きはない。 だがよく見ると、無印・Pro・Maxという3つのバリエーションも、実は細部を見ると過去とは少し変わった状況がある。 取材のなかから見えてきたのは、アップルの新しい半導体戦略だ。

                                                                            アップルの「次世代の半導体戦略」が見える「M3チップ」独特の設計とは
                                                                          • cache を最適化して RuboCop の CI 実行時間を劇的に改善した話 - JMDC TECH BLOG

                                                                            こんにちは、プロダクト開発部の八杉です。JMDC では主に web フロントエンドの実装や設計を中心に行っているほか、最近は Rails の GraphQL モジュールの設計や CI の最適化にも取り組んでいます。 本記事は JMDC Advent Calendar 2023 11日目の記事です。 qiita.com この記事では、 RuboCop を CI で実行した際に遭遇した cache にまつわる 3 つの問題とその対処について紹介します。 背景 今回お伝えするのは、私が開発に携わる Pep Up (ペップアップ) という web サービスの話です。 Pep Up は Ruby on Rails 製のアプリケーションで、コードフォーマッターに RuboCop を使用しています。8 年前の開発初期から使用していますが、違反のチェックを厳格に行っていなかったこともあり、ここ数年はフォー

                                                                              cache を最適化して RuboCop の CI 実行時間を劇的に改善した話 - JMDC TECH BLOG
                                                                            • SIEVE: an Efficient Turn-Key Eviction Algorithm for Web Caches - SIEVE is simpler than LRU

                                                                              SIEVE is simpler than LRU¶ Caching is a method of storing temporary data for quick access to keep the online world running smoothly. But with limited space comes a critical decision: what to keep and discard. This is where eviction algorithms come into play. Our team recently designed a new cache eviction algorithm called SIEVE: it is very effective and simple with just one queue. Website Paper Up

                                                                              • The State of Open Source Funding

                                                                                Join me for a walk through Open Source Funding 101: an examination of how money flows through the ecosystem to open source maintainers. Versions of this…

                                                                                  The State of Open Source Funding
                                                                                • YAPC::Hiroshima 2024の前夜祭でキャッシュバスターズは何を話すのかChatGPT 4に予想させてみた - YAPC::Japan 運営ブログ

                                                                                  あけましておめでとうございます、YAPC::Hiroshima 2024 スタッフの id:Pasta-K です。 前夜祭内で行われるスペシャルパネルディスカッション 「Cache-Control: max-age=86400」 に関連して、キャッシュバスターズのお2人( id:onk, id:Soudai )からそれぞれキャッシュに関する記事が公開されました。 onkさんの記事では 十把一絡げに「麻薬」と言うのではなく、キャッシュをパターン化して乗りこなすというのが望ましい姿でしょう。現代的な Web アプリケーション開発において、キャッシュを使うのはむしろ前提としないと機能しないと私は考えます。 という上でキャッシュと上手く向き合うためのパターン化について紹介されていました。 Soudaiさんの記事では、 『失敗から学ぶRDBの正しい歩き方』 第16章 キャッシュ中毒 でもキャッシュを

                                                                                    YAPC::Hiroshima 2024の前夜祭でキャッシュバスターズは何を話すのかChatGPT 4に予想させてみた - YAPC::Japan 運営ブログ