本稿で扱うデータフェッチは高速なサーバー間通信を前提にしているため、バックエンドは細粒度なREST APIで設計することが最適だと考えます。 データフェッチの設計パターン 筆者の考えでは、データフェッチの設計は大きく2パターンに分けられます。データフェッチ層を設けるなどするような中央集権型の設計と、データフェッチコロケーションに代表される自律分散型の設計です。 中央集権型: 責務を集約し、一元管理を重視する 自律分散型: 責務を末端に分散し、自律性を重視する MetaやReactにおける自律分散型の設計の歴史については、筆者の前回の記事で詳細に解説しています。興味のある方はご参照ください。 解説 冒頭で触れたように、Metaでは自律分散型の設計が重視されており、特に大規模開発の保守性において重要だと考えられています。データフェッチ層を設けるような中央集権型の設計はなぜ好まれないのでしょう?
In 2023, businesses processed more than $18.6 billion on Stripe over Black Friday and Cyber Monday (BFCM). This year, just 19 days before Black Friday, Stripe asked a question: "What if?" What if they opened up Stripe's core metrics and gave a detailed look into their core business, reliability, and the reach of their products? In response, employees from across the company came together to constr
LangChainは、大規模な言語モデルを使用したアプリケーションの作成を簡素化するためのフレームワークです。言語モデル統合フレームワークとして、LangChainの使用ケースは、文書の分析や要約、チャットボット、コード分析を含む、言語モデルの一般的な用途と大いに重なっています。 LangChainは、PythonとJavaScriptの2つのプログラミング言語に対応しています。LangChainを使って作られているアプリケーションには、AutoGPT、LaMDA、CodeAnalyzerなどがあります。 AutoGPTは、文章生成、翻訳、コード生成などの機能を持つアプリケーションです。 LaMDAは、対話や文章生成を行うチャットボットです。 CodeAnalyzerは、コードを分析するアプリケーションです。 記事概要 この記事では、LangChainでのLLMについて紹介します。Lang
Intro こういうタイトルを付けるのはあまり好きではないが、あえてこのようにした。 「ブラウザでキャッシュがヒットしない」 以下は、Web における Caching の FAQ だ。 サーバで Cache-Control を付与したのにキャッシュがヒットしない サーバで ETag を付与したのに If-None-Match が送られない サーバで Last-Modified を付与したのに If-Modified-Since が送られない 先日も、筆者が書いた MDN の Cache セクションで「記述が間違っているのでは?」と同様の質問を受けた。 Issue about the Age response header and the term "Reload" · Issue #29294 · mdn/content https://github.com/mdn/content/iss
こんにちは。ソウゾウの Software Engineer の hiroppy です。「連載:「メルカリ Shops」プレオープンまでの開発の裏側」 の最後は、Web フロントエンドの紹介をしたいと思います。メルカリ Shops は既存のメルカリアプリの中に独立した Web アプリケーションとして動いています。本記事では、どのようなライブラリを選定し、どのようにアーキテクチャを設計してきたかを解説します。 なぜ Web なのか? アプリの上で動いているのであれば、WebView ではなくても良いと感じる人はいると思います。今回採用した 1 つの理由としては、リリースが柔軟な点が挙げられます。iOS/Android の両方に対して開発サイクルを早めることが可能であり、また機能追加やバグ修正が容易です。どのように WebView で動いているかについては、6 日目のメルカリ Shops のため
ISUCON12 に向けて flask のキャッシュについて調べたメモ。 Flask-Caching とは? Flask-Caching は Flask の View やその他関数にて容易にキャッシュ機能を実装するためのライブラリです。 キャッシュのバックエンドとして、Redis や Memcached、UWSGICache など、さまざまなミドルウェアを指定することができて、それぞれを統一したインターフェイスとして扱えるという特徴があります。 Flask の公式ドキュメントでも紹介されているので、Flask でキャッシュを使う際の第一選択肢として考えて良いと思います。 セットアップ 本記事では Redis でのセットアップを紹介します。 Flask の環境を作ったら、pip でライブラリをインストールします。Redis をバックエンドとして使うため redis-py も合わせて追加します
「検索エンジン」は、インターネット上の情報の所在を検索する手段として、現在幅広く一般に用いられている。その仕組みを要約すると、自動的なプログラム(「クローラー」と呼ばれる)によって、インターネット上のウェブサイトの情報を間断なく収集し、そのデータをサーバに格納して、これを解析したものをデータベース化するとともに、利用者からの検索要求に応じてそのウェブサイトの所在等の情報を検索結果として表示するものということができる。 これらの検索エンジンにおいて行われる行為は、格納あるいは表示される情報が著作物である場合、著作権の対象となるものであり、著作権法上の問題があるのではないか、との指摘がなされているが、その一方で、インターネット上に存在する膨大な著作物が自動的に検索対象となるため、権利者から逐一許諾をとることは現実的に不可能な状況にあるなど、検索エンジンによって検索サービスを提供する者(検索エン
卒論でPythonのプログラムを回していたが時間がかかりすぎてうんざりしていた。Python初心者の僕がいろいろ調べていたら高速化のために以下の二つに関するポストが頻繁に見られた。 Numba Pythonを速くしたいときにやったこと -Numba編- など Cython Cythonの書き方入門[備忘録]など しかし、僕のプログラムに対してはこれらの高速化はそれほど効果はなかった。forで1万回、回したりするプログラムには効果が大きいっぽい。僕のプログラムはscipyの積分を多く回すようなプログラムで、積分の処理がボトルネックになっていると思われて効果は薄かった。 そこで、lru_cacheというものを発見した。 LRUキャッシュ LRUとは、Least Recently Used の略である。メソッドのある引数に対する計算結果を保存しておき、後で同じ引数が与えられた時、計算結果を再利用
Ultra-fast build of Tensorflow with Bazel Remote Caching [Google Cloud Storage version]PythonC++BazelTensorFlowTensorflowLite Tensorflow-bin Bazel_bin 1.Introduction 今回は Google Cloud Storage をキャッシング環境に使用した最もお手軽なビルド手順を試行しました。 1時間掛かる Tensorflow のビルドを 2分20秒ほどに短縮できます。 ビルド済みのバイナリとソースファイルをハッシュ化してストレージ上にキャッシュし、2回目以降のビルド時にはキャッシュ済みのハッシュ値と現ファイルから計算したハッシュ値を比較して同じであればビルドを簡略化し、ハッシュ値に差分のあるファイルのみコンパイルします。 よって、初回
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く