แก้ปัญหา GitLab อาการผีหลอกก เช่น push branch หาย!! / Branch protection rule ไม่ทำงาน

คุณเคยเจอปัญหากันไหม แบบว่า GitLab อยู่ๆ มันเกิดอาการแปลกๆขึ้นมา เช่น ทำไมหละ ตั้งใหม่ แต่ Config เดิมไม่น่าจะใช่แล้ว ต้องมีการสืบสวนน เลยลองไปถามน้องที่ทำ VM ดู ปรากฏว่า Path ที่ mount git data ไว้ มีการกำหนด noexec ไว้ด้วยครับ ก็เลยประชุม ตกลงกัน จากปัญหานี้ เรียกว่าได้เข้าไป Discover อะไรข้างใน Gitlab มันเยอะมาก มันซ่อนของไว้เยอะ ทั้ง nginx PostgreSQL Sidekiq พอมันมัดรวมเป็นก้อนก็สะดวกดีครับ แต่เวลามีปัญหา ถ้าเข้าใจสถาปัตยกรรมข้างในของมันจะช่วยให้ Debug ได้ ง่ายกว่านะ ถ้าสนใจการ Debug ปัญหา มีคนทำ GitLab Page ไว้แล้ว เท่าที่อ่านปัญหา noexec นอกจาก gitlab data path แล้ว ตัว path tmp ก็ด้วยครับ Reference

Man Hin By Chef Man-ข้าวมันไก่ฮ่องกง 99 บาท

วันนี้มาลองร้านตามหลายที่ Review มาใน Tiktok ครับ เลยลองมาที่ Grande Centre Point Lumphini โซน Worklab ชั้น G เพื่อมากินข้าวมันไก่ เมนูชอบของผมเลยแหละ ที่ตั้งร้าน ตั้งร้านจริงๆอยู่ในโรงแรมเลยครับ ขั้นล่างเลย Grande Centre Point Lumphini จะอยู่ฝั่งข้ามกับ One Bangkok ครับ นั่ง Mrt สถานีลุมพินี ทางออก 1 หรือ จะเอารถมาจากได้เลยครับ จากนั้นเดินตรงเข้ามาโซน Worklab พอเข้ามาในร้านบอกพนักงานไปครับ ว่ามีกี่คนจากนั้นพนักงานจะสร้าง QR Code มาให้เข้าเว็บไปสั่งอาหารครับ ผมลองสั่งไป 3 เมนูเลย Man Hin By Chef Man-ข้าวมันไก่ฮ่องกง 99 บาท / เต้าหู้มาโพ / เกี๊ยวน้ำซุปเสฉวน แอบสังเกตุด้วยว่าระบบรันบน Azure ด้วย เออเป็นอีก Use-Case ที่ไม่ต้อง Custom Domain จากนั้นรอประมาณ 10 นาที เมนูแรกก็มาแล้ว ข้าวมันไก่ฮ่องกง 99 บาท สำหรับเมนู ก่อนมาผมมาหลายรอบ ผมลองดู Review บอกว่าข้าวมันไก่ตัวไก่เย็นบ้าง แต่รอบผมไม่เป็นนะ เกี๊ยวน้ำซุปเสฉวน 129 บาท เกี้ยวอร่อย แต่น้ำเปรี้ยวๆ ไม่เผ็ด แอบผิดหวังจะคิดว่ามันเผ็ดอ่า แต่พอกัดแล้วเนื้อกุ้งฉ่ำเลย คุ้มมากๆ เต้าหู้มาโผ 220 บาท เต้าหํหมาโผ ตอนแรกคิดว่าจะเข้มข้น ผมสั่งเพราะได้ยินเมนูนี้จากเรื่อง ยอดนักปรุงโซมะ มันดูเผ็ดร้อน และทานได้เรื่อยๆเหมือนติด แต่แรกอาจจะเฉยๆ มันดึงดูทานกับข้าวสวยได้เรื่อยๆ ส่วนรสชาติที่ไม่เข้มขน ผมน้ำจากเกี้ยวมาผสมแทน อร่อยยยครับ ข้าวเปล่า…

[JAVA] Json Path

When XML has XPath, Json also has JsonPath. For Java, you can use libraries like: In this blog, I will show an example of interacting with JSON Path by using JSONPath  Using JSONPath Anotation Description $ represents the root of the JSON document. . or [] is used for accessing child elements. * is a wildcard that matches any element. [?()] is used for filtering elements. More Complex Queries Using JSONPath with Jackson While Jackson does not directly support JSONPath, you can combine it with the JSONPath library to extract data using JSONPath. Here’s an example: using JSONPath in a Spring Boot you can integrate the JsonPath library with your project. Here’s a step-by-step guide In testing step, you can use a tool like Postman or cURL to send a POST request to the endpoint. with sample request The result should be A You can customize the jsonPath parameter to perform more complex queries such as จบไปและกับ Blog ที่ดองกว่า 4 ปี 55

รื้อเสาอากาศทีวีอายุ 30 ปี !!!

สำหรับ Blog นี้เรียกว่าเป็๋น Blog ต่อจากเรื่อง ซ่อมบ้าน-ทาสีกันซึมดาดฟ้า ที่นี้มาถึงตัว เสาอากาศทีวีอายุ 30 ปี จริงมันหักมาสักพักใหญ่แล้ว แต่ทว่าไม่สามารถเอาออกไปได้ เพราะกุญแจของลูกกรงเป็นสนิมมัน เปิดไม่ออกครับ เลยได้แต่เอาเชือกมามัดๆไม่ให้มันปลิวไปหล่นบ้านคนอื่นครับ จัดการกุญแจเป็นสนิม ไขไม่ออก หลังจากทำมาหลาย Sprint และ Fail ตลอดๆ ด้วยวิธีการลองเอาเลื่อยมาตัดครับ ปรากฏว่าชั้นสนิทยังไม่เข้าเลยครับ หลังจากลอง 2 – 3 เดือน จริงๆ ไปทำ 2-3 อาทิตย์รอบนึง แล้วที่นี้ลองไปหาดูว่าคนอื่นเค้าแก้ปัญหาแบบนี้ยังไง เจอ Clip แนะนำมาครับ พอได้วิธีแล้วลองครับจากสภาพกุญแจมันไม่ได้เปิดออกมา 15 ปี ++ แน่นๆครับ ผมเลยทำตาม Clip และแต่ปรับสัดส่วน น้ำ 50% / เป็ดโปร 50% รื้อเสาอากาศทีวีอายุ 30 ปี !!! ส่วนเสาอากาศ มันหักมานานแล้ว เก็บซากที่หักก่อน ส่วนที่เหลือ ใช้หลักการคานดีดคานงัด หักเหล็กออกมาเป็นชิ้นๆ หงุดหงิดอะไรใส่ให้หมดเรียบร้อย งัดๆหักๆ ท่อส่วนไหนยากต้องเอาเลื่อยมาบากให้มันมีรอยปรีนิดนึงจะได้หักง่ายๆครับ แปบๆเสร็จแล้ว เก็บงาน หลังจากรื่อออกมาหมด พื้นที่ดาดฟ้าต้องมาล้าง และทาสีทับให้เรียบร้อยด้วย อย่างน้อยตรงรูที่เสาอากาศไปโผล่ต้องมาอุดให้เรียบร้อย เดี๋ยวน้ำจะชึมต่ออีกครับ

แยกร่างมาฟัง Global Azure 2025 Thailand + AzureSecEve

วันนี้มีหลาย Session เลยที่จัดพร้อมกัน วันนี้เลยแยกร่างจดครับ สำหรับหัวข้อมี ดังนี้ Introducing AI Skills Navigator and Microsoft Learn Speaker Phantip Kokilanon ตอนนี้เปิด Project Microsoft Thai AI Academy จากเดิมที่เน้น Developer จะขยับลงมาส่วน Non Tech แล้วครับ ถ้าไม่รู้ว่าจะเริ่มจากไหน เข้าไปดูในส่วน AI Skill Navigator ได้ด้วย นอกจากนี้มีในส่วน YouTube MSThai / Linked Learning / MS Learn นอกจากนี้มี QR Code ลงทะเบียน เพื่อวัดความก้าวหน้าตอนเรียน และแจกสิทธิสอบ Cert Link Building Intelligent AI Agents with Azure AI Foundry Speaker Teerasej Jiraphatchandej ตอนนี้ AI เยอะมาก ถ้าดูตาม Landscape ตัว Service / Lib / Tools มันเยอะมากครับ สำหรับมุมมองของ AI โดยมีหลายแนวทางสำหรับการนำของพวกนี้มาใช้กับ Product ของเรา ซึ่งทาง MS มีแนวทางไว้ ประมาณนี้ ในช่วงปลายปี 2024 มาจนถึงตอนนี้แนวทางทำ App ด้วย AI เปลี่ยนจาก โดยทาง Microsoft เตรียม Infra รองรับด้วย ไม่ต้องไปหาที่ Deploy Model กันเอง…

เวลามี Merge Request / Pull Request มีแนวทางการตรวจยังไง

พอดีเห็น Post ในกลุ่มสมาคมโปรแกรมเมอร์ไทย เลยคิดว่าเอา Comment ตัวเองในนั้นมองลอง Rewrite เขียน Blog ใหม่อีกทีน่าจะดีครับ ^__^ Prerequisite การ Review นอกจากช่วยทำให้ Code ดีขึ้นแล้ว ยังเป็นการแชร์ความรู้ด้วย แต่เราต้องมีพื้นฐาน หรือ Fundamential ที่ดีก่อนครับ แนวทางการตรวจ Merge Request / Pull Request มีหลายตัวที่ผมใช้นะ เอาไว้ตรวจตอน Review ส่วน AI ยังไม่เคยลองให้มันทำเต็มๆ นะ ถ้างง Copy ไปถามมัน เผื่อเป็นเทคนิคใหม่ๆ กรณีที่ MR / PR นั้นไฟล์มันมาแบบเยอะมาก ทำยังไง ? จากที่ผมเคยเจอหลัก 100 – 3000 ที่ผมเคยเจอมากสุดนะ ถ้าเริ่มต้องทำยังไง สุดท้ายแล้ว การที่ Merge มันมาเยอะๆ ขนาดนั้นต้องมองกลับไปที่การวางแผนแล้ว ว่าทำไมปล่อย ให้ Branch มาใหญ่ขนาดนั้นแล้ว Merge เข้าใจว่าจริงๆ มันควรทำให้เล็ก แต่มันมีหลายส่วนที่ Merge ต้องใหญ่ จากประสบการณ์ กลัว Code ชาวบ้านที่จะเข้ามาร่วมด้วย อันนี้ อาจจะต้องแก้ด้วยการทำ Test ให้ครอบคลุม และตอบสนองได้ไว อ๋อ แล้ว Code review ไม่ใช่การมานั่งจับผิดโค้ด แต่เป็นกระบวนการแบ่งปันองค์ความรู้ให้กันและกัน Key สำคัญของการทำ Code Review พยายามมองหาจุดที่สามารถ Improve Code หรือ ตรวจสอบ Impact ที่เกิดขึ้นได้ ทั้งในส่วน Technical หรือ ในส่วน Requirement เองเป็นต้น รวมถึงการแชร์ความรู้ทั้ง…

Spring Test Error java.lang.ClassNotFoundException: org.junit.platform.engine.reporting.OutputDirectoryProvider

พอดีช่วงนี้ลองปัดฝุ่น Java ป่าวหรอกจริงๆไปลอง Course manning live project อันเก่าที่ดองไว้ ซื้อมาตอน 10 usd แล้วมาลองดู Spring Version ใหม่ ของเดิมนน่าจะปี 2022-2023 แต่พอขยับ แล้วเจอ Error ตอนแรกผมคิดมาครึ่งวันเลย แล้วพอมาเจอ Issue นี้ ถึงบางอ้อเลยครับ มัน Bug สรุป ผมเลยย้อนกลับไปใช้ Version ล่าสุดเมื่อปลายปี 2025 กับเดือนแรกของปี 2025 แทนครับ อันนี้เป็น pom ที่แก้ เผื่อใครเจอปัญหาครับ ^__^ สำหรับการเรียนนอกจาก Flyway แล้ว ยังมีตัว liquibase ที่ทำคล้ายๆ รวมถึง Idea การทำ API ด้วย จบหยุดยาวครับ Happy Long Weekend Reference

อยู่ๆ Test Report จาก dotnet test ก็หาย

เรื่องของเรื่องคือว่าอยู่ๆ HTML Test Report ที่มาจาก dotnet test ก็หายไป แต่ตัว Jenkins มันแจ้งว่า Test Fail แต่ Report สรุป ดันบอกว่า 0 fail ซะงั้น (อันนี้เขียน Helper เองนะรวมเองนะ ว่าจะย้ายไปใช้ AllureReport แต่ยังไม่ Support MSTest สักที 55) อ้าวมันเกิดอะไรขึ้น มันเลยทำให้ Script ที่เขียนมันกวาดไม่เจอครับ เลยเป็นที่มาตัว Jenkins มันแจ้งว่า Test Fail แต่ Report สรุป ดันบอกว่า 0 fail เพราะมันหาไฟล์ report ของ project ที่ fail ไป merge ไม่เจอครับ สาเหตุ เวลาเราสร้าง Test Project ใหม่ ด้วย Visual Studio 2022 (17.12.xx) ใน cs project มันจะแถมของมาด้วย และปรับ Default Lib ด้วย จากตรงนี้พบว่า เค้าเพิ่ม EnableMSTestRunner / OutputType ผมสงสัยตัวนี้แหละ ที่ทำให้ Test Result มันไปโผล่ใน bin หลังจากลอง Comment ออก เออใช่จริงๆด้วยตัว EnableMSTestRunner กับ OutputType เป็นสาเหตุที่ Test Result อยู่ผิดที่ผิดทาง แต่ Test รันได้นะ แต่ Coverage ไม่ออกนะ…