検索条件
お知らせ
現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
Windows 10
Env |
Ver |
PHP |
8.0.2 |
Xdebug |
3.0.2 |
zend_extension="xdebug-3.0.2-8.0-vs16-nts-x86_64"
xdebug.start_with_request=yes
xdebug.mode=debug
別になくてもデバッグは出来る
"php.validate.executablePath": "C:/path/to/php.exe",
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
文字列を編集したりするのに大変便利なやつ。sedやawkの代わりに使える。構文はPerlそのものが使える。なにせPerlなので
-e
- ワンライナーでコードを書くやつ
php -r
やnode -e
と同じ
- Evaluate, Eval, 評価
-n
- 入力の各行に対し処理がかかる
$.
で行番号、$_
で行の文字列を取得できる
while (<>)
相当の処理
-p
- 入力の各行に対し処理を行い、更に
print $_
相当の処理を実行する
-l
- 入力(
$_
)から改行文字を削除し出力に改行を追加する
-a
- 入力の各行に対して
awk
相当の文字列分割処理を行う(autosplit mode with -n or -p)
- 分割した文字は
$F
に配列として入るので次のようにして取得できる
perl -ale 'print "$F[0] - $F[1]'
$#F
を指定すると分割した個数が取れる
-F/pattern/
-a
でsplitするパターンを設定する
- 例えば
-F,
とするとCSVを分割できる
-i[ext]
- ファイルを編集する
- 使用例:
perl -i -pe 's/aaa/xxx/' foo.txt
-i.bak
のように指定するとバックアップファイルが作成される
- このオプションは次に続く文字が解釈されるため、単体で指定する必要がある(
-ipe
のようには使えない)
変数を指定しない場合、基本的に$_
として扱われる
print
- 標準出力に出力
- 単体では
print $_
と同じ挙動をする
$hoge =~ s/foo/bar/
/(.+)/; print $1
$_
- 基本的に書かなくても補完される
- 例えば
echo aaabbc | perl -ne 's/c/d/; print'
の出力はaaabbd
となる
- その他特殊変数:https://perldoc.jp/docs/perl/5.18.1/perlvar.pod
END{}
- このブロックで囲んだコードは実行時の最後に動作する
-n
, -p
を指定した場合、END{}
は$_
が取れないので渡す場合は$x = $_; END{ print $x }
のように別の変数に代入する必要がある
- https://perldoc.jp/docs/perl/5.38.0/perlmod.pod#BEGIN44-32UNITCHECK44-32CHECK44-32INIT32and32END
一例
ls -l | perl -ale '$F[8] =~ s/\.html//; print "$F[8]";'
1のところが行数なので、ここを変えることで任意の行の文字列を取れる
perl -ne 'print if $. == 1'
echo "foo bar" | perl -pe 's/(?<first>.+) (?<last>.+)/$+{first}-$+{last}/'
unshift
で配列の先頭に値を追加し、END{}
で最後に出力している
cat <<EOF | perl -ne 'unshift @x, $_; END{ print @x }'
aaa
bbb
ccc
EOF
- iOS Safariでは効かない
onInput()
でstring.slice(0, maxlength)
するとIMEの挙動が可笑しくなる
type="tel"
など日本語が入力できない場合であれば有効
- オートコンプリートやコピペ入力での字切れなどもあるため、根本的に使わないことが望ましい
- iOS Safariでは期待した動作にはならない
- 使うなら
type="tel"
を使い、JSで数字以外の入力を弾くのが無難
- 恐らく普及ブラウザの全てで半角入力を強制出来、スマホなどではNumPadが出てくる
- アルファベットやハイフンなどの記号も打てるので必要に応じた入力制御が必要
パッケージマネージャーで入れられるならそれに越したことはない
wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
tar vzfx go1.9.linux-amd64.tar.gz
sudo mv go /usr/local/
# goの実行パスとGOPATH(~/go/bin)をPATHに指定する
# GOPATHはglobalなnpm_modulesみたいなもんだと思う
export PATH=$PATH:/usr/local/go/bin:~/go/bin
Env |
Ver |
Windows |
10 pro |
PHP |
8.0.2 NTS Visual C++ 2019 x64 |
nginx |
1.19.8 |
nginx.conf
を開きFastCGI server listening on 127.0.0.1:9000
辺りに次の設定をする
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME C:/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}
- 設定したフォルダに
.php
ファイルを配置
nginx
を起動
php-cgi.exe -b 127.0.0.1:9000
.php
ファイルにアクセス