[DB2] ดูว่า Table ไหนเปลี่ยนแปลง

IBM DB2

ช่วงนี้ได้มีแงะ Logic ตัวนึงครับ แต่ทว่ามันไม่มี Code เหลือแต่ DLL และมันยังทำงานได้อยู่ แต่ผมต้องมาเขียนใหม่เป็น C# แล้วจะแงะยังไงหละเนี่ย จากการลอง Research มีวิธีการที่เป็นไปได้ 3 แบบ Solution1: ROW CHANGE expression Ref: – ROW CHANGE expression – IBM Documentation – Time-based update detection – IBM Documentation – How to set timestamp for each row on update as row change in DB2 via liquibase – Community Answers – Liquibase Solution2: Table SYSTABLESPACESTATS  Column LASTDATACHANGE เสียดาย ใน DB2 ปกติที่ผมใช้ 11.5 มันไม่มี มันตรงกับโจทย์ที่อยากได้เลย ว่า Table ไหนมี Data อะไรเปลี่ยน แต่ทว่าไปอยู่กับ Db2 for z/OS Ref: SYSTABLESPACESTATS catalog table – IBM Documentation Solution3: db2top D (Dynamic Query) ใช้ utility db2top มันจะมีส่วน monitor query อยู่ครับ โดยใช้ flag D…

จดๆจาก Live ไขข้อสงสัย Database บน Container ควร หรือ ไม่ควรทำ

สำหรับ Live เต็มๆ ตามนี้เลยครับ วันนี้มี Speaker 3 ท่านมาจัด Live เฉพาะกิจครับ คุณเดียร์ (Opsta) / คุณโจโจ้ (JumpBox) / คุณดำรงศักดิ์ (ดำทำไร) มันเป็นประเด็นที่ผมสงสัยเหมือนกัน เพราะหลายปีก่อน ผมเคยจะเอา DB ขึ้น Container แต่เจอ DBA มาเบรกช้าก่อนนนนน มันช้ามากนะ Container และจบอยู่ที่ VM ครับ ก่อนจะเริ่ม คุณเดียร์เคยลอง docker 0.6 10 ปี ม้้ง เคยเอา db ลง docker แต่เป็นบทเรียนที่ 1 แยก Data ออกมาให้ชัดเจน 2 อย่างทำ snapshot db ด้วยการ docker commit มันไม่ดี มีเคส data corrupt และ คุณโจโจ้มันเป็นคำถาม 10 ปีที่แล้ว ตอนปี 13 มีคนถาม และปี 24 ก็ยังมีคนถาม ก่อนจะถกเรื่อง Performance ต้องเข้าใจก่อนว่า Run Container ที่ไหน Host Network / Expose Post มีผลต่างกันไหม ตอนสร้าง Container มันจะได้ network namespace มาด้วยนะ แต่ต้องแลกเรื่องการจัดการ และ Security ด้วยนะ ปกติ Container Run แล้วของหาย ? ต้องเข้าใจการงานของ Container ก่อน…

REST API Delete with multiple param

เหมือนมีคนถามไปแล้ว ผมน่าจะเคสตอบ ถ้ามีโจทย์ว่า เราลบข้อมูลที่มีหลายๆ Key ต้องทำยังไง แบบสัก 4 ตัวขึ้นไป ตอนนั้นผมน่าจะตอบตัวเองไปว่า ทำ Model ที่มีทุก Key แล้วส่งไป เพราะมันเริ่มเยอะแล้ว แต่ผมลองถามหลายๆคน ส่วนใหญ่ใช้ Http Verb DELETE + QueryParam กันหมด ตามนี้ แต่ Spec ของ Http Delete ดันบอกว่า มีได้ซะงั้น และหลายภาษา Lib ก็ทำได้ เช่น HTTP DELETE Requests with Body in Axios – Mastering JS เพื่อความแน่นใจ เลยลองถามเจ้า GitHub-Copilot ดูว่ามันมีความคิดเห็นอย่างไร ได้คำตอบมา ดังนี้ ถ้าใครมี Idea อื่นๆ Comment ทักมาบอกได้นะ ส่วนตัวหลักๆใช้ Http Delete + QueryParam เหมือนกัน แต่พอมาเจอ key เยอะๆ เลยมีเขวไปทำ DTO เป็น request body เหมือนกัน แต่หลังจากนี้ใช่แต่ตัว QueryParam และ

บันทึก Workshop AWS Cloud Essential Service Core

Intro to AWS AWS มาจาก Amazon เว็บขายหนังสือ ที่มาปรับตัว Web มันใหญ่ ต้องขยายให้ที่อื่น เลยกลายเป็นว่าได้ Solution / Infra ของตัวเอง จาก Know How ในแต่ละ บ มาปรับตัวเป็นใน IT Infra > Cloud ขึ้นมา การใช้ Cloud จะช่วยเรืองอื่นๆ ปรับจาก CapEx > OpsEx นะ แต่ต้องดู Requirement อะไรที่ควรไป Cloud (ต้องการ Scale ไวๆ) หรือ จริงๆ ถ้า On-Premise (VMware / Proxmox ) อนาคต Workload อีก 4-5 ปี ไม่ปรับแน่ๆ Service Type: IAM / Compute / Storage / RDS (DB) / AI / IoT เป็นต้น Region – พื้นที่ใหญ่ แนวคิดเหมือนกัน Cloud เจ้าอื่นๆนะ ถ้ามันใหญ่พอจาก Edge ขยับ Availability Zone มันจะคิดเป็นเงินบาทได้นะ แต่ต้องผ่านพวก Regulation ได้นะ มันต้องแฟร์กับทั้ง Cloud Provider / เจ้าของพื้นที่ Shared Responsibility – เหมือนกัน Cloud เจ้าอื่นๆ มันแบ่งความรับผิดชอบ การ Model…

เรียนๆ จดๆ Helm #02: ENV / More in Command

คำพวกนี้มาจากไหน ดูจากใน Note เลย เรื่องของ Helm Status อันนี้ลองไปดู doc และก็สงสัยเหมือนกันนะ ไม่แน่ใจว่าเอามาจาก Helm Status เจอคำว่า superseded state of the release (can be: unknown, deployed, uninstalled, superseded, failed, uninstalling, pending-install, pending-upgrade or pending-rollback)Ref: Helm | Helm Status ลอง helm uninstall อยากรุ้ว่าจะขึ้น uninstalling / uninstalled กับ WordPress ไม่ขึ้นนะ หรือมันเร็วมาก และ ไปไล่ดูที่ Secret สะอาดเลย ผมงงๆ ว่ามันโผล่มาตอนไหน หรือ ต้องไปกำหนด ใน Chart Hook ลอง helm ls –uninstalled Note: Chart Hook – Step Rollback ต้องทำ Rollout Plan / Rollback Plan ด้วย .. to be continue Force Set Image ได้ไหม ? ทำได้ เหมาะกับการทดสอบ เพราะถ้าทำแบบนี้ APP Version มันไม่ตรงกับ image จริง แต่ระบบมันเตือนนะ How to use Helm จดๆไปว่าที่เรียน กับที่ไปงูๆปลาๆ มาดู…

แก้ปัญหาแอร์น้ำหยดแบบเร่งด่วน

เรื่องของเรื่องหลังจากช่างล้างไปน่าจะ 3-4 เดือนแล้ว อยู่ๆแอร์น้ำหยดครับ ที่นี้ไม่อยากให้ช่างเข้าบ้านช่วงนี้ ปกติจะล้างทุกปีครับ เลยลองมาแก้ปัญหาก่อนว่าจะมาจากไหนได้บ้างแอร์น้ำหยด ลองเอาเครื่องดูดฝุ่นลองดูดครับ เอาเครื่องมาวางที่ปลายท่อ ตัดท่อก็ได้ครับ และเอาเครื่องดูดฝุ่นต่อ เอียงอย่าให้น้ำไหลเข้าเครื่อง หรือไม่ทำรูปขวดทำเป็นตัวกลางก็ได้ครับ จากนั้นดูดครับ ผลที่ได้เมือกออกมาเยอะเลย ดังรูป แต่ทว่าหลังจากลองใช้ไปสัก3-4 ชั่วโมง ยังน้ำไหลอยู่ครับ ลองเอาขวดบีบๆออกมา วิธีนี้ได้จาก Google แล้วครับ เห็นเค้าแชร์กันว่ามันได้ผลจริง เอาหละมาลองดูกัน เอาน้ำอ้ดลมล้างให้สะอาด เปิดแอร์ด้วย จากนั้นเอาขวดสวมที่ปลายท่อ เอาเทปพันให้แน่น และบีบ จากนั้นรอให้ขวดคลายตัวเอง มีเมือกออกมาระดับนึงนะ แต่ทว่าหลังจากลองใช้ไปสัก3-4 ชั่วโมง ยังน้ำไหลอยู่ครับ ลองแกะแอร์ เผื่อมีเมือกตันที่ท่อระบายน้ำแอร์ ตอนแรกผมไม่กล้าแกะนะ เลยลองศึกษาจาก YouTube ก่อน มันมีวิธีทำนะ ก่อนเริ่มทำต้องปิด Breaker ก่อนนะครับ ตัดไฟออก ภาพในหัว เราจะเป็นช่างแอร์ในตำนานแล้ววว แมร่งโคตรยากเลย ในคลิป 1-2 นาที ช่างเค้าถอดหน้ากากออกมาสำรวจท่อระบายน้ำด้านหน้าได้แล้ว ของผมเกือบ 40 นาทีครับ ถึงจุดนี้ เราต้องมี Limit ปกติรางระบายน้ำแอร์มี 2 ส่วน ด้านหนัา และด้านหลัง ของผมลองแกะดู และพอจุดตัน หลังจากลองจนมั่นใจ ลองใช้มา 2 week แล้ว ยังไม่มีน้ำหยด เลยเอามาแชร์ครับ บางทีเราตามช่างมาล้างแอร์ บางคนล้างแต่ด้านหน้า ไม่ล้างด้านหลัง มันเลยทำให้พวกเมือกที่ค้างด้านหลังมากองๆ และสะสมตามรูปได้ครับ

เรียนๆจดๆ Helm#01 Introduction

เทคนิคการเรียนรู้ คิดบวกกับตัวเอง หลายเรา เราชื่นชมคนอื่น แต่กดดันตัวเอง ว่าทำไมไม่ได้ เราเป็นไปไม่ได้หรอก บราๆ จริงๆ แล้วมันเทคนิคที่ช่วยจะเป็นตัว Self-Talk จริงๆ มันการปรับ Mindset เราสามารถไปได้ เราขยันได้นะ (Visual to Success) และ Just do it เรียนเจ็บ และจดจำ ติดอะไร ก็หาเลย //นึกถึงตอนตัวเองวางบัํก 55 ยิ่งทำซ้ำบ่อยๆ ตั้งคำถาม เราจะได้ Skill ติดตัวมา ส่วนตัวผมมองเลือกตามเวลา และความเหมาะสมครับ ^____^ บางเรื่องเราไม่ต้องรู้เยอะ ลง Effort เยอะนะ เอาที่สำคัญกับเราในเวลานั้นๆ เทคนิคการเรียนรู้ – List ที่อยากเรียน และแบ่งส่วนการเรียน (ส่วนตัวถ้าไม่อยากแบ่งเองไปฟังๆจาก หาตาม Course ใน Skoodio / Udemy) ควรเป็นเรื่องกลุ่มเดียวกัน ระดับเดียวกัน ฝึกสลับให้สมองเรียนรู้อะไรที่หลากหลาย จะได้เห็นภาพประยุกต์ โดย เรียนรู้ เพื่อรับมือกับสิ่งที่เราไม่รู้ ไม่รู้แล้ว เราจะกลัวทุกอย่าง EveryThing จิงกาเบล Working Memory -redis ของสมอง ฝึกเพื่อช่วยให้เรารับส่งข้อมูลได้ สะสมคลัง + นอนให้เพียงพอ ถ้าฝึกบ่อยๆ จากส่วนที่จำระยะสั่น มันจะติดเป็นส่วนของ Skill จำระยะยาวได้ (เก็บในส่วน Hippocampus Helm Introduction Curisity Gap ผมตั้งคำถามและกัน 55 นอกเรื่อง ตอนนี้จะมี Gateway API มาแทน ingress แล้วนะ Gateway API (Authen / LB/ Auto Resign…

VS Code ย้ายเครื่องไป Setting ตามไปด้วยไม่ต้องตั้งค่าใหม่ !!!

Blog เรียกว่าไงดี พอดีได้คอมบริษัท หลังจากรอมาเกือบๆ 9 ปี แล้วที่นี้เนื่องจากใช้คอมตัวเองทำงานมาตลอด ถ้าต้องการย้าย Config VS Code อย่างพวก Theme / Custom Key หรือ พวก Extension ที่เคยลงไว้ ถ้าย้ายไปแล้วต้องลงใหม่ตลอด มันไม่สนุกแน่ๆ แต่หลังจาก Research มาสักพัก Feature นี้มีมานานแล้วครับ ในตัว VS Code โดยมี Step คร่าวๆ ดังนี้ สิ่งที่ต้องมี ลุยกันเลย พอเข้าเครื่องใหม่ Login Account เปิดให้มัน Sync และรอแพบนึงให้มันลงอะไรให้ครบ ซึ่งเรา Pull Code จากเครื่องเดิมมา แล้วเปิด File อะไรค้างไว้ เครื่องใหม่ มันจะ Default ให้เหมือนกันครับ ใช้ไปสักมีเจอปัญหานิดหน่อย เช่น Reference

[DOTNET] GraphQL บน NET8 ด้วย HotChocolate Library #02 (Mutation) + TiDB

Blog จะเขียนต่อจากตอนที่แล้ว [DOTNET] GraphQL บน NET8 ด้วย HotChocolate Library #01 (Query) ที่จะเน้นไปส่วนของการดึงข้อมูล (Query) โดยใช้ GraphQL HotChocolate เหมือนเดิมครับ แต่ไปเน้นในส่วยของ Create Update Delete แทนครับ ซึ่งใน GraphQL เค้าจะเรียกว่า mutation และมีการลองเจ้า TiDB ด้วยครับ (รู้จากงาน CodeMania ได้เอามาลองพอดี) เนื่องจาก Blog ตอนที่แล้ว ผมมีแค่ Code อย่างเดียว ไม่มีได้มี Dependency อะไรเพิ่ม แต่เนื่องจากลองในส่วน mutation (Create / Update / Delete) มันต้องมี Database และ โดยใน Blog นี้ ผมใช้ TiDB เค้ามี Free Tier และลอง Table เดียว เล็กๆ ครับ ภาพรวม สำหรับภาพรวมของระบบใน Blog นี้หลักจะมี 2 ส่วน ตัว การทดสอบ ผมใช้ไฟล์ .http ลองเป็น Client ทำ Sample Request เพื่อทดสอบครับ โครงสร้าง Project ผมมีปรับจาก Blog ตอนที่แล้วนิดนึง มีลักษณะดังนี้ TiDB อันนี้ง่ายเลยครับ สมัครก่อนตาม Link ของ TiDB Cloud ผมลองใช้ Google Account สมัครเข้าไป สร้าง Cluster +…