[REGEX] ดักจับ Pattern ของ ISO8601 Repeating Interval

ช่วงนี้ก็ยุ่งๆครับ พยายามดัน ตัว Tool และ Paper ของงานวิจัยครับ โดยสำหรับผมทำเกี่ยวกับ BPMN พวกวันทีเวลาทั้งหลายเนี่ย มันจะถูกจัดเก็บในรูปแบบมาตรฐาน ISO8601 ครับ หลายคนอาจจะคิดว่ามันไกลตัว แต่จริงๆมันแทรกซึมได้ไปในวิถี Developer แล้วครัับ เพราะ ISO8601 ถูกบรรจุในมาตรฐานของ JSON ครับ ลองดูว่าคุ้นๆกันไหมเอ่ยยย DateTime เห็นกันบ่อยครับ แต่ที่แปลก และน่าจะถูกลืมน่าจะเป็นพวก ที่ถูกลืม เพราะ มันมีสิ่งที่น่าจะมาก่อนแล้วอย่าง CRON Format ครับ หรือชาวเพนกินเรียกว่่า CRON JOB ครับ เกริ่นนำมายาวพอสมควรเลยครับ คราวนี้มาลองดูว่าปัญหาที่ผมเจอ คือ อะไร ถ้าเป็น มาที่ตัว Repeating Interval มันมี Combination แบบไหนได้บ้าง เท่าที่ผมเข้าใจนะ มาที่พระเอกของเราแล้วครับ โดยสังเกตุได้ว่า {R[N]}/{Interval} ต้องมาคู่กันครับ ถ้าเขียน Code ดักใช้ Regular Expression ช่วย โดยดักตามกลุ่ม ดังนี้ สำหรับแบบที 1 จะได้เป็น กลุ่ม {R[N]} หรือ กลุ่ม {Date หรือ Time} หรือ กลุ่ม {Interval} โดยได้ RegEx ดังนี้ ผมได้เขียน RegEx ไว้ ดังนี้ครับ และสำหรับ Java ผมได้ทดสอบเพิ่มเติม เนื่องจากมันจะมีข้อจุกจิเล็กน้อยของแต่ละภาษาครับ ปรับให้มันซับซ้อนขึ้นตามข้อกำหนดที่ {R[N]}/{Interval} มาคู่กันครับ

[JAVA] แก้ไข XML ในส่วนของ CDATA

ช่วงนี้ก็กลับมาทำ Thesis แล้วครับ หลังจากที่ได้ทำงานอย่างหนัก เพื่อลูกค้าไปจนดึกดื่นครับ โดยในปัญหาที่ผมเจอ คือ ต้องการ Update ค่าใน XML ครับ โดยมีตัวอย่างของ XML ที่ต้องการแก้ไขค่า ดังนี้ครับ ก่อนแก้ไข หลังแก้ไข จากรูปเห็นว่าค่าใน XML Node ที่ผมต้องการแก้ไขมันมีอักขระพิเศษอย่าง CDATA มันมีชื่อเต็ม คือ Character Data สำหรับเจ้า CDATA มันมีชื่อเต็ม คือ Character Data ครับ จุดประสงค์ของมันก็ตรงตัวเลยครับ ยัดอะไรเข้ามาใช้ XML ก็ต้องเก็บตามที่ยัดครับ ไม่เว้นพวกอักขระพิเศษ ตามตารางด้านล่างเลยครับ สิ่งที่ XML เก็บ สัญลักษณ์ที่แสดง &lt ; < &gt ; > &le ; <= &ge ; >= Java มีการจัดการสำหรับการแก้ไขค่า CDATA บน Node มาดูดีกว่า Java มีการจัดการสำหรับการแก้ไขค่า CDATA บน Node ที่สนใจ ถ้าภาษา XML พื้นที่ตรงนี้จะเรียกว่า Text Node ครับ เอ้ามาดู Code กันเลยครับ

[ML] Decision Surface ของ Decision Tree และ Neural Network ต่างกันอย่างไร

ฺBlog นี้เป็นคำถามที่อยู่ดีๆก็นึกขึ้นมาได้ น่าจะเป็นตอนสมัยที่เรียน Machine Learning ตอน ป โท ก็เลยลองหาคำตอบเลยลองเขียนดูครับ ซึ่งผมของเอาภาพมาอธิบายดีกว่า โดยภาพผมเอามาจาก  โดยภาพนี้ ถ้าสังเกตุดีๆ พบว่า สบายใจแล้ว ไม่รู้ว่าคำตอบจะถูกไหมหว่า งานระลึกชาติ  

2018 ปีแห่งงานที่ถาถม

วันที่ต้องหยุดพัก เพราะร่างกายรับไม่ไหว น่าจะเป็นนิยามทีดีที่สุดสำหรับปีนี้ครับ เพราะเป็นปีที่ใช้ร่างกายเยอะมากครับ Blog นี้น่าจะบ่นเรื่องานเยอะหน่อย เรื่องงาน จริงๆ แม้ว่าหลายคนระดับบนขององค์กรจะมองว่า Resource มันเพียงพอ ไม่ต้องโหมงาน แต่ผมว่างานหนักขึ้นตามหน้าที่ที่ได้รับครับ การจัดการโครงการ – ผมมองว่าล้มเหลวครับ เรียน ป โท สุขภาพ การเงิน Blog นี้ที่บ่นๆ ก็หวังว่า HR จะมาเห็น แล้วเพิ่มโบนัสชดเชยค่าเทอมเสียไปด้วย ฮ่าๆ เสียหายไปเยอะเลย เพื่อ Project Re-Design กับ Deadline ที่บีบ และงาน End-Phase ที่ปิดโครงการได้ แต่ภาระยังเหมือนเดิม ปีนี้พยายามไม่ทำตัวเป็นคนดี แอบไม่ดีบ้าง ปัญหาบางอย่างเกิดจากคนอื่น แต่เราต้องมารับผิดชอบแทน เพราะรู้สึกว่าการยื้อเวลาการเรียน ป โท ไปแลกกับงาน ลูกค้า มันดูไม่ค่อย OK เท่าไหร่

[WIN] ปรับให้ Standard User สามารถแก้ไขวันที่ไดั

Microsoft Windows

สำหรับ Blog นี้ พอดี ระหว่างพัฒนาระบบใหม่ขึ้นมา ทาง BA อยากจะลองแก้ไขวันที่ของ DB Server เพื่อทดสอบการทำงานของ Application ครับ โดยการจะแก้ไขวันที่ได้ มีเงื่อนไข ดังนี้ สำหรับหัวข้อสุดท้าย “สุดท้าย User ที่ใช้งานต้องมีสิทธิ์ด้วยครับ” ถ้าจะเพิ่ม User สามารถทำได้ โดยมีขั้นตอนสั้นๆ ดังนี้ครับ จบไปแล้วกับอีก Blog ที่หาเวลามาเขียนยากมากก งานเยอะ มา 8 โมง กลับอีกที่ ก็ 5 ทุ่ม T___T

Design Technique for Enterprise Transaction Design

สรุปแนวคิดสำหรับการออกแบบระบบให้ระบบขนาดใหญ่ (Enterprise) และรองรับข้อมูลธุรกรรม(Transaction) จำนวนมาก โดยต้องการให้ขยายระบบ(Scalability) ได้ในอนาคตครับ เลือกรูปแบบ Data Modeling – Transaction – ORM vs ER – พวก Sensitive Data จัดการอย่างไร – Data distribution / Data Centralization เลือกรูปแบบ Architectural Patterns การเลือก Architecture ต้องดูจาก – Resource Handings (POSA-3) ตรงนี้จะเห็นว่า กล่องสีๆ พวก Performance / Scalability คือ พวก Quality Attribute โดยการเอา Pattern (กรอบประ) แต่ละอันมาช่วยเสริม อันไหน เช่น – Resource Management (POSA-2) มีหลายอันเลยครับ ที่มาช่วยในเรื่องต่างๆ Service Access and Configuration Event Handling Synchronization Concurrency LAST UPDATE: 2022-10 Reference

[DB2] SQL30082N Security processing failed with reason “1” (“PASSWORD EXPIRED”). SQLSTATE=08001

IBM DB2

ใช้ DB2 บน Docker มา 7-8 เดือน วันนี้พี่ในทีมบอกว่า เฮ้ยยย Database เป็นอะไร Login เข้าไม่ได้ครับ โดย Error Message คือ SQL30082N Security processing failed with reason “1” (“PASSWORD EXPIRED”).SQLSTATE=08001 ก่อนอื่นมาดูกันก่อนครับ มันเป็นที่ DB2 หรือป่าว ? คำตอบไม่เกี่ยวกับ DB2 เลยครับ เพราะ ตัว DB2 ไม่ได้จดจำ Username หรือ Password ของ Database เลยครับ สิ่งที่ DB2 ทำ คือ เชื่อใน OS ครับ เอาง่ายๆ DB2 ฝากหน้าที่การตรวจสอบตัวตนให้ใช้งานของ OS จากงานข้างต้นแสดงว่าการแก้ปัญหาไม่ได้มาจาก DB2 ครับ ต้องไปจัดการสิทธิของ User ใน OS ครับ อย่างผมใช้ CentOS ใน Docker IBM DB2 ครับ โดยคำสั่งที่ใช้ในการเปลี่ยน Password Expire ของ CentOS มี ดังนี้ครับ แบบที่ 1 : กำหนดไม่ให้ Password Expire เลยครับ – เหมาะสำหรับเครื่อง Development ครับ คำสั่ง  chage -m 0 -M 99999 -I -1 -E -1 <<username>> ตัวอย่าง  chage -m…

[CUSE] ในที่สุดก็แก้ Propasal จาก EThesis มาเป็น IThesis สำเร็จ

งานเยอะ แต่ทรัพย์จางครับ หลังจากทำงานปั่นๆ เพื่อให้มี Product จริงตามที่ Marketing เสนอขายไว้ในช่วงเสาร์-อาทิตย์ อันยาวนานคราวนี้มีเวลามาส่งไฟล์ Propasal ของ Thesis สักทีครับ โดยผมได้ทำเอกสารไว้ในระบบ Ethesis แล้วแหละ แต่พอ Migrate มาเป็น IThesis มันหายครับ จากวันนี้ 2018-11-30 สู้ต่อไปอีกเทอมครับ หวังว่าความเยอะของงานจะลดลงครับ วันที่ต้องหยุดพักเพราะร่างกายรับไม่ไหววันที่ต้องเจ็บใจจนแอบไปสะอื้นกี่ครั้ง

[WINDOWS] กำหนด Password ของ User ให้เป็น Never Expire

Microsoft Windows

หลังจากที่ได้ทำงานที่ท้าทายชิ้นนึง โดยมีเงื่อนไขของระบบว่าต้องเป็น Windows Server แต่งานชิ้นนี้ เป็นงานที่ได้ใช้องค์ความรู้ที่ได้เรียนมาตอนเรียนปริญญาโท ด้าน SE หมดเลยครับ แต่งานกินเวลาทำ Thesis ไปเช่นกัน งอแงมาพอและ มาเริ่มเลยดีกว่า เนื่องจากระบบที่ใช้เป็น Windows Server และด้วยสภาพ Environment ของ Dev เลยไม่จำเป็นต้องกำหนดกฏเยอะแยะด้าน Security ครับ โดยการกำหนดอายุของรหัสผ่านก็เป็นหนึ่งในประเด็นที่ฝั่ง Dev ของมองข้ามไปก่อนครับ โดยสำหรับ OS ตระกูล Windows มีวิธีการ ดังนี้ครับ ใช้ Command เลย มันเร็วดีครับ จากคำสั่ง wmic ครับ หลังจากที่ลองเขียนคำสั่งไปแล้ว เราต้องตรวจสอบผลจากคำสั่ง net  ครับ ลดความยุ่งของทีม Dev ไปแล้ว แต่ตอนไป Implement จริง ให้ทำตาม Policy นะครับ เดี๋ยวจะชื่อดังโดยไม่รู้ตัว ^___^ Reference

[ENDNOTE] แทรกรายการอ้างอิงในไฟล์ MS Word

หลังจากติดงานที่ทำวันเสาร์ อาทิตย์มาตลอด ตอนนี้ได้เวลามาทำให้มันเสร็จสมบูรณ์สักทีกับระบบ IThesis ที่เปลี่ยนมาจาก EThesis ครับ มาเติมเต็มรายการอ้างอิงในไฟล์ MS Word กันครับ สิ่งที่ต้องมี มาลุยกันเลยครับ แทรกรายการอ้างอิง กรณีที่ต้องการแทรก Reference หลายๆอัน เช่น รายการที่ 5-10 และ 12-20 กรณีแทรก Reference หลายๆอัน แล้วในบรรรณานุกรมลำดับเปลี่ยน