[Design Pattern] Command Pattern in Depth

อันนี้น่าจะเป็น Pattern ที่ 4 ที่เขียนกันครับ ทำไมต้องใช้ Command Pattern เมื่อไหร่ควรจะใช้ Pattern มันเป็นอย่างไร – Class Diagram มุมมองตอน Runtime – Object Diagram มุมมองลำดับการทำงาน – Sequence Diagram

[MSSQL] รู้หรือไม่ว่า WHERE IN (มันมีข้อจำกัดนะ)

Microsoft SQL Server

พอดีลองพัฒนาโมดูล Compliance ขึ้นมาใหม่ และลองทำ Stress Test ดูว่า ระบบมันรองรับได้มากที่สุดแค่ไหน โดยลองส่ง Portfolio ทีมีหลายร้อย Port เข้ามาตรวจดู ปรากฏว่าเจอ Exception ดังรูป ถ้ามาดู Exception Message แบบละเอียดหละ ซึ่งสาเหตุของมันเกิดจาก SQL ในส่วนของ WHERE IN (มันมีข้อจำกัด สำหรับ Microsoft SQL Server สามารถใส่ข้อมูล เข้าไปได้มากที่สุด 2100 ตัวเท่านั้น) โดยตัวอย่าง SQL IN เป็นแบบนี้ แล้วจำนวนเท่าไหร่ ถึงเหมาะสม แล้ว Database ของเจ้าอื่นๆ มีข้อจำกัดที่เท่าไหร่  

[Design Pattern] Decorator Pattern in Depth

ทำไมต้องใช้ Decorator Pattern เมื่อไหร่ควรจะใช้ Open for Extension Closed for Modification Pattern มันเป็นอย่างไร – Class Diagram มุมมองตอน Runtime – Object Diagram มุมมองลำดับการทำงาน – Sequence Diagram Real World Example

[JAVA] Install MAVEN

วันนี้มาเขียน Blog สรุปชั้นตอน การ Install MAVEN ครับ สำหรับ Windows โดยมีชั้นตอน ดังนี้ เตรียมตัว ขั้นตอนการติดตั้ง ทดสอบใช้งาน

[Design Pattern] Observer Pattern in Depth

คราวนี้มาเป็น Pattern ที่ 2 แล้วที่ผมเขียนในเรื่อง Design Pattern in Depth โดยตอนนี้ขอเขียนเกี่ยวกับ BNK48 แล้วกันครับ น้องเณอปราง ^___^ ทำไมต้องใช้ Observer Pattern เมื่อไหร่ควรจะใช้ Pattern มันเป็นอย่างไร – Class Diagram มุมมองตอน Runtime – Object Diagram มุมมองลำดับการทำงาน – Sequence Diagram ปิดท้ายด้วย Source Code (อาจจะรันไม่ได้ Code เทพ No Complier 5555) เพื่อให้เห็นภาพรวมตาม Sequence Diagram หมายเหตุ

[CUSE] ใช้ EndNote X8 จัดการรายการอ้างอิง

หลังจากได้ติดตั้ง EndNote ไปแล้ว ขั้นตอนถัดมา ลุย!!!! จัดการรายการอ้างอิงกันครับ ‘ ก่อนที่เก็บรายการอ้างอิง ต้องมี Library ไว้จัดเก็บผลงานก่อนครับ โดยมีขั้นตอนการสร้าง Library ดังนี้ สร้าง Library กันก่อนครับ ลองเก็บ Reference – ทำได้ 2 วิธี ได้แก่ นำเข้าแบบ Manual และนำเข้าจากรายการอ้างอิงอื่นๆ เช่น Text file – วิธีแรก – นำเข้าแบบ Manual – วิธีสอง – นำเข้าจากรายการอ้างอิงอื่นๆ เช่น Textfile (ที่มีการจัดรูปแบบไว้) Reference ของ Chula มีหลายลิงค์เลย ผมก็แปะทุกลิงค์ครับ

[BPMN] สรุป Step การพัฒนา BPMN Application ด้วย Camunda BPMN Engine

หลังจากได้ลอง BPMN Engine ตัว Activiti ไป ช่วงมกราคม และลองตัว jBPM ไป แต่ไม่ค่อย Work เท่าไหร่ คราวนี้มาถึงคิวของ Camunda  บ้างแล้วครับ Camunda BPMN Engine คือ อะไร ขั้นตอนการพัฒนา BPMN Application บน Camunda ติดตั้งแบบจำลอง ทดสอบใช้งานครับ Note Reference

[C#] ให้ Log4net เขียน Log แยกตาม Process Id ของ Application

จาก Blog ตอนก่อนของ Site ได้ Deploy ตัว .Net App ไว้ที่ Windows Server ไว้ที่ Drive C: แล้วให้ User Remote เข้ามาใช้งานครับ แต่พอเวลามีปัญหามันดัน Write Log ไม่ได้ครับ เพราะ Application ทุกตัวที่ที่รันขึ้นมา ดันเขียน Log ลงไปที่ Path และไฟล์ชื่อเดียวกันครับ ทำให้ User สามารถเปิดโปรแกรมใช้งานได้แค่ 1 Instance เท่านั้นครับ เมื่อทาง Dev ต้องการหาสาเหตุของ Defect บางข้อครับ แต่เรื่องนี้มันก็ขัดใจสำหรับ User มากๆ ที่ไม่สามารทำงานได้ครับ สำหรับทางแก้ – ใช้ Log4Net มันเขียน Log File ตาม Process Id ของ exe ที่เปิดอยู่ครับ โดยสามารถไปแก้ที่ตัว Appender ได้ ดังนี้ สำหรับตัว Appender เต็มๆครับ โดยการเดิม [%processid]  ลงไปใน value ที่กำหนด Path และชื่อไฟล์ ในส่วนของ PatternString ตัวอย่างชื่อของ Log File ที่ได้มาครับ Reference

จะคุยกับลูกค้าแล้ว เราตกลงกันภายในแล้ว หรือยัง ?

สำหรับ Blog ตอนนี้ เป็น Blog ที่บ่นถึงปัญหาที่มักพบเจอในองค์กรที่รับพัฒนาซอฟต์แวร์ และก่อให้เกิดปัญหาจนเรียกว่า End Phase ปัญหาที่ 1 : ก่อนเริ่มต้นโครงการ ตกลงกันภายในแล้ว หรือยัง ? 📌 ตัวละครที่เกี่ยวข้อง – ทุกฝ่ายที่ช่วยให้ลูกค้า ตัดสินใจซื้อสินค้า และบริการจากเรา📌 จุดประเด็น ปัญหาที่ 2 : ทำอะไร ควรมีหลักฐาน !!! 📌 ตัวละครที่เกี่ยวข้อง – ทุกทีมที่เกี่ยวกับการพัฒนาระบบในมุมเชิงเทคนิค / เชิงธุรกิจ และเชิงการจัดการ📌 จุดประเด็น ปัญหาที่ 3 : ตกลงกันแล้ว ว่าใคร ทำอะไร ที่ไหน แล้ว หรือยัง ? 📌 ตัวละครที่เกี่ยวข้อง – ทุกทีม📌 จุดประเด็น จากบทสนทนานี้ จงวิเคราะห์ สำหรับ Blog นี้ ผมคงเน้นปัญหาที่สำคัญ คือ การสื่อสาร ทำความเข้าใจ และสร้างข้อตกลง ไม่งั้นก็จะเกิดเป็นปัญหา อย่างที่ผมเผชิญอยู่กับตัวรายงาน Data Set ที่ต้องส่ง BOT ไปๆมาๆ เหลือคนดูแล คือ ผมคนเดียว และทีมอื่นๆ หายไปหมด …… สุดท้ายพอแบบมีปัญหาอะไรไป ก็ได้แค่บ่น หรือเขียน Spec แบบจิ๊กกัดได้เท่านั้น T_____T ใจเขา ใจเรา ทำงานของตัวเองให้ดีที่สุดแล้ว หรือยัง !!!

[DB2] มาดูขนาดของ Table และ Database กันครับ

IBM DB2

สุขสันต์วันสงกรานต์นะครับ วันที่ชาวไอทีหลายคนอาจจะยังต้องทำงานอยู่รวมทั้งผมด้วย 5555 หลังจากแก้เคสด่วนของรายงานแบงค์ชาติ LQ1 ไป คราวนี้ลองมาแอบส่อง Database บ้าง จากกันไปปีกว่าๆ แต่ทำไมชนาดที่ Backup มันดูใหญ่โตจัง 5555 โดยผมได้เขียน Query ดังนี้ครับ Query ที่เขียนขึ้นครับ สำหรับ Query นี้หลังๆ ดึงจาก Table SYSIBMADM.ADMINTABINFO ครับ โดยเอาค่าของเนื่อข้อมูล( DATA_OBJECT_P_SIZE ) + ขนาด Index( INDEX_OBJECT_P_SIZE ) + ขนาดของ Long Object (LONG_OBJECT_P_SIZE) + ขนาดของ Stream (LOB) (LOB_OBJECT_P_SIZE ) และ ขนาดของ XML(XML_OBJECT_P_SIZE) โดยที่ _P (Physical) ถ้าไปดู Schema ดีๆมี _L ที่หมายถึง Logical ด้วยครับ ผลลัพธ์ที่ได้ ที่นี้เอาเราข้อมูลมาวิเคราห์ และสร้างกราฟนำเสนอให้ผู้บริหารต่อไปได้ครับ หรือจะเอาไปวิเคราะห์ทำเป็น MA ต่อไปครับ หากใช้ Database Microsoft SQL Server สามารถดูได้จาก Blog ตอนต่อไปครับ Reference