• [บันทึกกันลืม] วิธีซ่อน choice ที่ไม่จำเป็น ด้วย jQuery


    ปัญหามีอยู่ว่า ในการเขียน Web Application ด้วย django แบบฟอร์มที่ซับซ้อนหน่อย จะมีประมาณว่า ถ้าเลือกข้อนี้ ให้ขึ้นคำถามอีกข้อขึ้นมาถาม เช่น ถ้าเลือกข้อ “รพ.สงขลานครินทร์” ให้ขึ้นคำถาม “ลักษณะการทำงาน” ซึ่งก็ไม่ได้ยากอะไร แต่ว่า คำตอบของข้อนี้ ในกรณีนี้ จะต้องบังคับตอบ แต่ ถ้าเลือก “สถานพยาบาลอื่น ๆ” จะต้องไม่บังคับตอบ ปัญหาคือ เจ้า Choice ที่ เมื่อไม่จำเป็นต้องตอบ มันต้องไม่มีค่า แต่ตอนที่มันต้องใช้ตอบ (อย่างในภาพ) มันควรจะหายไป แต่มันไม่หายไป (เข้าใจยากหน่อยนะ) ลองใช้ ก็ไม่หาย วิธีแก้คือ ไป hide label เวิร์คเลย จบ

    >> Read More <<

  • [บันทึกกันลืม] แก้ปัญหา Plotly ไม่แสดง Chart บน JuputerLab


    ในการ Visualization บน Jupyter Notebook, Juputer Lab พื้นฐานก็จะใช้ matplotlib, seaborn และเพื่อให้ทำ Interactive ได้มากขึ้น ก็จะไปใช้ Plotly และ Dash ปัญหาคือ ถ้าเริ่มต้นใช้งาน Juputer Notebook / Jupyter Lab แล้วติดตั้ง plotly, dash package แล้ว บน Jupyter ก็ไม่แสดงผลแบบ Inline แบบนี้ ค้นหาพักใหญ่ ก็พบว่า อ้อ ต้องติดตั้ง jupyter labextension ด้วย วิธีตรวจสอบว่า ตอนนี้มี Extension อะไรอยู่บ้าง ใช้คำสั่งต่อไปนี้ ผลคือ โดยค่าเริ่มต้น ไม่มี jupyterlab-plotly กับ plotlywidget ติดตั้งอยู่ วิธีการติดตั้ง ใช้คำสั่งต่อไปนี้…

    >> Read More <<

  • วิธีเปิด Zip file มี Password ที่ฝากไว้บน Google Drive บน iPhone/iPad


    โจทย์คือ ต้อง Export ข้อมูล ออกมาเป็น Excel ให้ผู้รับ เป็นรายคน (เป็นจำนวนมาก) แต่ละคนได้ 1 ไฟล์ แต่ละไฟล์ ต้องเข้ารหัสผ่าน ซึ่ง ไม่เหมือนกันเลย (ผู้รับกำหนดมา) ฝากไฟล์ไว้บน Google Drive แล้วส่ง Link แบบ Anyone who has link can view เพราะ ผู้รับบางคนก็ไม่มี Google Account / บางคนไม่รู้ว่าบน iPhone/iPad ใช้ Google Account อะไร / บางคนก็ … บลา ๆ ๆ ๆ สรุป ใช้วิธี Google Account Permission ไม่ได้ ทุกอย่าง ทำเป็น…

    >> Read More <<

  • A Testing Virtual Data Center with OpenNebula miniONE on KVM


    โน้ตบุ๊ค HP รุ่น 6450b มีหน่วยความจำ 4 GB ผมเอามาทำเป็นเซิร์ฟเวอร์สำหรับรัน Virtual Machine (VM) ผมใช้ทดสอบติดตั้ง server หรือ services ต่าง ๆ เช่น Ubuntu server ทำงานเป็น web server เป็นต้น ผมอยากจะเรียกว่า Mobile Virtual Data Center ครับ โดยที่ผมนำซอฟต์แวร์ที่ชื่อว่า OpenNebula มาใช้ ตัวนี้ใช้ทำเป็น Virtual Data Center ขนาดใหญ่ได้เลยหากมี Hardware สเปคสูง ๆ สร้าง VM ให้บริการได้จริง เค้ามีซอฟต์แวร์สำหรับเครื่องเดียว (Test Drive) เรียกว่า OpenNebula miniONE ให้ใช้ น่าจะนำมาลงโน้ตบุ๊คได้ จึงได้ทดลองดู พบว่าใช้ได้จริง สิ่งที่ทำมีดังนี้…

    >> Read More <<

  • ติดตั้ง haproxy บน Ubuntu Desktop


    เป็นขั้นตอนที่ทำขึ้น เพื่อทำการ redirect port 80 เข้าไปยัง web server ใน VM (OpenNebula miniONE on KVM) ที่เราติดตั้งไว้ในเครื่อง Ubuntu Desktop ในตัวอย่างนี้ Ubuntu Desktop มี IP 192.168.1.70 และ VM มี IP 172.16.100.3 ขั้นตอน เปิด Terminal และติดตั้ง haproxy ด้วยคำสั่ง sudo apt install haproxy เข้าทำงานสิทธิ root ด้วยคำสั่ง sudo  su  –และไปในไดเรกทอรี cd  /etc/haproxyเก็บสำรองไฟล์ config ไว้ก่อน ด้วย cp  haproxy.cfg  haproxy.cfg.origเข้าไปแก้ไขไฟล์ vi  haproxy.cfg เพิ่มบรรทัดเหล่านี้…

    >> Read More <<

  • ติดตั้ง CMSimple version 5.3 ใน VM ของ miniONE KVM


    เป็น CMS Web Server อย่างง่าย ไม่มี database ติดตั้งลงใน OS ที่เป็น Ubuntu Server 20.04 ที่ได้ติดตั้ง apache2 web server (เปิด port 80) พร้อม php ไว้แล้วด้วยคำสั่ง sudo apt install apache2 php php-xml ขั้นตอน ไปที่เครื่อง Ubuntu Desktop ของเรา เข้าเว็บเบราว์เซอร์ OpenNebula Sunstone และเปิด VM ที่เป็น Ubuntu Server (สมมติว่า VM มี IP 172.16.100.3) เปิดเพจของ CMSimple ดาวน์โหลด CMSimple_5-3.zip ใช้คำสั่ง scp คัดลอกไฟล์ไปไว้ใน VMscp…

    >> Read More <<

  • สร้าง VM OpenNebula miniONE on KVM ตอนที่ 2 add one-context


    เป็นขั้นตอนติดตั้ง one-context ต่อจากตอนที่แล้ว ขั้นตอน คำสั่ง sudo su – และ คำสั่ง  wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.12.0.2/one-context_5.12.0.2-1.deb ลบ cloud-init ด้วยคำสั่ง apt-get purge -y cloud-initติดตั้งด้วยคำสั่ง dpkg -i one-context_*deb || apt-get install -fy เมื่อเสร็จ ให้ออกจาก web console และ คลิก Power off hard เอา CD-ROM ออก เมื่อถึงตรงนี้ VM นี้ก็พร้อมใช้เป็นต้นแบบในครั้งต่อไปได้ เราจึง Save as Template สมมติให้ชื่อว่า ubuntu-server-20.04 ปรับแต่ VM Template เพื่อเติมสิ่งที่เกี่ยวกับ Context โดยคลิกปุ่ม Update คลิกที่…

    >> Read More <<

  • สร้าง VM OpenNebula miniONE on KVM


    หลังจากติดตั้ง server เสร็จแล้ว ตอนนี้ เรามาลองสร้าง VM กันสัก 1 ตัว หลักการคือ สร้าง image ที่เป็น disk เปล่า ๆ จากนั้นสร้าง VM Template ให้มาใช้ image นี้ และกำหนดค่า VM Template ให้เสร็จ แล้วสร้าง VM จาก VM Template นั้น ขั้นตอน สร้าง Image เปล่า สมมติตั้งชื่อว่า DISK8GB กำหนด Type คือ Generic storage datablock และเป็นแบบ Empty disk image กำหนดขนาด 8 GB สร้าง Image ที่เป็น CD-ROM…

    >> Read More <<

  • ติดตั้ง Ubuntu Server 20.04 ใน VM ของ miniONE KVM


    เป็นขั้นตอนสร้าง VM ที่เป็น Ubuntu Server 20.04 ใน VM ของ miniONE KVM ขั้นตอน เลือกใช้ภาษาอังกฤษในการติดตั้ง เลือก keyboard layout  ตั้งค่า IP Address แบบ static เลือก Interface name และ คลิก Edit IPv4 เลือก Method แบบ Manual ใส่ค่า IP Address ไปต่อ คลิก Done ไปต่อ คลิก Done ตั้ง Mirror address มาที่ http://th.archive.ubuntu.com/ubuntu Storage configuration เลือก Use an entire disk  ไปต่อ คลิก…

    >> Read More <<