はじめに みなさんはDockerfileを書いていますか? 近年はAIによる支援でDockerfileをスクラッチで書く機会が減っていると考えられます。 しかしながら、AIに書かせる場合でも良い書き方を知っていることで、その後の修正が容易になります。 この記事では、Node.jsアプリケーションのDockerfileを作成する際に、私ならこのように書くという提案をします。 作成するDockerfileとディレクトリ構造 初めに、完成形のDockerfileとディレクトリ構造を示します。 以降のセクションで実装のポイントを解説していきます。 実行可能なサンプルコードはGitHubで公開しているので、必要に応じてこちらも参照してください。 Dockerfile 各種バージョンは記事執筆時点での最新版です。 # syntax=docker/dockerfile:1.20.0 FROM node:
Node.jsでネイティブにTypeScriptを実行するための機能「Type Stripping」が、11月11日にリリースされた新バージョン「Node.js v25.2.0」で安定版になったことが発表されました。 これにより本番環境などでもType Stripping機能を用いたTypeScriptファイルの実行が安心してできるようになりました。 Node.jsはTypeScriptをサポートしていなかった Node.jsはもともとサーバサイドのJavaScriptランタイムとして開発されたため、JavaScriptのスーパーセットであるTypeScriptの型指定や高度な命令などには対応していません。 Node.jsでTypeScriptファイルを実行するには、TypeScriptトランスパイラを用いてJavaScriptに変換するなどの方法があります。 この方法を用いたts-nod
それが簡単にできちゃう、napi-rsなら。 napi-rs/napi-rs: A framework for building compiled Node.js add-ons in Rust via Node-API https://github.com/napi-rs/napi-rs そしてこれを使って、oxlintはJSで書かれたESLintプラグインを実行してる。 Node-API Node-API | Node.js v25.0.0 Documentation https://nodejs.org/api/n-api.html Node.jsのコードから、C/C++やらで書いたコードを呼べるやつ。 で、Rustでもそれ用のコードをいい感じに書けるようになるのが、napi, napi_derive crateと、それをよしなにビルドしてくれる@napi-rs/cliというわけ。
https://vuefes.jp/2025/
PayPayの6年の歴史の中で、私たちは急速な成長を遂げてきました。現在、6700万人以上のユーザーにサービスを提供し、日々数百万件の決済を処理しています。しかし、これを成功させるためには、トラフィックと信頼性の要求を満たすための技術的な挑戦が伴います。 PayPayは設立当初からJavaとNodeJSを採用しており、これらの技術は非常にうまく機能してきました。しかし、成長に伴いサービスをスケールアップする必要が生じ、これによりKubernetesクラスターでのCPUとメモリの使用量が増加しました。これにはサーバーコストの増加が伴います。 2023年末、私たちはコアサービスでのトラフィックをより効率的に処理する方法を模索し始め、GraalVMやGo、Rustなどさまざまな技術を調査しました。Rustは、その優れたパフォーマンスとメモリの安全性が保証されていることから、PayPayの多くのユ
In August 2024 Node.js introduced a new experimental feature, Type Stripping, aimed at addressing a longstanding challenge in the Node.js ecosystem: running TypeScript with no configuration. Enabled by default in Node.js v23.6.0, this feature is on its way to becoming stable. This article explores the motivations behind this feature, the problems it solves, and its implications for the Node.js com
Matt PocockMatt is a well-regarded TypeScript expert known for his ability to demystify complex TypeScript concepts. Node 23 will soon be able to run TypeScript files without any extra configuration. Marco Ippolito, who has been driving TypeScript support in Node for the last year, landed a PR unflagging --experimental-strip-types in Node 23. Practically, this means a few things: You can create an
はじめに Nikkei Advent Calendar 2024 の 12 日目の記事です。 初めまして。日本経済新聞社で Web Platform Team で日経電子版 Web の技術的なプラットフォームの開発や、他チームへの技術支援を行っている 林(@Shinyaigeek) と 竹本 と申します。 今回、日経電子版の抱えていた、莫大なリポジトリ数で構成されるマイクロサービスをモノレポ化してしまうことにより、開発効率を向上させた事例についてお話しします。 背景 日経電子版 Web は垂直分割なマイクロサービス構成が取られています。 皆さんが日経電子版 Web にアクセスする際には、www.nikkei.com という単一のドメインへとアクセスしていますが、そのアクセスは最初 Fastly で受け取っています。 そして Fastly が Reverse Proxy 層として振る舞ってお
はじめに 最初はなんとなくで書いていたDockerfileなのですが、社内用にベストプラクティスを整理するタイミングがあったので、実際にNode.js + TypeScriptでアプリケーションを作成しながらまとめることにしました。 この記事でフォーカスするのは、 Dockerfileのベストプラクティスそのものの詳細ではなく、それらを整理と「結局どう実装すんねん?」ってところです。 主に以下の内容を参考にしています。 想定読者 Node.jsにおけるDockerfileのベストプラクティスの具体を知りたい方についてはピッタリだと思いますが、その他の言語でも参考になる部分はあると思います。 本記事では、各用語やベストプラクティスの詳細は記載しませんが、該当箇所へのリンクを載せているので必要に応じて参照してください。 また、この記事に書いていない内容で、上記3つの記事に書かれているベストプラ
引用元: 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なファイルを読み込む機能ですが、以下の
Previous slideNext slideToggle fullscreenOpen presenter view Rails vs Node.js 最終章 「Prisma」 @mizchi Cloudflare Meetup 2024/10/02 今日の Prisma + Cloudflare の様子 About https://x.com/mizchi Node.js とフロントエンドの専門家 100万円*達成率で御社のフロントエンドの高速化をやります 前書き フロントエンド/Node.js 視点のポジショントークです Railsに対するチャレンジャーとして Node.js を使ってきた話 Rubyの開発者やRubyのユーザーを否定する意図はありませんが、好き嫌いは否定しません。型が好きです 「Rails」は 2010年前後に流行っていた任意なWAFに置き換え可能 Symfony
東京Node学園 44時限目で発表した Removing Corepack についてです。
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
年明けはまず環境整備から、ということで今年は mise を導入することにした。 去年まで rtx とか rtx-cli という名前でやってた Rust 実装の asdf 代替の多用途バージョン管理ツール。この年明けに急に mise にリネームしたよ、というニュースが流れてきて、気になって見てみたら良さそうだった。 一般的な解説は "rtx" でググると日本語記事も出てくるのでそっちを見て欲しいけど、個人的な asdf に対するメリットはこのあたり。 とにかく速い asdf は Node の最新バージョンの反映が node-build 依存で、更新が数日遅れることがあった 結果的に手動で定義ファイルを更新していたが、処理速度も遅く面倒だった 参考: asdf で node-build の定義ファイルを手動更新する asdf はコマンド体系が謎だった(自分には) 例えば v20 系の最新をイン
2024-08-06, Version 22.6.0 (Current), @RafaelGSS Experimental TypeScript support via strip types Node.js introduces the --experimental-strip-types flag for initial TypeScript support. This feature strips type annotations from .ts files, allowing them to run without transforming TypeScript-specific syntax. Current limitations include: Supports only inline type annotations, not features like enums o
README.md Node.jsのTypeScriptサポートについて Created: 2024-07-28 Updated: https://gist.github.com/azu/ac5dafbf211ef8b5ecf386930ac75250/revisions Node.jsのTypeScriptサポートに関する議論を時系列でまとめたものです。 Start Issue: Support typescript with --experimental-strip-types · Issue #208 · nodejs/loaders SWCを使ってTypeScriptの型を削除することで、Node.jsのTypeScriptサポートを実現するという提案からスタートした。 最初の懸念としては、Node.jsのLTSは3年保守する必要があるので、依存によってNode.jsのLTSサポー
module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-types. Node.js will transpile TypeScript source code into JavaScript source code. During the transpi... 💁♀️ まだマージされてない点に注意してください --experimental-strip-typesというフラグを実行時に付けることにより、Node.jsでTypeScriptのコードを実行できるようになる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く