並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 133件

新着順 人気順

JavaScriptランタイムの検索結果1 - 40 件 / 133件

JavaScriptランタイムに関するエントリは133件あります。 techfeedjavascriptNode.js などが関連タグです。 人気エントリには 『Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphic JavaScript(もしくはUniversal JavaScript)とは何か?』などがあります。
  • Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphic JavaScript(もしくはUniversal JavaScript)とは何か?

    Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphic JavaScript(もしくはUniversal JavaScript)とは何か? 静的なHTMLファイルをWebサーバが配信する仕組みから始まったWebは、サーバ側で動的にHTMLを生成するCGIの仕組みや、Webブラウザ上でJavaScriptを実行してインタラクティブな操作を実現するなどの仕組みを得たことでWebアプリケーション基盤へと発展しています。 現在、Webアプリケーションの仕組みとして代表的なものがSPA(Single Page Application)でしょう。 SPAはWebブラウザ上で多くの処理が行われるためユーザーの操作に対する反応が速く、インタラクティブ性の高い快適なWebアプリケーションを実現できる利点があります。 しかし、これからのWebはサーバサイドレンダ

      Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphic JavaScript(もしくはUniversal JavaScript)とは何か?
    • 「ChatGPT/LangChainによるチャットシステム構築 」という書籍が素晴らしかったのでNode.jsでも書いてみた - selmertsxの素振り日記

      はじめに 「ChatGPT/LangChainによるチャットシステム構築」 という本が素晴らしかったので、ちゃんと身につけるために Python だけじゃなくて Node.js でも動かしてみました。同じことをやろうとした人のために、ここにそのときの記録を残します。特に callbacksやmemoryについて、詳細に記載しようと思います。 書籍の説明につながるようなことはできる限り書きません!めっちゃ良書なので、ご興味持っていただけた方は購入してもらえますと 🙏 5章まではPython固有のToolを利用しており、6章の中身は7章とかなり近いところがあるので、7章のプログラムだけここに記載します。LangChainの学習に注力したいので、Serverelss Frameworkに関連するコードは省略しました。また、Momentoや @slack/bolt に関する説明はしません。 プロ

        「ChatGPT/LangChainによるチャットシステム構築 」という書籍が素晴らしかったのでNode.jsでも書いてみた - selmertsxの素振り日記
      • AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス

        AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス Amazon Web Services(AWS)は、実験的な実装としてサーバレス環境のAWS Lambdaで使うことにフォーカスした軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開しました。 LLRTはRustで開発され、JavaScriptエンジンにはQuickJSを採用しています。 LLRTの最大の特徴は、現在のJavaScriptランタイムにおいて性能向上のために搭載されているJITコンパイラをあえて搭載せず、よりシンプルで軽量なランタイムとして実装することで高速に起動することにこだわっている点です。 これにより(Node.jsやDenoや

          AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス
        • NestJSをゼロから学ぶ - TypeORMの活用などをREST APIの実装から身に付けよう【Node.jsフレームワークの基本】|ハイクラス転職・求人情報サイト AMBI(アンビ)

          このようにさまざまなデコレータが用意されていますが、今回はサンプルで利用するデコレータに絞って説明します。他のデコレータについては、NestJSの公式ドキュメントなどを参照してください。 依存性注入(DI) 依存性注入(DI、Dependency Injection)とは、クラスの依存関係を解決する仕組みです。NestJSでは、依存性注入を使ってクラスの依存関係を解決します。 クラスの依存関係とは、クラスが他のクラスに依存している関係のことです。例えば、次のようなクラスAがあったとします。このクラスは他のクラスに依存していません。@Injectable()デコレータを使って、サービスを定義します。 @Injectable() class A { constructor() {} } そして、次のようなクラスBがあったとします。このクラスは、@Inject()デコレータを使って依存性を注入し

            NestJSをゼロから学ぶ - TypeORMの活用などをREST APIの実装から身に付けよう【Node.jsフレームワークの基本】|ハイクラス転職・求人情報サイト AMBI(アンビ)
          • Node.js + TypeScriptのモジュールを整理してみる

            はじめにlink 最近受けるNode.js + TypeScript環境の相談の中で、CommonJSやECMAScript Modulesのあたりで落とし穴にはまっている人が多いという事に気づいた。 Node.jsは歴史的にCommonJSとECMAScript Modules(以後ESMと表記)がどうしても入り乱れる環境にあり、これにTypeScriptのモジュールが加わると組み合わせでさらに複雑度が増すのが現状である。 説明する際に口頭より整理した文章が欲しいと思ったので記事にする。 以下のリポジトリで検証コードを管理している。 https://github.com/koh110/module_test Node.jsモジュールチェックシートlink まず最初にNode.jsにおけるCommonJSとESMの挙動について整理する。 いきなり書かれても把握できないかもしれないが、一旦こ

              Node.js + TypeScriptのモジュールを整理してみる
            • Electronライクな新フレームワーク「Gluon」登場。Chromium内蔵せずWebブラウザを利用、Node.jsだけでなくDenoとBunにも対応

              デスクトップアプリケーションの開発を、JavaScriptなどのWebテクノロジーで可能にするフレームワークとして知られるのがElectronフレームワークです。 このElectronのようなフレームワークが新たに登場しました。「Gluon」です。 Electronがアプリケーション基盤としてNode.jsとChromiumをバンドルするのに対して、GluonはOSにインストールされているWebブラウザを用いるのが大きな特長です。 Google ChromeのようなChromiumベースのWebブラウザだけでなく、Firefoxにも対応作業が進められており、最新のバージョン0.11ではFirefoxでの安定度が向上しました。 Node.jsをバンドルする点はElectronと同じですが、Node.jsの代わりにDenoやBunを利用することにも実験的に対応しています。 Gluonは主にCh

                Electronライクな新フレームワーク「Gluon」登場。Chromium内蔵せずWebブラウザを利用、Node.jsだけでなくDenoとBunにも対応
              • Webブラウザ上でWebAssemblyベースのNode.js環境を実現する「WebContainer」がAPI提供開始。ブラウザ内ファイルシステム、HTTPサーバ、Node.js CLIなど

                Webブラウザ上でWebAssemblyベースのNode.js環境を実現する「WebContainer」がAPI提供開始。ブラウザ内ファイルシステム、HTTPサーバ、Node.js CLIなど WebAssemblyを用いてWebブラウザ上でNode.js環境を実現する「WebContainer」などを提供するStackBlitzは、WebContainerにアクセスできるAPIの提供を開始したと発表しました。 Today, after years of battle testing by millions of developers, in collaboration with browser vendors: WebContainer API is now available to everyone. Start building the next generation of inte

                  Webブラウザ上でWebAssemblyベースのNode.js環境を実現する「WebContainer」がAPI提供開始。ブラウザ内ファイルシステム、HTTPサーバ、Node.js CLIなど
                • Webブラウザ上でNode.js環境を実現する「WebContainer」、iOS/iPadOS版Safariに対応。iPhone/iPadでWeb開発環境が起動

                  Webブラウザ上でNode.js環境を実現する「WebContainer」、iOS/iPadOS版Safariに対応。iPhone/iPadでWeb開発環境が起動 WebAssemblyを用いてWebブラウザ上でNode.js環境を実現する「WebContainer」などを提供するStackBlitzは、WebContainerがiOS/iPadOS 16.4以降のSafariに対応したことを明らかにしました。 iPhoneやiPad上のSafari上で、Node.jsをベースとしたWeb開発環境が起動することになります。 Big news: WebContainers are now supported on Safari, iOS and iPadOS!https://t.co/6SfOUDn4z2 pic.twitter.com/9PykipdNxJ — StackBlitz (@s

                    Webブラウザ上でNode.js環境を実現する「WebContainer」、iOS/iPadOS版Safariに対応。iPhone/iPadでWeb開発環境が起動
                  • JavaScriptパッケージシステム「npm」は巨大なバグを抱えていると指摘し、新たなパッケージシステムを開発する「vlt」。npm作者らの参加を発表

                    JavaScriptパッケージシステム「npm」は巨大なバグを抱えていると指摘し、新たなパッケージシステムを開発する「vlt」。npm作者らの参加を発表 npmに代わる新しいJavaScriptのパッケージシステム「vlt」(vōlt:ボールト)を開発しているvlt technologyは、同社にnpmの作者であるIsaac Z. Schlueter氏、npmのスタッフエンジニアリングマネージャであったDarcy Clarke氏、npmのCLIチームであったRuy Adornoらが参加すると発表しました。 Node.jsとnpmが作ったJavaScriptのエコシステム サーバサイドでJavaScriptを実行可能にしたNode.jsの登場と、そのNode.jsを基盤にJavaScriptのアプリケーションやモジュールなどをパッケージングして登録し、自由にダウンロード可能にしたレジストリで

                      JavaScriptパッケージシステム「npm」は巨大なバグを抱えていると指摘し、新たなパッケージシステムを開発する「vlt」。npm作者らの参加を発表
                    • ノーリツ製の給湯器リモコンをPCからNode.jsで操作する(ECHONET Lite)

                      こんにちは。 久しぶりに帰省したところ、実家の給湯器のリモコンがIoT対応の製品 RC-G001MW-2 (ノーリツ)になっていました。これはハックしなければならないと思っていじってみたところ、HEMS向けの機能を利用することでわりと容易に制御できたので記事にしてみた次第です。 (画像:ノーリツ公式サイトより) 成果物のコマンドラインツールはnpmに公開しているので、同じモデルや同一プロトコルに対応した給湯リモコンをお持ちの方は実験できるかもしれません(詳細は記事末尾参照)。 HEMS HEMS (Home Energy Management System)とは宅内のエネルギー使用量を管理・可視化する装置です。昨今のIoT対応家電はHEMSとの連携が前提になっているものも増えているようです。 ECHONET Lite HEMSのために国内で策定された通信規格がECHONET Lite(エコ

                        ノーリツ製の給湯器リモコンをPCからNode.jsで操作する(ECHONET Lite)
                      • Node.jsとJavaScriptアプリを単一の実行ファイルにする「Single Executable Applications」機能、Node.js 19.7.0で実験的機能として搭載

                        2月21日にリリースされたNode.jsの最新バージョン「Node.js 19.7.0」で、Node.jsとJavaScriptアプリケーションを単一の実行ファイルにパッケージングする新機能「Single Executable Applications」が実験的機能として搭載されました。 一般にNode.jsのアプリケーションをデプロイするには、Node.jsのインストールや環境設定をするところから始めなければなりません。 今回新しく実験的に搭載されたSingle Executable Applications機能を使うと、そのまま実行可能な単一の実行ファイルを作ることができるため、それを配置するだけで簡単にデプロイができるようになる見通しです。 Single Executable Applicationsでは、postjectと呼ばれる新しいコマンドが用意されます。これを用いてNode.

                          Node.jsとJavaScriptアプリを単一の実行ファイルにする「Single Executable Applications」機能、Node.js 19.7.0で実験的機能として搭載
                        • HonoとDenoで社内ツールを作ってみた - RAKSUL TechBlog

                          こんにちは!ラクスルの灰原です! 軽量かつ高速なWebフレームワークであるHonoと、新進気鋭のJSランタイムであるDenoを使って、社内ツールを作ってみましたので紹介します。 作ったツール 技術スタック index.tsx の内容 Tips HonoでTwindを使う HonoのJSXでAlpine.jsを使う Hono+Denoでesbuildを使う おわりに 作ったツール テックブログ向けのアイキャッチ画像ジェネレータを作りました。 タイトルを入力して、 背景画像と文字色を選んで、 文字の位置と大きさを調整して、 後は「Download」ボタンを押せば画像が手に入ります。 これは以前、弊社デザイン組織で作られた「Zoom背景ジェネレータ」に多分に影響されています。 こちらのデザイナーブログも是非ご覧ください! note.com 技術スタック このツールは利用頻度がそこまで多くないと思

                            HonoとDenoで社内ツールを作ってみた - RAKSUL TechBlog
                          • ChatGPTは、難解なNode.jsの処理を解釈して、Pythonに移植できるのか? - Taste of Tech Topics

                            こんにちは、igaです。 先日の連休で、あるコンテンツの聖地巡礼をして英気を養ってきました! 英気を養ったところで、「Node.jsからPythonにソースコードを移植する」ということが必要になりました。 元のNode.jsのコードでPythonには存在しない書き方をしていて、そのままPythonに書き直すのが難しいため、ChatGPTに助けてもらって移植を行ってみよう、と考えました。 今回のポイント 変換にあたって、Node.jsで変数の値をインクリメントする「index++」という記述が、Pythonには存在しません。 同じように変数の値をインクリメントする場合、Pythonでは「index += 1」という記述にする必要があります。 それで今回のソースコードですが、関数の引数を指定するところでインクリメントの、しかもやや複雑な記述が存在していました。 num = this.#tran

                              ChatGPTは、難解なNode.jsの処理を解釈して、Pythonに移植できるのか? - Taste of Tech Topics
                            • JavaScriptランタイムのBun、インストール不要の実行ファイル生成が可能に。Webpackより200倍以上高速とするバンドラがβ版、Puppeteerにも対応

                              JavaScriptランタイムのBun、インストール不要の実行ファイル生成が可能に。Webpackより200倍以上高速とするバンドラがβ版、Puppeteerにも対応 サーバサイドで実行可能なJavaScriptランタイム「Bun」は、5月に登場したバージョン0.6で、Bunをインストールすることなく、配置することでアプリケーションを実行できる単独の実行ファイルを生成できる「bun build」機能が搭載されました。 同じくバージョン0.6で高速なバンドラ「Bun Bundler」もβ版となり、6月に登場したバージョン0.6.7ではDiscordのボットを操作するDiscord.jsやWebブラウザを操作するPuppeteerなどの動作も確認されています。 下記はBunの開発者であるJarred Summer氏のツイート。 Standalone executables are coming

                                JavaScriptランタイムのBun、インストール不要の実行ファイル生成が可能に。Webpackより200倍以上高速とするバンドラがβ版、Puppeteerにも対応
                              • Deno入門 ~インストールからデプロイまで~

                                What is Deno? Deno は、V8 JavaScriptエンジン及びRustプログラミング言語に基づいた、JavaScript及びTypeScriptのランタイム環境 Node.jsの作者によって作られているとのこと。 Node.jsの反省点を活かして改善を入れているらしいです。 また、単一実行ファイルとしてビルドできるため、Denoの環境が無くても実行ができるのが特徴。 個人的には最初からTypeScriptをサポートしている点がNode.jsより強いと思いました。 Installation macOS/Linuxを基準として記載します。 curl -fsSL https://deno.land/x/install/install.sh | sh # 以下を自身のシェルの設定に入れる ex.) .zshrc or .bashrc export DENO_INSTALL="$H

                                  Deno入門 ~インストールからデプロイまで~
                                • JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ

                                  JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。データベース機能としてSQLiteも搭載し、npmパッケージマネージャとしての機能も備えています。 主な開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装がBunの高速な動作を支えています。 Bunの高速性を強調 Bun 1.0の発表では高速性が強調されています。例えば下記はTypeScriptでの「hello world」の実行速度。

                                    JavaScriptランタイム「Bun 1.0」正式リリース。Windows版もまもなく登場へ
                                  • CDNエッジでJS/TS/WASMを実行できる「Vercel Edge Functions」正式リリース。Node.jsサブセットを目指す

                                    CDNエッジでJS/TS/WASMを実行できる「Vercel Edge Functions」正式リリース。Node.jsサブセットを目指す Next.jsの開発元であり、Webアプリケーションのホスティングサービスなどを提供するVercelは、CDNエッジでJavaScript/TypeScript/WebAssemblyを実行できるサーバレス基盤「Vercel Edge Functions」の正式リリースを発表しました。 Announcing Vercel Edge Functions: instant, cost-effective compute. JS/TS/Wasm Deploy functions close to your data and users 10x more cost-effective Streaming and Edge Caching Support for

                                      CDNエッジでJS/TS/WASMを実行できる「Vercel Edge Functions」正式リリース。Node.jsサブセットを目指す
                                    • Node.js 14から18へアップデートする方法について

                                      Corepackを使ってNode.jsをアップデートする ⬆️⬆️というタイトルで、Node.js 14からNode.js 18へのアップデートする方法について話した。 Node.js 14は4月末でEOLで、Node.js 18までアップデートする必要があるけど、npmの変更が混ざって大変です。 Corepackを使うことで、Node.jsとnpmのアップデートを同時にやらなくても良くなり、問題を分割して対応できます! Corepackを使ってNode.jsをアップデートする ⬆️⬆️https://t.co/mRHsBcYbpn pic.twitter.com/HiiCe7c5YE — azu (@azu_re) April 28, 2023 スライド: Corepackを使ってNode.jsをアップデートする ⬆️⬆️ Note: Node.js 14は2023-04-30でEOLで

                                        Node.js 14から18へアップデートする方法について
                                      • Node.js v20 の主な変更点 - 別にしんどくないブログ

                                        2023 年 4 月 18 日にリリースされた Node.js v20 の主な変更点を紹介します。 nodejs.org ファイルのアクセスやプロセスの起動を制限する新しいパーミッションモデル (experimental) --allow-fs-read でファイルの読み込みを許可する --allow-fs-write によるファイル書き込み許可 --allow-child-process による child_process の許可 --allow-worker による Worker Threads の許可 Permission Model  の参考記事 V8 11.3 による新しい JavaScript の機能 テストランナー(node:test)が stable に昇格 Single Executable Application JSON の config を使った Blob が必要に

                                          Node.js v20 の主な変更点 - 別にしんどくないブログ
                                        • 【Deno】Deno1.28「npm完全に理解した」 - Qiita

                                          Denoは先日v1.25で2022/08/25にnpm対応したぞーと発表したのですが、そのバージョンではExperimental npm support、あくまで実験的サポートであり、まだ実戦投入できる段階ではありませんでした。 そんなわけで実際に使えるのはまだまだ先だねえと思っていたのですが、2022/11/14に公開されたv1.28で早くもExperimentalが取れました。 はえーよ。 ということで以下は該当のリリースノートの紹介です。 Deno 1.28: Featuring 1.3 Million New Modules Deno 1.28を公開できたことをうれしく思います。 本リリースでは、npmの互換性を安定させました。 すなわち、130万以上のnpmモジュールをDenoがインポートできるようになったことを意味します。 これによってPrisma・Mongoose・MySQL

                                            【Deno】Deno1.28「npm完全に理解した」 - Qiita
                                          • Deno、モダンなJavaScript/TypeScriptに最適化したパッケージレジストリ「JSR」パブリックベータ公開。Node.js、Bun、Cloudflareなどにも対応

                                            JavaScript/TypeScriptランタイムの「Deno」を開発提供しているDeno Land Inc.は、モダンなJavaScriptおよびTypeScriptに最適化した新しいパッケージレジストリ「JSR」をパブリックベータとして公開しました。 現在、JavaScriptのパッケージレジストリは、Node.js用に構築され、GitHubが運営するnpm(Node Pacage Manager)が事実上の標準となっています。 参考:GitHubがnpmの買収を発表、JavaScriptのパッケージ管理サービス。将来的にはGitHubとnpmを統合へ npmにはさまざまな機能を備えたパッケージモジュールが大量に登録されており、この豊富なパッケージモジュールの存在がNode.jsの大きな利点となっています。そのため、現在ではDeno、Bun、Cloudflare Workersなど後

                                              Deno、モダンなJavaScript/TypeScriptに最適化したパッケージレジストリ「JSR」パブリックベータ公開。Node.js、Bun、Cloudflareなどにも対応
                                            • Deno、SQLiteベースのキーバリューストア「Deno KV」のスタンドアロン版を公開。ソースコードもオープンに

                                              Deno、SQLiteベースのキーバリューストア「Deno KV」のスタンドアロン版を公開。ソースコードもオープンに JavaScriptランタイムを提供するDenoは、SQLiteベースのキーバリューストア「Deno KV」をスタンドアロンで実行可能なバイナリの提供開始を発表しました。オープンソースとして公開もされています。 スタンドアロン版Deno KV(もしくはSelf-hosted版Deno KV)は、Denoと接続してバックエンドデータベースとして利用可能です。 これまでのDeno KVとの違い これまでDenoは、Deno KVを2つの方法で提供してきました。 1つ目は、Deno自身にSQLiteを組み込み、Denoの内臓データベースとしてDeno KVを実装することで、JavaScript/TypeScriptのためのデータストアとして提供する方法です。 この方法では、Den

                                                Deno、SQLiteベースのキーバリューストア「Deno KV」のスタンドアロン版を公開。ソースコードもオープンに
                                              • Webブラウザ上にNode.jsを実装、Webブラウザ上のサーバサイドでNext.jsやVite、Astroなどが実行可能な「Sandpack 2.0」が登場

                                                Webブラウザ上にNode.jsを実装、Webブラウザ上のサーバサイドでNext.jsやVite、Astroなどが実行可能な「Sandpack 2.0」が登場 クラウド上でマイクロVMベースのオンライン開発環境などを提供するCodeSandboxは、Webブラウザ上で抽象化したNode.jsを実装しWebブラウザ上にJavaScriptのサーバサイド環境を作り出すことで、WebブラウザだけでNext.jsやAstroなどを実行可能にする新しいソフトウェア「Sandpack 2.0」を発表しました。 WindowsやMacなどのデスクトップPC用のWebブラウザだけでなく、iOS上のSafariでもNode.jsが実行可能。ただし現時点でのiOS版Safariへの対応は、メモリリークなどが発生するためβ版だと説明されています。 先週、StackBlitzからはWebブラウザ上で実行できるWe

                                                  Webブラウザ上にNode.jsを実装、Webブラウザ上のサーバサイドでNext.jsやVite、Astroなどが実行可能な「Sandpack 2.0」が登場
                                                • サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ

                                                  サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」を発表しました。 Announcing WinterJS: a blazing-fast Javascript Service Workers server written in Rust powered by SpiderMonkey ❄️https://t.co/kX7jjJj6qv — Wasmer (@wasmerio) October 27, 2023 WinterJSはRustで書かれた高速なService Workerサーバであり、オープンソースとして公開さ

                                                    サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ
                                                  • yarnからpnpmに移行した時の話

                                                    yarnはおわるのか 今までさんざんお世話になったyarnさんですが、だんだんおいていかれているらしい?ので、今自分が設計してて制作中のサービスを「pnpm」におきかえる実験をしました。 こうしたことはだいたい一筋縄でいかないことが多く、朝からいろいろ調査をしてなんとか立ち上げにこぎつけた感があるので、備忘録兼報告書として書き記しておきます。 yarnにするか、npmにするか、pnpmにするか? 気持ち的にはビアンカにするかフローラにするか論争に、デボラが加わってメッチャ強い感じ…w (最初見た時、ampmの仲間かなんかかと思ったけど、performant npmっていうやつなんだって。なんだ、結果npmか…) 環境 Mac M1 Venture13.1 react 18.2.0 next 13.0.7 node v16.19.0 Homebrew 3.6.18 yarn 1.22.19

                                                      yarnからpnpmに移行した時の話
                                                    • Denoでデスクトップアプリを作る

                                                      で…できらぁ!!! Deno Advent Calendar 5日目です。簡単なデスクトップペイントツールをDenoで作りました。 Denoは基本CUIツールやWebサービスを作るものと考えて差し支えないです。普通GUIはつくらないですね。その点はNode.jsだって同じなんですけど、とは言えみんなElectronアプリは使ってますよね。VSCode, Slackアプリ, Discordアプリ, Docker Desktopなどなど…。Electronアプリには個人的には思うところが山ほどありますがここでは省略します。まあとにかく、Denoでも画面を作りたい人はいます!ここに! DenoでもElectronと同様にwebviewを使えるライブラリがあります。 使い方 使い方は簡単で、このスクリプトを deno run --unstable -A main.ts で実行するだけです。 imp

                                                        Denoでデスクトップアプリを作る
                                                      • Node.js にプロセスレベルの Permission が入りそうな話 - from scratch

                                                        Node.js の Permission についての解説を行います。 Node.js に Permission 機能が入りそう。 すでに PR が出されており、 land も間近です。おそらく次かその次くらいのリリースで入ることになるでしょう。 github.com おそらく初期リリースでは experimental flag を付けた上で、 fs, child_process, worker のパーミッションを許可するかどうかに留まり、 net, env などのパーミッションは今後になるでしょう。 以下の方法で利用します。 // filesystemの読み書きを許可する $ node --experimental-permission --allow-fs foo.mjs --allow-fs ファイルシステムの読み書きを行えるようにする --allow-fs-read= に記載のファイ

                                                          Node.js にプロセスレベルの Permission が入りそうな話 - from scratch
                                                        • Bun でクロスプラットフォームなシェルスクリプト

                                                          Bun でクロスプラットフォームなシェルスクリプト 2024.01.20 Bun の `$` を使うと、クロスプラットフォームなシェルスクリプト(Bun Shell)を書くことができます。Bun Shell は macOS (zsh)、Linux (bash)、および Windows (cmd) と OS の違いを気にせずにシェルスクリプトを書ける、JavaScript オブジェクトとのやりとりが可能であることが特徴です。

                                                            Bun でクロスプラットフォームなシェルスクリプト
                                                          • npm package を実装するための自分専用テンプレートリポジトリを作った - mizdra's blog

                                                            npm package を作る度にイチから開発環境の構築をしていて大変だったので、自分専用のテンプレートリポジトリを作りました *1。 github.com せっかくなので、テンプレートの特徴とか、どういうこと考えながら作ったとか紹介してみます。 はじめに: 基本的な技術スタック npm TypeScript Node.js Native ESM Prettier ESLint Vitest Renovate GitHub Actions vscode 向けの各種設定ファイル (extensions.json, launch.json, settings.json) GitHub の「テンプレートリポジトリ」機能を使う GitHub にそれっぽい機能があったので使ってみました。 docs.github.com 「Use this template」というボタンが出て便利です。 「Use t

                                                              npm package を実装するための自分専用テンプレートリポジトリを作った - mizdra's blog
                                                            • JavaScriptランタイム「Bun」がバージョン1.0に到達へ、9月7日にローンチイベント開催

                                                              サーバサイドで実行可能なJavaScriptランタイム「Bun」が9月7日(日本時間9月8日)にバージョン1.0に到達することが分かりました。 公式サイトで「Bun 1.0」のローンチイベントへの申し込みが始まっています。 Node.js互換としたことで注目を集めたBun Bunは2022年7月に登場したソフトウェアです。 公式Webサイトで「Bun is a fast all-in-one JavaScript runtime」と紹介されているように、JavaScriptランタイムとバンドラ、トランスパイラなどが最初から統合され、タスクランナーとして実行できる機能も備えています。 なによりもBunが急速に注目を集めた理由は、Node.js互換をうたいNode.jsのnpmパッケージがそのままBunでも使えるとしたこと、そして高速性を強調したことでしょう。 JavaScriptエンジンには

                                                                JavaScriptランタイム「Bun」がバージョン1.0に到達へ、9月7日にローンチイベント開催
                                                              • JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど

                                                                JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど サーバサイドで実行可能なJavaScriptランタイム「Bun」の最新バージョン「Bun v0.3.0」がリリースされました。 BunはJavaScriptランタイムとバンドラ、トランスパイラ、タスクランナーなどの機能が最初から統合されているソフトウェアです。 JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。Node.jsの主要なAPIやNode.jsのモジュール依存関係解決アルゴリズムも実装し、内蔵するnpmクライアントにより高速にnpmパッケージを読み込んで利用できるなど、Bun単体でさまざまな機能が統合され、便利に使えます。 さらにTypeScript/JSXトランスパイラによってTypeScriptファ

                                                                  JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど
                                                                • JavaScriptランタイム事情 2022冬 - Techtouch Developers Blog

                                                                  テックタッチアドベントカレンダー 18 日目担当の yokochin です。 今年になって JavaScript の新しいランタイムである Bun をよく目にするようになりました。 Node.js、Deno に続く JavaScript ランタイムの新勢力となるわけですが、それぞれどのように違うのか、それぞれが生まれた背景やコンセプトから理解していこう!というのがこの記事の趣旨です。 Node.js 開発の背景 余談:ブロッキングとSSR Node.js の後悔と Deno の登場 Deno のモジュールシステム そのほかの特徴 Bun の登場 Bun のパフォーマンス そのほかの特徴 JS ランタイムの互換性 Deno の Node.js 互換 Bun の Node.js 互換 終わりに Node.js 開発の背景 Node.js は 2009 年にリリースされ、現在最も広く使われている

                                                                    JavaScriptランタイム事情 2022冬 - Techtouch Developers Blog
                                                                  • Cloudflare WorkersがNode.js API互換の提供を発表。Bun、Denoなどに続く対応により、Node.js APIはサーバサイドJavaScriptの事実上の標準になるか

                                                                    Cloudflare WorkersがNode.js API互換の提供を発表。Bun、Denoなどに続く対応により、Node.js APIはサーバサイドJavaScriptの事実上の標準になるか Cloudflareは、エッジでJavaScriptを実行できるサービス「Cloudflare Workers」において、Node.jsのAPI互換機能を提供すると発表しました。 node.js APIs have officially landed in Cloudflare Workers — no polyfills required. We've added AsyncLocalstorage, EventEmitter, Buffer, assert and util, with more on the way soon.https://t.co/8CkPZkS3Yb — Cloudfl

                                                                      Cloudflare WorkersがNode.js API互換の提供を発表。Bun、Denoなどに続く対応により、Node.js APIはサーバサイドJavaScriptの事実上の標準になるか
                                                                    • えっ?Browser内でNode.jsアプリが動く?? WebContainerAPIをTypeScriptで動かしてみた

                                                                      概要 StackBlitzのサービスを支えるWebContainerという素晴らしい技術のAPIが公開されたので、実際に気になっている方に向けて、体験した所感を紹介しようと思います。一見サーバサイドのNode.jsでやっているように見えることが、実際にはブラウザ内部で動いているので、めちゃくちゃすごいです。 対象読者 StackBlitzにお世話になっていて、その裏側の仕組に興味がある方 ブラウザ内で、Node.jsを動かしたいなぁと思っている方 WebContainerに興味がある方 はじめに フロントエンド界隈では、有名なplayground環境と思われるStackBlitz(このZennの挿入もできるサービスなので、見たことある方も多いかもしれません)が提供している、サービスを支える重要な技術である、WebContainer(Webブラウザ上で実現されるWebAssemblyベースの

                                                                        えっ?Browser内でNode.jsアプリが動く?? WebContainerAPIをTypeScriptで動かしてみた
                                                                      • Bun workspace で始めるモノレポ生活

                                                                        Bun workspace で始めるモノレポ生活 2023.09.15 Bun では `package.json` の `workspaces` を使用することでモノレポの管理が可能です。この記事では Bun によるモノレポを試してみます。 Bun はパッケージマネージャーとしても利用できるので、npm の workspaces によるモノレポ管理も可能です。モノレポとは、複数のパッケージを 1 つのリポジトリで管理することです。モノレポを利用することで、同レポジトリ内のパッケージを互いに参照したり、node_modules をシェアしてディスク容量を節約するといったメリットがあります。 この記事では、Bun workspace を利用してモノレポを管理する方法を紹介します。 Bun workspace の使い方 workspace ではディレクトリのルートレベルに、各パッケージを管理する

                                                                          Bun workspace で始めるモノレポ生活
                                                                        • Node.js fetch の内部の話 - from scratch

                                                                          前置き この記事は リクルートエンジニアアドベントカレンダーの3日目の記事です。 Recruit Engineers Advent Calendar 2022 - Adventar ちなみにココで書いたやつを一部抜粋させていただいております(ネタ切れにより過去投稿を利用してしまっております。。。すいません。。。) www.codegrid.net fetch が Node v18 から試験的にサポートされた ブラウザでは数年前から採用されていた HTTP リクエストを行う関数の fetch が global 空間に関数として作成されました。使うだけなら特に何のフラグもいりません、その代わり使うと Experimental であることを知らせる Warnings が出ます。 // fetch.mjs const response = await fetch('https://api.gith

                                                                            Node.js fetch の内部の話 - from scratch
                                                                          • Deep Dive: Node.jsのESMデフォルト化への道

                                                                            Node.js 21では --experimental-default-type=module フラグで、JavaScriptファイルのデフォルトの解釈をCJS(CommonJS)からESM(ECMAScript Modules)に変更できるようになっています。 Node.js 21 is now available! | Node.js これは、Node.jsにおいてJavaScriptファイル(.js)のデフォルトをESMに変更するための第一歩です。 今回のDeep Diveでは、Node.jsのESMデフォルト化に向けたIssueや実装について紹介します。 Node.jsのESMデフォルト化 Discussion: New “ESM by default” mode · Issue #49432 · nodejs/node このIssueは、Node.jsにおけるambiguous

                                                                              Deep Dive: Node.jsのESMデフォルト化への道
                                                                            • Misskeyの遅いから「Node.jsやめる(Rustにする?)」というissueが紛糾 | スラド オープンソース

                                                                              Twitter代替サービスとしてユーザーが急増してサーバーコストが問題となっているOSSのSNSプラットフォーム「Misskey」で、「Node.jsやめる(Rustにする?)」というissueが登録されて紛糾しているようだ(はてなブックマーク)。 Misskeyのメインである「Misskey.io」のインスタンスは、個人運営であるが現在CPU1416コア、メモリ2.8TBという途方もないスペックで稼働しているという(まとめダネ!)。こうした状況を受けてか、3日に「Node.jsやめる(Rustにする?)」というissueが「Node.jsはパフォーマンス上の問題があるため。Goとかでもいいけど」というコメントと共に登録されたようだ。 issueにはタレコミ時点で94件のコメントが寄せられている他、Twitterなどでも話題となっていたが、メモリ消費が削減できそうやおもしろそうという意見が

                                                                              • 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
                                                                                • アプリケーションコードに変更を加えないNode.js Native ESMへの移行

                                                                                  LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに こんにちは。フロントエンド開発センター(UIT) Front-end Dev.9チームの鴻巣(@kazushikonosu)です。LINEスキマニおよびLINE Creators Marketのフロントエンド開発を担当しています。 LINEスキマニのフロントエンドチームでは、React/TypeScript製のWebアプリを開発しています。主にクライアントサイド向けのコードを扱っていますが、SSRのため同じリポジトリ内でNode.jsを使って実行されるTypeScriptコードも扱っています。クライアントサイドのモジュールバンドラとして長らくwebpackが使われていましたが、webpackを使い続けることでチームの

                                                                                    アプリケーションコードに変更を加えないNode.js Native ESMへの移行

                                                                                  新着記事