สรุปงาน Azure Develop Day 2023 @SEVEN PEAKS

สำหรับวันนี้เป็นการสำรวจโลกด้วย ลองสำรวจเล่นที่ที่จัดงาน The PARQ รถเมล์สาย 149 ผ่านด้วย ได้เวลาลองเลย ออกจากบ้านมาตอน 7 โมง รถมาแถวชัยพฤกษ์ 7.30 มาถึงที่จัดงานประมาณ 8.40 นั่งรอบนี้ได้ Rate เต็ม 25 บาท เดินมางงๆอยู่ที่ The PARQ ดีที่พี่ซาร่า ThaiCySec ทัก ไม่งั้นคงได้เดินวนๆหาทางเข้า 5555 งานวันนี้หัวข้อมี ดังนี้ครับ [Thai] Lead the AI era with the Microsoft Cloud\ RECAP AI History แล้ว Developer เอา Service Azure + AI มาใช้ในด้านไหนบ้าง กลับไปเรียนภาษาอังกฤษใหม่จะทันไหม มาหัดเขียน Prompt [Thai] Serverless container on Microsoft Azure Recap Container dockerfile (config) > image > instance (รันใช้งานจริง) ทุกอย่าง wrap ไว้ ซึ่งถ้าจะ Container ขึ้นมา Azure มีท่าไหนได้บ้าง ท่าที่เหลือจะเป็น PAAS Azure Container App 101 การ config กำหนด container เข้าถึงจากไหนดูจาก ingress ทว่าตอน ใช้ Cloud ประเมินการใช้งานด้วย เลือก Service ใก้เหมาะสม มันมีศาสตร์ลด Cost อย่าง FinOps มาจัดการ…

บันทึกหลังดู Live QA Meetup @LSEG

งานนี้ผมกดตั๋วไม่ทันเลย เป็น Dev อยากไปฟังด้วย 555 แต่ดีที่มี Live ด้วย ซึ่งตอนแรกผมกะว่ามาฟังวันอื่น ระหว่างทำงานแทน แต่มีคนทักมา เลยลองเอาที่จดๆมาเขียน Blog โดยมีหัวข้อดังนี้ ทำ Automation ยังไงให้เจ๊ง Agoda สามารถ Release ใหม่ได้ทุก 1 ชั่วโมง (Fast Feedback) แต่การทำให้ 1 ชั่วโมงได้นั้น ต้องทำเป็น Automate รวมทั้ง Regression Test แต่การจะะได้มานั้นต้องมีบาดแผลกันบ้าง ที่ บ เป็นอยู่เลยตอนนี้ แต่จะไปติดกับดักของ CMMI เอามาใช้แล้ว จะตอบ Process ยังไง หรือไม่บอกว่า ถ้าทำแล้วช้าลง ทำยังไง สรุปไม่ได้เริ่มหลายปี 555 QA Career Path ไม่ว่าตำแหน่งไหน QA ไม่ว่า Manual/Automate จะมี Personality ที่เหมือนๆกัน น่าจะรูปนี้นะ เรียกว่า Norm ของ QA อยู่ฝั่งไหนมากกว่ากัน Hard Skill / Soft Skill ของ QA มีอะไรบ้าง สรุป Principal QA Engineer ยิ่งโตขึ้น เราจะใช้ Technical Skill ลดลง แต่ต้องมาใช้ Soft Skill (Management Skill) มากขึ้น ยากสุดก็จะเป็นเรื่องคน หรือบางทีอาจจะมีจัดให้ทำ Technical สุดๆไปเลย หรือว่าพอๆกัน หน้าที่ Principal QA Engineer มีอะไรบ้าง 7E ของการขยับมาเป็น Principal…

บันทึกการปรับ format data ที่ใช้รับส่งผ่าน TCP จาก BinaryFormatter มาเป็น JSON แทน

เรื่องมีอยู่ว่ามี Code เก่าอยู่ชุดนึงที่ใช้ TCPClient+TcpListener ส่ง Data ระหว่าง App กัน โดยก่อนจะส่งใช้ตัว BinaryWriter + BinaryFormatter อย่างที่หลายคนน่าจะทราบกันตัว BinaryFormatter จะถูกเอาออกใน .NET8 ถาวร เนื่องจากเรื่องของความปลอดภัย ตอนนี้ยังใช้ได้อยู่นะ แต่เจ็บแล้ว ทำทีเดียวให้จบเลยดีกว่า และไม่อยากมาแก้ไขเยอะ เพราะยังมีบางส่วนทียังเป็น .NET 4.7.2 และไป .NET6 ต่อไม่ได้อย่าง VSTO ด้วย ภาพรวมเป็นตามนี้เลยครับ Code เดิม – Client Snippet – Server Snippet ตอนนี้อย่างน้อย Class หลักๆของ Protocol TCP อย่างตัว TcpClient Class / TcpListener และ IPAddress ยังได้ไปต่ออยู่ครับ เหลือแต่ BinaryFormatter เท่านั้น Code ใหม่ ลองมาปรับใช้ตัว JSON แทน มันมีหลาย Case ที่ต้อง Handle เช่น ตัว JSON เราสามารถเขียน Contract ตอน Serialize ได้ครับ เขียน Contract และทดสอบครับ จะได้เป็น Helper Class ประมาณนี้ครับ – Client Code Snippet – Server Code Snippet จบไปแล้วการการแก้ปัญหาตัว BinaryFormatter ที่แบบว่าตัวมันเองสารพัดประโยชน์จริงๆ นอกจาก TCP แล้ว จริงๆ มันใช้กับ REST ได้ด้วย แต่ Client…

Install Samsung notes on Windows 10/11

หลายคนน่าจะรู้จัก App Samsung notes ตัว App จด Note ที่ดีที่สุดของฝั่ง Android ในเวลานี้ครับ ตอนนี้ Good Notes ลงมาแข่งแล้วครับ แต่ทว่าผมอยากได้แบบ 1 App เปิดได้ทั้ง Tablet / Mobile / PC เลยลองมา Search ดูใน Microsoft Store มี Samsung notes แต่ทว่าไม่มีปุ่ม Install ซะงั้น ถ้าลองดู App อื่นๆ อย่าง Line มีปุ่มให้ Install ซะงั้น แต่จากการลอง Research ดูพบว่ามันมีวิธีลงผ่าน Command ครับ สิ่งที่ต้องมี Install Samsung Notes NOTE: สำหรับ Windows 10 ถ้าไม่เจอตามรูป ให้ติดตั้ง winget ก่อนครับ ดูตามนี้ได้เลย Use the winget tool to install and manage applications | Microsoft Learn Test Run ที่นี้ตอนทำงาน เดี๋ยวต้องมาลองหลายๆเคส Switch ระหว่าง Tablet / Notebook ว่าจะมีสะดุดไหม เท่าที่ลองดู Note เอามา View ได้เลย ดีกว่า One Note มากๆครับ Reference

ลองนั่งรถเมล์ที่ผ่านถนนราชพฤกษ์ [สาย 2-19(127)]

สาย 2-19 (127)

สำหรับถนนราชพฤกษ์หลายคนคงจะรู้ว่ามันมีรถเมล์สายเดียวที่ผ่านครับ คือ สาย 4-47 (เดิม 89) ที่วื่งจากสายใต้ใหม่ (ของเดิม เริ่มที่วัดศีลมหาสนิท สวนผัก) > สน ตลิ่งชัน > ผ่านถนนราชพฤกษ์ > BTS บางหว้า > MRT บางไผ่ > วงเวียนใหญ่ > ราชมงคลกรุงเทพ แต่โซนอื่นๆ โรงพยาบาลศรีสวรรค์ ราชพฤกษ์ / The Crystal SB Ratchapruek / The Walk / Home Pro วงเวียนพระราม 5 / เซ็นทรัลเวสต์วิลล์ (Central Westville เห็นว่าจะเปิดปลายปีนี้) ไม่มีรถเมล์ผ่านนะครับ จนมาถึงการปฎิรูปเส้นทางรถเมล์ตอนปี 2565/2566 นี่แหละครับ มีรถเมล์ผ่าน Zone ตรงนี้สักที แล้วมีสายไหนที่ผ่านบ้างลองดูจาก App ViaBus ปักหมุดตรง The Walk ครับ มีหลายสายเลยนะ ข้อมูลลองกดตาม Link ผมแปะไว้นะ (เท่าที่หาได้) จริงๆ ผมอยากเขียน Blog นี้ ตอนวิ่งที่ Fitness เห็นสาย 2-27 (210) / 2-11 (64) และ 2-19 (127) วิ่งผ่านครับ เพราะไป Jett Fitness (Home Pro วงเวียนพระราม 5) ค่า Taxi เอาการอยู่นะเกือบ 80 บาท เลยคิดว่า ถ้าได้นั่งรถเมล์ไปน่าจะดี ไม่ว่าจะขาไป หรือขากลับ จะได้ช่วงๆเฉลี่ยครับ หลังจากเกริ่นนำมานาน ได้เวลาลองครับ…

TCP + JSON บน Windows7 แล้ว JSON แหว่งง

.NET Core

วันนี้เจอเคสแปลกครับ น้องที่อยู่ Onsite แจ้งว่าตัว VSTO Office Add-ins ที่ Run บน Windows 7 เจอ Error ไม่สามารถ Deserialize JSON ได้ครับ สำหรับผมเอ๊ะ มันมีอะไรผิดไปหว่า จำได้ว่าตอน Migrate .NET6 ตัว ตัว VSTO Office AddIns ผมได้ทดสอบบน Windows 8.1 / 10 / 11 เรียบร้อยตาม Environment ที่ลูกค้าแจ้งสามารถทำงานได้ครับ แต่ทว่าดันมีเคสเกิดขึ้นกับ Windows 7 ซะงั้น ตามรูปเลย ให้น้องอยู่ Onsite ลองเอา Error Log มาดู มัน Deserialize JSON ไม่ได้จริงๆ วิเคราะห์เคส เนื่องจากการสื่อสารผ่านตัว TCP ดังนั้นจุดที่สงสัยเลย Message ดิบ ของ Windows 7 / Windows 10 มันต่างกันยังไงนะ ปรากฏว่า Windows 7 ตัว JSON แหว่งครับ เหมือนจะมีแสงสว่างเลย สงสัยตรง TcpClient.ReceiveTimeout / TcpClient.ReceiveBufferSize ครับ Solution อย่างน้อยปิดเคสได้ไปอีกเคสครับ Reference

Relative Path Note

asphalt winding roadway on mountain slope

Starting with Start At <subdriectory> start <subdriectory> and move forward / or ./ root directory Example- ‘nodePath’: fileURLToPath(new URL(‘./node_modules’, import.meta.url)) ../ move backward 1 directory level and starts Example- import HomeView from ‘..’ .. move backward 2 directory level and starts there …. Note many frameworks such as Vue3 define base path such as @ refer to src path in Vite

[CR]ลิ้มอ่วงซุย (Linn) เจริญรัถ-ลาดหญ้า

สำหรับร้านนี้เรียกมาเงียบๆเลย โดยจะอยู่ตรงเจริญรัถ แถวซอยลาดหญ้า 8 / เจริญรัถ3 ครับ ตัวร้านจะอยู่ใกล้กับก๋วยเตี๋ยวเจริญพุง / ขาหมูคาเฟ่ (สูตรฮ่องเต้) ครับ (ถ้าในรูปตรงลูกศรสีเขียวครับ) เป็นร้านที่เพิ่งเปิดใหม่เลยครับ ^__^ ผมกับน้องที่ทำงานเลยมาลองดูครับ เพราะ Design ร้านแปลกดี แยกโซนทำอาหารออกมาในตู้กระจก และเป็นห้องแอร์ด้วยนะครับ เมนูของร้านมี ดังนี้ครับ ที่แอบถามๆ ตอนนี้มีเมนูพวกก๋วยเตี๋ยวหมูมาเพิ่มด้วยครับ อ๋อร้านนี้เป็นร้านเดี๋ยวกับที่ขายชิ้นปลา และบะจ่าง (ผมสั่งไหว้ทุกปี) ที่เยาวราชด้วยครับ ลองชิม อันแรกเลยจะเป็นตัวก๋วยเตี๋ยมต้มยำ ราคา 65 บาท เพิ่มเครื่อง +15 บาทครับ รสชาติ เข้มข้ม ครับ เปรี้ยวนิดๆ แต่ไม่แสบไป เครื่องเคียงโอเคเลยครับ ทั้งมันทอด ลูกชิ้น เส้นหนืบๆดีครับ อย่างที่สองจะเป็นตัวขนมจีบครับ ผมว่าของดีเลยครับ หมูเต็มคำดี อิ่มๆ คิดอะไรไม่ออกก็มีเมนู Default น้าา มีข้าวกะเพราหมูสับขายด้วยนะ เผ็ดนิด + หวานมันใช้ได้เลย ถ้าจะปรุงรสมีน้ำพริกปลาให้ปรุงเพิ่ม และไข่ดาว

บันทึกการแก้ไขปัญหา SonarQube Analysis .NET(C#) ทำงานนานน

ต้นเรื่อง ตอนแรกไปซนดู Monitor ของ VM แต่ละตัว แล้วพบว่าทำไม VM ที่มี SonarQube Docker ใช้ CPU / RAM นานปิดปกติ เลยเข้าไปตรวจสอบข้างใน SonarQube พบว่า background analysis task ทำงานนานมากกก ทำไมมันใช้เวลาเพิ่มขึ้นขนาดนั้นนนนนน สิ่งที่แรกสงสัยเลย Size ของ Code ที่เข้ามาเพิ่มครับ ตัว SonarQube มันจะใช้เวลาตรวจตามไฟล์ใหม่ที่ส่งเข้ามาครับ ตอนนี้ลองเข้าไปที่ Measures > Size > New Lines โอ้วเจอไฟล์แปลกที่ Sub-Module ครับ เพิ่มมาตั้ง 4.3 ล้าน บรรทัด ลอง Drill-Down ลงไปอีกครับ ชัดเลย Sonar มันเอาพวก Coverage Report ใส่เข้าไปด้วยนี่เอง มาเป็นล้านบรรทัดเลยครับ (ส่วนสีแดง) / งานที่แก้จริงๆ ทั้ง Web / Winform / Service (ส่วนสีเขียว) นิดเดียวเองครับ สรุปตอนนี้เรารู้สาเหตุกันแล้ว มาจากการที่ตัว SonarQube มันกวาดไฟล์ที่ไม่จำเป็น อย่าง เช่น Test Coverage เข้าไป Process ด้วย โดยแนวทางการแก้ไขมี 2 ทางครับ สำหรับผมเลือกวิธีการ Delete ไฟล์ออกครับ เพราะว่า หลังจากแก้ไปแล้ว ผล SonarQube Analysis จากเกือบๆ 18 ชั่วโมง ลดลงเหลือ ประมาณ 2 นาทีแล้วครับ ^__^

ลองมาเพิ่ม Merge Request Template ใน GitLab กันครับ

วันนี้ผมมาแชร์ Tips สำหรับคนที่ใช้ GitLab เวลาที่เราจะส่ง Merge Request ใครคนอื่นดูเนี่ย เรามี Pattern ในการใส่ Description ยังไงกันนะ ยิ่งคนเยอะๆจะบริหารกันยังไง วันนี้ผมเลยมาแชร์ Feature Description templates ที่จะมาช่วยตอบโจทย์ตรงนี้ครับ ซึ่ง Feature นี้จะมาช่วย สำหรับขั้นตอนการใช้ สามารถทำได้ ดังนี้ เมื่อลองใช้งานจริง เวลาส่ง Merge Request จะแสดงผลดังรูป และทำตาม Check List เสร็จ เวลากดจะมี Log ขึ้นมาด้วยนะครับ ถ้ามีหลาย Template เพิ่มตัวไฟล์ Markdown เข้าไปครับ เดี๋ยวมันจะแสดงใน Dropdown ดังรูป ปล. ตัวฟรี หรือตัวเสียเงินใหญ่สามารถใช้ Merge Request Template ได้หมดนะครับ แต่ความสะดวกจะลดลงไปครับ จ่ายเงินจะยิ่งสบาย รายละเอียดเพื่อนๆ ลองอ่านใน Reference เพิ่มเติมได้ครับ Reference