Node.js環境におけるSharpモジュールを用いた画像の効率的な処理方法 この記事では、Node.js環境においてSharpモジュールを用いて画像を効率的に処理する方法を紹介します。実際のコード例を通じて、大きな画像ファイルをネットワーク送信に適したJPEG、PNG、WebP、AVIF形式に変換する方法を示します。同時に、libvipsライブラリの強力な機能を利用して、画像処理の効率を高める方法も紹介します。 1. Sharpモジュールのはじめに 1.1 Sharpモジュールの紹介 視覚情報爆発の今日の時代において、画像処理技術は極めて重要になっています。Node.js環境に基づく高性能画像処理モジュールとして、Sharpはその優れた性能と使いやすさから、開発者コミュニティで広く評判を得ています。それは一般的なJPEGやPNG形式の画像の処理をサポートするだけでなく、技術のトレンドにも
お正月なので、Node.jsをTypeScriptで動かして基本構文を勉強しますwww まずはDockerでお勉強環境(動作確認する環境)を作ります。 環境構築 必要なファイルの作成 Dockerfileを以下の内容で作ります。 FROM node:20 # パッケージリストを更新し、vimをインストール RUN apt-get update && apt-get install -y vim && apt-get clean WORKDIR /app 次にdocker-compose.ymlを以下の内容で作ります。 services: node-dev: build: context: . dockerfile: Dockerfile tty: true volumes: - .:/app コンテナを立ち上げ、必要なもののインストール コンテナを立ち上げ docker compose u
引用元: https://nodejs.org/en/about/branding 2024年10月17日(日本時間)にリリースされたNode.js v23の主な変更点を紹介します。 nodejs.org require()でESMを読み込む機能が安定版に "module-sync"をexports conditionに追加 node --run が安定版へ Node.jsのテストランナー(node:test)のカバレッジ対象をglobで指定できるフラグの追加 Windows 32-bitはサポート対象外へ v23のEOL予定について まとめ 参考記事 記事内のサンプルコードはすべて以下のリポジトリにあります。 github.com require()でESMを読み込む機能が安定版に github.com v22から追加されたrequire()でESMなファイルを読み込む機能ですが、以下の
はじめに Denoアドベントカレンダー 23日目の記事です🎅 この記事では、2024年にDenoやその周辺に関する変更点などをまとめます。 Deno Deno v2のリリース Deno v2が正式にリリースされました: Deno v2の正式リリースに伴い、Deno v2.1からLTSリリースが開始されています。 また、Deno for Enterpriseというサービスが正式に発表されました (主にエンタープライズ向けにDenoランタイムに関するSlackでのサポートなどが提供されるサービスのようです) Node.js互換性の大きな改善 (Next.jsのサポートなど) Next.jsのサポート DenoにおけるNode.js互換性の改善に伴い、Next.jsが動作するようになったようです。Denoの公式ドキュメントなどにおいてNext.jsのチュートリアルが公開されています。 また、D
はじめに この記事はenechain Advent Calendar 2024の4日目の記事になります。 こんにちは!enechainでソフトウェアエンジニアをしている古瀬です。 enechainでは今年10月にリリースした「eSquare Live」の開発を初期から担当しています。 「eSquare Live」は株式取引やFXのようにリアルタイムで電力商品を取引できるオンラインプラットフォームです。 今回は「eSquare Live」でもリアルタイム通知のために利用しているSocket.IO Adapterについて実装例を交えて紹介したいと思います。 Socket.IO Adapterとは Socket.IOはリアルタイムな双方向通信システムにおいて非常に重要かつ強力な機能を持ったOSSです。 その特徴としては以下のようなものが挙げられます。 柔軟な通信プロトコル: WebSocket非
背景 Claude Projectsをもっと活用できるようになりたい Deno / TypeScriptで何か作りたい という理由で、なんとなく「プログラミング言語的なものをClaudeと一緒に作ってみるか」と思いつきました。作業ログや学び的なものをせっかくなので残しておきます。 作成したのは以下: 基本的に私は指示役の男としてClaudeにコードを書かせることに徹しています。また、また今回ChatGPT、Cursorなどその他の生成AI系サービスは一切使っておりません。 開発方針 今回、言語をリッチに作り込むことが目的ではないため、比較的言語仕様がシンプルなGo言語を極限まで劣化させた言語を作ることとします。名前はpoor-go と名付けました。コマンドや拡張子は pgoとします。 最小ゴールとして、以下の hello-world.pgo がコンパイルでき、実行すると hello wor
Denoとして初の長期サポート版「Deno 2.1」正式リリース。WebAssemblyの実行が容易に、「npm init」など新機能 JavaScript/TypeScriptランタイムのDenoを開発するDeno Landは、Denoの初めての長期サポート版(LTS版)となる「Deno 2.1」を正式リリースしました。 Deno 2.1 is out first class Wasm support Long Term Support branch Improved dependency management and much more.https://t.co/RLYH1PoE8J — Deno (@deno_land) November 21, 2024 Denoは2024年10月に「Deno 2」がリリースされて以後、1カ月ごとにマイナーバージョンがリリースされる計画となっていま
JavaScriptランタイム「Deno」の開発元であるDeno Landは、米国特許商標庁にオラクルが所有する「JavaScript」の商標登録の取り消しを申請したことを明らかにしました。 JavaScriptはNetscapeがWebブラウザ用に開発したプログラミング言語であることはよく知られていますが、その名称はサン・マイクロシステムズが登録商標として所有し、同社がオラクルに買収されたことで現在はオラクルが所有しています。 Node.jsの作者であり、現在はDenoの作者であるライアン・ダール氏は、これまでに2回、2022年9月と2024年9月にオラクルに対してJavaScriptの商標を手放してほしいと公開書簡で呼びかけていました。 2回目の呼びかけの時には、次のアクションとして米国特許商標庁に取消を申請することを表明しており、今回それが実行されたことになります。 今回Denoが申
「Deno 2」正式リリース、Deno 1/Node.js互換性を保ち、フォーマッタ、リンター、Jupyter Notebook機能など統合。LTS版で企業ニーズにも対応 JavaScript/TypeScriptランタイムのDenoを開発するDeno Landは、Denoの登場以来初となるメジャーバージョンアップ「Deno 2」正式リリースを発表しました。 4 years after Deno 1.0, the next generation of JavaScript is ready for production at scale. Deno 2 is out today: Fully backwards compatible with Node and npm Package management and node_modules and package.json Long ter
10月17日、Node.jsはバージョン23.0.0をリリースした。この新バージョンでは、いくつかの重要な変更が導入されている。 主なハイライト • require(esm)がデフォルトで有効化 • 32ビットWindowsシステムのサポートが削除 • node --runコマンドの安定化 • テストランナーの強化(カバレッジファイルのグロブパターン対応) これにより、Node.js v23.0.0は現行バージョンとなり、2024年10月末にNode.js v22が長期サポート(LTS)に移行する際に引き継がれる。今後6ヶ月間、v23は現行リリースラインを維持し、2025年4月までサポートされる予定だ。 require(esm)がデフォルトで有効化 v23.xでは、ネイティブESモジュールをrequire()で読み込む機能がデフォルトで有効化された。これまで、この機能は--experime
Deno v2が正式にリリースされました🎉 この記事では、Deno v1.0.0リリース時点からDeno v2.0.0までのリリースに渡って起きた大きな変更などについて、当時の状況と比較しつつまとめます。 GoスタイルAPIの見直し - Web標準への準拠を高める Deno v1.0.0時点でのDenoのAPIの設計について Deno v1.0.0の時点ではDenoにおける様々なAPIやコマンドなどがGoの影響を強く受けていました: 例) 様々なリソースへのIOのためのインターフェース (Deno.Reader/Deno.Writer) deno runコマンド (スクリプトランナー) deno fmtコマンド (Formatter) deno docコマンド (APIドキュメンテーションツール) deno testコマンド (テストランナー) Denoは初期の頃からWeb標準への準拠が
10月10日、Denoは「Deno 2」を正式に発表した。Denoは、JavaScriptおよびTypeScriptをサポートする現代的なツールチェーンとして、すでに数多くの開発者に愛用されているが、新バージョンのDeno 2はさらに多くの機能と強化を備え、特にNode.jsおよびnpmとの互換性を大幅に改善している。 Deno 2の主要機能 Deno 2では、多くの新機能が導入されている。以下は主な機能である。 Node.jsおよびnpmとの互換性:Deno 2は、既存のNode.jsプロジェクトやnpmパッケージをシームレスにサポートしており、package.jsonやnode_modulesを直接利用可能である。これにより、既存のNodeプロジェクトにDenoのツールを導入することができる。Denoでは、npm:という形式でnpmパッケージをインポートすることも可能で、node_mo
プロダクトのビルドツールを webpack から Rspack に移行したので、その経緯と注意点をまとめます。 🦀 Rspackとは? Rustで書かれた高速なJavaScriptのバンドルツールです。 webpackエコシステムとの強力な互換性を持ちます。 2024/08/24にv1.0.0がリリースされました。 🤔 なぜRspackに移行したのか? ビルド速度改善のため以前からwebpackの移行を検討していましたが、プロダクトがwebpack依存の構成[1]で、Viteやその他のビルドツールへの移行が少し面倒でした。 Rspackであればwebpackのプラグインもそのまま動き移行が容易、かつ速度改善が見込まれるためRspackへの移行を選びました。 💡 移行方法 移行方法は、rspackの公式ドキュメントの migrate from webpack をそのまま参考にして進めま
Claude or ChatGPT + Tools やモデルの組み合わせで対応パターンが膨大で面倒だったのを、 Deno + ai-sdk(Vercel) で書き直したらだいぶ楽になった。 この辺を参照した。 OpenAI と AnthropicAI の Tools の叩き方を確認したが、 Gemini はそこを省いている。 前提 まず、 AI 周りの CLI ツールは専用の面倒臭さがあることを知っておく必要がある。 ストリーミング Tools の応答 AI 周りの応答をストリーミングするのは LLM 関係なくストリーミング処理を大量に書く必要がある。 ストリーミング処理は WebSocket や WebWorker 周りのAPIハンドルと同じノウハウが必要になる。別に難しくはないが、既存の Promise 抽象に当てはまらないので、都度考えることになり、だるい。 Tools の応答は、A
Node.js で型安全な環境変数を扱うスニペットを作りました。 next devのようなアプリケーションの起動、Playwright でのテストなどコマンドごとに渡したい環境変数のセットが異なるケースがあります。 この場合に環境変数をまとめたものを定義して、それをコマンドごとに読み込むセットを変えたいことがあります。 次のようにベタ書きしてもいいのですが、渡したい環境変数が増えると管理が大変になります。 NEXT_PUBLIC_LOCALHOST_URL=http://localhost:3000 NEXT_PUBLIC_API_URL=http://localhost:3001 NEXT_PUBLIC_IS_TEST_MODE=false FOO="bar" next dev そのため、.envのような環境変数をまとめたファイルを使いたくなります。 Node.js は--env-fil
JSer.info #704 - WebdriverIO v9がリリースされました。 WebdriverIO v9 Released | WebdriverIO 新しい機能として、WebDriver BiDiのサポート、urlコマンドの追加、addInitScriptコマンドの追加、setViewportコマンドの追加、ShadowRootのサポートなどがあります。 また、emulateコマンドでClockのエミュレーションサポートや、要素がinteractiveになるまで自動的に待機する変更も含まれています。 Node.js v22.7.0がリリースされました。 Node.js — Node v22.7.0 (Current) 新しい機能として、--experimental-transform-typesフラグによるTypeScriptのenumとnamespaceの変換をサポートしまし
JavaScript Primer v6.0.0をリリースしました 🎉 JavaScript Primer v6.0.0では、ECMAScript 2024の対応とNode.jsのユースケースを新たに増えたnode:utilのparseArgs関数やnode:testを使うように書き直しています。 JavaScript Primer Sponsors JavaScript Primer(jsprimer)では、Open Collectiveを通じてプロジェクトの更新に関わる資金を募っています。 JavaScript Primer - Open Collective 今回のv6リリースにおいては、次の方々にご支援いただきました! 株式会社コクチョウさんは、Yearly Gold Sponsorとしてご支援いただいています。 ご支援ありがとうございます! JavaScript Primerス
9月20日、Deno 2.0のリリース候補版が公開された。これは、Deno 1.0のリリース以来、最大のアップデートであり、Node.jsとの互換性向上や依存管理システムの改良、グローバル変数の変更など、様々な新機能と改善が含まれている。 1. グローバル変数の変更 Deno 2.0では、windowグローバル変数が削除され、代わりにglobalThisやselfの使用が推奨されている。この変更は、Denoがブラウザと互換性を持つことを目指して導入されたwindowが、思わぬバグを引き起こしていたためだ。これにより、ライブラリがDeno上での動作時に問題を引き起こすことが少なくなる。 // Deno v1.x window.addEventListener("load", () => { console.log("loaded"); }); // Deno v2.x globalThis.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く