43 คะแนน โดย xguru 2022-08-30 | 6 ความคิดเห็น | แชร์ทาง WhatsApp

คำตอบจากคำถามบน HN ที่ชวนให้มาแชร์สคริปต์ที่ใช้กันคนเดียว

  • .ssh/config สำหรับจัดสภาพแวดล้อมให้เหมือนกันบนทุกเซิร์ฟเวอร์ที่เชื่อมต่อ
    → เมื่อเชื่อมต่อเซิร์ฟเวอร์ครั้งแรก จะ rsync dotfile ที่จำเป็นโดยอัตโนมัติ และตั้งแต่การเชื่อมต่อครั้งถัดไปจะอัปเดตให้อัตโนมัติ
  • สคริปต์ command help (ch)
    → ดึงมาแสดงเฉพาะส่วนบรรทัดคำสั่งจากหน้าช่วยเหลือและหน้า man
  • MISC (Manually Installed or Source Compiled)
    → สคริปต์สำหรับจัดการเฉพาะแพ็กเกจที่ติดตั้งเองหรือคอมไพล์จากซอร์ส
  • git-co-commit
    → เวลา pair programming จะเพิ่ม Co-authored-by: ... ไว้ท้ายข้อความ commit
    → ถ้าเพิ่ม git-co-commit ไว้ใน path, git จะรู้จักมันเป็น subcommand git co-commit โดยอัตโนมัติ
  • สคริปต์ AutoHotkey ที่เมื่อกด Caps Lock + คลิกเมาส์ จะคลิกให้ 50 ครั้งต่อวินาที
  • rerun
    → สคริปต์ที่รันคำสั่งซ้ำให้อัตโนมัติเมื่อไฟล์ในไดเรกทอรีมีการเปลี่ยนแปลง
  • git recent
    → แสดงบรাঞ্চที่เพิ่งทำงานล่าสุด
  • ccd
    → สร้างไดเรกทอรีแล้วเข้าไปยังไดเรกทอรีนั้น
  • git-move
    → ย้ายไฟล์ข้าม repo โดยเก็บประวัติไว้

6 ความคิดเห็น

 
tribela 2022-08-30

alias df='df -h -x tmpfs -x devtmpfs -x squashfs'
alias xc='xclip -sel clipboard'
alias ttfb='curl -so /dev/null -w "HTTP %{http_version} %{http_code} Remote IP: %{remote_ip}\nConnect: %{time_connect}\nTTFB: %{time_starttransfer}\nTotal time: %{time_total}\nDownload speed: %{speed_download}bps\nBytes: %{size_download}\n"'

ap() {
https $@ Accept:application/activity+json
}

shodan() {
xdg-open https://shodan.io/domain/$1
dig +short $1 | xargs -i xdg-open https://shodan.io/host/{}
}

check_mtu() {
local target=$1
shift
local lower=0
local upper=1500
until [[ $((lower + 1)) -eq $upper ]]; do
current=$(((lower + upper) / 2))
echo -n "lower: $lower, upper: $upper, testing: $current -- "
if ping -M do -s $current -c 2 -i 0.2 $target $@ &> /dev/null; then
echo "ok"
lower=$current
else
echo "fail"
upper=$current
fi
done

echo "max packet size: $lower, mtu: $((lower + 28))"  

}
ของที่ผมใช้อยู่ก็ประมาณนี้ครับ

 
alstjr7375 2022-08-30
  • GIF -> วิดีโอ
    → ffmpeg -v warning -i "input.gif" -y "output.mp4" -pix_fmt yuv420p -c:v libx264 -movflags +faststart -filter:v "crop=floor(iw/2)*2:floor(ih/2)*2"
  • วิดีโอ -> GIF
    → ffmpeg -v warning -i "input.mp4" -y "output.gif" -filter_complex "[0:v] fps=15, split [1:v] [2:v]; [1:v] palettegen [p]; [2:v] fifo [3:v]; [3:v] [p] paletteuse" -loop 0
 
alstjr7375 2022-08-30

เท่าที่ทราบ โดยทั่วไปให้คิดว่า FPS สูงสุดของ GIF อยู่ราว ๆ 50
https://wunkolo.github.io/post/2020/02/buttery-smooth-10fps/

เคยได้ยินมาว่าสามารถจำลองได้ แต่ยังไม่เคยลองเองเลยจึงไม่แน่ใจนัก
https://superuser.com/questions/1449366/…

 
bbulbum 2022-08-30

ผมใช้สคริปต์ที่เปิดเซสชัน tmux แล้วเปิดโค้ดโปรเจ็กต์สามตัว (api, front, admin) เป็นสามหน้าต่าง
tmux new-session -d ; new-window ; send-key "nvim ~" C-m ; attach;
ที่บริษัทก่อนหน้านี้ การลงเวลาเข้างานและเลิกงานต้องล็อกอินเข้าเว็บบริษัทด้วยตัวเองแล้วกดบันทึก ผมก็เลยเคยทำให้มันอัตโนมัติด้วย puppeteer...

 
cr543l 2022-08-30

git log --pretty="%ad [%ae] %s" --author E_MAIL_ADDRESS
→ ดูเฉพาะ committer ที่ระบุจาก Git revision เท่านั้น