#author("2023-10-03T08:50:23+09:00","default:irrp","irrp")
#author("2024-01-29T18:18:34+09:00","default:irrp","irrp")
→モダンJavaScript

→JavaScript関連ツール

→AWS Lambda関連

#contents

*公式 [#bdc94a0f]
-https://nodejs.org/

-[[Node.js マニュアル & ドキュメンテーション>http://nodejs.jp/nodejs.org_ja/api/modules.html]]

-[[Node.js 14が本日リリース!V8のアップグレードにより「オプショナルチェイニング」「Null合体演算子」等が利用可能に>https://qiita.com/suin/items/0a76ad88e494fd72f903]] 2020.4


*入門記事 [#i912eaec]
-[[Node.js とは?動作確認や機能、特徴などを解説 | OSSサポートのOpenStandia™【NRI】>https://openstandia.jp/oss_info/nodejs/]] 2021.3

-[[いまさら聞けないNode.js>https://knowledge.sakura.ad.jp/24148/]] 2020.5
--C10K問題とNode.js はなぜ相性がいいか

-[[連載:基礎から学ぶNode.js>http://gihyo.jp/dev/serial/01/nodejs]] 2012

-[[nvmを使ってNode.jsをUbuntuにインストールする手順>https://www.virment.com/how-to-install-nodejs-ubuntu/]] 2018.6


*Tips [#mf9a3ae0]
-[[Javascript 再入門 #JavaScript - Qiita>https://qiita.com/TsuyoshiUshio@github/items/eae6d673c079067843bf]] 2024.1

-[[Node.jsでマルチプロセス(cluster、child_process)、マルチスレッド(worker_threads)を使ってみる - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2023/03/22/005532]] 2023.3

-[[[アップデート] AWS App RunnerがNode.js v16をサポートしました | DevelopersIO>https://dev.classmethod.jp/articles/update-aws-app-runner-support-nodejs-v16/]] 2022.9

-[[Nodeのコアモジュール名についている「node:」プレフィックスとは何か - Qiita>https://qiita.com/ohakutsu/items/b70c1ccf2f9fb30cd048]] 2022.4

-[[Node.js の原罪 - from scratch>https://yosuke-furukawa.hatenablog.com/entry/2022/04/08/111651]] 2022.4

-[[JavaScript&Node.js環境でDependency Injectionができるinversifyを試してみた - Qiita>https://qiita.com/BooookStore/items/2ce9aed00a3e9bf383b0]] 2022.2

-[[ts-node で TypeScript + node をサクッと実行する>https://qiita.com/mangano-ito/items/75e65071c9c482ddc335]] 2019.7

-[[Vagrantの共有フォルダでNode.jsを編集するたびに自動再起動する>http://www.hardworker.jp/blog/2017/02/23/node-js%E3%82%92%E7%B7%A8%E9%9B%86%E3%81%99%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%AB%E8%87%AA%E5%8B%95%E5%86%8D%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B/]] 2017.2
-[[Vagrantの共有フォルダでnodemonを効かせる>https://www.w-dp.com/bokumemo/vagrant-nodemon/]] 2018.6 
 nodemon -L app

-[[シンプルすぎて難解?昨今のNode.jsのオブジェクト周りの構文をまとめてみた>https://blog.leko.jp/post/es2017-object-syntax/]] 2017.3

-Nodeプロセスのタイムゾーン設定。下記のようにしておかないとconsole.log()で時刻表示したときにUTC表現(-9h)で表示される(もちろんLANG="ja_JP.UTF-8"などの設定はやっておく)
 process.env.TZ = 'Asia/Tokyo'; 

-[[ゴミ出し日の前日にLINEで通知してくれるアプリを作る(Node.js / AWS Lambda)>https://qiita.com/so99ynoodles/items/1ef87440e4750e62e74a]] 2019.8

-[[Node 12 の新機能を勉強してみた(12以外の機能もあり)>https://qiita.com/okumurakengo/items/bf5adb66fad14eaf0eca]] 2019.8



*モジュール/require/import [#d70023c6]
-[[Understanding the difference between ‘require’ and ‘import’ in NodeJS | DevelopersIO>https://dev.classmethod.jp/articles/understanding-the-difference-between-require-and-import-in-nodejs/]] 2023.9

-[[[Node.js] requireなんてわかってる!ようでよくわかってなかったからいろいろ試した>https://qiita.com/Nekonecode/items/bfe19f20ad4f5665c34e]] 2019.6
--結論:requireはシングルトンをつくる関数

-[[Node.js : exports と module.exports の違い(解説編)>http://d.hatena.ne.jp/jovi0608/20111226/1324879536]] 2011.12
--exports は module.exports と同じ実体を参照している。
--exports は module.exportsが(隠蔽された)関数の引数として渡ってきているもの
--同様に module も(隠蔽された)関数の引数として渡ってきているもの
--だから、モジュール用のjsの中で exports や module 自体に値を設定しては行けない(通常、関数の中で引数の書き換えをやるべきではない。Javaならconstつけるところ)

-[[Module.jsのソース>https://github.com/nodejs/node/blob/v7.9.0/lib/module.js]]


*DBアクセス [#s56e0904]
-[[Node.jsを利用した単純なREST APIの書き方>https://qiita.com/markusveeyola/items/878cfa5c3c7982ceb54d]] 2019.4
--GETのURLパラメータは req.query.xxx で取得する
--RESTのセミコロンで表現するパラメータは req.params.xxx で取得する

-[[Node.jsでMySQLを扱いたかったので独自目線で纏めた>https://qiita.com/aya_akatsuki/items/ea9a8beba93367ef7209]] 2018.4
-[[Node.jsでMySQLを使うメモ>https://qiita.com/PianoScoreJP/items/7ed172cd0e7846641e13]] 2015.5
-[[Node.js + Express + mysqlを使った簡単な RESTful API デモ>https://qiita.com/donaldchi/items/6cf83493b2a8efa402a5]] 2017.5

-https://github.com/mysqljs/mysql

**Sequelize [#o88a66c6]
-[[Node.JSのSequelize ORM入門>https://qiita.com/markusveeyola/items/64875c9507d5fa32884e]] 2019.7


*npm [#d9da969e]
-[[npmでプロジェクトの依存関係の確認や、依存パッケージのバージョン確認などを行ってみる - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2022/11/20/172049]] 2022.11

-[[[超難問]npmのバージョン指定方法、全パターン分かるか!? - Qiita>https://qiita.com/kyntk/items/2eb595a6fa90fa97fabd]] 2022.11

-[[npm audit fixでエラーを修正できない人のための解決策>https://fantastech.net/npm-audit-fix-not-working]] 2019.7
-[[あなたがnpm installをしてはいけない時>https://qiita.com/jigengineer/items/2b15797b850179cb8be0]] 2019.8
-[[npmで名前空間を持ったモジュールを公開する方法(scoped modules)>https://efcl.info/2015/04/30/npm-namespace/]] 2015.4
-[[npmの--save, --save-dev, --save-optionalの違い>https://seinzumtode.hatenadiary.jp/entry/20160226/1456450867]] 2016.2
-[[ちゃんと使い分けてる? dependenciesいろいろ。>https://qiita.com/cognitom/items/acc3ffcbca4c56cf2b95]] 2016.5
-[[いまさら聞けない!npmのこれだけは知っておきたい基礎知識>https://www.webprofessional.jp/beginners-guide-node-package-manager/]] 2017.7
-[[フロントエンド開発の3ステップ(npmことはじめ)>https://qiita.com/hashrock/items/15f4a4961183cfbb2658]] 2016


*Express [#lc276499]
-[[ミドルウェアの使用>https://expressjs.com/ja/guide/using-middleware.html]] (公式文書)

-[[Node.js/Express.js – app.routerはどのように機能しますか?>https://codeday.me/jp/qa/20181203/12795.html]] 2018.12

-[[Node.jsとExpressでWeb APIを作ってみよう>https://sbfl.net/blog/2018/08/25/nodejs-express-webapi/]] 2018.8

-reqire()の戻り値と コンストラクタ、express.Router() の戻り値の違い。
--require()の戻り値はシングルトンオブジェクトで、Router()の戻り値は普通の new と同様である模様
--test code
 var express = require('express');
 var express2 = require('express');
 express.a = '1st express instance';
 console.log('express.a=' + express.a);
 console.log('express2.a=' + express2.a); // 上と同じ結果となり、requireの戻り値はシングルトンであることがわかる
 
 // app instance test
 var app = express();
 app.a = '1st app instance';
 var app2 = express();
 console.log('app.a=' + app.a);
 console.log('app2.a=' + app2.a); // undefined になるので new をつけなくても別インスタンスになる
 
 // router instance test
 var router = express.Router();
 router.a = '1st router instance';
 var router2 = express.Router();
 console.log('router.a=' + router.a);
 console.log('router2.a=' + router2.a); // undefined になるので やはり別インスタンスになる
--実行結果
 express.a=1st express instance
 express2.a=1st express instance
 app.a=1st app instance
 app2.a=undefined
 router.a=1st router instance
 router2.a=undefined


*Deno [#x3534dcb]
-[[Deno のめっちゃ難しいバグを修正した - Qiita>https://qiita.com/kt3k/items/77e715a790d84cd73878]] 2022.10

-[[Deno でファイルアップロードを受け取る - Qiita>https://qiita.com/kt3k/items/6461a59eef0f8ff18d44]] 2022.9

-[[【Deno】「やっぱnpmをサポートするわ」 → 10日後「サポートしたわ」 - Qiita>https://qiita.com/rana_kualu/items/7eb1acff8f66948b04eb]] 2022.9

-[[Deno を始める 第1回:開発環境とランタイム | 豆蔵デベロッパーサイト>https://developer.mamezou-tech.com/deno/getting-started/01-introduction/]] 2022.9
-[[Deno を始める - 第2回 (外部ライブラリの利用) | 豆蔵デベロッパーサイト>https://developer.mamezou-tech.com/deno/getting-started/02-use-external-packages/]] 2022.9

-[[Deno の Web フレームワーク Fresh を試してみた|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/n1371bab50bff]] 2022.7

-[[Deno Deep Dive - Denoでのアプリケーション実装Tips / Node.jsとの比較 - Qiita>https://qiita.com/Yuki_Oshima/items/fd15df9196387f8b4e7c]] 2022.2

-[[DenoでTodoリストAPIを作ってみた - Gunosy Tech Blog>https://tech.gunosy.io/entry/deno_todo_api]] 2021.12

-[[Denoに今後導入される新機能(2021秋ver) - Qiita>https://qiita.com/access3151fq/items/a4b3db6bbd1e2d2d92df]] 2021.11

-[[Denoとはなんなのか今更ながらちょっとお触りしてみた>https://qiita.com/sasakiy0819/items/2d0d622dffc3e2c99f7c]] 2021.10

-[[Deno(ディーノ)を使ってみよう!【Node.jsの時代は終わる?】>https://rightcode.co.jp/blog/information-technology/try-using-deno]] 2020.8

-[[Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜>https://knowledge.sakura.ad.jp/24150/]] 2020.6
--DenoはJavaScriptとTypeScriptの実行環境
--読み方は「での」らしい
--バージョン1.0.0時点のV8エンジンはNode.jsよりも新しく、TypeScriptも最新のバージョンが入っている
--標準ライブラリーは非同期処理にPromiseを採用
--実行時に必要な権限のオプション指定が必要
--モジュール形式はES Modulesのみ
--インポート対象のモジュールは、絶対パスまたは相対パスで拡張子含めてピンポイントで指定
--マスコットキャラがかわいい


*Bun [#m03bdd82]
-[[Bunかる〜く触ってみた[Bunの実行, nodeとの比較] - Qiita>https://qiita.com/yusei53/items/7347041cb8fbcfa280cc]] 2023.10
-[[【Bun】BunとNode.jsの違いのメモ - UGA Boxxx>https://uga-box.hatenablog.com/entry/2022/07/29/000000]] 2022.11



*その他 [#d34c5c62]

-[[ゼロからはじめるJavaScript(19) 約10億円を調達したJavaScript実行環境のBunはNodeの3倍速い | TECH+(テックプラス)>https://news.mynavi.jp/techplus/article/zerojavascript-19/]] 2022.9

-[[Nucleoid: Low-code Framework for Node.js - DEV Community>https://dev.to/nucleoid/nucleoid-low-code-framework-for-nodejs-2395]] 2022.7
--Nucleoid low-code framework lets you build your APIs with the help of AI and built-in datastore.
--As writing just like any other codes in Node.js, AI inside the runtime rerenders the very same JavaScript codes and makes the necessary adjustments in the state as well as stores on the disk so that your application doesn't require external database or anything else.

-https://nodemon.io/
-[[Node.jsのソース修正後、nodemonで自動再起動>https://qiita.com/twipg/items/cb969b335d66c4aee690]] 2015.12

-[[node.js+log4jsで、ログローテーションする>http://modalsoul.github.io/report/2012/10/14/node-js-log4js.html]] 2012.10

-[[Node.jsでlog4jsを使ってログを出力する>https://dev.classmethod.jp/node-js/node-js-log4js/]] 2019.1

-https://sailsjs.com/
--Sails makes it easy to build custom, enterprise-grade Node.js apps.

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS