- 1. nodist
- 2. 家計簿のデータをNode.jsでスプレッドシート連携してみた
- 3. NodejsからArduino IoT Cloudを操作するためのメモ
- 4. AzureAppServiceにVueやReactのアプリがうまくデプロイできない問題
- 5. まいばすけっとのレシートをtesseract.jsでOCR読み込みしてみる
- 6. ibm cloud functionsを使ってみた(決まった時間に、ローカルで動いているAPIをコール)
- 7. Node.js + TypeScript からC++のライブラリを呼び出す
- 8. Node.js + fastify + TypeScript + SwaggerでRESTサーバを構築する
- 9. DIY Mini PCB Ruler(DIYミニPCB定規)
- 10. Shopify App CLIとNode.jsを使用してShopifyアプリを構築する
- 11. 【BTP】SAP Feature Flags Serviceを使ってみた
- 12. 【Node.js】ExpressとPassport.jsで認証機能を実装する
- 13. AWS初心者がNodejsで作ったLineBotのインフラを構築してみた
- 14. opnizでつくる「CO2センサ(MH-Z19C)データのGoogle Spreadsheetsロギングシステム」
- 15. nodeでhttpサーバーが立ち上がらなくて四苦八苦した話
- 16. Raspberry PiにNode.jsのインストールをして起動時に自動実行させるまで
- 17. Vuetifyで速攻でTodoアプリを作るチュートリアル
- 18. 使いたいポートが既に使用されている場合の犯人探しと対処法
- 19. 【Typescript】tscコンパイル時のエラー
- 20. REST APIをExpressで実装する際にrequestのスキーマvalidation・sanitizationをするには?
nodist
# はじめに
開発するシステム毎に特定のNode.jsのバージョンが指定されている場合がある。
nodistを使うとバージョンを切り替えられるので便利でした。
しっかし、最新バージョンで動くようにメンテしておいて欲しいですわ!
ダウンロードサイトと基本的なコマンドを記録しておきます。# ダウンロードサイト
https://github.com/nullivex/nodist/releases# コマンド
“`bash
nodist
nodist -v
nodist install バージョン
nodist npm match
nodist rm バージョン
“`
家計簿のデータをNode.jsでスプレッドシート連携してみた
この記事は[レコチョク Advent Calendar 2021](https://qiita.com/advent-calendar/2021/recochoku)の11日目の記事となります。
# はじめに
はじめまして、最近サウナにどハマりしている株式会社レコチョクの酒見です。
サ活こそ正義ですね。
私も音楽が好きで有名どころしか知らないかもですが、学生時代からいろんな名曲や
アーティストの音楽と共に過ごしてきました。
BUMP OF CHICKEN / ELLEGARDEN / ONE OK ROCK / UVERworldあたりが大好きで、泣かされたり背中を押されたりテンションを上げてもらったりと、思い入れが特に強いです。(世代がわかってしまうかもですね)そんな私は、普段はサーバサイドエンジニアとしてPHPを触る機会が多いんですが
今回はNode.jsを使用して、Google スプレッドシートへのデータ連携を作ったことを書きたいと思います。# 前提として
私はスプレッドシートを家計簿代わりに使っています。
PCから入力する分には気にならなかったのですが、スマホからの
NodejsからArduino IoT Cloudを操作するためのメモ
# はじめに
Arduino IoT Cloudを課金プランにすることでNode-REDで操作できることを確認したので、今回はNode.jsからそのまま操作できるか確かめた。# 結論
wrapperコードを使いつつもLチカで動作確認できた。# 準備
**重要:APIキーを取得する都合から、今回はArduino IoT Cloudの課金プランを使用する。最低でも400円/月弱の課金が必要。**一応課金プランからFreeプランに戻すのは可能。
– Arduino IoT Cloudアカウント(Entryプラン以上)
– [Arduino MKR Wifi 1010](https://www.switch-science.com/catalog/7384/)
– ブレッドボード
– [抵抗付きLED(秋月電子通商)](https://akizukidenshi.com/catalog/g/gI-16687/)
– node.jsが使える環境(今回はv14.17.3を使用した。nodebrew/nodist等で切り替えて使用してもOK)# 知識的な前提
– Freeプランでも
AzureAppServiceにVueやReactのアプリがうまくデプロイできない問題
# はじめに
こんにちは。先日、[ハッカソンリーグ2021 -ルーキーリーグ](https://mashupawards.connpass.com/event/225670/)というハッカソンに参加してきました。
「azure製品を使いたおして、”ポストコロナの〇〇”をつくりだそう!」というハッカソンです!
シェアハウスの友達と4人でwebサービスを作成し、なんと、優秀賞をいただくことができました!!! ?????今回は、サービスを作成するにあたって,デプロイ時に**どハマった**ことを記事にしました。
同じ問題で時間を食い潰される方がでないように祈りを込めて……# 要約
– 表題の問題が出たときは、以下のコマンドを、スタートアップ コマンド に設定しよう
“`shell
pm2 serve /home/site/wwwroot –no-daemon –spa
# or
pm2 serve /home/site/wwwroot/build –no-daemon –spa
“`# 何が起こったか
– いつも通りvueプロジェクトを作成、ローカ
まいばすけっとのレシートをtesseract.jsでOCR読み込みしてみる
スーパーといえばレシートが発行されると思いますが、このデータを上手く読み込んでテキスト情報にできないか試してみたいと思ったのでトライしてみます。
調べるとよく出てくるtesseract.jsを使ってみたいモチベもありつつ、アドベントカレンダー間に合わせよう的な勢いで執筆しています。
https://www.npmjs.com/package/tesseract.js
## レシートの写真はグーグル先生がいっぱい持っている
もう最寄りのまいばすけっとが閉まっている(現在23:30)のでグーグル先生に画像を貸してもらいます。
> ![スクリーンショット 2021-12-10 23.27.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/cd362447-b348-690d-224a-e3848d381606.png “スクリーンショット 2021-12-10 23.27.49.png”)
## tesseract.jsを試す
無料で試せるのが良いですね!
“`
npm i
ibm cloud functionsを使ってみた(決まった時間に、ローカルで動いているAPIをコール)
# はじめに
メールの定期送信を行いたいという要件があり、ibm cloud functionsを使ってみたのでその覚書を記しておきます。今回はfunctionsを使って決まった時間に、ローカルで動いているAPIをコールする部分を作りたいと思います。
## ibm cloud functions
サービスからfunctionsを選択し、「作成の開始」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227613/2396082e-3d54-b9b5-6bbc-37df3b4c2a5d.png)おそらく初めて使う場合は、名前空間を作成することになりますが、ここでは割愛します。
この画面で、fuctionsのコンポーネントを作成していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227613/8a43e956-559a-9018-41d9-ead1bb0ff
Node.js + TypeScript からC++のライブラリを呼び出す
# 目的
– Node.jsからC++のライブラリをコールしたい
– node-gypを使えばできるっぽいが、どのサンプルも動かない・・・(当方intel Mac / Big Sur)
– v8のAPIが色々変更してるっぽい。最新環境で動作確認できるサンプルが欲しい# 成果物
とりあえず作ってみたサンプル一式は以下です。
https://github.com/swmokyun/sample-node-gyp# 環境
– intel Mac
– macOS Big Sur (11.6)
– Node.js 14# Cまわりのセットアップ
以下を参考にCをビルドできる環境を作っておく
https://github.com/nodejs/node-gyp#installation# nodeまわりのセットアップ
– Node.js 14 を動作できるようにする。自分はnodebrewを使って切り替えています。
– 以下をyarnで追加”@types/node”: “^16.11.12″,
”node-gyp”: “^8.4.1″,
”ts-node-dev”: “
Node.js + fastify + TypeScript + SwaggerでRESTサーバを構築する
# 概要
Node.js、fastify、TypeScript、Swaggerで簡単なサンプルを作ってみたので共有します。
サンプルコード: https://github.com/swmokyun/sample-fastify-typescript-swagger# 目的
– とにかくラクにRESTサーバを作りたい
– pythonでもいいけどフロントエンドでNext.jsとかつかうからNode.jsで言語を統一したい
– TypeScriptで型の恩恵を受けたい
– SwaggerでRESTスキーマまわりのあれこれをラクしたい# expressよりfastifyがいいらしい
Node.jsでサーバといえばexpressと思ってたけど、最近ではKoa.jsとかfastifyが有力候補らしい。fastifyの方がtypescriptまわりがいい感じにサポートされているっぽいのでこっちをチョイス。https://www.fastify.io/docs/latest/Getting-Started/
# fastify-swaggerがいい感じ
調べた感じではfastify-s
DIY Mini PCB Ruler(DIYミニPCB定規)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/4ba46783-0ae5-716f-b8c7-64140dda8d50.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/1e196c04-19a9-60b6-c6a7-a57602f1e061.png)
![s
Shopify App CLIとNode.jsを使用してShopifyアプリを構築する
## この記事を書こうと思った背景と、記事を読ん得られるもの
- Shopifyアプリを構築する必要があったので、その手順と備忘録です。
- ハマった箇所があったのでその説明
– 結論だけいってしまうと、Node 17で構築しようとするとエラーがでるので、公式推奨の16.13.1にすべき(21年12月時点)
- Nodeバージョン変更するのに便利なツールを紹介します## 記事の対象者
– Shopifyアプリ構築者
– 未来の自分## 環境
– MacOS 10.15.6
– Node 17.2.0 => 16.13.1に変更
– Homebrew 3.3.7## 参考にした記事・動画
#### Shopify Japanが出してる動画
– 2021年12月現在で、少し古い内容だが全体像をつかむのにためになる。動画内で叩くShopifyAppCLIコマンドが少し古いので、その場合は公式ドキュメントを読んで確認をする。
– https://www.youtube.com/watch?v=2zDFNS6r1aQ&t=4259s
– https://www.
【BTP】SAP Feature Flags Serviceを使ってみた
この記事は [SAP Advent Calendar 2021](https://adventar.org/calendars/6252) の12月10日分の記事として執筆しています。
# はじめに
今回、SAP BTP Trialで利用できるサービスのなかからSAP Feature Flags Serviceを使ってみました。
Help Portalのドキュメントは[こちら](https://help.sap.com/viewer/2250efa12769480299a1acd282b615cf/Cloud/en-US/d485374a71a149a7ba96b7403985a1a6.html)## Feature Flagとは?
> アプリケーションを再デプロイまたは再起動せずに新しい機能を有効または無効にできます。とあるように、「コードを書き換えることなく動的にシステムの振る舞いを変更できる」開発手法です。
アプリケーションの外部にフラグを持つことで機能のON/OFFを切り替えることができます。あらかじめアプリケーションからFeature Flagの状態を参照する
【Node.js】ExpressとPassport.jsで認証機能を実装する
#はじめに
普段はVue.js, Nuxt.jsに使っている者です。最近バックエンド側の知見も得ようということでExpressで個人アプリを作っているのですが、ログイン・ログアウトの実装において初めてPassport.jsというモジュールを使ったので忘れないうちにメモします。実装の過程で躓いた箇所や不明で調べた箇所を実装コードとともに解説をしていきます。
“`javascript:server.js
if (process.env.NODE_ENV !== “production”) {
require(“dotenv”).config();
}
const express = require(“express”);
const app = express();
const bcrypt = require(“bcrypt”);
const passport = require(“passport”);
const methodOverride = require(“method-override”);
const flash = require(“express-flas
AWS初心者がNodejsで作ったLineBotのインフラを構築してみた
# AWS初心者がNodejsで作ったLineBotのインフラを構築してみた
## 概要
専門学生1年生なので大目にみてください…。
今回は、ApiGatewayをトリガーにLambdaを動かしてその結果をApiGatewayに返してくれるという単純なものです。## インフラ構築
### Lambda作成
linebotという名前で関数を作ります。
![eb4f8059-38e4-467e-98a3-b3f28c195817.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2286850/d58e184f-3845-ad54-e768-0d1a45c260d4.jpeg)作成できたら、LineBotのプログラムをzipファイルにして上げます。
ちなみに作成した初期の呼び出す関数は、indexのhandlerになっているので適切に設定する必要があります。### ApiGateway作成
ApiGatewayのHTTP APIを作成します。
名前はLineBotApiにしました。
![e0
opnizでつくる「CO2センサ(MH-Z19C)データのGoogle Spreadsheetsロギングシステム」
![image](https://user-images.githubusercontent.com/22117028/145237900-e3b310b2-dbff-4a48-be62-bf1ab709a4a1.png)
# はじめに
こんにちは。田中みそです。
**「[opniz](https://github.com/miso-develop/opniz)」**という[obniz](https://obniz.com/ja/how_obniz_works)っぽいことができるオープンソースIoTフレームワークを作って公開しています。![image](https://user-images.githubusercontent.com/22117028/145335374-e809e1ec-b614-44a5-9d21-b45bd01f5b72.png)
最近WebSocketに対応したv0.2を公開し、家でopnizにて実際に運用しているおうちハックデバイスのv0.2化対応を行いました。
そのうちのひとつをopnizの作例として紹介したいと思います。# CO2センサ
nodeでhttpサーバーが立ち上がらなくて四苦八苦した話
#概要
同僚とWebアプリを開発しているときに、環境差分でトラブルに見舞われることはよくあると思うのですが、自分の場合なかなか原因が掴みづらかったので、解決に至った手順を書こうと思います。#エラー内容
“`
Error: listen EADDRINUSE: address already in use 0.0.0.0:8081
“`
8081ポートがすでに使われているから、nodeでサーバー立ち上げられないよ。というエラー。
ですが、ここの問題に取り組む前にnodeの環境揃えとかんと話にならないということで、nodenvを使ってバージョンを揃えます。#nodenv導入
MacOSを利用しているので、zshで実行しています。“`terminal
brew install nodenv
“`
nodenvをインストールしてから以下のコマンドを実行します。“`terminal
eval “$(nodenv init -)”
“`次に、カールでこちらを実行します。
“`terminal
$ curl -fsSL https://github.com/no
Raspberry PiにNode.jsのインストールをして起動時に自動実行させるまで
[Node.jsアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/nodejs)の9日目の記事です。
ラズパイでNode.jsを動かすをたまにやりますが、久々に触った時に忘れてることが多いので久々に触る時用にまとめておきます。
[昔書いてた記事](https://qiita.com/n0bisuke/items/2c89610fd704e806c758)よりもシンプルでした。
ラズパイにNode.jsをインストール -> 永続化 -> 自動起動 みたいなところまでをやります。
## 事前準備
vimは使いたいのでインストールしておきます。
“`bash
$ sudo apt update -y
$ sudo apt upgrate -y
$ sudo apt install vim -y
“`## nodebrewでNode.jsのインストール
Node.jsをnodebrew経由でインストールします。
### nodebrewのインストール
“`bash
$ curl -L git.io/nod
Vuetifyで速攻でTodoアプリを作るチュートリアル
# 初めに
はじめましてKouと申します。
仕事でVuetifyを使う機会があったので備忘録と共有を含めて簡単なTodoアプリを作る方法を紹介します!これでVuetifyの便利さが伝わったらいいなという思いを込めていきます!
完成リポジトリ:https://github.com/KouWakai/VuetifyTodo
### 完成イメージ
これが大体30分くらいで作れます
![822e1060d6778fa606f510a0cb801a75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/763385/ba17f265-64d0-d81b-a415-77d7cf3ec988.png)
# このチュートリアルで必要なもの
Vue-cliとVuetifyのcliパッケージのみです。
次の環境構築でインストール方法は解説します。
nodejsはOSによって違うのと先人がわかりやすいやり方を解説してくださっているのでそちらでお願いいたします以下リンクです。
・[nodejs](https
使いたいポートが既に使用されている場合の犯人探しと対処法
## まず結論
以下のコマンドを実行すればOK ※実行環境はUbuntu(Linux)です
“`sh
lsof -i:<対象のポート>
# ex.)
lsof -i:4324# 実行結果
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 19053 user 24u IPv4 61691518 0t0 TCP localhost:4324 (LISTEN)# プロセスを削除
kill 19053
“`## 発生した経緯
開発中にNode.js(nodemon経由)のアプリがバックグラウンドで実行されてしまった。
気がつかずに新たにNode.jsのアプリを実行したところ、以下のエラーが発生
“`
Starting inspector on 127.0.0.1:4324 failed: address already in use
“`割とやってしまうのでメモとして残します。
【Typescript】tscコンパイル時のエラー
TypeScriptの勉強をしようと、
nodeのバージョンが12だったので、グローバルで16に上げたんですが、
tscコンパイラ時に下記のエラーが出てしまいました。“`
../../../node_modules/@types/react/index.d.ts:239:10 – error TS2456: Type alias ‘ReactFragment’ circularly references itself.239 type ReactFragment = {} | Iterable
;
~~~~~~~~~~~~~../../../node_modules/@types/react/index.d.ts:239:31 – error TS2304: Cannot find name ‘Iterable’.
239 type ReactFragment = {} | Iterable
;
~~~~~~~~../
REST APIをExpressで実装する際にrequestのスキーマvalidation・sanitizationをするには?
## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n1ab6813fdcbc
**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**