SQL実行計画の疑問解決には「とりあえず EXPLAIN
しよう
ex)
EXPLAIN select
*
from users as us
INNER JOIN user_oauths as uo
on us.id = uo.user_id
INNER JOIN prefectures as pf
SQL実行計画の疑問解決には「とりあえず EXPLAIN
しよう
ex)
EXPLAIN select
*
from users as us
INNER JOIN user_oauths as uo
on us.id = uo.user_id
INNER JOIN prefectures as pf
#!/bin/bash | |
docker pull ruby:2.6.3 | |
docker pull mysql:5.7 | |
docker images | |
# make Dockerfile | |
cat <<'EOF' > Dockerfile | |
FROM ruby:2.6.3 | |
ENV LANG C.UTF-8 |
$ fc-cache -vf |
$ sysctl net.inet.ip.portrange.first net.inet.ip.portrange.last |
コマンド | 用途 | |
------------ | |
echo -en "GET / HTTP/1.1\n\n" | nc localhost 80 // HTTP GET リクエスト | |
nc -zv localhost 1-65535 ポートスキャニング | |
(echo 'set KEY1 hoge'; sleep 1s; echo 'key *') | nc localhost 6379 // Redisサーバーにアクセス | |
while : ; do (echo -ne "HTTP/1.0 200 Ok\nContent-Length: $(wc -c < response.txt)\n\n"; cat response.txt) | nc -l -p 8080; done // Mockサーバー | |
nc -l 8080 0<backpipe | nc localhost 80 1>backpip // Proxy | |
/bin/nc.openbsd -x proxy_host:1080 %h %p // Socksサーバー経由でSSH接続用(BSD版に限る) |
apt list --installed |
var data = $$('.ytd-transcript-renderer .cue'); | |
for (var i = 0; i < data.length; i++) { | |
console.log(data[i].innerText); | |
} |
hoge = "" | |
$$('.wb-break-all > a').forEach(function(element) { | |
hoge+= element.text | |
}); | |
console.log(hoge) |
cldif() { | |
echo "input url 1" | |
read X | |
echo "input url 2" | |
read Y | |
echo "diff is: " | |
diff --suppress-common-lines -y <(curl -s $X) <( curl -s $Y) | |
} | |
alias curldiff=cldif |
#![feature(proc_macro_hygiene, decl_macro)] | |
#[macro_use] extern crate rocket; | |
#[get("/<name>/<age>")] | |
fn hello(name: String, age: u8) -> String { | |
format!("Hello, {} years old name {}!", age, name) | |
} | |