[GIT] บน SVN มีเลข Revision แต่ใน GIT จะใช้อะไรแทน ?

ปกติแล้วตอน Build Program นอกจาก Stamp เลขเวอร์ชันตาม Tag หรือ ตามที่ผู้ใช้งานป้อนเข้าไปแล้ว ทางผมยังได้ใส่เลขอีกตัวนึง เพื่อเราไว้ค้นหาความจริงด้วยครับ SVN ตัวเดิมๆ GIT เพื่อนใหม่หละ ? – นับจำนวน Commit เลย – เลขของ Commit ของ Git ครับ

[.NET] DevExpress เมื่อ Export ข้อมูลใน Grid มาเป็นไฟล์ Excel คอมม่า ( , ) หาย และไม่แสดงเป็นตัวเลข

สำหรับปัญหานี้เป็นปัญหาที่ท้าทาย และหาข้อสาเหตุของปัญหายากมากครับ เนื่องจากที่บริษัทได้ Upgrade ตัว DevExpress แบบก้าวกระโดดครับ ของเดิมเวอร์ชัน 13.1 ชองใหม่เวอร์ชัน 20.2 ห่างกันตั้ง 7 เวอร์ชัน นอกจาก API ที่ถูกยกเลิก(Deprecate) แล้ว มันยังมี API ที่เพิ่มเติมเข้ามา ซึ่งมันไม่ได้บอกตอน Compile หรือตัว Tool ที่ Check Comparability ไม่สามารถตรวจสอบได้ครอบคลุมครับจึงเป็นที่มาของปัญหา เมื่อ Export ข้อมูลใน Grid มาเป็นไฟล์ Excel คอมม่า ( , ) หาย และไม่แสดงเป็นตัวเลข ปัญหาของเรื่องนี้ T__T ปัญหาที่เกิดหลังใช้ DevExpress 20.2 แนวทางการแก้ไขปัญหา ต้องย้อนอดีตกันก่อนครับ Dev Express 14.2 มันมี Export Engine ใหม่ WYSIWYG Export (ของเดิม) : จอแสดงอะไร ให้ในไฟล์ที่ Export ได้แสดงตามในจอได้ก็เพียงพอครับ Data Aware Export (ของใหม่ Dev Express 14.2): เป็น Engine ที่ช่วยให้การ Export ข้อมูลในกลุ่ม Spreadsheet มันฉลาดขึ้นครับ อาทิ เช่น ถ้า Grid มีการ Sum ไว้ ใน Excel มันจะผูกสูตร Sum ให้เลยครับ สุดยอดไปเลยยย เนื่องจาก Feature ใหม่ Data Aware Export ทำให้ตอน Export Excel ต้องมีการ…

[CR] Starbucks Mixed Roots Chips (Sea Salt Favor)

Mixed Root Chips (Sea Salt Favor) ราคา 45 บาท รสชาติ เจ้า Roots หมายถึง มันครับ ซึ่งที่ผมได้ลองมา มีทั้งมัน (Potato) มันม่วง(Sweet Potato) และ มันเทศสีส้ม (Orange Sweet Potato) ส่วนตัวผมว่าจืดไปนิดนึงครับ มันมีเกลือครับ แต่คิดว่ารสจะจัดกว่านี้ 555 แต่ทานเล่นได้เรื่อยๆครับ โดยสามารถทานคู่กับเครื่องดื่มได้หลากหลายแบบเลยครับ พอหา Mixed Root Chips ผมเข้าใจว่าน่าจะเป็นการ OEM มานะครับ มีกันหลายร้านเหลือเกิน พลังงาน 160 แคลลอรี่ Reference (พลังงานของแต่ละเมนู) รอบนี้ไม่มี Link อ้างอิงนะครับ เอาจากข้างซองเลยครับ

[.NET] แก้ปัญหา Build แล้ว Error Your project file doesn’t list ‘win’ as a “RuntimeIdentifier”

blur close up code computer

Blog ตอนนี้ยังเป็น Blog ที่สรุปหลังปรับ Framework ขององค์กรครับ จาก Blog ก่อนหน้าที่ Error “The build is configured to run SonarQube analysis but the SonarQube analysis targets could not be located” คราวนี้มาเจอ Error ใหม่ ที่มันกวนตีนกว่าเดิมครับ เพราะ มันเป็นบ้าง ไม่เป็นบ้าง และถ้า Build ผ่านตัว Visual Studio ไม่เจอนะ แต่ถ้า Build ผ่าน Command line พบเจ้า Error โผล่มาครับ Your project file doesn’t list ‘win’ as a “RuntimeIdentifier”. You should add ‘win’ to the “RuntimeIdentifiers” property in your project file and then re-run NuGet restore. ปัญหานี้เกิดจากอะไร เกิดจาก NuGet แหละครับ บางทีมัน Restore Package มาไม่ครบทำ ทำให้ตอน Build มัน Error ขึ้นมาครับ และก็ถ้าเป็น Project ที่เป็น .NET Framework ยังแนะนำให้ใช้ msbuild.exe ในการสั่ง build แทน dotnet.exe ครับ การแก้ไขหละ…

[SW Process] มีกระบวนการที่ดี แต่ทำงานปัญหาเดิมยังอยู่?

มีกระบวนการที่ดี แต่ทำงานปัญหาเดิมยังอยู่? พอไปตรวจสอบเงื่อนไขการตรวจวัดต่างๆ มันก็ผ่านแล้วนะ ทำไหมหละ ลองมายกตัวอย่างสักกระบวนการดีกว่า ตัวอย่างกระบวนการที่ผมยกมานั้นเป็นกระบวนการบริการลูกค้า เมื่อเกิดปัญหาการใช้งาน Software โดยใช้ระบบ Ticket Management อย่าง Redmine / Jira เป็นต้นครับ โดยกระบวนการตัวอย่างผมมีรายการละเอียด ดังนี้ เมื่อลูกค้าพบปัญหาการใช้งาน Software เข้ามาใน Ticket Management โดยอยู่ในสถานะ New ทีม Customer Support ได้การแจ้งเตือนว่ามี Incident ใหม่เข้ามาผ่าน Line และดึง Ticket นั้นเข้ามาตรวจสอบเปลี่ยนสถานะจาก New > CS Review และ ในช่วงนี้ Customer Support ต้องทำ สรุปปัญหาที่เกิดขึ้น และข้อมูลจำเป็นว่า พบในเวอร์ชันไหน หน้าจออะไร อะไรที่ผิด และ อะไรที่ถูกต้อง รวมถึงข้อ Exception Message พยายามหาวิธีการแก้ปัญหาเบื่องต้น (Work Around) และแจ้งลูกค้าให้รับทราบ และยอมรับวิธีการแก้ปัญหาเบื่องต้น ถ้าลูกค้า OK ทาง Customer Support เปลี่ยนสถานะจาก CS Review > Resolve ครับ ในกรณีที่ CS ไม่สามารถแก้ไขปัญหาได้ ส่งต่อให้ทีม ถ้าส่งให่ทีม Develop เปลี่ยนสถานะจาก CS Review > Dev Review ถ้าส่งให่ทีม Business Analyst เปลี่ยนสถานะจาก CS Review > BA Review เมื่อทีม Develop / Business Analyst หาวิธีการแก้ไขเบื้องต้นได้ หรือสรุปที่มาของปัญหาได้ ส่งให้…

[.NET] แก้ปัญหา Build แล้ว Error The build is configured to run SonarQube analysis

blur close up code computer

หลังจากปรับ Framework ของบริษัทให้เป็น .NET Standard เรียบร้อยแล้ว เมื่อทดสอบ Build ผ่านตัว Jenkins เกิด Error ดังนี้ The build is configured to run SonarQube analysis but the SonarQube analysis targets could not be located ภาพรวมของ SonarQube Analysis นะครับ ต้องเข้าใจก่อนนะครับ ว่าการวิเคราะห์ Code ของ SonarQube จริงๆ แล้ว มันแอบไปใช้งานตัว MSBuild.exe ครับ โดยมี 3 ขั้นตอนลำดับ ดังนี้ SonarScanner.MSBuild.exe begin เปิดการเชื่อมต่อกับ SonarQube Server ครับ และแอบไปเพิ่ม Config ให้กับ MSBuild.exe โดยจะไปเพิ่มไฟล์ SonarQube.Integration.ImportBefore.targets เพื่อใช้สำหรับขั้นตอนถัดไป (SonarScanner.MSBuild.exe analysis) ครับ ที่ Path %USERPROFILE%\AppData\Local\Microsoft\MSBuild\Current\Microsoft.Common.targets ไฟล์ SonarQube.Integration.ImportBefore.targets ตัวเป็นๆครับ แอบมาส่องไฟล์ SonarQube.Integration.ImportBefore.targets กันครับ MSBuild.exe analysis Build Project หรือ Solution โดยใช้ Config ที่ได้แอบไปแก้ไขใน MSBuild.exe ตั้งแต่ช่วง SonarScanner.MSBuild.exe begin SonarScanner.MSBuild.exe end เอาผลการวิเคราะห์ขั้นต้นที่ได้จาก MSBuild.exe ส่งไปยัง SonarQube Server ครับ และปิดการเชื่อมต่อกับ SonarQube Server รวมถึงลบ Config SonarQube.Integration.ImportBefore.targets…

2020 ปีที่ยิ่งกว่า Y2K

ปีนี้เป็นปีที่มีอะไรที่พีคมากครับ ตั้งแต่ต้นปีเลยก็ได้ มันทำให้ย้อนนึกถึง เรื่อง Y2K ที่ตอนนั้นบอกว่าปี 2000 ระบบจะล่มหมด เพราะเก็บปีไว้เพียง 2 ตำแหน่งสุดท้าย แต่เราก็ผ่านมันมาได้ครับ มาสรุปแต่ละหมวดเมื่อเทียบกับปีก่อนๆ กันดีกว่าครับ โควิด-19 (COVID-19) เปลี่ยนวิถีชีวิตจริงๆนะ ทำให้เกิด New Normal เกิด Digital Transformation ที่แท้จริง Work From Home Video Conference เช่น Zoom / MS Team เป็นต้น VPN สำหรับคนอื่น อาจจะเป็นเรื่องใหม่ แต่ของผมใช้งานมาประจำและ 555 ทำให้บางเรื่องที่มันทำได้ยากกลับง่าย หรือยิ่งซับซ้อน เรียนจบไหมนะ เรียนจบ ป โท แล้วนะ มันก็รู้สึกแปลกๆนะ เอาจริงๆ มันว่างๆมาเกือบๆ 2 เดือน แล้วถึงจะมาสอบจบ รับปริญญาเรียบร้อยแล้ว ถ้าอยากรู้อะไรสามารถมาดูได้ในหมวด CUSE / Master Degree ได้ครับ ปีนี้หลังเรียนจบมีไปเรียน Coursera มา 7 Course ครับ ได้มุมมองใหม่ๆของ Software Engineering เหมือนกันนะ เรื่องนี้ว่างๆ น่าจะมาเขียน Blog สรุปอีกทีนะ เรื่องสุขภาพ ปีที่ 2019 ที่เคยบอกไว้ว่าเคยน้ำหนัก 84 kg แล้วลดเหลือ 80 kg แต่หลังจากโหมทำงานหนัก + ปั่นเรื่องเรียน ป โท และมี Work From Home ด้วย จาก 80 kg มันเลยพุ่งไปที่ 86.7 kg หลังจากสอบจบ…

[CUSE] คำแนะนำในการเรียน หลังจากเรียนจบมาแล้ว

Blog เรื่องนี้น่าจะใช้เวลาเขียนยาวที่สุดแล้วนะครับ มันเป็นการรวมประสบการณ์ และสรุปในมุมของผมนะครับ ส่วน Question & Answer Q: จำเป็นไหมที่เรียนสาขานี้ แล้วต้องจบปริญญาตรีด้าน Computer (IT, ComSci, ComEng) มา ?A: ไม่จำเป็นครับ แต่ควรมีประสบการณ์ที่เกี่ยวกับการทำ Software จริงๆ เพราะ ตอนเข้ามาเรียนมีศัพท์ใหม่ๆเยอะมากกกกกกกกกกก ถ้าคนที่ไม่เกี่ยวกับ Domain ด้านนี้มาเรียน มางงแล้วไปยากครับ Q: มาเรียนคนเดียว หรือมากับเพื่อนดี ?A: แนะนำให้มากับเพื่อนครับ เพราะ อย่างน้อยเราจะมี Buddy ที่เรารู้จักกันดี ในการทำงานกลุ่มครับ เพราะ ทุกคนมาจากหลากหลายทีครับ การจะจูนให้เข้าขานั่น ให้เวลาพอสมควรเลย สำหรับงานกลุ่มหนักในการเรียน Coursework ในช่วยปี 1 ครับ หลังจากนั้นเป็นงานเดี๋ยวแล้วครับ Q: ภาษาอังกฤษ จำเป็นมากไหม ?A: จำเป็นมากครับ เพราะ ทุกวิชามีการอ่าน Paper/Textbook ซึ่งตัว Paper/Textbook เป็นภาษาอังกฤษครับ (ส่วนตัวหงุดหงิดกับคนในกลุ่มเหมือนกัน ที่พยายามเลือก Paper ที่มีจำนวนหน้าน้อยๆ และไม่เอา Coding แต่เราเรียน Software Enginering นะ) Q: งานกลุ่มมีเยอะไหม ?A: สำหรับคนที่เรียนแบบนอกเวลาราชการแล้ว ทุกวิชาที่เป็น Coursework มีงานกลุ่มหมดนะครับ ไม่มีงานเดี๋ยว (แต่ถ้าเรียนในเวลา งานบางชิ้นอาจารย์ให้ทำเดี๋ยวนะครับ เพราะมองว่ามีเวลามากกว่าคนที่เรียนนอกเวลา) Q: แผน ก หรือ แผน ข ดีหละA: ถ้าใครเรียนเพื่อทำงานจริงๆ ใจแข็งแผน ข ครับ เพราะ Scope งานอะไรน้อยกว่าเยอะครับ แต่ต้องระวัง Q: นอกเวลา ต่างกับ ในเวลาราชการอย่างไร ?A: เดี๋ยวผมขอ…

[CMMI] PQA กับ VV ต่างกันอย่างไรนะ ?

สำหรับเจ้า PQA และ VV เป็น Practice Area หนึ่งใน CMMI 2.0 ครับ ที่ผมใช้คำว่า practice area เพราะในนิยามของ CMMI ได้ปรับจาก Process Area ที่มีในเวอร์ชันก่อนหน้ามาครับ เพราะเหตุในอันนี้ตามมาในอีก Blog ได้เลยครับ เอาหละกลับมาที่ Practice Area แต่ละอันมัน คือ อะไรกันบ้าง PROCESS QUALITY ASSURANCE (PQA) ตรวจสอบว่า Process ถูกใช้งานตามที่กำหนด หรือไม่ ทุกคนใช้งาน Process ไปในทิศทางเดียวกัน หรือป่าว (Consistent Use) VERIFICATION AND VALIDATION (VV) Verification – Building things right สร้างตามข้อกำหนดไหม Validation – Building the right things สร้างมาแล้ว มันตรงกับปัญหาที่แก้ไหม ถ้าใครยังงงในตัว Verification กับ Validation ลองเข้าไปดูอีก Blog ของผมที่ขยายความไว้ได้ครับ สิ่งที่เหมือนกัน ? แน่นอนครับ จุดประสงค์ของ CMMI ส่งเสริม Capability ให้ดีขึ้น ซึ่งจะสะท้อนกลับไปที่ตัว Business ครับ โดย Practice Area เป็นอีกมุมที่เอามาเติมเต็มครับ ในเคสนี้เราต้องการนำ PQA และ VV เข้ามาครับ ตรวจสอบว่ามีการดำเนินการตามสิ่งที่สนใจ หรือไม่ PQA – ตรวจสอบว่า Process ถูกใช้งานตามที่กำหนด หรือไม่ Verification – ตรวจสอบว่า Output ที่ได้ออกมา…

[DB2] คืนพื้นที่ให้กับเครื่อง

ขอคืนพื้นที่ เนื่องจาก Disk ไม่เพียงพอครับ สำหรับใครที่ลองทำที่เครื่อง Develop พบปัญหานี้กันบ่อยๆครับ ตัวฐานข้อมูลเหมือนกับครับ สำหรับ DB2 ที่ลึกๆแล้วเป็นการเก็บข้อมูลในรูปแบบ File ที่เรียกว่า Table Space ครับ ซึ่งเมื่อเราทำอะไรเยอะๆ เข้า Insert เยอะๆ ตัวพื้นที่ถูกจองไปเรื่อยๆครับ แต่ถ้าลบข้อมูลออกมันไม่คืนพื้นที่นะครับ ถ้าจะบังคับให้คืนต้องไปเคลียร์ตัว Table Space ครับ ขั้นตอนการขอคืนพื้นที่ db2 alter tablespace <<ชื่อ Table Space>> reduce max; db2 alter tablespace USERSPACE1 reduce max; ข้อควรระวัง