- 1. VSCode上でNode.js(ES6で実装)のdebugをするための設定をしてみた
- 2. GCP nodejs環境構築手順(nodeのバージョンを指定)
- 3. Node.js Jest : ReferenceError: require is not defined
- 4. Docker + Nginx + Node.js で開発環境構築
- 5. サーバにJupyterLabを導入し、ローカルからhttpsでアクセス
- 6. JavaScript環境構築まわりの用語
- 7. Dockerでfrourioを動かそうとしたら「System limit for number of file watchers reached」エラーの解決法について
- 8. [JavaScript/node/WSH/Bat] 特定フォルダ下位にある画像ファイルをランダムで開く
- 9. Discord.js+Expressでグローバル変数っぽい挙動をしたいメモ
- 10. 【3分】global install用のyarnをこ◯してnpmに統一した
- 11. 任意のサイトURLからOGP Metadata を取得する npm package を作った話 – メタグロス(metagros)
- 12. Nuxt.jsでルーティング
- 13. 正規表現の /g フラグはサーバーで使うと怖いことがあるという話
- 14. MacにNode.jsをインストールする方法(2022/03)
- 15. Puppeteer + Node.js + Typescriptでサイトのデータを取得してみる
- 16. [Flutter] アプリからCloudFunctionsの関数に引数を渡す、返り値を受け取る
- 17. 初心者によるHTTP基礎概念勉強ノート&Node.jsで簡単なサーバを作ってみた
- 18. JavaScriptのconstに関して
- 19. VoltaをinstallしたけどAngularが使えないんだけど
- 20. デジタル初心者でも「3日でWeb APIから得たデータで分析までできるのか」やってみた!
VSCode上でNode.js(ES6で実装)のdebugをするための設定をしてみた
## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n41b6195d6739
**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**
## 補足
ソースコード全体は以下。https://github.com/yuta-katayama-23/node-express/commit/6717893fbe15b7d80f34ad21f23d7168cdbf05ba
GCP nodejs環境構築手順(nodeのバージョンを指定)
ほぼ自分用のメモです。
## 1インスタンス作る
インスタンスがmicroだと手順5で out of memoryになって進めない## 2sshでコンソールに入る
これはSSHクリックするだけ
## 3gitをインストールする
“`
$ sudo apt-get update # いろいろパッケージを更新
$ sudo apt-get install git # git インストール
$ which git
“`
参考
https://zenn.dev/suyaa/scraps/a0e84f9cbf403b## 4homebrewをインストール
“`
git clone https://github.com/Homebrew/brew homebrew
“`
“`
eval “$(homebrew/bin/brew shellenv)”
“`
“`
brew update –force –quiet
“`
↑ちょっと時間かかる
“`
chmod -R go-w “$(brew –prefix)/share/zsh”
“`
参考
https://do
Node.js Jest : ReferenceError: require is not defined
package.json
}
“type”: “module”,
“jest”: {
“verbose”: true,
“transform”: {}
}・リンク
https://jestjs.io/ja/docs/configuration
Docker + Nginx + Node.js で開発環境構築
## はじめに
業務でNext.jsに触れる機会があったのでDockerで開発環境構築をやってみたいと思ったので書いていきます。実際にはMySQLも含みますがサーバーサイド側のため割愛します。*ローカル開発環境構築の想定のため、セキュリティは本番環境を想定していません。
## やりたいこと
`docker-compose`で`Nginx`コンテナをリバースプロキシとして`Node.js`コンテナへリクエストを投げる環境の構築##環境構築
Docker for Macをインストール済みかつNext.jsでプロジェクト作成済みを想定#### docker version
“`terminal
$docker –version
Docker version 20.10.6, build 370c289
“`#### ディレクトリ構造
“`terminal
├── docker-compose.yml
├── node
| ├── Dockerfile
├── nginx
├── default.conf“`
#### docker-co
サーバにJupyterLabを導入し、ローカルからhttpsでアクセス
**環境**
ローカルPC: MacBook Air(Monterey)
サーバPC: **Ubuntu Server** 20.04.4
※**オレオレ証明書**を使用
※サーバは**固定IP**を割り当て# JupyterLab導入時に思ったこと
JupyterLabの導入をネットで調べると、ブラウザのアドレスバーに`http://`と入力させる記事がほとんどだった。しかし、通信のHTTPS化が進むこのご時世、私はJupyterLabのアクセスもhttpsでセキュアにしたかった!# JupyterLabをサーバにインストール
今回はpip3で導入する。(他にもcondaなどで導入できる)
“`sh
pip3 install jupyterlab
“`
そして、`export PATH=”$HOME/.local/bin:$PATH”`を.zshrcなどに書き込み、sourceコマンドで適用する。### Node.jsが必要
ただ、サーバに`Node.js`が導入されていないと**JupyterLabのカーネルが起動しない**らしい。つまり`.ipynb`が実行できな
JavaScript環境構築まわりの用語
## Node.js
**Node.jsは、JavaScriptの実行環境のこと。**
Node.jsはサーバーサイドのプログラミング言語だと誤解されることがあるが、
プログラミング言語であるJavaScriptを、サーバーサイドでも実行できるようにするのがNode.js。
また、現在ではフロントエンドの開発環境としても広く使われている。
詳しくは↓の記事様がわかりやすい。https://qiita.com/non_cal/items/a8fee0b7ad96e67713eb
## npm
**npmは、Node.jsのパッケージ管理ツールのこと。**
phpで言うところのcomposer、Pythonで言うところのpip。npmにおけるパッケージとは、JavaScript のライブラリやフレームワークのこと。
ReactやVue.jsもnpmを利用してインストールできる。
詳しくは↓の記事がわかりやすいhttps://reffect.co.jp/html/npm-package-manager-basic-for-beginner
## nvm、
Dockerでfrourioを動かそうとしたら「System limit for number of file watchers reached」エラーの解決法について
こんにちは。
frourioいいぞ〜と聞いていたので今回の3連休で触ってみようと思ったら、環境構築時点でDocker周りのエラーに苦戦したので解決した方法を備忘録として残してみました。# 環境
– MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) / Intel Chip
– Docker version 20.10.12, build e91ed57
– Docker Compose version v2.2.3
– Rancher Desktop Version: 1.1.1
– Container image node:16.13.2
– frourio 0.27.1# 実際に起きたエラー
Docker環境を立ち上げてからyarn runを実行した歳に発生したエラーです。エラーの内容は一部省略しています。“`shell
Error: ENOSPC: System limit for number of file watchers reached
“`調べてみるとNode.js系ではよく見かけるエラーのよ
[JavaScript/node/WSH/Bat] 特定フォルダ下位にある画像ファイルをランダムで開く
Windowsです。
BingWallPaperナントカってアプリをいれて、Bingの背景画像を壁紙にしてくれて日々、きれいな壁紙が切り替わるようにしています。
が、5,6枚くらいしか前画像をたどれなくて、ときどきBingが虫とか植物の拡大写真や動物の変な写真がアップされて気に食わなかったりするときがありまう。俺は生物系ではなく風景の写真が壁紙になってほしいのです。生物系はぎょっとしたりキモかったりするときもあるので、壁紙にしたくない。(今日とかカエルだし、人を選ぶだろ、カエル画像とかさあ)
で、壁紙ファイルは次の場所に保存されていることがわかり、昔みた壁紙ファイルも保持されているからよかったのです。
C:\Users\<ユーザー名>\AppData\Local\Microsoft\BingWallpaperApp\WPImages
C:\Users\<ユーザー>\OneDrive\画像\Bing Imagesで、この中でお気に入りな画像を特定のフォルダに保存しています。
画像ファイラは、MassiGra使っているので、画像をみて気に入ったものがあれば壁紙に簡単にできるの
Discord.js+Expressでグローバル変数っぽい挙動をしたいメモ
Discord.js+expressでサーバーを立ててますが、ファイル分割をしている末端のファイル`hoge.js`などのなかでDiscord.jsのClientを呼び出したいというニッチな話
“`
main.js
|- actions
|- router
|- hoge.js
“`main.jsで`client = new Client()`をしていますが、末端でhoge.jsではclientオブジェクトが定義されてなく、`client.channels.cache.get().send()`を使いたいけど使えない、みたいな状態でした。
https://qiita.com/n0bisuke/items/cc4deef076ecf86421f5
main.jsで定義したclient変数をhoge.jsに持っていきたいなというところでしたが、公式ドキュメントとすぎゃーんさんの記事が参考になりました。
> [Express アプリケーションで使用するミドルウェアの作成](https://expressjs.com/ja/guide/writing-middlew
【3分】global install用のyarnをこ◯してnpmに統一した
# npm経由でしかglobalにinstallさせないようにする
“`
# global addされたnode packageの在処を特定
yarn global dir# 上記で特定した場所に移動
cd ${LOCATION}# node_modulesを削除
rm -rf node_modules# 再度新しいnode_modulesを作成
(at the same location) yarn
“`これで完了
任意のサイトURLからOGP Metadata を取得する npm package を作った話 – メタグロス(metagros)
こんにちは、普段は学校に通いながら、インターンや趣味でソフトウェア開発をしています。バックエンドやフロントエンド、インフラ領域を主に触っています。
Twitter: [@igsr5_](https://twitter.com/igsr5_/) GitHub: [@igsr5](https://github.com/igsr5)先日自分が所属している Slack コミュニティで「weekly で記事あげていったら面白そうじゃない?」みたいな話があがったので自分が第一号として記事を書いていこうと思います。(既に一日遅れていますが、、)
この記事では個人的に作った Node.js + ESM の npm パッケージを紹介していきます。
## 作ったライブラリ – Metagros
https://github.com/igsr5/metagros
こんなかんじで、プロジェクト生成時、デフォルトで生成される`[PROJECT]/.nuxt/pages`配下にnewPageをディレクトリを作成します。(.nuxtは隠しフォルダなので注意)
index.vueを作成します。“`vuejs:./newPage/index.vue
NewPage
“`
newPageに作ったindexの中身です。とりあえずタイトルだけ表示させやす。### 動作確認
`$ npm run de
正規表現の /g フラグはサーバーで使うと怖いことがあるという話
まず、次のコードを見てください。
“`
const http = require(‘http’);
const url = require(‘url’);const regex = /^hoge$/g;
const server = http.createServer((req, res) => {
if (regex.test(‘hoge’)) {
res.end(‘hoge’, ‘utf8’)
} else {
res.end(‘hogeじゃない’, ‘utf8’);
}
});
server.listen(8000);
“`
この Node.js 向けのコードを実行すると HTTP サーバーが起動します。
どんなレスポンスが返ってくるでしょうか?“`
% curl localhost:8000
hoge
% curl localhost:8000
hogeじゃない
% curl localhost:8000
hoge
% curl localhost:8000
hogeじゃない
% curl localho
MacにNode.jsをインストールする方法(2022/03)
タイトルの部分、(2022/03)とか書くだけで少し悲しくなる。。。
「ああ、年取ったなって」まあ今回はNode.jsのインストールです!
Mac初期化したのでね。。。
最初からです。
今回は早く終わりそうでよかった。## Node.jsとは?
Node.jsが何かわからずに、必要だとわかったからインストールする人もいると思うので(AtCoder cliのために必要など)、駆る紹介します。
と思ったのですが、さすがはインターネットさん、めっさわかりやすい説明をしている記事を見つけたので載せておきます。https://qiita.com/non_cal/items/a8fee0b7ad96e67713eb
## Node.jsのダウンロード
https://nodejs.org/ja/[こちら](https://nodejs.org/ja/)のサイトからLST版(推奨版)をダウンロードして実行します。
最新版って書いてある奇数番号の方は約7ヶ月でどれもサポート終わるのでLST版の方がいいです。全肯定していけばインストールできます。迷う部分は特に無いと思います。
Puppeteer + Node.js + Typescriptでサイトのデータを取得してみる
### 下記のようにサイトに存在する文字列をpuppeteerを用いて取得することを目的としたコードを書いたのでアウトプットします。
取得したかどうかはターミナルにlogとして出力しました。:::note info
puppeteerのライブラリを使用すること事態は調べながら感覚を掴むことができました。
その中でも、メソッドの中でlogが出力できなかったため、なぜ出力できないのかを理解するのに時間がかかりました。evaluateメソッドで記述するコールバック関数は、ブラウザ内で実行されるため意図してターミナルにlogを出力することができないということが原因だったのかなと考えています。
そのため、取得したいデータの取得に時間がかかりましたが実装はできました。
Documentオブジェクトを用いてデータを取得する際はTypeScriptで型アサーションの方法をとらなくてはいけないので注意。
:::サイトに存在する文字列

[Flutter] アプリからCloudFunctionsの関数に引数を渡す、返り値を受け取る
Flutterのアプリ作成で実装したことです。
何回も使いそうなので忘れないように記事にしておこうと思いました。
`onRequest` と `onCall` で引数の渡し方、返り値の受け取り方が少し違います。
一度まとめておくと、次から調べる時間が短縮できるので。
このやり方以外にもあると思いますが、少しでも誰かのお役に立てれば、幸いに思います。
## onRequestの場合
CloudFunctionsの関数
“`typescript
import * as functions from “firebase-functions”;export const testFunction = functions
.region(“asia-northeast1”)
.https.onRequest(async (request, response) => {
const testVar = request.body.data.testVar; // requestに格納されている引数を受け取る…省略
response.sta
初心者によるHTTP基礎概念勉強ノート&Node.jsで簡単なサーバを作ってみた
## HTTP基礎概念
### なぜネットの世界にはプロトコル(Protocol)が必要ですか?
– 規模化をする前提に、内容の統一や標準化が必要。(standardization)### 標準化した内容 Header & body
– Header
URL、メソッド(Method)、ステータスコード(Status Code)などの情報を伝える。
– body(HTMLのタグではない)
Response Bodyの内容、ソースコード。### よく見られる状態コード一覧
– **200 OK** リクエスト成功
– **204 No Content** リクエスト受理しましたが、返すレスポンスはない。
→ DELETEメソッドであるリソースを削除したが、返す内容がない。
– **301 Moved Permanently** リソースが恒久的に移動した。
→ GETメソッドで最初のヘッダから移動先のLocationを取得したら、そのあと同じウェブサイトにアクセスしても新しい移動先に移転される。
– **302 Found** リソースが一時的に移動された(**Mo
JavaScriptのconstに関して
## 初めに
現在、JavaScriptでvarを使用している箇所をconst、letに置き換えているが、具体的にどのような場面で使用できるかが気になった。constに関して参考文献から拝借した内容。
> 定数は、let キーワードを使って定義する変数と同様にブロックスコープを持ちます。定数の値は、再代入による変更ができず、再宣言もできません。
再代入、再定義は不可能であることが分かるが、配列へのプッシュやブロックがある場合の挙動が知りたかったのでアウトプットのため投稿する。
## 実行環境
■ Node.js
v11.1.0### 配列でconstを使用
新しい要素のプッシュは成功する。
“`js
const a = [];
a.push(“a”);
console.log(a);// 出力結果
[ ‘a’ ]
“`新しい配列を代入するとエラーになる。
“`js
const a = [];
a = [];
console.log(a);// 出力結果
TypeError: Assignment to constant variable.
“`
VoltaをinstallしたけどAngularが使えないんだけど
# Angularがインストールできない
Voltaをinstall時にAngualrがインストールできませんでした。
表示されたエラーは以下の通りです。
“`sh
C:\Users\○○>npm install –global @angular/cliadded 190 packages, and audited 191 packages in 30s
23 packages are looking for funding
run `npm fund` for detailsfound 0 vulnerabilities
Volta error: Could not create shared environment for package ‘@angular/cli’Please ensure you have correct permissions to the Volta directory.
Error details written to C:\Users\○○\AppData\Local\Volta\log\volta-error-2022-03-1
デジタル初心者でも「3日でWeb APIから得たデータで分析までできるのか」やってみた!
初めまして。
今回はタイトル通り、「3日でWeb APIから得たデータで分析までできるのかやってみた」編です。
一応過去に楽天APIを使ったことはあります!
[過去の記事はこちらをクリック](https://qiita.com/NagaharaHitomi/items/d7897363a2332338192e)ですが、自力じゃなかったんです。(バリバリ人の手借りました笑)
なので今回は「自力で作る!をテーマにやってみました」という記事です。
これからAPI初めて触るよ~という方はには是非参考にして頂ければと思います。# 3日後はどんな状態?一応立てた目標達成計画
3日というなんの根拠もない制限をつけたので、自分なりにスケジュールを立ててみました。1日目:APIを使用した真似したいQiita記事を見つける。
Visual Studio Codeを使ってデータを取得する。
真似したQiita記事(コード)を元に自分なりにアレンジする。
(休みの日なので、6時間くらいは制作に費やせる日!!)
2日目:得た情報を分析する。
(仕事の日なので2時