脳みそスワップアウト

揮発性なもので。おもにPHPのこととか。

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=---------------------------207781956315264

-----------------------------207781956315264
Content-Disposition: form-data; name="img1"; filename="hoge.jpg"
Content-Type: image/jpeg

aaa

### ここで Ctrl+C で nc を止める(切断) すると、UPLOAD_ERR_PARTIAL が発生する

A5M2

A5:SQL Mk-2

GUISQLクライアントかつ、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 にインストールされるので注意。

  • いいところ

    • 見た目は綺麗
      • カラースキームも色々用意されている
    • エディタとプレビューがワンクリックで切り替えられる
  • 悪いところ

    • インストール先を指定できない (いずれ修正されるだろうけど現状は)
    • ローカルファイルシステムは直接扱えない。ローカルfsの上に独自fsを持つ感じ。
      • 保存ディレクトリが限られる
      • ファイル形式も独自のもので、ファイル名もwindowsのものとは違う。
      • D&Dで開けない
        • 独自fsの上にコピーを作った上でそれを開くというイメージ
    • なんだかやたら外部と通信する(ローカルfsでも)
  • その他特徴

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]