カテゴリー別アーカイブ: tool

wkhtmltopdf / wkhtmltoimageを使って画面キャプチャするバッチスクリプトを書いた

投稿日: 2016/10/31

にあるとおり、画面キャプチャツールを作るにあたって wkhtmltopdf が(自分の中で)最高だった話を書きます。

何が最高だったのか

こんな要望

  • 画面をキャプチャしたい
    • 記事とかの再校に使いたい
  • できればPDFにしたい
  • ローカルで完結させたい
    • サーバサイドでやってもいいけど、余計なものをいれたくない
  • プログラマー以外の人が使う
    • そのため、なるべく負荷が無い様に
  • そんなに工数をかけない
  • Windowsだ

に対して以下を調べてみた。

どれもこれも、あともう一歩。
そんな時、僕を救ってくれたのが wkhtmltopdf なのであります。
fireshot-capture-7-wkhtmltopdf-http___wkhtmltopdf-org_index-html-min
これの何がいいってプラットフォームごとにバイナリが配られていて、インストールしたら以下でポンっと出来るところ。

wkhtmltopdf http://google.com google.pdf

まじやばい。感動した。
そして、これを利用するバッチスクリプトを書いたので公開します。

shimabox/ecap: Easy Capture (簡単キャプチャツール)

Easy Capture – 簡単キャプチャツール -  
略してecap (イーキャプ) です。
※ イーカップではありません

  • CSVファイルに書かれている値 (URL,ファイル名(拡張子無し),出力タイプ(pdf or img)) を見て、画面キャプチャします
  • 画面キャプチャは pdf or jpg で出力します
  • wkhtmltopdf に依存します

続きを読んでみようかな…

【PHP】Cookieの検証 (保存出来る最大サイズを調べたり、圧縮した文字列をセットしてみたり)をしてみた – 2016年5月

投稿日: 2016/05/15

クッキーはソフトなものよりハードな方が好きです。
というわけで、ちょっとだけCookieの検証をしてみたので書いてみます。
PHPです。

何の検証をしたのか

  • cookieにセットする値の長さが4096byte以上(値 >= 4096)だとcookieにセットされない(無視される)
    • もともとセットされていたcookieは上書きされない
  • cookieにセットする値の長さが4096byte以上(値 >= 4096)でも圧縮した結果、4096byteより小さい(値 < 4096)場合、cookieにセットされている
  • cookieのサイズ制限にはcookie名の長さも含まれる(セットする値の長さ + cookie名の長さが対象になる)

を検証しました。
※ 1クッキーの最大サイズ(byte)で一番小さい値が4096byteだったので4096byteを基準にしています (下記、検証にあたって参考にしたサイト参考)
※ cookieにセットする値の長さは、URLエンコード後の長さ(byte数)です

検証にあたって参考にしたサイト

検証してどうだったのか

こんなんでました。 ※OperaとAndroidは(ry

OS ブラウザ 1クッキーの最大サイズ(byte)
MAC OS X El Captain Chrome 50.0.2661.102 (64-bit) 4096
Firefox 46.0.1 4097
Safari 9.1 4097
Windows7 Professional 32bit Chrome 50.0.2661.94 m 4096
Firefox 46.0.1 4097
IE Edge (既定) 5117
IE 10 (エミュレーション) 5117
IE 9 (エミュレーション) 5117
iOS 9.3.1 Safari 4097
Chrome 50.0.2661.95 4097 ※PCと違う!!

検証結果は(ほぼ((PCのchromeと、iOSのchromeで最大サイズに違いがあるのはビックリ!!)))期待する結果となりました。

4096byte以上の値をセットする時も、値を圧縮して4096byteより小さくなればセットされる事も確認出来ました。※chromeだけじゃなくて、他のブラウザもそれぞれの閾値で確認しました

どうやって検証したのか

こういうのを作って、ちまちまとやりました。

https://shimabox.net/sample/php_verify_cookie/

  • 任意のcookieをセット出来る
    • 文字列だけだけど
  • デフォルトで4095, 4096, 4097, 5117, 5118byteの文字列を用意
  • cookieにセットされている値とセットしたい値(postした値)に差分があれば、差分ありと表示される
  • cookie削除の機能は無いので試した後は適当に消してください
    • 試しているとBad Request Your browser sent a request ...が出たりします

ソースはやっつけで作ったので汚いですが一応
https://github.com/shimabox/sample_php_verify_cookie

続きを読んでみようかな…

Yosegakkyにジョジョ風味を加えてみる

投稿日: 2016/05/08

メメタァ

というわけで、GWが終わりますね。どう過ごされましたでしょうか。
僕は、おチビさん二人を引きずり回し(回され)ながらGWを過ごしました。

そんなどうでもいい事はさておいて、いきなりメメタァとわけの分からない言葉で始まりましたが、知っている人には当たり前?のフレーズですよね。

そうです、これは「ジョジョの奇妙な冒険」に出てくる有名な擬音語です。
メメタァとは (メメタァとは) [単語記事] – ニコニコ大百科
(僕は、ぶっちゃけ何を意味しているのか全くわかりません)

さて、なぜこんな事を書いたかというと先日書いたYosegakkyで送別した人がジョジョ好きだったんですね。
で、まぁ、普通のやつじゃあつまらないと、なんとかジョジョ風味を出したいと、いきり立ちまして少しジョジョ風味を出して披露してみましたよ。と、そんな事を少し書きます。

とりあえずこんなやつ作った

https://shimabox.net/labs/yosegakky_jojo/

特徴

  • ジョジョフォントをタイトルとローディング部分で使っている
    • それだけ
  • ジョジョフォントは以下2つを使っています
  • これらのフォントを使用する場合、各フォントの使用規約に注意してください

続きを読んでみようかな…

簡易寄せ書きツール(Yosegakky)を作った

投稿日: 2016/04/29

というわけで、簡易寄せ書きツールを作成/公開しました。

shimabox/yosegakky

これは何?

  • 簡易寄せ書き作成ツールです
  • download したら簡単に寄せ書きっぽいものを作れる様にしたつもりです
  • そのため昨今のビルドツールは使っていません 僕が使えません
  • ローカルで動くので寄せ書きのメッセージなどを設定したら、みんなで見たりとか、zipなんかにしてプレゼントしたりとかそんな感じです

デモ

demo1 こんな感じです。

どうやって使うの?

Yosegakky – 簡易寄せ書き作成ツール に色々書いています。

続きを読んでみようかな…

MAMPで好きなPHPのバージョンを(大体)選ぶ

投稿日: 2014/11/23

せっかくの三連休だけど子供が風邪をひいていて機嫌がすこぶる悪いです。
※ こういう時って大体パパに冷たくなる気がする

昨今VagrantだとかChefだとかで、MAMP?wwwみたいな声が聞こえてきそうだけど手元でサクッと確認したいならまだまだMAMP(XAMPP)がやっぱり便利かなぁってぼかぁ思うんだ。
PHPのバージョン変えて試したりだとか、なるべくサクッとやりたいですよね。

でも、MAMPってインストールした後だと一番新しいマイナーバージョンとその次に古いマイナーバージョンのPHPしか選べない。
※ 今現在(MAMPのVer3.0.7.3)だと、PHP5.6.2とPHP5.5.18
※ 案件によっては今だに5.2系とかの環境とかあって、最新すぎてもちょっと辛い(勉強にはもってこいだけど)

それは嫌だなぁ。せめて5.3系と5.4系は試したいよなぁ。出来れば5.2系も試したいよなぁ。(切実)

といういきさつがありMAMPで好きなPHPのバージョンを(大体)選べる方法を調べたので、自分用としてもここに残しておきます。
※ ただ、MAMPが用意?しているバージョンしか選べませんのであしからず → だから大体

注意点

MAMPはVer3.0.7.3を使います。
※ これ以外のバージョンで下記方法が使えるかどうかは不明です

目次

  1. MAMPのインストールとか
  2. 好きなPHPのバージョンを選択
  3. 好きなPHPのバージョンを選択2(ビルドナンバーも近づける)
  4. まとめ

続きを読んでみようかな…