読者です 読者をやめる 読者になる 読者になる

結婚しました!! & 2016年振り返り

2016年も早いところであと1日となってしまいました。

皆さんお元気ですか。
僕は引っ越しのダンボールに囲まれて過ごしています。
2017年も1ヶ月位はダンボールに囲まれて生活する予定です。

それでは早速振り返っていきましょう!

2016年振り返り

実は2016年の前期目標に「外部発表を月イチでやる」というのを掲げていました。
(ブログとかには書いてない)
今まで社外では一度も発表する機会がなかったのですが、
以下の目的のために、自分に外部発表のノルマを課しました。

  • アウトプット癖を養うため
  • これから先、エンジニアとしてだけではなく人として成長するため
  • 会社の知名度を上げ、採用人数を増やし、自分の仕事を楽にするため

これは達成することが出来ました!

SymfonyMeetUp、PHPBLT、改善MeetUp、雑兵MeetUp、IDCフロンティア
のみなさまありがとうございました!

また、前期の経験がとても良いものだったので、
2016年後期も続けて交流・アウトプットを続けようと意識していました。

ただ、外部発表は仕事が忙しくなり、残念ながら継続出来ませんでした。
最低限、月イチで勉強会参加や交流会等に参加するようにし、
更に会社のエンジニアブログを必ず月イチで更新するようにはしていました。

会社としてのアウトプットはそれなりに出来ていたかと思うのですが、
今ひとつ個人のアウトプットは足りなかったかな、と反省しています。

2017年は会社のアウトプットを維持しつつ、個人も頑張ります!

2016年のGitHub

f:id:rela1470:20161231022438p:plain

去年より酷い。
去年も酷いのに今年悪化するとは...猛省です。

社内インフラやマネジメントに感けず、
エンジニアを名乗れるように頑張ります。

最近社内のシナリオライターさんに、
「えっ渡辺さんってプログラム書けたんですね!」
って言われて死にそうになりました。
ただの社内インフラの人になりかけている。危ない。

あ、一つポジティブな話題としては、初めてOSSへプルリクを投げました!
英語でむっちゃ怒られて涙目になったのは内緒。

そして結婚しました!

そしてそして、つい先日の12月25日に、会社の元同僚と入籍しました!
なんとお付き合いして2ヶ月のスピード婚でした。

自分達でも驚くようなスケジュールでの結婚になったので、
お世話になっている方々に事前にご報告できず、本当に申し訳ありません。

まだ奥さんを自分の親に顔合わせしていないくらい、
本当にいきなりの結婚になってしまいました。
自分の親のみならず、奥さんのご両親方々にもご迷惑をおかけいたしました...!

結婚はノリと勢いが大事だって誰かが言ってましたけど、
ノリで誕生日デートして、
ノリでお付き合いして、
ノリで物件見に行って、
ノリで同棲始めて、
ノリで結婚することになった
っていうのがここ2ヶ月の出来事だったのは、
今振り返ってみても本当にビックリでした。
(ノリって言ってますが、もちろん自分なりにキチンと考えた末の結婚です!ご心配なく!)

お付き合いはまだ3ヶ月目ですが、同僚としての付き合いは2年来なので、
特に気を揉むこともなく、毎日笑顔の絶えない家庭です!
早速尻に敷かれ始めている気がしないでもないですが...

当日お祝いしてくれたエグザイルスの健太郎さん、将人さん、お客さんのみなさん!
(お祝い事には必ずエグザイルスに行くようにしています!いつもお祝いメニュー頂きスミマセン!大好きです!生ハムとパエリアが本当に美味しいのでオススメです!)

FaceBookやLINE等でリアクションしていただいた100人近いみなさま!

婚姻届の証人を快く受けてくれた上杉社長!

本当にありがとうございます!2017年も頑張ります!

あ、お祝いもお待ちしております👀
わたなべ欲しいものリスト@Amazon

ESP-WROOM-02でトイレの空き監視システムを導入していた話

トイレが足りない

僕が務めている会社なんですけど、
社員70人に対して男子トイレ個室が2個しかないんです。
ちなみに法律は60人に1個あれば良いらしいんだけど、それ絶対無理でしょ。
厚労省の社員さんどんだけトイレ我慢してるんや....
トイレが足りなすぎて、外部で2回もトイレLTしてるくらいです。

2010年くらいからトイレ空き監視

ということで空きを可視化するのは必然だったんですよ。
お腹ゆるいし。死活問題。

外部LTの資料にも記載ありますが、最初は50mの延長コードでした。
で、オフィスが引っ越しした後、2013年くらいからずっとIoTで実現してました。

リプレイス完了

3年前くらいに作ったシステムなので、
有線LANだったり1個室に対して1システム必要だったりと、
使い勝手が悪くなってきました。

そこで昨日、ESP-WROOM-02で作りなおしたものを社内リリースしました!
www.switch-science.com
2000円弱でwifi内蔵マイコンとして動くとか世の中おかしい。いや、嬉しい。

HPだけでなく新たに廊下にLEDでステータスがわかるようにして、
別の階のトイレが空いたら真っ先に向かえるようになりました。

ESP-WROOM-02はArduino互換なので、特に難しいことなくプログラミング可能。
センサとビューア間通信はWebSocketを使ったんだけど、
それは社内で知見があったRatchetを使いました。
まあただのエコーサーバだけど。
socketo.me

ソースコード

特にソースコード整理とかしてないですが、ソースコード公開しておきます。 github.com

購入したパーツ一覧

今回は1フロア男女計2個室のセンサ、全体4個室分のLEDを実装したので、
12000円くらいかかりました。
最小構成だと3000円くらいかな?
参考までに買ったパーツも置いておきます。
ロボットケーブルが意外と売ってなくて困った。
www.switch-science.com akizukidenshi.com akizukidenshi.com akizukidenshi.com www.switch-science.com akizukidenshi.com akizukidenshi.com

UP by jawboneのAPIを触ってみた

Amazonのタイムセール、凄かったですねー。
訳分かんないくらい安いのがいっぱいありました。

Amazon.co.jp 2016年 Spring Time Sale f:id:rela1470:20160328182804p:plain
中でも気になったのがこれ。

いわゆるフィットネスバンドです。
定価が16000円もするのに、3480円ですよ。すごい。

ただ個人的に腑に落ちないのは、
僕が一週間前のセールで買っちゃってるってことですね。
f:id:rela1470:20160328195037p:plain

いや、5800円でも充分安いんですよ?
でも2320円ってあれですよ。
いきなりステーキで熟成肉サーロインが230gも食べられるじゃないですか。

ということで、非常に悔しかったので飛び入りLTしてきました。
(ただし、本当に飛び入りだったので資料はない)
以下、お話したことのまとめです。


UP by jawboneのAPIについて

いろんな会社から出ているフィットネスバンドですが、
jawboneのUPはAPIが非常に充実しているんです。

APIのエンドポイントが多いのもそうですし、権限が広く取れるのも嬉しい。
更にWebhookにまで対応してくれるなんて、非常に夢が広がりますね!

簡単なAPIテストならコンソールが用意されています。
ここを弄るだけでも楽しいです。

自分で実装する際には、githubで先人の知恵を検索すると良いです。
僕はいつもPHPを触ってるので、PHP実装のこれを参考にさせていただきました。

開発者登録

さて、では開発者登録を行いましょう。
開発者登録は企業でも個人でも出来るとのことなので、僕は個人名で登録しました。
f:id:rela1470:20160328195039p:plain

アプリ登録

開発者登録できたら、次はアプリ登録を行いましょう。
f:id:rela1470:20160328195036p:plain 名前は全世界でユニークでないといけない?適当にprefix付けましたが、ちょっと面倒でした。
後はアプリURL、認証URL、認証後のリダイレクト先の登録必須です。
f:id:rela1470:20160328195038p:plain
登録出来たら公開鍵と秘密鍵が発行されるので、適宜メモりましょう。
(後からでも参照はできます)
f:id:rela1470:20160328195035p:plain

jawbone-oauth-phpの場合

config.phpを設定します。鍵周りとURL設定、どの権限が欲しいか等が定義されています。
f:id:rela1470:20160328195034p:plain
設定した後、connect.phpにアクセスすると、jawboneの権限承認画面に飛ばされるはずです。
f:id:rela1470:20160328195032p:plain
承認された場合、callback.phpに転送され(アプリ登録で設定したURL)、GETパラメータでトークンが送られているはずです。
jawbone-oauth-phpのデフォルト状態では、User情報を取得できていることと思います。
f:id:rela1470:20160328195030p:plain
僕の現在の体重は67.8kgということがわかりました。

callback.phpをいじって、更に歩数履歴も取ってみました。
f:id:rela1470:20160328195031p:plain
デフォルトでは10日分の履歴が取れました。
中でも面白いのが、snapshot_imageとして送られてくる画像URLです。
該当データのグラフ等をpngファイルで用意してくれています。
f:id:rela1470:20160328195033p:plain
prefixはhttp://jawbone.com/です。

まとめ

以上、触りだけですがAPIのご紹介でした。
ぜひ皆さんも触って、健康になってください!

LT発表履歴

01月24日
Symfony Meetup #8
Scrutinizerの運用の仕方の紹介
 
02月19日
雑兵MeetUp #3
最近バズったトイレ空き監視を二年前からやってた話
 
03月01日
PHP BLT #3
GitHubが落ちた朝は...
 
03月27日
Symfony Meetup #10
UP by jawboneのAPIを触ってみた
 
04月13日
 
雑兵MeetUp #4
春の大幅アップデートのお知らせ
 
04月21日
PHP BLT #4
オンプレミスJenkinsをやっと葬り去った話
 
05月26日
コード改善 meetup #1
CircleCI小ネタ集
 
06月28日
ゲームのKPI管理を極める!ゲーム×データ分析活用セミナー
現場リーダーが直面したデータ活用における”3つ”のハードル
(資料非公開)
 
07月1日
雑兵MeetUp #5
努力する方向が間違ってる気がする
 
12月22日
雑兵MeetUp #8
冴えてる彼女(Bot)の育てかた

Symfony Meetup #8 まとめ + LTしてきた(Scrutinizerの運用の仕方の紹介)

ご縁がありまして、人生初のライトニングトークをしてきました。

symfony.doorkeeper.jp

社長にLTしてみなよーとは前から言われてたんですが、
気がついたら日時も話す内容も決まってて後戻りできない状態に。
社長強い。

 

Symfonyもこの日が初めて、LTも初めて、という初心者マークに機会を下さった、
日本Symfonyユーザー会の@kseta19には頭が上がりません!
本当にありがとうございます!

「Symfony2本」写経教室

さて、最初は@hidenorigotoによるSymfony2ハンズオン。

基本からしっかり学ぶ Symfony2入門

基本からしっかり学ぶ Symfony2入門

 

Twitterでも絶賛されている入門書で、低レイヤーなところから丁寧に説明してくれる本。
作者の方と第4章まで実際にコーディングしました。
一人でやってたらあんなに早くキャッチアップ出来なかっただろうなあと。

会社の後輩を連れて行ったんですが、自分のキャッチアップで精一杯で他の参加者の方に大変お世話になりました...
当日のリポジトリ

 

LT大会(以下箇条書きメモ)

リーダーとマネージャー」 by @qckanemoto
マネージャーは部下に対して強制力があるが、
リーダーは主体的に従う存在であるべきではないか

オレオレSymfonyを作る」by @DQNEO
ライブコーディングで、Symfonyの設計思想を1つずつ追っていた

自前のバンドルをSymfony3対応した話」by @fivestr
Symfony3をサービスで利用してる人はまだ居なかった
2と3の違いはそんなにない。Formがちょっと面倒になったくらい

「UUUMにおけるSymfony2開発環境」 by yamaguchi
makeファイルでコミットフック等の環境統一をするのは良いと思った
makeならインストールしなくても絶対に入ってるしなあ。
関連記事が上がってたので紹介

system.blog.uuum.jp

 

Scrutinizerの運用の仕方の紹介」 by @rela1470
自分のLT。噛みまくってテンパりまくりました。場数を踏むしかない
参加者の中で使ってる方も何人か居て、スコアが9以上ばっかりだったのが凄い

GITで失われた歴史を取り戻した話」 by @smdhogehoge
趣味はgit blame
git凄い、意外となんとかなる
git rebaseが職人技って話があって、
実は弊社の運用にこれがあるプロジェクトがあるので改善したい

「xorshift」 by @bto
乱数のアルゴリズムについて
メルセンヌ・ツイスタより周期が短いけどまあ充分か
単純な行列計算とビットシフトだけなので早い
行列は最近の義務教育では習わないらしい
高専でよかった(3年までだけど習った)(習ったけど単位は取れていない)

LisketでのSymfony活用例紹介」 by @hidenorigoto
権限管理の話とか
正直なところほぼわからなかった
Symfony歴0日の状態なので当然だけど...
入門書読破したあとに見直したい

感想メモ

CodeIgniter(を元にしたオレオレフレームワーク)しか触ったことなかったのでちょっと不安だったけど、思想は一緒なのでそんなに拒絶反応はなかった
Symfonyデバッグ機能が使いやすい
やはり技術を外に出すって大事だなーと
どれだけ会社がレガシーな状態に陥っているのか感覚がつかめた
今年は積極的に社会に出ていこうと思った
PhpStormを使わないとかありえない

THETA Sの物理リモートシャッターをつくる

とうとう買ってしまいました、THETA S。

前にm15を海外旅行に行った時にレンタルで借りたんですが、
旅行の空気感を保存するにはもってこいのツールですね。

ただ、撮影する際にどうしても自分が写ってしまい、
それが恥ずかしくてあまり友達等に写真を共有できないのが悩みどころ。
スマートフォンのアプリからリモートシャッターは使えますが、
いちいち起動するのも面倒くさい。(ライブプレビュー等がついて便利ではあります!)

そこでいろいろ考えていたところ、Github上で素晴らしいソースを発見しました。

github.com

youtu.be

スマホのアプリを起動せずとも、5秒くらいで繋がる物理リモートシャッターが作れるのです!
早速自分なりに作成してみました。

材料はすべてスイッチサイエンスさんで購入。

合計3,155円。
開発ボード以外はすべてオプションです。なくても動く。凄い。
自分は持ち運びしやすい大きさを目指したので、ボタン電池駆動にしました。

さて、プログラムの書き込み等はgithubの通りなので留意点だけ。

  • Macの場合、adruino IDEのバージョンは1.66以下じゃないとビルドが通らなかった
  • フォルダ構成をESP_ThetaRemote/ESP_ThetaRemote.inoにする必要がある(IDEがやってくれる)

そんなところでしょうか。
それ以外は特に詰まらずさくさくと行きました。

f:id:rela1470:20151218172043p:plainパーツ一覧。これを全部フリスクケースに入れる!!!

 

f:id:rela1470:20151218172054p:plainぐちゃぐちゃ...LEDやボタンはホットボンドで固定。

 

f:id:rela1470:20151218172058p:plainはい、無理でした。ボタン電池だけ外側に。とても怪しい。