タグ

2024年9月25日のブックマーク (4件)

  • useSyncExternalStoreを使った音声状態管理

    Reactアプリケーションで音声の再生状態を管理する際、どのような方法を使っていますか?useState や useEffect を用いて状態を管理することが多いかもしれません。しかし、これらの方法では状態が不安定になったり、管理が複雑になったりすることがあります。 この記事では、音声状態管理のいくつかのアプローチを紹介し、最終的にuseSyncExternalStore を使った最も信頼性の高い方法を提案します。 useSyncExternalStore とは? useSyncExternalStore は、React 18で導入されたフックで、外部ストアの状態をReactコンポーネントに同期的に反映させるためのものです。これにより、コンポーネントのライフサイクルに合わせて自動的に外部状態を購読し、更新を行うことができます。 React における音声状態管理の実現 音声状態を管理する方法

    useSyncExternalStoreを使った音声状態管理
    igrep
    igrep 2024/09/25
  • Webアプリケーションにおけるタイムアウトについて

    なぜ調べたか 実務でWebアプリケーションの開発をしていると、主にエラーハンドリングの文脈で タイムアウト という概念が度々登場します Wikipediaの当該記事 を読むと、以下のような説明がなされています 一定時間に処理が完了しなかった時に、制御を打ち切って中止するための機構 処理完了までに永遠、または非常に長い時間がかかってしまうケースにおいて、計算資源の占有を抑止する これは、タイムアウト制御の必要性とそれが解決する問題について端的に説明していますが、 具体的な対応方法や、実務においてどのような観点に気を配るべきかについては示されていません 私自身、十分な対応をおこなえていなかったことで、レスポンスタイムの低下や、最悪のケースではサービスダウンを引き起こしてしまったこともありました そうした経験を踏まえ、シンプルなWebアプリケーションを想定したときに、 アーキテクチャ中の各レイヤ

    Webアプリケーションにおけるタイムアウトについて
    igrep
    igrep 2024/09/25
    "各レイヤにおいてタイムアウトを指定する際にレイヤ間で注意すべき事柄として、タイムアウト時間が クライアント側タイムアウト > サーバー側タイムアウト の大小関係を持っているかどうか確認"
  • Unixの歴史の起源を伝説のゲーム「スペース・トラベル」で遊んで学ぼう! - Qiita

    ちなみに Space Travel にスコア機能やゲームのなにかを記録する機能はありません。描画は点と線だけで画像ファイルの読み込みなどは行いません。オリジナルの Space Travel は紙テープから起動してオンメモリで動くはずです。何が言いたいかというと Space Travel を動かすためにファイルシステムを作る理由はないということです。紙テープからの起動なんて時間がかかるのでは? と思ったあなたは鋭い。1980 年頃の音楽用のカセットテープをコンピュータの記憶媒体として使っていた時代では、実際にゲームを始める前のロード時間に何分も待っていました。 初期の Unix 開発の技術は Space Travel から学んだ さて、この記事は Space Travel を通して Unix 開発の初期の歴史や、なぜケン・トンプソンは Unix を開発するに至ったのかを知ろうというのが趣旨の

    Unixの歴史の起源を伝説のゲーム「スペース・トラベル」で遊んで学ぼう! - Qiita
  • Announcing Stable V8 Bindings for Rust

    Deno is a modern, zero-config JavaScript runtime written in Rust. At its core is Rusty V8, a library that provides high-quality, zero-overhead Rust bindings to V8’s C++ API. Over the past five years, Rusty V8 has undergone nearly 150 releases, racking up more than 3.1 million downloads on crates.io. Today, we’re excited to announce a major milestone: Rusty V8 is now stable and production-ready. Wh

    Announcing Stable V8 Bindings for Rust