並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 64件

新着順 人気順

cacheの検索結果1 - 40 件 / 64件

  • ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | 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 検索」の結果ページからキャッシュへのリンクが消えた……どうすれば?/「cache:」検索演算子を覚えておくと便利だぞ!【やじうまの杜】

          「Google 検索」の結果ページからキャッシュへのリンクが消えた……どうすれば?/「cache:」検索演算子を覚えておくと便利だぞ!【やじうまの杜】
        • HTTPキャッシュを使いこなして、Webアプリを快適に(1) | IIJ Engineers Blog

          セキュリティ本部 セキュリティ情報統括室に所属 システム開発者。2000年問題で「2038年問題は定年で対応しなくていい!」とフラグを...。 cats_dogs開発者のヒラマツです。 HTTPキャッシュをうまく使う技術、HTTPキャッシュ制御を解説します。 HTTPキャッシュは、WebアプリなどのWebサービスの通信を最適化する技術です。 HTTPのCache-Controlヘッダーの使い方の話でもあります。 HTTPキャッシュ制御と言っても、Cache-Controlヘッダーの設定だけなので、簡単そうに思えます。 しかし、正しく設定しようとすると、案外、複雑で苦労します。 また、理解なしに使うと、情報漏えいの問題を起こす可能性もあり、適当に設定するのは危険です。 ぜひ、この文章を読んで、理解した上で、Catch-Controlを設定してください。 cats_dogsの仕様を書くときに、

            HTTPキャッシュを使いこなして、Webアプリを快適に(1) | IIJ Engineers Blog
          • node_modulesの問題点とその歴史 npm, yarnとpnpm

            皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

              node_modulesの問題点とその歴史 npm, yarnとpnpm
            • 開発者が知るべきキャッシュ設計でよく遭遇する問題

              はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 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://soudai.hatenablog.com/entry/cache-strategy

                    キャッシュと向き合う、キャッシュと共に生きる / cache pattern
                  • キャッシュ入門 - Qiita

                    概要 モダンなウェブアプリケーションを開発していくにあたり、サービスのパフォーマンスを向上したいと思うケースってよくありますよね。 きっとその際に、インメモリデータストアとキャッシュ技術を利用し高速なパフォーマンスを実現することも解決策の1つになると思います。 Memcached や Redis、AWSを利用していればそれらソフトウェアの互換性のあるフルマネージドサービス Amazon ElastiCacheなどを利用しているんじゃないでしょうか。 今回は、そんなキャッシュ技術について、そもそもキャッシュってなんだっけを改めて振り返る記事となっております。 ※本記事は Umer Mansoor さんが執筆されたBrief Overview of Caching and Cache Invalidationの内容を基に翻訳し、加筆、独自解釈したものです。 ※ Umer Mansoor さんか

                      キャッシュ入門 - Qiita
                    • 実践Immutable Data Model - 紙箱

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

                        実践Immutable Data Model - 紙箱
                      • 一休レストランで 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
                        • 今からDockerを始める人へ!Docker Initがアツい!

                          package main import ( "net/http" "github.com/labstack/echo/v4" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }) e.Logger.Fatal(e.Start(":1323")) } # syntax=docker/dockerfile:1 # Comments are provided throughout this file to help you get started. # If you need more help, visit the Dockerfile reference guide at # https://docs.

                            今からDockerを始める人へ!Docker Initがアツい!
                          • 「キャッシュは麻薬」という標語からの脱却 - 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が引き起こしたオープンソースの歴史上最大の強盗とは

                              Khawaja Shams Tony Valderrama Erika Tharp 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のコアコミュニティメンバーを中心に

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

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

                                  Google、検索結果からキャッシュへのリンクを削除 「cache:」も近い将来廃止へ
                                • なんでbun installは速いのか?

                                  ⚡️ 25x faster — Switch from npm install to bun install in any Node.js project to make your installations up to 25x faster. https://bun.sh/docs/cli/install という記述を見かけて直感的に、そうはならんやろと思ったものの実際にベンチマークをしているのでどういうことなのかを気になって調べた。 A global install cache. bun installを実行すると ~/.bun/install/cache/ 以下にnpmレジストリからダウンロードされたファイルの実体が展開されキャッシュされる(--cache-dirでパスを変更できる)。 キャッシュにはパッケージのバージョンごとのディレクトリとlatestのシンボリックリンクがある。こ

                                    なんでbun installは速いのか?
                                  • 続・HTTPキャッシュを使いこなして、Webアプリを快適に(1) | IIJ Engineers Blog

                                    ディレクティブは、,(カンマ)で区切って、複数指定が可能です。 例えば、max-age=3600とmust-revalidateの2つのディレクティブを指定するときは、以下のように書きます。(ディレクティブの個々の意味は、後ほど説明するので、まだ解らなくて大丈夫です。) ただし、複数指定する場合は、矛盾しないように指定する必要があります。(矛盾する組み合わせの動作は未定義なので) そして、互換性のため、ブラウザやプロキシが未対応のディレクティブは、無視する決まりがあります。この動作のおかげで、古いブラウザは新しいディレクティブを無視できるので、ブラウザがおかしくなることは防げます。 RFCやMDNにも、この説明の例として、互換性のため、類似効果のディレクティブを並記する例が書かれていたりします。 ですが、この方法で、古いシステムとの互換性を考え出すとどんどん複雑になります。 現実的に考えて

                                      続・HTTPキャッシュを使いこなして、Webアプリを快適に(1) | IIJ Engineers Blog
                                    • 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
                                      • 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 を読んでみて
                                        • ServiceWorkerの落とし穴8選 - Repro Tech Blog

                                          はじめに Reproで開発を担当しているEdward Fox (edwardkenfox) です。2021年頃から Repro Booster というプロダクトの立ち上げに携わっており、開発を通して得た知見を共有できればと思い立ち筆を取るに至りました。4年ぶりのテックブログ執筆で少しばかり緊張していますが(?)、張り切ってやっていこうと思います。 Repro Boosterとは 2022年11月に正式リリースした、ウェブサイトの表示速度向上を実現するサービスです。「タグを入れたその日から、Webサイトが速くなる」というタグラインのもと、タグ(JavaScript)の設置だけでウェブサイトの表示速度が簡単に実現できるということで、リリース以来多くのお客様・サイトでご利用いただいています。 Repro BoosterではServiceWorkerと呼ばれる技術を最大限活用して多くの機能が実現さ

                                            ServiceWorkerの落とし穴8選 - Repro Tech Blog
                                          • 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
                                            • 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;
                                              • ブラウザの戻る/進むを高速に!ヤフーにおけるBFCache有効化に向けた取り組み

                                                ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、第11/12代黒帯(ヤフー内のスキル任命制度/Webフロントエンド領域)の浜田(@narirow)と、Yahoo!ニュースのエンジニアの喜楽(@gladenjoy)です。今回は、ヤフーで対応をすすめてきた、BFCacheの有効化にむけた取り組みについてお話しします。BFCacheとはそもそも何か、有効化のボトルネックには何があるか、そして調査方法などの具体的な手法などを交えてご紹介します。 ヤフーではこれまでスムーズなユーザー体験を実現するべく、高速にページを表示できるBFCache技術の検証と、BFCacheの有効化率を上げる取り組みを行ってきました。その結果、Yahoo!ニュースでの検証では、PVが+2%向上、広告

                                                  ブラウザの戻る/進むを高速に!ヤフーにおけるBFCache有効化に向けた取り組み
                                                • HTTPのキャッシュを無効化するAPIの標準化する提案仕様 - ASnoKaze blog

                                                  CDNはキャッシュをパージする機能をよく有しています。そのキャッシュの無効化(もしくはパージ)を要求するためのAPIを標準化するための『An HTTP Cache Invalidation API』という提案仕様がIETFに提出されています。 この 提案仕様は、HTTP界隈では著名な Mark Nottingham氏による提案です。まだ最初の提案であり、来月あるIETF会合で紹介があるものと思われる。 An HTTP Cache Invalidation API この仕様では、次のペイロードを含むPOSTを送ることで、キャッシュの無効化を要求できる { "type": "uri", "selectors": [ "https://example.com/foo/bar", "https://example.com/foo/bar/baz" ], "purge": true } type:

                                                    HTTPのキャッシュを無効化するAPIの標準化する提案仕様 - ASnoKaze blog
                                                  • お財布に優しいCI改善小ネタ集 - メドピア開発者ブログ

                                                    こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 今回はRailsシステムのCI時間をコスト追加なしで半減した話をします。 目次 前提 対象プロジェクト CIの状況 改善結果 改善内容 前提知識: CIのキャッシュ機能 webpack buildのキャッシュを活用 RuboCopのキャッシュを活用 ESLintのキャッシュを活用 Jestのキャッシュを活用 RSpec Jobをテスト特性ごとに分割 CircleCIのリソースクラスと並列数の最適化 採用しなかった・見送った改善候補 HAML-Lint, Fasterer, Brakemanのキャッシュを活用 Stylelintのキャッシュを活用 bootsnapを活用 Jestの

                                                      お財布に優しいCI改善小ネタ集 - メドピア開発者ブログ
                                                    • npm ciのキャッシュ方式の検討

                                                      結論から言うと、node_modulesをキャッシュしてnpm ciの実行を省略するのが、多くの場合には有効そうです。 はじめに CIで npm ci を使うとき、実行時間短縮のためにキャッシュの利用を検討することになると思います。このとき、どのようにキャッシュするのが良いのでしょうか? よく知られているキャッシュ方式として、以下の二通りの方式があります。 ~/.npmをキャッシュする方式 node_modulesをキャッシュする方式 それぞれの違いについて、詳しく見てみましょう。 ~/.npmをキャッシュする方式 npm ci を実行すると、POSIX系のOSではデフォルトで ~/.npm にキャッシュデータが書き込まれます。package-lock.json をキーにこのディレクトリをキャッシュしておくことで、次回以降の npm ci 実行時にこのキャッシュデータを利用しよう、というの

                                                      • Google Chromeで特定のサイトのキャッシュクリアする方法

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

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

                                                          6 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

                                                          • 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
                                                            • LINEはなぜBazelを使わないことにしたのか?

                                                              Jung Giuk2023-08-292019年 LINE に Build Engineerとして入社し、現在は「アプリプラットフォーム開発室」のディベロッパーエクスペリエンス開発チームに携わっていて LINE iOSアプリのビルド環境やコードクォリティの改善に取り組んでいる。 はじめに こんにちは、ディベロッパーエクスペリエンス開発チームのJungです。 この記事では2年以上 LINE iOSのビルドシステムとして運用したBazelをやめることにした背景についてご紹介します。 Bazel導入とこれまでのLINE iOS LINE iOS は200万行以上のソースコードと200以上のモジュールで構成される大規模プロジェクトです。 LINE iOSのソースコードとモジュールの数が増えて規模を拡大し続けるにつれて、ビルド/テストの遅延と DX(デベロッパーエクスペリエンス) の低下という避けら

                                                                LINEはなぜBazelを使わないことにしたのか?
                                                              • 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
                                                                    • Next.js の fetchCache を考える

                                                                      Next.js App Router は global のfetch関数に patch をあてており、自動でデータ取得が最適化されるように設計されています。そのうちの一つが、取得したデータをキャッシュし、再利用する最適化です。キャッシュされた取得データは、必要に応じて任意のタイミングで Revalidate(データ再取得・キャッシュ更新)が可能です。本稿はこのfetch関数を経由してキャッシュされる「fetchCache」について、どのように向き合うべきか考察したメモです。 検証留意点 はじめに、筆者が検証にあたり留意した点を書いていきます。本稿を読んでみて「自分でも検証してみたい!」となった方は、参考にしていただければと思います。 【1】取得データがキャッシュされるタイミング タイミングは2通りあります。 ビルド時: next buildで Next.js アプリをビルドした時 リクエス

                                                                        Next.js の fetchCache を考える
                                                                      • 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
                                                                        • 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
                                                                          • UberのCacheFront:レイテンシーを大幅に削減し、毎秒4000万件の読み取りを可能に

                                                                            垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                                                              UberのCacheFront:レイテンシーを大幅に削減し、毎秒4000万件の読み取りを可能に
                                                                            • How Back/forward Cache Helped Yahoo! JAPAN News Increase Revenue by 9% on Mobile  |  web.dev

                                                                              How Back/forward Cache Helped Yahoo! JAPAN News Increase Revenue by 9% on Mobile Stay organized with collections Save and categorize content based on your preferences. Back/forward cache (or bfcache) is a browser optimization that enables instant back and forward navigation. It significantly improves the browsing experience for users, especially for websites that involve many back and forth naviga

                                                                                How Back/forward Cache Helped Yahoo! JAPAN News Increase Revenue by 9% on Mobile  |  web.dev
                                                                              • やっとわかる!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