Googleスプレッドシートでゼロ埋めをする
GoogleDocのスプレッドシートで左側ゼロ埋め(ゼロプレサス)をする方法について。
例えばこんな処理をしたいとき。
例)3桁で0埋め
1 => 001
12 => 012
以下の関数で実行出来ます。
=text(数字,"000")
数字部分はセルの指定でもOK。
例えば数値「123」を10桁のゼロ埋めをしたい場合は
=text(123,"0000000000")
とすると
0000000123
となります。
gitでいらないbranchを一気に削除する
いらなくなったブランチを消したいときに実行。
自分が現在いるブランチ以外のブランチに対して実行されます。
マージ済のブランチをまとめて削除するには以下のコマンドを実行
$ git branch --merged | grep -v '*' | xargs -I % git branch -d %
マージ関係なくまとめて削除するには以下のコマンドを実行
$ git branch | grep -v '*' | xargs -I % git branch -D %
(「-D」コマンドでマージされていないコミットがあるブランチを強制的に削除)
FacebookのOGPタグを更新する際に注意すべきこと!
ホームページにFacebookのいいね!ボタンやシェアボタンを最近は当然のように設置すると思います。
そこでFacebookに表示される画像やタイトルをOGPに設定するのですが、その内容を更新しようとするとソースコード上で修正するだけでは上手く適用されません。
多分Facebook側でキャッシュか何かに残っているからだと思います。
そう言った場合は、Facebook developersデバッガーページでリフレッシュさせることが出来ます。
Facebook developersデバッガーページ
こちらのフォームにURLを入れて「デバッグ」ボタンを押すだけです。
画像の差替えは要注意!
更新時に、画像を変更する場合は同じ名前の場合、上手く変更したことをデバッガーを通しても認識してくれないことがあります。
そういったときは一番簡単なのは画像の名前を変更すること。
ちょくちょく陥る罠なのでメモしときます。
MySQL5.5と5.6のサブクエリ実行速度が1000倍以上違った件
メンバーの作った機能をテストしようとしたときのこと。
自分の環境で全く動かない画面があって、原因を探ると唯一の違いがMySQLのバージョンでした。
自分のMacに入っているMySQLが5.5系でメンバーのPCに入っているのが5.6でした。
MySQLは5.5から5.6になってサブクエリなどの性能が上がったとは聞いていましたが、
せいぜい1.5倍や2倍程度だと思っていました。
が、しかし!
実はMySQL5.5と5.6には1000倍以上の速度差があることがわかりました。
今回実行したのは以下のようなサブクエリ。
SELECT
hoges.*
FROM
hoges
WHERE
hoges.id IN (
SELECT
hoge_id
FROM
hugas
WHERE
(hugas.deleted_at IS NULL)
AND (hoge_id is not null)
)
AND hoges.hoge_state = 2
AND (hoges.deleted_at IS NULL);
MySQL5.5での結果(5回計測)
mysql> (14.75 sec)
mysql> (14.79 sec)
mysql> (14.81 sec)
mysql> (14.75 sec)
mysql> (14.89 sec)
MySQL5.6での結果(5回計測)
mysql> (0.01 sec)
mysql> (0.00 sec)
mysql> (0.01 sec)
mysql> (0.01 sec)
mysql> (0.00 sec)
MySQL5.5 平均: 14.80
MySQL5.6 平均: 0.01
単純に考えると1,500倍近く違うので驚きでした。
これでマイナーバージョンアップなのだからビックリ。
link_toでアンカーリンク(ページ内リンク)へ飛ばす方法
Railsのlink_toタグで
<a href="/hoge#huga">リンク</a>
というようなアンカーリンクタグへ向けたページ内リンクをさせるようにするためには
<%= link_to "リンク", :action => "hoge", :anchor => "huga" %>
とすれば良いみたい。
まんまやでぇー。