[NET] Blazor detected a change in the application’s culture that is not supported with the current project

Blog มาจดๆไว้ก่อนครับ พอดีลองทำ Blazor WASM มาเป็น Utility เล็กๆ ช่วยงาน แล้วที่นี้ ดันเจอปัญหาว่าบางเครื่องทำงานได้ปกติ แต่บางเครื่องไม่ได้ เมื่อเข้า Web Developer tools จะเจอ Error เต็มๆตามนี้ครับ สำหรับทางแก้ไข เอาตาม Error Message มันแนะนำครับ ใน csproj เพิ่ม เพื่อที่ตอน Bundle มันจะได้ใส่ตัว icu_xx ของภาษา (พวก icudt.dat, icudt_CJK.dat, icudt_EFIGS.dat เป็นต้น) ลงไปให้ครับ   ปัญหาว่าบางเครื่องทำงานได้ปกติ แต่บางเครื่องไม่ได้ จากที่ลองมา และอ่าน Doc ของ microsoft ปกติเวลา Client ยิง Request ไป มันจะมีส่วน Accept-Language header ซึ่งตัว Web Browser มันอ้งอิงตามภาษาที่แสดงผล และส่งกับ Request ด้วย เคสที่เจอ ปัญหาตัว wasm มัน Bundle มาเฉพาะ en-US พอเจอเครื่องที่กำหนดเมนูภาษาไทยแล้วไป มันเลยส่งไปเป็น th-Th ตอน Render ก็เลยระเบิดตุ้มที่ฝั่ง Client ส่วนขา Server ไม่มี Log บอกอะไร เลยต้องมาดูในส่วน Web Developer tools ครับ ถ้าเราอยากรู้ว่าส่งอะไร ลองไปดูได้จาก Tab “Network” > Header จะมีส่วนของ en-US,en;q=0.9 หรือ ถ้ามีภาษาไทย th-TH,th;q=0.9,en-US;q=0.8,en;q=0.7แต่เครื่องที่ผมเจอ th-TH,th;q=0.9 มาอธิบายสักนิดต่อ th-TH,th;q=0.9,en-US;q=0.8,en;q=0.7 จบไปอีกปัญหานึงในวันนี้ครับ Happy Coding…

DevFest Cloud Bangkok 2025

เช้าวันเสาร์อีกวันที่เข้ามาตึก K+ ครับ สัปดาห์ก่อนมางาน Data + AI Day 2025 แบบงงๆ (พอดีได้บัตรมา) สำหรับอันนี้มาตามที่วางแผนไว้ครับ โชคดีได้เข้า Workshop ด้วยไหนๆมาแล้ว อยู่ยาวทั้งวันเลย เลยจดๆตาม Style ของ Blog นี้ครับผม [Workshop] Conversational Analytics API & ADK: Building Your First Data Chatbot Speaker Burasakorn Sabyeying 📌 สำหรับ Session ช่วงเช้าจะมีแนะนำ Product ใหม่ของ Google Conversational Analytics API (Preview) โดยเกิดจาก Pain ที่ว่า 📌 Conversational Analytics API เลยเกิดขึ้นมา เอามาสร้าง Data Chat Bot / Data Agent เคสนี้เข้าไปอ่านอย่างเดียวใน Big Query / Looker Studio (ไม่มีการ Update Insert Delete) โดยการ Implement จะมี 📌 ผลลัพธ์ที่ได้จาก API / SDK จะเป็น JSON แบบ Vege-Lite ตัว Vega Altair มาทำกราฟสวยๆให้ 📌 Lab Guide Resource: Slide เหมือนใน Slide มี ADK ให้ทำต่อด้วย / Lab Guide…

[DB2] ERROR [55039] [IBM][DB2/LINUXX8664] SQL0290N Table space access is not allowed.

สำหรับอันนี้เป็น Error มาจากฝั่ง WebAPI ที่ต่อกับ DB2 ครับ มันทำเว็บตายเลยครับ 555 โดยจะมี Log มาแนวๆนี้ครับ จาก Error SQL0290N Table space access is not allowed. เห็นอันนี้ก็ร้องดังๆในใจแล้ว WTF DB ลูกค้าไปทำอะไรหว่า ซึ่งลูกค้าบอกว่าเปล่า ไม่มี้ เอาจริงๆแอบกลัวเหมือนกัน แต่อยากรู้ว่าลูกค้าไปทำอะไรจริง หรือป่าว เลยไปขอ db2diag.log ของวันที่มีปัญหามาครับ รู้ Lock จาก App ว่าตายช่วงเที่ยง เลยลองไล่ db2diag.log พบว่า สำหรับใครที่ไม่รู้ว่า Path db2diag.log อยู่ไหน ลองคำสั่งนี้หาได้ครับ db2 get dbm cfg | grep DIAGPATH ที่เครื่อง DB Server ครับ หลังจากรู้แล้วว่าคำสั่ง Load ก่อนให้เกิดปัญหาเจ้า SQL0290N Table space access is not allowed ต่อไปก็มาตรวจ Tablespace ครับ ว่าแต่ละตัวมีสถานะเป็นอย่างไร การแก้ไข ทำได้ 2 วิธีครับ จากนั้นลองรัน db2 LIST TABLESPACES SHOW DETAIL แล้วตรวจสอบ State ของ table space ครับ ต้องเป็น 0x0000 สุดท้ายลอง Restart Container ของ App Server (Web API) จบปิดเคสครับ Reference

จดๆจากงาน Data + AI Day 2025: Empowering Intelligence

สำหรับงานในวันนี้ก่อนอีกเลย ผมต้องขอบคุณทาง Skooldio ที่ได้จัดกิจกรรมแจกบัตรฟรีครับ และได้เป็นผู้โชคดีที่ได้รับบัตรเข้างานครับ เลยลองมาฟัง และจดสรุปเป็น Blog นี้ครับ คิดว่าน่าจะยาวนิดนึงนะครับ หัวข้อตามนี้ EMPOWERING INTELLIGENCE Speaker คุณสุดารัตน์ เอกธนมณี / คุณจตวัฒน์ เชี่ย 🚀 ตอนนี้ AI ถ้ามองในแง่ IQ แล้วความฉลาดมันเกินมนุษย์ เราไปแล้วนะครับ มันเก่งมาก🎓 แต่มันยังไม่เทียบเท่าคนเรา อันนี้วัดจากเกณฑ์ของคุณ Howard Gardner ความฉลาดมันมีหลายด้าน นอกจากเรื่องการใช้ตรรกะ การคำนวณ ยังมีส่วน มิติสัมพันธ์ (Spatial) หรือมนุษยสัมพันธ์ (Interpersonal) การเข้าใจผู้อื่นตรงนี้ AI ยังขาดไปนะ 🚀 และปิดท้าย ความเข้าใจมาจากคนเรา โดยความชัดเจนมาจากข้อมูล ที่มีความเร็วมาจาก Technolgy และ AI ช่วยทำให้มันต่อเนื่องได้ 2026 AND BEYOND: THE ROAD AHEAD FOR DATA & AI เส้นทางอนาคตคนทำงาน DATA & AI ต้องเตรียมรับมือ Speaker คุณเปรม โชติพานิช / คุณสรทรรศน์ คิรีรัตรจักริน / คุณวิธวินท์ ศรีเพียรพล / คุณธนณัฏฐ์ สันตติยานนท์ เป็น Talk ชวนคุยกับผู้เชี่ยวชาญด้าน AI 3 ท่าน คุณเปรม โชติพานิช (เปรม) Data Karate / คุณสรทรรศน์ คิรีรัตรจักริน บอยด์ (BigData RPG) / คุณวิธวินท์ ศรีเพียรพล (โร่) HowKnow…

ผม โดน พี่มาร์คปิด facebook ชั่วคราว

วันก่อนเป็นวันที่ช๊อคมากอยู่ๆ Facebook ก็โดนตาม Cover เลยครับ เหมือนมันขึ้นให้ยืนยัน น่าจะตอน 11 โมง แล้วกดไป สักพักตามรูป Cover เลยครับ ตอนแรกตกใจ เลยไปลองที่มือถือ มันมีปุ่ม Chat with support รอไปประมาณเกือบชั่วโมง คุยไปคุยมา เค้าบอกว่าเค้าสงสัยว่าเป็น fake account เดี๋ยวจะเด้ง Noti ให้ยืนยันตัวตนให้ สำหรับ Step ที่ผมโดน จากนั้นทำจบ เค้าบอกให้รอ วนมารูปเดิมแบบ Cover เลยครับ รอไปเรื่อยๆ ระหว่างนี้ ผมมีขอให้ เพื่อนลองช่วยส่องหน่อยว่าเข้าได้ไหม มีตอบทั้งได้ หรือ ไม่ได้บ้าง กว่าตัวเองจะเข้าได้ก็เกือบ 5 โมงครับ ถ้าโดนแบนถาวร คือ กรื๊ด 🛸 เพราะตัวเองไม่ค่อยมีรูป เก็บใน Facebook ทั้งหมด🛸 พบ Login แบบบางอันใช้ Facebook อย่าง Eventpop ที่จำได้นะ ที่จำไม่ได้อีกเพียบ🛸 ของบางอัน ผมใส่ใน messenger เก็บไว้ / กลุ่ม Page ด้วย🛸 ยังไม่ได้ตรวจด้วย อะไรหายไปบ้าง เห็นแว๊บ เพื่อนหายไปแน่ๆ จาก 9xx > 8xx แต่ส่วนใหญ่ไม่ค่อยได้คุยกันจริงจังเท่าไหร่ คนที่อยากคุยก็ Read 55 หลังได้ FB คืนมาตรวจก่อนเลยว่าพวกเมล์ เบอร์โทรโดนเปลี่ยนไหม ลองคิดดูว่าสมัครใหม่จะรอดไหม นี่สิ แต่ลองหาดูมีข่าวที่ใกล้เคียงกันนะ Meta เตรียมให้ “สแกนหน้า” ยืนยันตัวตน หลังบัญชีเซเลบฯ ปลอมระบาดหนัก ได้คืนมาแล้วรอลุ้นต่อไป หรือต้องจ่าย facebook รายเดือน

Try using NuGet Explorer to Pack dll into a NuGet Package (.nupkg)

For Thai Version: ลองใช้ NuGet Explorer มา Pack dll เป็น NuGet Package (.nupkg) I was organizing various data onto my NAS and found some screenshots I had captured but never wrote a blog post about. After reminiscing for a while, I remembered – it’s a method for taking .NET DLLs that might be remnants of legacy code where the source code is lost, leaving only the DLL, and turning them into NuGet Packages. Creating NuGet Packages has several advantages: For this machine, it’s a GUI tool called NuGet Explorer. Steps to Pack dll into NuGet Package (.nupkg) using NuGet Explorer…

เพิ่ม GitLab Runner โดยใช้ Authentication Token

พอดีเข้าช่วยขยับ GitLab 18 เลยมาดูตัว Runner สักหน่อย ลอง Add ด้วยวิธีเดิมมันจะเตือนเราเบาๆ แล้วว่า จากคำสั่งเดิมที่ใช้กัน จุดที่สังเกตุเป็น -r registration token มันจะมีการเปลี่ยนแปลงไป จากเดิมใช้ Registration Tokens จะมาเป็น Authentication Tokens แทนครับ ซึ่งมีความแตกต่าง ดังนี้ โดยแผนของ GitLab ใน Ver 15 เปิดตัว Authentication Tokens / Ver 17 ไม่ให้สร้าง Registration Tokens และจะเอาออกถาวรใน Ver 20 สำหรับขั้นตอนการ Register Runner โดยใช้ Authentication Tokens มีวิธีการ ดังนี้ เปิดสิทธิ user ที่เราต้องการ ให้มีสิทธิ create_runner ทำได้หมดผ่าน Web UI หรือ API เราจะได้ PAT Token มาแล้ว เก็บไว้ให้ดีครับ จะเอามาใช้งานใน Step ถัดไป จากนั้นมาขอ Token โดยเอา PAT Token ที่เราขอ create_runner มาใช้นี่แหละครับ แล้วยิงผ่าน API /api/v4/user/runners ผลลัพธ์มันจะได้ Token ออกมาประมาณนี้ครับ จากนั้นเอา Token ที่ได้ ขึ้นต้นด้วย glrt-xxx-xxx ไป ให้ Runner ใช้งาน ในกรณีที่มี Runner หลายตัวให้ ขอ Token หลายๆรอบตามจำนวน Runner ที่มี ถ้าเอา…

จดๆจาก From Chaos to Clarity จูนทีมเทคให้ตรงจุดจนสร้าง Product ได้ตรงใจ

สำหรับวันนี้มาเกือบไม่ทัน 555 Run Tests ทิ้งไว้ แล้วรีบมางานที่ตึก K+ สามย่านครับ หัวข้อที่จดได้มีประมาณนี้ Key Note – From chaos to clarity Speaker Thanawit Prasongpongchai สำหรับ Key ของ Session นี้เข้าใจ Role อื่น เพื่อมาปรับการทำงานของตัวเองครับ 📌 อย่างตัว Speaker เค้าเป็นส่วนของ Designer มีปัญหานิดหน่อยในการสื่อสารกับ Dev เลยมีการพูดคุย จูนจนได้ และมี Blog เรื่อง Devๆ ที่ UX Designer ควรรู้: แอปกับ Server คุยกันยังไง และทำไม Designer ต้องรู้เรื่องนี้? (มี 3 ตอนนะ) ลองไปอ่านได้ครับ ไม่จำเป็นต้อง Code ได้ แต่ควรเข้าใจศัพทฺ์เฉพาะของคนที่ต้อง Deal ด้วย เคสนี้สาย Dev เพื่อจะได้คุยไปในทางเดียวกัน 📌 นอกมีเล่าเคสจาก The Money-Making Secrets Behind Hotel Design อันนี้เป็นมุมของฝั่งสถาปนิก เค้าไม่ได้ทำงานในส่วนของเค้าเพียงอย่างเดียวนะ คิดในมุมของ Role อื่น และมีการปรับ Design ย้าย mini bar ของแต่ละห้องมาพื้นที่ส่วนกลางแทน 📌 แต่การเข้าใจมุมมองของคนอื่น อันนี้ Speker จะยก paper Many hands make overlooked work: Over-claiming of responsibility increases with group size…