[CR] Review Feature ของแอร์ Hitachi Frost Wash

สำหรับ Feature Frost Wast ของแอร์ Hitachi เค้าบอกกันว่าแอร์มันสามารถล้างตัวเองได้นะ แต่ที่อ่าน Review มาหลายๆที่ไม่เคยบอกเลยว่า Feature Frost Wast เป็นอย่างไรครับ เอาหละหลังจากผมกดปุ่ม F-Wash (Frost Wast) มันเกิดอะไรขึ้นมา แอร์สร้างน้ำแข็ง ช่วงนี้ใช้เวลาประมาณ 30-40 นาที และตัวแอร์จะมาเสียงดังแก๊ะเกะ พอสมควร ใครที่ไม่รู้อาจจะตกใจได้ครับข้อนี้ผมติคนขายเลย ไม่บอกตั้งแต่แรก แอร์ละลายน้ำแข็ง และมีลมเป่าออกมาเป็นระยะ อากาศที่ออกจากแอร์ช่วงนี้จะอับๆ ชื้นๆนิดนึงครับ ใช้เวลารวมทั้งหมด 1.20 – 1.40 ชั่วโมงครับ สำหรับการกดปุ่ม F-Wash (Frost Wast) ซึ่งเมื่อทำงานเสร็จตัวแอร์ปิดตัวเองลงครับ และเมื่อเปิดใหม่แอร์เย็นขึ้นมากๆครับ

[BPMN] Deploy Process ผ่าน REST-API

จริงๆ ใน Blog ตอนก่อน ช่วงที่ผมได้เล่นกับตัว Camunda BPMN ช่วงแรกจะพบว่าการ Deploy Process นั้นยุ่งยากครับ ต้องทำเป็นไฟล์ .war แล้วนำไปวางที่ Tomcat ครับ แต่จริงๆ มันมีวิธีการที่ง่ายกว่านั้น คือ การใช้ REST-API ครับ โดยมีข้อกำหนดของ Web Service ดังนี้ครับ REST-API : Deployment สำหรับตอนนี้ เราจะมาลองกันครับ โดยใช้ Tools ที่มีชื่อว่า POST-MAN สำหรับการทดสอบครับ โดยใน Blog ตอนนี้ ผมทดสอบ Create และ Delete BPMN ที่เราได้เพิ่ง Deploy ไปครับ ก่อนจะ Create สิ่งที่ต้องเตรียม BPMN Engine – Camunda ครับ ที่ผมเลือก ถ้าใช้ JBPM หรือ Activiti ก็สามารถทำได้ครับ POST-MAN ไฟล์ BPMN ครับ โดยมีการกำหนด Process ตามแผนภาพครับ CREATE ผ่าน REST-API Method = ‘POST’ URL : [base-url] /deployment/create ตัวอย่าง http://localhost:8080/engine-rest/deployment/create โดยมีการกำหนด Parameter ดังนี้ครับ ผลลัพธ์ที่ได้ครับ id คือ deploymemt id (988aa432-824f-11e8-8365-005056c00001) ซึ่งบ่งบอกว่าการ deploy process ของเรา ซึ่งเอาไว้ใช้อ้างอิงใน Operation ต่างๆที่เกี่ยวกับ BPMN ครับ ส่วนที่ผมตีกล่องไว้จะเป็นข้อมูลของ BPMN Process ครับ มาดูในส่วนของ…

[CUSE] ขอทุนอุดหนุนการวิจัย

หลังจากนั่งทำ Paper กับ อาจารย์ที่ปรึกษาช่วงปีใหม่ ตอนนี้ผมก็ออกมาแล้วครับ ว่า Paper ที่ส่งไปติดแล้วครับ Conference Accept Paper เรียบร้อยแล้ว ขั้นตอนถัดมา คือ การขอทุน เพื่อให้ไม่พลาดแบบ Propasal โดนวางยาแบบมืนๆ คราวนี้ ผมขอตัวอย่างมาทั้งหมด 5 Sample ครับ สำหรับเอกสารขอทุนต้องมีเอกสารที่ต้องส่งก่อนไปนำเสนอผลงาน ได้แก่ เอกสารขอทุน สามารถ Download ได้จาก บัณฑิตวิทยาลัย-ทุนอุดหนุนการวิจัย โดยเอกสารในส่วนของ “ทุนสนับสนุนนิสิตระดับปริญญาดุษฎีบัณฑิต มหาบัณฑิตไปเสนอผลงานวิชาการในต่างประเทศ” โดยให้กรอกหน้าที่ 1-7 ให้เรียบร้อยก่อน ที่เหลือส่งหลังจากไปนำเสนอผลงานครับ (หากใครได้ทุนของที่อื่นก็เลือกตามแบบฟอร์มของทุนนั้นๆ ครับ) 12.1 หนังสือตอบรับจากองค์กรที่จัดประชุมให้นำผลงานไปเสนอในที่ประชุมในรูปแบบด้วยวาจา (Oral Presentation) หรือในรูปแบบโปสเตอร์ (Poster Presentation) หรือกรณีที่ยังไม่ได้รับการตอบรับ จากองค์กรที่จัดประชุมในวันที่ส่งแบบขอรับทุน ให้นิสิตส่งเอกสารตอบรับในวันที่ส่งหลักฐานการเบิกจ่ายเงินทุน และหากไม่มีหลักฐานการตอบรับมาแสดงในวันที่ส่งหลักฐานการเบิกจ่ายเงินทุน บัณฑิตวิทยาลัยจะไม่อนุมัติการเบิกจ่ายเงินทุนให้นิสิตดังกล่าว – อันนี้ให้เอาเมล์ตอบรับจาก Conference แนบไปครับ 12.3 บทคัดย่อ (abstract) 12.4 ผลงานฉบับสมบูรณ์ (Manuscript ที่ส่งตีพิมพ์ หรือ Full paper ที่ได้รับหรือตอบรับการตีพิมพ์) ที่เสนอขอรับทุน 12.5 หลักฐานที่แสดงว่า รายงานสืบเนื่องจากการประชุม หรือวารสารอยู่ในฐานข้อมูล ISI หรือ SCOPUS – ลองค้นหาว่ามีงานของ Conference ปีก่อนๆติดอยู่ใน ISI หรือ SCOPUS ถ้าพวก Conference ที่เพิ่งจัดครั้งแรก อันนี้น่าจะลำบากครับ 12.6 ประมาณการค่าใช้จ่ายตามเกณฑ์ ข้อ 6 (ในประกาศหลักเกณฑ์การสนับสนุนทุนฯ) ซึ่งรวมจำนวนเงินที่ขอแล้วต้องไม่เกินวงเงินที่จัดสรร 12.7 ใบอนุมัติโครงร่างวิทยานิพนธ์จากกรรมการบริหารคณะ/หน่วยงานเทียบเท่า ถ้าบัณฑิตของคณะวิศวกรรมจุฬาลงกรณ์มหาวิทยาลัย ไปขอที่ฝ่ายวิชาการ ตรงตึก 3 ชั้น แถวลานเกียร์ ต้องเตรียมบัตรนิสิตด้วยให้นะ…

[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 มาจากเมืองจีนจริงๆครับ เมื่อแกะออกมาพบของในกล่อง ดังนี้ครับ ตัวหน้ากาก พร้อมพัดลมครับ สายชาร์จ USB ที่ถอดหน้ากากพัดลมสีฟ้า เอาไว้ถอดหน้ากาก เพื่อเปลี่ยนตัวกรองครับ แผ่นกรองครับ แยกเป็น 2 สีครับ สีฟ้า 6 อัน เอาไว้กรองฝุ่น PM 2.5 ครับ (ใส่ไว้ในพัดลมแล้ว 1 อันครับ สีเขียว 5 อัน อันนี้ผมเข้าใจว่าเอาไปกรองกลิ่นนะครับ เวลาใช้งานก็ไม่ยากครับ เสียบชาร์จไว้ประมาณ 1-2 ชั่วโมงก็พร้อมใช้งานแล้วครับ ก่อนใช้งานตรวจสอบแผ่นกรองด้วยนะครับ พัดลม > แผ่นกรองสีเขียว > แผ่นกรองสีฟ้า ครับ สำหรับอายุการใช้งานประมาณ 10 ชั่วโมงครับ หลัง 10 ชั่วโมงลองดูแผ่นกรองได้เลยครับ ซ้าย-ก่อนใช้งาน / ขวา-หลังใช้งานมาแล้ว 10 ชั่วโมง ความเห็นส่วนตัวหลังจากใช้งานมา 2-3 สัปดาห์ครับ ร้อนครับ ต้องเปิดพัดลมแรงๆเบอร์ 3 น่าจะช่วยได้ครับ ได้ข่าวว่า V.3 ที่ออกมาที่ช่วงแก้ปัญหาตรงนี้ได้ครับ ไม่เหมาะสำหรับออกกำลังกายครับ

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

เนื่องจากพยายามย้ายงานที่เอาไปฝากบน PC หลายๆ เครื่อง ซึ่งมันลำบากพอตัวเลย ผมเลยย้ายมาที่ VM ครับ ซึ่งมันก็มีปัญหาอีกครับ เพราะ ตัว VM มันเชื่อเวลาจากเครื่อง Host ครับ ถ้าต้องมีเคสที่ต้องการจะปรับแก้เวลาของเครื่อง Guest หรือ VM ของเรา ตัว OS ของ Guest มันยอมให้ปรับครับ แต่พอผ่านไปสัก 3 นาที มันเด้งกลับไปเป็นเวลาเดิมครับ ปัญหา เกิดจากตัว VM มันเชื่อเวลาจากเครื่อง Host ทางแก้ไข – แน่นนอนว่ามีครับ นักพัฒนาทั่วโลกเจอกันครับ โดยทำตามขั้นตอน ดังนี้ครับ ตรวจสอบก่อนเลยครับ ว่า Vurtual Box มีตัว VBoxManage หรือยังครับ โดยเจ้าตัว VBoxManage เป็นเครื่องมือที่ช่วยจัดการ VM ของผ่านด้วย Commandline ซึ่งแน่นอนครับ ตัว Command line มี Feature เยอะกว่าแบบ GUI ครับ สำหรับ Windows ตัว VBoxManage น่าจะมีมาอยู่แล้ว สำหรับ Linux ตัว อาจจะต้องติดตั้ง Package เพิ่มเติมครับ หลังจากมี VBoxManage ก่อนอื่นเลยเราต้องปิด VM ก่อน จากนั้น Run คำสั่งที่ Commmand Line (Windows) หรือ Terminal (Linux) โดยมีรูปแบบคำสั่ง ดังนี้ VBoxManage setextradata “VM name” “VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled” 1 ตัวอย่าง เช่น VBoxManage setextradata “WIN10TMMSSQL2017″…

[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 อันนี้สำคัญมากครับ แม้ว่าจะอ้างอิงมาแล้ว แต่ต้องมีใบอนุญาติด้วยนะครับ (Permission of use) โครงสร้างของ paper จากที่เรียนมาใน Research Method จะพบว่า Paper ที่ดีควรมี 9-10 ขึ้นไป เนื่องจากมีข้อมูลที่ครบถ้วนชัดเจน แต่จริงๆแล้วการเผยแพร่ความรู่ต้องมีค่าใช้จ่ายครับ ถ้า Paper จำนวนหน้าเยอะ ค่าใช้จ่ายเยอะตามครับ ปกติเลยจะเจอแบบ Default 5 หน้า ส่วนน้าที่เกินคิดหน้าจะ 50-70 USD (แอบแพงเมื่อคิดเป็นเงินไทย) Abstract ควรสรุปรวบรัดว่า ทำไมถึงทำ งานที่เกี่ยวข้องมีข้อจำกัดอะไร และงานที่เรานำเสนอมีอะไรบ้าง และได้อะไร หากมีเรื่องอื่นๆ เดี๋ยวผมมาเพิ่มเติมครับ สำหรับ Paper ของผมกว่าจะผ่านได้ มีการปรับแก้จากอาจารย์ที่ปรึกษาไปเยอะเลยครับ เนื่องจาก Skill ภาษาด้านการเขียนนั้นแย่พอสมควรครับ และมีการปรับตามข้อกำหนดของ Conference อีกครับ สำหรับงานของผมเป็นการทดสอบวีคมิวเทชัน (Weak Mutation) กับแบบจำลองบีพีเอ็นเอ็นครับ ว่าจัดได้อย่างไร และแนวทางการทำเครื่องมือเพื่อช่วยนักทดสอบครับ ใน Paper “A Weak Mutation Testing Framework for BPMN” ครับ นำเสนอช่วง 13-15 มีนาคม 2562 ที่งาน International MultiConference of Engineers and Computer…

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

ช่วงนี้ก็ยุ่งๆครับ พยายามดัน ตัว Tool และ Paper ของงานวิจัยครับ โดยสำหรับผมทำเกี่ยวกับ BPMN พวกวันทีเวลาทั้งหลายเนี่ย มันจะถูกจัดเก็บในรูปแบบมาตรฐาน ISO8601 ครับ หลายคนอาจจะคิดว่ามันไกลตัว แต่จริงๆมันแทรกซึมได้ไปในวิถี Developer แล้วครัับ เพราะ ISO8601 ถูกบรรจุในมาตรฐานของ JSON ครับ ลองดูว่าคุ้นๆกันไหมเอ่ยยย DateTime เห็นกันบ่อยครับ แต่ที่แปลก และน่าจะถูกลืมน่าจะเป็นพวก Time intervals – ช่วงเวลาครับ เช่น PT30M (ช่วงละ 30 นาที) Repeating Interval – รอบ + ช่วงเวลาครับ R2/PT30M (ทำ 2 รอบ แต่ละรอบทิ้งช่วงห่างกัน 30 นาทีครับ) ที่ถูกลืม เพราะ มันมีสิ่งที่น่าจะมาก่อนแล้วอย่าง CRON Format ครับ หรือชาวเพนกินเรียกว่่า CRON JOB ครับ เกริ่นนำมายาวพอสมควรเลยครับ คราวนี้มาลองดูว่าปัญหาที่ผมเจอ คือ อะไร ถ้าเป็น DateTime ทั่วไป Java Date สามารถแปลงได้ครับ Time intervals ต้องใช้ Java 8 Duration กับ LocalDateTime มาช่วยครับ แต่ Repeating Interval หมดสิทธิ์ครับ ตัวมา SubString แปลงเองครับ มาที่ตัว Repeating Interval มันมี Combination แบบไหนได้บ้าง เท่าที่ผมเข้าใจนะ {R[N]} / {DateTime} / {Interval} เช่น R2/2012-01-01T00:00:00Z/P1Y2DT0H3M {R[N]}/{Interval}…

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

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