揮発性のメモ2

http://d.hatena.ne.jp/iww/

PHPで、手っ取り早くオブジェクトを生成する

ちょっとした一時的な使い捨てオブジェクトを作りたいとき、いちいちnewするのが面倒くさい。

<?
$o = new stdClass();
$o->hoge = "Hello";
$o->piyo = "world";
$o->fuga = 2019;

$list[] = $o;

みたいなコードだと何行もなってちょっとウザいのが、裏技を使うと1行になる

<?
$list[] = (object)["hoge"=>"Hello", "piyo"=>"world", "fuga"=>2019];

まったく行儀が良いコードではないが、書き捨てコードになら実にちょうど良い

片付けのルール

片付けとは捨てること

  • いらないものを捨てる
    • 金で買いなおせるものは捨てる
    • なにかの余り は捨てる
      • もったいないと思う心を捨てる
    • 高い物でも捨てる
    • あとで使う可能性があるものでも捨てる
      • 夜中に急に必要になる可能性があるものは捨てない
  • 仕舞えないものを捨てる
    • 収納スペースに入りきらないものは捨てる
    • 命に代えても床に物を置かない
      • 必ず15センチ以上床から浮かせる
    • 収納の30%くらいはあえて何も置かない
      • ちょい置きはそこにする
    • 出したら仕舞うを徹底する
      • 後で使うものだろうが毎回出して仕舞う
      • 定位置の決まらないものは捨てる
  • 趣味のものは捨てない
    • それにより不足した収納はほかを捨てることで作り出す
  • ゴミ箱は満タンになってなくても 決めた日に絶対捨てる
    • まだいけるだろとか絶対に考えない

sshdでchrootでsftp

CentOS の OpenSSH で chroot を設定する

# chroot用設定
Subsystem  sftp internal-sftp
Match User hoge
    ChrootDirectory /data
    ForceCommand internal-sftp

WinSCPとかでsftpアクセスすると、/data が / として見えるようになる。
ただし、/data はrootユーザしか書けないようにしてるので
/data の下に適当にhogeユーザ所有のディレクトリを掘っておく


ForceCommand を指定し忘れると、sshでログインできてしまう。
が、chroot環境(/data)には/bin/bashも/home/hogeもないので
無事エラーになって即座に切断される。