香川でうどんしてたらお客様からCドライブ満杯とのトラブル電話、そのときC:\Windows\Tempは

200GBですよ。Cドライブの半分くらいは食われてましたよ。

murave@長崎本社勤務(半分くらいは在宅)です。先週末の話。

山越ってのは香川の有名なうどんやさんです。
http://yamagoeudon.com/

仮眠入れながら夜通し車走らせて、四国ついたその朝に、お客様から携帯に電話ですよ。

「トラブルですか?まず言っておかないとなんですが、僕は今、四国です

Cドライブが満杯でエラー出てるそうな。消せるファイル探してその場はしのいでもらって、今日調べに行きました。主原因はこれでした。

『C:\Windows\Temp フォルダーに cab_XXX_X ( X は数字) が生成されディスクの容量を圧迫している場合の対処方法』
https://blogs.technet.microsoft.com/askcorejp/2015/04/15/cwindowstemp-cab_xxx_x-x-37327/

Windowsさんの好感度、瀑下げ。

愚痴および申し訳程度の技術情報は以上です。以下、四国紀行(Twitterまとめ)

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

FirestoreのServerTimestampさん

有能!

サーバー側で採時するので集計対象の抽出などに安心して使用できます。
これのおかげで必要なデータ取得数を大幅に削減できています。
Firestoreだとデータ取得数は速度や効率だけでなく課金に直結しますしね。

管理画面でデータを時系列に並べたりするのにも便利なのでドキュメント登録時には必ず入れておいたほうが良いくらいの有能さです。

Webでは

import firebase from '~/plugins/firebase'

payload.createdAt = firebase.firestore.FieldValue.serverTimestamp()
await db.collection('コレクション名').add(payload)

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

Firestoreのセキュリティルールのこと

バックエンドをFirebaseでSPAのシステムを作る場合、データを守る砦はデータベース(今回はFirestore)のセキュリティルールです。
Authenticationのログイン情報とFirestore上のユーザー情報を紐付けし権限によりドキュメントへのアクセスを制限するなど、適切な設定しなければなりません。

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

これは「ログインしているユーザーはフルアクセス」という最低限設定しておくべきルールです。開発中はお世話になりました。
しかし最終的にはもっとこまかく制限をかける必要がありますから、それを前提にデータ構造を設計しておいたほうが良いです。

例として今回作ったシステムのデータ構造とセキュリティルールの一部について解説します。

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

Nuxt.js 悩み解決の小ネタ集

ここ1ヶ月程Nuxt.js + FirebaseでSPAのシステムを作っていました。

短期構築がご要望でリアルタイム性が求められる内容。Firebaseに向いていると判断、提案したところ技術構成は自由にやらせていただけることになりました。
別件で一昨年末あたりからずっとバックエンドはLaravel、フロントエンドは素のVue.js + Vuex + Vue Routerで開発やってるんですが、PWA化したほうがよさそうだったこともあってNuxt.js(以降Nuxt)使ってみようかなってことで採用。

Nuxt、便利ですね。特にプラグインとミドルウェアが素敵!

Firebase(今回使用したのはAuthentication、Firestore、Hosting、Functions)との相性もバッチリでした。

ですが初めてということもありいろいろと悩んだりもするわけで…
それらをどう解決したか?の小ネタ集です(というか今回の落とし所、かな)

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

Nuxt.jsのbuild時にconsole.logを削除する

小ネタ集を書いていて分けておいたほうがよさそうだと思ったヤツ、その2。

nuxt buildでproductionビルドするときにconsole.logが削除されると良くないです?
良いですよね?なのでminifyを行うモジュールにはそういう機能が載っているようです。

Nuxt.jsのproduction時にconsole.logを削除する – くらげになりたい。

との情報を見つけました。ありがたい!

ですが、デフォルトのterser-webpack-pluginではなくuglifyjs-webpack-pluginに差し替えて実現されているとのこと。
この情報をもとに調査・実験をすすめたところterserのままでも可能でしたのでnuxt.config.jsのbuildの該当箇所を提示します(“nuxt”: “^2.4.0”)

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

Vuexのモジュールから他のモジュールのメソッドを呼ぶには

muraveです。ごぶさたしております。

Nuxt.jsとかVue.jsの小ネタをまとめて書こうと思ったのですが、これは分けておいたほうがいいかな?と思ったので先に書いておきます。

Vuexのモジュールによる名前空間は処理を分割管理するのに便利です。

モジュール | Vuex

ですが、他のモジュールのメソッド(action, mutation)を呼ぶことができない(と思っていた)ので、不便に感じつつルートであるindex.jsに共通処理を集めたりなどしていました。が、先日、呼び出し方法に気づきました。

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

ESP32でディープラーニング

先日作った熱画像をリアルタイムで見れるシステムを改造し、ディープラーニングしてみました。
ジャンケンの3つのジェスチャーを、赤外線アレイモジュールからの入力データをもとに推論します。
ジャンケンの画像データを使いディープラーニングする、というアイデアは雑誌Interface1月号の記事のまねをさせていただきました。他にもいろいろと参考にさせていただきました。
なお、雑誌Interface1月号の記事ではソニーのSPRESENSEボード、および通常のカメラボードを使って行っています。

ディープラーニングのツールとしてNeural Network Console(NNC)のクラウドを使い学習させました。
学習済みモデルをNNPファイルとしてダウンロードし、NNPファイルをC言語ファイルに変換後、ESP32に組み込みました。
【2019/02/04 追記】NNP以外にNNB(Cランタイムフォーマット)でもESP32に組み込むことができることを確認しましたので、それも追記しました。

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

赤外線アレイセンサー「MLX90640」をESP32につないでWebSocketしてみました

MLX90640搭載の赤外線アレイモジュールをESP32につないで熱画像データを取得、それをWebSocketを使いブラウザから熱画像をリアルタイムで見れるようにしました。

MLX90640は32 x 24のセンサーを搭載し、I2CでESP32と通信を行うことができます。

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

再帰的問い合わせで、複数点間の経路的な使い方

少しだけ時間が出来たので、以前使おうか迷っていたPostgreSQLのWITH RECURSIVEを使って複数点間の移動経路と距離を求めるようなSQLを作ってみました。
※使おうと思ってた箇所は、計算Costが問題になりそうだったので、結局group化する列を追加して対応しましたが。

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail

High Sierra にアップグレードしててヤラレる

muraveです。

開発機のリプレースを考えていたのですが、今のマシンを延命することにしました。
ディスクの残容量がカツカツでちょくちょくディスクフルになるのを除けばあまり不満ないなって。

樹脂部品がヤラレてワレたりとかはありますが。

そこで覚悟を決めてEl Capitanで止めてたOSのアップグレード、SSDの載せ替えを行ったのですがHigh Sierraさんに2点程かなりヤラレましたのでメモを残しておきます。

この投稿の続きを読む »

Facebooktwittergoogle_pluslinkedintumblrmail