- 1. サーバから Soracom API を叩くために API Key と Token をどうやって取得するべきか
- 2. Node.js バージョン管理nodenvを使ってみる
- 3. nodeのコマンドプロントのconsole.logで出力に色を付ける
- 4. M1 MacbookでNode.js環境構築
- 5. 最近朝起きると喉がカラカラになっているので、いい感じの湿度を保つ加湿器コントローラーを2時間で作る
- 6. 誰が使うかわからないけど、膝のレントゲン写真を送ったら、その膝がどの程度痛んでいるのか教えてくれるラインbotを作ってみた。
- 7. awaitって大事メモ
- 8. LINE Messaging APIで文末に絵文字を入れるメモ
- 9. Raspberry Piとhostapdでローカルサーバに接続する
- 10. node.jsで簡易ftpサーバーを立てる(Qemu用)
- 11. Steinを使って名前マスタから情報を取得するメモ
- 12. 簡単 (電子) レシート receiptline の新機能を試してみた
- 13. 【Jest】テスト用のAPIとDBとうまく付き合っていく方法
- 14. 【Electron入門】GithubのIssueを一瞬で確認できるアプリを作って業務効率化してみた #2 GithubAPI編
- 15. 【Electron入門】GithubのIssueを一瞬で確認できるアプリを作って業務効率化してみた #1 Alfredっぽいwindow作成編
- 16. Elasticsearchのindexの引越し。Elasticdumpはlimitオプション再定義で高速処理。
- 17. YouTubeの配信・動画のコメント(トップレベルコメントのみ)を取得するnode.jsのツールを作成
- 18. 【エラーコード別解説】Twitter の Account Activity API の Webhook URL が登録できないときの解決法
- 19. Box UI Elementsを自前でホスティングする方法
- 20. LINEの絵文字・スタンプメッセージ送信メモ
サーバから Soracom API を叩くために API Key と Token をどうやって取得するべきか
Soracom API を叩くには `API Key` と `Token` のペアが必用となる。
例:
“`bash
curl -X GET \
–header ‘Accept: application/json’ \
–header ‘X-Soracom-API-Key: api-xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx’ \
–header ‘X-Soracom-Token: eyJQiOiJBUraWUVDQ(以下略)’ \
‘https://api.soracom.io/v1/subscribers/your_imsi/data?sort=desc’
“`この `API Key` と `Token` をサーバとかLambdaとか、要はUIの無いバックエンドサービスからどう叩くべきか?の話。
基本、公式ドキュメントをはじからはじまでちゃんと目を通せば書いてあるのだが、以下の要因からすげー迷ったので備忘録兼ねて書いとく。* 巷にあふれる解説記事が [API Reference](https://dev.sorac
Node.js バージョン管理nodenvを使ってみる
nodeのバージョン管理についてnというものを使ってみたが、
今回CentOs環境で別のnodenvを使ってみることにしました。バージョン管理には他にも、
nodebrewがありますが、nodenvだとディレクトリごとにバージョンが変更できるみたいです
※ ついでに、win機はNodistというのがあるみたいです## anyenv インストール
「[anyenv](https://github.com/anyenv/anyenv)」というツールを用いてインストールします“`
[vagrant@vagrant ~]$ git clone https://github.com/riywo/anyenv ~/.anyenv
“`パスを通して設定します
“`
[vagrant@vagrant ~]$ echo ‘export PATH=”$HOME/.anyenv/bin:$PATH”‘ >> ~/.bash_profile
[vagrant@vagrant ~]$ echo ‘eval “$(anyenv init -)”‘ >> ~/.bash_profile
[v
nodeのコマンドプロントのconsole.logで出力に色を付ける
#はじめに
Nodeでコマンドプロンプトの出力(console.log)に色をつけたかったので、その方法を投稿します。検索してもwebブラウザのconsoleに色を付ける方法が多くヒットしたので、私と同じように困っている人の助けになれば…(こんなことで困ってないか:joy:)。
#結論
色を付けるnpm がありました!!
[chalk](https://www.npmjs.com/package/chalk)“`
npm i chalk
“`#前提条件
環境* node `v10.16.3`
* npm `6.9.0`#使用例
ざっくりと使用例と出力結果を投稿します。
全ての例を投稿するわけではないので詳しく見たい方は[chalk](https://www.npmjs.com/package/chalk)のページで確認してください。##色を変える
色を変えたい文字列を、変えたい色の修飾子で囲う
※変えられる色の種類はchalkのページで確認してください。“`javascript:ind
M1 MacbookでNode.js環境構築
初macOSで操作方法すら良くわからない中、Apple Silicon(M1)搭載ということでNode.js環境の構築に一工夫が必要でした。M1対応するまではRosettaで回避するのが無難そう。homebrewもこれでインストールできました。
# TerminalをRosettaで開く
Finder -> 移動 -> ユーティリティ
![スクリーンショット 2020-11-22 17.31.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556119/11a465c7-8165-16dc-90e1-902461bc3759.png)
command ⌘ + I
Rosettaを使用して開くにチェックして、Termin
最近朝起きると喉がカラカラになっているので、いい感じの湿度を保つ加湿器コントローラーを2時間で作る
## 朝起きると喉が痛い
最近、冬になって空気が乾燥してきていますね。
夜寝るときは気にならないのですが、朝起きると口から鼻から粘膜が乾燥してしまいます。我が家にも超音波式の加湿器があるのですが、つまみで噴出量を調整するタイプのもので、
– 量が少ないと加湿しきれず、朝喉がカラカラになり、
– 量が多すぎると加湿は良いが、床がびちょびちょになり、ちょうどつまみの回し具合を探し当てるのが大変です。
本記事では、加湿器の電源を自動でON/OFFさせることで、いい感じの湿度にしてくれるコントローラーを実働2時間で作成していきます。
(※[材料](https://qiita.com/tmisuoka0423/items/c8d950d9c450826845b5#%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E6%9D%90%E6%96%99)は前もって用意しておいてください)## 睡眠時の適切な湿度は50%~60%
[布団の西川さんによる](https://www.nishikawa1566.com/company/laboratory/topi
誰が使うかわからないけど、膝のレントゲン写真を送ったら、その膝がどの程度痛んでいるのか教えてくれるラインbotを作ってみた。
# はじめに
突然ですが、最近、膝痛くないですか?
階段降りる時や立ち上がる時など、特に痛くないですか??
気づいたら、足がO脚になっていないですか???もしかしたらそれ、変形性膝関節症かもしれません。
*「変形性膝関節症って何?」という方は、僕が書いたこちらの記事をぜひお読みください。
[変形性膝関節症とは:その治療法・進行予防について](https://clinic.adachikeiyu.com/168)自分や家族の膝のレントゲン写真を持っている人がどれほどいるのか甚だ疑問ですが、膝の痛みに悩んでいる人の一助になればと作成しました。
注意)このボットはあくまで参考程度に作成したもので、正確な診断ツールではありません!
最終的な診断については、おかかりいただいた先生にお伺いください。# 開発環境の下準備
1) VScodeのインストール
VScodeのインストールついては、googleなどで他の記事を検索してください。
2) node.jsとnpmのインストール
Macでの環境作りは、こちらの別の記事にまとめてあります。
参考にしてください。
[Macにno
awaitって大事メモ
#つまったこと
if文で条件式の中で関数を読んで返ってきたステータスを基に判断することをした。結果、どの条件にもはまらなかった。
なぜか?
非同期で関数を呼ばれたため、returnの値が来ない間に条件式が判断されたから。変更前
“`javascript
}else if(await getStatus(event.source.userId)===”2″){
“`変更後
“`javascript
}else if(getStatus(event.source.userId)===”2″){
“`awaitとか書いて関数を呼び出すのがめんどいから、
その場で短く書けるようになったのかな。
LINE Messaging APIで文末に絵文字を入れるメモ
テキストの長さをとってそれをindexとしておく。
“`javascript
var pushText = “hogehoge”;
// 文末に絵文字を入れるための準備
let textLength = pushText.length;
pushText += “$”;// メッセージ配列の初期化
let messageList = [];// メッセージの作成
messageList = [{
“type”: “text”,
“text”: pushText,
“emojis”: [
{
“index”: textLength,
“productId”: “5ac1bfd5040ab15980c9b435”,
“emojiId”: “005”
}
]
},{
“type”: “sticker”,
“packageId”: “11537”,
“stickerId”: “52002755”
}];
“`
Raspberry Piとhostapdでローカルサーバに接続する
#やりたいこと
Raspberry Pi内臓のWi-Fiをアクセスポイントとして使い、他のデバイス(スマホやPC)で接続することでRaspberry Piで構築したサーバに接続する。#使ったもの
* Raspberry Pi3 Model B
* 3B以上のモデルだとWi-Fiを内蔵しているのでこれだけでいい。#やり方
###インストール(hostapd, dnsmasq, Node.js)
Node.jsが入ってるかを確認“`
$ node -v
“`
入ってなかったら、入れる。
こちらの記事を参考にされると良いと思います。
[ラズベリーパイ4にNode.jsをインストールするまで](https://qiita.com/gdate/items/f87af2e8491c6cc3c19e)“`
$ sudo apt-get install hostapd dnsmasq
“`###hostapdの設定
/etc/hostapd/hostapd.confを以下の内容で生成。
ssidとwpa_passphraseは自由に設定。“` /etc/hostap
node.jsで簡易ftpサーバーを立てる(Qemu用)
## 概要
Qemuではフォルダ共有機能が実質存在しないので、ゲストOSからホストのファイルにアクセスするためのftpサーバーをnode.jsでサクッと構築する。
## パッケージのインストール
“`
npm install ftpd
“`## ソース
“`ftpd.js
var ftpd = require(‘ftpd’);
var fs = require(‘fs’);
var path = require(‘path’);//コマンドライン引数からポートとルートになるフォルダの設定
var port = process.argv[2] || 10021;
var root = process.argv[3] || process.cwd();//サーバーの設定
var server = new ftpd.FtpServer(‘127.0.0.1’, {
//接続後の初期ディレクトリ
getInitialCwd: function() {
return ‘/’;
},
//ルートとなるフォルダの設定
getRoot: funct
Steinを使って名前マスタから情報を取得するメモ
名前の登録があれば設定、なければ登録を促す処理
ユーザIDをもとにユーザ名を取り出す処理。“`javascript
function getUserName(userId){
let userName ;
userName = store.read(“name_master”, { search: { user_id: userId } }).then(data => {
console.log(data);
let uName;
console.log(data.length);
if(data.length === 0 ){
uName = “”;
}else{
uName = data[0].user_name;
}
console.log(uName);
//1行しか取れないので1つ目のユーザ名を指定
return uName;});
r
簡単 (電子) レシート receiptline の新機能を試してみた
マークダウン言語で紙のレシートや電子レシートを簡単に作れる receiptline。
https://github.com/receiptline/receiptline
https://www.npmjs.com/package/receiptline少し前にマイナーバージョンアップがあったので、新機能を試してみました。
(2020年11月21日時点で Verion 1.1.1)# Web フォントで表示
[前回の記事](https://qiita.com/dopperi46/items/5a327d8c7f22ad2fde22)で試していた Google Fonts の「Kosugi Maru」が採用されました。
これで iOS, Android, Windows, Linux, Mac どの環境でも同じ表示になるはずです。
![00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669512/782ade4e-dda6-828f-203e-02d734fc2933.png)データは[
【Jest】テスト用のAPIとDBとうまく付き合っていく方法
# 始めに
apiのnodeのバージョンを8から14にしました(まだリリースはしてない)!!
14への移行自体は簡単だったもののテストの移行でかなり苦戦しました。。。
テストは古のライブラリmocha-coで書かれており、仕方なくmocha-coのシンタックスをjestに置き換える作業を開始しました。これが予想以上にめんどくさくその時のHow toを解決する方法がこの記事になります。
以下の問題にお悩みの方はこちらを参考していただけるかと思います。またいい方法をご存知の方はお教えください!!– TooManyConnectionとなってしまう
– 毎回のテストでサーバー立ち上げとクローズをするのめんどくさい
– –ranInBandつけたけどなんか挙動がよくわからない・・・。
– mochaからのjestに移行したい正確にjestのランタイムの仕様が分かっているわけではなく、調べたり試したりした結果なので間違いやもっと詳細が分かる方がいらっしゃいましたらぜひお教えください!!
また正確なコードを書くと記述量が多いので雰囲気で書いているところもあるのでご了承ください。# 前
【Electron入門】GithubのIssueを一瞬で確認できるアプリを作って業務効率化してみた #2 GithubAPI編
## はじめに
[前回](https://qiita.com/ikkei12/items/cba90ac057e8f0a9c2c5)はwindowの作成をしました。
今回はGithubAPIを導入して完成させようと思います。
長くなってしまうのでJavaScriptでDOMの作成をする部分やCSSの説明は省きます。
気になる方はコードをご確認ください!## 完成品
option(alt) + Spaceで表示/非表示が切り替えられます。![scc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/e31df68d-1879-ca25-6ad3-950a4f87d880.gif)
## 現状
![test.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/563a9615-0192-68f9-2d24-2ed8a4468d05.gif)## Access Tokenを生成する
それではやっ
【Electron入門】GithubのIssueを一瞬で確認できるアプリを作って業務効率化してみた #1 Alfredっぽいwindow作成編
## 完成品
option(alt) + Spaceで表示/非表示が切り替えられます。![scc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/e31df68d-1879-ca25-6ad3-950a4f87d880.gif)
### ソースコード
https://github.com/ikkei12/git-app.pub## はじめに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/c4f4f457-8aaf-84be-ff7b-122b4d6cf3b6.png)[Alfred](https://www.alfredapp.com/)最高ですよね。
彼のおかげでマウスを使う頻度が激減して助かっています。Alfredと同じ手軽さで、自分がアサインされているissueを確認できるデスクトップアプリが作りたいなと思ったので、[Electron](https://
Elasticsearchのindexの引越し。Elasticdumpはlimitオプション再定義で高速処理。
# はじめに
Elasticsearch を docker を使って、ローカルマシンで使用している。
Elasticsearchのバージョンをあげてみたくなったので、データをDumpして引越ししてみることにした。# 事前調査
2020/11/20現在、Googleを使って、「elasticsearch インデックス 移行」と調べてみると、Elasticdumpというスクリプトを使っているひとが多いようだ。(以下、Googleの検索結果 表示される順に抜粋)
ElasticSearchのindexデータを移行する – Qiitaqiita.com › Node.js
https://qiita.com/taai/items/9244e7dc4dacf29ab95aよく使うElasticSearchのクエリ(elasticdump) – Qiitaqiita.com › Elasticsearch
https://qiita.com/nakazii-co-jp/items/3199433d685d0600c6d6Elasticsearchのデータをdumpしてコピー
YouTubeの配信・動画のコメント(トップレベルコメントのみ)を取得するnode.jsのツールを作成
## 概要
– 気になる事があったので、配信のコメントを取得するツールを作成した。
– トップレベルコメントのみ(コメントへの返信は取得していない)
– APIキーは伏字。log4jsでログ出力しているので(いないとは思いますが)流用する場合は各々の出力方法に変換してください。## 引数
– 動画ID(watch?v=XXXXXXXXXXXのXXXXXXXXXXX部分)## 実行結果
以下を出力する。
– 投稿者表示名(items.snippet.topLevelComment.snippet.authorDisplayName)
– 投稿者チャンネルID(items.snippet.topLevelComment.snippet.authorChannelId.value)
– 表示メッセージ(items.snippet.topLevelComment.snippet.textDisplay)
– いいね数(items.snippet.topLevelComment.snippet.likeCount)
– 投稿日(items.snippet.topLevelComment.
【エラーコード別解説】Twitter の Account Activity API の Webhook URL が登録できないときの解決法
# はじめに
Twitter の Account Activity API を使う機会があり、[こちらの記事](https://qiita.com/sbtseiji/items/7957de5db0987d9a6891) を参考に Webhook URL を登録しようとしたのですが、なかなか登録できず、丸一日ほど費やしてしまいました。Webhook の登録はかなり罠があり、調べても解決法が全然出てこなかったため、この記事では、発生するエラーコードを紹介し、その原因と解決法について解説します。参考になりましたら幸いです。
# 正しい設定方法だけ見たい
[正しい設定方法](#正しい設定方法)# 事前準備
Webhook URL を登録する際には POST リクエストを Twitter に送る必要があります。そのリクエストを送るために、本記事では [Postman](https://www.postman.com) を利用します。あらかじめアカウント登録し、デスクトップ版アプリをインストールしておいてください。cURL でもできる気がしますが、罠が多すぎていちいちパラメータをい
Box UI Elementsを自前でホスティングする方法
# Box UI Elementsを自前でホスティングする方法
BOX UI Elements は、React.jsを使っていない場合、CDNからJSファイルとCSSファイルをダウンロードして利用します。
これらのリソースをCDNを使わずに自前でホスティングする方法をメモしておきます。## まとめ (TL;DR)
##### 1. [box-ui-elements](https://github.com/box/box-ui-elements) をCloneして、CSSがフォントを直接参照してる部分を書き換える。
変更するファイルはこれ。
https://github.com/box/box-ui-elements/blob/v12.0.0/src/elements/common/fonts.scss
ビルドする前に、`https://cdn01.boxcdn.net`となってる4箇所を、http://localhost:3000 などに書き換えておきます。
マシなやり方あればおしえてください。##### 2. box-ui-elemensをビルドする。
“`sh:
LINEの絵文字・スタンプメッセージ送信メモ
これはうまくいくけど、
“`javascript
let text_length = pushText.length;
pushText += “$”// チャンネルに登録されている方たちに連絡
client.broadcast([{
type: “text”,
text: pushText,
“emojis”: [
{
“index”: text_length,
“productId”: “5ac1bfd5040ab15980c9b435”,
“emojiId”: “002”
}