จดๆจากงาน LINE DEV CONF 2025

งานนี้ผมได้บัตรมาแบบงงๆเลย เพราะจะลองเข้ามาฟังหลายปี แล้วไม่ได้บัตร ปีนี้ได้เฉย เลยมาฟังและจดๆไว้ โดยมีหัวข้อ ส่วนใหญ่ไปทาง AI น้า ลองอ่านกันได้ Welcome Opening Speaker Norasit Sitivechvichit เริ่มต้น Speaker ตั้งคำถามว่า ประเทศไทย เรามี potential จะก้าวขึ้นไปด้วย Tech อย่างไรบ้าง โดยมีการตั้งคำถาม Source GitHub 📌 How many Devs in Thailand ? – ไทยเรายังมีสัด Dev ต่อประขากรทื่ยังน้อยอยู่ 12 คน ต่อประชากร 1000 คน แต่ถ้าเป็น 166 คนต่อ 1000 📌 Outcome จาก Dev (Android Apps)? – Trend คล้ายกันครับคำถามที่แล้วครับ 📌 Efficiency (Apps Per GitHub Dev) – พบว่าข้อมูลตรงนี้ของไทยต่างออกไปนะ มีทำได้สูงพอๆกับ USA และมีหลายตัวที่เติบโต จาก Startup มาเป็น Unicorn อย่าง Lineman BitKub เป็นต้น 📌 ถ้ามองในมุม Global World Top 50 จะพบว่าสัดส่วนของ บ Software + AI + Robotic มากขึ้น อันนี้ AI ลอง forecast ไปถึงปี 2035 แสดงว่า ไทยเราตอนนี้เริ่มลงมือทำ สร้าง Community เพื่อ…

Cloud Native Bangkok Community Group #02

Blog จดๆระหว่าง Merge นั่งลุ้นๆ CI เหมือนกันว่า Merge จะ fail ไหม หัวข้อที่จดๆ แบบไวๆตามนี้ Bringing Agentic AI to Kubernetes by Leon Nunes Speaker Leon Nunes สำหรับ Session นี้อาจจะน้อยนึงนึงแยกร่างไม่ทันระหว่างแก้ merge confict + test ที่พังครับ โดยรวมๆ จะบอกว่าตัว Kube มันเอา AI มาช่วยได้นะ อารมณ์เหมือนมองว่า ให้ AI เข้ามาช่วยแก้ปัญหาจุกจิกใน Kube เช่น อยากรู้ข้อมูล เราเอา AI Endpoint มาเชื่อม + ลง Tools โดยมีตัวหลายตัวที่แยกร่างจดๆ ตามนี้ Resource: Introduce new certification Cloud Native Platform Engineering Associate (CNPA) Speaker Sharkrit Impat Session นี้มาแนะนำ Cert ใหม่อย่างตัว Cloud Native Platform Engineering Associate (CNPA) ว่ามันเป็นอย่างไร และต้องเรียนรู้อะไรบ้างขึ้นไป โดยหลักๆ เรียกว่า Buzzword มาเต็มครับ จากสาย DevOps โดยเราต้องรู้ว่าการจัดการพวก Resource เป็นอย่างไรด้วย Script / การทำ CI CD รวมถึงการจัดการสิทธิ Security ต่างๆ อย่าง Concept Zero Trust /…

Step ดึง npm lib โดยใช้ curl/wget และ manual upload เข้า nexus กรณีที่ nexus proxy ใช้งานไม่ได้

สำหรับ Blog เขียนขึ้นมา เพราะว่าอยู่เจอปัญหาว่าตัว npm ตัว nexus proxy ไม่สามารถดึงมาให้ได้ พยายาม npm install หลายๆรอบ เพื่อให้ nexus ดึงมาให้ แต่ตบตีไปเกือบครึ่งวันแล้วยังไม่ได้ และเดี๋ยวต้องเอาไปส่ง UAT แล้ว เลยได้ท่านี้ขึ้นมาครับ Download npm lib via curl/wget ปกติสำหรับท่านี้มี 3 แบบที่ดึง package ลงมาแบบ Offline ตัว Lib ที่มีปัญหา [email protected] Note: สำหรับวิธีการนี้ผมไม่ได้ใช้ เนื่องจากเครื่อง dev ถูก Set ENV ไปที่ nexus local ทางเดียว ไม่ให้ต่อ ตรงตัว config lock ไว้ เลยไป 2 ท่าที่เหลือแทน Manual upload เข้า nexus

How to Install rpm / Update RHEL Locally via DVD / ISO

When Why and Benefit Install rpm / Update RHEL Locally Prerequisite RedHat Installation DVD, You can download here Register at Developer 1 Year or Paid a Subscription Require user with root permission Mount RedHat DVD / ISO – By ISO – By DVD Troubleshooting :If you encounter errors, ensure that the DVD is inserted properly and device name  (/dev/sr0) is correct. or Use lsblk or dmesg | grep sr0 to confirm the correct device name. Create RHEL Local Repository After configuring the repo file, we need to clear the cache by using yum or dnf Note: “Updating Subscription Management repositories.Unable to read consumer identityThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.” Because is a my mock Enviroment for create…

Spring Boot @ConditionalOnProperty

สำหรับวันนี้เรียกว่าไปแงะจากที่เรียน Course manning live project อันเก่าที่ดองไว้ แล้วพยายามหาความสัมพันธ์ เพราะ ผมสาย dotnet มันเลยไม่มีแบบนี้ เลยเขียน Blog ไว้ดีกว่าครับ @ConditionalOnProperty คือ อะไร เจ้า @ConditionalOnProperty เป็นส่วนนึงของ Spring Boot auto-configuration module (org.springframework.boot.autoconfigure.*) แล้วที่นี่มันทำให้ Config แล้วยิงพวก feature flag ได้ จากตัวอย่าง ผมสงสัยตัว ที่นี้มาลองชำแหละกัน DomainConfig ตรงบรรทัดที่ 9 การกำหนด config ถ้าใน application.properties หรือ yaml ส่วนของ SampleDataLoader ทำงานจะเป็นตามนี้ครับ เงื่อนไขทำงานของ sampleDataLoader ถ้ามี dataloader + loadsample และต้องมีค่า true (จากในส่วน havingValue) แล้วที่นี้ในส่วน ENV จะถ้าสังเกตุใน Docker Compose จะกำหนดตามนี้ นอกจากนี้ยังมี matchIfMissing ใช้สำหรับกำหนดค่า default กรณีที่ไม่ได้กำหนด properties ไว้ใน application.properties หรือ yaml หรือ ENV มันจะใช้ค่า default แทน อ๋อ และลองกลับไปหาใน dotnet มีทำ lib คล้ายๆกันไว้ ถ้าเป็นปกติแล้ว เหมือนจะเขียน if ดักเอาเองใน DI

WP – Updating failed. Could not update post in the database

หลังจากได้ปรับ WordPress ไปในรอบก่อน แล้วที่นี้เดือนที่แล้ว ผมได้ไปงาน Agile Thailand 2025 ตอนแรกตั้งใจว่าเดียวเอาจากที่ Note มาแปบเดียวแหละ เดี๋ยวสัก 5 ทุ่ม Publish Blog ปรากฏว่าหลังจากเขียนเสร็จ จะกด Save เชี่ยอยู่ๆ ทำไมมาพังตอนนี้หวะเนี่ย หรือ จะเป็นเพราะขยับ WordPress ล่าสุดไป อย่างแรกที่ผมทำนอนครับ ทำอะไรตอนมืนๆ อันตรายมาก แล้ววันรุ่งขึ้นมาดูต่อ เอา Post Copy แปะลง Notion สำรองไว้ก่อน แล้วกลับมาดูก่อนว่าเราทำอะไรไปบ้าง จดๆ Tune WordPress 2025 อ๋อเจอแล้ว ตัว WordPress เรายังใช้ Charset/Collation utf8mb3_general_ci แล้วที่นี้ใน Post ผมดันใส่ Emoji เข้าไป เห็นใน Facebook Post เค้าแปะกัน เราอยากแปะบ้าง 555 สรุปพังจากตรงนี้เลยครับ ถ้าอยาก Save Emoji ลง DB ต้องใช้ Collation แบบไหน ? ต้องปรับไปใช้ utf8mb4_xxx แทน โดยที่มันต่างกับ utf8mb3_xxx ดังนี้ ตอนนี้เรารู้แน่ๆแล้วใช้ utf8mb4_xxx แล้ว xxx มันมีแบบไหนบ้างหละ หลังจากลองไปส่องใน DB WordPress ตัวเองจะมี 3 แบบ utf8mb4_general_ci / utf8mb4_unicode_ci / utf8mb4_unicode_520_ci แล้วมันต่างกันยังไง โดยหลักจะเป็นการรองรับภาษาต่างๆ และการเปรียบเทียบ จัดเรียงตัวอักษรครับ ผมเลยสรุปมาเป็นตารางไว้ Catagory utf8mb4_general_ci utf8mb4_unicode_ci utf8mb4_unicode_520_ci Unicode Standard…

The SqlDbType enumeration value, 0, is invalid. (Parameter ‘SqlDbType’)

สำหรับวันนี้เจอเคสพิเศษนิดนึงครับ มี Code ที่ merge มาล่าสุดเจอ Error SqlDbType คือ อะไร ? เป็น Enum ที่เอาไว้ Map DataType ของ dotnet กับ SQL Server โดยมีรายละเอียดเต็มๆ ดังนี้ สำหรับ Code ที่มีปัญหาจะเป็นรูปแบบนี้ มีการ Parallel และต่อ DB โดยใช้ ADO.NET objects ตัวเดียวกัน ซึ่งพวก ADO.NET objects (พวก SqlParameter, SqlCommand, SqlConnection) ไม่เป็น thread-safe. พอเอาไป Parallel เลย Shared Object มันเลยเกิดปัญหา ทางแก้ง่ายๆ ยอมสร้างทุกรอบ ตัวอย่าง Code สำหรับสาเหตุที่เจอ Recap สั้นๆ เราคุม เรื่อง Connection DB ไม่ได้ครับ ตัว ADOInterceptor (คนเดิมเค้าเขียนคุม Connection DB เอง) มันจ่าย Connection มาให้ แล้ว Connection นั้นอาจจะ reuse SqlParameter ทำให้เกิดเคสผิดฝาผิดตัว จังหวะมันเสียบ Connection ของ thread c Connection b / d เอา a มาให้ ผิดฝาผิดตัวกัน เช่น

[C#] Semantic Kernel – Error System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.properties.month.type

ช่วงลองทำ Side Project เกี่ยวกับเจ้า Semantic Kernel ทำไว [KernelFunction] เตรียม Function การคำนวณให้ LLM มันปั๊น และส่งค่ามาให้ถูกเท่านั้นพอ ทำมาหลาย [KernelFunction] แต่อันนี้ดัน Error ซะงั้น ถ้าดู Error จะขึ้นแนวๆ System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.properties.month.type | LineNumber: 0 | BytePositionInLine: 187. ถ้าตัว Trace เต็มๆตามนี้ครับ ตอนแรกก็งงไปเกือบวัน พังเพราะอะไร แต่หลังจากกินข้าว และลองมาไล่อีกที เจ้า Kernel Function ของเรามันไม่เคยรับ Nullable เลยนี่หว่า พวก int? เลยลองไปดู Sample จาก อ้าวมันไม่มีเหมือนกันนะ ตัวอย่างมันไม่มีพวก Nullable เลยนี่หว่า พวก int? เลยลองเอาออก และลองใช้งานดู ทำงานได้ซะงั้น ไม่มี Error แต่ต้องพิมพ์ Prompt ให้มันชัดเจนหน่อยอย่าง “ข้อมูล Lotto ย้อนหลังเดือน 9 วันที่ 1” ให้มันเข้าทำงานได้ หรือ เราควร Design เป็นส่ง String ให้ [KernelFunction] จะปลอดภัยกว่าป่าวนะ แล้วให้ไปแปลง + ดักข้อมูลกันเองอีกที จบไปอีกวันครับ เดี๋ยวต้องลองไปหาเพิ่งว่ามีคนแจ้งเคสไปยัง ถ้าไม่มีเราอาจจะได้เป็นคนเจิมครับ ^__^

ลอง N8N ให้ AI สรุป devblogs.microsoft แล้วดันไม่มีข่าวอะไร ??

มาจดไว้ก่อน เพราะได้ตั้งโจทย์ลองทำ Local LLM + n8n ทำสรุปข่าวนี้ โดยตั้งต้นจาก devblogs.microsoft แต่ทิ้งไว้่ Week นึงแล้วไม่มีข่าวอะไรมาเลยต้องลองหาสาเหตุ ได้เป็น Blog ตามนี้ สำหรับรายละเอียดตามนี้เลย เริ่มจาก 📌 Schedule Trigger ผมตั้งไว้ตอนตี 4 📌 RSS Feed ผมให้มันดึงจาก 📌 Filter เขียน javascript ต้นทางจะมี isoDate เอาตัดมาเฉพาะวันที่ แล้วเอามาเทียบกับวันที่ปัจจุบัน เพื่อกรองออก 📌 Node IF 📌 ตอนนี้จะเป็น Node AI Agent ผมเชื่อมกับ Ollama และใช้ Model Qwen3 แล้วแจ้งตาม Prompt ดังนี้ 📌 หลังจากนั้นรอ AI มันทำ ถ้าทำเสร็จเราจะได้ json array มา ที่นี่ มันจะมีส่วนของ Model Qwen3 มันคิด (Tag think) ผมก็เลยจะตัดออก โดยใช้ Code แปะลง Node Code ตามนี้ 📌 ข้อมูลที่ได้จาก Node Code จะเป็น json array มีข้อมูลข่าวสรุป โดยอยู่ใน Format MarkDown แต่ผมจะส่งเมล์ เลยให้ Node MarkDown แปลง MarkDown มาเป็น HTML 📌 สุดท้าย เมื่อ Data พร้อม ผมใช้ Node…