• [บันทึกกันลืม] วิธีแก้ปัญหาข้อมูลประเภท timedelta64[ns] ใน Pandas ไม่สามารถเขียนลงฐานข้อมูล field ที่เป็น Time ได้


    เหตุ: ผลคือ: ซึ่ง ref_visit_time นั้น ใน MySQL/MariaDB ใช้ชนิดเป็น Time เช่น 08:00:00 หมายถึง 8 นาฬิกา อะไรทำนองนั้น ปัญหา: อยู่ที่ตอนเอา Dataframe นี้ ไป Write ใส่อีก Table นึง ซึ่ง table2 นั้น มีโครงสร้างเหมือนกับ table1 เลย โดยเฉพาะ ref_visit_time มีชนิดเป็น Time เช่นกัน แต่ถ้า run code นี้จะได้ Error/Warning ว่า เหตุเพราะ แทนที่จะเก็บเป็น Time มันดันเปลี่ยนเป็น Integer ที่เป็นจำนวน Nanosecond แทนนั่นเอง วิธีแก้ไข ต้องตรวจสอบว่า มี column ใน destination…

    >> Read More <<

  • Zoom Developer – การใช้ Webhook เพื่อรายงานเหตุการณ์ต่าง ๆ ในห้อง Zoom


    เช่นเดียวกับ Enterprise-grade อื่น ๆ Zoom ก็มี API ให้เราพัฒนาโน่นนี่ได้ บทความนี้จะมาแนะนำวิธีการ Webhook เพื่อรายงาน ผ่าน LINE Notify เมื่อมีคนเข้ามาในห้อง เช่นใช้เพื่อแจ้งคนบน Host ว่า มีคนเข้ามาแล้วนะ เป็นต้น แต่ก่อนอื่น ต้องเข้าใจว่า Zoom Account มี หลายรูปแบบ โดยเข้าไปที่เว็บ https://zoom.us/profile Basic Account อันนี้ หลายคนคงจะใช้อยู่ ที่ถูกลิมิต ไม่ให้ใช้งานเกิน 40 นาที — อันนี้ จะเห็นคำว่า BASIC อยู่ในหน้า Profile ดังรูปที่ 1 2. LICENSED Account แบบนี้ สร้างเอง จ่ายตังค์เอง นักเลงพอ ก็จะประชุมได้ไม่จำกัดเวลา คนเข้าได้พร้อมกัน 100 คน…

    >> Read More <<

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


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

    >> Read More <<

  • Firebase และ Arduino ตอนที่ 2


    ในตอนที่ 2 เราจะมาดูภาคการเขียนโปรแกรมในส่วนของ board โดยใช้ซอฟต์แวร์ arduino-1.8.10 เขียน sketch แล้ว upload เข้า board เพื่อใช้งานร่วมกับ Firebase หากบังเอิญ search มาเจอบทความนี้ก่อน ย้อนกับไปอ่าน ตอนที่ 1 ได้ครับ เริ่มต้นเราต้องดาวน์โหลดซอฟต์แวร์ที่จะต้องใช้ ดังรูป รันโปรแกรมที่ดาวน์โหลดมา arduino-1.8.10-windows.exe (ส่วนอีก 2 ไฟล์ที่เป็น .zip แตกไฟล์ออกมา CH341SER_WINDOWS.zip ใช้เพื่อให้ USB port ของ Notebook จำลองเป็น Serial port COM3 ได้ และ firebase-arduino-master.zip จะใช้ในโปรแกรม Arduino ในขั้นตอน Add Libraries) ในไดเรกทอรี libraries จะเห็นว่าเราใช้งาน libraries ใดได้บ้างในการเขียนโปรแกรม และเมื่อเราจะเขียนโปรแกรม จะต้องวางไว้ในไดเรกทอรี…

    >> Read More <<

  • Firebase และ Arduino ตอนที่ 1


    บทความนี้ ตอนที่ 1 จะพูดถึง (แจกโค๊ด) Firebase Realtime Database และ ตอนที่ 2 จะพูดถึง Arduino โดยที่ในตอนที่ 1 จะเป็นโปรแกรมให้เห็นว่า นำข้อมูลใส่เข้าใน Firebase Realtime Database ได้อย่างไร แล้วในตอนที่ 2 เราจะโปรแกรม Arduino ให้เชื่อมต่อเน็ตผ่าน Wi-Fi 802.1x แล้วหลอด LED จะถูกเปิด/ปิด หรือ เปลี่ยนสี เมื่อมีการสั่งจากโปรแกรม JavaScript ในตอนที่ 1 ในขั้นตอนการติดตั้ง Firebase สมัครใช้งาน สร้าง Database ลองหาอ่านกันเอาเองนะครับ มันง่าย ๆ ครับ เรามาเริ่มต้นที่มี Database ชื่อว่า Firstapp-IoT ที่ผมสร้างไว้แล้ว ขั้นตอนมาเราจะโปรแกรม JavaScript โดยการเขียนโปรแกรมไว้ใน local…

    >> Read More <<

  • เรียนรู้ RPA โดยใช้ ui-path


    Robotic Process Automation หรือ RPA  คือการนำเอาหุ่นยนต์ (ในที่นี้คือซอฟแวร์หุ่นยนต์) เข้ามาช่วยในการทำงานอย่างไหนอย่างหนึ่ง  ซึ่งคำที่คนส่วนใหญ่ได้ยินกัน คือ Bot นั่นเอง 😊 ซึ่งงานที่เหมาะสมที่จะนำเอาRPA มาช่วยในการทำงานนั้น เป็นงาน Routine ที่ต้องมานั่งทำแบบเดิมๆ ทุกวัน งานที่ต้องทำซ้ำๆ ง่ายๆ ที่มีปริมาณงานเยอะ ซึ่งเป็นงานที่มีขั้นตอนลำดับชัดเจน  เช่น งานคัดลอกข้อมูลจากเว็บ  งานส่งอีเมล์ งานกรอกข้อมูล ในปัจจุบัน RPA ก็มี Tool ด้วยกันหลายๆ ตัว  แต่ที่ผู้เขียนจะใช้ คือ UiPath  ตัวอื่นๆ ก็มี Automation Anywhere , Blue Prism, Work Fusion ซึ่งเป็น Tool ที่ใช้งานได้ง่ายๆ มากๆ ไม่ต้องเขียนโปรแกรม ลากๆ คลิกๆ เลือก อย่างเดียว ……

    >> Read More <<

  • การเข้ารหัสข้อมูลด้วย ORACLE DBMS_CRYPTO


                  ข้อมูลที่ส่งผ่านในโลกอินเตอร์เน็ตอาจมีความจำเป็นต้องเข้ารหัสข้อมูลเพื่อความปลอดภัย แม้ว่าระบบการป้องกันจะดีแค่ไหน แต่การปล่อยข้อมูลในรูปแบบที่อ่านได้ (Plain Text) ให้วิ่งผ่านเน็ตเวิร์ค ดูเป็นสิ่งที่ไม่ปลอดภัยเป็นอย่างยิ่ง               ข้อมูลบนระบบจัดการฐานข้อมูล ORACLE มีฟังก์ชันสำหรับการเข้ารหัสข้อมูล (Encrypt) และถอดรหัสข้อมูล (Decrypt) สำหรับข้อความได้ในหลายๆ Algorithm ดังนี้ ENCRYPT_DES Data Encryption Standard. Block cipher. Uses key length of 56 bits. ENCRYPT_3DES_2KEY Data Encryption Standard. Block cipher. Operates on a block 3 times with 2 keys. Effective key length of 112 bits. ENCRYPT_3DES Data Encryption Standard.…

    >> Read More <<

  • ETL ต้องตรวจสอบอะไรบ้างเพื่อความมั่นใจในโอน ย้ายข้อมูล


    ETL (Extract, Transform, Load) ประโยชน์ที่สามารถนำไปประยุกต์ใช้ ============================ ETL Tools ตอนนี้มีอยู่หลายค่ายหลายโปรแกรม ทั้งฟรีและขาย สามารถนำมาประยุกร์ใช้งานได้ ตัวอย่างเช่น ========================== ต้องตรวจสอบอะไรบ้างเมื่อท่านต้องทำ ETL 1. Metadata Testing เป็นการทดสอบส่วนประกอบของข้อมูลพวกชนิดของข้อมูล ขนาดและเงื่อนไขต่างๆของข้อมูล2. Data Completeness Testing ความสมบูรณ์ของข้อมูลต้องสุ่มทดสอบข้อมูล เช่น คีย์ที่ใช้เชื่อมข้อมูลระหว่างตารางไม่ควรจะเป็น NULL 3. Data Quality Testing คุณภาพของข้อมูล เช่นข้อมูลชื่อประเทศเดียวกันต้องสะกดเหมือนกันทั้งหมด การหาข้อมูลซ้ำซ่อนแบบไม่ปกติ4. Data Transformation Testing ดักจับ error ระหว่างการถ่ายโอนข้อมูล5. ETL Regression Testing ทดสอบเมื่อมีการเปลี่ยนแปลงกระบวนการในการทำ ETL6. Reference Data Testing การทดสอบกับข้อมูลที่เป็นสากลทั่วไปใช้กัน เช่น ชื่อ ตำบล อำเภอ จังหวัด ควรต้องตรงกันกับข้อมูลของราชการเท่านั้น7.…

    >> Read More <<

  • Blazor Server Application : วิธีการแปลงรูปภาพ เป็น base64 สำหรับเก็บข้อมูล


    แนะนำวิธีการแปลงรูปภาพ เป็น base64 เพื่อเก็บข้อมูล มีขั้นตอนดังนี้ 1) สร้าง Project ผ่าน Visual Studio 2019 เลือก Blazor Server App 2) เลือก Framework เป็น .NET 5.0 3) ติดตั้ง Add-on ชื่อ System.Drawing.Common ผ่านทาง NuGet 4) เปิดไฟล์ Index.razor จากนั้นเขียน Code ดังนี้ 5) หน้าจอแสดงปุ่ม “การแปลง (ไฟล์รูปภาพ เป็น Base64)” 6) ผลลัพธ์จากการแปลงไฟล์รูปภาพ เป็น Base64 หมายเหตุ: นามสกุลไฟล์รูปภาพ (picture.png) ต้องตรงกับ data:image/png;base64 สำหรับแสดงผล

    >> Read More <<