並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 341件

新着順 人気順

nodeの検索結果281 - 320 件 / 341件

  • Rails7がもつフロントエンドへの「答え」

    Rails7のアルファ版がリリースされました。 最近、Railsニューリリースの記事をみてもテンションがあがらなかったのですが(個人開発ではもっぱらNext.jsとかFlutterのお世話になってました)、下記のDHHによるデモが久々に 「Railsっていいかも」 って思える内容だったので、背景も含めて解説します。 Railsの存在意義 みなさんは、どうやってRails使い始めましたか? 自分はRails3.1あたりで独学でウェブアプリ開発をはじめました。そのときに「簡単に始められて」「ビジネスロジックが増えても生産性が落ちない」 というあたりで、他に浮気する理由がなかった、というのが私の理由です。 それから数年が経ちますが、最近のRailsのアップデートは Basecamp(Railsの基となった製品)が必要としている機能がポートされているだけ という印象でした。 アプリケーションの複雑

      Rails7がもつフロントエンドへの「答え」
    • 思いもよらないものをnpm publishしてしまった話(前任者の顔写真など) - Qiita

      俺「すっげぇいい名前のライブラリ思いついた!!」 俺「npm あるかな?あるかな?」 (カタカタ) 俺「なかった!よっしゃ一番乗りや!!!今すぐ作らないと!!!」 俺「npm init enter enter enter enter npm publish うおおおおおおおいっけぇぇぇ!!!!!!!」 (カタカタカタカタカタカタカタカタッターン) 俺「ミ゜ッ!」 ーーー おはようございます。本番環境でやらかしちゃった人 Advent Calendar 2019の 23 日目を担当する、@sandessOjisanです。この記事では 思いもよらないものを npm publish したお話 を紹介します。 僕は あるとき 色々な会社の仕事を請け負っていた時期があり、そのときの無邪気なnpm publishによって、良くないことをしてしまったというお話しです。このコマンドを叩くといきなり本番環境

        思いもよらないものをnpm publishしてしまった話(前任者の顔写真など) - Qiita
      • Deno、Node.js、Cloudflare Workersなど、非Webブラウザ系JavaScriptランタイムのコード互換を目指す「Web-interoperable Runtimes Community Group」(WinterCG)が発足

        Deno、Node.js、Cloudflare Workersなど、非Webブラウザ系JavaScriptランタイムのコード互換を目指す「Web-interoperable Runtimes Community Group」(WinterCG)が発足 JavaScriptはWebブラウザで実行することを想定して開発されたプログラミング言語ですが、現在ではNode.jsやDenoなどに代表されるようにWebブラウザ以外の環境でも実行されるようになってきました。 そこで、こうした非Webブラウザを中心としたJavaScriptランタイムにおける相互運用性の改善を目指したコミュニティグループ「Web-interoperable Runtimes Community Group」(WinterCG)がW3Cで発足しました。 設立メンバーはDeno、Cloudflare、Shopify、Vercel

          Deno、Node.js、Cloudflare Workersなど、非Webブラウザ系JavaScriptランタイムのコード互換を目指す「Web-interoperable Runtimes Community Group」(WinterCG)が発足
        • イマドキの cron は GitHub Actions / CircleCI でやりたい

          2020/09/13 追記 「GitHub Actions の規約違反では?」というコメントがありましたが、追記時点の規約では特別禁止されていません。 https://docs.github.com/ja/github/site-policy/github-additional-product-terms#a-actions-usage 唯一グレーラインに相当する可能性のある『サーバーレスコンピューティング』も日本語訳に残っているだけものであり、英語の原文からは既に削除されている項目のため、問題ない利用方法となります。 昔は cron といえば Heroku と Heroku Scheduler だったけれど、Heroku Scheduler が遅延するようになってから、自分用の定刻バッチを楽に動かせる手段がなくてしばらく困っていたり。 しっかりとしたプロジェクトを作成する場合なんかは F

            イマドキの cron は GitHub Actions / CircleCI でやりたい
          • Node.jsの非同期I/Oについて調べてみた

            こんにちは、本記事は リクルートライフスタイル Advent Calendar 2019 13 日目の記事です。今日は sadnessOjisan がやっていきます。この記事では Node.js の非同期 I/O について調べたことを紹介します。 調べようと思ったきっかけは、先日の JSConfJP で Wrap-up: Runtime-friendly JavaScriptというランタイムレベルでの最適化を解説したセッションを見て Node.js の理解を深めたいと思ったからです。私は Node.js でのコーディングは多少経験がある程度なので、まずは Node.js の大きな特徴である非同期 I/O からキャッチアップすることにしました。 Node.js の大きな特徴 Node.js は公式の説明を借りると、スケーラブルなネットワークアプリケーションを構築するために設計された非同期型の

              Node.jsの非同期I/Oについて調べてみた
            • nodebestpractices/README.japanese.md at master · goldbergyoni/nodebestpractices

              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                nodebestpractices/README.japanese.md at master · goldbergyoni/nodebestpractices
              • npmとyarnとpnpmの違い2021

                (Last Update: 2022/02/03) npm と yarn(v1) と pnpm (とyarn v2)の違いについて記述します。 Versions npm Yarn pnpm 各パッケージの特徴 npm npmはnpm社が提供する、JavaScriptパッケージマネージャーです。 npmというコマンドラインで動作するプログラムでパッケージを管理できます。いわばnpm公式のパッケージマネージャーとなります。 Windows等でインストールするとNode.jsに同梱されています。 Yarn Yarnはnpmより後発のJavaScriptパッケージマネージャーです。 元々、npmにはインストール時のパッケージバージョンの非再現性やパフォーマンス上の問題、セキュリティの問題が山積しており、それを解決するために開発がスタートしました。 いわば、サードパーティのnpmということになります

                  npmとyarnとpnpmの違い2021
                • 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に移行した時の話
                  • 10 best practices to containerize Node.js web applications with Docker | Snyk Blog | Snyk

                    September 14, 2022: Check out our new and improved cheat sheet for containerizing Node.js web applications with Docker! Are you looking for best practices on how to build Node.js Docker images for your web applications? Then you’ve come to the right place! The following article provides production-grade guidelines for building optimized and secure Node.js Docker images. You’ll find it helpful rega

                      10 best practices to containerize Node.js web applications with Docker | Snyk Blog | Snyk
                    • ここがすごいぞyugabyteDB!~OSS版CloudSpanner~ - RAKUS Developers Blog | ラクス エンジニアブログ

                      こんにちは。インフラエンジニアの gumamon です! 近年、Kubernetes等の登場により、アプリケーションのスケールアウトはとても簡単になりました。対して、データベース(DB)のスケールアウトは依然として困難です。 「RDBMS」⇒ データの一貫性は保てるが、スケールアウトが難しい 「NoSQL」⇒ データの一貫性を保てないが、スケールアウトが容易 DBのスケールアウトを考えるとこの2択に行きつく、というのが今までの常識だったかと思いますが、 『どっちも!』が出来てしまう第3の選択肢が登場しました。 データの一貫性を保て、且つスケールアウト容易な『NewSQL』! 最近、NewSQLの一つである yugabyteDB の検証をする機会がありましたので、アーキテクチャと検証結果を紹介します。 目次 目次 ここがすごいぞ yugabyteDB! yugabyteDBのアーキテクチャ

                        ここがすごいぞyugabyteDB!~OSS版CloudSpanner~ - RAKUS Developers Blog | ラクス エンジニアブログ
                      • Commitizenを使ってgitのコミットメッセージをしっかり書こう | DevelopersIO

                        はじめに gitのコミットメッセージを記述するとき、内容について悩むことが度々あります。 簡潔に要点をまとめて書きたいけどいちいち記述が面倒だったり、チームで書き方がバラバラだったり・・・ そして結局「fix bug」のひとことだけメッセージを記述するだけになったりします。 この記事ではそんなコミットメッセージを少しでも簡単に有用にするためのツールを紹介します。 Commitizen? コミットメッセージを簡単・簡潔に記述したいときに使えるのがCommitizenです。 Commitizenはインタラクティブにコミットメッセージを作成できるツールで、 このコミットのタイプ スコープ コミットのサマリー コミットの詳細 などについて対話的に記述していくことで、適切なコミットメッセージを作成できます。 ? Select the type of change that you're commit

                          Commitizenを使ってgitのコミットメッセージをしっかり書こう | DevelopersIO
                        • Github Packagesことはじめ #techtekt Advent Calendar 2022 - techtekt

                          テクノロジー本部 エンジニアリング統括部 サービス開発部でエンジニアをしている青木です。 今年、担当していたプロジェクトでGithub Packagesを用いてprivate packageを作成した話を紹介します。 こんな人に見てほしい 複数プロジェクト間でUIのリソースを共有したい github repository間で共有したいリソースがある npm packageを作る上での選択肢を知りたい 背景 当時担当していたプロジェクトでは、以下のような状況でした。 サブプロジェクトA,Bの間でリソースを共有したい UIコンポーネント ユーティリティ、など サブプロジェクトA,Bに関しては同じ技術スタック(Node.js+React+Next.js+TypeScript)であるため、リソースを再利用することができれば、開発効率向上が期待できる状態でした。 しかし、サブプロジェクトA,Bそれぞ

                            Github Packagesことはじめ #techtekt Advent Calendar 2022 - techtekt
                          • 実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog

                            Wantedlyではこのたび、フロントエンドアプリケーションのひとつをNative ESM化しました。本記事ではNative ESM化の必要性と、必要な作業について説明します。 この記事の概要Node.jsにはNative ESMというモードがある。Native ESMはまだ普及していないが、ライブラリ側の更新が進み、移行が必要になりつつある。Native ESMをめぐる状況は (この記事の長さからわかるように) 色々複雑で、概念をちゃんと説明するだけでも大変。Native ESMへの移行にあたってはさまざまな困難が待ち受けている。Native ESMとは歴史的経緯から、JavaScriptには複数のモジュールシステムがあります。そのうちNode.js周辺でよく使われるのはCommonJS ModulesとES Modulesです。 CommonJS Modules (CJS) は実質的に

                              実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog
                            • ペパボ トラブルシュート伝 - node プロセスの general protection fault を追う - abort(3) の意外な実装 - Pepabo Tech Portal

                              セキュリティ対策室の伊藤洋也 @hiboma です。 業務中に、Haconiwa コンテナ で動くとある node プロセスが general protection fault ( 一般保護違反! ) を起こしてdmesg にログを残す現象を調べ、問題解決にあたっていました。その際の痕跡をまとめなおして記したエントリになります。 エントリの概要 本エントリでは、以下のような内容を扱います。 Haconiwa コンテナの node プロセスが general protection fault を起こしている ライブラリ関数 abort(3) の概要 abort(3) がプロセスを停止する方法の検証 node プロセスが abort(3) を呼び出すケース glibc x86系の abort(3) 実装が HLT 命令を呼び出し、general protection fault を起こすこと

                                ペパボ トラブルシュート伝 - node プロセスの general protection fault を追う - abort(3) の意外な実装 - Pepabo Tech Portal
                              • node modules なし blog を作っている話 | maxmellon's blog

                                node modules なし blog を作っている話今年の9月頃から,no dependencies で blog を作っています.(devDependencies には,jest と TypeScript を入れています) 正直,フレームワークを使えば blog くらいならすぐ作れるだろうと思っていたのと, フレームワークの使い方を覚えることが自分の成長に大きくつながるとは感じることができず, やっていて楽しい + 学習する余地がありそうな no dependencies で blog を作ることにしました. リポジトリはこちらです maxmellon/kajitsu 機能要件を考えるざっくり,自分がほしいなと思った要件を整理すると, markdown で記事を書きたいblog だけじゃなくて cookie や Cache-Controll header などを検証できる sandb

                                • CLIツールを作るためにoclifを試してみたら簡単すぎて吃驚した | Trial and Spiral

                                  CLI用のコマンドを作ってみようと思いたったのですが、CLI開発フレームワークoclifを試してみたらとても簡単で環境構築もすんなりできたのでびっくりしたという話。 概要 ある用途で思いたってCLIのコマンド作ろうと思った oclifというCLI用のフレームワークがあったので試してみた 簡単すぎてびっくりした 追加でPrettierとJestも対応してみました 動機 誰しもCLIのコマンドをつくりたくなることがたまにある。僕はある。 今回はGUIを作るまでもなく、コマンドでシュッと実行したい作業があったので勉強と遊びを兼ねてコマンドを作ることにしました。CLIの開発ツールはいろいろありますが、今回はやりたいことを実現するのにすでに知見としてあるものを流用したい背景aからNode.jsでやることにしまた。 Node.jsにもCLI用を作るためのライブラリがさらにいくつかありますが、今回はoc

                                    CLIツールを作るためにoclifを試してみたら簡単すぎて吃驚した | Trial and Spiral
                                  • 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とHono

                                      JavaScriptのランタイム、Bunのv1.0がリリースされましたね 🎉 さて、僕がメインとなって開発しているHonoはBunと関係があるので、その話をします。 hono Express or KOA Bunのリリース時に使われた動画がかっこいいです。まるでApple。 この中で作者のJarredから肉まんのパスを受けるのがBunのDeveloper AdvocateでZodの作者のColinです。彼は「Web APIを作るためのフレームワーク」として以下のように言いました。 hono Express or KOA おおー。Express、Koaより前に来てていい感じですね。上記で貼ったリリースノートには順番が変わってますが、しっかりと名前が出てます。 Bun is tested against test suites of the most popular Node.js pack

                                        BunとHono
                                      • 開発時の動作確認ツールとしてCypressのE2Eテストを導入した話 - visible true

                                        ユビーAI問診は、Ubieが提供する医療機関向けのプロダクトです。患者さんに対して問診を実施し、医師向けのカルテを作成します。現在は大きく分けて、タブレットとスマートフォンの2つの利用方法があります。 タブレット用、スマートフォン用の画面 これらはどちらもWebアプリケーションとして実装していて、フロントエンドはReact/TypeScriptで書いています。 問診のプロセスは画面遷移が多い ユビーAI問診は紙の問診票で書くような定型的な質問だけでなく、来院した目的に合わせて様々な質問を行います。 例えば「頭が痛い」といった症状を入力した場合、発症時期や部位、痛みの程度、持続時間、経過、頻度などを掘り下げて、更にそれらの回答内容から疑われる疾患に関連する質問を重ねていきます。あるいは「足をひねった」など外傷に関する場合は、スポーツをしていたかや事故かといった状況を聴取したりします。問診の長

                                          開発時の動作確認ツールとしてCypressのE2Eテストを導入した話 - visible true
                                        • Node.jsアプリケーションのDockerイメージのサイズを削減する方法について調べた - The Third Law

                                          Next.jsアプリケーションのDockerイメージのサイズが大きくて困っていたので調べていたところ、Next.jsの公式ドキュメントにDocker Imageというセクションがあり、おすすめ設定が記載されているのを見つけました。以前はここまで詳細な記述はなかったのですが、つい10日ほど前に追加されたようです。 ドキュメントには一番おすすめの方法だけ書かれているのですが、もともと「What is the best way to use NextJS with docker? · Discussion #16995 · vercel/next.js · GitHub」というdiscussionがあり、ドキュメントの記述はここでの議論が元になっているようです。Discussionではいくつか例が示されているのですが、それぞれさまざまな最適化テクニックが利用されており、どれくらいの容量になるか気

                                            Node.jsアプリケーションのDockerイメージのサイズを削減する方法について調べた - The Third Law
                                          • GitHub Actions の setup-go や setup-node で指定されるバージョンを go.mod や .node-version から取ってくる - stefafafan の fa は3つです

                                            たとえばGoで書かれているプロダクトのCIをGitHub Actionsでやっていて、Goのバージョンがあがるたびにこのファイルを毎回ちまちま更新しているとあまり面白味のない作業になってしまう。最近だとGo 1.18 から 1.19 にあげるときに以下の go-version に書いてる数字を 1.19 にあげる必要があった。 steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version: 1.18 - run: go version actions/setup-go@v3.1.0 からは go-version-file に go.mod のパスを指定することによってそこからバージョンを取得して使ってくれるようになった。便利。 .go-version にも対応しているようです。 github.

                                              GitHub Actions の setup-go や setup-node で指定されるバージョンを go.mod や .node-version から取ってくる - stefafafan の fa は3つです
                                            • Native ESM + TypeScript 拡張子問題: 歯にものが挟まったようなスッキリしない書き流し

                                              Node.jsのNative ESM対応は夢の機能ですが、夢を詰め込みすぎたせいかCJSからの移行を難しくしているポイントが依然として存在します。そのひとつが拡張子問題で、Node.jsのNative ESMではモジュールの拡張子を明示しなければいけなくなりました。 (これはWebブラウザの挙動に近づけるための判断だと考えられます。) 特にTypeScriptと他のツール (JestやWebpack) と組み合わせて利用している状態でのNative ESM化は実質的に未解決の状態だと言えます。本稿ではこの現状についてできる範囲で状況説明を試みます。 Node.jsの拡張子の扱い Node.jsはCJSとESMの2つのモジュールフォーマットをサポートしていますが、これらは単にパーサーが異なるだけではなく、実質的には「2種類の異なるモジュールシステムがFFIで繋がっている」程度には隔たりがあり

                                                Native ESM + TypeScript 拡張子問題: 歯にものが挟まったようなスッキリしない書き流し
                                              • Prisma – The Complete ORM for Node.js & TypeScript

                                                Prisma is a next-generation ORM for Node.js and TypeScript. After more than two years of development, we are excited to share that all Prisma tools are ready for production! Contents A new paradigm for object-relational mapping Ready for production in mission-critical apps Prisma fits any stack Open-source, and beyond How can we help? Get started with Prisma Come for the ORM, stay for the communit

                                                  Prisma – The Complete ORM for Node.js & TypeScript
                                                • TypeScript + Node.jsプロジェクトにESLint + Prettierを導入する手順2020 - Qiita

                                                  TL;DR 完成形のソースコードはこちら↑ この記事の趣旨 TypeScript + Node.js プロジェクトのはじめかた2020 で作成したTypeScript + Node.jsのプロジェクトに ESLint / Pretiter / husky & lint-staged を導入する手順を紹介します。 今回導入するツールとバージョンは以下になります。 項目 バージョン

                                                    TypeScript + Node.jsプロジェクトにESLint + Prettierを導入する手順2020 - Qiita
                                                  • 「SSRと規約だけ」の勘違いを解く、 Nuxt.js をプロジェクトで採用すべき理由 - ROXX開発者ブログ

                                                    back check 事業部に業務委託でコミットしているフロントエンドエンジニアの potato4d です。 ROXX では、 v1.0 が出る前から、プロダクト、コーポレートサイト、ランディングページ、メディアなど、多くのシーンにて、 Nuxt.js が採用されています。 Nuxt.js は多くの人に愛される一方で、最近は Vue 3.0 の話もあり、多少評価が落ち着いてきた印象があります。 この記事では、十分に普及した今だからこそ、 Nuxt.js の本当の優位性と、どういったときに使うべきか。あるいは使うべきでないかを再度言語化できればと思います。 「SSRとルールだけ」という勘違い まずは Nuxt.js の採用についてです。多くの場合、「Vue か Nuxt か」という問いには、いかが判断基準として使われます。 SSR 今必要かどうか Nuxt.js の組み込みのルールをチームに

                                                      「SSRと規約だけ」の勘違いを解く、 Nuxt.js をプロジェクトで採用すべき理由 - ROXX開発者ブログ
                                                    • 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
                                                      • Node.js with TypeScript

                                                        Node.js with TypeScriptTABLE OF CONTENTSWhat is TypeScriptExamplesMore about TypeScriptTypeScript in the Node.js world What is TypeScriptTypeScript is a very popular open-source language maintained and developed by Microsoft, it's loved and used by a lot of software developers around the world. Basically, it's a superset of JavaScript that adds new capabilities to the language. Most notable additi

                                                          Node.js with TypeScript
                                                        • フロントエンドの知識地図—— 一冊でHTML/CSS/JavaScriptの開発技術が学べる本

                                                          2023年11月24日紙版発売 株式会社ICS 池田泰延,西原翼,松本ゆき 著 A5判/344ページ 定価2,860円(本体2,600円+税10%) ISBN 978-4-297-13871-4 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Amazon Kindle この本の概要 フロントエンド開発の範囲は広く,習得すべき技術は多種多様です。 HTML・CSS・JavaScriptはフロントエンドエンジニアにとって共通言語ではあるものの,Webサイトを制作するのか,Webアプリケーションを開発するのか,その違いによって採用すべき技術は全く異なります。それは,Webの多様性に対して技術的な正解がひとつではないことを示しています。 本書はフロントエンドの技術を俯瞰し,「エンジニアが共通して知っておくべき技術はなにか」,「(多種多様なエンジニアにと

                                                            フロントエンドの知識地図—— 一冊でHTML/CSS/JavaScriptの開発技術が学べる本
                                                          • Promise のキャンセルについて - Qiita

                                                            [ English version ] JavaScript と Node.js についてのこの徹底した投稿では、Promises のキャンセルの歴史、なぜNode.jsに関係があるのか、そして async/await APIで使おうとしたときに注意すべきことについて学ぶことができます。 この投稿は、JavaScript の Promise API をよく理解していて、 Node.js の経験がある方のためのものです。 歴史 2014 年に Promise API がブラウザに導入されて以来、人々は Promise で他に何ができるかを調べていました。ブラウザに最初に登場した関連APIは、HTTP リクエストのための fetch() でした。 HTTP リクエストの問題は、サーバーのリソースを消費することであり、サーバーに送信されるリクエストの数が多い場合はお金がかかります。このため、特に

                                                              Promise のキャンセルについて - Qiita
                                                            • ヘッドレスブラウザとSSRF | MBSD Blog

                                                              ヘッドレスブラウザは、サーバ環境などでHTMLをレンダリングするためにバックグラウンドで動作させるブラウザです。 筆者も昨年診断ツールに組み込んだのを契機に使用し始めました。使ってみるとなかなか面白いので、今年は社内での学習用の「やられサイト」にも組み込んでみました。今回はこのやられサイトを題材にして、ヘッドレスブラウザとSSRF(Server-side request forgery)について書きます。 やられサイトの概要 開発したやられサイトは簡単なブックマークサイトです。ユーザがURLを入力すると、そのスクリーンショット画像をヘッドレスブラウザで取得して、ユーザが付けたコメントなどの付加情報とともに保存します。 下図はヘッドレスブラウザに関連する部分の構成です。 図のとおりNode.jsのPuppeteerを使用しており、バックエンドのブラウザエンジンはChromiumです。性能向上

                                                              • ハンズオンNode.js

                                                                Node.jsの入門書。対象読者は、フロントエンド開発の知識はあってもサーバサイド開発は知らないエンジニアや、他言語の経験はあってもNode.jsは触ったことがないプログラマー。本書ではターミナルのプロンプトにコマンドを入力してその反応を確認したり、簡単なスクリプトをNode.js環境で実行したりしながら、Node.jsプログラミングの基本からWebアプリケーションの開発、テスト、デプロイまでをハンズオン形式で学びます。また、コードの背景にある設計思想や、プログラムの挙動の仕組みについてもしっかり掘り下げます。本書のゴールは、読者がNode.jsの全体像を掴み、業務レベルでのアプリケーション開発に対応可能な知識を身につけることです。 関連ファイル GitHubリポジトリ 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、

                                                                  ハンズオンNode.js
                                                                • Playwright

                                                                  Playwright enables reliable end-to-end testing for modern web apps. Cross-browser. Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox. Cross-platform. Test on Windows, Linux, and macOS, locally or on CI, headless or headed. Cross-language. Use the Playwright API in TypeScript, JavaScript, Python, .NET, Java. Test Mobile Web. Native mobile emulation of Google C

                                                                    Playwright
                                                                  • Node.js Docker baseイメージには alpine < distroless < ubuntu+slim 構成がよさそう

                                                                    Node.js Docker baseイメージには alpine < distroless < ubuntu+slim 構成がよさそう はじめに この記事は、DockerCon 2022 で発表された Bret Fisher の "Node.js Rocks in Docker, DockerCon 2022 Edition" を参考にしています。 base イメージの選択肢に関する話は、動画の前半一部分だけですが、他にも Node.js で Dockerfile を書く時のベストプラクティスが数多くまとまっているので、是非チェックしてみてください。 node:alpine イメージを使わない base イメージサイズを小さく保ちたい、という点で気軽に利用される事が多い alpine イメージですが、Official の README には下記の記載があります。 This variant

                                                                      Node.js Docker baseイメージには alpine < distroless < ubuntu+slim 構成がよさそう
                                                                    • 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
                                                                      • You don't need Node.js

                                                                        Node.jsはいらない場合がある、むしろいらない場合の方が多いかもしれない、 そしてDenoとBunを使い分けて代替する方法を説明するという記事です。 Post Node.js ランタイムの登場 Node.js のあとにできたランタイムがいくつも登場しています。 Deno Bun WinterJS LLRT この中でも、人気であるDenoとBunを中心に考えていきます。 DenoやBunに変えるメリット これがなければNode.jsから変える必要はないと思います。 私は、以下の3つが、2ランタイムに共通して言える大きなメリットだと思います: ネイティブTypeScriptサポート 高速 Web標準 ネイティブTypeScriptサポート 現在、JavaScriptを記述するときは、TypeScriptを利用することが多いと思います。 Node.jsでTypeScriptを使うとき。tsc

                                                                          You don't need Node.js
                                                                        • ESLint v7.0.0 の変更点まとめ - Qiita

                                                                          overrides: - files: "*.js" extends: my-config-js - files: "*.ts" extends: my-config-ts のような設定がある場合、eslint lib コマンドは lib ディレクトリ内の *.ts ファイルもチェックします。 なお、eslint lib/** のように Glob パターンを指定した場合は今まで通りに動作しますのでご注意ください。overrides 設定にかかわらず Glob パターンにマッチする全てのファイルをチェックします。 プラグイン開発者へ: あなたが管理するプラグインが *.js 以外のファイルを対象にするルールを提供する場合、recommended設定に overrides を追加すると利用者は便利かもしれません。 動作を元に戻したい場合: 今まで通り overrides 設定にかかわらず *.

                                                                            ESLint v7.0.0 の変更点まとめ - Qiita
                                                                          • あたらしいフロントエンド開発ツール「Nue」 | DevelopersIO

                                                                            About Nue 鵺(ぬえ)。 猿の顔、タヌキの体、蛇の尻尾、虎の脚を持つ妖怪です。 日本人ならNueと聞いた場合、思い浮かべるのは↑かと思うのですが、 これは先日リリースされた、フロントエンド開発ツールセットです。 *「Nue」はドイツ語で、「新しい」という意味だそうな *「Nue」はドイツ語の「neu」に由来しており、英語で「新しい」という意味だそうな 開発者はTero Piirainenという方で、 現在彼1人で開発しています。 ここを見ると、「Webの開発方法が変わるかも」と かなりすごいことが書いてありますが、どんなものなのか見ていきましょう。 Nueとはなんなのか? 公式を見ると、↓のようなことを言っています。 React、Vue、Next.js、Vite、Astroの代わりになる NueはSPAMPAの両方に対するサポートを備えたWebアプリケーションビルダーである Nue

                                                                              あたらしいフロントエンド開発ツール「Nue」 | DevelopersIO
                                                                            • 【初心者向け】NPMとpackage.jsonを概念的に理解する - Qiita

                                                                              概要 npm に初めて触れるときは、package.json がどういう役割をもっているのか、パッケージをインポートするとはどういうことなのかなど分からないことだらけであり、筆者も少しずつ調べては試すことを繰り返した記憶がある。これから Node.js を学ぼうという人にはこのような部分でつまづいてほしくないため、この記事では npm を使う上で必要な概念的知識を説明する。この記事を読めばスムーズに Node.js の学習が始められると思われる。 NPM とは NPM と名のつくものは実は 2 つあり、ひとつはオンライン上のパッケージレジストリ、つまり世界中の開発者が作った Node.js のパッケージが集められた場所である。もう一つは Node.js に付属している、パッケージを操作するための CLI(コマンドラインインターフェイス; コマンドラインから実行できるプログラム)である。 以

                                                                                【初心者向け】NPMとpackage.jsonを概念的に理解する - Qiita
                                                                              • 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で動かしてみた