タグ

Node.jsに関するAutomatorのブックマーク (22)

  • node.js のアプリを永続化(デーモン化)させる | 株式会社ブリッツゲート

    夏の暑さに負けて自宅でエアコンフル稼働な私です。 最近は node.js のお仕事が出てきたのですが、通常通り動いてOKとなっても、サーバーのSSHが終了するとプログラムも停止してしまいます。 そこで今回は node.js を永続化させる方法をご紹介します。 デーモン化モジュール : PM2 今回は pm2 というモジュールを使い、node.js をデーモン化していきます。 これは通常のデーモン化ではなく、pm2のサービスとして起動させるものです。 まずはインストールしていきましょう。 npm install pm2 -g この時、プロジェクトに追加するのではなく、システムとして稼働させるため 「-g」 をつけることを忘れないでください。 また、インストールは必ず node.js のファイルを実行させるユーザーで行ってください。 さらに、このままでも機能するのですが、実運用を考えてログファ

    node.js のアプリを永続化(デーモン化)させる | 株式会社ブリッツゲート
  • npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba

    うりうりさんの↓のコメントを見て、そういえばnpm ciって見たことあるけどチェックしてないなぁ。というかnpm installも雰囲気で使ってるなぁ。と思ったので、うりうりさんに教えてもらったことを手がかりに、npm installとnpm ciについて調べた。 これ、node_modulesキャッシュしてたり npm install使ってるけど npmのグローバルキャッシュ(~/.npm)をキャッシュした上で npm ciで早くなったりしないんだろうか GitHub Actions上でテストを約3倍早くした話https://t.co/MpmFktGBxU— wreulicke (@wreulicke) March 14, 2023 ちょこっと検索して見てみたところ、新旧情報があって自分が混乱したのと、公式ドキュメントには概要は書かれているものの詳しい内容は書かれていないので(僕が見つけ

    npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba
  • Node.js でメモリ肥大化の原因を特定してみた

    はじめに ユビーでエンジニアをしているおおいしつかさです。 これは、Ubie Engineering Advent Calendar 2023の12月7日の記事になります。 何を書こうかなー、最近はユビーの根幹システムのリアーキテクチャをやっているのでその辺かなーと思ったのですが、まだ仕掛かり中だということと具体な業務に直結しそうな内容なので抽象化して書くのが面倒そうだなーと思ってたところに軽いトピックが飛び込んできたので、そのことを書くことにしました。 ChatGPTはみなさん使われていると思いますが、ぼくも別の業務でOpenAI関連の機能開発に携わっています(ユビーで働くといろんな業務に携われるのがいいところです) 。 その仕事の中で、Node.js環境でメモリ肥大化の事象に遭遇したので、それをどのように発見して改善したかについてお話します。 ぼくは今も昔もRubyが大好きですが、ふだ

    Node.js でメモリ肥大化の原因を特定してみた
  • 【Node.js】ES Moduleで__dirnameを使う方法

    問題・背景|ReferenceError: __dirname is not defined in ES module scope Node.jsで__dirnameを使用すると、現在のJavaScriptファイルが存在するフォルダーのパスを取得できる。 Node.jsを扱っている者なら、利用することが多い機能の1つだと思う。 がしかし、__dirnameはCommon JSでしかサポートされておらず、ES Moduleで利用しようとすると怒られてしまう。 ReferenceError: __dirname is not defined in ES module scope This file is being treated as an ES module because it has a '.js' file extension and '/example/example/exampl

    【Node.js】ES Moduleで__dirnameを使う方法
  • 【初心者向け】NPMとpackage.jsonを概念的に理解する - Qiita

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

    【初心者向け】NPMとpackage.jsonを概念的に理解する - Qiita
  • GitHub - nodesource/distributions: NodeSource Node.js Binary Distributions

    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

    GitHub - nodesource/distributions: NodeSource Node.js Binary Distributions
  • Nodeのバージョン管理はVoltaがいいかもしれない

    Nodeのバージョン切り替えツールは nodenv を使用してますが、もっと便利なものがないか探したところ Volta というものを見つけたので試してみました。 環境 Volta 1.0.6 WSL2 Ubuntu-20.04 Voltaとは Voltaを簡単に説明すると、Node、パッケージマネージャー(npm, yarn)、グローバルパッケージを管理できるツールマネージャーです。 Nodeに加え、パッケージマネージャーとグローバルパッケージも管理できる優れものです。 このツールの特徴は3つで、速い、信頼できる、ユニバーサルとなっています。以下は公式の自動翻訳です。 速い JSツールをすばやくシームレスにインストールして実行します。VoltaはRustに組み込まれており、きびきびとした静的バイナリとして出荷されます。 Install and run any JS tool quickly

    Nodeのバージョン管理はVoltaがいいかもしれない
  • Yarnのバージョンを切り替える方法

    stableバージョンに切り替える latest / berry / stable -> the most recent stable berry (>=2.0.0) release stableは2.0.0以上のリリースの中から、直近の安定バージョンになります。

    Yarnのバージョンを切り替える方法
  • Node.jsのバージョン管理はVoltaに決定

    Voltaとは Rust製の2020年12月に正式版が公開された比較的新しいNode.jsバージョン管理ツールです。 Volta公式では「手間のかからないJavaScriptツールマネージャー」と説明されていて、以下の特徴が挙げられています。 ⚡️速い Rust製なのでどんなJavaScriptツールもとても速くインストールして動かせる ⚡️信頼できる プロジェクトメンバー全員が同じ環境を作れることを保障してくれる ⚡️万人共通 パッケージマネジャーやOS違いでも共通のコマンドを使える 新しいツールなのにGithubのスター数は既に7.4kで人気があり、 最新リリースも2022年10月1日、その前が2022年6月2日とメンテナンスも頻繁にされている印象です。 そもそもなぜ Node.js が必要なのか Node.jsとはブラウザ上で動くJavaScriptをサーバーサイドでも動かすためのソ

    Node.jsのバージョン管理はVoltaに決定
  • Node.js client library  |  Google Cloud

    Accelerate your digital transformation Whether your business is early in its journey or well on its way to digital transformation, Google Cloud can help solve your toughest challenges.

    Node.js client library  |  Google Cloud
  • 【個人開発】DMM Web サービスのAPIを使ってお気に入り女優さんが出演しているキャンペーン中の商品を検索できるサービスを作った - Qiita

    APIの使い方 [商品情報APIリファレンス - DMM API](商品情報APIリファレンス - DMM API)のリクエストURLに書いてある通りのURLを叩くだけです。 例えば商品のIDが「mide00988」の情報を取得する場合 https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=FANZA&service=digital&floor=videoa&hits=10&sort=date&cid=mide00988&output=json にアクセスすればOKです。 AmazonのProduct Advertising APIは、署名が必要なので一手間必要ですが、DMM APIはお手軽に情報を取得できます。 APIをたくさん叩きすぎると一定時間アクセスできなくなりま

    【個人開発】DMM Web サービスのAPIを使ってお気に入り女優さんが出演しているキャンペーン中の商品を検索できるサービスを作った - Qiita
  • Express×Helmetでウェブセキュリティを学ぶ - Qiita

    この記事は エニプラ Advent Calendar 2020 の 11 日目の記事です。 はじめに Express 公式の『実稼働環境における Express のセキュリティーに関するベスト・プラクティス』というドキュメントでは、「脆弱性対策のために Helmet を使ってね(要約)」と書いているけれど、どんなリクエストヘッダが設定されて、それによってどんな効果があるのか具体的に把握していなかったので、勉強がてらに調べてみました。 私自身セキュリティには勉強中の身であり、ことセキュリティに関しては内容の正確性が求められると思いますので、誤りや勘違いなどがございましたらどうぞご指摘頂ければ幸いです Helmet とは?👷 Helmet は Express で作成された Web アプリケーションに対して HTTP ヘッダを設定することで、webアプリケーションをセキュリティ的に堅牢化するラ

    Express×Helmetでウェブセキュリティを学ぶ - Qiita
  • node_modulesの問題点とその歴史 npm, yarnとpnpm

    皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

    node_modulesの問題点とその歴史 npm, yarnとpnpm
  • Full stack open

    You can discuss the course and related topics in our dedicated group on Discord https://study.cs.helsinki.fi/discord/join/fullstack and on Telegram: https://t.me/fullstackcourse. Please join the conversation! See here how to ask questions in a proper way Parts 0-8 and 13 of the course material is written by Matti Luukkainen. The content of part 9 is written by developers from Terveystalo. Part 10

  • ES6時代のNode.js

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック

    ES6時代のNode.js
  • 2016年版 Node.jsで幸せになれる10の習慣 - Qiita

    はじめに Herokuのブロク記事10 Habits of a Happy Node Hacker (2016)を、「洋の東西を問わず、みんな『10のなんとか』って好きなんだな」と思いながら眺めていたら、結構面白かったので内容をピックアップしてみます。 以前、Go言語で幸せになれる10のテクニックというのをあるブログ記事を元にして書いた時には、原題の "Ten Useful Techniques in Go"を意訳して「幸せになれる」としたのだが、今回は原題にシッカリ"Happy"が入っているというおまけ付き。 なお、「2016年版」と言っているのは2013(2014?)年版があるから。これらを読み比べてみるのもまた面白いが、とりあえず今回は最新の2016年版のご紹介。 1. 新しいプロジェクトは npm init で始めろ 新しいプロジェクトはこう始めようよ、と言っている。

    2016年版 Node.jsで幸せになれる10の習慣 - Qiita
  • Node.jsのセキュリティ・チェックリスト | POSTD

    (訳注:2016/1/5、いただいた翻訳フィードバックを元に記事を修正いたしました。) セキュリティ – 誰もが見て見ぬふりをする問題 。セキュリティが重要だということは、誰もが認識していると思いますが、真剣にとらえている人は少数だと思います。我々、RisingStackは、皆さんに正しいセキュリティチェックを行っていただきたいと考え、チェックリストを用意しました。皆さんのアプリケーションが何千人というユーザやお客様に使用される前にセキュリティチェックを行ってください。 ここに挙げたリストのほとんどは概略的なもので、Node.jsに限らず、全ての言語やフレームワークに適用することができます。ただし、いくつのツールは、Node.js固有のものとなりますので、ご了承ください。 Node.jsセキュリティ に関するブログ記事も投稿してありますので、こちらも是非読んでみてください。 構成管理 HT

    Node.jsのセキュリティ・チェックリスト | POSTD
  • bowerのdependenciesのインストール先を指定する - Qiita

    はじめに bower便利だけどデフォルトではdependenciesのインストール先がbowerを実行した直下のcomponents/内にインストールされます。Node.js+Expressなどでbowerを作る場合component.jsonをpublicディレクトリなどに置く事になり、package.jsonなどと位置が異なってセットアップが面倒になります。そこで.bowerrcでインストール先の情報などを設定する事が出来ます。 .bowerrcを作る bowerを実行するディレクトリに.bowerrcを置いておけば、記述した設定が反映されます。

    bowerのdependenciesのインストール先を指定する - Qiita
  • 現場で使えるgulp入門 | 第1回 gulpとは何か

    現場で使えるgulp入門 第1回 gulpとは何か さまざまな作業を自動化するビルドシステムgulpの基礎を解説します。第1回目は、gulpとは何か? 自動化のメリットはどこにあるのか概観。インストールから簡単なタスクを走らせてみます。 はじめに このシリーズでは、JavaScriptで書かれたビルドシステムであるgulp(ガルプ)について、導入から使い方など、基的な部分を解説します。 なお、記事執筆時点のgulpのバージョンは3.8.7です。 第1回目では、まず、なぜgulpのようなツールが必要なのか、ツールの背景に触れます。さらにgulpの概要と、環境設定を中心に解説します。 gulpとは gulpはNode.jsをベースとしたビルドシステムヘルパーです。以前CodeGridでも紹介したGruntと似た目的を持って作られたツールで、gulpを使えばさまざまな作業を自動化することができ

    現場で使えるgulp入門 | 第1回 gulpとは何か
  • How do I resolve "Cannot find module" error using Node.js?

    After pulling down a module from GitHub and following the instructions to build it, I try pulling it into an existing project using: > npm install ../faye This appears to do the trick: > npm list /home/dave/src/server └─┬ [email protected] ├── [email protected] ├── [email protected] └── [email protected] But Node.js can't find the module: > node app.js node.js:201 throw e; // process.nextTick erro

    How do I resolve "Cannot find module" error using Node.js?