- 1. Andoroid端末上でNodo.jsアプリを実行してみた
- 2. Nuxt×CloudFunctions×SendGridでメールを送信する
- 3. Node.js とGoogle chartを使って新型コロナウィルス感染者数の推移をグラフ化した。
- 4. ⑧Rails + Docker環境から 脱Dockerをやってみた(2020.5時点)
- 5. 複数バージョンのNode.jsをPowershellスクリプトでインストール&切り替え
- 6. 5分でできるSwaggerの環境構築とAPI開発・テスト
- 7. win7 + gulp + babel + browsify 速効構築
- 8. 【Mac】VSCode 開発環境構築 (Java、Gradle、Node.js)
- 9. [Node.js + PostgreSQL]Node.js アプリから PostgreSQL DB に接続
- 10. 【Node.js】JTW生成処理をSAMで作る
- 11. nodenvの環境構築
- 12. Puppteerでキャプチャ画像を取得 part2
- 13. 家庭内フードロスを減らそう。LINEbotを使ったレシピの提案
- 14. Express Generator で作成されたファイルを触って Express を理解したい1:生成, yarn start, express.static, path.join
- 15. tsoaを使ってAPIドキュメントを自動生成
- 16. Node.jsで仮想通貨取引botを作るまで
- 17. 【Node.js】Node.jsをインストールする方法
- 18. AWS AmplifyのチュートリアルでJavascript(React)の環境を構築する
- 19. 【Babel】の使い方(Javascript・node.js)
- 20. Puppteerでキャプチャ画像を取得 part1
Andoroid端末上でNodo.jsアプリを実行してみた
# 概要
コロナの関係で妻と二人在宅勤務を実施中。2階で仕事をしている妻が送ったメッセージ(コーヒーが飲みたい、など)を1階リビングのgoogle homeに喋らせるシステムをNode.js、Node-REDで作成した。自宅にRaspberry Piが無いためPC上でシステムを動作させていたが、PCの変わりにスマホ上で動作させられないかと考え、本対応を実施。
# 環境
* 端末
* Android 9
* Androidにインストールしたアプリ
* [Termux](https://play.google.com/store/apps/details?id=com.termux&hl=ja):Android上でLinuxターミナルを実行するためのアプリ。root化不要。無料アプリ。
* [WiFi Keyboard](https://play.google.com/store/apps/details?id=com.volosyukivan&hl=ja):PCのキーボードでスマホの入力が可能。
* [Termux:Boot](htt
Nuxt×CloudFunctions×SendGridでメールを送信する
複雑な家庭の事情でどうしてもNuxt×CloudFunctions×SendGridでメールを送信する必要があったのでメモ。
## Functionsの実装
### ライブラリのインストール
Node.js用のライブラリがあるのでこれをインストールします。
https://github.com/sendgrid/sendgrid-nodejs“`
cd functions
npm install –save @sendgrid/mail
“`### SendGridのAPIキーをセット
APIキーはfirebaseプロジェクトの環境構成にセットしちゃいます。“`
firebase functions:config:set sendgrid.apikey=”hogehoge”
“`詳しく知りたい場合は[公式説明で](https://firebase.google.com/docs/functions/config-env?hl=ja)
### index.jsを編集
“`/functions/index.js
const sgMail = require
Node.js とGoogle chartを使って新型コロナウィルス感染者数の推移をグラフ化した。
# はじめに
組み込みエンジニアがGWにNode.js の勉強をした。
本を読んで基本的なことが理解できたので、何か実践的に役に立つことに使えないかと思い
全国の新型コロナウィルス感染者数の推移をグラフ化してみた。
以下がその結果である。ニュースでみるグラフと同じようなものが得られた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535710/9ea0bb4b-309f-9d9f-15f2-44a33cf3431c.png)# やったこと
1. 厚生労働省のホームページに掲載されている報道発表資料(https://www.mhlw.go.jp/stf/houdou/index.html) から、感染者数を取得する。2. 取得した感染者数と一日の増加人数をデータベース(mySQL)に収納する。
3. Google Chart(https://developers.google.com/chart) を使って、感染者数の合計と増加人数をグラフ化する。
### Node.js
⑧Rails + Docker環境から 脱Dockerをやってみた(2020.5時点)
#経緯
当方、某テ●クキャンプ卒の未経験初学者です。
就活のポートフォリオのRailsアプリを制作する途中でDocker環境に移行したので、AWS/ECSでデプロイしようとしていましたが、アプリのレベル、自身の理解度、経費等を考慮しCI/CDの学習に方針を変更しました。本稿は、Docker環境のRailsアプリをgit clone(ソースのコピー)をして、Dockerを外してRails sで開発する状態に戻す作業です。
初学者の迷走ゆえ、ベストプラクティスではないと思いますが、こんなこともあるのね、という感じで見ていただけたら幸いです。#前提
・Ruby on Rails 5.2.4.2
・Ruby 2.5.1
・MySQLl:5.6 の環境でアプリ開発していた・ Docker version 19.03.8
・ docker-compose version 1.25.4 を途中から導入した
・ docker移行直前にgit cloneしていなかったため、git cloneでリポジトリ複製から始める・ Githubリモートリポジトリがある
複数バージョンのNode.jsをPowershellスクリプトでインストール&切り替え
#はじめに
Node.jsではモジュールをインストールすると小さなファイルがたくさんできるので、HDDだと動作が重く感じることがある。そこでNode.jsごとSSDにインストールし直したところ大分快適になった。今回の再設定では、複数バージョンのNode.jsをPower Shellのスクリプトを使ってインストール(というよりダウンロード)した。というのも、複数バージョンのNode.jsのインストール・切り替えを行う便利なツールはあるものの、Windows非対応だったりMinGWが必要だったり、良く分からないExeファイルが必要だったりするため、職場の事情で使わせてもらえないかもしれないためだ。
# Powershellスクリプトを使ったインストール
[nodeswitch](https://github.com/stm32p103/nodeswitch) というスクリプトを作成した。中身はリンク先を見てもらうとわかるようにとても単純で、`Invoke-Webrequest`を使ってNode.jsのディストリビューションをダウンロードしたり、`Add-Item`でシンボリックリンク
5分でできるSwaggerの環境構築とAPI開発・テスト
# 今回のゴール
APIの標準ドキュメントとして、またモックサーバーとしてSwaggerはとても便利です。
おそらく今やRESTful APIを利用するほとんどの開発現場におけるデファクトスタンダードではないでしょうか?今回はそんなSwaggerを利用して、以下をやってみます
– Swaggerのローカルサーバーを立てる
– APIを追加する(モックです)
– APIをテストする## 前提事項
npmやNodejsはインストールしておいてください。
今回は以下の環境で実施しました“`
node -v
v10.16.0npm -v
6.9.0
“`## Swagger環境のインストール
今回はNode.jsを利用して構築していきます### 1. Swaggerモジュールをインストール
“`
$ npm install -g swagger
“`### 2. Swaggerプロジェクトを構築
“`
$ swagger project create hello-world
“`フレームワークを聞かれます。今回はNode.jsなのでexpre
win7 + gulp + babel + browsify 速効構築
## 1. ディレクトリを作成
~~~cmd.exe
mkdir gbb
cd gbb
~~~## 2. パッケージを配置
~~~package.json
{
“name”: “gbb”,
“version”: “1.0.0”,
“description”: “GulpBabelBrowsify”,
“main”: “index.js”,
“scripts”: {
“test”: “echo \”Error: no test specified\” && exit 1″,
“gulp”: “gulp”
},
“author”: “”,
“license”: “ISC”,
“dependencies”: {
“@babel/core”: “^7.9.6”,
“@babel/preset-env”: “^7.9.6”,
“babel-core”: “^6.26.3”,
“babel-preset-es2015”: “^6.24.1”,
“browser-sync”: “^2.26.7”,
【Mac】VSCode 開発環境構築 (Java、Gradle、Node.js)
## 1. Java、Gradle、Nodeインストール
### brewインストール
1)以下を実行してインストールする。“`shell:ターミナル
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
“`### Javaインストール
1)下記のサイトからJava SE Development Kit *u*** → Mac OS X → jdk-*u***-macosx-x64.dmg をダウンロードし、インストーラを実行する。
[Java8(Archive)](https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html)
[Java9(Archive)](https://www.oracle.com/java/technologies/javase/javase9-archive-downloads.html)2
[Node.js + PostgreSQL]Node.js アプリから PostgreSQL DB に接続
### 書くこと
Node.js で作成したアプリから、PostgreSQL DB に接続する方法### 前提条件
接続するDBは、下記記事で作成したものを利用する。
[[DB/SQL]要件をテーブルに落とし込む手法のメモ書き(複式簿記のテーブル設計を例に)](https://qiita.com/tanakadaichi_1989/items/09e0ce35f3ebc9afc352)### フォルダ構成
“`
NodeJSSampleApp
┣ app.js
┣ node_modules
┣ package-lock.json
┣ package.json
┣ public
┗ views
┗ journal.ejs
“`### コード
“`js:app.js
const express = require(‘express’);
const app = express();app.use(express.static(‘public’));
var {Client} = require(‘pg’);
var client = new Client(
【Node.js】JTW生成処理をSAMで作る
[前回の続きです。](https://qiita.com/Shu3/items/edacbfbea4b1b6aaf877)
Zoom会議をSlackをお知らせするアプリにてZoom APIに必要なJWTを生成する処理をSAMで作成しました。(下図の赤枠)
時間ができたらやりたいと思っていましたが、思ったよりすぐやっちゃいました。さすがStayHome週間(笑)
※本記事ではSAM,SAM-CLIなどの詳述は割愛します。ご了承ください。
# SAMを始める
[公式](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/server
nodenvの環境構築
この記事では個人的にお勧めなnodenvのインストール方法と使い方について簡単に紹介していきたいと思います。
## nodenvのダウンロード
まず、nodenvのソースをGitHubからcloneしてきます。
“`sh
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
“`## nodenvのビルド
ダウンロードしてきたソースからnodenvをビルドして実行可能な状態にしましょう。
“`sh
cd ~/.nodenv && src/configure && make -C src
“`## pathを通す
コマンドを叩けるようにパスを通しましょう。
– bashの場合
“`sh
echo ‘export PATH=”$HOME/.nodenv/bin:$PATH”‘ >> ~/.bash_profile
echo ‘eval “$(nodenv init -)”‘ >> ~/.bash_profile
“`– Ubuntu DesktopやWindows Subsystem f
Puppteerでキャプチャ画像を取得 part2
## 概要
エンジニアもどき2年目に入りました。色々あって以下を行うLambda関数を作成することになりました。
色々学びがあったので備忘録がわり兼アウトプットのために書くことにしました。1. 特定のページのキャプチャ取得
2. 取得したキャプチャをS3に保存
3. S3に保存したURLをDyanmoに記録part2では`2. 取得したキャプチャをS3に保存`の実装とデプロイまで行います。
part2での実装内容は[こちら](https://github.com/syu-y/puppeteer-capture/tree/part2)## 前提
[前回(part1)](https://qiita.com/yimi_getu/items/4c0dca38f8f55e8e6d3d)の続きです。part1に引き続き以下の準備は完了している前提です。
前回(part1)の実装内容は[こちら](https://github.com/syu-y/puppeteer-capture/tree/part1)– nodejs
– ServerlessFramework
– yarn
–
家庭内フードロスを減らそう。LINEbotを使ったレシピの提案
夏が近づき暖かくなってきました。
食品も傷みやすい季節になってきましたね!
また、在宅ワークも進み家でのお昼ご飯などのレシピにも困っているのではないでしょうか?ということで、今回は家庭内でのフードロスが減るよう、余っている食材をメッセージするとレシピのリンクを返してくれるボットを作って見ました。
1 材料に関連したレシピがある場合:
とりあえずできた。レシピを教えてくれる。#レシピ pic.twitter.com/ZRWcB88FyA
— shima-07 (@y_kawashima_) Express Generator で作成されたファイルを触って Express を理解したい1:生成, yarn start, express.static, path.join
Express 4.x が対象です。`express-generator` による生成、`yarn start` の意味、`express.static()` の意味、`path.join()` の意味についてまで。記述しています。
「余談」とある項目はやや踏みこんだ内容になっています。必要に応じて読み飛ばしてくだい。(むしろ余談のほうが多いね…)
# 生成
下記のコマンドで `app_name` 以下に雛形を生成できる。
“`
$ express app_name –view=pug
“``–view=pug` を付けない場合、`views` 以下のファイルの拡張子が `.jade` になる。jade は pug に改名される予定(というか改名された)ので、今後は `.pug` に統一されていく(はず)。なので、これから `express` のアプリを作るなら `–view=pug` を付けて生成したほうが良さそう。
生成のコマンド名は `express` だけど、使用するには `express-generator` をインストールする必要がある。
“`
tsoaを使ってAPIドキュメントを自動生成
## tsoa
[tsoa](https://tsoa-community.github.io/docs/)とは、TypeScriptとNodeを使用してOpenAPI準拠のREST APIを生成するためのモジュール。
2020-05-05時点の最新バージョンはv3.0.8。– APIの唯一の信頼できる情報源としてのTypeScriptコントローラーとモデル
– Express、Hapi、Koa対応
– エンドポイントの説明などにはjsdocを使用### メリット
– コメントと実装のずれがなくなる(JSDocで管理するモジュールもあるが、いつかずれる)
– ドキュメント上からリクエストが投げれる### デメリット
– デコレーター祭り
– route.tsをプレコンパイルする必要があり、開発環境が少しだけ複雑に## 導入方法
[Introduction \| tsoa](https://tsoa-community.github.io/docs/introduction.html#goal)を順に進めれば、以下のようなAPIドキュメントが `http://lo
Node.jsで仮想通貨取引botを作るまで
###この記事で得られること
– Node.jsで仮想通貨取引bot(以下、bot)を作りたいときに参考にすると良いかもしれない資料
– 筆者が作っためっちゃ基本的なbotのソースコード
– 当たり前ですけどこの記事・ソースコードは実際の取引の参考にはしないでください。筆者はソースコードの内容でbotを短時間動かして普通に損失出しています(笑) 数百円ですが。
– コード見ればわかりますが取引所はbitFlyerを使っています。###この記事の対象者
– JavascriptおよびNode.jsの基本を終えて、何か作りたいなと思ってる人。
– ここでいう基本は、Progateの関連するレッスンの内容は理解している、AtCoderのABCはJavascriptで解ける・ソースコード読めるレベルぐらいを想定しています。###参照した資料と進め方
####[Udemy: Node.jsの基礎から学ぶ、ビットコイン自動売買プログラム](https://www.udemy.com/course/nodejs-trading-basic/)
– この教材が作られたのが2年前(?)とかなので
【Node.js】Node.jsをインストールする方法
#Node.jsインストール
[Node.jsの公式サイト](https://nodejs.org/ja/)にアクセスする。
「推奨版」を押下する。
パッケージが開き、「続ける」を押下する。
「続ける」を押下する。
「同意する」を押下する。
「続ける」を押下する。
「インストール」を押下する。
パスワードを入力し、「ソフトウェアをインストール」を押下する。
「閉じる」を押下する。
#Node.jsインストール確認
ターミナルを開き、下記コマンドを入力し、バージョンが表示されれば確認OK。
“`
$ node -v
v12.16.3
$ npm -v
6.14.4
“`
AWS AmplifyのチュートリアルでJavascript(React)の環境を構築する
いつも忘れないように、コンセプトから。
###コンセプト
・お金かけてまでやりたくないのでほぼ無料でAWSを勉強する
→ちょっとしたサービスを起動すると結構高額になりやすい。
・高いレベルのセキュリティ確保を目指す
→アカウントを不正に使われるととんでもない額を請求されるので防ぐ前回は[「AWSサーバーレスのWebアプリケーションをもっと勉強する」](https://qiita.com/auf/items/f3a84ae3bbf0a3b5cbec)でいろいろ考察してみました。実際に触って試していきたいと思います。
###まずはクライアントサイドから
実際に触って確認していくのですが、クライアントサイドの実装を選択します。前回も書きましたが、Angular、React、Vue.jsから選択します。
https://note.com/erukiti/n/na654ad7bd9bb
↑のサイトが参考になりましたが、Angularって下火になっているんですね。Google=偉いみたいなイメージがあるので、有力候補になりそうな気がしますけど、今はReactが良さそうです。そもそもJa
【Babel】の使い方(Javascript・node.js)
#専用のディレクトリ作成
“`bash
$ mkdir babeltest
“`#カレントディレクトリを移動
“`bash
$ cd babeltest
“`#package.jsonを作成
“`bash
$ npm init -y
“`上記のコードは、対話環境で対話する事なく、プロジェクト名など適当につけてファイル「package.json」を作成してくれます。
#必要なライブラリをインストール
“`bash
$ npm install –save-dev babel-cli
$ npm install –save-dev babel-preset-es2015
“`Babel CLIとES 2015のプリセットの2つをプロジェクトにインストールします。
その際、package.jsonに設定を保存する様に、「–save-dev」オプションをつけておきます。#.babelrcを作成
プロジェクトフォルダに「.babelrc」というファイルを作成し、そこに下記の内容を書き込みます。“`javascript
{ “prese
Puppteerでキャプチャ画像を取得 part1
## 概要
エンジニアもどき2年目に入りました。色々あって以下を行うLambda関数を作成することになりました。
色々学びがあったので備忘録がわり兼アウトプットのために書くことにしました。1. 特定のページのキャプチャ取得
2. 取得したキャプチャをS3に保存
3. S3に保存したURLをDyanmoに記録part1では`1. 特定のページのキャプチャ取得`の実装とデプロイまで行います。
part1での実装内容は[こちら](https://github.com/syu-y/puppeteer-capture/tree/part1)## 前提
以下の内容が出てきます。インストールなどの準備は完了している前提です。– nodejs
– ServerlessFramework
– yarn
– webpack
– iamのユーザ作成済み## 実装作業
### 1. 準備
フォルダとテンプレートの作成をします。“`zsh
mkdir puppeteer-capture
cd puppeteer-capture
serverless create –template