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

Node.js関連のことを調べてみた2020年08月10日
目次

node.js + GitHub + Travis CI + Code ClimateでCI入門

## はじめに

この記事は、JavaScript開発でCI環境を導入するためのガイドです。
もしCI環境の導入に興味を持ったら、この記事を土台にみなさまの環境にあったCI/CDへ発展させてください。

### 対象となる読者

– JavaScriptで開発をしている
– CIという言葉を聞いたことがある
– テスティングフレームワークを使ったことがない
– バグ修正をしたら別の箇所でバグが出た
– 依存パッケージの更新作業に負担を感じる

この記事は、テスト自動化やCIに興味はあるが、まだ導入したことがない開発者を対象としています。

### 対象とする環境

– node.js 12.18.3
– jest 26.0

## CIとは / テスト自動化とは

[CI (Continuous Integration / 継続的インテグレーション)](https://www.redhat.com/ja/topics/devops/what-is-ci-cd)とは、短期間で開発ブランチを統合し続ける開発手法です。グループ開発では、開発者がそれぞれ作業ブランチを抱えます。その作業ブランチ

元記事を表示

AWSサーバレスで(SPAではなく)画面遷移型のWebアプリをつくる

# 経緯
AWSサーバレスを採用してWebアプリ(画面)を作ることになりました。コンシューマ(一般ユーザ)向けの画面ではなく、企業向けの管理画面です。

メンバーの皆さんにReactとかを学んでいただく時間的な余裕はなかったため、SPAではなく、メンバーの皆さんに経験のある「画面遷移型」の構成にしました。

ただ、AWSサーバレスで画面遷移型のWebアプリを作る、という事例を見つけることができず、実現方式をあれこれ考える必要がありました。構成が固まるまでに悩んだことや、自分なりの解を記事にすることで、同じようなことに悩まれている方のヒントになればと思ってます。

# アーキテクチャ

スクリーンショット 2020-08-08 21.04.25.png

ポイントは以下のとおりです。

* Lambdaでは[aws-

元記事を表示

【GCP】【Firebase】 「Could not load the default credentials.」と出た場合の対処

#概要
Google Cloud Functions(Node.js)を実行したときに、GoogleAuthで「Could not load the default credentials.」と出た場合の対処方法

#コード

こんな感じのコードで、

“`js
const { google } = require(‘googleapis’);
const auth = new google.auth.GoogleAuth({
scopes: [‘https://www.googleapis.com/auth/cloud-platform’],
});
const authClient = await auth.getClient();
google.options({ auth: authClient });
“`

こんな感じのエラーが出る場合、

“`
Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentica

元記事を表示

Laravel npm run devでエラーが発生した話

# 目的

– npmを用いて必要パッケージを取得後に`$ npm run dev`を実行したらエラーが発生した話をまとめる

# 実施環境

– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– ソフトウェア環境

| 項目 | 情報 | 備考 |
| — | — | — |
| PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
| Laravel バージョン | 7.0.8 | commposerを用いてこちらの方法で導入→[Mac Laravelの環境構築を行う](https://qiita

元記事を表示

jestでテスト

##jestとは
Node.jsをテストするためのライブラリ
<公式ドキュメント> https://jestjs.io/docs/en/getting-started

※Node.jsのテストアプリとしては、他にもmocha(https://mochajs.org/ )が有名。

##テストコードが必要な理由
・開発の時間短縮。コードを変更した後でも、テストコマンドを打つだけで自動的にテストしてくれる
・より信頼性の高い(バグの少ない)コーディングができる
・リファクタリングや機能の追加・削除が簡単にできる

##アプリをテストするための準備
●jestのインストール

“`
npm i jest
“`
※npmでのjestのページ ( https://www.npmjs.com/package/jest )

●テスト用の環境を設定する
※本番用の環境がすでに「dev.env」にまとめられている場合

・ファイル構成

“`
└── App
├── config //環境を保存するフォルダ
| ├── dev.env //本番

元記事を表示

Node.jsでmysqlのDate型が勝手にDatetime型で取得される問題を解決する

はじめに

Node.jsドドド初心者です。ローカルで動くDBの情報を表示する簡単なアプリを作成しようと思い立って作ったのですが、思わぬところで落とし穴があったので、それについての覚え書きです。
Node.js Expressで、mysqlを操作している際に発生した事象です。

DATE型がDATETIME型として取得されてしまう

今回表示するテーブルは非常にシンプルな情報で構成されていました。

“`
table名 : youtube
+—-+————+—————————————————————–+
| id | date | title |
+—-+————+—————————————————————–+
|

元記事を表示

【Node.js】APIサーバからマイクラ鯖をコントロールしよう #1

# はじめに
会員(友人)制のMinecraftの鯖管をやっている筆者であるが、稼働率が高くすぐ負荷に耐えられなくなり、よくサーバの再起動を命ぜられる?

以前はPHPでAPIとWebサイトを簡易的に作り、ログイン式のWebサイトから再起動やバックアップの作成を行えるようにして鯖管をサボっていたわけですが、今回そのAPI部分を`Node.js`+`TypeScript`+`Express`で新規機能を追加しながら作成してみたいと思います✨

このソースコードはGitHubに公開しているので、修正点やアドバイス等があれば是非プルリクをお願いします。またMITライセンスにしておりますので、どうぞご自由にお使いください!

[GitHub ー smpny7] (https://github.com/smpny7/jokura-api)

# 仕様
基本的には以下のことができるAPIサーバを作成する。(予定)

– サーバ稼働状況やバージョンの取得 **← 今回**
– オンラインメンバーの一覧取得 **← 今回**
– Discordへのエラー通知とDBへのログの保存
– サーバアイコンの

元記事を表示

Vue.js+Node.js+MongoDBで簡単なクライアントサーバシステムを作ってみた

この記事は株式会社富士通システムズウェブテクノロジーが企画する[いのべこ夏休みアドベントカレンダー 2020](https://qiita.com/jugemsan/items/5761773308fb1df0c23a)の10日目の記事です。本記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません。

## はじめに
Vue.jsとNode.jsを使い、MongoDBに登録された今までに読んだ本の名前をブラウザで確認できるアプリケーションを作りました。
どんな本を読んだか把握しやすくすることで今後の勉強に役立てたいと思います。

## 環境
以下は使用するソフトウェアのバージョンです。
OSはWindows10 Enterprise バージョン1809です。

“`
$ node -v
v12.16.1
$ npm -v
6.13.4
$ vue -V
@vue/cli 4.4.6
$ mongo
>db.version()
4.2.8
“`

## 事前準備
– Node.jsとMongoDBのインストールをして、データベースに本のデータを登録します。

#

元記事を表示

Vue-CLI 3でnpm run serveが失敗するときの解決方法

## 事象
Dockerコンテナ内の環境にて、`npm run serve`を実行すると、下記のようなエラーが発生していました。

“`bash
ERROR Failed to compile with 2 errors

This relative module was not found:

* ./src/main.js in multi (webpack)-dev-server/client/index.js (webpack)/hot/dev-server.js ./src/main.js, multi (webpack)/hot/dev-server.js (webpack)-dev-server/client/index.js ./src/main.js
“`

### 環境
– Microsoft Windows 10 Pro
– Docker for Windows
– Visual Studio Code
– node.js : 12.18.2
– npm : 6.14.5

## 原因
筆者の場合、`npm install`を実行しても`package.jso

元記事を表示

さくっとDenoを試してみる

# Denoの特徴
– JavascriptとTypescriptの実行環境
– Typescriptのコンパイラを内包している(tsc-,ts-nodeなど不要)
– 標準ライブラリーは非同期処理にPromiseを採用
– 実行時に必要な権限のオプション指定が必要
– モジュールの扱いがNode.jsと異なる
– etc

## 環境構築

### Docker
こちらのイメージを使用します。
https://hub.docker.com/r/hayd/deno

“`dockerfile:Dockerfile
FROM hayd/alpine-deno:1.2.2

# Prefer not to run as root.
USER deno

# Cache the dependencies as a layer (the following two steps are re-run only when deps.ts is modified).
# Ideally cache deps.ts will download and compile _all_ external

元記事を表示

Node.js の再インストール

Nodeがおかしくなった

“`

$ node
Illegal instruction
“`

# 環境

2020-02-13-raspbian-buster-lite

# 既存の Node.js

「Linux 環境に Node.js インストール」
https://qiita.com/nanbuwks/items/ed8adb2d4324c939a349
の通り、以下のようにインストール

1.Linux ディストリビューションの公式パッケージで Node.js と npm を入れる
2.npm install で最新の Node.js を入れる
3.古い Node.js を削除する

# 削除

node のインストール先を調べる
“`

$ which node
/usr/local/bin/node
“`

ファイル削除

“`

$ sudo rm -rf /usr/local/bin/node
sudo rm -rf ~/.npm

“`
削除できたかな?

“`
$ npm
/usr/bin/env: ‘node’: No such file

元記事を表示

Linux 環境に Node.js インストール

いろんな Linux 環境に Node.js をインストールした記録

# 方針

「Ubuntuに最新のNode.jsを難なくインストールする」
https://qiita.com/seibe/items/36cef7df85fe2cefa3ea
を参考に、以下の方法を採ることにした。

1. Linux ディストリビューションの公式パッケージで Node.js と npm を入れる
1. npm install で最新の Node.js を入れる
1. 古い Node.js を削除する

# 検証環境

– Ubuntu14.04 (2020/07に実行)
– Ubuntu18.04 (2020/08に実行)
– 2020-02-13-raspbian-buster-lite (2020/07に実行)

# Linux ディストリビューションの公式パッケージで Node.js と npm を入れる

“`

$ sudo apt update
$ sudo apt install nodejs npm
$ sudo node -v

“`

ここで、 Rasp

元記事を表示

Mac セットアップ(2)

# コマンドラインインストール

## brew

https://brew.sh/index_ja

“`zsh
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”
“`

途中でXCodeのインストール確認があるのでEnterを押す

## Node

nodebrewでバージョンを管理したい

“`zsh
brew install nodebrew
“`

途中経過

“`zsh
Updating Homebrew…
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
osm
==> Updated Formulae
Updated 10 formulae.

==> Downloading https://github.com/hokaccha/nodebrew/archive/v1.0.1.tar.gz
==> Downlo

元記事を表示

【今日から始めるAWS】LambdaでLINEのbotをつくる

#はじめに
30代未経験からエンジニア転職をめざすコーディング初学者のYNと申します。お読みいただきありがとうございます。
コーディング初学者にとってのAWS入門といえば`Lambda`!、サーバレスアプリを作ろう!、ということでメッセージをオウム返ししてくるLINEのbotをつくりました。
下記参考記事をそのままコピーした内容になってしまったのですが、学習ログとして投稿させていただきました。

* [LambdaではじめてのLINE Botを作る](https://dev.classmethod.jp/articles/lambda-line-bot-tutorial/#toc-2)
* [AWS Lambdaを使ってLINEBotを作ってみよう!](https://qiita.com/shinbunbun_/items/ae09364504002d0c25f1)

#今回やったこと
下記のように、こちらが送ったテキストメッセージをそのまま返答してくれる、オウム返しbotを作ります。
スクリーンショット 2020-08-08 11.16.4</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Node.js</div>
<div class='tag-cloud-link'>AWS</div>
<div class='tag-cloud-link'>初心者</div>
<div class='tag-cloud-link'>lambda</div>
<div class='tag-cloud-link'>linebot</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/theFirstPenguin/items/8168e8ba3d65e34c24e0'>元記事を表示</a></div>
<h3 id=bottlejs hello ?

#動機
自作のSPAをスクラップ&ビルドするので今度はDIを使ってみようと思ったけどinverify はなんだか面倒くさそうなので bottlejs を使う。

#前準備
Webpackとnpm install –save bottlejs とかやっておいた。

#実装
“`html:index.html




Kamishibai framework