เก็บรักที่เพิ่งพ้นไป เก็บใจที่เพิ่งพ้นมา บอกลาแล้ววันเก่า เหลือแค่เพียงน้ำตา กับแผลที่เธอให้มา — ช่วงที่เศร้าที่สุดในเพลงกลับเป็น 24 วินาทีแรก
Category Archives: บันทึก
Create multiple directories at once mkdir
สั้น !! ความน่ารักและมีประโยชน์ของ Bash ก็คือบางอย่างเราก็สามารถลดเวลาได้ด้วยการทำ Script สั้น ๆ เช่นกรณีนี้ ต้องการสร้าง Directory ตามโครงสร้างนี้ ├── config │ └── webui ├── data │ ├── director │ ├── storage │ └── webui ├── mysql │ ├── data │ └── log เราสามารถใช้คำสั่งสั้น ๆ ข้างล่าง เพื่อสร้างโฟลเดอร์ mkdir -p {data/{director,storage,webui},config/webui,mysql/{data,log}} และกรณีอื่น ๆ อีก ไปลองกันได้ว่าผลลัพธ์จะได้ออกมายังไง mkdir test{1..50} mkdir -p test{1..50}/sub{1..50} mkdir {a-z}12345 mkdir …
Continue reading “Create multiple directories at once mkdir”
Optimize คำสั่ง SQL สำหรับการสุ่มเวชระเบียนด้วยวิธี Systematic sampling
เดิมเคยเขียนคำสั่ง SQL ไว้นานละพอแก่ตัวขึ้นกลับไปดู มันก็สมควรเปลี่ยน (Optimize) แหล่ะ เราจะไม่ลงรายละเอียดเรื่องของการตรวจสอบเวชระเบียนหล่ะกัน ขอข้ามไปพาร์ทสำหรับการเตรียมข้อมูล (กลุ่มตัวอย่าง) เพื่อให้ผู้เกี่ยวข้องทำงานต่อ เริ่มด้วย Systematic Random Sampling (การสุ่มตัวอย่างแบบเป็นระบบ) การสุ่มตัวอย่างแบบเป็นระบบ ( Systematic sampling) เป็นการสุ่มตัวอย่างโดยมีรายชื่อของทุกหน่วยประชากรมาเรียงเป็นระบบตามบัญชีเรียกชื่อ การสุ่มจะแบ่งประชากรออกเป็นช่วงๆที่เท่ากันอาจใช้ช่วงจากสัดส่วนของขนาดกลุ่มตัวอย่างและประชากร แล้วสุ่มประชากรหน่วยแรก ส่วนหน่วยต่อๆไปนับจากช่วงสัดส่วนที่คำนวณไว้ ขั้นตอนคร่าว ๆ ของการเตรียมข้อมูลสุ่มตัวอย่างแบบนี้คือ เลือกแฟ้มจาก OPD Card หรือ สมุดทะเบียนผู้มารับบริการ จำแนกตาม PID หรือ HN หรือวันที่ที่มารับบริการ หาช่วง Interval (I) ของการสุ่มโดยใช้สูตร I = จำนวนเวชระเบียนผู้ป่วยทั้งหมด ÷ จำนวนเวชระเบียนผู้ป่วยที่ต้องการ หาค่าตั้งต้นโดยการจับฉลาก (สุ่ม) เช่น จับฉลากได้หมายเลข 5 ให้เลือกเวชระเบียนแฟ้มแรกคือลำดับที่ 5 แล้วนับต่อไปทุกลำดับที่ I เช่นกรณีได้ค่า …
Continue reading “Optimize คำสั่ง SQL สำหรับการสุ่มเวชระเบียนด้วยวิธี Systematic sampling”
Implements a scheduled task using Supercronic
Cron เป็นโปรแกรมสำหรับการทำ schedule tasks ที่เราต้องการ พบเจอได้ใน Unix-like OS ตามไปอ่านรายละเอียดได้ที่นี่ Supercronic ก็จัดอยู่ในโปรแกรมข้างต้น คนทำให้นิยามว่า Supercronic is a crontab-compatible job runner, designed specifically to run in containers. เหตุผลที่ทำ Supercronic ขึ้นมาตามไปอ่านรายละเอียดได้ที่นี่ (ไม่ได้ขี้เกียจนะ 55+) ที่นี้เราลองมาอิมพลีเมนท์กันดู เริ่มก็สร้าง Dockerfile ตามนี้ FROM alpine:3.8 LABEL author=”mf” LABEL version=”latest” ENV SUPERCRONIC_VERSION=”v0.1.6″ \ SUPERCRONIC_PACKAGE=supercronic-linux-amd64 \ SUPERCRONIC_SHA1SUM=c3b78d342e5413ad39092fd3cfc083a85f5e2b75 ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/$SUPERCRONIC_VERSION/$SUPERCRONIC_PACKAGE ENV TZ Asia/Bangkok # install dependencies RUN apk …
Continue reading “Implements a scheduled task using Supercronic”
Disable screen sleep on Raspberry PI
Raspberry PI เวลาเอามาใช้ทำตัว Dashboard หรือ Kiosk สักพักก็จะเข้าสู่ Sleep mode วิธีการแก้ไข ก็คือให้ทำการแก้ไขไฟล์ lightdm.conf sudo nano /etc/lightdm/lightdm.conf เพิ่มบรรทัดนี้เข้าไปในเซคชั่น [Seat:*] xserver-command=X -s 0 dpms เสร็จก็ Reboot รอบนึง จบปิ๊งงง ^__^
Automatic Update All Docker Images
สำหรับอัพเดต Docker Images ทั้งหมดที่ได้ติดตั้งไปแล้ว ใช้คำสั่งด้านล่างนี้ docker images | grep -v REPOSITORY | awk ‘{printf $1; printf “:”; print $2}’ | xargs -L1 docker pull โดยเมื่อเราได้อัพเดตไปแล้วไฟล์ตัวใหม่จะไม่ได้ทับ (Overwrite) ตัวเดิม เราต้องตามไปลบ (Cleanup) ตัวเดิมอีกรอบ โดยใช้คำสั่ง docker images | grep “<none>” | awk ‘{print $3}’ | xargs -L1 docker rmi จบปิ๊งง ^_^
My GNOME Shell Extensions – Part 1
สำหรับ Linux User ที่เลือก GNOME (อ่านว่า กะโนม) เป็น desktop environment ซึ่งปัจจุบัน (ตุลาคม 2561) เวอร์ชั่นล่าสุดคือ GNOME 3.30 กรณีที่อยากลองใช้ ณ ตอนนี้ก็มี Ubuntu 18.10 Cosmic Cuttlefish ซึ่งจะออกใกล้ ๆ นี้มาให้ทดลองใช้งาน
Set video wallpaper for your Ubuntu 18.04 Bionic Beaver
การมาของ Live Wallpaper ทำให้ความจำเจเราหายไปบ้าง แต่ก็นั่นหล่ะ เราอยากได้แบบนี้บ้างใน Linux ที่ใช้งานอยู่ (ปัจจุบันใช้ Ubuntu 18.04 Bionic Beaver) พบว่ามีทูลหลายตัวที่ช่วยทำเรื่องเกี่ยวกับ Wallpaper ไม่ว่าจะเป็น Package หรือ Extension สำหรับ Gnome Shell หรือแม้แต่ komorebi เอง https://www.youtube.com/watch?feature=player_embedded&v=NvfRy5qMsos และก็มี Tool อีกตัวหนึ่งซึ่งสามารถทำได้เหมือนกันคือ VLC Media Player โดยปกติเราใช้ VLC เป็น Media Player หลักอยู่แล้วเลยไม่ต้องติดตั้งอะไรเพิ่มเติมแต่ถ้ายังไม่ได้ติดตั้งก็ติดตั้งได้เลยตามนี้ sudo snap install vlc หรือ sudo apt install vlc ต่อมาก็ใช้ VLC แบบ Command Line กำหนดให้เล่นวิดีโอใน Mode Wallpaper …
Continue reading “Set video wallpaper for your Ubuntu 18.04 Bionic Beaver”
Split comma separated string to multiple rows
สำหรับใครที่เคยใช้ฟังก์ชั่น GROUP_CONCAT() ใน MySQL มาก่อนก็พอจะเดาผลลัพธ์จากฟังก์ชั่นนี้ได้ว่า ผลลัพธ์จะเป็นค่าตามคอลัมภ์ที่ถูกกรุ๊ป (GROUP BY) และนำมาต่อกันด้วยเครื่องหมายที่ระบุ ปกติค่าดีฟอลต์จะเป็น comma ‘,’ รูปแบบคำสั่งก็จะประมาณนี้ GROUP_CONCAT([DISTINCT] expr [,expr …] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name …]] [SEPARATOR str_val]) ตัวอย่าง **ภาพจาก mysqltutorial ข้างบนนี่คือต้นเหตุ มักจะมีกรณีที่เราได้ผลลัพธ์มาแล้ว นั่นคือ “A,B,C” และเราต้องการแยกข้อความที่ได้มาออกเป็นแต่ละแถว (ตาราง t ก่อนที่จะผ่านฟังก์ชั่น GROUP_CONCAT() นั่นแหล่ะ) ดูตัวอย่างกัน CREATE TABLE DEMO ( ID INTEGER PRIMARY KEY AUTO_INCREMENT, PID …
Continue reading “Split comma separated string to multiple rows”
transfer.sh – Easy file sharing from the command line
transfer.sh เป็นบริการ file sharing แบบต้องใช้ command line ตอนนี้ก็รองรับทั้งการฝากไฟล์ที่อยู่ในเครื่อง (local file) s3 (Amazon S3) และ gdrive (Google Drive) โดยฟีเจอร์หลัก ๆ ก็มี ผ่าน shell command ได้ (Powershell ด้วย) ขนาดไฟล์สูงสุดได้ 10 GB ฝากไฟล์ได้ 14 วัน เข้ารหัสไฟล์ได้ กำหนดเงื่อนไข (จำนวน) การดาวน์โหลด ฟรี ??? ตัวอย่างแบบเบสิคเลย # Uploading is easy using curl $ curl –upload-file ./hello.txt https://transfer.sh/hello.txt https://transfer.sh/66nb8/hello.txt $ curl -H “Max-Downloads: …
Continue reading “transfer.sh – Easy file sharing from the command line”