- 1. はじめに
- 1.0.1. 暮らしを良くするIoT① 〜テレビに近づくな!〜
- 1.0.2. M1 Mac node.js v15 と Intel Mac node.js v14 で package-lock.json の lockfileVersion が違う
- 1.0.3. Node.jsでSMSをバッチで送信
- 1.0.4. 【Windows】WSL2+Ubuntu+Node.jsの環境構築
- 1.0.5. ElectronでGeoPackageを使う
- 1.0.6. 「エンジニアに向いている人」はGitHub user内にどれぐらいいるのか
- 1.0.7. EC2(AmazonLinux2)でnode.jsを起動するまでの過程記録(nodemonを使う)
- 1.0.8. 3分でできる Node.js + TypeScript + Jest プロジェクトの雛形作成
- 1.0.9. Markdown正規表現全文検索ツール「Note-CLI」をリリースしました。
- 1.0.10. Node.jsを勉強する⑤ – JSONファイルの書き込みと読み込み
- 1.0.11. 園バス待ち中、忘れ物今取りに帰っても大丈夫?が目に見える仕組み!
- 1.0.12. 楽天ブックスゲーム検索APIから取得した情報を元に愛らしい?キャラ達に記事を書かせてワードプレスに自動投稿する
- 1.0.13. nodebrew による Node.js の利用
- 1.0.14. GoogleAPIをNode.jsから叩いてみた
- 1.0.15. 【アプリ開発 2】【Node.js JavaScript MongoDB】 JavaScriptを用いて端末の現在地を取得する。【2021年1月】
- 1.0.16. 【Node.js】開発に必要な基礎知識まとめ
- 1.0.17. Nodejs Eslintの初期化設定で失敗した時の対応方法
- 1.0.18. node.jsにnodemonをインストールするが動かない人へ
【備忘録】puppeteerでurl取得
ご無沙汰してます。おおのんです。
URL取得する方法メモ。
現在ページのURLが期待値と比較したいけど、なぜか取得できない。“`javascript:url取得できない例
let puppeteer = require(“puppeteer”);
let browser;
let page;beforeAll(async () => {
browser = await puppeteer.launch({
args: [“–disable-web-security”],
headless: false,
slowMo: 30
});
page = await browser.newPage();
jest.setTimeout(20000);
});afterAll(() => {
browser.close();
});describe(“TEST”, () => {
test(“toMypage”, async () => {
// 画面移動
await page.goto(“http://loc
メール機能ってどうやるの?amazonSES編
はじめに
前回に引き続き、メール機能について学習したのでアウトプットしていきます
今回はAmazon SESを使っていきます
Amazon SESを使う前提として>- [AWS にサインアップ](https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/sign-up-for-aws.html)
(AWSアカウントをすでに作成済みの方はOKです!) >- E メールアドレスまたはドメインの確認(ID検証)
Amazon SES の使用を開始した時点では、E メールを送受信するためには、Amazon SES メールボックスシミュレーターと検証済み E メール ID のみであるためです。
[今回はEメールアドレス検証を行っていきます。](https://console.aws.amazon.com/ses/)(ドメインの場合も同様)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws
暮らしを良くするIoT① 〜テレビに近づくな!〜
はじめての投稿です。
今年は母艦もMacBook Pro M1 にしたので(10年ぶりのmac更新)
発信を積極的にしてみようかなという目標です。仕事でIoTデバイスの開発をしていますが、
自分の子供たちにも電子工作ちっくなものに触れさせようという事で
「暮らしを良くするIoT」と銘打ち、
自宅の困った事を電子工作を使って解決していこうと思いました。
##困りごと
子供がテレビの近くから離れない。目が悪くなる!
##解決方法
テレビに近づいたら怒られるようにする。(怒り疲れたので)
##設計
手持ちのデバイスを色々見回して、下図のような感じで設計。
![001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/920910/598b87ab-9b89-6cc3-955b-65636018815e.png)| 使用デバイス | 用途 | 備考 |
|:———–|:————|:————|
| RaspberryPI 3B+ | ハブ
M1 Mac node.js v15 と Intel Mac node.js v14 で package-lock.json の lockfileVersion が違う
Apple Silicon M1 arm64 aarch64 Mac 環境の node.js v15 では、
npm v7 によって package-lock.json が `”lockfileVersion”: 2` になる。従来の Intel x64 amd64 Mac 環境などの node.js v14 では、
npm v6 によって package-lock.json が `”lockfileVersion”: 1` になっていた。v14 と v15 を併用する場合は、npm のバージョンを揃えたほうが良さそう。
当面 production で npm v6 を使うなら“`sh
npm install -g npm@6
“`として、M1 Mac 側を v6 にダウングレードすることで、バージョンを揃えることができる。
Node.jsでSMSをバッチで送信
このポストで簡単なSMSバッチ送信方法を紹介したいと思います。
最近SMS送信できるAPIが増えてきていると思いますが、大体1通ずつの送信になっています。APIを提供されている会社の中、Vonageという会社があります。VonageのSMS APIも1通ずつの送信になっていますが、バッチ送信のサンプルコードも提供しています。このサンプルを使ってみようと思っています。[https://github.com/nexmo-se/simple-sms-blaster](https://github.com/nexmo-se/simple-sms-blaster)
![Screen Shot 2021-01-07 at 15.39.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/683316/6494598b-1ce4-4454-afb5-6cf28579efc1.png)
このサンプルはNode.jsで書かれていて、マイクロサービスとしてデプロイするのは簡単にできると思います。このSMSバッチ送信サ
【Windows】WSL2+Ubuntu+Node.jsの環境構築
「Windowsマシンしか持っていないしMacを買う金銭的余裕がない…でもちゃんとした環境でWeb開発がしたい」ということで、Windows環境でもLinuxベースの開発環境を構築する方法を備忘録がてら書いておきます。
今回、React本である『りあクト!』という書籍を参照し、環境構築を進めていきます。
## なにはともあれWSL2をインストールしよう
「WindowsでWeb開発なんてオワってる」と言われて久しい昨今、そんな状況を打破するためにMicrosoftが本気を出し、Windows上でLinuxを触る際のシステムを大幅アップデートしてくれました。その名も**WSL2(Windows Subsystem for Linux 2)**![WSL 1 と WSL 2 の比較](https://docs.microsoft.com/ja-jp/windows/wsl/compare-versions)
要約すると、**省メモリかつ高速で、完全なLinuxカーネルがWindows上で動く**ようになったとのこと。
WindowsでUNIX系OSを触りたい場合は、このWSL2
ElectronでGeoPackageを使う
# GeoPackageとは
界隈では長らくデファクトスタンダードのフォーマットであった`ESRI Shapefile`を駆逐する可能性を秘めた新世代フォーマット。
OSSの代表的なGISソフトウェアであるQGISでは3系バージョンから標準サポートされている。
その他GDAL、GeoToolsなど標準ライブラリなどもサポート済み。## Shapefileの何が嫌か
### 1レイヤーを格納するのにファイルが多い
最低でも3つ、場合によってはそれ以上のファイルが必要となり、レイヤー数が増えると煩雑に…
以下ESRIのサイトより引用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44921/8265a0a3-21d8-bbf0-e80a-a9fb888834b8.png)### ファイルサイズ、属性名のサイズの制限がきつい
ファイルサイズが2GBまでとか、属性名が日本語だと5文字までとか前時代的。
イマドキこんなサイズ制限に悩まされるなんて嫌だ。
![image.png](https
「エンジニアに向いている人」はGitHub user内にどれぐらいいるのか
## 注意
– この記事はとあるツイートを話題にしていますが、筆者にツイート内容、およびツイートされた方を蔑む意図は一切ありません。
– 筆者は統計、およびプログラミングに関してはまだまだひよっこです。したがって誤った見解や拙いコードを書いている可能性がありますが、お気づきの際は是非コメントにてご指摘ください。## 背景
あけましておめでとうございます!
正月休みもあけ仕事も始まりましたが、みなさまいかがお過ごしでしょうか。さて、正月早々、とあるツイートが反響を呼びました。
> プログラミングスクール通ってるかどうかとかどうでもよくて、この年末年始にコード全く書いていない人はエンジニア向いてないんじゃないですかね、それぐらい好奇心が必要な職業だと思うけど
賛否両論あったこのツイートですが、内容はさておき、私はあることが気にかかりました。
**「果たしてこの年末年始、コードを書いた人はどのぐらいいるのだろうか」**
本記事では上記の疑問を検証していこうと思います。
## レギュレーション
もちろんすべてのエンジニアに「この年末年始、コード書きましたか?」ときいてまわるわ
EC2(AmazonLinux2)でnode.jsを起動するまでの過程記録(nodemonを使う)
###前提として行ったこと
①AWSへの登録
②EC2サーバーの新規立ち上げ
③RDBの新規構築
④ローカル環境で制作したフォルダの、EC2へのアップロード今回はnodemon を使いました。
これによってシステムの内容に変更があった時、再起動しなくても適応される(はず)。以下、EC2サーバー上で正しく動作させるために行ったことを記録する。
##目次
・行ったこと
→パーミッション設定
→「npm start で起動するようにする」
→必要なもののインストール
→DB情報の書き換え
→エラー「Permission denied」
→nodemonのインストール
・おまけ(永久実行)
・参考文献#行ったこと(失敗も含む)
##パーミッション設定
編集したいファイルは、フォルダごと権限を777にした。
“$sudo chmod 777 フォルダ名orファイル名“
権限を変えるのは危ないので「ローカルで書き換えてアップロード」を繰りかえす方
3分でできる Node.js + TypeScript + Jest プロジェクトの雛形作成
こんにちは、mballです。
つい最近転職をしまして、がっつりTypeScriptを触るようになったので学習も兼ねて、備忘録を残したいと思います。
今回はタイトルの通り、一からNode.js + TypeScript + Jest のプロジェクトを作成する際の手順をご紹介します!# 初期設定
まずは `package.json` を作成します。
“`shell
$ mkdir node-typescript-test/
$ cd node-typescript-test/
node-typescript-test$ npm init -y
node-typescript-test$ ls
package.json
“`次に、 Node.jsとTypeScriptに関わる必要なモジュールをインストールします。
“`shell
node-typescript-test$ npm install typescript –save-dev
node-typescript-test$ npm install @types/node –save-dev
node-ty
Markdown正規表現全文検索ツール「Note-CLI」をリリースしました。
Markdown正規表現全文検索ツール「[Note-CLI](https://github.com/yuis-ice/note-cli)」をリリースしました。
以下かんたんな日本語版クイックスタートになります。
> Markdown Indexing and Pcre Regular Expression Compatible Full Text Searching for Advanced Note Takers.
ノートテイキング上級者のためのMarkdownインデックスとPCRE正規表現対応の全文検索システム。
## クイックスタート
“`sh
# データベースへMarkdownファイルをインデックス indexing file
./note-cli.js –index –database notes.db.example –file notes.md.example# データベースで正規表現でキーワード検索 searching for keywords by regular expression
./note-cli.js –search –dat
Node.jsを勉強する⑤ – JSONファイルの書き込みと読み込み
##はじめに
前回は、 [npmモジュールの使い方](https://qiita.com/arata0520/items/91c47ea8742efee32a64)についてまとめました。
今回は、JSONファイルの作成と読み込みを記事にします。##教材
Udemy
The Complete Node.js Developer Course (3rd Edition)
https://www.udemy.com/course/the-complete-nodejs-developer-course-2/##データをJSONファイルに書き込む
まずは、app.jsファイルを作成して、Javascriptのオブジェクトを作成します。変数personを定義し、代入しておきましょう。“`javascript:app.js
const person = {
name: “Taro”,
age: 25
}
“`次に、このデータをJSONファイルに変換してみます。
変換には、JSON.stringify()というメソッドを使います。データは変数のpersonJ
園バス待ち中、忘れ物今取りに帰っても大丈夫?が目に見える仕組み!
幼稚園に子供を通わせて9年目、3児のママです。
幼稚園バスのあるあるだと思うのですが・忘れ物!まだ取りに帰っても間にあう?
・出かけにモタモタ。バス行っちゃった?
・急にトイレ!家に一度帰っても大丈夫かな?などなど、幼稚園バスの居場所がすぐにわかれば良いのにな~と思ったことが何度もあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/291f94c9-fb51-4e96-72e0-ee80ed29f0fd.png)
知りたい時に幼稚園バスの居場所がわかると
・雨の日、寒い日、終わりが見えずに待ち続けるという事がなくなり
・忘れ物など、一度家に取りに帰る事が出来たら、園まで後から送っていかなくても済んだりメリットは沢山あると思います。
そこで、幼稚園バスの居場所をアプリのインストール不要!LINEからバスの位置情報を受け取れるサービスの開発をしていきたいと思います。
#全体のイメージ
![image.png](https://qiita-image
楽天ブックスゲーム検索APIから取得した情報を元に愛らしい?キャラ達に記事を書かせてワードプレスに自動投稿する
#楽天ブックスゲーム検索APIから取得した情報を元に愛らしい?キャラ達に記事を書かせてワードプレスに自動投稿する
## はじめに
筆者はApple信者ならぬ
**ニンテンドー信者です。**
ニンテンドースイッチのソフトの発売予定は欠かさずチェックしています。
しかしながらゲームの発売日を忘れてしまうことが多々あります。
そこで『楽天ブックスゲーム検索API』を活用して、情報をすかさずチェックしていこうと思います。
しかし・・・
**APIで情報を取得した後にどこかに情報をアウトプットしなければいけません。**
そこで、以前お勉強用に構築して
すでに放置してしまっているワードプレスに情報をアウトプットしようと思います。
ただワードプレスにアウトプットするのであれば記事になっていないといけないので
今回はBOTに自動で記事を書かせて、ワードプレスに記事を自動で投稿していこうと思います。
###参考用
完成品はこちら。
自分のための自分用情報サイト
なかなか突き抜けたものができてしまった・・・。
https://gayaneko.com/
nodebrew による Node.js の利用
#はじめに
Node.js 、および、バージョン管理システムとして nodebrew を使う場合を説明します。
これまで多くの人の解説と変わりありません。ここでは、わたしなりにまとめてみます。利用のコンピュータ環境
“`
$ sw_vers
ProductName: macOS
ProductVersion: 11.1
BuildVersion: 20C69
$
“`#nodebrewのインストール前に
すでにインストール済みの node.js と npm をアンインストールする。たとえば、インストーラーでインストールしていた場合は次の2つのコマンドでアンインストールできる。
“`bash:
$ lsbom -flspf /var/db/receipts/org.nodejs.*.pkg.bom \
| while read i; do
sudo rm /${i}
done$ sudo rm -rf \
/usr/local/lib/node \
/usr/local/lib/node_modules \
/var/db/receipts/org.nod
GoogleAPIをNode.jsから叩いてみた
今更ながら、GoogleAPIをNode.jsから触ってみます。
Google Drive、Gmail、Google Calendar、Googleフォトなど、皆さんgoogleサービスにお世話になっているのではないでしょうか。
ちゃんと、APIも提供されていて、npmモジュールもあるので、今後もいろいろ使えるかもしれません。
本人認証して簡単なリスト表示をするところまでですが、後はリファレンスを見れば拡張できるかと思います。GitHubに上げておきます。
poruruba/GoogleApiSample
https://github.com/poruruba/GoogleApiSample#参考情報
googleapis/google-api-nodes-client
https://github.com/googleapis/google-api-nodejs-clientGoogle Cloud Platform Console
https://console.cloud.google.com/Google CalendarのQuickStart
ht
【アプリ開発 2】【Node.js JavaScript MongoDB】 JavaScriptを用いて端末の現在地を取得する。【2021年1月】
#Node.js Express MongoDBを用いたアプリ開発
Node.js Express MongoDBを用いたアプリ開発を行うことになりました。
開発の中で得られた知見を、支障のない範囲で記録していきたいと思います。アプリの仕様上、各ユーザーの携帯電話の位置情報を取得し、googleマップ上で表示させる必要が生じました。
まずは、位置情報を取得する機能を実装してみます。##要件
– ユーザーがログインし、「位置情報通知」ボタンをクリックした場合、位置情報がデーターベースに格納される。
– ユーザーがログアウトもしくは、「位置情報通知解除」ボタンをクリックした場合、位置情報がデーターベースから削除される。
– 24時になった時点で、ユーザーの操作なしに、「位置情報通知解除」状態となる。
– ユーザーの位置が変更した場合、最新の位置情報がデータベースに格納される。
– 管理者は、定期的にデーターベースにアクセスしGoogleマップを用いて、ユーザーの位置を確認することができる。
– 位置情報には、ユーザーの連絡先と、コメント等が表示される。##Javascriptを
【Node.js】開発に必要な基礎知識まとめ
## はじめに
Node.jsで開発するにあたり必要な知識について手順とともにまとめてみました。## Node.jsについて
JavaScriptをサーバーサイドで動かす仕組みのこと## Expressについて
– Node.jsでWebアプリの開発をするためのフレームワーク
– Webアプリケーションを作る機能を提供する### Expressの導入方法
npmというシステムを使いインストールをする“`console
$npm install express
“`### インストールしたExpressの利用方法
jsへの記述“`javascript
// expressの読み込み
const express = require(‘express’);
// expressを使用するための準備
const app = express();
“`
## サーバーの起動について
サーバーを起動し、Webアプリを画面に表示する方法ですjsへの記述
“`javascript
// アクセス可能なサーバーを起動する(ここではlocalhost:8080)
a
Nodejs Eslintの初期化設定で失敗した時の対応方法
# Nodejs Eslint 初期化設定で失敗した時の対応方法
**npm install eslint@^x.xx –save-dev** コマンドを実施したあと、eslintをインストールし、
初期化を実施しようと、**.\node_modules\.bin\eslint –init**コマンドを実施、
How would you like to configure ESLint? の質問に対して Answer questions about your styleを選択しEnterを押したところ、そこから何の進展もなかった時、その解決方法を共有します。## 環境の整理
– 開発環境:Windows10 Home 64ビットオペレーティングシステム、x64ベースプロセッサ
– Node version: v12.xx.xx
– ESLint version: v4.19.1## 現象
![not.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676239/ca3437cc-d99b-a6
node.jsにnodemonをインストールするが動かない人へ
node.jsにnodemonを入れると変更を監視してくれるので開発効率が上がる。
しかしnodemonをinstallしても動かない人一旦アンインストールして以下を試して欲しい。#####エラー内容
“`
bash: nodemon: command not found
“`#####解決方法
“`
//アンインストールする
npm uninstall nodemon//グローバルしてインストール
sudo npm install -g –force nodemon
“`ローカル開発環境にVSで開発するのが主流だと思うが、当方いつでもどこでも開発したいのでC9で開発しようと思ったらこのエラーにぶち当たった。
誰かの役に立てば。