作者別: カツラ

Slackからイベントを受信

社内でのチャットツールはSlackを利用しています。
でもメッセージを見ていなかったり気づかなかったりすることがあるので、社内では確認したという反応が欲しい時は@つきでメッセージを送り、Slackのリアクション機能を使うことで確認したかどうかを判断する運用を行なっています。

 

さてここで問題です。
連休やメッセージのやり取りが流れすぎた時@つきのメッセージを追えるのか?というところです。
どうしてもメッセージが流れすぎるとリアクション漏れが発生してしまいます。
そして誰が確認していないかを確認するのも手間です。他に方法を探しましたがSlackのShow Activityの機能では求めていることが満たせません。

 

自分の職種はなんでしょうか?プログラマーです。なければ作ればいいじゃない?
幸いSlackには色々なAPIが用意されています。
そして色々触って試行錯誤した末たどり着いたのは、こちらからリクエストを投げる形式ではなくSlackからイベントを全部受け取るという方法。

概略のみになりますが、

1. メッセージを受け取って@つきのもののみ保存
2. メッセージに対してリアクションがあればリアクション情報を保存
3. メッセージに対して対象の全員がリアクション完了するとメッセージを消す

 

上記の流れでまだ自分がリアクションしていない自分宛のメッセージ一覧を残すことができるようになりました!合わせて自分が発言したメッセージに対してリアクションしていない一覧もリアクションしていない人に対して再度通知することも!

今回は使っていませんが他にも色々とできるイベントがあるようです。
Slackのアプリ作成からEvent Subscriptionsで設定できます。


 
Slackはチャット以外にも何かしらの通知や連携など色々できて便利です。
そして足りなければ自分で色々機能を追加することも用意されている。
まだ利用していなければどうぞ業務に活用することをオススメします!


Google HomeとNature Remoで涼しい帰宅を!

毎日家に帰ると暑い部屋が出迎えてくる・・・そんな日々を変えたくて家にGoogle Homeを導入しました!

 

Google Home miniとNature Remo

 

左:Nature Remo:備え付けの旧式のクーラーなので赤外線のみ有効なのと遠隔で操作する為に購入。
右:Google Home mini:スピーカーの違いぐらいだったのでminiにしました。

 

届いた後の設定等はいろんなサイトが紹介しているのと、手順通りにすれば動いたので省略します。
ここでは導入した後の快適さを実感とともにアピールしたいと思います!

 

・帰宅前にスマホからクーラーを起動できるので帰宅した時の部屋の中は快適!(超重要)
・部屋の明かりを消すのにリモコンを探さなくていい!「ねぇ Google おやすみ」
・タイマーセットが簡単「ねぇ Google 3分測って」
・外出時のクーラーと部屋の明かりを消すのがラク「ねぇ Google 行ってきます」
・起きる時間にアラームとともに部屋の明かりをつけることができる!(重要)

 

ただし不満点が全くないとは言えません。

 

当初は外出するときに「ねぇ Google 行ってきます」と言って、IFTTTを経由して電気とクーラーを消してました。
しかし「行ってらっしゃい」としか反応してくれないことが何度かあったので、今では大体朝出てるだろう時間をトリガーに電気とクーラーを自動で消すようにセットして電気とクーラーをつけたまま外出するようになりました。
外に出るまで電気はついてるし消し忘れはないしで最終的にはこっちに変えて快適になりましたが、思った通りの動作をしなかったのは少し微妙に感じました。
あとたまに音声をちゃんと認識してくれないときもある。

 

それを踏まえても導入した後の快適さを考えれば購入費用はペイできてる気がします!
日々の生活を快適にするためにスマートホーム化はおすすめです!


VRで運動不足解消

基本的に用事以外は外に出ない
おうち大好きなカツラです。

 

家の中にこもりっきりなので1年に1度ぐらいは運動を始めるのですが、長続きしていません。
直近だと去年はプール、その前の年はジムにいってどちらも大体3ヶ月ほど行ってやめてます。

 

やめる理由としては
・雨の日に出るのが億劫になる
・汗をかいて家まで帰るのが面倒
・継続的にかさむ出費
・単純に筋トレやプール自体に飽きた

 

そうやって今年も同じくそろそろ運動をと思い出したところで今年はVRで運動を始めました!

まだ始めて少ししか経っていないですが、VRでの運動は今まで途中でやめた理由をほとんど解消できます!

 

・雨の日に出るのが億劫になる => 移動が不要
・汗をかいて家まで帰るのが面倒 => 風呂に入る前にやればOK
・継続的にかさむ出費 => ゲームソフトを買い切り
・単純に筋トレやプール自体に飽きた => 飽きれば新しいソフトへ!

 

これはみんなに伝えるしかない!ということで今遊んでる運動になるVR音ゲーを紹介したいと思います!

 

一つ目はこちら

ゲームとしてクオリティーが高いです。
個人的な感覚としては運動よりも音ゲーに比重が傾きますが、ゲーム自体面白いです!

曲もやって行くうちに解放されて行きストーリーもある音ゲーとしてほぼ完成されたようなゲームオススメの一品です!

 

二つ目はこちら

こちらは現状は早期アクセスゲームとなっていますが、運動をするなら1番おすすめです!

簡単に説明すると迫り来るブロックを斬って斬って斬りまくるゲームです。

ハードぐらいの難易度で2回ぐらいやると汗が出て運動になっていい感じです!
こちら切る方向をどこからでもできるモードなどがあるので、ストレス解消にも良さげで今の所1番おすすめです!

 

やり始めたきっかけとしては会社の健康診断の結果が思ったよりもヤバげだったというのもありますが、歳が経つにつれ体に無理がきかなくなることを考えると今のうちに少しでも運動をと・・・

 

同じように「運動不足」で「VR機器」を持っていて「遊ぶスペースが2mx1.5m以上」ある方はぜひ遊んでみてください!


江戸堀周辺のランチおすすめ

お昼は外食のカツラです。

さすがに3年近くも同じところにいると大体お昼に行く店は決まっていますが、それでも1、2週間に1度ぐらいのペースで新しいお店を開拓していってます。

生きるということは食べるということ。
どうせ食べるなら美味しいほうがいい!
ということで会社がある江戸堀周辺の個人的にオススメのお店を2つ紹介したいと思います。

1つ目は「いちごはん」
お昼に適当に彷徨いつつ小道を見つけて入ったところにあったお店。https://tabelog.com/osaka/A2701/A270102/27072138/

食べログのほうのランチメニューは古いっぽいですが、現在のランチメニューはこちら。
・鯖の塩焼き定食 750円
・豚丼定食 850円
・日替わり 850円


鯖の塩焼き定食も豚丼定食も両方とも美味しいです。
会社からは少し歩くので最近寒くて足が遠のいていましたが、焼き魚か豚丼が食べたくなったらまずこのお店に行きます!

 

2つ目は「グリル ピエロ」
 
https://tabelog.com/osaka/A2701/A270102/27002771/

ここは基本開店前から人が並んでます。
おじいちゃんとおばあちゃんがやっているお店で、大体行列なので時間がある時かたまに空いている時しか行けませんが、ここら周辺で美味しいハンバーグが食べたくなったらここに行きます!

以上、個人的にオススメなお店でした!

新しいお店は検索か足で回ってお昼に探していますが、ランチに特化したアプリやサービスが欲しいと思う今日この頃。
日替わりが分かったり、今開店している時間で絞り込めたりと、食べたいもので絞り込めたりできるものが欲しいです。


Laravel 5.1でQueueを使って困ったこと

 

技術系のメモ書き程度のことですが、メール送信処理や時間のかかる処理等をLaravelのQueueを初めて使って困ったところを書いておきます。

結論を先に書くと
1. listenよりworkを使う
2. ドライバーにdatabaseを使う場合は複数立ち上げない

1. listenよりworkを使う

処理の優先順や別々の機能等があり何個かQueue処理を作ってそれぞれlistenで立ち上げていたのですが、複数立ち上げていくとCPU使用率がどんどん上昇してしまい最終的にはちょっと実用に耐えられないぐらい上がってしまいました。

もともとlistenで立ち上げるとCPUを食うことは知っていましたが、listen1つでここまでCPUを使うとは・・・

こちらはlistenからworkに変更することで問題は解決しました。
全然CPUにかかる負担が違う。

2. ドライバーにdatabaseを使う場合は複数立ち上げない

基本的にはSQS等を使えば問題ないとは思いますが、当面は処理量も少なくまたローカル開発環境で手軽に使える為、ドライバーにdatabaseを使用していました。

特に処理も滞りなさそうに動いていたのですが、複数のqueueを立ち上げているとログに不穏なものが・・・

 

Deadlock found when trying to get lock; try restarting transaction

 

調べてみると、どうやらドライバーにdatabaseを使用して複数立ち上げると発生するっぽい。
とりあえず基本的に量が少ないうちだけdatabaseを使用して、処理量が多くなったらSQS等にドライバーを切り替える予定なので、当面は同じQueueについては1つのみ立ち上げる形で運用しています。

 

以上、LaravelでQueueを使って困ったことでした!

 

あとがき
次のLTS出たのでそろそろバージョンを上げたい。
・・・でもそんな時間がまだ取れないorz
いつになるかわかりませんが、5.1から5.5に上げた時に困ったことを記事に書く予定です。