一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

Railsの開発用サーバをPowからPuma-devへ乗り換えた

Rails5からデフォルトRackサーバがPumaになりました。開発用のサーバとして自分はずっとPowを使っていましたが、Pumaを使っているのであればPowではなくpuma-devが主流になっていると知って調べてみたところ、PowからPuma-devへの乗り換えを即決しました。 個人的にいいなと思ったのは以下の点。

  • Pow同様「zero-config Rack server」である
  • Websocketsをサポート
  • Linux対応(全機能を使うには追加のインストールが必要)
  • 開発が活発(Powは実質開発が止まっている)
  • powder相当のコマンドがPuma-devにはデフォルトで組み込まれている(puma-dev link)

Macでのインストール手順は以下のとおり。

$ curl get.pow.cx/uninstall.sh | sh # Powのuninstall
$ brew install puma/puma/puma-dev
$ sudo puma-dev -setup
$ puma-dev -install

これだけ。使い方は基本的にPowを踏襲していて、移行はスムーズにいけます。

$ cd /path/to/my/app; puma-dev link -n appname  #  Rackアプリを登録(~/.puma-devへシンボリックリンクを貼る)
+ App ‘appname' created, linked to '/Users/hoge/.puma-dev/appname'

http://appname.dev or https://appname.dev へアクセスできるようになります。 サーバの再起動もPowのままで、tmp/restart.txtをtouchするだけ。 また、puma-devにシグナルを送れば全アプリを一気に再起動できる。

$ touch tmp/restart.txt # サーバ再起動(Rackアプリの直下で実行)
$ pkill -USR1 puma-dev # 全アプリを再起動

しかしPowもそうだったけど「zero-config」で快適に使えるソフトって素晴らしいですね。 例えばfish shellもデフォルトの設定でかなり使えるという触れ込みなので、zshから移行しようかなと思ってたりします。

github.com

スマートフォンで速度制限がかかって気付いたUI

生まれて初めてスマートフォンで速度制限がかかった。

そんな状況で電車に乗っている時、ふとInstagramのアプリ(iPhone)を起動すると速度制限の影響を受けて画像を読み込むのに時間がかかってしまい、TL上の画像が全部ぼやけたまま止まっていました・・・やれやれと思って閉じようとしたのだけど、あれ?これってloading画像じゃね?と思ってよく見てみました。

f:id:yatmsu:20160903064331j:image

元画像にエフェクトをかけてぼかし、サイズを小さくした画像をまず表示しているんですね。それをloading画像に使っていると。なるほどこれは待ち時間を短く感じて良い。思いっきりボヤけているとはいえ、元画像をベースにしているのでなんとなくこんな写真なんだろうなーってのを想像できるし。

速度制限が解除された今でも確認できますが、通信速度が速いと一瞬でオリジナルの画像に切り替わってしまうので、自分は気付きませんでしたこれ。

そりゃあ、全国的に光が通っている国なんて少数派なわけで当然と言えば当然の対応なんだけど。
めっちゃ遅いネット環境があるという事を想定していなかった事に気付いたのがショックでしたまる。

ポケモンGoリリース後にiPhone6sユーザーが必要になるのはiPhone6s Smart Battery Caseだと思う

巷ではポケモンGoやりたいやりたい騒がれてますが、あんな位置情報を使うゲームをやったら絶対にバッテリーが足りないですよね。 殆どの人はモバイルバッテリーを持ち歩いてポケモンGoをやるんだろうけど、iPhone6sの人にはSmart Battery Caseを推します。 見た目とか重さとかのレビューはたくさん見つかるので、いいと思った点を短くまとまると、

  • 1日イベントなどに出かけてもバッテリーが余裕でもつ。
  • ケースにアンテナが内蔵されているので、電波の受信に影響が出ない。
  • 通知センターからバッテリーの状態を確認できる。さすが公式。

って、感じですかね。出っ張りがダサいとか、重いとか、ジョブズが泣いてるとか叩かれる事もあったけど、ポケモンGoが流行れば正直勝ち組なのではと予想してます。売り切れで入荷待ちになるんじゃないかなこれ。

添付ファイル送信後、2通目にパスワードを送るのは何故か

誰しもが抱く疑問。

3. メールに添付ファイルつけるときに、2通目にパスワード書くとかいうルールでやってるバカバカしさはなんだろう。
1通目は傍受されても2通目は傍受されないとでも思ってるのか。
前時代的セキュリティ滅ぶべし - 山本大の日記

自分も、何だよこのルール意味無いじゃんと思っていたクラスタなんだけど、ふとしたことで理由を知りました。 添付ファイル送信後に、2通目でパスワードを送るのは、誤送信を防ぐためです。

これは使っているメーラーだったり、サービスだったりで違ってくると思うのですが、仮に会社でGmailを使っていたとしましょう。 そして「山本○○」さんに対して社外秘な資料を添付メールで送信しようとします。 「山」と入力しただけでそれ以降の名前がサジェストされて補完されるはずです。 そこで間違って「山本○■」さん(お客さんなど社外の人間)をToに入力したまま送信してしまったとしたら・・・・。

そう、つまり誤送信に気付かせる為にメールの送信を2回に分けているということなんですね。 パスワードの流出を防ぐ為の対策ではないんですよ。 これはなるほどなぁと関心しました。 まあ、パスワードを平で送る部分はどうなんだろうと思いますけどね。

筋トレグッズのオススメ 2015年度版

去年買った筋トレ関連グッズのうち、おすすめのものをまとめた。

ハンドグリッパー

握力を鍛えようと思ってハンドグリッパーを探すと必ずこれに行き着く。 No.1以下4種類を購入しました。 目指せ花山薫!

握力計

[ノーブランド品] デジタル ハンドグリップ メーター 握力計

[ノーブランド品] デジタル ハンドグリップ メーター 握力計

自分がどれぐらいの握力なのか、計測したいので購入。 結構な値段がすると思っていたのに2千円以下だった。

トレーニンググローブ

古くなったり劣化したら使い捨てる自分にとって、現状ではこれがコスパ最強。

タイマー

DRETEC デジタルタイマー タイムアップ ホワイト T-186WT

DRETEC デジタルタイマー タイムアップ ホワイト T-186WT

今までインターバルはiPhoneのアプリを使っていたのだけど、筋トレ専用のタイマーがあった方がいいですね。

アンクルウェイト

レッグレイズを楽に何回も出来るようになってしまった為に購入。 2kgを最初は使っていたのだけれど、3kgぐらいがちょうどいい感じです。

体重計

iPhoneに記録したくて購入。 体脂肪率は下半身の体脂肪率のみだけど、InBodyの結果と比較したらほぼ同じ結果でした。

グルタミン

Kentai(optimum) グルタミンパウダー 300g

Kentai(optimum) グルタミンパウダー 300g

筋トレのみならず、激しい運動をした後は風邪を引きやすくなる。 というわけで風邪防止の為にトレ直後は摂取してます。 次の日の疲れも残りにくくなっていい感じ。

広告配信サービスで自分がやりたかったこと

ここ数年、自分が思っていたことが書かれているブログを見つけた。 (2015年5月時点でのDSPの状況について書かれているブログだけど、本質的なところが自分に響いた。ということです。DSPに関しては自分も将来性のあるサービスだとは思っています。)

アドテク業界の動きをみていると、アドテクにとらわれてビジネスの基本を疎かにしていることが多いように見えます

広告配信サービス成長法の基本 - DSPはなぜアドネットワークに勝てないのか

自分は約3年半ほど某アドテク系企業で働いていました。基本的に管理画面の開発を担当していました。(今年の5月に退職) この期間はちょうどDMPやDSPが広がっていった時期と被っていて、まさに引用した内容の通り「アドテクにとらわれて」開発をしていたなと思います。 バズったキーワードがあると飛びついて実装する感じですかね。社内も社外もアドテクに詳しい人達が率先してそんな動きをしている感じでした。 アド系の知識が乏しい僕はアドテク業界ってそういうものなのかなぁ、と思いながらコードを書いていたけど違和感を感じていた事も事実で、 これってユーザーの望んでいる事なのか?流行りに飛びつくんじゃなくて、もっと本質的な事に力を入れるべきなのでは? 自分の場合それは・・・

  • 広告主の業務を効率化すること
使いやすい管理画面の提供など

  • メディアの業務を効率化すること
使いやすい管理画面の提供など

  • 広告価値・メディア価値を高めてあげること
マッチングの精度を上げること、広告表現方法を増やすこと、コンサル、など


以上のことが優位で実力があれば、広告予算は増え、メディアの掲載枠も増え、口コミで実力が伝わります。広告配信サービスを一定規模以上に成長させるにはこの実力が必須条件です。

広告配信サービス成長法の基本 - DSPはなぜアドネットワークに勝てないのか

「使いやすい管理画面の提供など」 これ!管理画面担当だったし、まさにこれをやりたいと思っていた。 UIの改善をしていって、どんどん使いやすい管理画面にブラッシュアップをしていくようなイメージですね。 自社サービスを提供している会社に入れば、それが出来ると思っていた。 ところが実際は新機能の実装を優先したいという勢力が強く、自分の提案は通らないことが多かったのが現実でした。 ・・・ただ、新機能や新システムに力を入れたくなる気持ちも分かるんです。 新機能を実装すればメディアにプロダクト名が出たり、それをキッカケに営業がしやすくなったりするからついそうなってしまう。 他社もやっているわけで、自分のところだけ作らないわけにはいかない・・・という状況もある。

ここでどう動くかが勝負の分かれ目だったのかもしれない。ネンドさん、アイモバイルさんは正しい選択をとった。

  • ①配信方法が枠毎の広告効果によって枠毎に入札単価を自動で変動させる ※DSPは配信先を人を中心に決めます ※配信方法は選べる
  • DSPが流行る前からサービス開始 2社共DSPが流行る前から広告配信サービスを行っており、高度なアドテクを使わない時代に、いかにCPAを下げられるか考え抜いてきた歴史があります
  • ③管理画面が使いやすい
「ネンド」「アイモバイル」強者の共通点 - DSPはなぜアドネットワークに勝てないのか

この2社はユーザーファーストでプロダクトを成長させたのではないかと考えている。「ユーザーは何を望んでいるのか?」が論理の出発点になっているのではないだろうか。だからいい結果が出たのだ。 ユーザーファーストって当たり前のことだと思っていたのだけれど、これが出来ている会社って実は少ないんですよね。技術は面白いし、大事だけれど、踊らされてはいけない。最近ウェブ界隈も技術の進化が加速していて盛り上がっているけど、あくまでも"ユーザーファースト"でプロダクトを作っていきたい。

大江戸Ruby会議05に行ってきた

大江戸Ruby会議05に行ってきました。 午前中はRubyのI/Oの話(実装の話です)から始まって、CとかGoのソースコードばかり出てくるLTが続いたので非常にasakura.rbぽいなーと思いつつ聞いてました。 午後もやっぱり濃い内容だったけど、TwitterのTLでは江渡浩一郎さんの「共創コミュニティのデザイン」が一番沸いてた感じありますね。パタン・ランゲージが建築業界で衰退していった理由のくだりなどは想うところありました。 あと、山崎さんのNinjaTalkディスプレイ広告領域カオスマップが出てきた時違和感を感じたwあれっ?って。RubyKaigiでアレを見るとは思わなかった。そういえばスケールアウトさんってRubyな会社だよなって気付いたけど。