並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 293件

新着順 人気順

awaitの検索結果121 - 160 件 / 293件

  • ES7 の Async/Await を使ってみた - Qiita

    Taming the asynchronous beast with ES7 babel の experimental に ES7 の Async/Await が入ったというので、さっそく導入してみた。対象は画像を点字を変換するわりかしどうでも良いモジュール。 seurat - JavaScript utility to generate a braille text from an image 導入前 ファイル読み込みや画像の変換に非同期処理を多用しており、node.js スタイルの 非同期API(コールバックを渡すやつ) を prominence というユーティリティ関数で Promise 化していたが、行ごとに then が出てきたり、複数の値を渡すために Promise.all を使ったりと、あまり読みやすいとは言えないコードだった。(コールバック地獄になるよりはマシだと思うけど.

      ES7 の Async/Await を使ってみた - Qiita
    • ブラウザとNode.jsで動く1kBのキーバリューストレージライブラリを書いた

      azu/kvsというブラウザとNode.jsで動くファイルサイズが小さいキーバリューストレージを作りました。 モチベーション ファイルサイズが小さくIndexedDBを使っていて、Node.jsでも透過的に同じAPIで利用できるライブラリが必要となったため作りました。 textlint-editorというアプリを書いていて、キャッシュストレージとしてlocalstorage-ponyfillを使っていました。 しかし、localstorage-ponyfillはブラウザとNode.jsで透過的に動くストレージライブラリですが、LocalStorageベースとなっています。 textlint-editorでは、スクリプトをWeb Workerで動かすため同期的なAPIであるLocalStorageは利用できません。 そのため、IndexedDBベースでシンプルなキーバリューストレージを扱える

        ブラウザとNode.jsで動く1kBのキーバリューストレージライブラリを書いた
      • Puppeteer と ARIA Handler

        先日、社内の技術共有会で https://github.com/puppeteer/recorder という npm パッケージの話が挙がったのだけど、ここで登場する ARIA Handler という機能が面白い内容だったため、それを書いていこうと思う。 https://developers.google.com/web/updates/2020/11/puppetaria で触れられている内容と重複する部分も多いため、先に参考として挙げておく。 また、Puppeteer の Undocumented な機能であったり、CDP の Experimental な機能への言及となるため、その点は承知した上で読んでもらえると。 Puppeteer Recorder@puppeteer/recorder 自体は名前の通り、Headless Chrome ラッパである Puppeteer を使って

          Puppeteer と ARIA Handler
        • Node.jsに入る新しいCJSからESMへの読み込み方法の紹介 - hiroppy's site

          新しくCJSとESMの間での解決方法が変わる提案が出てきました。 まだマージされてませんが、すでに複数の承認があり、この方針から変わることはないように見えるので紹介したいと思います。 module: support require()ing synchronous ESM graphs by joyeecheung · Pull Request #51977 · nodejs/node Summary This patch adds require() support for synchronous ESM graphs under the flag --experimental-r... 新しい提案 この仕組みを利用する場合、--experimental-require-moduleフラグが必要となります。 以下は、わかりやすいようにpackage typeを指定せずにデフォルトはCJS

            Node.jsに入る新しいCJSからESMへの読み込み方法の紹介 - hiroppy's site
          • 実例とともに学ぶECMAScript 2015 〜Generator〜 | Recruit Tech Blog

            Introduction この記事は最近JavaScriptに入ったGeneratorと呼ばれる機能について知りたい、もっと詳しく知りたいという方をターゲットとしています。 今回はECMAScript 2015に入った機能のgeneratorについて解説していきたいと思います。 generatorはNode界隈では2014年ごろから非同期処理を同期的に書くことができるツールとしてよく使われていました。 最近ではasync/awaitをよく耳にすることがあると思いますが、async/awaitはgeneratorを使ったものに変換可能なので挙動としては近いものと考えてもらって大丈夫です。 ECMAScript Async Functions What is generator 前置き では、generatorとはなんでしょうか?「実はgeneratorはIteratorを返す関数なのです!」

              実例とともに学ぶECMAScript 2015 〜Generator〜 | Recruit Tech Blog
            • Node.js v18 の主な変更点 - 別にしんどくないブログ

              Node.js v18がリリースされました 🎉 nodejs.org この記事では Node.js v18 の主な変更点を抜粋して紹介します! fetch() がフラグ無しで実行可能に (experimental) HTTP requestTiemout()のデフォルト値の変更 node:test モジュール(テストランナー)の追加 (experimental) V8 アップデートによる新しい JavaScript の API の追加 Array#findLast(), Array#findLastIndex() Intl.supportedValuesOf() その他の改善 Web Streams API のグローバルへの追加、実行時の警告の削除 (experimental) まとめ fetch() がフラグ無しで実行可能に (experimental) github.com Node

                Node.js v18 の主な変更点 - 別にしんどくないブログ
              • Async/Await - 非同期プログラミングのベスト プラクティス

                async void を避ける 使用できる戻り値の型には、Task、Task<T>、および void の 3 つがありますが、async メソッドで自然な戻り値の型は Task と Task<T> だけです。同期コードから非同期コードに変換する際、型 T を返すメソッドはすべて Task<T> を返す async メソッドになり、void を返すメソッドはすべて Task を返す async メソッドになります。次のコード スニペットは、void を返す同期メソッドとそれに相当する非同期メソッドを示しています。 void MyMethod() { // Do synchronous work. Thread.Sleep(1000); } async Task MyMethodAsync() { // Do asynchronous work. await Task.Delay(1000);

                  Async/Await - 非同期プログラミングのベスト プラクティス
                • iOSDC 2021セッション資料まとめ - Qiita

                  iOSDC2021登壇資料、スライドのまとめです。 Twitter等で見つけ次第掲載しますが、もし資料を見かけた方or資料を公開した登壇者の方がいらっしゃいましたら、コメント等でお声がけください。 スライドや資料のリンクが見つかった場合はタイトルにリンクをつけてありますので、タイトルがリンクになっていない場合はまだ資料が見つかっていないものになります。 Day 0 Track A 大規模リファクタリングの極意 forteeのリンク SwiftUIで使ったアプリを1年運用してみてわかったこと forteeのリンク Initiatives in Rakuma iOS App forteeのリンク SwiftUI で実プロダクトを音速リリースした話 forteeのリンク Track B agoraを使ってライブ配信機能を1ヶ月半でリリースした話 forteeのリンク A Swift Stack

                    iOSDC 2021セッション資料まとめ - Qiita
                  • Swift 6で来たる並行処理の大型アップデート近況

                    最近、 Swift リポジトリに並行処理関係の Pull Request (PR) が続々とマージされています。 たとえば、次のような PR があります。 Add async to the Swift type system. #33147 Add @asyncHandler attribute. #33476 Import "did" delegate methods as @asyncHandler. #34065 Import Objective-C methods with completion handlers as async #33674 Basic support for actor classes and actor isolation #33906 Swift の並行処理( Concurrency )関連の機能については、 2020 年 1 月に発表された "On th

                      Swift 6で来たる並行処理の大型アップデート近況
                    • TypeScript用のDIライブラリを公開しました - エムスリーテックブログ

                      エンジニアリンググループの冨岡です。 TypeScript向けのDIライブラリを公開したので紹介します。 github.com モチベーション Clean Architecture等の設計手法を使ってコードを書いていると、抽象に依存することが多くなってきます。 class CreateUserAccount { constructor(private userAccountRepository: UserAccountRepository) {} } const forProduction = new CreateUserAccount( new PostgreSQLUserAccountRepository( buildPostgreSQLConfig(process.env) ) ) const forTest = new CreateUserAccount(new InMemoryU

                        TypeScript用のDIライブラリを公開しました - エムスリーテックブログ
                      • [JavaScript]イベントにもasync/awaitを使おう - TES Blog

                        はじめに ECMAScriptが2015年から毎年バージョンアップするようになり、JavaScriptの仕様は大きく変わりました。 特に非同期処理まわりは、Promise(ECMAScript2015~)、async/await(ECMAScript2017~)が導入されたことで、 コールバック地獄の回避や可読性の向上などを実現できるようになりました。 また、JavaScriptではクリックやマウスホバーなどのイベントを検知する機能があります。 通常、イベント登録時に、イベント発火時に実行される処理をコールバックとして渡します。 実は、この従来の書き方をasync/awaitに置き換えると、一見すると同期処理的に書けるようにできます。 本記事では、以下の例のように、async/awaitへ置き換える話を説明します。 // いままでの書き方 const target = document.q

                          [JavaScript]イベントにもasync/awaitを使おう - TES Blog
                        • Python3.4 の新機能 asyncio を使ってみる - Cybozu Inside Out | サイボウズエンジニアのブログ

                          山本泰宇です。こんにちは。 運用本部では最近 Python3 への移行を進めています。そちらの話は別途ご紹介する予定ですが、今回は Python3.4 で追加された asyncio モジュールの使いかた(というか落し穴)を解説します。先に結論を書いておくと、Python3.5 の改良を待つのが吉という話です。 サンプルとして複数の SSH を一斉に呼び出してうまいこと処理してくれる passh を GitHub で公開しています。実際に社内で利用しているものをデチューンして使いやすくまとめたものです。 本題の asyncio ですが、Python3 で非同期 I/O 処理を実現するために追加されたイベント駆動処理のフレームワークです。最初に書いておきますが、以下で言及する難ありな点のいくつかは Python3.5 で改良される予定のようです。[PEP-0492, PEP 492 vs. P

                            Python3.4 の新機能 asyncio を使ってみる - Cybozu Inside Out | サイボウズエンジニアのブログ
                          • Chromeの操作を記録してPuppeteerやPlaywrightのコードに置き換えてくれる「Headless Recorder」レビュー

                            ウェブサイトのテスト自動化やスクレイピングに利用されるPuppeteerやPlaywrightといったライブラリを使うと、ChromeやFirefoxなどのGUIを備えるブラウザなしにウェブサイトの情報を取得することができます。そんなPuppeteerやPlaywrightのコードを「ブラウザの操作」から逆に取得できるのが、Chrome拡張機能の「Headless Recorder」です。 Headless Recorder - Chrome ウェブストア https://chrome.google.com/webstore/detail/headless-recorder/djeegiggegleadkkbgopoonhjimgehda Headless RecorderはChromeウェブストアで配信されているので、上記のURLにChromeでアクセスして「Chromeに追加」をクリッ

                              Chromeの操作を記録してPuppeteerやPlaywrightのコードに置き換えてくれる「Headless Recorder」レビュー
                            • "use server"; でexportした関数が意図せず?公開される

                              Next.js AppRouterで利用できるReactのServer Actions機能。クライアントからサーバ上の処理を関数で呼び出せるので非常に便利ですが、 "use server"; のことをあまり知らず、誤った使い方をすると意図せず公開したくない関数が外部に公開されてしまうケースがあるので注意です(ほとんどこんなケースはないと思いますが、なくはないので注意喚起です)。 Server Actionsの例 Server Actions用の関数として宣言するためには "use server"; が必要です。それ以外は至って普通の非同期関数で大丈夫です。 "use server"; export async function someAction() { return { message: "Server Action", }; } 次に定義したServer Actionsの関数を呼び出

                                "use server"; でexportした関数が意図せず?公開される
                              • Cookie の HttpOnly 属性について勘違いしていたこと - Qiita

                                追記 コメントありがとうございます、ご指摘を参考に読みやすくなるように修正しました! はじめに (本記事は初歩的な内容ですが、少なくとも僕は引っかかったので記事化したものです) Cookie に HttpOnly という属性があります。 この HttpOnly を設定することで JavaScript からの直接の参照・操作を禁止することによって、XSS などの手法によって悪意のある第三者から Cookie の内容を見られるのを防止することができます。 ここまでは多くの記事に書いてあるのですが、私は一点ずっと勘違いしていました。 いや、直接値を読み取れないってだけで、API呼び出しとかの時に使えないってわけじゃないんかーーーーーーーーーーい!!! いや、まあそれすらできなかったら何のための Cookie なんですかという話なのでそりゃそうなんですが... ということで見ていきます。 実装例(

                                  Cookie の HttpOnly 属性について勘違いしていたこと - Qiita
                                • 非同期処理(C# によるプログラミング入門)

                                  概要 注意: 2010年10月時点での CTP (community technology preview)版を元にした記事になっています。 製品版までに変更の可能性があります。 (async や await というキーワードも変更される可能性あり。) Ver. 5.0 スレッドを使った非同期処理を行いたい動機としては、以下の2つが挙げられます。 非ブロッキング処理: I/O 待ちとかで UI スレッドをフリーズさせないようにする 並列処理: マルチコアを活かした並列処理でパフォーマンス向上 このうち、並列処理に関しては、Parallel クラスや Parallel LINQ で簡単に対応可能 (ラムダ式や LINQ を使えば、並列じゃない場合とほとんど変わらず書けます。 参考: 「[雑記] スレッド プールとタスク」)。 一方の、非ブロッキング処理は、今までは結構面倒だったものの、 as

                                    非同期処理(C# によるプログラミング入門)
                                  • jest における MSW の活用事例

                                    MSW を使った jest のテストについて、引数などの検査が面倒という記事を拝見したので、もし同様にアプローチを模索されている方がいらっしゃれば参考に、と思い記事にしました。筆者は普段以下の様に、server.use内にjest.fnを仕込みテストしています。例えば API が2回呼ばれたことを検証する場合、次の様になります。 const server = setupMockServer(...handlers); describe("API call の検証", () => { const mockFn = jest.fn(); beforeEach(() => { server.use( rest.get("/path/to/api", async (req, res, ctx) => { mockFn(); // <- here return res(ctx.json({}));

                                      jest における MSW の活用事例
                                    • neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する

                                      Result 型 (類似するものとして Either Monad の方が有名かもしれません) を導入する場合、アプリケーション全体の設計を変えたり、全箇所を書き換える必要はありません。 neverthrow は部分的に使用でき影響範囲も閉じるので、局所的に使い始めることができます。 (Rust のような) Result 型 とは ざっくり言うと関数の処理の結果と成否を 1 つの型 Result<T, E> で表したものです。(T は期待する結果の型、 E はエラーを表現する型) 筆者は詳しくはないのですが、 Haskell 等にある Either<L, R> とは厳密には違うようです(Either は両方の値が使用可能であることを前提としている?) 参考: Rust ではなぜ、Either 型ではなく Result 型を採用しているのか neverthrow とは TypeScript で

                                        neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
                                      • イメージで伝われ!図解JavaScriptの非同期処理 - メモを揉め

                                        ものすごい久しぶりのブログ更新になってしまいましたが、今回はJavaScriptの非同期処理について書いてみたいと思います。 このテーマはうまく説明できない部分が毎回ちょいちょいあるのですが、こうしてまとめることで頭の中が整理されていくということもあるので、最後まで頑張りたいと思います。 前提としてブラウザの実装の詳細や仕様については分からない部分も多いため、間違っている部分もあるかもしれません。 もし、お気づきの点などありましたら、教えていただけると助かります。 目次 目次 同期と非同期の比較その1 同期的実行 非同期的実行 同期的実行 非同期的実行 同期と非同期の比較その2 同期的実行 非同期的実行 並行処理と並列処理 非同期API 非同期APIの特徴 その他の非同期API addEventListenerに渡したコールバックの同期的実行 非同期処理のユースケース コールバック Pro

                                          イメージで伝われ!図解JavaScriptの非同期処理 - メモを揉め
                                        • プログラム3行ではじめるWebAssembly、軽量静的型付け「Zen言語」

                                          webアプリのサイズ、小さいほど読み込みが早くて快適に! Zen言語でシンプルな WebAssembly、動かしてみました。(src on GitHub) C言語以上に細部に手が届く、軽量静的型付け言語の「Zen言語」は、WebAssembly出力にも対応。 下記、たった3行、誰にでも分かりやすい足し算するだけのプログラムを「zen build」でコンパイルするだけ、HTML/JavaScriptから呼び出して、利用できます。(src on GitHub) export fn add(a: i32, b: i32) i32 { return a + b; } (プログラム解説) export → 外部から使うよ fn → function 関数だよ add → 関数名はaddにしよう a: i32 → 符号付き整数32bitのパラーメータaが関数addの引数1つ目 b: i32 → 符号付

                                            プログラム3行ではじめるWebAssembly、軽量静的型付け「Zen言語」
                                          • TypeScript 2.1のkeyofとかMapped typesがアツい - Qiita

                                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                              TypeScript 2.1のkeyofとかMapped typesがアツい - Qiita
                                            • CI 環境でのユニットテストの実行時間を2倍速くした話 (Jest + Mongo DB + Circle CI) - ミツモア Tech blog

                                              こんにちは。ミツモアでテックリードしております白柳(@yanaemon) です。 ミツモアのプロダクトは TypeScript で、クライアントサイドの React とサーバサイドの Node.js で書かれており、ユニットテストは Jest + Mongo DB + Circle CI を利用しています。 しかし、プロダクトが大きくなるにつれて、全ユニットテストを実行するのに 10 分程度かかり、開発効率が悪くなっていました。 今回は、それを 2 倍以上速度改善した取り組みについて紹介します。 実施したこと いきなりですが、具体的に実施したことと、改善結果になります。 実施内容 改善結果 1. ファイル分割をし、並列度をあげる これ単体では速度改善は期待できない 2. テスト対象を修正されたファイルのみにする x1 ~ x10 速度 UP ※ただし最終的にはやめました 3. DB 生成な

                                                CI 環境でのユニットテストの実行時間を2倍速くした話 (Jest + Mongo DB + Circle CI) - ミツモア Tech blog
                                              • Asynchronous Programming with Async and Await (C# and Visual Basic)

                                                This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

                                                  Asynchronous Programming with Async and Await (C# and Visual Basic)
                                                • 令和最新版 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
                                                  • TypeScript 2.1.1 変更点 - Qiita

                                                    追記1:Quramyパイセンから"定義にジャンプする"の解決が違う旨教えてもらったので修正 こんばんは@vvakameです。 TypeScript 2.1(RC)がアナウンスされましたね。 2.0系の正式リリースである2.0.3が9/22のリリースなので、1月半でminor versionが上がりました。 変更点まとめ 公式ブログ記事では小さい更新かと思いきや、Roadmapを見ると結構たくさんの更新があります。 トランスフォームベースのJSコード生成 (Switch to a transformation-based emitter) generatorのdownpileとかに必要だった認識(今回はgeneratorのdownpileはなしっぽい async/awaitのes3 or es5 downpileのサポート (async/await support for ES5/ES3)

                                                      TypeScript 2.1.1 変更点 - Qiita
                                                    • neue cc - C#のasync/await再考, タイムアウト処理のベストプラクティス, UniTask v2.2.0

                                                      お題を3つ並べましたが、記事は逆順で書いていきます!というわけで、UniTask v2.2.0を出しました。改めてUniTask v2とはUnityのためのゼロアロケーションasync/awaitと非同期LINQを実現するライブラリで、とv2リリース時の解説記事を貼っつけましたが、ちょいちょい細かい改善を続けてまして、今回v2.2.0になります。 PlayerLoopへのループ挿入のカスタマイズ対応 現状のUnityはPlayerLoop上で動いていて、Unity 2020.1のリストをここに置いておきましたが、デフォルトでは120個ぐらいのループがエンジンから駆動されています。UpdateループだけでもScriptRunBehaviourUpdate, ScriptRunDelayedDynamicFrameRate, ScriptRunDelayedTasks, DirectorUpd

                                                      • Promiseの使い方、それに代わるasync/awaitの使い方 - Qiita

                                                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                          Promiseの使い方、それに代わるasync/awaitの使い方 - Qiita
                                                        • Node.js で最近変わりそうな Permission Policy について - from scratch

                                                          さてさて、 25日目の Node.js アドベントカレンダーです。もう年の瀬ですね。振り返りシーズンなんで色々書きたかったんですが、ネタを見つけているうちにこの日になってしまいました。 Permission Policy とは Node.js に新しく Permission を提供しようという試みです。元々 Node.js では同じプロセス内で動いてしまえば どんなモジュールであろうと同じ権限で色々できますね。外部ネットワークにアクセスしたり、ファイルを読み書きしたり。 プロセスに元から許可されている権限は全てできてしまいます。これが今まででは普通でしたが、今後はもしかしたら変わるかも?という話です。 権限に関して制限をかけて、拒否させることが可能です。 以下のような要領で拒絶させることができるようになります。 $ node --policy-deny=net 上のオプションでプロセス内の

                                                            Node.js で最近変わりそうな Permission Policy について - from scratch
                                                          • 【C#】async/awaitのキャンセル処理まとめ - Qiita

                                                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに C#におけるasync/awaitを使う上で、絶対に意識しないといけないものは「キャンセル処理」です。 正しく処理をキャンセルしないとメモリリークを起こしたり、デッドロックやデータ不整合を引き起こす可能性があります。 今回はこの「async/awaitにおけるキャンセル処理」について話します。 対象 C#におけるasync/await全般 Task/ValueTask/UniTaskすべてに共通します Unity含む C#のasyc/awaitについてイマイチ自信が持ててない人 先に「結論」 asyncメソッドはCancell

                                                              【C#】async/awaitのキャンセル処理まとめ - Qiita
                                                            • .NET開発における非同期処理の基礎と歴史

                                                              連載:C# 5.0&VB 11.0新機能「async/await非同期メソッド」入門 第1回 .NET開発における非同期処理の基礎と歴史 鈴木 孝明 2012/08/31 ■.NET Frameworkにおける非同期処理実装技術の歴史 それでは、.NET Frameworkがこれまでに提供してきた非同期処理実装技術の進化の歩みについて、復習も兼ねながら見ていこう。大まかにいうとFigure 3のようになる。

                                                              • ブレイドエクスロードを例にした大規模開発におけるC#コード解析とUniRxでの非同期処理のベストプラクティス

                                                                ブレイドエクスロードを例にした大規模開発におけるC#コード解析とUniRxでの非同期処理のベストプラクティス 2018.11.07 Cysharpの河合(@neuecc)です。アプリボットさんには、gRPC関連の支援なども含め、ちょこちょことお邪魔しております。と、いうわけで、ゲスト寄稿回!今回は先日TGS2018で発表された新作、ブレイドエクスロードにおける UniRx の使用例について、解析手法など含めてご紹介します。 UniRxは、私の開発しているオープンソースのライブラリで、Unityに特化したReactive Extensionsの実装となります。イベント周りの処理や、非同期周りの処理が書きやすくなる、ということを利点にしていて、現在は特に日本のモバイルゲームのライセンス表記ではよく見かけるようになりました。 ブレイドエクスロードでは、広範に全面的に根っこから導入されていると聞い

                                                                  ブレイドエクスロードを例にした大規模開発におけるC#コード解析とUniRxでの非同期処理のベストプラクティス
                                                                • Taming the asynchronous beast with ES7

                                                                  One of the trickiest aspects of PouchDB is that its API is asynchronous. I see no shortage of confused questions on Stack Overflow, Github, and IRC, and most often they stem from a misunderstanding of callbacks and promises. We can't really help it. PouchDB is an abstraction over IndexedDB, WebSQL, LevelDB (in Node), and CouchDB (via Ajax). All of those APIs are asynchronous; hence PouchDB must be

                                                                  • Proposalには載っていないSwift 5のasync/awaitが素晴らしいと思う理論的背景 - Qiita

                                                                    追記 (2020-08-05) 投稿時には async/await が Swift 5 で導入されそうでしたが、 2020 年 8 月( Swift 5.2 )現在ではまだ async/await は導入されておらず、 Swift 6 での導入が有力になっています。 async/await は "Swift Concurrency Manifesto" の最初の Part に挙げられていますが、公式にアナウンスされた "On the road to Swift 6" の中で Concurrency が挙げられています。 先日、 async に関する PR が Swift リポジトリの master ブランチにマージされました。 2ヶ月ほど前、 Chris Lattner から swift-evolution に "async/await + actors" というタイトルで驚きのメールが流

                                                                      Proposalには載っていないSwift 5のasync/awaitが素晴らしいと思う理論的背景 - Qiita
                                                                    • ES7 async functions

                                                                      Posted 27 March 2014 - hey at least it's not another progressive enhancement article They're brilliant. They're brilliant and I want laws changed so I can marry them. Update: This feature is now shipping in browsers. I've written a more up-to-date and in-depth guide. Async with promises In the HTML5Rocks article on promises, the final example show how you'd load some JSON data for a story, then us

                                                                        ES7 async functions
                                                                      • Cloud Functions with Puppeteer + Google Apps Script でスクレイピングサーバーをサクッと作る - Qiita

                                                                        2018/08/16 に Google Cloud Functions が Puppeteer をサポートしました Introducing headless Chrome support in Cloud Functions and App Engine Puppeteer が使えるようになったので、ヘッドレス Chrome を利用したスクレイピングが Cloud Functions でおこなえるようになりました。 Node v8 にも対応したので async/await も使えますよ! しかし Cloud Functions の単体利用は使い勝手がちょっと悪いです。 それを補うために Google Apps Script(GAS)と併用します。 GAS を利用することでスプレッドシートに書き込んでデータの保存場所としたり、メールを送ったりなどが簡単に行なえます。 この2つを使う最大のメリ

                                                                          Cloud Functions with Puppeteer + Google Apps Script でスクレイピングサーバーをサクッと作る - Qiita
                                                                        • QuicTransport によるアプリケーションレイヤでの QUIC 活用 | blog.jxck.io

                                                                          Intro WebTransport の Quic 実装である QuicTransport の開発が Chrome で行われている。 Chrome で Origin Trials が開始されたので仕様と実装を解説する。 QuicTransport WebTransport については 以前解説した が、位置づけとしてはこうだ。 WebTransport QuicTransport Http3Transport 今回入ったのは、WebTransport の通信レイヤとして QUIC を用いた QuicTransport という位置づけになる。 IETF で WebTransport over QUIC としてバインディングの仕様が策定され、WICG でブラウザ API が策定されている。 draft-vvv-webtransport-quic-00 - WebTransport over Q

                                                                            QuicTransport によるアプリケーションレイヤでの QUIC 活用 | blog.jxck.io
                                                                          • Kotlin コルーチンを 理解しよう

                                                                            - コルーチンとはなにか - Kotlinはどのようにコルーチンを実現しているのか - Kotlin コルーチンの基本的な使い方

                                                                              Kotlin コルーチンを 理解しよう
                                                                            • テストの実行時間を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
                                                                              • IndexedDbをActiveRecord+Promiseっぽく扱えてJSONSchemaでバリデーションできてnodeでもオンメモリで動いてくORMみたいな何か作ってみた - Qiita

                                                                                タイトル盛りすぎた。 mizchi/stone-skin です。 npm install stone-skin で入るんでbrowserifyと一緒に使ってください。 命名は、時間があったらFF14やるんだけどなという気持ちを込めて。(ナイトだけLv50にしてから1年以上触ってない) この前紹介したArdaと一緒で、本番環境でドッグフーディングしつつ開発したので、使い物になるはず。今さっきドキュメント書いてv0.1.0にしたので紹介。 サンプルコード 非同期APIはPromiseを返すので、この前書いた JavaScript - Babelのasync/await試してみた(+中の処理をちょっと追ってみた) - Qiita のasync/awaitを使いつつ紹介。 import "babel/polyfill"; import StoneSkin from '../with-tv4'; c

                                                                                  IndexedDbをActiveRecord+Promiseっぽく扱えてJSONSchemaでバリデーションできてnodeでもオンメモリで動いてくORMみたいな何か作ってみた - Qiita
                                                                                • 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 を使ってスピードアップ