並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 271件

新着順 人気順

asyncの検索結果1 - 40 件 / 271件

  • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

    今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

      Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
    • 非同期処理で45%のレイテンシ削減を実現#Nature - Nature Engineering Blog

      Natureエンジニアインターン生の後藤です。この記事では、インターン期間中に取り組んだfirequeueの改修についてお話します。 背景 NatureのバックエンドにはNature Remoからメッセージを受け取るエンドポイントがあるのですが、このエンドポイントはメッセージが来るたびに叩かれるので、NatureのAPIサービスの中で最も合計レイテンシとリクエスト数が大きいものとなっています。 エンドポイント毎のリクエスト数と累積時間 詳しくこのAPIのレイテンシの内訳を見てみると、その中でもFirehoseが占有している時間が40%と最も長くなっていました。 APIのレイテンシの内訳 また、Natureではfirehoseへの送信にfirequeueというGo言語のpackageを使用しています。firequeueは、Amazon Kinesis Data Firehoseへのアイテムの

        非同期処理で45%のレイテンシ削減を実現#Nature - Nature Engineering Blog
      • 100秒で理解するPromise

        そもそも非同期処理とは? Promiseについて知るためには、まず非同期処理について知っておく必要があります。 以下の動画で、非同期処理について100秒で解説しているので、そもそも非同期処理をよく知らないなぁという人はぜひ確認してみてください! Promiseとは では、本題です。 Promiseとは、ES2015で導入された、非同期処理の状態や結果を表現するオブジェクトのことです。 PromiseはES2015で導入された非同期処理の状態や結果を表現するビルトインオブジェクトです。 非同期処理はPromiseのインスタンスを返し、そのPromiseインスタンスには状態変化をした際に呼び出されるコールバック関数を登録できます。 jsprimer - 非同期処理:Promise/Async Function 例えば、出前アプリでピザを注文することをイメージしてみましょう。 ピザを注文すると、

          100秒で理解するPromise
        • SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG

          こんにちは、カート決済部カート決済サービスブロックの林です。普段はZOZOTOWN内のカートや決済の機能開発、保守運用、リプレイスを担当しています。 弊社ではカートや決済機能のリプレイスを進めており、これまでにカート投入のキャパシティコントロールや在庫データのクラウドリフトを実現しています。 techblog.zozo.com techblog.zozo.com 本記事では新たにクレジットカード決済処理を非同期化したリプレイス事例を紹介します。 はじめに 背景・課題 非同期化のシステム構成 パターン1 - 完全非同期化パターン パターン2 - 非同期・同期切り替えパターン パターン3 - ポーリングパターン システム構成の決定 メッセージングサービスの選定 効果 今後の展望 まとめ さいごに はじめに 本章では、非同期化前のZOZOTOWNのクレジットカード決済を用いた注文処理の流れを説明

            SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG
          • Why choose async/await over threads?

            A common refrain is that threads can do everything that async/await can, but simpler. So why would anyone choose async/await? This is a common question that I’ve seen a lot in the Rust community. Frankly, I completely understand where it’s coming from. Rust is a low-level language that doesn’t hide the complexity of coroutines from you. This is in opposition to languages like Go, where async happe

              Why choose async/await over threads?
            • axe-core/playwrightとmarkuplintを導入しアクセシビリティの自動テストをできるようにした

              Web アクセシビリティに興味があったので、まず機械的なチェックツールから学んで知識を増やそうということでこのサイトに @axe-core/playwright と markuplint を導入してみました。 @axe-core/playwright のセットアップ 既に Playwright が導入されている状況を想定し進めます。まず@axe-core/playwright をインストールします。 pnpm add -D @axe-core/playwright このサイトの場合 VRT として Playwright を動かしているテストがあるので(過去資料)、そのプロセスに同居する形で axe を実行することにしました。 e2e.test.tsimport AxeBuilder from "@axe-core/playwright"; import type { Page, TestI

                axe-core/playwrightとmarkuplintを導入しアクセシビリティの自動テストをできるようにした
              • You Don't Need Next.js | ドクセル

                [beta] Next.jsクイズ2 • <p>にはなにが表示されるでしょうか? /app/page.tsx "use client"; import { useCallback, useEffect, useState } from "react"; export default function Home() { const [date, setDate] = useState(); const fetchDate = useCallback(async () => { const response = await fetch("/api"); const data = await response.json(); setDate(data.date); }, []); useEffect(() => { fetchDate(); }, [fetchDate]); return ( <

                  You Don't Need Next.js | ドクセル
                • Pythonの非同期処理の基礎とOpenAI APIへ並列リクエストする実践例

                  こんにちは、commmuneでデータサイエンティストをしているひぐです。 人間が苦手なマルチタスクをLLMに任せたら、効果的に処理してくれるのではないか?というモチベーションのもと、Pythonの非同期処理を使って並列かつストリーミングでChatGPTの回答を出力するアプリを作りました🤖 例えば下記は、ある課題を入力すると、深さ・広さ・構造・時間軸という異なる観点で解像度を上げてくれるアプリケーションです。 アプリに関する登壇資料↓ このアプリ作成にあたってPythonの非同期処理を勉強したところ、最初は多くの専門用語(コルーチン、イベントループ...)や独自の記法により、全体像をつかむのに苦戦しました。一方で、学んでみると予想以上にシンプルな記法で実装できること、そして応用範囲が広くて便利だと理解しました。 この記事では、そんな少し取っつきにくけど便利なPythonの非同期処理にフォー

                    Pythonの非同期処理の基礎とOpenAI APIへ並列リクエストする実践例
                  • Promise.withResolvers によるイベントの Promise 化 | blog.jxck.io

                    Intro Promise.withResolvers() は、 Stage 4 であり ES2024 の候補となった。 すでにブラウザでの実装も進んでいるため、その活用方法を解説する。 イベントの Promise 化 JS では、非同期処理 API は長らくイベントリスナベースで定義され、それを組み合わせるフロー制御で処理されてきた。 しかし、 Promise が定義されて以降は、標準 API も Promise を返すようになり、 async/await によって処理されるのが一般的になってきた。 結果、イベントリスナベースの API を Promise 化するような場面も増えた。 例えば以下のようなものだ。 async function request() { return new Promise((resolve, reject) => { document.querySelect

                      Promise.withResolvers によるイベントの Promise 化 | blog.jxck.io
                    • async/await 比較(C#, JavaScript, Python) - Qiita

                      using System.Windows.Threading; Dispatcher.CurrentDispatcher.InvokeAsync(async () => { // いろいろな処理... // メッセージループを終了させる Dispatcher.CurrentDispatcher.BeginInvokeShutdown(DispatcherPriority.Normal); }); Dispatcher.Run(); WPF とか WinForms とかでは、フレームワークがすでにメッセージループを回しているので、自分で Dispatcher.Run() する必要はない。 JavaScript 自分で書く必要なし。 Python asyncio.run(最初に実行するasync関数)

                        async/await 比較(C#, JavaScript, Python) - Qiita
                      • Announcing `async fn` and return-position `impl Trait` in traits | Rust Blog

                        Announcing `async fn` and return-position `impl Trait` in traits The Rust Async Working Group is excited to announce major progress towards our goal of enabling the use of async fn in traits. Rust 1.75, which hits stable next week, will include support for both -> impl Trait notation and async fn in traits. This is a big milestone, and we know many users will be itching to try these out in their o

                          Announcing `async fn` and return-position `impl Trait` in traits | Rust Blog
                        • async/awaitは今後もベストフレンドであり続けるか - hadashiA

                          えーあーー みなさん聞こえますでしょうか。この記事はC# アドベントカレンダー17日めのために書かれました。 いくつかみかけた、async/await と java loom/goroutine的なものを比較する議論に興味があり、少し追ってみた感想です。実装まで深く調べられてません。 TL;DR Green Thread Experiment Results #2398 .NET の runtimelabにて、async/awaitの代替としてのグリーンスレッドを検証した結果が公開されていたが、今後も async/await でいくという結論になっている。 JVM (Java) は対象的に、コードの書き方をなにも変えなくてもランタイムが自動的にI/Oを非同期にしてくれる夢のVirtual Thread を導入した。 Rust界隈では「Why async/await ? why? why?

                            async/awaitは今後もベストフレンドであり続けるか - hadashiA
                          • plenary.nvim による非同期処理 - Qiita

                            1. plenary.nvim とは? Neovim 界で一番メジャーなプラグインとは何でしょう? 異論はあるかも知れませんが、多くの人は telescope.nvim を挙げると思います。ファジーファインダーの決定版ですね。 telescope.nvim は非常に複雑で大規模なプラグインなのですが、その開発で使われている便利な関数群は別のプラグインに切り出されています。それが plenary.nvim です。 plenary.nvim 自体も様々な機能を持っているのですが、この中で本日紹介したいのは plenary.async というライブラリー。名前の通り、Neovim Lua で非同期処理を実装するための関数群です。 このライブラリーには条件変数、セマフォ、チャンネルといった、本格的な非同期処理を書くために必要なパーツが含まれています。以下ではこのライブラリーの全機能について、実際に

                              plenary.nvim による非同期処理 - Qiita
                            • A four year plan for async Rust - Without boats, dreams dry up

                              Four years ago today, the Rust async/await feature was released in version 1.39.0. The announcement post says that “this work has been a long time in development – the key ideas for zero-cost futures, for example, were first proposed by Aaron Turon and Alex Crichton in 2016”. It’s now been longer since the release of async/await than the time between the first design work that underlies async/awai

                              • 並行キャッシュライブラリーの開発で得られた知見

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

                                  並行キャッシュライブラリーの開発で得られた知見
                                • 令和最新版 CoffeeScriptで書かれたnodeと上手くやっていく方法、そして決別 <わかれ> - moznion

                                  moznion サーバーサイドエンジニア Seattle, Washington在住 10年モノのCoffeeScript on node というのは若干言いすぎで、およそ9年モノです 2014年当時の状況 ES2015以前 (そりゃそう) Babelはあった TypeScriptブレイク以前 (だいたい2016年くらいから広くproduction readyになったという印象) AltJSの萌芽 => この時点でCoffeeScriptを採用したのは間違いではないはず...... 2023年現在の状況 JavaScriptの言語機能がめちゃ拡張された TypeScriptがメジャーに DHH、TypeScriptをやめる => CoffeeScriptを使うメリットはおそらく失なわれたと言ってもよい (このへんを参考にした: https://yosuke-furukawa.hatenab

                                    令和最新版 CoffeeScriptで書かれたnodeと上手くやっていく方法、そして決別 <わかれ> - moznion
                                  • use – React

                                    他のあらゆる React フックとは異なり、use は if のようなループや条件文内でも呼び出すことができます。他の React フックと同様に、use を呼び出す関数はコンポーネントまたはフックでなければなりません。 プロミスを引数にして呼び出した場合、use フックは Suspense やエラーバウンダリ (error boundary) と協調して動作します。use を呼び出すコンポーネントは、use に渡されたプロミスが保留中 (pending) である間、サスペンド (suspend) します。use を呼び出すコンポーネントがサスペンスバウンダリでラップされている場合、フォールバックが表示されます。プロミスが解決 (resolve) された時点で、サスペンスフォールバックは、use フックから返されたデータを使用してレンダーされたコンポーネントの内容に置き換わります。use

                                      use – React
                                    • The State of Async Rust: Runtimes | corrode Rust Consulting

                                      Recently, I found myself returning to a compelling series of blog posts titled Zero-cost futures in Rust by Aaron Turon about what would become the foundation of Rust's async ecosystem and the Tokio runtime. This series stands as a cornerstone in writings about Rust. People like Aaron are the reason why I wanted to be part of the Rust community in the first place. While 2016 evokes nostalgic memor

                                        The State of Async Rust: Runtimes | corrode Rust Consulting
                                      • AsyncCacheのススメ(非同期処理の多重実行防止のための個人的ベタープラクティス)

                                        この記事は何? ボタンをタップすることでAPIコールなどの非同期処理を実行するような実装をしている場合に、ボタン連打によって非同期処理が何度も呼び出されてしまう問題を回避するため実装について、個人的なベタープラクティスを伝える記事です。 この記事が対象としている読者 Flutterを使い始めてまだ日が浅い開発者 「Flutterらしい書き方って何だろう」と考えるようになった開発者 「AsyncCacheって何?」と気になった開発者 結論 非同期処理を重複して実行させないような実装を行う際には、asyncパッケージの AsyncCache.ephemeral() を使うと手軽に多重実行を防止できるため便利でおすすめです。 cacheStrategy = AsyncCache.ephemeral(); ~ 省略 ~ ElevatedButton( onPressed: () async { a

                                          AsyncCacheのススメ(非同期処理の多重実行防止のための個人的ベタープラクティス)
                                        • Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話

                                          この記事について Zenn では長らく通信処理に Axios を使っていました。 しかし、Fetch API が多くのモダンブラウザなどで普通に使えるようになった今、使う必要性があまり無くなったため、Axios を使っている処理を全て Fetch API に置き換えることになりました。 この記事では、その置き換え作業をどう進めていったのか、その結果どう良くなったのかを解説していこうと思います 🗽 解説より置き換えた結果を知りたいのよ私は!!! って方が居るかと思いますので、最初に置き換えたことで良くなった部分を紹介しようと思います。 まず一番良くなったところといえば、ずばりサイト全体のビルドサイズが 10 KB も減りました。( ちなみに、10 KB は圧縮時のサイズで、圧縮しない場合 100 KB になります 😇 ワーオ ) グローバルのビルドサイズが 103.35KB gzip 時

                                            Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話
                                          • Async Rust Is A Bad Language

                                            But to get at whatever the hell I mean by that, we need to talk about why async Rust exists in the first place. Let’s talk about: Modern Concurrency: They’re Green, They’re Mean, & They Ate My Machine Suppose we want our code to go fast. We have two big problems to solve: We want to use the whole computer. Code runs on CPUs, and in 2023, even my phone has eight of the damn things. If I want to use

                                              Async Rust Is A Bad Language
                                            • Task/ValueTask を直接返せる場合でも原則非同期メソッド (async/await) にしたほうが良い

                                              ユーザーコードでは Task/ValueTask (ジェネリック版含む) を直接返すことが可能の場合でも原則として非同期メソッドにして await することをおすすめします。 原則として、というのはこの記事で紹介するようなポイントを理解した上で最適化のために行うのは良いのですが、ユーザーコードでは落とし穴にハマるのを避けるためにほとんどのケースで素直に非同期メソッドにした方がよい、という話です。 Task/ValueTask を直接返す、返さないとは そもそも Task/ValueTask をそのまま返すコードというのはどういうものかというと、次のようなコードです。 public async Task Main() => await NantokaAsync(); public ValueTask NantokaAsync() { // 非同期を必要としない WriteAsync を呼び出

                                                Task/ValueTask を直接返せる場合でも原則非同期メソッド (async/await) にしたほうが良い
                                              • GitHub - sxyazi/yazi: 💥 Blazing fast terminal file manager written in Rust, based on async I/O.

                                                Yazi (means "duck") is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and customizable file management experience. 💡 A new article explaining its internal workings: Why is Yazi Fast? 🚀 Full Asynchronous Support: All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available

                                                  GitHub - sxyazi/yazi: 💥 Blazing fast terminal file manager written in Rust, based on async I/O.
                                                • GitHub - danog/php-tokio: Use any async Rust library from PHP!

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - danog/php-tokio: Use any async Rust library from PHP!
                                                  • SpringBootでAsyncを使う時に知っておきたいExecutorのこと - 日々常々

                                                    SpringFramework 6.0.11 SpringBoot 3.1.2 @Async と @EnableAsync の使い方 SpringFrameworkで @Async を使うとかんたんにメソッドを非同期で実行できます。 @Component class AsyncComponent { @Async void method() { // 時間のかかる処理 } } 使う側は単にメソッドを呼び出すだけです。戻り値を処理したいなら Future で受ければいいけど、投げっばでいいなら void で良い。投げっばでいい場合の方が多いはず。 @Async を使うためにはアノテーションを処理する何かしらが必要で、この一式を用意するように指示するのが @EnableAsync です。 以下のようなクラスをSpringがわかるところに置いてあげます。 @EnableAsync @Config

                                                      SpringBootでAsyncを使う時に知っておきたいExecutorのこと - 日々常々
                                                    • Learning Async Rust With Entirely Too Many Web Servers

                                                      I've found that one of the best ways to understand a new concept is to start from the very beginning. Start from a place where it doesn't exist yet and recreate it yourself, learning in the process not just how it works, but why it was designed the way it was. This isn't a practical guide to async, but hopefully some of the background knowledge it covers will help you think about asynchronous prob

                                                        Learning Async Rust With Entirely Too Many Web Servers
                                                      • async/awaitにおけるエラー処理を実行の順番から整理する - Qiita

                                                        はじめに promiseを使うとき、いつもpromiseメソッドチェーンで記載していますか? async/awaitを利用していますか? もちろん状況によって両方書くのが殆どだとは思うのですが、私はasync/awaitの方が同期的な書き方ゆえに読みやすいため、なるべくそちらで記載しています。しかしながら、エラーハンドリングが理解できていなかったため、エラーの所在を突き止めるのに苦労してしまいました。 そのため、これを機にasync/awaitにおけるエラーハンドリングについて備忘録的にまとめておきます。 この記事のまとめ; catchされるエラーはrejectのみか、throwされたエラーも含まれるか →両方catchできる async関数における処理の順序、awaitがある場合とない場合 →awaitがない場合には同期的に処理が実行され、catchできなくなる エラー処理を外側に伝播し

                                                          async/awaitにおけるエラー処理を実行の順番から整理する - Qiita
                                                        • Background Tasks in FastAPI

                                                          Before jumping into Celery. Let's start with the most straightforward tool to help us understand background tasks. FastAPI already has a BackgroundTasks class that can help us implement simple background tasks. Let's create a virtual environment to isolate our project requirements. python -m venv env Now, all we need is FastAPI and a web server e.g. Uvicorn or Hypercorn. Before installing these le

                                                          • How to think about `async`/`await` in Rust - Cliffle

                                                            2023-06-30 async fn is an inversion of control Hand-rolling an explicit state machine Explicit state machines mean your caller has control Writing state machines with async fn await is a composition operator Summary (This is a section of the lilos intro guide that people seemed to like, so to increase its visibility, I’m lifting it up into its own post and expanding it a bit. I hope this is a usef

                                                            • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

                                                              はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

                                                                【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
                                                              • C# の async/await は実際にどうやって動いているか

                                                                .NET ラボ 2023/05/27 での発表資料 ↓↓↓ スライドより詳細なブログです ↓↓↓ C# の async/await は実際にどうやって動いているか

                                                                  C# の async/await は実際にどうやって動いているか
                                                                • マイクロサービスにおけるログ出力に役立つNode.jsのAsyncLocalStorage - EmotionTechテックブログ

                                                                  はじめに こんにちは、テックリードのかどたみです。 弊社では以前の記事でも紹介したとおりマイクロサービス開発にNestJSを利用しています。今回はNestJSでマイクロサービス開発をする際のログの出力についてご紹介します。 この記事はエモーションテック Advent Calendar 2022の6日目の記事です。 背景 マイクロサービスのメリットの一つとして、サービスごとに開発するドメインの範囲を狭め、機能追加や改修の影響範囲を最小限にできることが挙げられます。 しかし、いざ運用しようとするとユーザーからのアクセス一つにおいて複数のサービスで処理が走ることから、どのサービスで障害になっているのか、どのユーザーがどこまでアクセスできているのかなどバグ発生時の原因や影響範囲の特定に時間がかかることもあります。 そこで、マイクロサービス間でログに出力する内容を揃えることで分析をしやすくなるように

                                                                    マイクロサービスにおけるログ出力に役立つNode.jsのAsyncLocalStorage - EmotionTechテックブログ
                                                                  • C10K 問題、実は理解していない

                                                                    お願い 「C10K 問題とは何か」がわかる方は是非 Issue や Twitter などで教えてください。 追記: 自分の立場 1req ごとに 1 native thread を割り当てていたら、クライアントの数が増えれば増えるほど負荷が高まるのは当然だ。ただハードウェアの性能的に余裕があっても性能が劣化することがあり、それを C10K 問題と呼ぶ。C10K 問題は fd, pid の枯渇、スレッドを固定長サイズで確保することによるメモリの無駄遣い、コンテキストスイッチコストを含む。これを解決する方法が 1req ごとに 1 native thread を割り当てない技術で、シングルスレッド+イベントループ+IO 多重化といったテクニックや M:N モデルにつながる。 追記: @naoya_ito さんに解説してもらった当時の歴史的背景 https://twitter.com/naoya

                                                                      C10K 問題、実は理解していない
                                                                    • Cloudflare に Node.js の AsyncLocalStorage がサポートされたので試してみた | DevelopersIO

                                                                      先日、 Cloudflare WorkesでNods.js の一部のAPIが対応されました。 その中で AsyncLocalStorage も対応されていたので Cloudflare Workers で実際に試して見ました 西田@CX事業本部です 先日、 Cloudflare WorkesでNods.js の一部のAPIが対応 されました。 その中で AsyncLocalStorage も対応されていたので Cloudflare Workers で実際に試して見ました AsyncLocalStorage について AsyncLocalStorage は Node.js が提供している非同期処理中に同時にアクセスしてもメモリセーフに使えるデータストアです。同時にストアにアクセスする可能性があっても安全に使えるグローバルなオブジェクトのように使えます。他の言語でいうところの Thread Lo

                                                                        Cloudflare に Node.js の AsyncLocalStorage がサポートされたので試してみた | DevelopersIO
                                                                      • Webサーバーアーキテクチャ進化論2023

                                                                        はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

                                                                          Webサーバーアーキテクチャ進化論2023
                                                                        • How Async/Await Really Works in C# - .NET Blog

                                                                          Several weeks ago, the .NET Blog featured a post What is .NET, and why should you choose it?. It provided a high-level overview of the platform, summarizing various components and design decisions, and promising more in-depth posts on the covered areas. This post is the first such follow-up, deep-diving into the history leading to, the design decisions behind, and implementation details of async/a

                                                                            How Async/Await Really Works in C# - .NET Blog
                                                                          • フロントエンド API通信戦略

                                                                            はじめに 今回はフロントエンド(Next.js×TypeScript)におけるAPI通信手法について、基本的なAPI通信の手法に加えて、「Repository層, Model層, Factory, API-Client」を用いた手法を具体的なコード例とともに解説します。 この記事の対象者 フロントエンジニア初級者から中級者 API結合におけるディレクトリ設計が明確に定まっていない人 API通信をする上での「Repository層」「Model層」「Factory」 「API-Client」それぞれの責務について理解したい人 全体の概要図 後の章でこの部分は詳しく解説します。 基本的なAPI通信手法 今回紹介するAPI通信手法 基本的なAPI通信手法 カスタムフックを使わない場合 カスタムフックを使わない基本的なAPI通信手法としては下記が例の1つとして挙げられるかと思います。 src/ap

                                                                              フロントエンド API通信戦略
                                                                            • Rustで検討されているKeyword Genericsについての現状

                                                                              TL; DR Keyword Generics という新しい言語機能が検討されている。 ある関数などがあったとして、それが async かどうかを自動判別できるようキーワードを新しく追加したいというのが大まかな目的。できればいくつかのキーワードを横断して判定できるような包括的なキーワードも追加したいかも。 これから RFC を書こうとしている段階で、まだ RFC にはなっていない。 ただこれ、うーん、どうなんでしょうね。 マクロでいいような気がする。 プログラミング言語としての哲学が問われている感じがする。 経緯 先日次のようなアナウンスが「Inside Rust」から行われました。 これは昨年の7月末にアナウンスされた「The Keyword Generics Initiative」チームによる続きの報告です。当時のアナウンスは下記です。 先日の2月の発表は、この7月の発表の進捗報告に当

                                                                                Rustで検討されているKeyword Genericsについての現状
                                                                              • 【C#】async/awaitのキャンセル処理まとめ - Qiita

                                                                                はじめに C#におけるasync/awaitを使う上で、絶対に意識しないといけないものは「キャンセル処理」です。 正しく処理をキャンセルしないとメモリリークを起こしたり、デッドロックやデータ不整合を引き起こす可能性があります。 今回はこの「async/awaitにおけるキャンセル処理」について話します。 対象 C#におけるasync/await全般 Task/ValueTask/UniTaskすべてに共通します Unity含む C#のasyc/awaitについてイマイチ自信が持ててない人 先に「結論」 asyncメソッドはCancellationTokenを引数に取るべき await対象が引数にCancellationTokenを要求する場合は省略せずに渡すべき OperationCanceledExceptionの取り扱いを意識するべき 解説 そもそも「キャンセル」とは何を指すのか そも

                                                                                  【C#】async/awaitのキャンセル処理まとめ - Qiita
                                                                                • その処理、 setInterval じゃなくてブラウザが暇な時にやっちゃえば?

                                                                                  こんにちは。ぬこすけです。 setInterval などで定期的にブラウザで実行させている処理があったりするでしょう。 例えば、定期的にアクセストークンが有効かチェックし、無効だったら新しいトークンを取得するなど。 ブラウザはページのコンテンツを表示するために JavaScript の実行や UI の更新で忙しいです。 もし定期実行している処理がコンテンツ表示にかかわらない優先度の低い処理なのであれば、 できるだけブラウザの重要なタスクに影響を与えないようにしたい ものです。 この記事では できるだけブラウザの重要なタスクに影響を与えずに定期的に処理を実行させる方法を、アクセストークンのローテーションを例に紹介 します。 実装する機能 この記事で実装する機能は次の通りです。 React の hooks を使って実装します。 ブラウザのアイドル中(暇なとき)にアクセストークンを有効かチェック

                                                                                    その処理、 setInterval じゃなくてブラウザが暇な時にやっちゃえば?