Node.js関連のことを調べてみた2021年05月19日

Node.js関連のことを調べてみた2021年05月19日
目次

Node.js: Server Sent Events のサンプル

実行結果
![node_server_sent_events.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/1fd4c76c-1ebf-9045-c2dd-3a4c8116f0d5.png)

“`js:sse_server.js
// ——————————————————————-
// sse_server.js
//
// May/19/2021
//
// ——————————————————————-
var http = require(“http”)
var fs = require(“fs”)

const port = 1027

http.createServer(function (req, res) {
const index = “./sse.html”
var fileNa

元記事を表示

2021に作るべき7つのフルスタックプロジェクト

以下はHenry Boisdequin( [dev.to](https://dev.to/hb) / [Twitter](https://twitter.com/henryboisdequin) / [GitHub](https://github.com/henryboisdequin) )による記事、[7 Fullstack Projects You Need to Make in 2021](https://dev.to/hb/7-fullstack-projects-you-need-to-make-in-2021-bdn)の日本語訳です。

どのようなフルスタックプロジェクトを作るべきか?
もしこのような疑問を持ち続けているのであれば、あなたは正しい場所にいます。
私は、2021年に作るべき7つのフルスタックプロジェクトのリストをまとめました。
早速、挑戦してみましょう!

# E-commerce Site
![](https://res.cloudinary.com/practicaldev/image/fetch/s—g_FJGC1–/c_limit%2

元記事を表示

聞いたことがある程度だったNode.jsについてふわっとまとめる

# はじめに
Node.jsってふわっと聞いたことありましたが、何かよくわかっていなかったので個人的にふわっとまとめます。
間違っている箇所があったらお手数ですが教えていただけると嬉しいです。
*「Node.js超入門[第3版]」を参考にしています。

# Node.jsって何だろ
> Node.jsとは、JavaScriptのプログラムを実行するための環境(ランタイム環境)。

ということなのですが、個人的に正直ピンときていませんでした。

でも以下のような説明を見て、だからNode.jsって必要なんだなぁ、と。
以下、Node.jsの説明の要約です。

>以前はWebブラウザの中だけでJavaScriptは動いていた。
でもNode.jsでJavaScriptで更に以下のことが可能になった。

> #####1.JavaScriptのプログラムがそのまま動く
サーバー側とクライアント側で2つの言語を組み合わせて開発するのが普通だった。
でも、Node.jsだとサーバー側もクライアント側も同じ言語であるJavaScriptで動かせるようになる!

> ##### 2. Webサーバー

元記事を表示

JavaScript初心者のためのTypeScript入門

# JavaScript初心者のためのTypeScript入門
Macを想定しています

「ターミナル?」ぐらいの本当に初心者を想定しています
中級者や上級者は飛ばし読みしてください

環境
mac Big sur 11.2.3

##Nodeのインストール
インストールは[こちら](https://prog-8.com/docs/nodejs-env)
>progate様

##TypeScriptのインストール
下記のコマンドをターミナルで実行するだけです

“`shell
npm i -g typescript
“`

`tsc -v`と入力してエラーが返ってこなければ成功です

“`shell
tsc -v
Version 数字
“`

## Hello World

好きな場所に`フォルダ`と`index.ts`を作ってください

今回は`Desktop/typescript/index.ts`の構成でいきます

### 下準備

ターミナルで

“`shell
cd ~/Desktop/typescript/
“`

### コーディング

好きなエディターでコ

元記事を表示

データをパスワードだけで暗号化し、ファイル化して保存することも可能なnpmパッケージを作った話

いい感じのものが無かったので作りました。

[@sounisi5011/encrypted-archive – npm](https://www.npmjs.com/package/@sounisi5011/encrypted-archive)

宣伝も兼ねていますが、どちらかというと暗号技術について詳しい方の意見とか指摘とかが欲しいなという下心が強いです。

## 特徴

* 2021年現在、安全な(と考えられている)暗号アルゴリズムを採用しています。具体的にはAES-GCM 256ビットとChaCha20-Poly1305です。
* パスワードは最新の鍵導出関数[Argon2](https://ja.wikipedia.org/wiki/Argon2)を使って変換されています。
* ファイル化することを考えて、圧縮アルゴリズムにも対応しています。
* 生成されたデータに復号に必要な全ての情報が含まれているので、復号するときはパスワードだけしか要りません。ファイルに書き込んで保存すれば、[KeePass](https://keepass.info/)のデータベースファイルのように、時

元記事を表示

ちょっと前のnodeで開発されたIonicアプリを動かす方法の覚書

## はじめに
業務上、2,3年前(かもっと前?)の少し古いバージョンのionicを使って開発されたアプリを動かさないといけなくなり、なんかうまく動かないので、なんとか動かす方法を調べました。

まあ、結論から言ったら単純で、アプリで使われていたパッケージ(のバージョン)が、開発環境のnode(npm)のバージョンではサポートされていなかっただけでした。
初心者には世知辛いですね。

あ、ちなみにOSはWindows10です。

## 問題
とりあえず、プロジェクトディレクトリで、

“`
$ionic serve
“`
をしたら動かなかった。

それは当たり前のことで、というのも
[Githubからダウンロードしたリポジトリを、自分の環境で起動させる方法(Ionicの場合)](https://qiita.com/kokogento/items/61e99c2f0313f5b7bd2c)
に書いてあるように、package.jsonで記述されているパッケージがインストールされていないから。

そこで、同じく上の記事にも書かれているようにしたら動くかなと思ってやってみると、

`

元記事を表示

Node.jsでsqlite3モジュールを使ってみる

# はじめに
Node.jsを使ってDB操作をしてみたかったため,sqlite3モジュールを使ってみました。
こちらの記事は,その際の備忘録となります。

# 大まかな流れ
1. 必要なパッケージのダウンロード
2. 実行ファイルの作成
3. 実行

以下で一つ一つについて詳細に説明します。

# 1. 必要なパッケージのダウンロード
今回は,sqlite3モジュールを利用しますので,以下のコマンドでパッケージをダウンロードします。

“`console:npm5.0.0以降を利用している場合
$ npm install sqlite3
“`

“`console:npm5.0.0より前のバージョンを利用している場合
$ npm install –save sqlite3
“`
– `–save` オプション : package.jsonのdependenciesに追加される(npm 5.0.0 以降ではデフォルト)

# 2. 実行ファイルの作成
今回は、ダミーのデータベースを作成し、その中身をコンソールログに出力するようなサンプルを作成します。

“`js:sam

元記事を表示

Pulsar Node.jsクライアントライブラリを使ってみた

## はじめに

こんにちは。

本稿では、Pulsarの[Node.jsクライアントライブラリ](https://github.com/apache/pulsar-client-node)(以下、pulsar-client-node)を使って、簡単なメッセージの送受信をしていきます。
サーバには、standaloneモードのPulsarを起動させます。

今回は、CentOS 7.5.0 1台の上に以下の環境を構築して試していきます。

* サーバ
* Java 11
* Pulsar(standaloneモード) v2.7.1

* クライアント
* Node.js v12.22.1
* pulsar-client-node v1.3.0
* pulsar-client-cpp(後述) v2.7.1

## サーバの準備
ここでは、メッセージの送受信を行うためのサーバを準備していきます。

まず、Pulsarのstandaloneモードを動かすために、Javaが必要になります。
Javaのインストール後、Pulsarのバイナリファイルが入ったアーカイブファイルを

元記事を表示

AWS CLIのプロファイルを簡単切り替え

AWSのアカウントを複数使用している場合など、プロファイルを切り変えることがあるかと思います。

コマンド実行時に指定したり、

“`sh
$ aws s3 ls –profile test
“`

環境変数に指定して切り替えが可能です。

“`sh
$ export AWS_DEFAULT_PROFILE=test
“`

今回、コマンドから簡単にプロファイル切り替えられるようにしてみました。
[awsp](https://github.com/johnnyopao/awsp)というnpmのライブラリをフォークして実装しています。

## コマンドを使用可能にする

[こちら](https://github.com/itouuuuuuuuu/awsp)から、必要なソースをcloneします。

“`sh
$ git clone https://github.com/itouuuuuuuuu/awsp.git
“`

cloneした `awsp`ディレクトリ内でパッケージをインストールします。

“`sh
$ cd awsp
$ npm i
“`

最後に、`.zshr

元記事を表示

Googleフォト容量無制限終了に備えて非root化なPixelをGoogleフォト アップロードサーバーにしてみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207109/5725e5af-d0d8-686f-0805-981e6e421771.png)

# はじめに

2020年11月に[Googleアカウントのストレージポリシー変更](https://japan.googleblog.com/2020/11/storage-policies-update.html)のアナウンスがあり、2021年6月1日よりGoogleフォトの容量も無制限ではなくなることになりました。
しかし以下の記載のように2021年5月現在発売中のPixel端末からアップロードされた写真は、引き続き高画質であれば容量無制限となります。

> また、Google Pixel 3 〜 5 の端末をご利用の場合、対象デバイスから高画質でアップロードされた写真と動画は、今回の変更の対象外です。つまり 2021 年 6 月 1 日以降も写真と動画についてはストレージに計上されず引き続き無制限でお使いいただけます。

※`Googl

元記事を表示

GitHubのRESTAPIをもちいてclosedされたプルリクエスト中の、削除されていないfeatureブランチを列挙する方法

# 目的
GitHubを何も考えず運用していくと、featureブランチが増えていく傾向がある。
今回は、closedされたプルリクエストのブランチを列挙して削除して良いかを検討するためのツールを作成する。

実はGitHubはREST API経由で操作を行うことができ、今回はそれを利用するものとする。
https://docs.github.com/en/rest

# 前提
以下の環境があること

– Node.js(v12.20.1)が使用できること
– [GitHubのアクセストークンが存在すること](https://docs.github.com/ja/github/authenticating-to-github/creating-a-personal-access-token)

# コード
## インストールするライブラリ

– request
– request-promise

## GitHubの操作を行うクラス

“`js:GitHubCtrl.js
const rp = require(‘request-promise’);

class GitHu

元記事を表示

【Node.js】dotenvで環境変数設定


Node.jsの環境変数について、同じような記事はたくさんあるけど、いつも忘れるので自分用メモを兼ねて。

##dotenvをインストール

“`
npm install –save dotenv
“`

##コード

たとえば、あるURLを環境変数にする場合

以下のように、.envファイルを作成する。
(ファイル名が、.envで、同じフォルダに保存する)

“`
URL=https://www.abcdefg.com
“`

すると、以下のように、process.envで呼び出せる。

“`js:hogehoge.js
require(“dotenv”).config();

const URL = process.env.URL

“`

元記事を表示

ExpressとmongoDBを使ったREST APIをTypeScriptで組んでみる【1.環境構築編】

## はじめに

先日React学習のためにローカル環境でJSON Serverと連携したテックブログを組んだのですが、今後の課題にしていたmongoDBとの連携を行っていく記録になります。

https://qiita.com/himorishige/items/7ebd87ddaf7c86901b9a

今回は環境構築ということでmongoDB Atlasの設定と、環境設定まで。

**1. 環境構築編(この記事)**
2. mongoDBとの接続
3. Model・Controllerの作成
4. 完成!?

## mongoDB Atlasの設定

今回は1つのアカウントで1つ限定になりますが、512MBのストレージまでのデータベースを無料で利用できるmongo DB Atlasを利用しました。
googleアカウントを持っていると簡単にサインアップできます。

https://www.mongodb.com

このあと画像がたくさん続きます。。。

![The_most_popular_database_for_modern_apps___MongoDB.png](https

元記事を表示

Node.jsでAutoHotkeyをスクリプティングする

Node.jsでAutohotkeyプログラムが書けると、他のライブラリ、例えばウェブサーバーのExpress.jsや、WebSocketなどnode.jsの便利なライブラリと統合して、
フレキシビリティの高いプログラミングを行うことができます。

以下は下記の関数を定義してから実行できるコードの例です。
このコードではシンプルに、マウスクリックをして→”hoge hoge”とキーボードタイピングする、という動作を行います。

“`js
await ahk({program: `MouseClick, left`});
await ahk({program: `send, hoge hoge`});
“`

今回は特にこれといったnode.jsのためのautohotkeyラッパーライブラリを使う、といったことはせず、シンプルに手軽に使える関数を定義してみます。

以下は軽く書いてみたコードです。

“`js

const fs = require(‘fs’);
const exec = require(‘child_process’).exec;

// ..

async f

元記事を表示

absoluteUrl の使い方 備忘録

# 環境
Node.js v15.3.0
Next.js v10.2.0

# やりたいこと

* fitch で JSON を読み込み
* 読み込んだデータを画面に表示
* カレントホスト名はハードコードしたくない

# 結論
以下の様にコード化する。

“`js
//@see : https://www.npmjs.com/package/next-absolute-url
import absoluteUrl from ‘next-absolute-url’;

export default function Home() {
// データソースのURL
const dataURL = ‘/data.json’;

// データソースの相対URL
const relativeURL = ‘.’ + dataURL;

// Get Request のインスタンス化
// @see: https://developer.mozilla.org/ja/docs/Web/API/Request
const request = n

元記事を表示

関口 厚の職歴情報

このページは、WEBエンジニア・コーダーの関口 厚の職歴についての情報を閲覧・ダウンロードするための記事です。

#履歴書と職務経歴書のダウンロードリンク
[履歴書(PDF)](https://www.yo2onweb.com/portfolio/resume_sekiguchi.pdf)
[職務経歴書(PDF)](https://www.yo2onweb.com/portfolio/work_experience_sekiguchi.pdf)

#リンクトインのプロフィール
[https://www.linkedin.com/in/sekiguchiatsushi/](https://www.linkedin.com/in/sekiguchiatsushi/)

#自作したWEBアプリの紹介記事
[WEBアプリ『ひとこと日記ver2』概要(Qiita)](https://qiita.com/Sekiguchi-Atsushi/items/4029966a13b0f5494b85)
Githubへのリンクも記載しています。ぜひご覧下さい。

#使用可能なソフトウェア・言語
(1)実務

元記事を表示

Google Cloud FunctionsからGoogle Cloud Translationを試してみる

前回、FirebaseでGoogle Cloud Functionsを使ってみました。

– [FirebaseのCloud FunctionsからGoogle Cloud Translationを試してみる](https://qiita.com/suzuki-navi/items/2600dc5c804daa4dc90c)

今回はFirebaseを使わずに、素のGoogle Cloud Functionsで同じ題材をやってみました。

# Cloud FunctionsのHello, World!

`function.js` という名前でJavaScriptのソースコードを書きます。

“`javascript
exports.helloWorld = function (req, res) {
console.log(“Hello, console.log!”);
res.send(‘Hello, World!’);
};
“`

`function.js` という名前である必要があるみたいです。デプロイは以下のコマンド。

“`console
$ gcl

元記事を表示

コロナ禍で半年母親に会えないのでobnizとtwilioで見守りシステムを考えてみた。

#1.はじめに
 コロナによる緊急事態宣言により帰省が出来なくなり、一人住まいの母親とは電話では話しているものの全く顔を合わせる事もなく半年以上経ってしまいました。
 母親は高齢のためガラケーを使っておりしかもメールやSNSも全く使えない世代。今更メールやLINEの使い方を教えることもできない。
 一時期Apple Watchを持ってもらおうかとも考えたが、転倒検知がかなりの勢いで倒れないと検知しないみたいなので断念した。
 今回はobnizに超音波距離センサー(HC-SR04)を組み合わせ、一定時間距離に変化がなければ母親の具合が悪くなっているとみなして、twilioを使用しショートメッセージを自分のスマホに送信する様にした。

#2.環境
ハードウェア
 obniz 1Y
 HC-SR04
ソフトウェア
 node.js v16.0.0

![IMG_0037.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1270335/8bb4d59c-ad4e-f8ed-c8a7-a1edc78b523

元記事を表示

平成生まれのエンジニアが初めてIoTに触れるのに丁度良い、生き残りゲーム~令和最新版~のプロトタイプをobnizで作る

先日、手軽にIoTに触れられると噂の「obniz」を入手しました。
ラズパイに比べて、圧倒的に早く、楽に電子デバイスを操れるのでうっかりスキルが向上したか?と錯覚するほどです。
この手軽さを活かす先は、プロトタイプでしょ?!ということで、さっそく行動してみました。
#生き残りゲームの令和最新版をプロトしよう
時代背景・コロナ感染予防・働き方・IoT・サーボモーターの動き、、、パッとピラめいたのが
 **生き残りゲーム**
レトロラブな私としては、これの令和最新版が作りたい!新しい形で対戦してみたい! これです。 
**コレは絶対楽しいやつ**にしか思えないので、**プロトしてポテンシャルを測ってみたい**と思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365273/e3e14ef3-6e86-fde7-ee99-7455d34b7975.png)
ちなみに、この生き残りゲーム、平成生まれの方はあまり知らないらしいですね。そんな記事をネットで見ました。
ご存じない方は「生き残り

元記事を表示

nvm-windowsでnode.jsのバージョン管理をする【Windows】

Node.jsのバージョン管理をwindowsPCでやりたくなったので入れ方を備忘録として。
どなたかの参考になれば幸いです:baby_tone2:

#手順

windowsはnodistが有名っぽいんですが、
以前なぜかめちゃくちゃ苦戦したのでnvmを入れてみます!

※正確にはnvm-windowsというMacで使うnvmのwindows版みたいなやつです。
nvm-windows:https://github.com/coreybutler/nvm-windows

##とりあえずアンインストール

現状普通に入っている場合はややこしくなるのでいったん削除します。
(“`$node -v“`でバージョン出てきたら入っていて、
 特にバージョン管理入れてなければベタだと思います)

スタート(左下のWindowsアイコン)
→ 設定(歯車アイコン)
→ アプリ
→ アプリと機能

出てくるリストにNode.jsがあるはずなのでそちらをアンインストールでOK!

## nvm-windowsのインストール
https://github.com/coreybutler/nvm-w

元記事を表示

OTHERカテゴリの最新記事