並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 268件

新着順 人気順

asyncの検索結果121 - 160 件 / 268件

  • Swift Language Updates - Learn Languages 2021

    Swift 5.5 の目玉は Concurrency (並行処理)関連の言語機能の追加です。 Swift 5.5 には Concurrency 以外にも細々としたアップデートはありますが、本トークでは Concurrency にフォーカスして紹介します。

      Swift Language Updates - Learn Languages 2021
    • C# 8.0 非同期ストリーム

      .NET Conf Tokyo 2019 にて登壇。 https://vsuc.connpass.com/event/146588/ C# 8.0 の新機能のうち、非同期ストリームと呼ばれるもの(await foreach, await と yield の混在)について説明します。 また、非同期ストリームの内部的な仕組みの説明と合わせて、ValueTask や IValueTaskSource など、Task がらみのパフォーマンス改善の歴史を振り返ります。

        C# 8.0 非同期ストリーム
      • Top-level await · V8

        Top-level await enables developers to use the await keyword outside of async functions. It acts like a big async function causing other modules who import them to wait before they start evaluating their body. The old behavior #When async/await was first introduced, attempting to use an await outside of an async function resulted in a SyntaxError. Many developers utilized immediately-invoked async

        • 【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
          • Node.js v15に実装されたAbortController | フロントエンドBlog | ミツエーリンクス

            この記事はミツエーリンクス Advent Calendar 2020 - Adventarの14日目の記事です。 少し前にNode.jsのv15がリリースされました。v15にはAbortControllerの実装が追加されています。 AbortControllerは簡単に言うとPromiseなどの非同期処理を中断させるために実装されたインターフェースです。Node.jsだけではなくWeb APIにも存在しており、この度Node.jsに実装されたAbortControllerはWeb APIをベースにしています(ただしExperimental扱いです)。 (12/15追記:12/9にリリースされたNode.js 15.4.0でExperimentalではなくなりました。) 今回はAbortControllerをどのように使うのかをご紹介したいとおもいます。 AbortControllerの使

              Node.js v15に実装されたAbortController | フロントエンドBlog | ミツエーリンクス
            • テストの実行時間を2倍速くした話 - hiroppy's site

              webpack-dev-server のテストを高速化しました。 jest を使っていて、--runInBandを今までは使っていましたが、それを外しました。 —runInBand jest はデフォルトでワーカーを使い並列実行を行います。 しかし、このオプションをつけるとそれが直列実行できます。 理由としては、server の listen するテストが多く、mocha で書かれていたため、急に jest に移行してもコード自体が並列実行できるものではなかったからです。 PR test: don't use --runInBand and improve execution performance by hiroppy · Pull Request #2005 · webpack/webpack-dev-server This is a bugfix This is a feature

                テストの実行時間を2倍速くした話 - hiroppy's site
              • コアあまりのはなし- Message Passing

                Message Passing is licensed under CC-NC-SA. It has a feed and is hosted by a GitHub organization. Uses this for the OG image.

                  コアあまりのはなし- Message Passing
                • Async-await on stable Rust! | Rust Blog

                  On this coming Thursday, November 7, async-await syntax hits stable Rust, as part of the 1.39.0 release. 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! -- and we are very proud of the end result. We believe that Async I/O is going to be an increasingly important part of Rust's story. W

                    Async-await on stable Rust! | Rust Blog
                  • ts-node の代わりに esbuild-register を使ってスピードアップ

                    ts-node でも型チェックを外すオプションがあることをコメントで教えてもらいました。型チェックをかけない esbuild と同様の条件としたほうが、より平等な計測結果になりますので、計測し直しました。 参考 https://github.com/TypeStrong/ts-node#typechecking Node.js で TypeScript をトランスパイルしながら実行できる、 esbuild-register というパッケージがあります。 非常に速い esbuild を使いながら雑に TypeScript が実行できちゃう頼もしいパッケージです。 今までのメインプレイヤーであった ts-node よりも速いです。次の小さなスクリプトでも 1.5 倍程度の速度が出ています。 function wait(duration: number) { return new Promise

                      ts-node の代わりに esbuild-register を使ってスピードアップ
                    • マイクロサービスにおけるログ出力に役立つNode.jsのAsyncLocalStorage - EmotionTechテックブログ

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

                        マイクロサービスにおけるログ出力に役立つNode.jsのAsyncLocalStorage - EmotionTechテックブログ
                      • Detailing Python's Coroutine out of History

                        Finatextによる セキュリティとアジリティを両立する為の秘訣 / the-secret-to-balancing-security-and-agility

                          Detailing Python's Coroutine out of History
                        • RustのTokioで非同期とグリーンスレッドを理解する

                          この記事はRust Advent Calendar 2022 - Qiitaの13日目の記事です。 はじめに Rustの非同期I/Oライブラリ tokio の解説記事になります。初めに概要説明をします。その後でちょっとしたソースコードを見せながら解説をしていきます。理論より実践、実際にどう書けば良いのか知りたい人向けの記事になります。 tokioはライブラリの一つに過ぎませんが、hyper、actix-webなどのWebフレームワーク、Denoのイベントループ、Solanaのツールなどで利用されており、デファクトスタンダード的な重要なライブラリになっています。 またDiscordはtokioのスポンサーをしており、GoからRust(Tokio)で書き換えた話は小説を一冊読み終えたかのようなブラボーな興奮がありました。 ちなみに、tokioのネーミングは開発者のCarl Lercheが東京観

                            RustのTokioで非同期とグリーンスレッドを理解する
                          • 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 Ruby - Bruno Sutic

                              Ruby has an Async implementation! It's available today, it's production-ready, and it's probably the most awesome thing that's happened to Ruby in the last decade, if not longer. Async Ruby adds new concurrency features to the language; you can think of it as "threads with none of the downsides". It's been in the making for a couple of years, and with Ruby 3.0, it's finally ready for prime time. I

                              • JavaScriptの識別子

                                JavaScriptの識別子として使えるもの・使えないものに関して整理しました。 識別子、予約語、キーワード ECMAScriptでは識別子、予約語、キーワードを以下のように使っています 識別子 (identifier) とは、ざっくり言うとローカル変数名に使える名前のことです。が、この定義は細かいことを言うと状況によってぶれがあり複雑です。これを細かく見ていくのが本記事の主眼です。 例: foo 規格上は Identifier がこれに相当しますが、様々な例外を勘案するとこれをそのまま使うのが自然とは言えないため、以降では微妙に異なる定義を採用します。 予約語 (reserved word) とは、識別子と同じ形式であるにも関わらず識別子としては使えないもののことです。 例: if, public (strict modeの予約語だが、使い道はない) 非例: async (識別子として自

                                  JavaScriptの識別子
                                • 非同期処理で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
                                  • Browserslist でサポートブラウザを設定しよう - BASEプロダクトチームブログ

                                    この記事は BASE Advent Calendar 2021 の 5 日目の記事です。 基盤チームの右京です。 最近ひょんなことから browserslist の設定を見返したのですが「babel や autoprefixer で必要になったので導入した」以上はあまり触れられていなかったため、この機会にいちから見直してみようと思いました。 browserslist? https://github.com/browserslist/browserslist 簡単に言えば、クエリを書くとそれに該当するブラウザをリストで取得できます。babel(preset-env) や autoprefixer はここから取得出来るリストを利用して、必要な変換内容を決定しています。単純にバージョン指定でのクエリが記述できるだけではなく、利用統計に基づく絞り込みも可能となっています。例えば、0.2% 以上のシ

                                      Browserslist でサポートブラウザを設定しよう - BASEプロダクトチームブログ
                                    • C# の async/await は実際にどうやって動いているか

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

                                        C# の async/await は実際にどうやって動いているか
                                      • (async) Rust doesn't have to be hard

                                        An article titled Rust Is Hard, Or: The Misery of Mainstream Programming came out today and it's getting a lot of attention. I have a feeling that it's viewed in a wrong context, so I'd like to comment on the issue raised there. A lot of the comments to the article are in a tone of "this is precisely the reason why I don't learn Rust, it's just too hard" or "just don't use async, it's too hard, ot

                                        • すぐにAPIを体験!public-apis 100以上のJavaScript axiosサンプル集

                                          はじめに このページは、プロトアウトスタジオのAPIにつなげる授業に関連して、よりAPIの多様さ、広がりを深掘りします。 まだ、JavaScriptに慣れていなくても「なるべくシンプルにAPIを体験する」ことを目指して、 public-apis というフリーで使えるAPIを集めてリストにしているサイトから、手順が少なくAPIにつなげられるシンプルに取得できるものを中心に、直接取得できるURL・Node.js axios await/async ソースコードを一つ一つトライしています。 慣れてきたら、自分で public-apis のサイトを直接読んでみて、巡ってみましょう! APIピックアップ数 最終更新日 2020/6/8 104 個のAPIをピックアップ中! 参考資料 public-apis の豊富なAPIリストをベースにAPIつなげていきます。 ピックアップルール 手順が少なくAPI

                                            すぐにAPIを体験!public-apis 100以上のJavaScript axiosサンプル集
                                          • 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.
                                            • [Python] 🐰 なんとなく理解するasyncio 🐢

                                              大変おまたせしました。 数年前からずっと書く書くと詐欺してきた asycnio の記事です。 日本語のasyncio関連のブログエントリは大体読んだ気がします。(英語の記事も少し) リファレンスが多いので、ページ末に参考URLをリンクしてあります。詳しくはそちらも参照ください。 infoasyncio はいろいろな概念が同居しており、学習コストが高めです。 「なんとなく」とは書きましたが、割と詳細に書いているので概要だけ知りたいという方は 「概要」セクションだけ読んでブラウザバックしたほうがいいかもしれません。タイトル詐欺ですね。 読み進める上でジェネレータの概念が必要ですので、わからないという方は先にこちらからどうぞ。 [Python] 部屋とYシャツとイテレータとジェネレータと私 (何だこのクソみたいなタイトル) なお、この記事では Python 3.7 を使います。 3.7以上でしか

                                                [Python] 🐰 なんとなく理解するasyncio 🐢
                                              • GitHub - cloudwego/netpoll: A high-performance non-blocking I/O networking framework focusing on RPC scenarios.

                                                Netpoll is a high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance. RPC is usually heavy on processing logic and therefore cannot handle I/O serially. But Go's standard library net is designed for blocking I/O APIs, so that the RPC framework can only follow the One Conn One Goroutine design. It will waste a lot of cost for context switching,

                                                  GitHub - cloudwego/netpoll: A high-performance non-blocking I/O networking framework focusing on RPC scenarios.
                                                • Node.jsのネイティブES Modulesサポートが抱える問題を解決するBabelプラグインを書いた

                                                  babel-plugin-node-cjs-interop というパッケージを作ったのでその紹介です。 (GitHub) 何が問題か Node.jsのネイティブES ModulesサポートとBabelやTypeScriptのES Modulesサポートを併用したときに問題が起きます。 ESMとCJS JavaScriptには標準のモジュールシステム (ES Modules, ESM) がありますが、ESMの策定前に先だっていくつかのコミュニティー定義のモジュールシステムが存在していました。そのうちNode.jsを中心として使われていたのがCommonJS Modules (CJS) です。そのNode.js界隈でもESMへの移行が進んでいます。 移行にあたって問題になることのひとつが、ESMとCJSのエクスポートモデルの違いです。 ESMでは、モジュールは0個以上の名前つきエクスポートを定

                                                    Node.jsのネイティブES Modulesサポートが抱える問題を解決するBabelプラグインを書いた
                                                  • PromiseによるJavaScript非同期処理レシピ集

                                                    Promiseの概念はずいぶん浸透してきました。Promiseは単なる「新機能」のひとつから、もはや非同期処理における基本となりました。有志のライブラリなどもPromiseを返すのが当たり前になってきていて、コールバックでの処理はオプションであることが多くなりました。 さて、そうなってくるとPromiseの概念がどうこうというよりも、実用的なケースに対するコードスニペットがほしくなってきます。そこで今回の記事では、よくあるケースに対しての具体的解決策をいくつか提示します。 この記事について この記事では、JavaScript初心者に向けた、実用的な観点に焦点をあてて説明します。よっていつもの記事ほど正確性や厳密性はありません。 Promiseの「仕様」について詳しく知りたい場合は、MDNを読むなり、仕様書を読むなりしてください。 世界はPromiseに染まった Promise!Promis

                                                      PromiseによるJavaScript非同期処理レシピ集
                                                    • GitHub - vitalik/django-ninja: 💨 Fast, Async-ready, Openapi, type hints based framework for building APIs

                                                      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 - vitalik/django-ninja: 💨 Fast, Async-ready, Openapi, type hints based framework for building APIs
                                                      • async-singleton - 橋本商会

                                                        promiseのthrottleとかdebounceするやつなんだけど、そのへんの名前がnpmに空いていなかった

                                                          async-singleton - 橋本商会
                                                        • Next.js v13をSupabaseのデータフェッチと一緒に理解する | DevelopersIO

                                                          こんにちは。データアナリティクス事業本部 サービスソリューション部の北川です。 Supabaseとは、firebaseの大替サービスとも言われるBaasです。データベースにRDBを採用しているのが特徴です。 Next.js v13を学んでいる時に以下の記事を見つけました。Next.jsプロジェクトから、Supabaseのデータ取得を行っており、わかりやすかったです。 Next.js v13のインプットにも、Supabaseの入門にも役に立つチュートリアルだと思います。 今回は、こちらの記事を元にNext.js v13の機能を、v12と比較したりしながら試してみました。 Supabase側の設定 Supabaseにログインし、新しいプロジェクトを作成します。 左サイドバーから[SQL Editor]に移動し、以下のコードをエディタに貼り付けます。右下の[RUN]ボタンから、クエリを実行します

                                                            Next.js v13をSupabaseのデータフェッチと一緒に理解する | DevelopersIO
                                                          • JavaScript/TypeScript で Promise を直列実行できるが、結局どう実装すればよいのか?(可読性・実行速度) - Qiita

                                                            単位は byte es2016以下の場合 async/await を使用した場合、トランスパイルで polyfill が挿入される よって、 async/await を使用しなければ、polyfill 分のサイズを削減できる ただし、その他の実装でも一切 async/await 使ってない場合に限る src全体で見て、他の実装で async/await を使っている場合、その実装のために polyfill が挿入される そのため、直列実行の実装を工夫しても polyfill 分のサイズは必ず増える es2017以上の場合 いずれの実装も、polyfillは挿入されない よって、書いたコード分のファイルサイズになる 所感 まぁ、妥当な結果 ベンチマーク 各 target の出力結果の JavaScript を実行 1 スレッド、100 Promise の直列処理 * 5 回計測の平均 es5

                                                              JavaScript/TypeScript で Promise を直列実行できるが、結局どう実装すればよいのか?(可読性・実行速度) - Qiita
                                                            • 多言語からみるマルチコアの活かし方

                                                              多言語からみるマルチコアの活かし方 はじめに 近年では1つのCPUに複数のコアが搭載されたマルチコアが一般的になっています。 しかし、現状のプログラミング言語ではエンジニアが意識せずにマルチコアをしたプログラムを作ることは難しいです。 そこで、様々な言語から見たマルチコアの活かし方について説明していきます。 プロセスとスレッド プロセスとは1つ1つのアプリケーションといった実行中のプログラムのことで、スレッドは CPU利用の単位です。プロセスは次のように1つ以上のスレッドを持っており、CPUのコア数分だけスレッドを処理することができます。(また、近年ではSMTという技術によって1つの物理コアで2スレッドといった複数のスレッドを処理することができます。2コア4スレッドみたいなやつです) マルチコアを有効活用してプログラムを実行するためにはCPUが処理できるコア数に対して適切な数のスレッドをプ

                                                                多言語からみるマルチコアの活かし方
                                                              • マイクロサービスにおける非同期処理は何で実現させるか? Callback地獄などを起こさないKotlin Coroutineのメリット

                                                                LINEが定期的に開催する、Kotlinをテーマにした技術者向けのミートアップ「LINE Developer Meetup for Kotlin」。ここで、開発3センターの岩谷氏が登壇。「LIVEBUY」の開発でKotlin Coroutineを利用した知見を紹介します。 自己紹介とセッションの概要 岩谷明氏:みなさんこんにちは。LINEの岩谷と申します。LINE Developers Meetup for Kotlinにご参加いただき、誠にありがとうございます。本日最初のセッションですが、「LINEでKotlinを活用してサービスを作っていく話」と題して、発表します。よろしくお願いいたします。 簡単に自己紹介します。私は2016年にLINE株式会社に入社しました。今までは「LINE LIVE」や「LINEノベル」などのiOSやAndroidのエンジニアをしていましたが、2019年から、本

                                                                  マイクロサービスにおける非同期処理は何で実現させるか? Callback地獄などを起こさないKotlin Coroutineのメリット
                                                                • async/awaitとpromise使えばモナド糖衣構文っぽいの書けそうだよねって思って書いてみたけど、async () => {} でwrapしないといけないしまぁそんなにきれいに書けなかったって話 - ( ꒪⌓꒪) ゆるよろ日記

                                                                  タイトルで全部言い切ってますが // Optional container like maybe monad class Option { constructor(value){ this.value = value } async promise() { return new Promise((resolve, reject) => { if (this.value) { resolve(this.value); } else { reject(undefined); } }); } } こんなMaybe とかOptionalっぽいやつを用意します。 promise() で Promiseを生成して返すようにします。もってる値に応じて resolve (JustやSome)したり reject (Nothing)したりします。 const o1 = new Option("foo");

                                                                    async/awaitとpromise使えばモナド糖衣構文っぽいの書けそうだよねって思って書いてみたけど、async () => {} でwrapしないといけないしまぁそんなにきれいに書けなかったって話 - ( ꒪⌓꒪) ゆるよろ日記
                                                                  • ついに正式対応されるRustのawait/asyncを1.39betaで確認してみた - Qiita

                                                                    #![allow(non_snake_case)] use std::{thread, time}; async fn foo1() { for i in 0..10 { std::thread::sleep(time::Duration::from_millis(500)); println!("foo1:{} Thread[{:?}]", i, thread::current().id()); } } async fn foo2() { for i in 0..10 { std::thread::sleep(time::Duration::from_millis(500)); println!("foo2:{} Thread[{:?}]", i, thread::current().id()); } } #[runtime::main] async fn main() { let ha

                                                                      ついに正式対応されるRustのawait/asyncを1.39betaで確認してみた - Qiita
                                                                    • 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) にしたほうが良い
                                                                      • nextjsのISRを使うときのfallback指定について理解するまでの話

                                                                        next.jsのISRを使おうとして「なんか全然うまく行かない」ってなってたのがやっと理解出来たのでメモ 問題編 とりあえず見様見真似でISRはrevalidateとfallbackつければ良いんだな?とやってみたところ、どうもpropsが空Objectになってしまうようで悩んでいた。 例えば下記のような場合、エラーが起きる // pages/greeting/[name].js const Page = (props) => { // ↓ここでエラー return <div>Hello {props.name.toUpperCase()}</div> } export const getStaticProps = async (req) => { return { props: { name: req.params.name }, revalidate: 100 } } export c

                                                                          nextjsのISRを使うときのfallback指定について理解するまでの話
                                                                        • Deno joins TC39

                                                                          Deno aims to be the best runtime for the modern JavaScript developer. One way we do this is by embracing the latest in JavaScript standards. Deno is fundamentally built for modern JavaScript: Promises, async/await, ES modules and async iterators are all first-class citizens. To make sure that future evolutions of JavaScript will continue to work well for Deno - and server-side JavaScript runtimes

                                                                            Deno joins TC39
                                                                          • Studyplus iOSアプリにasync/awaitを導入してみた - Studyplus Engineering Blog

                                                                            こんにちは、Studyplus事業部モバイルクライアントグループの上原です。 中途入社でiOSエンジニアとして入社して、StudyplusのiOSアプリの開発を主にしています。 また、最近はiOS以外にもFlutterを触り新機能を開発したりしています。 趣味の方では、Apex Legendsを数年やっているのですが、最近愛用していた武器が弱体化&武器生成必須になりモチベーションがどんどん低くなっています。新しい複数人でやれて人口の多いゲームの発売を切実に期待しています。 さて、今回は、Swift 5.5から導入されたasync/awaitをStudyplusのiOSアプリに一部導入したことについて書きます。 docs.swift.org async/await導入以前の非同期コード iOSでは、ネットワーク処理などの時間がかかる処理で、非同期的に動作させるためにクロージャーを呼び出す必要

                                                                              Studyplus iOSアプリにasync/awaitを導入してみた - Studyplus Engineering Blog
                                                                            • 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
                                                                              • Rustで検討されているKeyword Genericsについての現状

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

                                                                                  Rustで検討されているKeyword Genericsについての現状
                                                                                • Async/await

                                                                                  “async/await” と呼ばれる、より快適に promise を利用する特別な構文があります。驚くほど簡単に理解し、使用することができます。 Async 関数async キーワードから始めましょう。次のように関数の前に置くことができます:

                                                                                    Async/await