UPLOAD_ERR_PARTIALのシミュレーション
UPLOAD_ERR_PARTIAL を発生させる手順のメモ。
ファイルアップロードの途中でTCPセッションが切れた場合などにこれになる。
モバイル端末など、細い回線で発生しやすい。
このエラーを再現させるには、Content-Length に満たない multipart なリクエストを送り、途中で切断すればよい。
これで「ファイルの送信中に回線切れ」のような状況を作れる。
ncでできる。
$ nc <ipaddr> 80 POST /recvFile.php HTTP/1.1 Host: www.example.com Content-Length: 500000 Content-Type: multipart/form-data; boundary=---------------------------12345 -----------------------------12345 Content-Disposition: form-data; name="img1"; filename="hoge.jpg" Content-Type: image/jpeg aaa ### ここで Ctrl+C で nc を止める(切断) すると、UPLOAD_ERR_PARTIAL が発生する
recvFile.php
<?php $line = var_export($_FILES, true) . "\n"; $logfile = __DIR__ . '/test.log'; error_log($line, 3, $logfile);
A5M2
GUIなSQLクライアントかつ、DBからER図をリバース生成できるツール。
Windows用の、なかなか歴史のあるツール。
とくに気に入っているのが、ER図に手動で追加したリレーションを消さずに、最新のスキーマ情報をDBから再取込できるところ。
- ER図とデータベースの同期(DB→ER図)
- 「データベースに外部キーとして存在しないER頭上のリレーションシップを削除しない」にチェック
良し悪しは置いておいて、ForeignKeyを採用しないプロジェクトはけっこうある。
するとリレーションはリバース生成できないから手動でER図に追加することになるのだけど、多くのツールは再取込するとこれが消えてしまう。
これが理由で MySQL Workbench などに乗り換えられずずっと使っている。
コメントをタブ文字や改行で区切って~のルールをプロジェクトに採用できるかはちょっと微妙だけど、採用できたならDB定義書のHTML/Excel出力までワンクリックでできちゃう。
windows 限定なのが惜しいところ。
Boostnote-0.8.16
Boostnote-0.8.16
markdownエディタとして使える Boostnote を試してみた。 Windows版の0.8.16。
インストーラを実行すると、有無を言わさず %USERPROFILE%\AppData\Local\boost
にインストールされるので注意。
いいところ
- 見た目は綺麗
- カラースキームも色々用意されている
- エディタとプレビューがワンクリックで切り替えられる
- 見た目は綺麗
悪いところ
その他特徴
Mac/Win/Linux/iOS/Android にアプリが用意されているし、
おそらくevernote的なものを目指しているのだろう。
ちゃちゃっとmarkdownを編集したいだけの私には不向きだった。 残念。
forefox52ESRの「以前のセッション」をfirefox57へ移す
噂のfirefox57をお試し中。
確かに体感できるくらい高速になっていると思う。
でも使い慣れたアドオンの代替がみつかるまでは当分52ESRのままだよね。
ブックマークは普通にexportできるからいいのだけど、
「以前のセッション」(前回終了時に開いてたタブ群) を移行したかったのでその方法を調べた。
MSYS2のパッケージャ、pacman
pacman -Sl で利用可能なパッケージのリストが得られる。
例えば lz4 を入れたい場合はこんな感じになる。
$ pacman -Sl | grep -i lz4 mingw64 mingw-w64-x86_64-lz4 1.8.0-1 $ pacman -S mingw-w64-x86_64-lz4 resolving dependencies... looking for conflicting packages... Packages (1) mingw-w64-x86_64-lz4-1.8.0-1 Total Download Size: 0.11 MiB Total Installed Size: 0.90 MiB :: Proceed with installation? [Y/n]