This domain may be for sale!
This domain may be for sale!
「DjangoCongress JP」は日本で開催されるDjango Webフレームワークのカンファレンスです。参加する全ての人がDjangoについて交流し、出会い、学び、楽しみ、深い理解を得ることを目的にしています。福田氏は、Django 3のASGI対応について発表しました。全2回。前半は、ASGI対応の概要とasyncioの基礎について話しました。 Django 3の目玉の1つ「ASGI対応」 福田隼也氏:「Django 3.2 ASGI対応 - こわくないasyncio基礎とasync viewの使い所」ということで、今日お話しします。福田です、よろしくお願いします。 まずお前誰だよというところで、福田隼也と申します。「Twitter」は@JunyaFffといいます。長野県の会社の株式会社日本システム技研に所属しています。 Webエンジニアをしていて、弊社の運営する「GEEKLAB
async function testAsync(v) { await new Promise(resolve => { setTimeout(resolve, 100); }); return v + 1; } const data = []; const params = [0, 1, 2]; params.forEach(async v => { const res = await testAsync(v); console.log(res); data.push(res); }); console.log(data); // [] 1 2 3 彼としてはawaitによって非同期処理の完了を待ち、結果をdata配列に挿入していき、最終的にdata配列が[1, 2, 3]となる想定だったようですが、実際には空配列になっています。 これを見て「うんそれはそうなるよね・・・」と思いはしたの
2020/12/16 追記 冒頭の元記事のプログラムを読み間違えていて、真面目に読むといきなり仕様とは異なるプログラムを書いてしまっていますorz その旨を指摘していただいたコメントがコメント欄にあるのですが、そちらの方がコードとしては面白いことになってるのでコメントまで合わせて読むのがおすすめです。 本文 この記事は、以下の記事を読んだ自分の感想です。割と反対意見が多めです。 async/await は Promise を置き換えない あと、元々 C# 畑の人間なので、この記事で TypeScript を使ってますが、もしかしたら冗長な書き方や、そもそも勘違いをしてしまっている可能性があります。その場合はコメントなどで教えてください。 そもそも、async/await は Promise を置き換えるものではなくて、どちらかというと then/catch/finally のメソッドチェー
javascriptのforEachではasync/awaitが使えないので、for...of,Promise.all()を使用する方法を記載しました。 IoT事業部の木村です。 DynamoDBからGetItemをするという処理を書いていて、forEachの中でasync/awaitが効かないということに気づかず非常に多くの時間を使ってしまいました。大変基礎的でお恥ずかしい内容ですが、今後の備忘のために書き記しておきます。 Array.prototype.forEach() 実行環境 node.js v12.22.1 準備 「test」という名前のDynamoDBテーブルを作成して、idだけの単純なデータを1000件入れておきます。 動かなかったコード ということで、動かなかったコードは以下の通りです。 forEachは非同期処理に対応した設計をされていないようです。 const AWS
2021.01.18 Rails 6.1: 関連付けをバックグラウンド削除する「dependent: :destroy_async」(翻訳) 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails 6.1 adds support for destroying dependent associations in the background | Saeloun Blog 原文公開日: 2020/11/18 著者: Prasad Walvekar サイト: Saeloun Blog | Ruby on Rails Consulting Company based in San Francisco and Boston 日本語タイトルは内容に即したものにしました。 Rails 6.1: 関連付けをバックグラウンド削除するdependent: :destroy_async(翻訳)
この記事は「async/await を完全に理解する」の続きになります。 この記事では「完全に理解した」先の「なにもわからない」「チョットデキル」レベル[1]を目指すための補足説明をします。 なお、前回の記事より少し踏み込んだ内容になるためC#色が強い内容になりますが、同様の仕組みは他言語にもあるはずなので多少参考にはなるかと思います。 既存の同期処理を非同期化する 既存の同期メソッドを、呼び出し側から非同期扱いすることができます。 Task.Runを使うと処理をTaskでラップすることができます。 public async Task<int> RunTaskAAsync() { var result = await Task.Run(RunTaskB); // Task<int>化されるのでawaitできる return result + 1; } private int RunTask
リポジトリ euxn23/babel-and-polyfill-sample 想定読者 Babel を使っているが、 Polyfill がいまいちわからない方 Polyfill は使えるが、より最適なビルドを生成したい方 @babel/polyfill が非推奨になったことを受け現在の推奨実装を知りたい方 Polyfill とは 例として、以下の Promise を使ったコードを、 @babel/preset-env を使用して IE11 向けにビルドします。 input const main = () => { Promise.resolve().then(() => console.log('then')); } main(); output "use strict"; var main = function main() { Promise.resolve().then(functi
はじめに お久しぶりです。 最近は業務でTypeScriptを書き始めたりしてました。 今日は、会社のテックブログに載せるつもりで書いてみたけど、内容的に会社のブログで載せるほどの内容にならず、ボツにした記事をここで供養しようと思いますw ちなみに、会社のテックブログに書いた内容はこちら 👇 https://cam-inc.co.jp/p/techblog/407753782164718758 Express.jsのTIPS紹介 ということで今日は、Express.jsのtipsを1つ紹介します。 Express.jsとは まず簡単にExpress.jsの説明です。 Express.jsは、Node.js製の薄いWebアプリケーションフレームワークです。 https://expressjs.com/ja/ とりあえず、これだけ書けばサーバーを動かすことができます。 const expre
こんにちは、FAANS部の中島 (@burita083) です。2021年10月に中途入社し、FAANSのiOSアプリの開発を行なっています。 FAANSの由来は「Fashion Advisors are Neighbors」で、「ショップスタッフの効率的な販売をサポートするショップスタッフ専用ツール」です。現在正式リリースに向けて、WEARと連携したコーディネート投稿機能やその成果を確認できる機能など開発中です。 はじめに FAANS iOSでは非同期処理にCombineを利用しています。Combine自体は本記事では詳しく解説をしませんが、RxSwiftを利用したことがある方なら特に違和感なく使えるかと思います。全く馴染みがない場合だと覚えることも多く、難しいところもあるかと思いますので、Swift Concurrencyを利用する方が理解しやすいかもしれません。ただし、ViewとPr
Monoio is a pure io_uring/epoll/kqueue Rust async runtime. Part of the design has been borrowed from Tokio and Tokio-uring. However, unlike Tokio-uring, Monoio does not run on top of another runtime, rendering it more efficient. Moreover, Monoio is designed with a thread-per-core model in mind. Users do not need to worry about tasks being Send or Sync, as thread local storage can be used safely. I
どうも。CX事業本部Delivery部のえーたん(@eetann092)です。 今まで雰囲気でJavaScript(TypeScript)のasync/await、Promiseを使っていて最近苦しんだため、ハマったところの例と対策を備忘録として残しておきます。 await付け忘れ やらかした例 まず、awaitを付け忘れた例です。 import { setTimeout } from "timers/promises"; const unit = 1000; async function logSleepLog(msg: string) { console.log(msg); await setTimeout(1.5 * unit); console.log(msg); } (async () => { logSleepLog("hoo"); console.log("finish");
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsのなど最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 今回は以下のコミットリストのChangelogを中心に見繕いました。 コミットリスト: Compa
この記事は翻訳されたものです: この記事はAsync/Awaitをコミュニティの手により翻訳したものです。そのため、翻訳が完全・最新でなかったり、原文にない誤りを含んでいる可能性があります。問題があればこのissue上で報告してください! 翻訳者: @kahirokunn, @garasubo, @sozysozbot 及び @swnakamura. With contributions from @asami-kawasaki 及び @Foo-x. この記事では、Rustの協調的マルチタスクとasync/await機能について説明します。Rustのasync/await機能については、Future trait の設計、ステートマシンの変換、 pinning などを含めて詳しく説明します。そして、非同期キーボードタスクと基本的なexecutorを作成することで、カーネルにasync/awa
【非同期処理】JavaScriptのPromise, async, awaitなどについての整理と使い方JavaScriptpromise非同期処理asyncawait 非同期処理/同期処理について C言語やPythonから入った私はコードは上から順に実行されるものだと思っていました。しかし、JavaScriptはクライアントサイドの言語であり、 「ページ更新などレスポンスの即時性が求められているため非同期処理である」 とのことです。 ~同期処理とは~ コードを上から順に処理していき、「サーバとのデータのやりとりなど時間がかかる作業を待って次の処理を行う」といったイメージです。 ~非同期処理とは~ 原則的にコードは上から順に処理していきますが、「サーバとのデータのやりとりなど時間がかかる作業と並行して次の処理を行う」 ※詳細なイメージは@don-bu-rakkoさんの以下をご参考にして頂け
はじめに .NET 6 がリリースされて、もうすぐ 3 カ月になります。時が経つのは早いですね…。 .NET 6 は長期サポートバージョンで .NET Framework と比べて一般的に性能がいいので、マイグレーションについて考えてる人も多いと思います。 そんな性能のいい .NET 6 ですが、特定の文脈で性能の悪いコードを書くことも当然出来ますし、そうならないように色々ベストプラクティスが提供されています。 例えば ASP.NET Core 6.0 向けでは以下のようなドキュメントがあります。 その他にも Azure Functions でも以下のようなドキュメントがあります。 色々書いてありますが、大体のドキュメントに書いてある内容として非同期 API を使って呼び出しのブロックをしないというものがあります。Web アプリケーションだとスレッドプールを使ってリクエストを捌いているので
皆さんawaitしてますか? 私はC#を使う機会が多いのでawaitしまくってますが、実は最近までこの構文の価値を正しく理解していませんでした。 async/awaitという糖衣構文はそれなりに複雑なことをやっていて、それを理解できる人にはそんな糖衣構文要らないのでは? と長い間考えていたのです。私自身、Taskクラスを直接取り回さないと書けない処理を書いたり、C++でTask.ContinueWithに相当する機能を作ったりしたこともあり、それなりに非同期処理については理解している自負がありました。その慢心が、この構文の意図を理解する妨げになっていたなぁという反省をこめて、この記事を書いています。 非同期処理を「手続き的に書けるようにする」のではなく「手続き的にしか書けなくする」 これが今回気付いたことのほぼ全てです。どういうことか、async/awaitを使ったコードとTask.Con
メモです。 What Color is Your Function? – journal.stuffwithstuff.com async/awaitを実装した言語では、asyncな関数とそうでない関数が区別される つまり、async funcを受け取るメソッドにnormal funcを渡すことはできない(逆もしかり) そのために、.mapと.mapAsyncみたいに各APIにasync版と非async版が必要になる https://blog.yoshuawuyts.com/announcing-the-keyword-generics-initiative/ keyword genericsという案 なぜasyncな関数と普通の関数は互換性がないのか async funcはステートマシンにコンパイルされるから (いやまあ別にそういう決まりはないけど、JS/Rust/C#はいずれもそうして
経験上、「async/awaitはthenより簡潔」程度の理由でasync/awaitの利用が強制されているリポジトリに遭遇することが少なくないです。 自分は思考停止でasync/awaitを優先利用する風潮にはネガティブで、その理由をいくつか挙げたいと思います。 Promiseの理解を妨げる async/awaitは、非同期処理の理解をすっ飛ばして実装できてしまいます。 そのため、特に初学者においてasync/awaitの簡単さがある種の逃げ道として使われ続けるようなケースでは、Promiseへの慣れや理解を妨げる可能性があります。 クイズ 例えば以下の実装に対し、fetchData実行直後に「console.log('取得を開始しました')」という出力も追加してみてください。
Why Async Rust — 2022-09-26 language hierarchy async under the hood rust's async features ad-hoc cancellation ad-hoc concurrency combining cancellation and concurrency performance: workloads performance: optimizations ecosystem conclusion A lot of system design is about thinking of the nature of the domains we encounter. And only later, once we understand them, encoding this understanding in a way
A goal of the async foundations working group is for async Rust to be portable and interoperable. I want to dig in to what that means in this blog post. For a little background, see my earlier post on async runtimes. To run async Rust code, you need an async runtime. Currently however, choosing a runtime locks you into a subset of the ecosystem. Library crates and tools are often restricted to a s
アプリケーションが (どういうわけか) 他の何とも通信せず、応答を待つ必要がない場合は、async def を使用して下さい。 よく分からない場合は、通常の def を使用して下さい。 備考: path operation 関数に必要なだけ def と async def を混在させ、それぞれに最適なオプションを使用して定義できます。それに応じてFastAPIは正しい処理を行います。 とにかく、上記のいずれの場合でもFastAPIは非同期で動作し、非常に高速です。 しかし、上記のステップに従うことで、パフォーマンスの最適化を行えます。 技術詳細¶ 現代版のPythonは「非同期コード」を、「コルーチン」と称されるものを利用してサポートしています。これは async と await 構文を用います。 次のセクションで、フレーズ内のパーツを順に見ていきましょう: 非同期コード async と
JavaScriptのもつ言語機能のなかで、なかなか理解が難しいとされるものにPromiseとGeneratorがあります(自分調べ) 。特にこれら2つが組み合わさったAsync Generator( async function* )と for await ... of 構文は使い所が分かりにくいので、具体的にどのようなケースで活用できるのか、お絵描きアプリを例にご紹介します。 なお、Async Generatorそれ自体について、何ぞや?という説明はしておりません。インターネットに転がっている情報(参考: MDN - イテレーターとジェネレーター)をご参照ください。あまりAsyncにフォーカスして詳しく解説されたものはありませんが、Generatorについて抑えられれば、それが非同期関数でも使えるのだなとふわっと理解できるかと思います。 お絵かきアプリのデモ 今回はこのようなお絵かきア
こんにちは HRBrainでフロントエンドを書いている鈴木です この記事はHRBrainAdventCalendar8日目の記事です Reduxには @reduxjs/toolkit という超メガドデカハチャメチャ便利ライブラリがありますが、 createAsyncThunk で作ったコードでなんやかんやしようとするとかなりハマったのでそちらの紹介です redux-toolkit.js.org 型パラしんどい 結論 Returned ThunkArg ThunkApiConfig 使い方 動きがいまいちわからん 作った関数を実行する 非同期のアクションを受け取る おわりに 型パラしんどい createAsyncThunk には3つの型パラメーターが必要ですが、複雑でかなりしんどいです まずは型定義を見てみましょう function createAsyncThunk< Returned, T
FastAPI with Async SQLAlchemy, SQLModel, and Alembic This tutorial looks at how to work with SQLAlchemy asynchronously with SQLModel and FastAPI. We'll also configure Alembic for handling database migrations. This tutorial assumes you have experience working with FastAPI and Postgres using Docker. Need help getting up to speed with FastAPI, Postgres, and Docker? Start with the following resources:
Request coalescing in async Rust As the popular saying goes, there are only two hard problems in computer science: caching, off-by-one errors, and getting a Rust job that isn't cryptocurrency-related. Today, we'll discuss caching! Or rather, we'll discuss... "request coalescing", or "request deduplication", or "single-flighting" - there's many names for that concept, which we'll get into fairly so
最近の web サイトでは、スクリプトは HTML よりも “重い” ことがしばしばです: ダウンロードサイズはより大きく、処理時間も長くなります。 ブラウザが HTML をロードし、<script>...</script> タグに遭遇すると、DOM の構築を続けることはできません。すぐにスクリプトを実行する必要があります。外部スクリプト <script src="..."></script> についても同じです: ブラウザはスクリプトをダウンロードし、それを実行するまで待つ必要があり、その後にページの残り部分の処理をすることになります。 これは2つの重要な問題につながります: スクリプトは、それ以降の DOM要素は認識することができないため、ハンドラーを追加したりすることはできません。 ページの先頭に重いスクリプトがあると、“ページをブロック” します。利用者はそれがダウンロードされ実行
自己紹介 初カキコども 医師でエンジニア?もどきのikoraです pythonについては今まで趣味程度しか触ったことがなく、またFastAPIをこの一ヶ月前くらいから触り始めました。 エンジニアの方々にとっては当たり前の非同期処理というものについてあまり理解できてなかったので、FastAPIの挙動と共に理解しようということで忘備録的に書きました。 一応後半では、真面目に実験しているのでなにかの参考になるかなと思います。 素人に毛が生えたようなものなので、もし間違い等あったら優しめにご指摘いただくと嬉しいです☺️ 始めての技術記事で拙いかもしれませんが、参考になりましたら幸いです。 まず結論 FastAPIのマルチタスク性能・高速性は非同期処理によって実現されている 従ってAPI Endpoint配下の関数(パスオペレーション関数)の書き方で速さが変わり 非同期処理 >>> 同期処理 >>>
Swift 5.5によって導入されたConcurrencyのうちの、async/awaitがどのように動いているのか調べてみました。 きっかけ 私はもともとasync/awaitなどはJavascriptで使っていたので、Swiftに導入されると聞いたときも「ようやく便利になるね」ぐらいにしか思っていなかったのですが、iOSDC2021のこの発表を見たときにたまげました。 特に驚いたのが、await式がサスペンションポイント(Suspension point)となり、実行が一時保留されるが、その間もスレッドは別の処理に使用されることや、再開されたときは別のスレッドに回ることもあり得るし、同じスレッドの場合もありうる、という話でした。 しかも、並列する複数のタスク間でのコンテキストスイッチは発生せず、呼び出しのコストのみで実現できるので、並列処理を軽量に実行できるそうです。 「なんでこんなこ
Have you heard people say that async Python code is faster than "normal" (or sync) Python code? How can that be? In this article I'm going to try to explain what async is and how it differs from normal Python code. What Do "Sync" and "Async" Mean? Web applications often have to deal with many requests, all arriving from different clients and within a short period of time. To avoid processing delay
妻の歌人としての個人サイトのトップページで、短歌をアニメーションで切り替える処理をJavaScriptで書いている。 jQueryには上のような専用メソッドがあるフェードイン・フェードアウト処理を自分でググりつつ書いてみたところ、試行錯誤できるポイントがあったのでまとめておきたい。 setTimeoutを使った当初実装 まずjQueryの実装は高度に共通化されていて読み解くのがなかなか大変そうだったので、ググって実装方法を探してみた。 このStack Overflowの回答が分かりやすかったので、参考にして実装してみた。 それがこれ。ループでsetTimeoutを使って100ミリ秒ごとに少しずつopacity(不透明度)を変化させている。 分かりやすい処理でちゃんとフェードイン・フェードアウトしたので満足しつつ、念の為他のサイトの実装例も色々と見てみたらもっと良い実装方法がありそうだった。
はじめに 最近、Unity/C#でもちょいちょい非同期処理を書いているんですが、なんだかんだやっぱり非同期は難しいです。 そこで、GoogleでTaskやasync/awaitについて検索すると、「TaskをWait()するのはダメ!」とか「async voidは基本的に使っちゃダメ!」といった記事はよく見かけるのですが、じゃあどう書けばいいんじゃと思って探してみると、なかなか記事が見つかりません。見つかっても、「UIのクリックイベントにasync voidのメソッドを登録して...」という記事が多いです。 残念ながら僕はUnityユーザなので、コードを書いてて非同期処理をしたいとき、処理のきっかけはUIのクリックイベントではない時の方が多く、あまり参考にすることができませんでした。 ということで、UnityでTask, async/awaitを使おうとしたときに僕が困ったことや、その結果
Async Rust can be a pleasure to work with (without `Send + Sync + 'static`) Sep 04, 2024 Async Rust is powerful. And it can be a pain to work with (and learn). If you’ve used async Rust, you’ve almost certainly run into the need to add Send + Sync + ‘static bounds to functions, wrap variables in Arcs and Mutexes, clone those Arcs all over the place, and you've inevitably hit the "future is not Sen
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く