揮発性のメモ2

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

PHPで、配列の最後尾の値を取得する

array_pop() や end() を使うと配列の最後尾の値を取得できる。
ただし、関数の戻り値を使うことは許されないらしい。どちらも配列を参照して配列自体をいじるため、実体が必要だから
https://www.php.net/manual/ja/function.end.php
https://www.php.net/manual/ja/function.array-pop.php

問題なく動く
<?
$list = [0,1,2];
$v = end($list);
print "last is $v\n";
last is 2
ギリ動く
<?
$text = "0,1,2";
$v = end(explode(",", $text));
print "last is $v\n";
PHP Notice:  Only variables should be passed by reference in /tmp/hoge.php on line 4
last is 2

文句は言うが一応動く。 @でも付ければ隠蔽できる

動かない
<?
$v = end([0,1,2]);
print "last is $v\n";
PHP Fatal error:  Only variables can be passed by reference in /tmp/hoge.php on line 3

同じエラーだけど Notice から Fatal に変わってる。

systemdのsocketで、接続元のIPアドレスを取得する

For IPv4 and IPv6 connections, the REMOTE_ADDR environment variable will contain the remote IP address,

https://www.freedesktop.org/software/systemd/man/systemd.socket.html

環境変数 REMOTE_ADDR で接続元のIPアドレスを取得できる。

systemdで、socketを使ってエコーサーバを立てる 最小のユニットファイル

xinetdの代わりに。 次の2つのユニットファイルを同じ場所に作って登録する

hogehoge.socket
[Unit]
Description=HOGEHOGE Echo Server Socket

[Socket]
ListenStream=0.0.0.0:16000
Accept=yes

[Install]
WantedBy=sockets.target

hogehoge@.service

[Unit]
Description=HOGEHOGE Echo Server Service

[Service]
ExecStart=/bin/cat
StandardInput=socket
StandardOutput=socket
StandardError=journal

[Install]
WantedBy=hogehoge.socket
続きを読む

Debianのファイルサイズを適当に小さくする

ちゃんとした手順ではなく 行き当たりばったりに消すやつ

rm -rf /usr/share/doc
rm -rf /usr/share/man

cd /usr/share/locale
ls -1 | egrep -v "(default|en|ja|locale)" | xargs rm -rf

apt clean
rm -rf /var/lib/apt/lists/*

/var/lib/apt/listsをうっかり削除 - 揮発性のメモ2

web漫画

憂鬱くんとサキュバスさん 不定
蜘蛛ですが、なにか? 不定
転生ゴブリンだけど質問ある? 隔週金曜
売国機関 毎月月末金曜
切れぬ牌などあんまりない! たぶん月曜
宙に参る 不定
ドラゴンのちんちんを見に行こう 3週間おき金曜
姫様“拷問”の時間です 毎週火曜
かわいい後輩に言わされたい 隔週木曜
好き好きだいちゅきつよつよソード 不定
ぷにるはかわいいスライム 毎週木曜
忍者と極道 不定