並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 62件

新着順 人気順

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

  • JavaScript で then を使うのは避けよう(await / async の初級者まとめ)

    JavaScript において、特に苦手とする人が多い印象のある Promise ですが、await と async の文法が導入されたことで、Promise の仕様を深く理解しなくても非同期処理を自然に書けるようになってきたのではないかと思います。 極論ですが、JavaScript の非同期処理は async await new Promise のみで、(ほぼ)全て表現可能です。特別な理由がない限り then を使わないようにしましょう、ということを周知するのがこの記事の目的です。 なお本記事では Promise の rejected の状態についてほとんど解説しておりません。基本を理解したら、別記事でぜひ学んでみてください。 Promise とは? Promise は、少し乱暴に説明すると「実行が終わっていないかもしれない何らかの関数」を包んだオブジェクトです。 普通の関数とは違って、

    • フロントエンド開発の効率化!Nx と Playwright でビジュアルリグレッションテストを賢く実施しよう - Techtouch Developers Blog

      はじめに なぜ VRT が必要なのか? VRTとは? Nx と Playwright で賢く VRT を実施する どう賢く実施したか 結果 まとめ 参考資料 はじめに 「食べログ ラーメン TOKYO 百名店」の全店舗訪問を目指してラーメン巡りを続けているフロントエンドエンジニアの kenshin です。 フロントエンド開発者の皆さん、新機能を追加したり、ライブラリをアップデートした後に UI が予期せず変更されてしまった経験はありませんか?このような問題を素早く検知し、未然に防ぐ方法として、ビジュアルリグレッションテスト(以下、VRT)があります。 この記事では、Nx と Playwright を用いて VRT を効率的に行う方法をご紹介します! なぜ VRT が必要なのか? フロントエンド開発では、新機能の追加やライブラリのアップデートにより、予期せぬ UI 変更が発生することがありま

        フロントエンド開発の効率化!Nx と Playwright でビジュアルリグレッションテストを賢く実施しよう - Techtouch Developers Blog
      • Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog

        最近はAIエンジニアを名乗ってるerukitiです。フロントエンドもバックエンドも、LLMを触るあれこれもやってるので、「AIエンジニア」くらいを名乗るとちょうどよさそうだなと思ってます。いずれLLM自体の開発なんかもやってるかもしれません。 LLMプロダクトを開発していると、構造化データを作りたいのに、Anthropic ClaudeのAPIにはJSONモードが無いことや、なんならJSONモードやfunction callingを使っても、データが正しい形式に従ってることは保証しがたい、みたいな自体に遭遇することがあります。 JSONが出力できたとしても、構造化データをうまく吐き出させるのは難しいものです。文字列を出力させたいけど、複数あるときは、配列なのか、それともカンマ区切りなのか?項目がオプショナルの場合はどうするか?項目が存在しない、空文字や 0 や undefined や nu

          Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog
        • [Playwright]VScodeの拡張機能でらくらくブラウザ操作

          はじめに こんにちは。スペースマーケットでWebエンジニアしてます、新卒のdumbled0reです。 4月に入社してから早2ヶ月経って、入社式が昨日のように感じています。時の流れは早い。 日頃、ブラウザ操作する時はPythonのライブラリであるSeleniumを使用していましたが、vscodeにあるPlaywrightの拡張機能を使用すれば非エンジニアの方でも簡単にブラウザ操作用のコードを書けたので紹介します。 Playwrightとは PlaywrightとはMicrosoftが開発したオープンソースのE2Eテスト自動化フレームワークです。 Chromium、Firefox、WebKitなどの主要なブラウザで対応しており、1つのコードで複数のブラウザ上で動作確認も行えます。 環境 node 20.9.0 playwright 1.44.0 拡張機能のインストール 今回使用するVScode

            [Playwright]VScodeの拡張機能でらくらくブラウザ操作
          • 【C#】非同期処理とasync/await - Annulus Games

            今回の記事はasync/awaitについて。 C#に限らず、現在では多くのプログラミング言語が非同期処理を扱う言語機能としてasync/awaitを採用しています。現在の.NETでも至る所にasync/awaitが使われており、避けて通ることはできない重要な機能となっています。 そこで今回は、C#における非同期処理とasync/await、またC#8.0で導入された非同期ストリームとIAsyncEnumerable<T>について、基本的な使い方を解説していきます。 また、記事の後半では実際にasync/awaitがどのように動作しているかをコンパイル結果を通して説明していきます。この辺りはやや高度なトピックになるため読み飛ばしていただいても構いませんが、async/awaitをより深く理解したい方は是非そちらも読んでみてください。 同期処理 / 非同期処理 async/awaitに関する話

              【C#】非同期処理とasync/await - Annulus Games
            • YAGNIと拡張性のあいだ - 電通総研 テックブログ

              こんにちは!Xイノベーション本部プロダクトイノベーションセンターの米久保 剛です。 弊社のテックブログ上では今回が初めての記事執筆となります。アーキテクチャ設計やアプリケーション設計の話を中心に、不定期に情報発信していきたいと考えています。 YAGNI原則 YAGNI原則をご存知でしょうか。 エクストリーム・プログラミング(XP)の重要な原則の一つであるこの原則は、You Ain't Gonna Need Itのアクロニム(頭字語)から命名されています。日本語にすると「どうせ要らないって」というニュアンスでしょうか。推測に基づいて余計な機能を作り込んだところで将来実際に使われる可能性は低く、時間と労力を無駄にするばかりかコードの複雑化などのリスクさえあります。ですから、現時点でわかっている要件をちょうど満たすだけの機能を実装すべきであるとYAGNI原則は主張します。 YAGNI原則は機能(

                YAGNIと拡張性のあいだ - 電通総研 テックブログ
              • デジタル復調の学習を目的として、ワンセグチューナーで地デジのフルセグTSを抜く - Qiita

                お詫びと訂正 タイトルにて「ワンセグチューナー」と表記しておりますが、正しくは「ワンセグチューナーの技術を応用したSDR受信機」となります。お詫びして訂正いたします。 本題 さて、茶番はこのあたりにして(今回は使わなかったと言うだけで、本物の「ワンセグチューナー」でもフルセグを受信できるはずなので、あながちタイトが誤っているというわけではないのですが、茶番をやりたいための茶番でした)。 今回はデジタル変調の復調を学習することを目的としているので、それ以外の部分(例えば受信機のハードウェアや、リードソロモン誤り訂正のような情報理論的分野)には触れません。また、限定受信を目的としたスクランブルの解除や映像の復号にも一切触れません。一方で、海外の人が作ったGNU Radioのソースコードをコピペして「受信したよ!」と言っても学習という意味では全く意味がありませんから、ISDB-Tの復調に関しては

                  デジタル復調の学習を目的として、ワンセグチューナーで地デジのフルセグTSを抜く - Qiita
                • 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 より安全に記述する
                  • 楽観的更新を行うための React の useOptimistic フック

                    楽観的更新を行うための React の useOptimistic フック 2024.05.12 React v19 では楽観的更新を行うための `useOptimistic` フックが導入される予定です。楽観的更新とは、ユーザーの操作に対して非同期処理の完了を待たずに UI を更新する手法のことです。楽観的更新によりユーザーの操作に対して即座にフィードバックを提供できるため、UX の向上につながります。 React v19 では楽観的更新を行うための useOptimistic フックが導入される予定です。楽観的更新とは、ユーザーの操作に対して非同期処理の完了を待たずに UI を更新する手法のことです。楽観的更新によりユーザーの操作に対して即座にフィードバックを提供できるため、UX の向上につながります。 楽観的更新を使用している例として、X(旧 Twitter)のいいねボタンがあります

                      楽観的更新を行うための React の useOptimistic フック
                    • VS Code Extensions and WebAssembly

                      It is important to note that the component model does not support low-level (C-style) pointers. As such, you cannot pass object graphs or recursive data structures. In this respect, it shares the same limitations as JSON. To minimize data copying, the component model introduces the concept of resources, which we will explore in more detail in a forthcoming section of this blog post. The jco projec

                        VS Code Extensions and WebAssembly
                      • Server Actions の同時実行制御と画面の状態更新

                        2024 年 5 月現在だと Next.js のドキュメントには明示的な記載がないが、「同時に実行可能な Server Action は常に1つだけ」という件について。 実は自分もこれをちゃんと認識しておらず、先日会社の先輩に教わって初めて知ったので、試したことなどを書き残しておく。 Next.js の場合、App Router (Router Reducer) によって、Server Action の実行が直列化 (キューイング) されるようになっている。 このキューイングの挙動を考慮すると、以下のような呼び出し方は危ういコードとなる。 "use client"; import { useState } from "react"; import { increment } from "./actions"; export default function Page() { const [

                          Server Actions の同時実行制御と画面の状態更新
                        • Cloudflare WorkersのJS RPCを理解する

                          前置き 4月の第1週に行われたCloudflare Developer Week 2024でAIやデータベース関係のアップデートの影に隠れ、WorkersをつくってるKenton氏のブログが2つ投下されました。 そして「JS RPC」という機能が追加されました。 これが一見地味なんですが、非常に楽しい未来を想像できるので、書いてみます。というか以前chimameさんが書いた記事でだいぶ理解できるのですが、もう少し噛み砕いて書いてみます。 Bindings Cloudflareにはいくつもプロダクトがあります。ストレージのR2、データベースD1、KVストアのKVなどです。そしてそれらに繋ぐ方法が「Bindings」という方法です。このBindingsで繋げられるものはたくさんあります。 AI Analytics Engine Browser Rendering D1 Environment

                            Cloudflare WorkersのJS RPCを理解する
                          • プロンプトからREST APIを作るサービス『Hanabi.REST』の技術構成

                            Hanabi.REST AIにHonoJSのバックエンドを書かせて遊ぶ、Hanabi.RESTというサービスを一般公開します。それに際して、この記事では、Hanabiの紹介と簡単に技術スタックを解説していきます。 皆さんは、AIがプロンプトからUIを生成する、V0というサービスをご存じですか?僕はあれを見たときに、ある妄想が膨らみました。 「V0のAPI版があれば、プロンプトからWebアプリケーションを作れるやん!!」と。 当初はハッカソン用の小プロジェクトとして始めましたが、想定以上に面白い結果が得られたため、開発を継続することにしました。技術的な制約、様々な黒魔術による不安定な挙動、LLMの劣化など、数多くの壁を乗り越えながら、約半年をかけてようやくリリースに至りました!! 次のリンクから実際にAIが生成したTwitter風のAPIを試すことが出来ます! また、会員登録すれば誰でもAP

                              プロンプトからREST APIを作るサービス『Hanabi.REST』の技術構成
                            • オブジェクトストレージにおけるファイルアップロードセキュリティ - クラウド時代に"悪意のあるデータの書き込み"を再考する - Flatt Security Blog

                              はじめに セキュリティエンジニアの齋藤ことazaraです。今回は、オブジェクトストレージに対する書き込みに関連するセキュリティリスクの理解と対策についてお話しします。 本ブログは、2024年3月30日に開催された BSides Tokyo で登壇した際の発表について、まとめたものです。 また、ブログ資料化にあたりオブジェクトストレージを主題とした内容の再編と、登壇時に口頭で補足した内容の追記、必要に応じた補足を行なっています。 なぜ今、この問題を取り上げるのか? 近年のクラウドリフト、クラウドシフトにより、クラウドを活用する場面が多くなってきていると思います。その中で、多くの場面で利用されるオブジェクトストレージにおいて、データの書き込み時に気にすべきセキュリティリスクが存在するのをご存知でしょうか? 近年、オブジェクトストレージの不適切な利用に起因する情報漏洩が多く発生しています。そのよ

                                オブジェクトストレージにおけるファイルアップロードセキュリティ - クラウド時代に"悪意のあるデータの書き込み"を再考する - Flatt Security Blog
                              • Vuex から Pinia への移行を行いました - every Tech Blog

                                はじめに この記事は、every Tech Blog Advent Calendar 2024(夏) の1日目の記事です。 DELISH KITCHEN開発部の羽馬(@NaokiHaba)です。 この記事では、DELISH KITCHEN チラシ で使用している Vuex の Pinia への移行について紹介します。 chirashi.delishkitchen.tv 本記事では、これらの知識があることを前提に説明を進めます。 Vue.jsの基本的な知識 Nuxt.jsの基本的な知識 Vuexの基本的な知識 Piniaとは Pinia(ピーニャ)は、Vue.js用の新しい状態管理ライブラリです。Vuexの次のイテレーションとして開発が始まり、Vuex 5に組み込むことを想定していたアイデアを多く取り入れています。 pinia.vuejs.org Piniaは、Vuexと比較して以下のような

                                  Vuex から Pinia への移行を行いました - every Tech Blog
                                • Portable stories for Playwright Component Tests

                                  Storybook is the industry standard workshop for building, documenting, and testing UI components. It’s used by leading development teams at organizations like Shopify, Gov.UK, and NASA. One of the biggest benefits of developing in Storybook is that you get tests for free. Each isolated component example—or “story”—is a UI test. And if you want to test data fetching and user interactions, Storybook

                                    Portable stories for Playwright Component Tests
                                  • gh copilotにgit diffの入力を渡して、git stashの説明文を作ってもらう - hitode909の日記

                                    GitHub CopilotにはCLIがあるのを思い出して、コマンドの実行結果をそのままプロンプトに渡すと、文脈に沿った仕事をお願いしやすいんじゃないか、と思って、試してみた。 git stashをよく使うのだけど、一覧になっていると、何がstashされているかわからないので、stashの保存時に、内容を要約してもらう、というタスクを試してみる。 なんらかのCLIにdry-run機能をつけている途中で、git stashしたいとする。 index f1f5a2f..dd70bf5 100755 --- a/cli.js +++ b/cli.js @@ -19,6 +19,10 @@ command } else { command.help(); } + }) + .arguments(['dry-run']) + .action(async(file) => { + console.lo

                                      gh copilotにgit diffの入力を渡して、git stashの説明文を作ってもらう - hitode909の日記
                                    • Google I/O 2024で発表されたFirebase App HostingでNext.jsのSSRを試す

                                      先日のGoogle I/O 2024でFirebaseの新機能が発表されました。 これを読んでいて気になったのが、App Hostingという機能です。どうやらAngularとNext.jsのSSRをサポートしてくれるようになったようです。 自分はboobyというOSSコントリビュートしやすそうなリポジトリを探せるサービスを過去にリリースしています。 これのホスティング先として最初に検討していたのがFirebase Hostingでした。が、「?SSRどうやって動かすんだ?」と思いながらデプロイのための調査をしていたところ、どうやらCloudRunなどのサーバーサイドランタイムも使いながらでなければ動かせないということに行きつきました。 これまでやってきたCSRのHostingと異なり色々と手間が増えるなという結論に至り、結果初期構築が楽なVercelにデプロイすることにしました。当時の奮

                                        Google I/O 2024で発表されたFirebase App HostingでNext.jsのSSRを試す
                                      • 坂本龍一 追悼連載vol.13:YMO以前の分岐点。坂本龍一を「教授」たらしめた現代音楽家としての足跡 | CINRA

                                        坂本龍一が発表した数々の音楽作品を紐解く連載「追悼・坂本龍一:わたしたちが聴いた音楽とその時代」(記事一覧はこちら)。 第13回の書き手は、『commmons: schola vol.18 ピアノへの旅』にも参加した音楽ライターの小室敬幸。若き坂本龍一が強く意識していた作曲家の三善晃の存在を入り口に、『千のナイフ』とYMO以前の「分岐点」とも言うべき「現代音楽のエリート路線」と決別、その先で切り拓かれたキャリアについて。 坂本龍一を「教授」たらしめたクラシック〜現代音楽家としての足跡と楽曲群、そして1982年に高橋悠治に書き下ろされた“Just for Me(ぼく自身のために)”を読み解き、たどる。 批判的なビラを配ったという有名なエピソード等もあって、坂本龍一と現代音楽の関係を語る際に武満徹(1930年–1996年)の名があがりがちだ(*1)。 だが東京藝術大学の作曲科在籍中に書かれた作

                                          坂本龍一 追悼連載vol.13:YMO以前の分岐点。坂本龍一を「教授」たらしめた現代音楽家としての足跡 | CINRA
                                        • @location-state/conformをリリースした

                                          この記事はlocation-stateをconformに対応させるために開発した、@location-state/conformの紹介記事です。 location-stateとは location-stateは履歴位置に同期する状態管理ライブラリです。主にNext.jsをサポートしています。 Next.jsなどを採用している場合、ページ内のuseStateは遷移時のunmountで状態が破棄され、ブラウザバック時には復元されません。そのため、アコーディオンやform要素の状態はブラウザバック時にはリセットされてしまいます。これはNext.jsに限らず、ReactやVueなどをベースにしたモダンなフロントエンドフレームワークを採用して、クライアントサイドルーティングが発生する場合に起きがちな挙動です。クライアントサイドルーティングが不在なMPAでは、bfcacheやブラウザ側の復元処理によっ

                                            @location-state/conformをリリースした
                                          • Ruby "enbugging" quiz の解説 - STORES Product Blog

                                            STORESでフルタイムRubyコミッタをやっている遠藤(@mametter)です。 STORESは今回RubyKaigi 2024で、託児所を運営する「ナーサリースポンサー」として参加していました。この様子は後日詳報しますが、それ以外にも参加者に楽しんでもらえる企画をいろいろな形でしていました(予告記事を参照)。 この記事ではその中でも、ブースでやった「Ruby "enbugging" quiz」について、解答や出題意図などを紹介します。 Day 1 終了時のスコアボードです! 3点の方もたくさんいらっしゃいました! Day 2のクイズも楽しんでください😊#rubykaigi https://t.co/RJIBEqsFSf pic.twitter.com/ewp22Cs7jr— STORES Tech (@storesinc_tech) 2024年5月16日 概要 動作しているプログラ

                                              Ruby "enbugging" quiz の解説 - STORES Product Blog
                                            • 坂本龍一 追悼連載vol.15:音楽と社会運動の狭間で——『out of noise』というラディカルな転換点 | CINRA

                                              坂本龍一の残した音楽作品は膨大で、幅広いジャンルにも及ぶ。没後に人から示唆されて、こんな仕事もしていたのだと知るものも多い。圧倒的な才覚を持つ音楽家だったとあらためて思う。だが、坂本龍一という人は自身が備える音楽的な能力に対して、ある種の畏れを抱えていたのではないだろうか。そんなふうに思えるところもある。 坂本龍一(さかもと りゅういち) / Photo by zakkubalan ©2022 Kab Inc. 1952年東京生まれ。1978年に『千のナイフ』でソロデビュー。同年、Yellow Magic Orchestra(YMO)を結成。散開後も多方面で活躍。2014年7月、中咽頭がんの罹患を発表したが、2015年、山田洋次監督作品『母と暮せば』とアレハンドロ・G・イニャリトゥ監督作品『レヴェナント:蘇えりし者』の音楽制作で復帰を果した。2017年春には8年ぶりとなるソロアルバム『as

                                                坂本龍一 追悼連載vol.15:音楽と社会運動の狭間で——『out of noise』というラディカルな転換点 | CINRA
                                              • Cloudflare Workersを使って定期的なタスク自動化を実質無料で行う(不要な画像、アカウントの定期削除など)

                                                Cloudflare Workersなら定期的なタスクを自動化 Google Cloud Schedulerのような機能を実質無料で実行できます(1日あたり最大100,000リクエストまで) 実際に自分のサービスで使っている例 Cron 実行履歴(不要な画像の定期削除) 自分の扱っているサービスの場合1日1度不要な画像の処理を定期実行するので1日1リクエスト 30日で30リクエスト リクエスト サブリクエストを含めると先月(4月6日から〜5月6日まで) 1ヶ月あたり90リクエスト 1日あたり最大100,000リクエスト以内なので無料で使える! Cloudflare Workersの料金体系(2024/5/6現在) 2024年5月時点の料金体系 最新の料金情報はCloudflareの公式ウェブサイトで確認してください。 基本プラン Free: Cloudflare Workersの無料プラン

                                                  Cloudflare Workersを使って定期的なタスク自動化を実質無料で行う(不要な画像、アカウントの定期削除など)
                                                • RubyKaigi 2024 参加記 | うなすけとあれこれ

                                                  はじめに 昨年は英語で書いたんですが、今年は発表できなかったので日本語で書きます。 登壇したかったニャンね いや〜〜〜〜〜〜〜〜〜〜〜〜……はい。 特にしおいさん、いまいずみさんと僕はRubyKaigi Takeout 2021での初登壇以来、RubyKaigi 2023まで連続してacceptされていたので、勝手に同期みたいな仲間意識を感じていたのですが、今年は僕がnot acceptedとなり、ぐぅぅぅ……という感じです1。まあnot acceptedとなることに対しての納得はあるので、精進が必要、といったところですね。 トーク まともに聞けているのがあまりない……以下箇条書きで感想を書いていきます。 The depths of profiling Ruby (osyoyu) 言いつけどおり最前待機した “Software profiling is a never-complete a

                                                    RubyKaigi 2024 参加記 | うなすけとあれこれ
                                                  • Pythonで使える!非同期対応のRequestsモジュールとしてのHTTPX

                                                    はじめに PythonでHTTPリクエストを大量に非同期で投げる方法を探していました。requestモジュールはどうも対応していない様子なので、aiohttpを使うしかないのか…?と諦めていたところ、どうやらHTTPXが良さそうなので、試してみました。 What's HTTPX? HTTPXはDjango REST frameworkや、Starlette、Uvicornと同様に管理しているEncode社が管理しているプロダクトのようです。 HTTPX is a fully featured HTTP client library for Python 3. It includes an integrated command line client, has support for both HTTP/1.1 and HTTP/2, and provides both sync and a

                                                      Pythonで使える!非同期対応のRequestsモジュールとしてのHTTPX
                                                    • WebKit Features in Safari 17.5

                                                      Happy May! It’s time for another release of Safari — our third significant update of 2024. With just a month until WWDC24 and the unveiling of what’s coming later this year, we are happy to get these 7 features and 22 bug fixes into the hands of your users today. CSS There are several exciting new CSS features in Safari 17.5, including text-wrap: balance, the light-dark() color function, and @star

                                                        WebKit Features in Safari 17.5
                                                      • #RubyKaigi 2024 セッションレポート - メドピア開発者ブログ

                                                        サーバーサイドエンジニアの内藤(@naitoh) です。 RubyKaigi 2024に参加されていた皆さん、お疲れ様でした。 RubyKaigi のセッションの中で印象に残った発表をご紹介します。 RubyKaigi 2024 セッションレポート タイムテーブル タイムテーブルは以下から確認できます。 rubykaigi.org Namespace, What and Why 今回のRubyKaigi で非常に気になっていたセッションの一つです。 アプリケーション、ライブラリをある空間の中でライブラリを読み込み、他の空間から隠す。 空間の中で定義されたメソッドを別空間から呼び出すこと 別空間から呼び出されたメソッドは、元の空間内で動作すること という感じで複数のバージョンのライブラリに依存した場合のコンフリクト発生を解決するのが Namespace とのことで、内容が整理されておりわかり

                                                          #RubyKaigi 2024 セッションレポート - メドピア開発者ブログ
                                                        • Node.js v22の主な変更点 - 別にしんどくないブログ

                                                          引用元: https://nodejs.org/en/about/branding 2024年4月24日にリリースされたNode.js v22の主な変更点を紹介します。 Node.js v22はLTS(長期サポート)のバージョンになります。10月の後半にLTSとしてサポートが始まります。 nodejs.org require()がESMをサポート V8 12.4 アップデートによる JavaScript の機能 Array.fromAsync() Set methods union() intersection() difference() symmetricDifference() isSubsetOf() isSupersetOf() isDisjointFrom() Iterator Helpers map() filter() reduce() --runオプションによるpacka

                                                            Node.js v22の主な変更点 - 別にしんどくないブログ
                                                          • An mruby for WebAssembly

                                                            Previous slideNext slideToggle fullscreenOpen presenter view An mruby for WebAssembly Presentation by Uchio Kondo self.introduce! Uchio Kondo from Fukuoka.rb Infra Engineer @ Mirrativ, Inc. livestreaming & "live" gaming Translator of "Learning eBPF" Ruby and WebAssembly Code sample background rule: Ruby.has :red, :background (window.JavaScript || TypeScript).then("yellow"); Rust::<BackGround>::pur

                                                              An mruby for WebAssembly
                                                            • Next.jsでMiddlewareが大量に実行される場合の対処法

                                                              Next.jsでWEBアプリケーションを開発している時に、middlewareが大量に叩かれるという問題が発生した。 Supabaseを使用しており、middlewareでgetUser()が大量に叩かれてAPIのLimit制限を食らっていた。 諸々調査した結果、解決したので記載しておく。 環境 Vercel Supabase Next.js(14.x) App Router 解決方法① PreFetchではMiddlewareをパスするように設定 <Link>を使用していると、prefetchが行われるため、リストページなどでは大量にmiddlewareが実行される。 RLSを導入しているので、ログインしていなければ、ログインページにリダイレクトされればOK。 export async function middleware(req: NextRequest) { ... } // En

                                                                Next.jsでMiddlewareが大量に実行される場合の対処法
                                                              • Rust製TypeScript Linterにおける型情報Lintルールの模索

                                                                Rust製TypeScript LinterであるBiome, Oxc, deno_lintなどは、TypeScriptの型情報を利用するLintルール(型情報Lintルール)[1]を持っていません。本記事では、その背景から、Rust製TypeScript Linterが型情報Lintルールを実現するための手段についてまとめます。 筆者のTSKaigi 2024で利用した下記登壇資料に情報を追加し、文章化したものです。 要約すると、以下になります。 Rust製TypeScript Linterは、安全性をさらに高めてくれるtypescript-eslintの型情報Lintルールが欲しいが、パフォーマンスを犠牲にしたくない。TypeScript Compilerに頼らずに実現するには、Alternative TypeScript Compilerや型推論が必要。型情報Lintルールの実装を型

                                                                  Rust製TypeScript Linterにおける型情報Lintルールの模索
                                                                • Zed Decoded: Linux when? - Zed Blog

                                                                  Screenshot of Zed — but where are the red/yellow/green window controls? Does anything stick out? Yes, exactly, it's a screenshot of Zed running on Linux! Wait, what? Zed on Linux? Is it released yet? No, it's not, but it's taking shape, fast. At the end of January we open-sourced Zed and had zero Linux support. Now, three months later, you can compile & run Zed on Linux and actually use it. And I

                                                                    Zed Decoded: Linux when? - Zed Blog
                                                                  • References are like jumps

                                                                    In a high-level language, the programmer is deprived of the dangerous power to update his own program while it is running. Even more valuable, he has the power to split his machine into a number of separate variables, arrays, files, etc.; when he wishes to update any of these he must quote its name explicitly on the left of the assignment, so that the identity of the part of the machine subject to

                                                                    • Angular v18 is now available!

                                                                      Today we are excited to share the next milestone in the evolution of Angular! Over the past three releases we’ve introduced a lot of new features and improvements. This time we focused on polishing the work we shipped by graduating many of the new APIs to stable, addressing common developer requests, and experimentally releasing one of the most desired roadmap projects: zoneless change detection.

                                                                        Angular v18 is now available!
                                                                      • Google I/O 2024 のFirebase速報まとめ - Qiita

                                                                        こんにちは。virapture株式会社でCEOしながらラグナロク株式会社でもCKOとして働いている@mogmetです。 最近ラグナロクがエフ・コード社傘下になったことにより、動き方も色々変わったり、やることも増えてきて多忙感を感じております。 それにより絶賛エンジニアやデザイナーを募集中なのでご興味ある方は是非気軽にお話しましょう😇 話は戻り、本日はGoogle I/O 2024で発表されたFirebaseの新機能について紹介致します! ※ベースの記事としては What's new in Firebase at I/O 2024を参照としております。 今回のアップデートとしてはAI、リリース周りのアップデートが主に発表されました。 Firebaseロゴが刷新 Firebaseのアイコンが丸みを帯びた優しい感じのアイコンに刷新されました。 進化を反映したロゴになりました。 AI関連のアップ

                                                                          Google I/O 2024 のFirebase速報まとめ - Qiita
                                                                        • 【コンピュータ将棋】Apple Watchでやねうら王を動かす - select766’s diary

                                                                          Appleが発売しているスマートウォッチApple Watch Series 9にて、将棋AIやねうら王・ふかうら王を動作させることに成功したので報告します。 基本的には、iPhone向けのビルド方法を少し変えれば実現できました。 技術要素 以下の3要素を実現することにより、Apple Watch上で動作するやねうら王をfloodgate上で他の将棋AIと対局させることができます。 やねうら王をApple WatchのCPU向けにビルドし、SPM形式で出力 watchOSアプリを作成し、SPMを依存関係に追加し、Swift言語からやねうら王を呼び出す Macで、通信仲介用サーバを実行 SPMのビルド C++言語で実装されたやねうら王を、Apple WatchのCPU(ARMアーキテクチャ)向けにビルドし、Swift Package Manager (SPM)形式で出力します。この形式のライ

                                                                            【コンピュータ将棋】Apple Watchでやねうら王を動かす - select766’s diary
                                                                          • Vue3でモーダルダイアログの起動をいい感じに実装する | フューチャー技術ブログ

                                                                            Reactでのダイアログの開閉制御については以前、別のエントリーで書きました。 ダイアログもアラートも、Reactで子コンポーネントの開閉管理を実装するVue3でも、何か簡単に書ける方法はないかと試行錯誤して、ちょっといい感じかな?という方針を見つけたので、備忘がてら技術ブログに書いておきます。 使いやすいダイアログAPIとは太古の昔より、便利なダイアログ機能というのは、呼び出し元はダイアログの開閉状態とか細かい制御は気にせず、必要な情報を渡して、結果だけもらうというものです。JavaScriptのブラウザのAPIにもありますよね。 const result = confirm("今日はいい天気でしたね") // OKのときはtrue console.log(result) これはVisual Basicとかでもなんでも同じですね。ただし、JavaScriptだとconfirm()、ale

                                                                              Vue3でモーダルダイアログの起動をいい感じに実装する | フューチャー技術ブログ
                                                                            • Next.js App Router、Server Actions、Conform、Zodで条件分岐があるフォームを作る - asoview! Tech Blog

                                                                              はじめに アソビューのフロントエンドテックリードの井上です Next.jsのApp Routerがリリースされてから数ヶ月経ち、本番サービスに適用して運用しているような方々も出てきた今日このごろのフロント界隈かと思います。 弊社でもApp Routerの適用したアプリケーションを開発中です。 さて、これまでフォームのバリデーションライブラリとしてreact-hook-formを使うケースが多かったのですが、Next.jsのServer Actionsへの対応がまだ検証段階(2024/5/23現在)、ということもあり、対抗馬としてRemix や Next.js のようなサーバーフレームワークを完全にサポートするという謳い文句のconformを試してみようと思います。 通常の使い方の解説記事はすでに多くの方が書かれていますので、今回は少し複雑なケースに適用した場合について検証してみました。 は

                                                                                Next.js App Router、Server Actions、Conform、Zodで条件分岐があるフォームを作る - asoview! Tech Blog
                                                                              • Lambdaタイムアウト時にX-Rayサブセグメントが記録されないことがあるので注意しよう | DevelopersIO

                                                                                Lambdaがタイムアウトした際にX-Rayの想定していたセグメントが取得できていない時があったので、共有します。 私が気づいたのはLambdaがタイムアウトした時でしたが、実際の条件は 「サブセグメントをクローズせずにLambdaが終了した場合」 です。 条件と注意点について、詳しく説明していきます。 今回のコード全体はこちらに載せています。 クローズを忘れてしまいサブセグメントが記録されないコード例 良い例と悪い例を紹介します。 良い例 export const handler = async (event: { sleepTime: number }) => { const segment = AWSXRay.getSegment(); // 1000msのセグメントを取る const subSegment = segment?.addNewSubsegment("close");

                                                                                  Lambdaタイムアウト時にX-Rayサブセグメントが記録されないことがあるので注意しよう | DevelopersIO
                                                                                • URLからテキストを抽出する自作APIアプリケーションの構築|youtube, PDF

                                                                                  1. はじめに Webページや動画からテキスト情報を抽出することは、情報収集やデータ分析など、様々なタスクにおいて重要です。この記事では、DockerとFastAPIを用いて、URLからテキストを抽出するアプリケーションを構築する方法について解説します。Dockerは、アプリケーションの実行環境をコンテナ化することで、環境依存の問題を解消し、デプロイを容易にする技術です。FastAPIは、Python製のWebフレームワークであり、高速で効率的なAPI開発を可能にします。 この記事を活用するとできること youtubeから字幕(transcript)を取得して、Difyで要約させる WebサイトのURLから、テキストを出力して、Difyのワークフローに流し込む Web上のPDFからテキストを抽出して、DifyでQAチャットボットを構築する 2. 環境構築 2.1 Dockerfile 以下

                                                                                    URLからテキストを抽出する自作APIアプリケーションの構築|youtube, PDF