[ML] Setup Python สำหรับ Machine Learning ใน Anaconda

บทความนี้ ทดสอบบน Windows นะครับ โดยตอนนี้เป็นการ Setup Python ใช้พร้อมกับการทำ Machine Learning ใน Anaconda ครับ สิ่งที่ต้องเตรียม Download Anaconda (อันนี้ผมใช้ Python 3.x) ครับ ติดตั้ง Anaconda ใช้เรียบร้อย ทดสอบเปิด Anaconda  Navigator ดังรูป ทดสอบ Conda ตัว Conda คือ Anaconda command line เปิดตัว Anaconda Prompt โดยเรียกจาก Start Menu ดังรูป อย่าลืม Run As Administrator ลองมาดู Conda ว่า version อะไร โดยใช้คำสั่ง conda -V ลองมาดู Python ที่ติดกับ Anaconda เป็น Version อะไร โดยใช้คำสั่ง python -V/pre> ผลที่ได้จาก 2 คำสั่งข้างต้น ดังรูป Update Conda และ Anaconda Update Conda โดยใช้คำสั่ง ดังนี้ conda update conda ผลลัพธ์ที่ได้ ดังรูป Update Anaconda โดยใช้คำสั่ง ดังนี้ conda update anaconda ผลลัพธ์ที่ได้ ดังรูป Tip: ถ้าหากลิมเปิด Anaconda Prompt โดยลืม Run As Administrator มันจะด่าเรา ดังรูป Update Machine Learning Library scikit-learn scikit-learn – เป็น Library…

[C#] ตั้งชื่อเล่นของ Class (Alias) ให้เรียกใช้งานได้ง่าย

Reference: https://pixabay.com/en/colored-pencils-colour-pencils-star-374771/

เวลาเราพัฒนาระบบที่มันซับซ้อนๆมากๆ ปัญหาที่ปวดหัวที่สุดเลย คือ การตั้งชื่อ บางทีชื่อตัวแปรยาวๆ ถ้าย่อไป อาจจะงงได้ Dev เลยใช้ชื่อเต็มไป พอลองเอาตัวแปรเหล่านี้มาใช้ มันดูเกะกะรกตามากครับ กว่าจะรู้ว่า ตั้งชื่อเล่นของ Class (Alias) ให้เรียกใช้งานได้ง่ายกันดีกว่า โดย C# มันมีวิธีในการการตั้งชื่อเล่น(Alias) กันนะ มาดู Code เดิมกันดีกว่า ถ้าสังเกตุใน Code พบว่า RebalanceProcessExtensions.Col_OriginalNAV ชื่อ Class RebalanceProcessExtensions มันยาวมากๆ ครับ ถ้าทำไปนานๆ Code ตรึมครับ ดูยาก ที่นี้มาลองใช้ตัวช่วยกันดีกว่า ลองใช้ Class Alias โดยการย่อชื่อ Class ไว้ช่วง using ครับ โดย Code ที่ได้จะเป็นประมาณนี้ จาก Code ใหม่ ย่อจาก RebalanceProcessExtensions ไปเป็น RBExt แล้ว Code ที่เขียนออกมา สั้นลง และดูสบายตาขึ้น ครับ

[BPMN] ลองเอา Process ที่ทำมา Deploy ขึ้นกัน

จาก Blog ก่อนหน้านี้ที่ได้ลองสร้าง Process ไปแล้ว คราวนี้ลองเอา Process ที่ทำ มาผูกให้เป็น Application โดยใช้ Activiti-App ตัว Kick Start ครับ เนื่องจาก Form ที่ทำโดยใช้ Activiti Designer ยังไม่สมบูรณ์ครับ เลยต้องเอามาปรับปรุงใน Kick Start  โดยการเพิ่ม Form ลงไป เพราะใน Process ที่ทำไว้ก่อนหน้านั้น เราได้กำหนดแค่ภาพรวม Workflow ไว้แล้ว จริงๆมาสร้าง Workflow ในตัว Kickstart ได้เลยนะ ไม่ต้องผ่านตัว Eclipse Designer ก็ได้ครับ เพิ่ม User และ Group ที่เกี่ยวข้อง ถ้าดูจาก Process ได้สร้างขึ้นมา มีกลุ่มคนที่เกี่ยวข้องอยู่ 3 กลุ่ม ได้แก่ Accountant, Employee และ Manager ตามรูปเลย สิ่งที่ต้องทำ คือ ทำให้ User และ Group เหล่านี้ มีตัวตนจริงๆ บน BPMN Engine โดยการเพิ่มเข้าไปในส่วนของ Identity management จากตัว Activiti-App เข้าทาง localhost:8080/activiti-app (ถ้ามีการเปลี่ยน Port หรือ URL ปรับแก้ให้ตรงกับที่ติดตั้งด้วย) เพิ่ม User อันนี้ยัดได้ตามใจเลย เพิ่ม Group ได้แก่ Accountant, Employee และ Manager ถ้าทำตามนี้มี User ในแต่ละ Group ประมาณนี้ มาปรับ Process ให้ตามขั้นตอน…

[CR] McDonald – Big Breakfast

พอดีช่วงนี้ต้องพึ่งพา Mcdonald ประจำครับ โดยวันนี้ผมเกิดอยากลองอะไรแปลกๆ เลยลองสั่งชุด Big Breakfast มาทานครับ โดยราคาอยู่ที่ 162 บาทครับ อ๋อถ้าเกิดอยากเปลี่ยนจากกาแฟไปเป็นน้ำอัดลมเพิ่มอีก 6 บาทครับ โดยชุดที่ผมสั่งมาได้เปลี่ยนกาแฟไปเป็นสไปร์ทแทนครับ โดยพอได้รับของมา ชุด Big Breakfast ออกมาประมาณนี้ โดยในชุดประกอบไปด้วย ไข่ข้น ขนมปังเบอร์เกอร์ 2 ชิ้น – เนื้ิอเหนียวไปนิด หมูสำหรับเบอร์เกอร์ 1 ชิ้น – อร่อยอยู่ ปลาทอด 1 ชิ้น – อร่อย แยมสตอเบอรรี่ – เอามาทาขนมปัง OK เลย น้ำอัดลมสไปร์ท น้ำตาล/ครีมเทียม แถมมาครับ ไม่ได้สังกาแฟเลย ภาพอื่นๆ ถ้าถามความอิ่ม บอกเลยว่าไม่อิ่มครับ ที่อร่อยน่าจะเป็นไข่ข้น กับปลาทอด สำหรับผมถ้าราคานี้ลองเปลี่ยนเป็นชุดไก่ทอด 129 บาท น่าจะดีกว่าครับ หรือจะเอาชุด Combo 49 บาทที่ขายตอนเช้าดีกว่า

[RUN] Intania Chula Mini Marathon 2018

วันนี้เหนื่อยมากครับ ผมได้กลับมาลองวิ่งในงานวิ่งจริงๆจังๆแล้ว หลังจากทิ้งห่างไปนานมากกกกกกก ในงานครั้งก่อนครับ “กลิ้งมินิมาราธอนครั้งแรก Globe-Athon 2016 ที่ The Sense Pinklao” ห่างไป 2 ปีคราวนี้กลัยมาวิ่งอีกครั้งในงาน Intania Chula Mini Marathon 2018 ( #ICMM2018 ) แต่คราวนี้ขอแบบ Fun Run 5KM ครับ 2018-01-13: รับเสื้อ มันรับเสื้อ โดยมีของแถม ดังนี้ BIB วิ่ง, เสื้อวิ่ง, ยาทา และของกินต่างๆครับ 2018-01-14: วันวิ่งครับ 06:15 – เริ่มออกวิ่ง 07.05 – เข้าเส้นชัย ของกินครับ – มีเยอะมากครับ โดยผมกินแค่ 2 ร้านพอครับ (แต่ของติงเรื่องการจัดการคิว) เหรียญที่ได้ครับ – สำหรับงานวิ่งครั้งนี้ ไม่เหนื่อยนะ ออกพลังกำลังดี ^__^ วิ่งๆ มาดูกันว่าปลายปีนี้จะผอมลง หรือป่าวครับ ปีหน้าข้าพเจ้าสัญญาว่า ลงสมัครงานวิ่งนี้แบบ 10 KM ครับ

[BPMN] Activiti สร้าง Unit Test

หลงจาก Blog ตอนที่แล้ว ที่ได้สร้าง Process ของการขอเบิกเงินไปแล้ว ตอนนี้เราต้องมา Proof ก่อนว่า Process ที่ทำนั้น มันใช้งานได้จริงๆ พร้อมที่นำไป Deploy ขึ้น Activiti Server ครับ โดยมีขั้นตอน ดังนี้ Step 1 : กำหนดโครงสร้างไฟล์ที่เกี่ยวข้องกันก่อน <Project Name> |-src |-main | |-java [1] | |-resources [2] | |-diagrams | |-Test.bpmn |-test |-java [3] | |-ProcessTestApproveBugetProcess.java |-resources [4] |-Test.bpmn |-activiti.cfg.xml Step 2 : สร้างไฟล์ Config ที่เกี่ยวข้อง สร้างไฟล์แปลง Activiti Project ให้เป็น Maven Project ซึ่งมีไฟล์ pom.xml เพื่อเก็บ Dependency ต่างๆไว้ โดยสำหรับการ Test BPMN ต้องใช้ Dependency ที่จำเป็น ดังนี้ activiti-engine : สำหรับ Execute BPMN JUnit : สำหรับทำ Unit Test MySQL Connector/J : ใช้เชื่อมต่อ Database ของ activiti-engine spring framework [Optional] : ในกรณีที่ต้องการใช้ Activiti กับ Spring และสุดท้าย หน้าตาของไฟล์ pom.xml มี…

[BPMN] ลองสร้าง Process โดยใช้ Activiti Designer

หลังจากที่ได้ลงทุกอย่างพร้อมหมดแล้ว ทั้ง Activiti Framework, Eclipse Activiti Designer แล้ว คราวนี้มาลองใช้ Activiti Designer ลองสร้าง Process แบบง่ายๆขึ้นมาครับ จากนั้นน่าจะเป็น Blog ตอนถัดไปสำหรับการทำ Unit Test ของ Process ครับ เอาหละมาเริ่มกันเลยครับ Step 1 : เตรียมตัว คิดตั้ง Eclipse Activiti Designer หรือใช้ Kick Start บน Activiti App ก็ได้ แต่ใน Blog นี้ของใช้ตัว Eclipse Activiti Designer ติดตั้ง Activiti Framework รวมถึงย้ายไปใช้ MySQL หรือ Database เจ้าอื่นๆแล้ว Step 2 : Process ที่สร้าง BPMN โดยเริ่มจากพนักงานทำเรื่องเสนอของเบิกงบประมาณ ถ้างบที่เบิกน้อยกว่า หรือเท่ากับ 1,000 บาท – สามารถติดต่อนักบัญชีได้เลย ถ้างบที่เบิกมากกว่า 1,000 บาท – ต้องให้ผู้จัดการตรวจสอบ และอนุมัติก่อนครับ ถ้าผู้จัดการอนุมัติ  – ส่งเรื่องต่อให้นักบัญชีได้เลย ถ้าไม่ผู้จัดการอนุมัติ – ส่งเรื่องกลับไปให้พนักงาน Step 3 : สร้าง Activiti Project กัน สร้าง Project โดยใช้ Activiti Designer หลังจากเปิดโปรแกรมขึ้นมาให้สร้าง Activiti Project โดยเปิดเมนู File >> New >> Project ตั้งชื่อ Project แล้วกด Finish…

[BPMN] เปลี่ยน Activiti Framework มาใช้ MySQL

จาก Blog ตอนก่อนหน้าที่ได้ติดตั้งตัว Activiti Framework แต่ยังใช้ตัว H2 ซึ่งเป็น In-Memory Database คราวนี้ ลองมาเปลี่ยนใช้ DBMS เจ้าอื่นๆบ้าง โดยใช้ตัว MySQL ครับ เพิ่มให้ Web Application แต่ละตัวทำงานเชื่อมโยงกันได้ครับ หากย้อนกลับไปดูไฟล์ของ Activiti Framework ที่ Download มาพบว่าข้างในมี Folder database ดังรูปนะครับ ลองเข้าลึกไปอีกที อ่ามีให้ครบครัน ทั้ง Create / Drop / Upgrade ครับ ต้องนี้คงต้องภาวนาขอให้ Script ที่ให้มามันครบนะครับ เพราะ ส่วนใหญ่ Open-Source มันจะตามอะไรกันยากนิดนึง ที่เขียน Blog ไว้ เพิ่มทวนความจำเหมือนกัน ไม่งั้นเดี๋ยวตอนกลับมาดูอีกทีจะลีมได้ครับ หลังจากเห็นสิ่งที่ Activiti Framework เตรียมมาให้แล้ว คราวนี้ลองมาทำกันบ้าง ดีกว่า โดยมีขั้นตอน ดังนี้ Step 1 : เตรียมตัว ลง Activiti Framework แล้ว ติดตั้ง DBMS ในทีมนี้ ผมขอใช้ MySQL แล้วกันครับ แต่ถ้าว่างขอเสี่ยงลองตัว MariaDB ด้วย เตรียมไฟล์ mysql-connector-java เอาไว้สำหรับเชือมต่อ MySQL หรือ MariaDB โดยในที่นี้ของใช้ไฟล์ mysql-connector-java-5.1.45.jar Step 2 : ลงมือกันครับ สำหรับวิธีการสำหรับสร้าง Database ขึ้นมานั้นมีหลายแบบครับ เดียว สร้าง Database สำหรับ Activiti-App และ Activiti-Rest ในที่นี้กำหนดชื่อ Database เป็น activiti  ดังรูป…

[BPMN] ลง Eclipse Activiti Designer

Blog ช่วงนี้เป็นการสรุปลง Program ล้วนๆ เผื่อต้องมาทำเล่ม Project ตอนหลังจะได้ไม่ต้องระลึกชาติครับ สำหรับ Blog ตอนนี้เป็นการลงตัว BPMN 2.0 Designer บน Editor ยอดนิยมอย่าง Eclipse ครับ โดยการลงมีขั้นตอน ดังนี้ Step 1 : เตรียมตัว Download Eclipse มาก่อนครับ ของผมใช้ Eclipse codename “Oxygen” ครับ สำหรับการ Download สิ่งที่แนะนำอย่าใช้ตัว “Eclipse installer by oomph” มันชอบไปทำ Cache ใน AppData ของ Windows สูญเสียเนื้อที่ไปครับ ถ้า SSD น้อยๆนี่ อาจจะตกใจได้แอบไปเก็บอะไรไม่รู้ เอาแบบ .zip มาแตกไฟล์ สบายใจกว่าครับ URL ที่สำหรับ Download ควรเป็นอันนี้นะครับ อินเตอร์เนตสำหรับ Download Package Step 2 : ติดตั้ง เปิด Eclipse เลือก Workspace ให้เรียบร้อยครับ จากนั้นไปที่เมนู Help >> Install New Software กดปุ่ม Add จากนั้นทำการตั้งค่า ดังรูป Name: Activiti BPMN 2.0 designer Location: พอกด OK เสร็จ มัน List มาว่า เรากำลังลง Tools สำหรัีบสร้าง BPMN ของ Activiti ครับ…

[BPMN] ติดตั้ง Activiti Framework

หลังจาก Setup Apache Tomcat ไปแล้ว และรู้ Overview ของ Activiti ฺBPMN Framework คราวที่มาลงกันลองคิดตั้งกันคิดว่าครับ โดยมีขั้นตอน ดังนี้ Step 1 : เตรียมตัว Setup Tomcat ให้พร้อมครับ ถ้าใครสงสัยสามารถไปอ่านได้จาก Blog ตอนนี้ ครับ Download Activiti Framework มารอเลยครับ Step 2 : แตกไฟล์ Activity Framework หลังจาก Download มาเสร็จ ได้เป็นไฟล์ .zip มาครับ ให้แตก Zip ออกมา โดยมีข้อมูลด้านใน ดังรูป Step 3 : Deploy .War เข้าไปที่โพลเดอร์ที่แตก Zip ออกมา จากนั้นเข้าไปทีโพลเดอร์ wars (ยกตัวอย่าง เช่น D:\activiti-6.0.0\wars ) โดยเราพบไฟล์ war 3 ไฟล์ ดังรูป นำไฟล์ .war ทั้ง 3 ไปไว้ที่ CATALINA_HOME (Path ที่ติดตั้ง Tomcat อาทิ เช่น D:\tomcat_8.5.24 ) และเข้าไปที่โฟลเดอร์ webapps จากนั้น Start Tomcat โดยผ่านไฟล์ startup.bat (Windows) หรือ startup.sh (Unix & Linux) รอ Tomcat มัน Deploy ไฟล์ .war ทั้ง 3 ตัวครับ โดยสังเกตุได้จาก Log…