• เรื่องเล่าจากการทำ ubuntu do-release-upgrade


    มี ubuntu server 18.04.5 ที่มี open source software ชื่อ fogproject เวอร์ชั่นที่ใช้คือ 1.5.8 ซึ่งใช้สำหรับการ cloning Windows ในห้องบริการคอมพิวเตอร์ บางคนคงได้ใช้งานอยู่ และก็มี freeradius 3.0 ติดตั้งไว้ด้วย อยากจะขยับ ubuntu server จาก 18.04.5 ไปเป็น 20.04 ก็เลยทำคำสั่ง do-release-upgrade ในเครื่องทดสอบ ทำจนเสร็จได้ ubuntu 20.04 สมใจ ในระหว่างขั้นตอนการทำ upgrade นั้นก็จะมีหน้าคำถามว่า จะใช้ไฟล์คอนฟิกของโปรแกรมที่ตรวจพบว่าเรามีการไปแก้ไขไว้ จะเลือกที่ใช้อยู่ปัจจุบัน หรือ จะใช้ของใหม่ตาม package ก็เลือกว่า ใช้ของที่ใช้อยู่ ซึ่งก็ค่อยมาแก้ไขว่า ของใหม่มีอะไรใหม่บ้าง ให้ดูเทียบกับ ไฟล์.dpkg-list ตอนนี้เราได้ ubuntu 20.04 แล้ว ลองตรวจสอบดูสิว่า fogproject…

    >> Read More <<

  • การทำ Partial Rendering สำหรับ User Controls


    สำหรับท่านใดที่ยังใช้งาน ASP.NET Web From ในการพัฒนาเว็บไซต์อยู่ คงคุ้นเคยกับการใช้งาน User Controls เป็นอย่างดีเนื่องจากเป็นการสร้าง UI เพื่อใช้งานซ้ำในหลายๆ Page ซึ่งเป็นที่นิยม สำหรับบทความนี้จะแนะนำวิธีการ แยกเรนเดอร์ User Controls ที่มีปัญหาโหลดช้าอันเนื่องมาจากสาเหตุใดก็ตาม และเป็นข้อมูลเพิ่มเติมที่ผู้ใช้ไม่จำเป็นต้องเห็นเป็นอย่างแรก โดยมีขั้นตอนดังนี้ 1.เพิ่ม HTML Container element เช่น Div, Panel ในหน้าจอ ที่ต้องการใช้งาน เช่น 2.เพิ่ม Ajax Controls toolkit : Dynamic Populate ใช้เพื่อ Render HTML หลังจากที่ Page Load เสร็จเรียบร้อย TargetControlsID คือ ID ของ HTML Container element ที่เราต้องการแสดงผล HTML ของ User…

    >> Read More <<

  • ทำให้แอปพลิเคชันอ่านหรือสร้าง Barcode ได้ด้วย ZXing (“zebra crossing”)


    เนื่องด้วยได้รับโจทย์ให้พัฒนาแอปพลิเคชัน ที่สามารถแสกนบาร์โค้ดได้เมื่อได้ค้นหาดูก็พบชื่อของ Library ที่แรกเริ่มเขียนด้วยภาษา Java และถูก Port ให้รองรับภาษาอื่นๆอีกมากมาย เป็นที่นิยม และเป็น Open Source นั้นคือ ZXing โดยในบทความนี้จะแสดงตัวอย่างวิธีการนำ ZXing.Net.Mobile มาใช้งานร่วมกับ Xamarin.iOS ขั้นตอนการนำมาใช้งาน ตัวอย่างในบทความใช้ Visual Studio 2019 16.8.0 ติดตั้ง Work Load Xamarin.iOS 1.สร้างโปรเจคใหม่โดยเลือก Template ชื่อ iOS App (Xamarin) และกำหนดค่าดังรูป 2. โดยโครงสร้างไฟล์ของโปรเจคมีดังรูป 3. เปิดไฟล์ Main.storybord สร้าง View และเพิ่มปุ่ม btnScanBarcode (สำหรับ Xamarin.iOS บน Windows จะไม่สามารถแก้ไขไฟล์ .storybord ได้แล้วในเวอร์ชันนี้ ต้องทำบน macOS เท่านั้น) 4.ติดตั้ง…

    >> Read More <<

  • การเชื่อมต่อ AwesomeTable กับ Google Site


    ต่อเนื่องจาก Blog : การใช้งานโปรแกรม AwesomeTable แบบง่ายเมื่อสร้าง AwesomeTable เรียบร้อยแล้ว สามารถนำมาใช้งานบน Google Site ได้ ลองมาดูวิธีการทำกันนะคะ ต้องการนำ AwesomeTable ไปเชื่อมต่อกับ Google site โดยคลิกที่ “EMBED” 2. เลือกแท็บ Direct Link ให้คลิกปุ่ม “Copy” 3. เปิด Google Site ที่ผู้ใช้ต้องการนำ AwesomeTable ไปใช้งาน คลิก “Embed” 4. วาง Embed แล้วคลิกปุ่ม “Insert” 5. ข้อมูล AwesomeTable ที่ได้สร้างไว้ ก็จะมาอยู่ใน Google site ผู้ใช้สามารถปรับการใช้งานได้ เช่น FQAs โดยแบ่งเป็นระบบ ระบบย่อย ซึ่งสามารถค้นหาข้อมูลได้ และหากต้องการเพิ่มข้อมูลต้องไปเพิ่มใน Google…

    >> Read More <<

  • การใช้งานโปรแกรม AwesomeTable แบบง่าย


    เป็นเว็บที่จัดทำเป็น Data Table มีการใช้งานผ่าน Google sheet ที่มีรูปแบบ Template หลากหลายให้เลือกใช้งานได้ และสามารถนำไปใช้งานกับ Google site ได้ทันที เว็บไซต์ : https://awesome-table.com/สามารถอ่านรายละเอียดจาก AwesomeTable : https://support.awesome-table.com/hc/en-us ตัวอย่างนี้จะเป็นการใช้จาก Template ที่มีให้เลือก ลองมาดูกันเลยว่าทำกันอย่างไร ง่ายๆ ใครๆ ก็ทำได้ค่ะ 1. เข้าเว็บไซต์ : https://awesome-table.com/ เลือก “TEMPLATE GALLERY” 2. แสดง Template ที่ให้เลือกใช้งานได้มากมาย ผู้ใช้สามารถเลือกตัวอย่าง Template ที่รูปแบบลักษณะคล้ายกับงานที่ต้องการ แล้วค่อยมาปรับแก้ เป็นแนวทางที่ใช้งานง่ายที่สุด 3. ตัวอย่างนี้จะใช้ Template ที่มีชื่อว่า “Editable List with Google Forms” 4. แสดงข้อมูลตาม Template ที่ได้เลือกไว้…

    >> Read More <<

  • แก้ปัญหาอัปโหลด Android App ไม่ผ่านเพราะเปลี่ยนคนอัปโหลด


    เคยไหมที่ฝากทีมอื่นที่เขามี account google play console อยู่แล้ว เพื่อฝากอัพเดทแอปที่เราเพิ่ม feature ใหม่ๆของแอปที่เราพัฒนา ตอนนั้นก็ได้ลองผิดลองถูกกันไปเรื่อยๆ เพราะว่าตอนที่เรา build app มันจะสร้าง signing key ในการอัปโหลดที่ผูกติดกับ user ดังนั้นเมื่อเปลี่ยน user ในการอัปโหลดก็ต้องอัปโหลด signing key ใหม่ วันนี้จะมา KM การเปลี่ยน signing key เผื่อใครเคยเจอปัญหาเดียวกัน หน้าจอแสดงการอัปโหลด Android app ไม่ผ่าน เพราะ signing key ไม่ตรงกับ user เก่า โดยเข้าที่เมนู App signing เพื่อดูรายละเอียดเพิ่มเติม หน้าจอแสดงรายละเอียด signing key ที่สามารถอัปโหลดจะเห็นได้ว่า SHA ผูกติดกับ user เก่า ดังนั้นเพื่อแก้ปัญหานี้ เราต้อง Upload…

    >> Read More <<

  • Word : การปรับรูปแบบ font สารบัญตามที่เราต้องการ


    กลับมาอีกครั้งกับเรื่อง Word สืบเนื่องมาจาก Blog ที่แล้วที่กล่าวถึงเรื่องการได้มีส่วนช่วยเพื่อนร่วมงานในการทำคู่มือ จึงได้มีโอกาสในการใช้งาน Word ซึ่งปัญหาที่พบอีกเรื่องก็คือ Font สารบัญ ไม่ใช่รูปแบบ Font ที่ต้องการคือ TH SarabunPSK ผู้เขียนจึงได้เขียนเรื่องนี้ขึ้นมาเพื่อที่ผู้อ่านจะสามารถนำไปใช้งานได้ ตัวอย่าง ผู้เขียนได้ทำการสร้างเนื้อหาทดสอบ ใน Style Heading และใส่สารบัญเรียบร้อย ดังภาพ จะเห็นได้ว่า Font ในเนื้อหา เป็น TH SarabunPSK ตามที่ตั้งค่าใน Style Heading1 ไว้ตามที่ต้องการ แต่ส่วนสารบัญนั้นเป็น Font แปลก ๆ ไม่ใช่ Font ที่เราต้องการ เริ่มทำการเปลี่ยน Font โดยไปที่ที่เราเลือกสารบัญแบบอัตโนมัติมาใส่ คือไปที่ Menu References -> Table of Contents -> Custom Table of Contents……

    >> Read More <<

  • Word : การใส่รูปแบบเลขหน้าที่ต่างกันในไฟล์เดียวกัน


    เคยไหมที่เวลาผู้อ่านจะสร้างคู่มือหรือเอกสารที่ต้องมีคำนำ สารบัญ ต่อด้วยเนื้อหา อาจจะจบด้วยภาคผนวก ซึ่งแต่ละส่วนนั้นมีการแสดงเลขหน้าที่ไม่เหมือนกัน ส่วนคำนำ สารบัญ อาจจะใช้เลขหน้าเป็นตัวอักษร เช่น ก, ข แต่ส่วนเนื้อหาใช้ตัวเลขอารบิค ในช่วงนี้ ผู้เขียนได้มีการช่วยเหลือเพื่อนร่วมงานในเรื่องนี้ในการทำคู่มือจึงได้นำลงมาใส่ไว้ใน Blog เผื่อเป็นประโยชน์แก่ท่านผู้อ่าน ตัวอย่าง ผู้เขียนสร้างเนื้อหามา 2 บรรทัดเพื่อเป็นเนื้อหาทดสอบในการใส่เลขหน้า จากนั้นทำการใส่ตัวแบ่งหน้า โดยเลือกเป็น Section Breaks -> Next Page จากนั้นใส่เลขหน้าเป็นเลขอารบิคปกติ เลขหน้าจะเริ่มที่หน้าที่ 1 และ 2 ไปเรื่อย ๆ จากนั้นผู้อ่านของดูที่แถบ Ribbon ใน Tab Header & Footer และพบเมนู Link to Previous ซึ่งจะเป็นว่าเมนูนี้ถูกไฮไลท์อยู่ นั่นคือ เลขหน้าจะต่อเนื่องจาก Section ก่อนหน้า ให้เลือกเมนูนี้อีกครั้ง เพื่อเอาการ Link กับ Section…

    >> Read More <<

  • แสดงข้อมูล Memory CPU Disk ด้วย C# EP.3


    แล้วก็มาถึง EP สุดท้ายของซีรีส์นี้ นั่นก็คือการดึงข้อมูลการใช้งานพื้นที่บน Disk ก่อนจะไปหาพื้นที่ disk เราต้องไปหา drive กันก่อนว่ามี drive อะไรบ้าง จากนั้นจึงไปหาข้อมูล disk ของ drive นั้นๆ โดยเราจะใช้ class DriveInfo สำหรับดึงข้อมูล drive ต่างๆ ออกมา ดังโค้ดตัวอย่าง โดยเราสามารถดึงข้อมูล drive ต่างๆ ได้ผ่านเมทธอด GetDrives() และเข้าถึงชื่อ drive ได้ผ่าน property Name เมื่อมาถึงขั้นตอนนี้ เราก็สามารถเข้าถึงข้อมูลพื้นที่ disk และการใช้งานของแต่ละ drive ได้ไม่ยากแล้ว ผ่าน property ต่างๆ ของ object DriveInfo เราไปดูตัวอย่างโค้ดกันเลย จากตัวอย่าง เราต้องตรวจสอบเพิ่มเติมว่า Drive ที่เราต้องการอยู่ในสถานะพร้อมใช้งานอยู่หรือไม่ผ่าน IsReady ก่อนที่จะเรียกใช้งานเมทธอดอื่น เพื่อให้การแสดงผลข้อมูลอยู่ในรูปแบบที่เข้าใจง่าย…

    >> Read More <<