[BPMN] Access Camunda H2 Database

หลังจากว่างเว้นไปกับ Blog ของ Camunda BPMN Engine ไปพักใหญ่ๆ คราวนี้มีเหตุต้องไปไล่ดูแล้วว่าตัว Camunda BPMN มันเก็บข้อมูลอะไรบ้าง เพื่อเอาไปใช้กับ Thesis ครับ โดยการเข้าถึงตัว H2 Local Database ของ Camunda มีวิธีการ ดังนี้ครับ เมื่อ Start ตัว Camunda เรียบร้อยแล้วให้เข้าไปที่ url http://localhost:8080/h2/h2 Login เข้า Database โดยใช้ข้อมูล ดังนี้ JDBC URL: jdbc:h2:./camunda-h2-dbs/process-engine Username: sa Password: sa ทดสอบ SELECT ข้อมูลออกมาดูได้เลยครับ Thesis ท้อแต่ต้องสู้ครับ

[CR] Xiaomi Purely Anti-Pollution Mask V.2

อันนี้เป็น Review หลังจากที่ใช้งานมาแล้วเกือบเดือนครับ จากช่วงต้นปีนี้ที่กระแส PM2.5 มาแรงแซงโค้งเลยครับ และแถมช่วงนี้ผมทำงานดึกด้วย แต่ก็ช่างมันเถอะครับ ก่อนที่ผมจะร่างกายแย่ไปกว่านี้ผมได้ทดสอบซื้อเจ้า Xiaomi Purely Anti-Pollution Mask V.2 ผ่านทาง Lazada ครับ สงวนราคาประมาณ 540 บาทครับ ใช้ Code ลด โปรลดทุดอย่างครับ หลังจากรอไป 2 วันเมื่อได้ของมาแล้วมาดูบรรจุภัณฑ์กันครับ เป็นกล่องที่ Import มาจากเมืองจีนจริงๆครับ เมื่อแกะออกมาพบของในกล่อง ดังนี้ครับ เวลาใช้งานก็ไม่ยากครับ เสียบชาร์จไว้ประมาณ 1-2 ชั่วโมงก็พร้อมใช้งานแล้วครับ ก่อนใช้งานตรวจสอบแผ่นกรองด้วยนะครับ พัดลม > แผ่นกรองสีเขียว > แผ่นกรองสีฟ้า ครับ สำหรับอายุการใช้งานประมาณ 10 ชั่วโมงครับ หลัง 10 ชั่วโมงลองดูแผ่นกรองได้เลยครับ ซ้าย-ก่อนใช้งาน / ขวา-หลังใช้งานมาแล้ว 10 ชั่วโมง ความเห็นส่วนตัวหลังจากใช้งานมา 2-3 สัปดาห์ครับ

[VM] Virtual Box ทำให้ตัว VM ตั้งเวลาไม่ให้เหมือนเครื่อง Host ได้

เนื่องจากพยายามย้ายงานที่เอาไปฝากบน PC หลายๆ เครื่อง ซึ่งมันลำบากพอตัวเลย ผมเลยย้ายมาที่ VM ครับ ซึ่งมันก็มีปัญหาอีกครับ เพราะ ตัว VM มันเชื่อเวลาจากเครื่อง Host ครับ ถ้าต้องมีเคสที่ต้องการจะปรับแก้เวลาของเครื่อง Guest หรือ VM ของเรา ปัญหา ตัว OS ของ Guest มันยอมให้ปรับครับ แต่พอผ่านไปสัก 3 นาที มันเด้งกลับไปเป็นเวลาเดิมครับ สาเหตุ เกิดจากตัว VM มันเชื่อเวลาจากเครื่อง Host ทางแก้ไข แน่นนอนว่ามีครับ นักพัฒนาทั่วโลกเจอกันครับ โดยทำตามขั้นตอน ดังนี้ครับ NOTE: ถ้าต้องการจะปิดปรับเป็น 0 แทนครับ Reference

[WIN] ติดตั้ง Windows Service ด้วย Command Line กันครับ

สำหรับหลายๆคนที่มีไฟล์ exe แล้วอยากจะผูกการทำงานให้อยู่กับ Service ของ Window ครับ ให้มันทำงานตั้งแต่เปิดเครื่อง หรือทำโดย User ที่สนใจ ตัว Windows เองมี Tools ที่ช่วยสำหรับงานนี้ครับ SC.exe การสร้าง Service รูปแบบคำสั่ง SC.exe CREATE [ServiceName – ไม่มี Space] binpath= “Full Path ของ exe ถ้ามี Space ให่ใส่เครื่องหมายคำพูดครอบด้วย” DisplayName= “ชื่อ Service สำหรับแสดงผล” start= {boot | system | auto | demand | disabled | delayed-auto} ตัวอย่าง การกำหนดคำอธิบายของ Service รูปแบบคำสั่ง ตัวอย่าง การหยุดการทำงานของ Service รูปแบบคำสั่ง ตัวอย่าง การลบ Service รูปแบบคำสั่ง ตัวอย่าง การเริ่มการทำงานของ Service รูปแบบคำสั่ง ตัวอย่าง การตรวจสอบสถานะของ Service รูปแบบคำสั่ง ตัวอย่าง SC.exe VS InstallUtil.exe ความแตกต่างระหว่าง SC.exe กับ InstallUtil.exe นั้น คือ ตัว InstallUtil.exe 1 executable สามารถลงแบบ Service ได้แค่ตัวเดียว เวอร์ชันเดียว (ดูจาก GUI) ที่เครื่องเท่านั้น ทำให้มีข้อจำกัดลง Service แบบหลาย Version ที่เครื่องเดียวกัน Reference

[CUSE] เขียน Paper

การเขียน Paper มันเป็นการสรุปแนวคิด นำเสนอแนวคิดที่กำลังจะทำ เพื่อให้เกิดการระดมสมองให้นักวิจัยทั่วโลกที่สนใจมาทำต่อ สรุปผล หรือ สรุปองค์ความรู้ที่ได้ครับ ซึ่งสำหรับนักวิจัยตัวน้อยอย่างผมเนี่ย มาสรุปประเด็นที่ควรระวังของการเขียน Paper ดีกว่าครับ หากมีเรื่องอื่นๆ เดี๋ยวผมมาเพิ่มเติมครับ สำหรับ Paper ของผมกว่าจะผ่านได้ มีการปรับแก้จากอาจารย์ที่ปรึกษาไปเยอะเลยครับ เนื่องจาก Skill ภาษาด้านการเขียนนั้นแย่พอสมควรครับ และมีการปรับตามข้อกำหนดของ Conference อีกครับ สำหรับงานของผมเป็นการทดสอบวีคมิวเทชัน (Weak Mutation) กับแบบจำลองบีพีเอ็นเอ็นครับ ว่าจัดได้อย่างไร และแนวทางการทำเครื่องมือเพื่อช่วยนักทดสอบครับ ใน Paper “A Weak Mutation Testing Framework for BPMN” ครับ นำเสนอช่วง 13-15 มีนาคม 2562 ที่งาน International MultiConference of Engineers and Computer Scientists 2019 (IMECS 2019)

[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