starman にPLACK_ENVを渡さないと、PLACK_ENV=depoymentになる

Qiitaに書いたものの転載

タイトルそのままです。

starman コマンドのデフォルトのPLACK_ENVはdepoyment になるようです。

久しぶりに触ったので小一時間悩んだ。。。

starman  -e 'sub { [q{200}, [ qw(Content-Type text/html) ], [ $ENV{PLACK_ENV} ] ];}'

curlで叩いてみる

$ curl http://localhost:5000
deployment

plackupから叩くと development になります。

plackup -s Starman  -e 'sub { [q{200}, [ qw(Content-Type text/html) ], [ $ENV{PLACK_ENV} ] ];}'
$ curl http://localhost:5000
development

自転車のオーバーホールの記録

長男が乗っていた自転車を次男が乗るために整備した時の記録

 

補助輪をつけるだけのはずが3時間コースに。。。

 

フリーが異音出していたので分解して錆びていた球を交換

f:id:ywatase:20180414145456j:imagef:id:ywatase:20180414145513j:image

錆びた球を6個入れ替えました。

球を買っておいてよかった。

 

工具はコレ。

パークツール(ParkTool) ピンスパナ SPA-2 https://www.amazon.co.jp/dp/B005JAM0FY/ref=cm_sw_r_cp_api_mWz0AbAMMYZPM

 

球はコレ

シマノ  鋼球(1/8) 50個 https://www.amazon.co.jp/dp/B006JVYUEQ/ref=cm_sw_r_cp_api_v2z0AbFVJF7RK

 

チェーンが砂だらけなのでパーツクリーナーで洗浄

f:id:ywatase:20180414145534j:image

洗浄前の砂だらけの写真撮ればよかった

 

ハンドルを後ろから操作するためのワイヤーが切れていたのでワイヤー交換

f:id:ywatase:20180414145605j:image

 

 

 

途中の作業風景

f:id:ywatase:20180414145722j:image

 

完成

f:id:ywatase:20180414150857j:image

 

 

PerlからHeadless chromeを叩く

chromeOptionsをどうやって渡すのかと悩んでいたけど、podのextra_capabilitiesを手がかりにソースを検索したらすぐでてきた。

Selenium::Remote::Driver - Perl Client for Selenium Remote Driver - metacpan.org

use Test::Selenium::Chrome;
Test::Selenium::Chrome->new(
    extra_capabilities => {chromeOptions => {args => ['headless', 'disable-gpu', 'window-size=1920,1080', 'no-sandbox' ]}}
}

これでdocker上でテスト動かせれる。

ECRのログインで error getting credentials - err: exit status 1, out: `User interaction is not allowed.`

$(aws ecr get-login --no-include-email --region ap-northeast-1)

ecrにログインしようとしたら、こんなエラーメッセージがでてログインできず。

error getting credentials - err: exit status 1, out: `User interaction is not allowed.`

DockerのpreferenceのSecurely store docker logins in macOS keychainのチェックがついていたので外して解決。

参考にしたもの github.com

homebridge を自宅に導入

homebridgeを導入した事でCLIベースで設定していた自宅の環境を家族でも設定変更出来るようになった。

 

子供達がYouTubeをずっと見てしまうので、以前から自宅のunboundでYouTubeDNSを引けないように設定できるようにしていた。

 

が、設定変更がCLIベースだったのでイマイチ運用されてなかった。

 

今回homeアプリで設定できるようになったのでやっと運用にのりました。

 

homebridgeで状態を管理しているから、今ONかOFFかも見れるようになったのも地味に便利。

MyNA会行ってきた

MyNA会に久々に参加してきました。

 

Relational and Document Databases with MySQL

@RDBMS さん

MySQL 5.7.12のお話。

資料が公開されてます

  • JSON周り
  • X Plugin / X DevAPI
  • mysqlsh   あたりの話。   X Pluginですごく速くなるっていう話はPerconaの記事がわかりやすいらしい。

  Perconaの記事:Asynchronous Query Execution with MySQL 5.7 X Plugin

MySQL 5.7 supports X Plugin / X Protocol, which allows (if the library supports it) asynchronous query execution. In 2014, I published a blog on how to increase a slow query performance with the parallel query execution. There, I created a prototype in the bash shell. Here, I’ve tried a similar idea with NodeJS + mysqlx library (which uses MySQL X Plugin).

TL;DR version: By using the MySQL X Plugin with NodeJS I was able to increase query performance 10x (some query rewrite required).

確かに書いてある。

あと、mysqlshは開発ブログの記事はこちら

mysqlsh から jsやpythonで直接叩けるということで、JSON周りの開発や運用時にとても便利そう。

Percona Live 2016行ってきた

@mita2さん

  • Group Replicationの話
  • AlibabaのMySQLチューニングの話
  • MySQL Toasterの話。

Group Replication

Group Replicationは色々夢が広がるけど、Transactionの制御が恐らくGalera clusterと同様Commitが早い方が優先されるのは、要注意かな。

挙動的にRead-Commited前提かな。

またノードダウン時に自動的に復旧してくれるのは嬉しい。今後に期待。

AlibabaのMySQL

innodbのレイヤでゴリゴリいじってて、独自SQLがたくさんある代わりに次バージョンは100倍くらい速いらしい。

これかな。

www.percona.com

Toaster

MySQLで make_toaster(250) とかで toaster(物理)を焼くらしい。

元々MySQLのbug #2がtoaster焼けないよっていうバグが登録されているのを踏まえたネタらしい。

他の発表

後で書く