- 0.1. javascriptの変更をブラウザに即時反映して動作確認したい
- 0.2. ワイ「Node.jsってなんぞや?」
- 0.3. Expressで実装したREST APIのresponseスキーマはjest-openapiで期待通りか?テストできる
- 0.4. 【Sequelize】ハマったポイントのメモ
- 0.5. JavaScriptのClassでprivateメソッドを実装すると「Parsing error: Unexpected character ‘#’ eslint」エラーになる
- 0.6. [AWS] Cloudwatch_LogsからLambda経由で軽いETLしつつOpenSearchでApacheログを可視化する方法
- 0.7. Google Cloud Functions で Twitter の定期投稿Botを作成
- 0.8. Windowsでnode-gypが成功した話
- 0.9. 私がサクッと認証付きで Node.js からメールを送った話
- 0.10. そのオープンソースプロジェクト、公開前に大事な情報コミットしてない?
- 0.11. nvm-windowsでNode.jsをインストールする
- 0.12. Firebase CLIとかの出力が2022-01-10の一時期に乱れてた件
- 0.13. React Nativeのstart時にエラー
- 0.14. お正月休みにGitをインタラクティブに操作できるサブコマンドツール作ってきました
- 0.15. Dockerで安全にnode.jsウェブアプリをコンテナ化する
- 0.16. Node.js: MySQL 8.0 で接続エラーが出た時の対策
- 0.17. Githubにある自作のnpmモジュールをnpm installしてENOENTなエラーが出た時
- 0.18. nvm-windowsを使ってnodeをバージョン管理
- 0.19. Webの勉強はじめてみた その20 ~Node.js編 ライブラリの使い方~
- 1. ライブラリを利用する
javascriptの変更をブラウザに即時反映して動作確認したい
# javascriptの変更をブラウザに即時反映して動作確認したい
lite-serverを利用する。
jsやtypescriptを利用して開発をしている場合に、スクリプトの反映をわざわざブラウザの再読み込みを押さなくとも開いているブラウザを自動でリロードしてくれるツール。
# 利用できる環境構成
html & javascript & css で構成されているサーバーロジックに依存しないシステムや開発フェーズにおいて効果を発揮する。
# セットアップにいいサイト
https://enjoy-a-lot.com/typescript-init/#toc4
# 利用する際にいいサイト
# わからないこと
– どんな仕組みで動いているか
– Webサーバーを持つような場合に利用シーンがあるのか、ないのか判断できてない(基本はなさそうな気がする)
ワイ「Node.jsってなんぞや?」
#ワイ「JavaScriptを触りたいンゴ」
ワイ「せっかくJavaScriptとTypeScriptについて知ったから触ってみたいで」
PC「JavaScriptはブラウザ上で動く言語やで^^」
ワイ「なんやこいつ」
ワイ「C++とかPythonとかとは仕様が違うんか」
PC「せや」
PC「だからファイルの読み書きが出来なかったり、通信が出来なかったりするんやで^^」
ワイ「なんやこいつ」
![js-ts.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379533/df4cc731-f64f-17ab-1270-90e15ab6ab65.jpeg)#ワイ「どうするのが正解なんや?」
ワイ「まあ誰かがいい感じの作ってくれてるやろ(未来予知)」
PC「`Node.js`を使えばいいんやで」
ワイ「ほらな」
ワイ「なんやそいつは」
Nodeくん「説明しよう!!」
ワイ「なんやこいつは」
Nodeくん「`Node.js`は一言で言うと、JavaScriptの`実行環境`だよ」
Nodeくん「ローカルで実
Expressで実装したREST APIのresponseスキーマはjest-openapiで期待通りか?テストできる
## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n3725f8a55b8d**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**
【Sequelize】ハマったポイントのメモ
Sequelizeを少し使ってみて、いろいろハマったところがあったので、そのメモ。
version: “Sequelize CLI [Node: 16.13.1, CLI: 6.3.0, ORM: 6.12.0-beta.1]“# migrationでファイルを指定してundoするときの注意点
“db:migrate:undo:all“に“–to“オプションを付けてファイル名を指定すると、「そのファイルまで」undoされる。
例えば、migrationパス配下にA、B、Cの3ファイルがあって、A→B→Cの順に作成していたと仮定して、“–to A“と指定すると、AだけでなくBもCもundoされる点に注意。
決して「そのファイルの分だけをundoする」という意味ではない。
※基本的には[ここ](https://sequelize.org/master/manual/migrations.html#undoing-migrations)に載ってる# sequelizeオブジェクトのつくりかた
“sequelize.query“とかを使うために“seq
JavaScriptのClassでprivateメソッドを実装すると「Parsing error: Unexpected character ‘#’ eslint」エラーになる
## はじめに
ESLintを設定している時に、以下の図のようなエラーが発生した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372684/7f45977c-39c1-9484-2659-c54ecba53200.png)今回はこのエラーを解消する方法について調べてみたのでその備忘録を残す。
## ESLintについて
https://qiita.com/yuta-katayama-23/items/5d73bbe79c19301551df#eslint%E3%81%AE%E8%A8%AD%E5%AE%9Aを参照。
## ESLintのparserOptionsを指定する
JavaScriptsのprivateメソッドはes2022の機能なため、以下のようにESLintの設定を変える必要がある。“`json
// .eslint.json
{
…
“parserOptions”: {
“ecmaVersion”: 13
},
…
}
“`
[AWS] Cloudwatch_LogsからLambda経由で軽いETLしつつOpenSearchでApacheログを可視化する方法
# やりたい事
2022/01/13開催の [SB Tech Festival](https://www.softbank.jp/biz/events/techfestival-deeptech-2022/) で登壇した内容、「ビッグデータ活用の第一歩AWS環境での大容量ログ可視化」の詳細手順(後半)ページです。
### このエントリで解説するのは以下のイメージ
![2022-01-11_09h20_031.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99499/23980234-e06e-96dd-3d8b-0bba4493cd57.png)前半部分のFargate+Firelens+CloudwatchLogsについては[こちら](https://qiita.com/Kedamari/items/fba00598c0bd9e08fdb9)の記事を参照してください。
# 手順
2022/01/11時点でECSコンソールは新しいエクスペリエンスが提供されていますが、本エントリでは旧UIをベー
Google Cloud Functions で Twitter の定期投稿Botを作成
#はじめに
Twitterに定期的に投稿するBotを作ってみたのでその記録。
Twitter APIはGoogle Cloud Functions 上でnode.jsで実装。
スケジューリングは Google Cloud Schedulerを利用した。
Cloud Schedulerからは直接Cloud Functions を起動できないので、間にGoogle Cloud Pub/Sub を挟んでいる。####ポイント
– Firebaseは利用しない(Firebaseが必須というような記事も見受けられるが誤解)
– TypeScriptも利用しない(Cloud Functionsが未対応なので使用しない)#Twitter APIの準備
TwitterのAPIを利用するにはAPIのキーが必要だがこれはTwitter Developer Potalで取得する。
この辺りは、こちらあたりの記事が参考になるかと思う。
参考 [Twitter API を利用するには](https://qiita.com/taishi0202/items/092c267c0c6dc68347c5)注
Windowsでnode-gypが成功した話
## エラーが出る人は下準備をしていない?!
エラーが出るのはnode-gypの基準に満たしてないかも!
[node-gyp公式サイト](https://github.com/nodejs/node-gyp#on-windows)に詳しい情報が載ってるので英語が得意な人は読んでみてください。## 下準備
以下のことを順番通りにしてみてください!## Pythonのインストール
まず、Pythonをインストールしてください。
[Microsoft StoreのPython](https://docs.python.org/3/using/windows.html#the-microsoft-store-package)をおすすめします。## Visual Studio Build Toolsのインストール
Pythonの次に、[Visual Studio Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools)が必要です。
私がサクッと認証付きで Node.js からメールを送った話
## 認証付きで Node.js からメールを送るのは初心者には難しい?
人によって難易度は違うように感じますが、これはそこそこ難しいと思います。
どうしても、エラー文が分かりにくく解決策も簡単に見せてはくれません。
なので、挑戦するときは **挑戦して成功した人** と一緒に挑戦するといいでしょう。## 必須条件
– Node.js が扱える・動かせる
– メール・Node.js についての知識がそこそこある
– サーバーとドメインがある
– サーバーで、すでに Node.js 製の何か(Web サーバー等)があり、ドメインの設定等が済んでいる## Zoho 契約
### 無料で使える Zoho メールサービスに契約
[Zoho 公式サイト](https://mail.zoho.com/)にアクセスして、契約してください。
契約はサイトの通りにしてください。### Zoho メールサービスのセッティング
このサービスのセットアップウィザードは、非常に分かりやすいのでここに記載する必要はないでしょう。
### おっと!
Zoho のメールサービスの
そのオープンソースプロジェクト、公開前に大事な情報コミットしてない?
通常、秘密鍵やAPI Tokenはソースコードとは分離させ、.envファイルなどに保存しておいて、Gitのコミットには含めない。しかし、実装の初期には.envを一時的にコミットに含めている事例も珍しくない。それを後で削除してコミットしても、履歴としては残っている。
この記事では、スマートコントラクト用の秘密鍵や、APIトークンなどの情報をGitのコミット履歴から検索し、リポジトリを公開する前に安全を確認できるツールを紹介する。
##コミット履歴を展開する
私の作ったesightというツールを使う。https://github.com/TakutoYoshikai/elemental-sight
git logを使って確認するのが一般的だが、一度全て展開した方が、後の編集や確認が楽になる。
**インストール**
“`bash
pip3 install git+https://github.com/TakutoYoshikai/elemental-sight.git
“`**コミット履歴の展開**
出力先ディレクトリに、全てのコミットの差分ファイルが展開される
nvm-windowsでNode.jsをインストールする
## nvm-windowsとは
Node.jsのバージョンを管理するアプリケーション。
複数のバージョンをインストールして、好きなタイミングで使用するバージョンを切り替えたりできる。## nvm-windowsをインストールする
[Gitリポジトリ](https://github.com/coreybutler/nvm-windows/releases)から`nvm-setup.zip`をダウンロードし、`nvm-setup.exe`を実行する。:::note warn
聞かれる質問は基本的に全てデフォルトで問題ないが、インストール先のフォルダのパスの半角スペースが含まれる場合、コマンド実行時に動作しない可能性がある。
:::## mvnのバージョンを確認する
インストールできたら下記のコマンドでバージョンを確認できる。“`
❯ nvm version
1.1.9
“`## インストール済みのNode.jsを確認する
現段階ではまだ何もインストールしていないため、`No installations recognized.`が出力される。“`
❯ nvm
Firebase CLIとかの出力が2022-01-10の一時期に乱れてた件
※Firebase CLI については更新されたので `npm update` すればもう大丈夫です
## どうした
`firebase-tools` とかの出力がおかしい。
Firebase CLIがこわれた…… pic.twitter.com/APtT9v3hEO
— 高梨ギンペイ (@ginpei_jp) January 9, 2022
## どうして
依存の依存の(中略)依存である `colors` に変なリリースがあった。作者故意のものなのでそこの更新は期待できなさそう。
– `v1.4.2`, `v1.4.1` ← 問題あり
– `v1.4.0` ← 大丈夫https://www.npmjs.com/package/colors
## どうする
### 直接利用している場合
過去のバージョンで固定すれば大丈夫。
“`console
$ npm install colors@1.4.0
“`### 依存の依存の場合
基本的には対象パッケージの更新待ちです。動く状態の `package-lock.json` が残っている場合、そのままにしておきましょう。
更新が来たら `npm update` で
React Nativeのstart時にエラー
npx react-native start
コマンド実行時に下記のようなエラーが出た。failed to construct transformer envelope routines::unsupported
digital envelope routines::initialization error
そのため、npx react-native run-androidを実行すると、Androidの仮想デバイスも赤いエラー画面が出力。
調べたところ、どうやらnode.jsのバージョンがいけないらしい。
自分が使っていたのは最新バージョンの17.3.0
v17でこのエラーが発生するようなので、安定バージョンの16.13.1にダウングレードすることで解決しました。ちなみにnode.jsのダウングレードはWindowsだとコントロールパネルからnodejsをアンインストールして、
node.js公式から16.13.1をダウンロードして、インストーラを走らせるだけ。
お正月休みにGitをインタラクティブに操作できるサブコマンドツール作ってきました
年末からお正月にかけての時間で趣味でツールを作ってみました?
Gitのちょっと面倒な操作をインタラクティブに行えるGitのサブコマンドツール[git-ex](https://github.com/yasukotelin/git-ex-js)を作成してnpmに公開しています。https://github.com/yasukotelin/git-ex-js
https://www.npmjs.com/package/@yasukotelin/git-ex
僕は普段はAndroidエンジニアとしてKotlinを書いていますが、趣味ではVimのカラースキーム作ったり、Goでツール作ったり、Rustに手を出したり、、、など色々しています。今回はJavaScriptのターミナルのライブラリがとても良さそうだったのでnode製のCLIツールを作ってみました?!
このQiita記事では前半にツールの紹介と、後半で実装面を書いてみようと思います。
## ツールの紹介
僕は普段Gitをターミナル上でコマンドで使っているのですが、たまにSourceTreeなどのGUIツールやTIGなどのツール
Dockerで安全にnode.jsウェブアプリをコンテナ化する
Happy New Year!
年末、年始があっという間に終わり、明日は成人の日。
来週からコーディングのオンラインクラスを受けることになった。4−6ヶ月になりそうであるが、無事乗り切れるのか、少々不安も。javascriptを習得するコースなため、最終的にnode.jsのサーバーサイドでのコーディングもできるようになるまでの知識を得られるよう頑張ろう。node.jsの環境構築に不可欠ともいえるdocker。
今回は、[10 best practices to containerize Node.js web applications with Docker](https://snyk.io/blog/10-best-practices-to-containerize-nodejs-web-applications-with-docker/)
の翻訳記事のご紹介です。今回は、特に翻訳に苦労しました。読みにくい部分もあると思いますが、どうぞ最後までお付き合いください。
#Dockerでnode.jsウェブアプリケーションをコンテナ化するための10のベストプラクティス
LiranT
Node.js: MySQL 8.0 で接続エラーが出た時の対策
次のエラーが出た時の対策です。
“`text
code: ‘ER_NOT_SUPPORTED_AUTH_MODE’,
errno: 1251,
sqlMessage: ‘Client does not support authentication protocol requested by server; consider upgrading MySQL client’,
sqlState: ‘08004’,
fatal: true
“`エラーが出るプログラム
“`js:maria_version.js
#! /usr/local/bin/node
// —————————————————————
// maria_version.js
//
// Jan/09/2022
//
// —————————————————————
‘use strict’// ———
Githubにある自作のnpmモジュールをnpm installしてENOENTなエラーが出た時
# はじまり
自分で作ったnpmモジュールをubuntu環境へinstallしようとしたときに以下のエラーが出ました。
“`bash:log
root@ca04e13630cb:/usr/app# npm install git+https://github.com/Landmaster135/FeedFetcher.git
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno -2
npm ERR! enoent An unknown git error occurred
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoentnpm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-01-08T17_49_46_172Z-debug-0.
nvm-windowsを使ってnodeをバージョン管理
## 最初に
node v12を使っていましたが、メンテナンスも2022.4月で切れるのでバージョンアップしなければと思いつつ、のびのびにしていました。
qiita投稿に慣れるためにもv16アップデートしてみます。### 環境
os: windous10
node12⇒node16## バージョン管理ツール選択
nodeのバージョン管理ツールはいくつかあるみたいだが、windowsだと選択肢少ないみたい。スター数の多いnvm-windowsにしてみた。
参考
[Node.jsのバージョン管理ツールを改めて選定する【2021年】](https://qiita.com/heppokofrontend/items/5c4cc738c5239f4afe02)
## nvm-windows のインストール
参考
[2020-0711 nvm-windows で Node.js の 環境構築 と バージョン管理 (Windows, nvm) ](https://blog.beachside.dev/entry/2020/07/11/110000)git-hubのhtt
Webの勉強はじめてみた その20 ~Node.js編 ライブラリの使い方~
N予備校「プログラミング入門Webアプリ」コースを受講しています。
今回は第3章4,5節です。ライブラリを利用する
:::note
require: 必要なモジュールだけをメモリに記録する
:::CSVを読み込む
“`javascript
‘use strict’;
//FileSystem Module
const fs = require(‘fs’);
//ReadLine Module
const readline = require(‘readline’);
//ReadStream from CSV
const rs = fs.createReadStream(‘./popu-pref.csv’);
//ReadLine from rs
const rl = readline.createInterface({input:rs, output:{}});
//DataMap key: 都道府県 value: 集計データのオブジェクト
const prefectureDataMap = new Map();
//line Even
ADHD向けnpmパッケージ
エンジニアでADHDだと、作業に集中しすぎて、持病の薬を飲み忘れたり、ミーティングをすっぽかしてしまったり、食事を摂るのを忘れてしまったりする。
そんな人が集中を切るためには、アプリケーションを強制終了させる他ない。
そのためのnpmライブラリがadhd-timerである。
https://github.com/TakutoYoshikai/adhd-timer
“`bash
npm install –save TakutoYoshikai/adhd-timer
“`毎日0:00になると、Google ChromeとFirefoxとターミナルを強制的に終了させ、寝る時間だよ!と表示する例
“`javascript:index.js
const ADHDTimer = require(“adhd-timer”);ADHDTimer([
{
schedule: “0 0 0 * * *”,
callback: function() {
console.log(“寝る時間だよ!”);
}
}
], [
“firefox