並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 111件

新着順 人気順

awaitの検索結果41 - 80 件 / 111件

  • async/awaitのaの違い~async wait説への反論 - Qiita

    はじめに ncaq氏の記事を読んで様々なことを学習できました。 asyncが「syncしない」なのにawaitが「waitする」なのは何故か。awaitがasync waitであるという説は正しいのか。async/awaitの語源について学習したことを記事にしました。 asyncとawaitのa-の違い asyncはsynchronize(同期)にa-(否定)が付いてasync(同期しない)となります。 awaitはwait(待つ)にa-(否定)が付いて「待たない」となりません。a-(方向)が付いてawait(待つ)となります。 a-(否定)とa-(方向)の違いです。 a-(否定)は「エイ」と発音する傾向 asynchronous エイスィンクロナス 非同期 Ajax エイジャックス(Asynchronous JavaScript And XML) asymmetry エイスィメトゥリィ

      async/awaitのaの違い~async wait説への反論 - Qiita
    • Playwrightも知らないで開発してる君たちへ - Qiita

      重要なのはここで、 pw.webkit.launch() とするか pw.chromium.launch() とするかで 起動するブラウザが変わるだけです。 デバイスの設定も簡単 pw.devices に主な端末のviewport, UAの情報がまとめられています。 デバイスのリスト: https://github.com/microsoft/playwright/blob/master/src/deviceDescriptors.ts const pw = require('playwright'); // iPhone11のデバイス情報を取得 const iPhone11 = pw.devices['iPhone 11 Pro']; (async () => { const browser = await pw.webkit.launch(); const context = awai

        Playwrightも知らないで開発してる君たちへ - Qiita
      • top-level awaitがどのようにES Modulesに影響するのか完全に理解する - Qiita

        先日、TypeScript 3.8 RCが公開されました。TypeScript 3.8はクラスのprivateフィールド(#nameみたいなやつ)を始めとして、ECMAScriptの新機能のサポートがいくつか追加されています。この記事で取り扱うtop-level awaitもその一つです。 この記事ではtop-level awaitに焦点を当てて、その意味や使い方について余すところなく解説します。top-level awaitは一見単純な機能に見えますが、実はモジュール (ES Modules) と深い関係があり、そこがtop-level awaitの特に難しい点です。そこで、この記事ではECMAScriptのモジュールについても詳しく解説します。この記事を読んでtop-level awaitを完全に理解して備えましょう。 ※ この記事は3分の1くらい読むと「まとめ」があり、残りはおまけで

          top-level awaitがどのようにES Modulesに影響するのか完全に理解する - Qiita
        • Chrome(Canary) の Native File System API で ローカルファイルの読み書きをする - mizchi's blog

          ブラウザ上でローカルファイルの読み書きができる Native File System API が ChromeCanary で実装された。 前々から欲しかった機能なので、自分が作ってる markdown preview ツールに実装してみた。 Intent to ship https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/noan0cgEBGQ/t8DuK8_hDwAJ 仕様 http://wicg.github.io/native-file-system/ 動かすとこんな感じ https://mdbuf.netlify.com/ で Meta+O/Meta+S のキーバインドを振ってる。 有効化 https://www.google.com/intl/ja/chrome/canary/ をダウンロード chrom

            Chrome(Canary) の Native File System API で ローカルファイルの読み書きをする - mizchi's blog
          • Playwright & Vite ではじめる脱レガシー向け軽量 Visual Regression Test - Cybozu Inside Out | サイボウズエンジニアのブログ

            こんにちは!フロントエンドエキスパートチームの @mugi_uno です。 みなさんは Visual Regression Test は普段活用していますか? 昨今では事例もよく耳にするようになった印象です。一度使って手放せなくなった方もいるのではないでしょうか。 今回の記事では、通常のプロダクト新規開発とは異なる “脱レガシー” の文脈で Playwright を用いた簡易的な Visual Regression Test を試してみたので、導入に至る経緯と、どのように実施しているかを紹介します。 フロントエンドリアーキテクチャとサイレントリリース 現在サイボウズでは kintone のフロントエンドリアーキテクチャプロジェクトと称して、Closure Tools から React への脱レガシー作業が進行中です。プロジェクトの詳細については @koba04 が書いた次の記事をご覧くださ

              Playwright & Vite ではじめる脱レガシー向け軽量 Visual Regression Test - Cybozu Inside Out | サイボウズエンジニアのブログ
            • Next.js + esa.io + VercelでJAMStackな爆速ブログを構築する - パンダのプログラミングブログ

              追記: 本記事がesa.ioの公式Twitterに取り上げられました! esaに書いた記事をNext.jsで公開する Next.jsのバージョン9.3から、ビルド時に外部ソースからデータを取得するgetStaticPropsというAPIが公開されました。 ブログは静的なコンテンツです。ブログの内容はユーザーに応じて動的に変わるということはありません。そして、getStaticPropsは静的なページを構築するために最適なAPIです。 そこで、esaにmarkdownで書いた記事をNext.jsで表示するサイトを構築しました。 実際にサイトにアクセスして記事を開いてみてください。爆速で遷移するのが体験できます。Lighthouseの成績もバツグンです。(blog-starterをベースに利用したため、コンテンツはそのレポジトリの内容を踏襲しています) デモサイトのコードはGitHubにアップ

                Next.js + esa.io + VercelでJAMStackな爆速ブログを構築する - パンダのプログラミングブログ
              • Puppeteer +Lighthouse +GitHubActionsで認証付きWebアプリのWebperfを定期計測

                Puppeteer + Lighthouse + GitHub Actions を使って Web アプリのフロントエンドパフォーマンスを定期計測するプロジェクトを作ってみたら良い感じだったので紹介です。 何を作った? このように GitHub Actions 上で 認証付きの Web アプリに対して Puppeteer 介し Lighthouse を定期実行し、結果を Datadog に送信するプロジェクトを作りました。 実際にそのプロジェクトの計測値を使った Datadog のダッシュボードはこちらです。 Webperf の主要指標をページ別に時系列で表示しています。 サンプルプロジェクトはこちらにあります。 以降で実装について簡単に解説します。 Puppeteer + Lighthouse によるパフォーマンス計測 Puppeteer + Lighthouse によるパフォーマンス計測

                  Puppeteer +Lighthouse +GitHubActionsで認証付きWebアプリのWebperfを定期計測
                • Rustのasync/awaitとスケジューラの話 / rust-async-await

                  その Swift コード、
こう書き換えてみないか / Polishing your Swift code with me!

                    Rustのasync/awaitとスケジューラの話 / rust-async-await
                  • pprof を使って nodejs アプリケーションのプロファイルを取る - その手の平は尻もつかめるさ

                    pprof って go のやつでしょ? node のプロファイルが取れるわけ無いやろ,と僕も思っていたんですが以下のライブラリを使うことで取れることがわかりました. github.com 使い方については Using the Profiler に書いてあるとおりで,アプリケーション側に const profile = await pprof.time.profile({ durationMillis: 10000, // time in milliseconds for which to // collect profile. }); const buf = await pprof.encode(profile); fs.writeFile('wall.pb.gz', buf, (err) => { if (err) throw err; }); という風に書いてあげるとwall time

                      pprof を使って nodejs アプリケーションのプロファイルを取る - その手の平は尻もつかめるさ
                    • ⭐️🎀 JavaScript Visualized: Promises & Async/Await

                      Ever had to deal with JS code that just... didn't run the way you expected it to? Maybe it seemed like functions got executed at random, unpredictable times, or the execution got delayed. There's a chance you were dealing with a cool new feature that ES6 introduced: Promises! My curiosity from many years ago has paid off and my sleepless nights have once again given me the time to make some animat

                        ⭐️🎀 JavaScript Visualized: Promises & Async/Await
                      • 負荷試験との向き合い方 - スタディサプリ Product Team Blog

                        こんにちは。SRE の近藤(@chaspy)です。 先日、より高い信頼性でサービスを提供するために、スタディサプリ小中高大のサービスの最後の砦であるデータベース、MongoDB のインスタンスクラスのスケールアップを行いました。また、スケールアップをするにあたり、負荷試験を行いました。 本記事では、データベースインスタンスのスケールアップの際に行なった負荷試験に対する考え方と、得た学びを紹介します。 なぜスケールアップするのか サービスの急成長に伴い、アクセス数もデータ量も増加しています。数年前に「しばらくは大丈夫」と判断できるインスタンスクラスにスケールアップをしたデータベースも、高負荷時には性能が劣化してしまう問題に遭遇しました。 私たちの MongoDB は AWS 上に EC2 インスタンスとしてセルフホストしており、MongoDB Cloud Manager を使って運用の一部を

                          負荷試験との向き合い方 - スタディサプリ Product Team Blog
                        • 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を導入しアクセシビリティの自動テストをできるようにした
                          • neue cc - .NET 6とAngleSharpによるC#でのスクレイピング技法

                            C# Advent Calendar 2021の参加記事となっています。去年は2個エントリーしたあげく、1個すっぽかした(!)という有様だったので、今年は反省してちゃんと書きます。 スクレイピングに関しては10年前にC#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法という記事でSGMLReaderを使ったやり方を紹介していたのですが、10年前ですよ、10年前!さすがにもう古臭くて、現在ではもっとずっと効率的に簡単にできるようになってます。 今回メインで使うのはAngleSharpというライブラリです。AngleSharp自体は2015年ぐらいからもう既に定番ライブラリとして、日本でも紹介記事が幾つかあります。が、いまいち踏み込んで書かれているものがない気がするので、今回はもう少しがっつりと紹介していきたいと思っています。それと直近Visual

                            • Rust大好きっ子のためのデータベース考

                              経緯 趣味プロジェクトとしてRustをサーバーサイドに採用したWebアプリケーションをぼんやり考えています。その過程で、データベースのチョイスについてかなり悩んだので、一度ここでまとめておきます。 前提 データベースに入れるデータは ・ユーザーデータ(名前、メールアドレスなど) ・アイテムデータ(ユーザーが登録するもの。アイテム名、更新時間など) といったごく一般的なものを考えます。 サーバーサイドのフレームワークは、actix-web…で考えていましたが、最終的には非同期ランタイムとしてtokioを使うaxumにしました(理由は後述)。 また、データ量やアクセス頻度については仮定をおきません。巨大なデータを扱うということになれば、おそらくその時点でかなり候補が絞られることになるかと思いますが、今回は運用面でのパフォーマンスの差については扱わないものとします。 特に今回は「趣味」なので、趣

                                Rust大好きっ子のためのデータベース考
                              • Rust Advent Calendar 2019 1日目 Rust の非同期プログラミングモデルはランタイム観点だと Go のそれに似ている - keno_ssの日記

                                この記事は Rust Advent Calendar 2019 の1日目の記事になります. 明日は topecongiro さんの予定です. TL;DR 去る 11/07 に Rust 1.39.0 がリリースされました. これはユーザー待望の async/await 構文が言語機能として取り込まれた安定版リリースとなります. Advent Calendar 最初の記事としては取り上げないわけにはいきません. もう既に他の良い記事がたくさん書かれていますが, この記事ではそれらを補完する視点から説明してみようと思います. Rust と非同期 IO の歴史 κeenのHappy Hacκing Blog -- async/awaitと合成可能性 async/await の実装と利便性のバランスの良さについて. κeenのHappy Hacκing Blog -- RustのFutureとその

                                  Rust Advent Calendar 2019 1日目 Rust の非同期プログラミングモデルはランタイム観点だと Go のそれに似ている - keno_ssの日記
                                • ブラウザと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
                                      • 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
                                        • 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 の主な変更点 - 別にしんどくないブログ
                                          • 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で来たる並行処理の大型アップデート近況
                                            • Cookie の HttpOnly 属性について勘違いしていたこと - Qiita

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

                                                Cookie の HttpOnly 属性について勘違いしていたこと - Qiita
                                              • イメージで伝われ!図解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言語」
                                                  • 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 の活用事例
                                                    • 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
                                                      • 令和最新版 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
                                                        • 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

                                                          • 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

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

                                                                【C#】async/awaitのキャンセル処理まとめ - Qiita
                                                              • テストの実行時間を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
                                                                • 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

                                                                    QuicTransport によるアプリケーションレイヤでの QUIC 活用 | blog.jxck.io
                                                                  • 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 を使ってスピードアップ
                                                                    • System.CommandLine 入門 | Yucchiy's Note

                                                                      コマンドラインアプリケーションを作りたかったのでSystem.CommandLineを利用してみた。その備忘録としてこの記事を記載します。 System.CommandLine とは System.ConmmandLineは.NETでコンソールアプリケーション(CLI)を作るための.NET公式のライブラリです。 触った印象ではライブラリというよりかはフレームワークの立ち位置の印象です。 主にCLIのコマンドライン引数のパースしその結果をCLIアプリケーションの引数などにマッピングしたり、 CLIアプリのエントリーポイントの呼び出し、そしてヘルプなどCLIでよく実装される出力(System.CommandLineではレンダリングと呼んでいる)を自動で行ったりしてくれます。 サンプルアプリを実装してみる command-line-api/Your-first-app-with-System-C

                                                                        System.CommandLine 入門 | Yucchiy's Note
                                                                      • GraphQL のレスポンスのモックデータの作成を補助する TypeScript ライブラリを作った - mizdra's blog

                                                                        GraphQL を使って Web アプリケーションを実装していると、GraphQL API のリクエストをモックしたいことがあると思います。 ユニットテストのために、ダミーレスポンスに差し替えたい ビジュアルリグレッションテストのために、ダミーレスポンスに差し替えたい Storybook で story を書くために、ダミーレスポンスに差し替えたい バックエンドの resolver 実装を待たずにフロントエンド側の開発を始めるために、ダミーレスポンスに差し替えたい 一般には GraphQL Client にモックするための機能が実装されてるので、そうしたものを使うことが多いと思います。 zenn.dev また最近は Client よりも外側のレイヤーでリクエストを interrupt してモックする「msw」を使うケースも増えてきてます *1。 blog.engineer.adways.n

                                                                          GraphQL のレスポンスのモックデータの作成を補助する TypeScript ライブラリを作った - mizdra's blog
                                                                        • PromiseによるJavaScript非同期処理レシピ集

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

                                                                            PromiseによるJavaScript非同期処理レシピ集
                                                                          • 国税庁法人番号を使った経産省発、法人種別名の抽出コンポーネントのESモジュール版公開

                                                                            ブラウザやDenoでサクッと動く、法人番号からの検索するESモジュールができました。 好評な経産省によるオープンソース「IMIコンポーネントツール」の7つ道具、一通りできました! 「IMIコンポーネントツール」法人種別名の抽出コンポーネント追加(src on GitHub) サンプルとしていれている番号はどんな法人でしょう? [変換]ボタンを押してみまてください。 使い方は簡単です。下記コードを main.html として保存して、ブラウザで開くだけ! <script type="module"> import IMIEnrichmentHojin from "https://code4sabae.github.io/imi-enrichment-hojin-es/IMIEnrichmentHojin.mjs"; const main = async () => { const json

                                                                              国税庁法人番号を使った経産省発、法人種別名の抽出コンポーネントのESモジュール版公開
                                                                            • Universal Data Fetch ライブラリ、 Specter の紹介 - from scratch

                                                                              この記事は Recruit Engineers Advent Calendar 2019 の 16日目の記事です。 adventar.org 最近僕が作っている OSS である Specter の話をします。 github.com Specter とは Client から Backend と BFF から Backend への Universal なデータフェッチを提供してくれるためのツールです。以下の特徴を持ちます。 軽量 TypeScript Freindly な型付け機能 投機的先読み 2年ほど前に報告されたCPUの投機的実行に基づく脆弱性である、 Spectre から来ています。と言っても、脆弱性の名前ではありません。投機的先読みを機能として持っているため、この名前をつけています(不吉な名前ではありますが・・・)。 まずは、 GraphQL でも grpc-web でもなく、なぜこ

                                                                                Universal Data Fetch ライブラリ、 Specter の紹介 - from scratch
                                                                              • TypeORMはNode.js開発のスタンダードになるか? - Qiita

                                                                                こんにちはGAOGAOの代表をしております @tejitak です。GAOGAOアドベントカレンダー 17日目の記事です。GAOGAOのスタートアップスタジオにて、最近お手伝いしている海外のお客様案件にてTypeORMを導入しています。 今回の記事では、TypeORMとはなんぞや?という方を対象として、まだ比較的日本語記事が少ないTypeORMについてのご紹介します。 Node.jsのORM Node.jsでサーバーサイドを実装する際にはExpressを使うことが多いと思います。ExpressはサーバーサイドのWebフレームワークで、データベースを扱うORMは自由に導入することができます。以下代表的なORMを紹介します。 mongoose 公式ドキュメント: https://mongoosejs.com/ MongoDBはJavaScriptとの相性の良さから昔からNode.jsの多くのプ

                                                                                  TypeORMはNode.js開発のスタンダードになるか? - Qiita
                                                                                • Async/await

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

                                                                                    Async/await