ぶるーすくりーん

ぽんこつプログラマ日記

エアコンを家の外からスマホで操作する

家電を家の外や別の部屋からスマホで操作するようにしてみた記録です。 できるようになること できあがり 構成 やることの流れ IFTTT の設定 スマホにボタン配置 感想 できるようになること スマホで「1F暖房」ボタンを押下すると、1Fのエアコンを暖房モ…

Google Home から音声でエアコンを制御する(Raspberry pi 3 と LIRC)

Google Home で家電のリモコン制御に挑戦してみた記録です。 また、ほぼ同じ構成・設定で、IFTTT のトリガーを追加するだけで、家の外から家電を操作することが可能になる、こちらの記事も合わせてどうぞ。 mid0111.hatenablog.com できるようになること で…

Google Home から音声で Google Fit にアクティビティを追加する2(nodejs・Google Fit 編)

この記事は、Google Home から音声で Google Fit にアクティビティを追加する1(Firebase・IFTTT 編) のつづきです。 node.js アプリを作成し、Firebase の読み取り、Google Fit へのデータ登録を行っていきます。 抜粋で説明しているため、ソース全体はGi…

Google Home から音声で Google Fit にアクティビティを追加する1(Firebase・IFTTT 編)

Google Home から IFTTT、Firebase 経由で◯◯するという記事はすでにいくつかありますが、仕様変更のためか動かなかった部分があったりしたので自分なりにまとめてみました。 以下の記事を参考にさせてもらいました m( )m qiita.com qiita.com できるようにな…

ネット接続できないオーディオを Google Play Music プレイヤーにするやつ書いた

GPM Play Server 仕組み Google Play Music からライブラリの音楽取得 コマンドでサーバ上の音楽再生 スキップ、停止 現在流している音楽をブラウザに表示 つくってみて GPM Play Server ウチのオーディオシステムはネット接続できない。 Google Play Music …

エンジニア向け LINEスタンプ うず丸さん 作成しました

先日LINEスタンプを初リリースしました。 もともとデザインとかお絵描きとかの経験はなかったのですが、無事リリースすることができました。 リリースしたスタンプはこちらです。 エンジニアやプログラマー向けのスタンプを盛り込んでいます。 よろしければ…

Redux の考え方(基礎編)

そろそろ Redux 入門するかーと思って調べはじめたけど、結構難しかったので調べたことをまとめておきます。 たぶん、次回は Async のあたり読んで API コールとかどうすればいいの? のあたりを調べる予定。 はじめに Redux なんで使うの?とかはここでは記…

Promise な関数を mocha でテストする

Promise 使った関数のテスト書こうとしてハマったのでメモ。 普通にdoneを使って実装したところ、アサーションに失敗した場合に、タイムアウトエラーになってしまう。 「expect は hoge なんだけど実際は fuga だったよ」って言ってほしいのにタイムアウトエ…

Node + Express のルーターをテストする

なんかいろいろ基本的なとこからわかってないなぁと最近思う。 ので、自分のできないとこ、できるようになったとこを当たり前のことでも書き残していきたいなぁと思ったので、これからしばらく基礎に立ち返りつつ、日記書くように努力してみます。 とりあえ…

gulp + node + express で BrowserSync 使おう

以前、 gulp+node+expressでlivereload使いたい って記事を書いたのですが、その BrowserSync 版です。 gulp + node + express で BrowserSync 使おう。 サーバサイドを node + express で実装しつつ、クライアントも同じプロジェクトで扱うようなプロジェ…

AWS の API Gateway について調べてみた

Amazon API Gateway というサービスがちょっと前に発表されました。 このサービスを利用すると、Amazon lambda function から REST API が作成できるそうです。 つまり、Amazon lambda にロジックを書いて、DynamoDB や S3 でデータ永続化を行うことで、サー…

結婚式で写真共有サービスを公開した話

先日、結婚式を挙げてきました。 その際公開した写真共有サービスについての制作記録です。 サービスをつくろうと思ったきっかけ 最近の式場というのは 「お2人らしい結婚式にするために、何かテーマを決めるといいですよ?」 「お2人の共通点とか」 「デ…

Dockerでansibleを実行してEC2インスタンスをプロビジョニング

ansibleでDockerコンテナをプロビジョニングする例は割りとあるのですが、ansibleをDockerで実行してリモートホストをプロビジョニングするって方法があまり見当たらなかったのでメモ。 ついでに、EC2インスタンスをプロビジョニングにするためには、pemファ…

dependencies should be a map - Circle CI

いや、たぶん自分の凡ミスに違いないと思ってましたが。 ちょっとスクリプトでアグレッシブなことしてみると、やっぱスクリプトの内容的にできないのかな・・・とかいう気分になってしまうものです。 で、15回以上見なおしてたら、やっと凡ミスがみつかりま…

httpsでLiveReloadを使おうとしてちょっとはまった話

https(SSL)環境でLiveReload使おうとしたら、LiveReloadしてくれなくってちょっとはまった話。 LiveReload は開発時に使用するものだから、https で使うって今までなかった。 けど、Baas 使ってアプリつくろうと思ったら、あれ、LiveReloadきかないじゃん…

personium.io を Docker 環境でたててみる

先日、personium.io という Baas がOSS化されました。 で、個人的に最近 Docker のポータビリティなとこにとても惹かれていて、personium.io も Docker でさっと動かせたらいいなーと思って試行錯誤してみたので、その記録。 つくってみた Dockerfile。 環境…

gulp+node+expressでlivereload使いたい

動機 ソースコード修正したら、サーバ再起動→ブラウザリロードとかいろいろ捗らないので、ソース修正があったら自動でサーバ再起動〜ブラウザリロードまでしたい。 さらに、gruntじゃなくてgulp使いたい。 ちなみに、expressとか使わずにクライアントサイド…

Jenkins の JOB を一括で無効化する Hubot script を公開してみた

Jenkins で特定の JOB を一括で、無効化/有効化したかったのですが、それらしいプラグインとかツールが見つからなかったので、 Hubot スクリプトにしてみました。 npm package 仕組み JOBの有効化/無効化が Jenkins で公開している Rest API に見当たりま…

Mac で Docker 使うときのポートフォワーディング

Macでのポートフォワーディングわからなくて調べてみたらがっつり公式ドキュメントのインストール手順にのってた。 インストール手順すら、ちゃんと公式読んでいなかったんだな。。 ポートフォワードの仕方 例えば nginx で公開してるページをホストのブラウ…

Docker使うときのメモ on Mac

Macで動作確認とかする用にさくっと Docker 起動できるようにするまでの道のりメモです。 インストール Install $ brew install docker boot2docker boot2docker 起動 MacでDocker使うにはBoot2dockerというDockerサーバーをVM上でたてる必要がある。 $ boot…

Polymer 関連で調べたことのまとめ(FOUC, CSSセレクタ編)

Polymer に魅了されてしまった今日このごろ。 Polymer 関連で調べたことをまとめておきます。 Polymer FOUC prevention FOUC? Flash of Unstyled Content CSSが適用されていないコンテンツが一瞬表示されること FOUC の回避方法 Polymer で Custom Element …

Polymer Custom Elementを作成してみる

前回Polymerを使ってみて、Web componentってステキな仕様だなと思ったので、使ってみるだけでなくCustom Elementの作り方について学んでみました。 いろいろ読んでるうちに、Polymerってこれから来る(かもしれない)Web component時代のためのすてきメソッ…

レスポンシブなサイドメニューを表示させる

絶賛クライアントサイドお勉強中です。 ここ数日レスポンシブなメニューの表示の仕方について、がちゃがちゃやってたのをまとめます。 最近のモバイルアプリで、左からメニューがしゅっと出てくるタイプの真似をCSSでやってみました。 もっとこうした方がい…

Polymerをつかってみた

Polymerちょっとサイトを見たくらいで、いじいじしてなかったのですが、やっぱ触りだけでも押さえておいた方が来たる未来に備えてよいかなと思い、さわってみました。 インストール $ bower init $ bower install --save Polymer/polymer $ bower install --…

BrowserSyncでうきうきレスポンシブ対応アプリ開発

Google Web Starter Kitを利用していて、とても気持ちよかったのでBrowserSyncについて調べてみました。 何するもの? レスポンシブデザインのWebサイトを作成する場合、たくさんのデバイスを使ってテストする必要があります。 BrowserSyncを使うと、ブラウ…

apt-get updateでxxx:http へ接続できませんと言われたら (Linux Mint / Ubuntu)

現象 mongodbをaptで新しいLinux MintにInstallしようとしたら、下記みたいなエラーが出た。 W: http://downloads-distro.mongodb.org/repo/debian-sysvinit/dists/dist/Release.gpg の取得に失敗しました downloads-distro.mongodb.org:http へ接続できませ…

うわさのChest.jsでroot直下の管理ファイルを整理してみる

watilde/chest Nodeでサーバサイドかいてー、フロントエンドのJavascript実装してーとかいうと、package.jsonとかbower.jsonだとかGruntfileとかGulpとかもーroot直下うるさいよ!ってなる。 それを.chestディレクトリにしまっちゃおうぜってコマンドです。 …

Google Web Starter Kitをさわってみた

Web Starter Kitは先日リリースされたGoogle製のWeb制作スターターキットです。 マルチデバイス対応のレスポンシブなBoilerplateとなっているとのこと。 とりあえず、使ってみて触り心地を確認してみます。 環境 Linux Mint 16 Petra(Cinnamon 64-bit) Web S…

Node.jsを使ってCommand line ツールことはじめ

Node.js使ってCommand lineツールがつくれるということを知ったのでさっそくためしてみます。 jsファイル作成 hello-nodejs-command.jsという名前でスクリプトファイルをつくってみます。 nodejs interpreterで実行させるためのおまじないとして#!/usr/bin/e…

Vagrant の provision を Ansible で行う

Vagrant の provision を Ansible で行う方法を紹介します。 Ansibleの使い方については、Ansibleをためしてみた を参照してください。 流れ Vagrantfile作成 ここにAnsibleでprovisioningを行うための設定を記述します。 Inventoryfile作成 ここでAnsibleに…