Author: คณกรณ์ หอศิริธรรม

DIDA, Faculty of Medicine, Prince of Songkla University

[บันทึกกันลืม] Pandas Dataframe กับการขึ้นบรรทัดใหม่ ชิดซ้าย และทำให้คำที่ค้นหา เป็นตัวหนาสีแดง

กันลืมไง สั้น ๆ

[บันทึกกันลืม] วิธีย้ายทั้ง Folder จาก Google Drive ไปยัง Shared Drives ขององค์กร

จากที่ Google Apps for Education หรือ Google Workspace for Education ปัจจุบัน ซึ่งจากเดิม ชูนโยบาย Unlimited Storage มาเป็น 100 GB ต่อ คน และ 100 TB ต่อ องค์กร — เพียงพอ ต่อการใช้งานเพื่อการศึกษาจริง ๆ ถ้าจัดการให้ดี เหตุแห่งการเปลี่ยนแปลง ผมว่า ก็เรา ๆ นี่แหล่ะ ใช้พื้นที่เค้าแบบไม่ใช่เพื่อการศึกษา ต้องยอมรับก่อน แล้วเรามาแก้ไขกัน มีบางคนในองค์กร เอาไปเก็บไฟล์หนัง…

[บันทึกกันลืม] แก้ปัญหารัน Shell Script กับมือทุกอย่างสมบูรณ์ แต่พอใช้ cron แล้วพัง

เรา “จำกันมา” ว่า การเขียน Shell Script นั้น ทำด้วยมืออย่างไร ก็เขียนลงไปในไฟล์ แล้วเอา Shell เช่น Bash ไป Run แล้วเอาไปตั้งในไฟล์ /etc/cron.d/mycron ปัญหาคือ บางทีเขียนด้วยภาษา Script เช่น python, R แล้วบางที ก็อยากจะเพิ่มภาษาไทยเข้าไป ตามสูตร ก็ต้องใช้คำสั่ง locale ตรวจสอบ ก็จะพบว่า เป็น UTF-8 สวยงาม เขียนใส่ข้อมูลที่ประมวลผลมา ก็จะได้เป็นภาษาไทยสวยงาม แต่ พอเอาไปใส่ Shell Script ผลออกมาเป็นตัวอักษรบนตัวเลข…

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

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

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

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

วิธีเปิด 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 อะไร…

วิธีเรียกข้อมูล ข้าม Database บน Postgresql

บน Postgresql สามารถเรียกข้อมูลข้าม Database ได้ แต่ต้องสั่งติดตั้ง dblink extension ก่อน ด้วยคำสั่ง จากนั้น ใช้คำสั่ง dblink() ใน FROM clause ซึ่ง Function นี้ จะต้อง return records มา ซึ่งเราจะต้องกำหนดชนิดของข้อมูลด้วย ดังตัวอย่างนี้ เป็นการเรียกไปยัง Database ชื่อ otherdatabase, Schema ชื่อ schema_name และเรียกข้อมูลจาก Table ชื่อ sometable โดยมี field ชื่อ id,…

วิธี Bypass หน้า Privacy Error เนื่องจาก NET::ERR_CERT_INVALID บน Google Chrome

Google Chrome พยายามปกป้องเราจาก Website ที่อาจจะมีความเสี่ยง ใช่ ดี แต่ว่า บางทีก็จำเป็น แบบว่า เป็นเครื่องทดสอบไรงี้ ยังไม่ได้ติดตั้ง Certificate จริงจัง ถ้าเจอหน้านี้ … คลิก Advanced บางทีก็จะเจอปุ่ม Proceed to website ก็จะเข้าได้ แต่ถ้าไม่มีปุ่มนั้นหล่ะ ?!?! วิธีการง่ายสุด คือ พิมพ์คำว่า thisisunsafe พิมพ์ไปเลย ไม่ต้องเคาะ Enter ก็จะเข้าเว็บไซต์ได้เลย *** ใช้ในกรณีเป็น เว็บไซต์ทดสอบของตัวเองเท่านั้นนะ ***

วิธีติดตั้ง HTTPS ด้วย Certificate ของ Let’s Encrypt แบบ wildcard สำหรับ Intranet ที่ไม่สามารถเข้าถึงได้จาก Internet

ความเดิมตอนที่แล้ว ต่อจาก วิธีติดตั้ง HTTPS ด้วย Certificate ของ Let’s Encrypt ซึ่ง เครื่องที่จะขอใช้ Certificate นั้น ต้องสามารถ “เข้าถึงได้” จาก Internet เพราะ จะต้องสร้าง File ไปวางในตำแหน่งที่ Let’s Encrypt CA สามารถเข้ามาตรวจสอบได้ว่าเป็น ผู้ที่มีสิทธิ์ในการจัดการ Domain Name นั้นจริง ปัญหาคือ ในองค์กร ถ้าจะให้มีเซิร์ฟเวอร์ ที่สามารถเข้าถึงได้ จาก Internet ต้องเปิด Firewall ขององค์กร ซึ่ง ซับซ้อน…