Google Apps Script (webapp) でログを記録する

Google Apps Script とログ Google Apps Script (GAS) で、ログを書く時に長年 Logger.log を使っていた。 スクリプトを実行し、メニューの 表示 → ログ でログを表示できる。 ただし、このログは自分でスクリプトを実行した時のログが表示できるだけで、例…

Node-RED Google Assistant Bridge 使ってみた

はじめに 我が家では Node-RED と Node-RED Alexa Home Skill Bridge を使って、家の家電を操作している。 これの Google Home 版である Node-RED Google Assistant Bridge が、公開されたので設定してみた。 基本的には 更新ドキュメント の通りにしている…

Ruboty で Redash のデータを通知する ruboty-redash 作った

Ruboty で Redash のデータを通知したい Redash で数値を可視化している環境の場合、その最新の値を Slack で通知したい。 Ruboty を使って bot を運用しているので、 Ruboty プラグインとして Redash の値を取ってくるものを作った。 ruboty-redash github.…

Global Media Controls で Alexa SPA を操作する Chrome 拡張を作った

モチベーション 音楽を聴くときは Amazon Echo のマルチルームオーディオを使っている。 いろんな部屋で同じ曲が流れるのはいい経験だが、曲名を確認したり、曲をスキップしたいときに、声を出さないといけない。 そこで https://alexa.amazon.co.jp/spa/ind…

Redash で作る「じぶんダッシュボード」 というタイトルで発表した

スライド 概要 Misoca 冬のLT大会 - connpass で私のダッシュボード事情について話してきた。 Heroku と Google Spreadsheets を使うことで運用することで、維持費無料でダッシュボードを作る方法 運動量や睡眠、読書量や生産性とを可視化する方法 みたいな…

Misoca のコードレビューで教えてもらった RSpec マッチャまとめ

この記事は Misoca+弥生 Advent Calendar 2019 の7日目の記事です。 はじめに Misoca に入社して1年とちょっとが経ちました。 Misoca は Ruby がメインの会社です。 私のキャリアはずっと Java だったので、特に RSpec の知識が貧弱で、RSpec は「expect っ…

RSpec の contain_exactly マッチャ と match_array マッチャ

contain_exactly マッチャ `contain_exactly` matcher - Built in matchers - RSpec Expectations - RSpec - Relish 以下のようにコレクションに対して、順序は問わないがすべてが含まれているかをチェックすることができる。 expect([1, 2, 3]).to contain_…

最高の「いってきます」体験を支える技術 というタイトルで発表した

スライド 概要 Misoca 秋のLT大会 - connpass で我が家のスマートホーム事情を発表してきた。 ルンバを定型アクションに組み込む方法 家電ではないものを仮想的な家電にして、定型アクションに組み込む方法 みたいな話ができて個人的には満足している。

VSCode で Ruby の syntax error を表示する

何に困っているか? 普段 Ruby をVSCode で書いている。 Ruby 拡張 をインストールしているのに、Ruby の syntax error が表示されない気がする。 調べてみたら、設定が必要らしいので、その設定をメモする。 環境 VSCode: 1.38.0 Ruby Extension: 0.25.3 VS…

RSpec の have_attributes マッチャがリテラルとマッチャを両方指定できる仕組み

have_attributes マッチャ RSpec に have_attributes というマッチャがある。 it { expect(10.to_s).to eq("10") } it { expect(10.positive?).to eq(true) } と書くところを it { expect(10).to have_attributes(to_s: "10", positive?: true) } と書くこと…

超簡単に stylelint を試す

stylelint CSS/SCSS 用の Lint ツールとして stylelint がある。 手元にあるプロジェクトの CSS/SCSS を LInt ツールにかけたいが、環境構築にあまり時間をかけたくない。 特に プロジェクトの構成を変更したくない、stylelint の導入のためだけに package.j…

YouTube Data API v3 でチャンネルの動画 ID を全て取得する際には PlaylistItems API を使う

やりたいこと Google Apps Script 上で YouTube Data API v3 を使って、動画の情報を取得している。 特定のチャンネルにアップロードされた動画全ての ID を取得したかったが、Search API を使って書いたら歯抜けになってしまい、すべての動画 ID が取得でき…

VSCode で Ruby のカバレッジを表示する

何をしたいか RubyKaigi 2019 に行ってカバレッジに対しての意識が高まっているので、VSCode で Ruby のカバレッジ(どの行が実行されて、どの行が実行されなかったか)を表示したい。 VSCode 側の設定 Coverage Gutters という拡張を入れる。 Ruby は対応して…

macOS で 'pg' を含む Gemfile を bundle install する方法

mallowlabs.hatenablog.com という記事を6年前に書いたが、久しぶりにやったら動かなかったのでメモ。 環境 macOS 10.14.4 (Mojave) Postgres.app 2.2.2 Ruby 2.6.2 Bundler 2.0.1 手順 Postgres.app をインストールする 素直に /Applications/ 以下にコピー…

Java 向けの疑似 SMTP サーバの Web アプリを作った

疑似 SMTP サーバ Ruby だと MailCatcher のような疑似(mock / fake / dummy) SMTP サーバがある。 開発中のアプリケーションでうっかり本番用のメールアドレスにメールを送信しないために便利である。 Java の現場では、疑似 SMTP サーバを入れるために Rub…

Node-RED の OAuth2 で refresh token が再起動で消えてしまう件

環境 Node-RED v0.19.5 TL;DL Node-RED は credential の値の永続化をデプロイのタイミングでしか行わない。 そのため、いくつかの OAuth2 のプラグインは Node-RED を再起動したタイミングで refresh token を忘れてしまうため、再度 OAuth2 の設定をしなお…

Quick JUnit の Ruby 版っぽい VSCode 拡張作ってみた

この記事は Misoca+弥生 Advent Calendar 2018 2日目の記事です。 Misoca では Ruby を書くお仕事をしています。 Misoca にジョインする前はずっと Java を書くお仕事をしていたので、Ruby 開発について日々勉強中といった感じです。 Qucik JUnit Plugin for…

はてなダイアリーからはてなブログに引っ越した

2019年春「はてなダイアリー」終了のお知らせと「はてなブログ」への移行のお願い - はてなダイアリー日記 ということだったので、はてなダイアリーからはてなブログに引っ越してきた。旧 URL: http://d.hatena.ne.jp/mallowlabs 新 URL: https://mallowlabs…

Windows 10 Creators Update にアップデートしたら WMDC と ckw-mod が壊れた

以下の2点が壊れて仕事で困ったので、対応策を共有。 Windows Mobile Device Center が起動しなくなった ckw-mod の表示が壊れた 環境 Windows 10 Home / バージョン 1703 / OS ビルド 15063.138 Windows Mobile Device Center v6.1 ckw-mod 0.9.1.0 Windows…

Wercker からマイグレーションせよというメールが来たので対応してみた

CI サービスの Wercker からマイグレーションせよという以下のメールが来た。 Attention: Manual Migration required on your Wercker AccountHi Mallowlabs,We informed you a couple of months ago that we're going to start deprecating our non-Docker …

ホビー用途の mLab でリモートバックアップする

環境 MongoDB 3.2.11 dbxcli 1.4.0 heroku-toolbelt 3.43.15 heroku-buildpack-mongodb Rev. 59b9e8d heroku-buildpack-dbxcli Rev. d67845a モチベーション ホビー用途の Heroku アプリで mLab アドオンを Sandbox プランで利用している。 mLab の DB のバ…

GitBook で書いた文書の Redpen の警告を Jenkins Warnings Plugin で可視化する

環境 Jenkins 2.8 Jenkins Warnings Plug-in 4.56 Redpen 1.5.5 モチベーション 最近、技術ドキュメントを GitBook を使って Markdown で書いている。 GitBook は当然 Git リポジトリが使えて、WebHook まで使える。 こうなってくると Jenkins で CI をして…

Maven 3 + cobertura-maven-plugin 2.7 で mvn site すると jar/war が壊れる件

環境 Maven 3.3.9 cobertura-maven-plugin 2.7 現象 Maven 3 と cobertura-maven-plugin 2.7 の組み合わせで mvn site をすると、生成される jar/war に Cobertura の instrument が混入したままパッケージが作られてしまう。 mvn package だけすると問題が…

Ruboty でカレンダーの予定をアラートするプラグイン「ruboty-calendar_alert」作った

ruboty-cron を使って、チャットに予定をアラートしてたんだけど、予定の登録がダルくなったので作った。GitHub - mallowlabs/ruboty-calendar_alert: Mount alerting system to Ruboty to notify calendar schedules with iCal urls.iCal (.ics) の URL を …

h2o + supervisord で Munin を HTTP/2 でサーブさせてみた

YAPC::Asia Tokyo 2015 で HTTP/2 の話を聞いて意識が高まったので Munin を h2o でサーブするようにしてみた記録。 リバースプロキシではなく、h2o 自身にサーブさせている。 環境 CentOS release 6.5 (Final) h2o Rev.af7413a0ec Supervisord 2.1 h2o イン…

Kibana4 + Elasticsearch で not_analyzed 指定を忘れた時にやったこと

Elasticsearch をそのまま使うと string フィールドがトークナイズされてしまうので、ユーザーエージェント等スペースを含むフィールドのグラフが意図通り出ない問題に対処した。真面目にやるなら elasticsearchでダウンタイムなしでインデックスのマッピン…

Jenkins でのブランチの自動ビルドに Multi-Branch Project Plugin が便利

環境 Jenkins 1.532.3 Multi-Branch Project Plugin 0.2.2 Multi-Branch Project Plugin GitHub を使っていないプロジェクトで、ブランチが増えたり減ったりする場合に、 そのブランチを自動で Jenkins のビルドジョブにしたい。 そのような場合に Multi-Bra…

Jenkins のプラグインの配布に JitPack.io が便利過ぎる件

JitPack | Publish JVM and Android libraries というサービスがある。GitHub に置いた Java プロジェクトのソースコードをビルドして、Maven リポジトリとして配布してくれるサービスである。 以前はタグを作る必要があったが、現在はコミット ID をバージ…

Jenkins Warning Plugin + Ant + Javadoc で警告を集計

環境 Windows Server 2012 R2 Java 8 u45 Jenkins 1.609 Ant 1.9.4 Jenkins Warning Plugin 4.47 という環境で Javadoc が出すエラー/警告を Jenkins Warning Plugin で集計しようとしたら結構大変だったのでメモ。 設定 プリセットされているパーサーだと A…

Munin の jstat__heap を Java8 対応にした

Munin で Java のヒープを監視するスクリプトに jstat__heap がある。このスクリプトが結構内容が古くて、 Sun JDK 5.0 BEA JRockit 5.0 対応と書いてあっていろいろアレである。とはいえ Java7 まではそのままで使えていたが、Java8 になってパーマネント領…