[CR] รสนิยม ข้าวพะแนงสันคอเนื้อออสเตรเลีย

สำหรับเมนูนี้เป็นเมนูที่ช่วงแรกๆใน 7/11 ของหมดไวมากครับ ส่วนผมรู้ตอนหลังๆแล้วครับ เลยเอามา Review ช้ากว่าชาวบ้านเค้าเลยครับ อุ่น-ข้าวพะแนงสันคอเนื้อออสเตรเลีย เมนูนี้อุ่นง่ายครับ แต่ถอดฟซองกระดาษออก และนำไปอุ่นผ่านไมโครเวฟได้เลยครับ ตัวกล่องมีตัวเจาะรูมาแล้วครับ เอานิ้วจิ้มไได้เลยครับ การตั้งค่าเครื่องสำหรับของที่บ้านผม ไมโครเวฟ 800 วัตต์ครับ เลยอุ่นความร้อนแบบ max 2 นาทีครับ และพัก จากนั้นอุ่นต่ออีก 30 วินาทีครับ ก็พร้อมทานแล้สครับ ชิม-ข้าวพะแนงสันคอเนื้อออสเตรเลีย สัมผัสแรกกลิ่นหอมมากครับ แต่ยังสู้เมนูกระเพราเนื้อของรสนิยมไม่ได้ครับ รสชาติ ละมุนลิ้น มันไม่เหมือนพแนงจากร้านอื่นๆ มีรสนมแบบเมนูเนื้อที่มีครับ จะรสจะโดดๆ แต่ไม่เผ็ด ส่วนเนื้อนุ่มกลืนง่ายครับ สรุป เมนูที่ควรค่าแก้การทานครับ เปลี่ยนคำจำเจจากอาหารกล่องของ 7/11 ได้ดีมากๆครับ ราคา 69 บาท ราคาอาจจะสูงกว่าข้าวกล่องทั่วไป แต่รสชาติคุ้มครับ รอบหน้าคงต้องหาทางไปลองแบบหน้าร้าน เห็นมีน้องบอกว่ามันจะหอม ละมุนกว่านี้มากกก

Software/Product Integration Strategy

หลายคนอาจจะเจอคำถามแนวๆว่า เพิ่ม Feature นี้เข้าไป หรือ Deploy ระบบที่ละส่วน มันมีแนวคิดการ Integrate หรือ ป่าวนะ ที่เป็น Guideline หรือป่าวนะ สรุปมีแนวทาง โดยมี 4 กลยุทธ์ที่ใช้กัน ดังนี้ครับ Big Bang Incremental Top-Down Button-Up Sandwich 1. Big Bang Big Bang ไม่มีลำดับอะไร เมื่อทุกคนทำเสร็จให้เทรวม และทดสอบรวมกันเดียว เหมาะกับ งานที่ไม่มีความซับซ้อน หรือมีขนาดเล็ก เพราะ ถ้าพลาดนี้หนังชีวิตเลยครับ แต่ต้องระวัง เนื่องจากเป็นการเทรวม หายังไม่ได้ตกลง Interface (Internal / External) กันก่อน ทำให้เกิดปัญหาตอนเอาทุก Component / Sub-System แต่ละอันมารวมกัน การทดสอบ หากมีข้อผิดพลาดเกิดขึ้น อาจจะทำให้หา Root-Cause ได้ยากขึ้น ตัวอย่าง Coding: การ Merge Feature ที่มี Dev ทำหลายๆคนกลับเข้าที่ Branch หลัก System: การ Deploy ระบบคลังสินค้า ที่มีการเชื่อมกับระบบบัญชีพร้อมกัน 2. Incremental Incremental มีการจัดลำดับ / ความสำคัญก่อนหลัง เช่น การทำ Core ขึ้นมาก่อน แล้วค่อยเพิ่ม Feature เข้าไปในแต่ละ Release เหมาะกับ งานที่มีขนาดใหญ่ จึงต้องแบ่งออกเป็น Component / Sub-System แผนงานยืดหยุ่นได้ เพราะ ใช้เวลาเก็บข้อมูล เพื่อมาปรับตัวระบบที่ละนิดเล็กบ้าง ใหญ่บ้าง สำหรับแนวทาง Incremental มี 3…

[.NET] Add UI เข้ามา แต่ View Designer ไม่ได้

Visual Studio

สำหรับวันนี้เป็นสรุปแนวทางปัญหาที่น่าจะเจอกันสำหรับคนที่ทำ Desktop App / Windows Forms App บน Visual Studio กันครับ ว่าบางที่ Add UI เข้ามาเพิ่ม แล้วเจอปัญหาว่า ถ้าอยากจะแก้ UI ต้องลงทุน เข้าไปแก้ Code แต่ที่จะออกแบบผ่านตัว Designer ได้ครับ ปัญหา Add UI เข้ามา แต่ View Designer ไม่ได้ สาเหตุ ตอนที่ Add UI เข้าไป ไม่ได้กดผ่านเมนู Add > Existing Item ส่วนใหญ่ที่เจอไปกด Show All File แล้วไป Include เพิ่มเข้ามา ทำให้ตัว Visual Studio มันไม่ได้ตีความว่าเป็น UI การแก้ไข – วิธีที่ 1: Exclude ไฟล์ที่มีปัญหาออกไป แล้ว Add เข้ามาใหม่ผ่านเมนู Add > Existing Item ครับ ที่ Project ที่มีปัญหา คลิกขวาที่ไฟล์ จากนั้นเลือก Exclude From Project จากนั้น Add เข้ามาใหม่ โดยคลิกขวา่ที่ Project เลือกเมนู Add > Existing Item และเลือกไฟล์ที่ต้องการเพิ่มเข้ามาได้เลย (ไฟล์ UI ต้องเลือกให้ครบทั้ง 3 ไฟล์นะครับ *.cs, *.designer.cs และ *.resx หมายเหตุ วิธีนี้มีข้อเสีย เนื่องจาก Reference…

[OWASP] สรุป Secure Design: Threat Modelling

สำหรับวันนี้เป็น Blog สรุปจาก Session Secure Design: Threat Modelling โดยคุณนฤดม รุ่งศิริวงศ์ คร้บ โดยก่อนจะรู้จักกับ Threat Modelling ต้องมารู้จักกับคำว่า Attack Surface กันก่อนครับ Application Security Risk When We Do Threat Modeling ทำตั้งแต่ช่วง Phase Design เพราะการเจอปัญหาก่อน มันช่วยลด Cost ในการปรับปรุงแก้ไขได่เยอะ Attack Surface จุดเสื่ยงมีเปิดโอกาศในเกิดการโจมตีระบบได้ เพื่อให้ทราบว่า ส่วนไหนของระบบที่ต้องมีการ Review / Test ด้าน Security อะไรที่เป็น High Risk แล้วจะลด หรือจัดการมันอย่างไร – Attack Surface Analysis Defining the Attack Surface of an Application อะไรที่พาให้เข้าถึงระบบเราได้ พวก API ต่างๆ หรือ UI หน้าจอ ข้อมูลที่เก็บในระบบ อะไรที่เป็นจุดเสี่ยง แล้วที่กล่าวมามีการป้องกันไหม ? Identifying and Mapping the Attack Surface Entry / Exit Point Technology Design Measuring and Assessing the Attack Surface Measuring หาจุดที่จะโดนโจมตี เช่น API ที่ไม่ต้อง Login UI ที่กรอกข้อมูลต่างๆ Custom Component ที่พัฒนาเอง เช่น…

[CMMI] เมื่อ Dev อย่างเราๆ ไปเป็น Appraisal Team Member (ATM)

หลังจากบ่น Process ฝั่ง Service บ่อยๆเข้าก็เลย โดนจับส่งไปเป็น Appraisal Team Member (ATM) เลย CMMI Appraisal คือ อะไร ? เป็นการวัดศักยภาพ และวุฒิภาวะขององค์กร จากกระบวนการ (Process) เพื่อให้ได้รู้ถึง Strength / Weakness และ อื่นๆ โดยรูปแบบการประเมิน 4 แบบ Evaluation – ประเมินความสามารถ Benchmark – สอบจริง (Cert มีอายุ 3 ปี) Sustainment – ต่ออายุจาก Benchmark (ต่ออายุได้ 2 ปี) Action Plan Reappraisal – สอบซ่อม Appraisal Team Members (ATM) คนที่ช่วยทำ CMMI Appraisal และร่วมประเมินวัดศักยภาพ และวุฒิภาวะในแต่ละ Practices โดยมี Appraisal Team Lead (ATL) ที่ถูกส่งมาจาก CMMI Institute เข้ามากำกับดูแล ATM มีทั้ง Internal และ External เพื่อความโปร่งใสในการทำ Appraisal ครับ กว่าจะมาเป็น ATM ได้ ทุกคนต้องมี Certified CMMI V2.0 Associate ก่อนครับ (ถ้าอยากรู้เว่าเป็นอย่างไร มาดูที่ Blog บันทึกการสอบ Certified CMMI V2.0 Associate) ครับ โดยหน้าที่ของ ATM อย่างเราๆ มีหน้าที่ในช่วง…

[CMMI] สัญลักษณ์ตอนบันทึก Finding ในระหว่าง Appraisal มีอะไรบ้าง

find, investigate, black binocular on round device

เนื่องจากเดือนที่ผ่านมาผมได้เป็น ATM (Appraisal Team Member) สำหรับการประเมิน High Maturity ครับ เลยขอมาสรุปสัญลักษณ์ตอนบันทึก Finding ว่ามีอะไรบ้างครับ [S] Strength สิ่งที่เป็นจุดแข็งขององค์กร โดยสิ่งที่จับมาเป็นจุดแข็งได้ต้องอะไรที่นวัตกรรม (Innovation) ใหม่ๆ ที่มันมากกว่าการตอบตัว Intent และ Value ของแต่ละ Practice นวัตกรรม (Innovation) ใหม่ๆ คือ อะไร ? เป็นสิ่งที่หลายๆองค์กรยังไม่ได้ทำกัน ไม่จำเป็นต้องเป็นการนำเทคโนโลยีมาทำให้เป็น Automate อย่างเดียวเท่านั้นครับ อาจจะเป็นแนวคิดก็ได้ครับ เช่น มีการเสนอ Tailoring Guide ของแต่ละ Process โดยการอนุมัติ Tailoring ต้องไปคำนึงถึง PPB / PPM ขององค์กรด้วย เป็นต้น [W] Weakness สิ่งที่เป็นจุดอ่อนขององค์กร เพราะยังขาด หรือ ไม่ตรงกับ Intent และ Value ของ Practice ขององค์กร หรือ จะมองว่าเป็น Gap จากตัว Model ของ CMMI ที่ยังค้นพบอยู่ สำหรับ Weakness ไม่ได้ตัว Model ยังไม่ได้บอกว่าความรุนแรงว่าเป็น ขนาดเล็ก หรือ ใหญ่ครับ [N] Note เอาไปบอกข้อมูลเพิ่มเติมครับ จาก Strength และ Weakness [IO] Improvement Opportunities สิ่งที่องค์กรยังไม่ได้ทำ แต่ควรทำนะ เพื่อให้เกิด Performance ขององค์กรที่ดีครับ ถ้าเป็นการประเมินแบบ Evaluation จะเป็น Recommendation แทนครับ [IP] Improvements in…

[MSSQL] ทดสอบ Legacy App เจอ Error [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.

Microsoft SQL Server

ไหนๆก็มี MSSQL Server 2019 Container แล้ว เลยลองทดสอบนำเอา Legacy App (VB6) มาลองเชื่อมต่อดูพบว่าบางเครื่องใช้งานได้ และบางเครื่องใช้งานไม่ได้ครับ หลังจากทดสอบเอา Code มา Debug ดู พบว่าเจอ Error [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error. ลองไล่สาเหตุ Config ของ Legacy App (VB6) ใช้ Microsoft SQL Server Native Client 11.0 (SQLNCLI11) บางเครื่องใช้งานได้ และบางเครื่องใช้งานไม่ได้ เนื่องจากตรวจสอบใน ODBC 32 bits ระหว่างเครื่องที่ใช้งานได้ และใช้งานไม่ได้ พบว่ามันขาด Library Microsoft SQL Server Native Client 11.0 (SQLNCLI11) เหมือนจะได้ทางออกแล้ว แต่ปรากฏ Microsoft SQL Server Native Client 11.0 (SQLNCLI11) ไม่รองรับ Windows 10 ซะงั้น (ตอนแรกยังลงได้ แต่น่าจะโดนบาง Update ไปครับ) และทาง Microsoft ประกาศไม่พัฒนาต่อแล้วตาม Support Policies – SQL Server Native Client | Microsoft Docs ทางออกของปัญหาครับ ถ้าลองติดตั้ง Microsoft SQL Server Native Client 11.0 (SQLNCLI11) ใช้วิธีนี้ได้ครับ แต่มีประเด็นเรื่อง Support เปลี่ยนไปใช้ Microsoft OLE DB…

[DB2] QUIESCE คือ อะไร

black and gray mining rig

สำหรับการ QUIESCE การให้อธิบายมันเป็นการปิดระบบ เพื่อให้ Admin เข้ามาบำรุงรักษาครับ โดยอาจจะเป็นการติดตั้ง Application หรือ Backup Database เป็นต้นครับ DB2 QUIESCE ใช้ได้ทั้งกับ Database และ Instance ครับ โดยเป็ยการบังคับ User ที่ไม่ใช่ Admin ออกไปจากระบบครับ หลังบำรุงรักษาระบบเสร็จ เปิดให้ User เข้าใช้งานได้ ด้วยคำสั่ง db2 unquiesce database ตัวอย่างการใช้งาน โดยเป็น Script Backup Database ครับ ที่ใช้คำสั่ง quiesce สำหรับเตะ user ที่ไม่เกี่ยวข้องออก และเมื่อ backup เสร็จสิ้นใช้คำสั่ง unquiesce เพื่อเปิดใช้งานระบบ ปัญหาที่พบ QUIESCE SQL20157N SQL20157N: User with authorization ID <<authorization-ID>> failed to attach to a quiesced instance, or connect to a quiesced database or a database in a quiesced instance which is in the following quiesce mode: <<quiesce-mode>> สาเหตุ และการแก้ไข (ขึ้นกับบริบท) ถ้าเกิดระหว่างที่ Admin กำลังปิดบำรุงรักษาระบบ อันนี้ถูกต้องแล้วครับ แต่ถ้าหลังบำรุงรักษา แล้ว Application Error แบบนี้ แสดงว่าตัว Database หรือ…

[CMMI] High Maturity Concepts

ก่อนจะได้เข้าทำหน้าที่ ATM (Appraisal Team Member) ผมต้องผ่าน Course High Maturity Concepts ก่อนครับ โดยผมมีสรุปสิ่งที่ผมเข้าใจไว้คร่าวๆ ดังนี้ High Maturity คือ อะไร ถ้ามองเป็นคน องค์กรต้องเป็นผู้ใหญ่ที่มีวุฒิภาวะ ประสบการณ์ หรือมองว่าเป็นข้อมูลในอดีต (Historical Data) การตัดสินใจใดๆ ต้องมีเหตุ และผลรองรับ จากข้อมูล (Data Driven Decisions) มองว่าเป็นการทำ Hypothesis Test ที่ใน 100% บอกความเชื่อมั่นว่าสำเร็จเท่าไหร่ และที่เหลือมองเป็น % ความเสี่ยง ครับ ถ้าใน CMMI ประสบการณ์จะมาจาก LV3 ที่เน้นจัดการข้อมูลในอดีต (Historical Data) เพื่อนำมาทำจุดอ้างอิง (Baseline) กว่าเราจะได้ข้อมูลที่ดี (Data Quality) ได้ ต้องผ่านทุกข้อของ LV3 นะครับ อาทิ เช่น ทุกคนในองค์กรทำตาม Process ไปในทางเดียวกัน Tailoring ที่สามารถควบคุมได้ และต้องรู้ด้วยว่าจะเก็บข้อมูลไป เพื่ออะไร ? เป็นต้น CMMI 2.0 Process Area(PA) ที่เป็น High Maturity สำหรับ Practice Area ที่เป็น High Maturity ได้แก่ PCM / GOV / PLAN / SAM / MPM / CAR LV4: ช่วยจัดการสาเหตุของ Process Variation ได้ LV5: ช่วยให้เห็นจุดที่สามารถปรับปรุง Process…