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

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

herokuでnodeアプリをデプロイする

個人的な作業メモ。チュートリアルをなぞっただけです。

https://cli-assets.heroku.com/heroku.pkg からCLIのインストーラーをダウンロードして実行。

“`
$ heroku –version
› Warning: heroku update available from 7.35.0 to 7.39.5.
heroku/7.35.0 darwin-x64 node-v12.13.0
“`

アップデートできるようなのでしおく。

“`
$ heroku update
heroku: Updating CLI from 7.35.0 to 7.39.5… done
heroku: Updating CLI… done
“`

herokuにログインする。

“`
$ heroku login
heroku: Press any key to open up the browser to login or q to exit:
“`

何らかのキーを押すとブラウザが開く。

![スクリーンショット 2020-04-29

元記事を表示

【Node.js】SequelizeのDB接続情報を環境変数で管理する

# 経緯
Sequelizeのデフォルトは `config.json` というファイル内でDBへの接続情報を管理しているので、 `.env` などの環境変数で管理したかった。

# 結論
`config/config.json` の中身を以下のようにモジュール化して、拡張子を `.js` に変更する。

`dotenv` で環境変数を読み込む。

“` config.js
require(‘dotenv’).config();

module.exports = {
‘development’: {
‘username’: process.env.DB_USERNAME,
‘password’: process.env.DB_PASS,
‘database’: process.env.DB_DATABASE,
‘host’: process.env.DB_HOST,
‘port’: ‘3306’,
‘dialect’: ‘mysql’,
‘operatorsAliases’: false,
},
};
“`

`mod

元記事を表示

【Node.js】Dockerで作成したMySQLをDUMPする

# 経緯
Docker-composeで作成したMySQLのデータをAmazonRDSに移行する必要があった。

# 結論

## Dockerコンテナで作成したMySQLデータをRDSなどの外部サーバーに移行する

エクスポート時

“`
$ docker exec コンテナ名 mysqldump –default-character-set=文字コード(utfmb4など) -u ユーザ名 -p パスワード データベース名 > backup.sql
“`

インポート時

“`
mysql –default-character-set=文字コード -h エンドポイント(AmazonRDSの場合) -P 3306 -u admin -p データベース名 < backup.sql ``` ## Sequelize(Node.jsのORM)を使ってスキーマを作成していた場合 エクスポート時 ``` $ docker exec コンテナ名 mysqldump --skip-lock-tables --default-character-set=文字コード(utfmb4など)

元記事を表示

Hubotを使ってみた

#はじめに
この記事はなんとなくJSとかを勉強している学生がメモ代わりに書いているものです。内容は期待しないでください。

#1.仮想環境を開く
今回はUbuntuで行うのでiTerm2で仮想環境を起動する。

起動したところで
1.Virtual Box(バーチャルボックス)
2.Vagrant(ベイグラント)
という2つのソフトウェアを使った仮想環境でUbuntuを使用します。
cd ~/vagrant/ubuntu
vagrant up
vagrant ssh

Ubuntuがインストールされたディレクトリに移動。vagrant upは仮想的なPCにインストールされたUbuntuを起動するコマンドで,vagrant sshはVagrantの仮想マシンがセットされている状態でSSHに接続します。

#2.botを作る上で必要なモジュールをインストールする

“`npm install -g hubot yo generator-hubot coffee-script
“`
yoとはYeomanという雛形作成ツールです。
generator-hubotはHubot のためのYeo

元記事を表示

Node.js を使ってファイルからデータを読み取ってみた。

#はじめに
この記事はなんとなくJSとかを勉強している学生がメモ代わりに記録しているものです。内容は期待しないでください。

#仮想環境を開く
今回はUbuntuで行うのでiTerm2で仮想環境を起動する。

起動したところで
1.Virtual Box(バーチャルボックス)
2.Vagrant(ベイグラント)
という2つのソフトウェアを使った仮想環境でUbuntuを使用します。
cd ~/vagrant/ubuntu
vagrant up
vagrant ssh

Ubuntuがインストールされたディレクトリに移動。vagrant upは仮想的なPCにインストールされたUbuntuを起動するコマンドで,vagrant sshはVagrantの仮想マシンがセットされている状態でSSHに接続します。

#1.ファイルから読み取るプログラムを書く
“`javascript

‘use strict’;
const filesystem=require(‘fs’);
const readline=require(‘readline’);
const rs =fs.createReadStr

元記事を表示

Raspberry Pi に東京都の新型コロナウイルス感染症対策サイトをインストール

東京都の新型コロナウイルス感染症対策サイトを Raspberry Pi にインストールする方法です。

必要なソフトのインストール

Node.js

“`bash
sudo curl -sL https://deb.nodesource.com/setup_12.x | bash –
sudo apt install -y nodejs
“`

インストールされたバージョン

“`text
$ node –version
v12.16.2
“`

yarn

“`bash
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add –
echo “deb https://dl.yarnpkg.com/debian/ stable main” | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
“`

インストールされたバージョン

“`text
$ yarn –version

元記事を表示

node v12でのnode-gyp rebuildでのエラー

## 環境
macOS Catalina(10.15.4)
node.js v12.16.2

## 発生した問題
`gatsby new`をしようとしたところ以下のようなエラーが発生。

“`
error /Users/gedyra/blog/node_modules/sharp: Command failed.
Exit code: 1
Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
Arguments:
Directory: /Users/gedyra/blog/node_modules/sharp
Output:
info sharp Using cached /Users/gedyra/.npm/_libvips/libvips-8.7.0-darwin-x64.tar.gz
(中略)
In file included from ../../nan/nan_converters

元記事を表示

仮想環境でNode.jsを始めた

#はじめに
この記事はなんとなくJSとかを勉強している学生がメモ代わりに記録しているものです。内容は期待しないでください。

#仮想環境でコンソールを起動する
今回はUbuntuで行うのでiTerm2で仮想環境を起動するよ。

起動したところで
1.Virtual Box(バーチャルボックス)
2.Vagrant(ベイグラント)
という2つのソフトウェアを使った仮想環境でUbuntuを使用します。
cd ~/vagrant/ubuntu
vagrant up
vagrant ssh

Ubuntuがインストールされたディレクトリに移動。vagrant upは仮想的なPCにインストールされたUbuntuを起動するコマンドで,vagrant sshはVagrantの仮想マシンがセットされている状態でSSHに接続します。

#Node.jsを使ってみる
コンソールに
“`node
“`
と入力すると,コンソールがjsを受け付ける状態になります。これはREPLという状態です。
今回実装するディレクトリに保存しているnode.jsのファイルを以下に記述します。
“`’use strict’

元記事を表示

Herokuへのアップロードでつまづいた時の対処法 その② Node.js + MongoDB

先日記述した「Herokuへのアップロードでつまづいた時の対処法」の後編になります。なお、タイトル通りMongoDBを使っていない場合には、この後編を参考にする必要はありません。前編に引き続き、これを見た未来の困っている人たちの手助けになれば嬉しいです。それでは順を追って説明していきます。

前編で記述したprocfileの作成方法や.gitignoreの作成方法をすでに行っている前提で話していきます。

1:HerokuでMongoDBのアドオンを使用するためには、Herokuでクレジットカード情報を登録する必要があります。ただし、お金は一切かかりませんし、メルマガなどの勧誘もありません。登録方法はこちらの方の記事を参考にしてみてください。?https://wp.developapp.net/?p=5250
大体4-5分でできます。

2:登録が完了したらHeroku上の自分のアプリケーション画面に移動します。?https://dashboard.heroku.com/apps

3:今回Herokuへアップロードするアプリを選択しクリックする。

4:画面の上部に表示されて

元記事を表示

knexでdistinct onする方法

>特定のカラムだけdistinctしてーーー!
そしてdistinctしたカラム以外も取得してーーーー!

って時、極稀にありますよね。
RDBに多少でも触れる人生なら一生に3回くらいは遭遇するはずです。

エンジニア歴10年超えにしてやっと実運用ProductでPostgresデビューした私にも、人生で3回遭遇するうちの第一回目が来ました。

knexのドキュメント見てもですね。
「distinct on」サポートしてないんですよ。

http://knexjs.org/

distinct on なにそれ?おいしいの?くらいの勢いでカレーにスルーされてるんです。
Postgresの方言らしいので仕方ないのかな。。

もうこういったRDB固有の方言は、raw使うしか無いようですロー

## knexでdistinct on するには”raw”を使う
“`
knex.select(knex.raw(‘DISTINCT ON (target_colum) target_colum1, other_colum2, other_colum2)
“`

こうすると、target_colu

元記事を表示

amazon-qldb-driver-nodejsからQLDBを使う②(書き込み、検索編)

前回の記事はこちらです
https://qiita.com/shushutochako/items/bbb3ec5f721c57949ea7

## 概要

今回はテーブルへのデータの追加、更新と検索を試してみたいと思います。
AWSの認証などについては前回の記事を参考にして下さい。

また、本記事は公式チュートリアルの内容を参考にしています。
https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started.nodejs.tutorial.html

## moduleのバージョン

今回使用した「amazon-qldb-driver-nodejs」自体や他に必要なモジュールのバージョンは以下のとおりです。
前回の記事の時点ではpreviewでしたが、2020/4のはじめにPre-release版がリリースされたようですね!
正式なリリースも近いのではないでしょうか。

– amazon-qldb-driver-nodejs
– v1.0.0-rc.1
– aws-sdk
– 2.663.0
– io

元記事を表示

【メモ】Raspberry Pi に node をインストール

* Raspberry Pi Model B Plus Rev 1.2

# tj/n をインストール

* [tj/n](https://github.com/tj/n)

“`
$ curl -L https://git.io/n-install | bash
“`

元記事を表示

【Node.js】nvmの導入

# nvmとは?
Node.jsのバージョン管理ツールです。
Node.jsのバージョンによっては互換性がなかったりする為、nvmで管理する。

# 環境
– macOS Catalina
– zsh

# インストール
[公式ドキュメント](https://github.com/nvm-sh/nvm/blob/master/README.md#installing-and-updating)に従いながらインストールする。
以下のコマンドを実行する。

“`zsh
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
“`

**.zshrc**に以下の文を追記しターミナルを再起動すると、nvmコマンドが使えるようになる。

“`zsh
export NVM_DIR=”$HOME/.nvm”
[ -s “$NVM_DIR/nvm.sh” ] && . “$NVM_DIR/nvm.sh” # This loads nvm
“`

バージョンを確認してみる。

“`zs

元記事を表示

如何先开始写出一个程序

#谈谈写出一个方案。
如果你最近一直在做程序,而你认为
我在初中时接触的第一个节目,是我在初中时接触的第一个节目
是N80-BASIC。
我还记得,但下面这句话完全在我的脑海里。

“`N88-BASIC
N88-BASIC

WIDTH 80,25.
CONSOLE 0,25,0,1
LOCATE 0,0
PRINT “HELLO WORLD”
宽80,25
“`

当然,那时,我只是打出了这样的代码。
解释器只显示了一个无机游标。
我找不到任何帮助。

可以这么说,写出一个程序是
今天还是这个样子,他真的是个无精打采的家伙。

那么,这就是今天的话题。
这要从一种新的编程语言、开发环境说起。
所以,节目先生,好像是在问候。
问候是很重要的。

不仅仅是在编程世界,在现实世界中也是如此。
如果一个问候语被理解了,对方就会以某种方式和你交谈。

哪怕你只是在不了解情况的情况下走到他们面前,也是如此。
那你会得到的,是一脸疑惑的表情,或者是一种
最坏的情况下,他们只是送你回去走人。

#过去的故事D,扯远了一点
我第一次去大学毕业旅行的时候,在美国的机场转机。
我把车票放在了我的行李

元記事を表示

How do I start writing out my program?

#Talk about writing out a program.

Talk about writing out my first program.
When I was a junior high school student, the first program I touched was N80-BASIC.
I won’t forget the starting cord, I still remember it, the following sentence was completely in my head.

“`Z80
N88-BASIC

WIDTH 80,25.
CONSOLE 0,25,0,1
LOCATE 0,0
PRINT “HELLO WORLD”
“`

Of course, in the old days of computer screens, there was nothing but a useless, inorganic cursor.

Writing out programs is still the same, and comp

元記事を表示

Puppeteer on Lambda (Node.js 12.x) で日本語ページのキャプチャを取る方法 簡単

## やりたいこと
Lambda上でPuppeteerを動かしてキャプチャを取るとき、日本語フォントを正しく表示させる。
(デフォルトではLambdaに日本語フォントが入っていないため、何もしないと日本語がすべて豆腐になってしまうのだ。)

## 環境
* AWS Lambda
* Node.js 12.x
* ローカル
* Windows10
* Node.js v12.16.2
* npm 6.14.4

## やり方(ざっくり)
* Lambda Layerに日本語フォントをzip化してアップロードする。
* Lambda関数にそのLayerを追加する。
* Lambda関数内でLayerのフォントファイルを参照できるようにindex.jsで`process.env[‘HOME’] = “/opt”;`を定義する。

## やり方(詳細)

“`shell:ローカルのディレクトリ構成
puppeteer_sample
├─ modules # Layerに登録するnpmモジュール群
│ ├─ node_modules
│ └─ packa

元記事を表示

Herokuへのアップロードでつまづいた時の対処法 Node.js + MongoDB

自分の経験をここに記述します。

【経緯】先日、EJS, CSS, JavaScript, MongoDB, Nodeを使って作成したWebsiteをHerokuにアップロードしようと試みた時、正常にアップロードできず、丸2日間の時間を犠牲にした上でようやく問題解決までに至りました。ここで記載することがいつかこれを見た未来の困っている方々への手助けになればと思います。

【方法】ステップに分けて説明していきます。MongoDBを使用している場合には、別の記事でその追加で必要な方法を記述します。

1:Command Line(Hyper Terminal)がアップロードしようとしているファイルのパスを正しく選択しているか確認する。

2:Command Line(Hyper Terminal)からHerokuへとログインする。
コマンド:$heroku login 

3:GitをInitializeし、add、commitする。以下順々にコマンドを実行する。
コマンド:$git init  

コマンド:$git add .

コマンド:$git commit -m “sample

元記事を表示

Node.jsでお天気を取得してみよう

#はじめに
`OpenWeatherMap API`からお天気情報を取得しようという試みです。
色々な方が、さまざまな言語で同様の記事を上げています。
私は、勉強真っ最中の`Node.js`でやってみようと思いました。
[(Node.jsの導入はこちら)][node]

#環境
`wsl`の環境です。

“`
Editor: VSCode
Shell : bash version 4.4.20
Ubuntu: 18.04.4 LTS
node : v10.14.2
“`

#1.APIの取得
[OpenWeatherMap][owm]の公式サイトで無料アカウントを作成後、
表示されるAPIキーを控えておいてください。
APIキー取得後は少し時間をおいてか試したほうがいいと思います。
公式もそういってますし。

#2.プロジェクトを作成
##1.任意の位置(緯度経度)のお天気情報を取得
とりあえず福岡市にしてみました。

“`js:app.js
‘use strict’;

const http = require(‘http’);
const MY_WEATHER_APIKEY

元記事を表示

Herokuを使ってみた

#はじめに
適当にJSとかwebアプリケーションを勉強している学生が記録するために使っているので,あまり内容は期待しないでください。とりあえず今回はHTTPサーバをHerokuを使って公開してみます。

#1.Herokuとは
webサービスを動かせるプラットフォームを提供してるサービスらしい。小規模なら無料で使えるとのこと。

#2.Herokuのアカウント作成
とりあえずアカウント作成
https://jp.heroku.com/
でいろいろ個人情報を流出してきます。

ここで開発言語を選択するらしいですがまぁJS程度しかやってないのでNode.js一択ですね。

ドラえもんが引っかかってしまう私はロボットではありませんチャレンジをクリアしてメールアドレス認証。パスワード設定したら登録完了です。いやぁ非常にスムーズ,毎回どこかでつまづくんじゃないかと冷や冷やしながら登録してます。

#3.Heroku CLIをインストール
順番がゴチャゴチャしてきましたがherokuコマンドを利用しなきゃと思ったらHeroku CLIが必要らしい。まぁあるあるというか常識なのだろう。今回はUbun

元記事を表示

Dockerでの環境構築(Rails)超入門1

## はじめに
Ruby on Rails初心者です。今回はDockerを使ったRailsの環境構築の初歩を勉強のために備忘録として残したいと思います。
## 前提
DockerでRailsの開発環境を行う
※あくまで開発環境を構築するためだけの超入門であるため、DBや細かい設定等は次回以降投稿する

## 手順
Dockerはインストールしていることが前提
1. Dockerfile, docker-compose.yamlの作成
2. Dockerのコンテナを起動
3. Railsの設定
4. Node.jsの設定
5. Yarnのインストール

## 実践
1. Dockerfile, docker-compose.yamlの作成

・ディレクトリを作成(今回はDocker/practice)

“`
$ cd Desktop
$ mkdir docker
$ mkdir practice
$ cd practice
“`

・Docker hubで「ruby」を検索し、バージョンを確認

・Dockerfile作成

“`
FROM ruby:

元記事を表示

OTHERカテゴリの最新記事