Node.js関連のことを調べてみた2020年12月23日

Node.js関連のことを調べてみた2020年12月23日

プログラミング初学者の現役医師が、firebase使って診断名を管理できるLINEBOTを実装してみた。

# 皆さん、ご自身の病名(医学的には診断名)を覚えていますか?

僕の本職は医師(開業医)です。
日常診療の課題感から、以下のような、『診断名を保管でき、かつ、必要に応じて引き出せる』アプリを実装しました。
動作は以下です。

【初心者】動画作成アプリを作ってみた(フロントのみ)

#はじめに

今回はじめて投稿します、fuuk4といいます。

今回の内容は、卒業制作にて動画作成アプリ(簡易)をweb上でできるものを作成したときに、Reactを使ったので感想や悩んだことを、まとめていこうと思います!

今回作ったアプリのソースに関しては、膨大な量なので一部を抜粋して投稿しています。
すべてのソースについてはこちらの[GitHub](“https://github.com/fuuk4/node-video-edit-simply”)より閲覧の方をよろしくおねがいします。

完全に理解してコードを書いていた感じではないので、指摘等ありましたらよろしくおねがいします。

##今回自分が使ったもの
フロントエンド
React, Redux
バックエンド
Django

##初めて使った印象
今まで自分は、WebアプリケーションをJavaとかで作ってきましたが、それとは全く異なり、**SPAってスゲーー!**ってなりました。
1枚のページでいろんな操作ができるって便利だなーって印象でしたね〜。

###ただ、やっぱり難しかった…
もう、はじめは何に手をつければいいのか

元記事を表示

【Node.js Express】Bcryptを用いて平文をハッシュ化する。

※当方駆け出しエンジニアのため、間違っていることも多々あると思いますので、ご了承ください。また、間違いに気付いた方はご一報いただけると幸いです。

#bcryptを用いたハッシュ化
bcrypt というパッケージを用いて、Node.jsでパスワードをハッシュ化し保存します。
例としてusersControllerでサインアップ時にパスワードをハッシュ化します。

bcryptをインストールします。

“`
npm install bcrypt
“`

ハッシュ化を実施するコントローラーでロードします。

以下のようなusresControllerがあるとします。サインアップ時に使用するコントローラーです。
ORMにsequelizeを用いています。

sequelizeについては、こちらをご覧ください。
[【Express】ExpressにSequelizeを導入しORMでデーターベースを操作する。(SQLite3)]
(https://qiita.com/sho_U/items/9df724192fd48e760f79)

“`usersController.js

func

元記事を表示

nodejs path.resolve試す

resolve関数にpathを渡すとpathを連結してくれる。

“`typescript

import * as path from ‘path’;
console.log(path.resolve(__dirname, ‘hoge’, ‘fuga.csv’))
“`

“`
/path/hoge/fuga.csv
“`

元記事を表示

nodejs __dirname

__dirnameは、現在のJavaScriptファイルが存在するフォルダーのパスを返します。

“`
console.log(__dirname)
“`

元記事を表示

中華製npmを知ってますか?! cnpmを紹介(ネタ)

Node.jsアドベントカレンダー21日目になります。
npmといえば、Node.jsやフロントエンド開発で欠かせないツールですよね。そんな **npmの中国版がある**ことをご存知でしょうか。

仕事柄、中国に行ったり、中国にいる人とやりとりしたりすることがありますが、その辺に関連した話です。実用性はほぼ無いので話のネタだと思ってもらえると幸いです。(アドカレ遅刻すみません)

> ![スクリーンショット 2020-12-22 11.54.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/dfd62619-9ec8-5a9b-523c-07fef82f6904.png “スクリーンショット 2020-12-22 11.54.59.png”)
> [IoTLT vol70](https://iotlt.connpass.com/event/196360)で話をしたネタです。 スライドは[こちら](https://speakerdeck.com/n0bisuke2/zhong-hua-zh

元記事を表示

ローカルでNode-REDを実行してみた

Node-RED アドベントカレンダー22日目!
今まで Node-RED は enebular や IBM Cloud 上で使ったことがありましたが、そういえばローカルで実行したことがないなぁと思ったのでやってみました。

ドキュメントの[「ローカルでNode-REDを実行する」](https://nodered.jp/docs/getting-started/local) を読みながら自分のローカル環境で実行した時の手順をまとめてみます。

#実行時のローカル環境
– macOS 10.14.6(Mojave)
– Node.js 10.16.3

#手順ざっくり
1-a. Node.js のインストール
1-b. 既にインストールしたことがある場合は [Node.js のバージョン確認](https://nodered.jp/docs/faq/node-versions)
  ※ 2020年12月22日現在、バージョン 10.x と 12.x の Node.js を推奨しているようです
2. npm で Node-RED をインストール
3. Node-RED を実行する
4.

元記事を表示

[Node.js] Node.jsからMySqlへのデータの登録・更新・削除

#Node.jsからMySqlへのデータの更新

※自分用の覚え書きでございます。

req を受け取り、MySql へ post します。

###INSERT

“`javascript:app.js
app.post(‘/entry’, (req, res) => {
connection.query(
‘INSERT INTO tbl_items (name) VALUES (?)’,
[req.body.itemName],
(error, results) => {
connection.query(
‘SELECT * FROM tbl_items’,
(error, results) => {
res.render(‘index.ejs’, {items: results});
}
);
}
);
});
“`

###UPDATE

“`javascript:app.js
app.post(‘/update/:id’, (req,

元記事を表示

【mac】nodeのバージョンが変わらない

この記事は、nodebrewでインストールしたけど、nodeのバージョンが切り替わらない人向けに書かれています。

##結論
homebrewでインストールされているか、
nodebrewでインストールされているか問題だった。
zshにnodebrewのパスを通すことでnodeのバージョンが切り替わるようになる。

##経緯
node.jsの安定版が更新されていたので、確認した。
[Node.js Releases](https://nodejs.org/en/about/releases/)
2020/12/22現在、安定版は14.15.3 Fermium

“`
$ node -v
v12.18.4

$ nodebrew ls-remote
なんかいっぱいバージョンが出る。

$ nodebrew install-binary v14.15.3
Fetching: https://nodejs.org/dist/v14.15.3/node-v14.15.3-darwin-x64.tar.gz
###########################################

元記事を表示

Node.js&log4jsのログ管理についてあれこれ

Node.jsでlog4jsを使ってログ出力する場合の、ログ管理に関する検証記録。
思いついたことを追記していく予定。

# log4jsでログを出力するサンプルアプリを作る

検証用に、log4jsでログを出力するサンプルアプリを作る。

1.Docker環境で以下を実行し、node.jsコンテナを起動する。

“`
# docker run -it –rm –name app node bash
“`

2.コンテナのbashプロンプトで以下を実行し、環境を準備する。

“`
# mkdir app
# cd app
# npm install express log4js
# apt-get update
# apt-get install -y vim curl
“`

3.viでapp.jsというファイルを以下内容で作る。

“`javascript:app.js
var express = require(“express”);
var app = express();

var log4js = require(“log4js”);
log4js.confi

元記事を表示

プロジェクトの設定ファイル使い回しを支える技術

私はQiitaや[ブログ](https://blog.ojisan.io) に記事を書くときは、なるべく動くサンプルコードを提示するようにしています。そのため記事を書くたびにサンプルコードが増えていき、それを管理しているレポジトリも増えました。

FYI: https://github.com/ojisan-toybox

レポジトリを作る頻度はかなり高いのですが、作るたびに環境構築に時間がかかってしまっており、なるべく早くプロジェクトの環境構築を済ませる方法を考えています。扱う分野によっては儀式的な設定をたくさんする必要があり、毎回セットアップするのは大変です。そこで既存プロジェクトからコピペするわけですが、どのプロジェクトがどの技術で作られていたかは覚えておらず、どれをコピペしたらいいかよくわからなくなりました。そういった環境構築のためのコピペを **労力のかからないシンプルな方法で** 少し効率的にする方法を紹介します。

## template を作成しておく

素早く環境を作る方法として、一つにはGitHubのtemplateを使う方法があります。GitHubにあらかじめテ

元記事を表示

【Node.js 同期と非同期とアンチパターン】

ここでは非同期処理と同期処理の実例から考えるよくあるアンチパターンについて、理解が深まることで他の仕組みの使い所までわかればいいなと思う。

・非同期処理と同期処理の例
・コールバックを引数に持つ関数の例
・実際の処理と問題点
・解決方法

【非同期処理と同期処理の例】

まずは、以下のように簡単に同期処理を非同期処理にすることができる。

出力結果が入れ替わることがわかる。

“`jsx
const check = true

const syncCheck = (check) => {
console.log(check)
}
syncCheck(check)
console.log(“結果”)
// true
// 結果

// これを非同期にする
const asyncCheck = (check) => {
setTimeout(() => {
console.log(check)
},1000)
}
asyncCheck(check)
console.log(“結果”)
// 結果
// true
“`

このように関数内の処理は

元記事を表示

飲食店を応援したい!テイクアウト仕組みの構築&LINEで注文状況を照会

#どんな事にチャレンジしたのか紹介
飲食店でのテイクアウトの自動化にチャレンジ
最近、LINEの勉強をしているという事で色々なコンサルの方から質問が来ます。
その流れで、飲食店のコンサルをされている方と最近テイクアウトの流れを一緒に考えているので、「オンライン注文をより便利なものに」を目標に、Firebaseを利用してどんな事が出来るのか試してみました。

今回私の考えた仕組み
1.LINEからもWEBからも予約が出来る
2.予約情報は一元管理されている
3.LINEで過去の予約状況を照会

上記の3工程
これをvue.js・node.js・Firebase・LINE Messaging APIを使って完全自動化!にチャレンジしました。

#完成品フロー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/b3741f1d-4740-2116-5879-4dae70c972dd.png)

webアプリ
![image.png](https://qiita-image-store

元記事を表示

Azure Translator を使ってみたいあなたへ-誰でもすぐに使える翻訳機能のすすめ-

# やったこと
今回は node.js を使って、Azure アカウントと node.js の実行環境さえあればこの記事をご覧の皆さんもなるべく簡単に動作を確認できるようにしてみました。

class としてサクッとお試しいただけるものを用意しましたので、他の機能とかに組み込むとかはある程度しやすい状態じゃないかなと思います。

## こんな人向け
– 翻訳系のサービスを触ってみたい
– Azure Translator API をサクッと試す/組み込んでみたい
– どういう入力に対してどういう出力がされるのか知りたい

## こういう人向けではないよ
– 既に Translator API を使ったことがあって、更なる学習をしたい
– 翻訳機能を使った超絶素晴らしいシステムの話を聴きたい

# Azure Translator とは
Azure Translator とはザックリというと、翻訳だとか辞書検索だとかを行う Azure のサービスです。API がいくつか存在していて、チュートリアルも色々とあります。

[Translator サービスとは](https://docs.m

元記事を表示

node.jsで最高で最低な自動化ライブラリを作った。

# 概要
ターミナルで重い処理走らせて、ネットサーフィンしてたら、ターミナルの処理が終わってるのに気づかなかったって事よくありますよね(えっ)

こんな時に使える最低なライブラリをnode.jsで作成しました。

名前はtinntinn
下ネタではないです。
それが証拠にnpmライブラリとして配布出来ました。

使い方は簡単。ターミナルで
yarn add global tinntinn
でインストールし、
tinntinn
とターミナルに打つとベルがチンチンなります。

つまりbashで
‘何か思い処理’ && tintinn
とすれば、処理が終わった瞬間に音で気づけるって訳です。

以上。最低な自作ライブラリtinntinnの紹介でした。
自作したOSSの中で今、一番役に立っています笑

注意: 一部mac osでは音が鳴らないようです。

元記事を表示

M1 Macでpuppeteerを動かす方法(2020年12月21日時点)

# 動作環境
Mac Book Air 2020 M1
macOS Big Sur 11.0

# エラー内容
[ヘッドレス Chrome Node API 「Puppeteer」 – Qiita](https://qiita.com/bezeklik/items/c6448d50ff0efb45829e)を参考にpuppeteerを動かしてみようとした時に下記コマンドが arm64ではエラーが出たのでその対処方法を書きます。

“`zsh
yarn add puppeteer
“`

“`zsh
buzzword111@buzzword111-MacBook-Air Puppeteer % yarn add puppeteer
yarn add v1.22.10
info No lockfile found.
[1/4] ? Resolving packages…
[2/4] ? Fetching packages…
[3/4] ? Linking dependencies…
[4/4] ? Building fresh packages…
error

元記事を表示

Tensorflowでの学習をWebsocketで遠隔地から監視できるシステムを作る

この記事は[ 福島高専 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/nitfc) 22日目の記事です。

当方初執筆のため、気になる点などあればコメントよろしくお願いします。

# はじめに
Tensorflow での学習を研究室のPCで回すことがよくあるのですが、進捗状況の確認のためにいちいち学校へ行くのがとても面倒なので、自宅でも進捗状況を確認できるシステムを作りました。

# やりたいこと
– 遠隔地からの学習状況の確認
– 損失関数、評価関数のグラフの描画

# 実現方法
各 epoch ごとの損失関数や評価関数の値などの諸々の結果を「学習機」から送ってもらい、「監視機」に送信することで実現させます。
学習状況をリアルタイムで監視したいため、Websocketを用いて情報のやり取りを行います。

# 環境
– Python 3.8.6
– Node.js v15.3.0

# 実装
思ったよりコードが長くなってしまったので、掲載分のコードは適当なところで端折ってあります。
[Githubのリポジトリ]

元記事を表示

Herokuを寝かせないようにではなく指定時間に叩き起こすTips 【Heroku/enebular】

Herokuにデプロイしたアプリケーションは、 **30分アクセスが無いとスリープしてしまう**ことは有名です。ただ、24時間寝ないようにすると無料枠がすぐ無くなりませんか?

## 寝かせない運用は無料枠の1000時間がすぐに無くなってしまう

調べると定期的に自身にHTTPリクエストを行って寝かせないようにするなどの対処法が見つかります。

ただ、 **Herokuは無料枠の運用だと月間1000時間までしか利用できない**という制限があります。

寝かせない運用の場合、寝かせないので

24時間x30日=720時間

ということで、 **一つのアプリケーションだけで無料枠の7割をも使ってしまいます。**

## 基本寝かせておいて、指定したタイミングで叩き起こす

もちろん、24時間稼働が前提のアプリケーションではこれは厳しいですが、バッチ処理や定期的に発言するBOT、RPAツールなど常時稼働ではなく1日のうちに数回動けば良いといった仕様のアプリケーションならば24時間稼働をさせなくても良いはずです。

## Heroku Schedulerを利用

ここだけだと割と一般的です。

元記事を表示

【Node.js超入門】環境構築 for Mac Catalina

勉強と忘れないようメモ:writing_hand:

#Node.jsとは?
サーバーサイドで動くJAVASCRIPTのこと

#Node.jsを学ぶメリット
**1.JACVASCRIPTだけでWEBサイトが作れる(フロント、サーバー両方)**
   
**2.フロンエンドの開発環境でも使われる**
フロントエンドでも以下作業自動化のために使われるので覚えて損はないのではなかろうか

* バリデーション(エラーのチェック)
* 画像やCSS、JSファイルへの圧縮
* テンプレートエンジン
* Saas -> CSSへのコンパイル
* ローカルサーバー環境
* ,,etc

#環境構築方法
**1. 公式のNODE.jsのサイトからZIPファイルを落としてくる**
これはおすすめできないらしい。
NODE.jsのバーションがたくさんあり、作業中に頻繁にバーションを変える。
なので、バーションを変える際にZIPファイルを毎回落としてくる手間が発生し大変になるとのこと

**2. nodebrew(NODE.jsのバーション管理するツール
)を使う**
こちらで実装(今回はhomebr

元記事を表示

OTHERカテゴリの最新記事