• วิธีสร้าง Running Number ข้อมูลที่ถูก Filter ใน Excel


    หลายครั้งที่เรา ใช้ Excel แล้วใส่ Filter  เพื่อดูกลุ่มข้อมูลที่สนใจ และพบปัญหาว่าลำดับข้อมูลที่เคยเรียงอยู่ ไม่เรียงเหมือนเดิม เช่น  1,3,7,8 แล้วจะทำยังไงดีล่ะ ซึ่งใน Excel จะมี Function SUBTOTAL ซึ่งช่วยทำการคำนวณเฉพาะข้อมูลที่ยังคงมองเห็นอยู่หลังถูก Filter ไปแล้วโดย รูปแบบคำสั่งของ SUBTOTAL คือ SUBTOTAL (function_num, ref1, [ref2], …) โดยจะมี function_code ฟังก์ชันที่จะใช้ในการรวมผลย่อย 1 คือ AVERAGE 2 คือ COUNT 3 คือ COUNTA 4 คือ MAX 5 คือ MIN 6 คือ PRODUCT 7 คือ STDEV 8 คือ STDEVP 9…

    >> Read More <<

  • [Adobe XD Tips] How to สร้าง Prototype จาก UI ที่ออกแบบไว้แล้ว


    สวัสดีเพื่อนๆชาว IT/Graphic ทุกท่าน วันนี้เราเคล็ดลับง่ายๆในการสร้าง Prototype ระบบด้วยการนำรูปภาพ User Interface(UI) ที่มีอยู่หรือออกแบบไว้แล้วด้วยเครื่องมือฟรีและดีนั้นคือ Adobe XD Prototype คืออะไร Prototype คือ การทำ Interactive User Interface หรือหน้าตาของระบบที่สามารถตอบสนองต่อผู้ใช้ โดยไม่ต้องเขียน code เลย เช่น การคลิกปุ่มใดปุ่มหนึ่งในหน้า UI ทำให้มีการเปลี่ยนหน้าหรือเปลี่ยนสถานะของ object ในหน้านั้นๆ การทำ Prototype นั้นจะทำให้ Developer สามารถทำงานได้ง่ายขึ้น รู้ Flow การทำงานของระบบ อีกทั้งยังสามารถทำเพื่อใช้ในการนำเสนอระบบงานกับลูกค้าได้โดยไม่ต้อง coding ถึงเวลาลงมือทำกัน ลุยยย!! ขั้นตอนแรกเราจะต้องเตรียมไฟล์รูป UI ที่ออกแบบไว้แล้วไม่ว่าจะทำด้วย Microsoft Powerpoint, Adobe Photoshop, Adobe Illustrator หรือโปรแกรมอื่นๆ ขั้นตอนต่อไป เปิดโปรแกรม Adobe XD…

    >> Read More <<

  • Word : วิธีแก้ Repeat Header Table แล้ว word ดื้อ ไม่ยอม Repeat ให้


    เคยไหม กด ✔ ที่คำสั่ง Repeat as header row at the top of each page แล้ว ตารางนั้นก็ยังไม่ยอมแสดงหัวตารางในหน้าถัดไปเสียที ช่วงนี้หลังจากที่ผู้เขียนได้มีช่วงเวลาในการที่ปั่นเอกสาร รวมถึงเพื่อน ๆ ที่เจอปัญหาได้สอบถามกันเข้ามาเกี่ยวกับเรื่องนี้ ผู้เขียนจึงเห็นว่าน่าจะนำมาเขียน Blog เผื่อผู้อ่านท่านใดที่ติดปัญหาเช่นเดียวกัน จะได้ลองนำไปใช้ดูเผื่อแก้ปัญหาได้ หลัก ๆ แล้วปกติ เมื่อผู้อ่านสร้างตารางขึ้นมา เมื่อต้องการให้ข้อมูลสองแถวแรกเป็นหัวตาราง ผู้เขียนจะทำการคลุมสองแถวนั้น จากนั้นคลิกเมาส์ขวา เลือกเมนู Table Properties… ดังภาพด้านล่าง จากนั้นที่ Tab Row ให้ ✔ ที่คำสั่ง Repeat as header row at the top of each page เพื่อเป็นการบอกว่า จะทำให้ตาราง 2 แถวแรกเป็นหัวตารางจากนั้นกด…

    >> Read More <<

  • การเปลี่ยนแปลง Coded UI Test ใน Visual Studio 2019


    Microsoft ได้ประกาศว่า Visual Studio 2019 จะเป็น Visual Studio รุ่นสุดท้ายที่มีฟังก์ชัน Coded UI test ทำไมถึงเลิกใช้ Coded UI Test Coded UI tests ถูกใช้งานสำหรับการทดสอบการทำงานแบบอัตโนมัติของ web apps และ desktop apps โดยที่ในช่วงหลายปีหลังมานี้ Open source UI testing tools เช่น Selenium และ Appium ที่มีแรงสนับสนุนจาก community ที่เข้มแข็งและกลายเป็นมาตราฐานกลาง ซึ่ง Coded UI tests นั้นก็มีพื้นฐานอยู่บน Selenium นอกจากนี้ทั้ง Selenium และ Appium ยังทำงานข้ามแพลตฟอร์มและรองรับภาษาการเขียนโปรแกรมหลายภาษา Microsoft จะยังคงให้การสนับสนุน Coded UI tests ใน Visual Studio…

    >> Read More <<

  • Notebook Tips – ประหยัด ยืดอายุแบตเตอรี่


    มีคำถามมากมายเกี่ยวกับแบตเตอรี่ ไม่ว่าจะเป็นการชาร์จ, แบตเสื่อม ประหยัดแบต โน๊ตบุ๊คและอีกมากมาย เนื่องด้วยในบรรดาอุปกรณ์ภายในโน๊ตบุ๊คของเราส่วนมาก สิ่งที่จะมีปัญหาอันดันแรก นั้นก็คือแบตเตอรี่ ซึ่งหากใช้งานไม่ถูกต้อง ซื้อมาเพียงไม่กี่เดือนแบตก็เสื่อมแล้ว ทำให้เป็นปัญหาเวลาใช้นอกสถานที่เป็นอย่างมาก 1.ปล่อยให้แบตเตอรี่หมดก่อนแล้วค่อยชาร์จ เรื่องความร้อนนั้นเป็นของคู่กับโน้ตบุ๊คด้วยเลยก็ว่าได้ ส่วนสำหรับแบตเตอรี่นั้นหากได้รับความร้อนนานๆ อายุก็จะสั้นลงแน่นอน แต่เอ๊ะ!! แล้วจะให้ทำยังไงหละในเมื่อการชาร์จทุกเครื่องมันก็ร้อนนิหน่า ถูกไหม? แต่มีวิธีแนะนำ นั้นก็คือ อย่าปล่อยให้แบตเตอรี่อยู่ต่ำกว่าประมาณ 20% ซึ่งถ้าจะให้ดีควรอยู่ในระดับ 20-30% หรืออาจจะ 40% ก็ได้ แต่ก็อย่าเกินนี้ เพราะยิ่งแบตเหลือน้อยมากๆ การชาร์จมันก็จะนาน ทำให้เกิดความร้อนมากกว่านั้นเอง และที่สำคัญอย่าให้แบตเตอรี่หรือตัวเครื่องโน้ตบุ๊คเราอยู่ใกล้กับสิ่งของร้อนๆ ด้วย 2.ถอดแบตเตอรี่ออกขณะเล่นเกมหรือเวลาอยู่บ้าน ถามกันว่าต้องถอดแบตเตอรี่หรือเปล่า? ต้องใส่ไว้ตลอดไหม? วันนี้ก็มีคำตอบให้ หากเราถอดไว้แล้ว แต่เกิดปัญหา ไฟดับ ไฟกระชาก มันก็อาจจะทำให้อุปกรณ์หรือโน้คบุ๊คของเราเสียหายได้ครับ ซึ่งอันที่จริงหากเราถอดแบตเตอรี่ออกมามันจะช่วยให้ยืดอายุการใช้งานได้จริง แต่มันก็เพียงเล็กน้อย แล้วมันจะคุ้ม? กับสิ่งที่เราอาจจะเสียไป ดูแล้วมันก็คงได้ไม่คุ้มเสีย 3.ถอดแบตเตอรี่เก็บไว้ ไม่ต้องใช้ ไม่เสื่อม ปกติแบตเตอรี่ อายุประมาณ 1 ปีหรืออาจจะน้อยหรือมากกว่า ตามลักษณะการใช้งาน…

    >> Read More <<

  • แนวทางการเขียน Unit Tests ที่ดีสำหรับ C # (2)


    ในบทความก่อนหน้า ได้พูดถึงการเลือก Testing framework ที่เหมาะสม การเขียน unit test โดยใช้แนวคิดแบบ “AAA” (Arrange, Acr, Assert) และการกำหนดชื่อ method ที่สื่อความหมายเข้าใจได้ง่าย Test Initialize & Cleanup เมื่อ unit tests ทำการทดสอบ methods ภายใน class ก็จำเป็นต้องสร้าง instance ของ class นั้นๆขึ้นมาก่อน ซึ่งจะเกิดขึ้นหลายๆครั้งใน unit test เพื่อประหยัดเวลาและทรัพยากรของระบบ เราสามารถใช้ [TestInitialize] attribute ของ MSTest เพื่อบอกว่า method นั้นใช้สำหรับกำหนดค่าเริ่มต้น สร้าง instance ของ class ก่อนที่จะเริ่ม run unit tests (หรือ [SetUp] ใน…

    >> Read More <<

  • แนวทางการเขียน Unit Tests ที่ดีสำหรับ C #


    ในความคิดของผู้เขียน ผู้พัฒนาส่วนใหญ่มักไม่ชอบที่จะเขียน Unit testing บางคนอาจจะคิดว่ามันน่าเบื่อ หรือบางคนก็ไม่เห็นคุณค่าในการเขียน code เพื่อตรวจสอบการทำงานของ code อื่นๆ Unit testing คือแนวทางในการเขียน code เพื่อตรวจสอบว่าหน่วยการทำงานใน แอปพลิเคชันซอฟต์แวร์ ว่าทำงานตามที่ตั้งใจไว้หรือไม่ เช่น หากตั้งใจที่จะให้ตัวอักษรตัวแรกของคำเป็น พิมพ์ใหญ่ unit test จะต้องสามารถตรวจสอบว่าตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่โดยไม่สนใจอักษรตัวอื่นๆ ข้อดีอย่างหนึ่งของการเขียน unit tests ใน C # คือ เราสามารถใช้ Test Explorer ใน Visual Studio เพื่อตรวจสอบว่าการทดสอบทั้งหมดผ่านหรือไม่ โดยที่ไม่ต้องกังวลว่าการเปลี่ยนแปลงล่าสุดที่เขียน จะทำให้ระบบทำงานไม่ได้หรือไม่ การเลือก Testing Framework Testing frameworks ช่วยให้เราสามารถใช้ attribute ในการเขียน unit tests [TestClass] หรือ [TestMethod] ซึ่ง attribute เหล่านี้บอกให้ Text…

    >> Read More <<

  • เขียน Unit test ทดสอบการทำงานกับฐานข้อมูลที่ใช้ Entity Framework Core


    ในบทความนี้ จะนำเสนอการเขียน unit test เพื่อทดสอบการทำงานของ method ที่ใช้งาน Entity Framework Core ซึ่งตัว Entity Framework Core มาพร้อมความสามารถที่สามารถใช้งาน in-memory store ซึ่งสามารถใช้ในการทดสอบได้ หรือจะใช้ mock framework ในการทดสอบก็ได้ โดยในบทความนี้จะแสดงให้เห็นทั้งสองแนวทาง In Memory Database In Memory Database เป็นการสร้าง database จำลองขึ้นมาใช้บน memory แทนที่การใช้ database ตัวจริง ทำให้เราสามาถเขียน unit test โดยที่ไม่ไปกระทบกับ database จริงๆ โดยการเพิ่ม Microsoft.Entityframework.InMemory NuGet package เข้าไปใน test projet ในส่วนของ DbContext class จะต้องมี constructor ที่รับ…

    >> Read More <<

  • SSH:- no matching key exchange method found


    เดี๋ยวนี้ใน Windows 10 ก็มี ssh ให้ใช้งาน แต่พอใช้กับเซิร์ฟเวอร์รุ่นเก่าๆ ก็เข้าไม่ได้ซะงั้น ไปลอง ssh ฝั่ง Linux (WSL2) ก็ให้ผลเหมือนกันคือ!!! ถ้าเป็นเมื่อก่อน วิ่งไปหา putty อย่างไว…. แต่ Windows อุตส่าห์ทำมาให้ใช้แล้วทั้งทีจะไม่ใช้ได้ยังไง สิ่งที่ต้องตรวจสอบก่อนคือ man ssh_config สำหรับ Linux ฝั่ง client ว่ารองรับ ciphers และ kexalgorithms แบบไหนรองรับหรือไม่ ส่วนฝั่ง Windows 10 จะอิงตาม OpenBSD manual ซึ่งเหมือนกับ Linux แหละ สร้างแฟ้ม .ssh/config โดย Linux ก็จะให้สร้างที่ /home/username/.ssh/ Windows ก็อยู่ที่ C:\Users\username\.ssh สำหรับ error ว่า no…

    >> Read More <<