[CodeMania101] Intro to Airflow: Good bye Cron

สำหรับ Session นี้เป็น ส่วนหนึ่งที่ทำให้ผมอยากมางาน CodeMania 101 ครับ เนื่องจากตัวเองมีงานทำให้ Python ทำผ่าน Cron เหมือนกันครับ มาเข้าเรื่องเลยดีกว่า สำหรับการ Interface ในยุคก่อน จนมาถึงยุคของ Data ที่มันเยอะมากจน เราต้องทำ Extract Transform Load เพื่อสกัดปรุงแต่ง ทำข้อมูลให้สะอาดพร้อมใช้ครับ ซึ่งงานในแต่ละ Task เรากำหนดให้มันทำงานต่อเนื่องกันได้ด้วย CRON ซึ่งเจ้า CRON เป็น Timed-based job scheduler ครับ ที่มัน Popular มา เพราะมันมี Pattern ที่ง่าย จน Tools หลายๆตัวเอา Pattern นี้ไปใช้ เช่น Jenkins แต่ตัว CRON เอา แม้ว่าช่วยให้เราสบายขึ้นแล้ว แต่มันยังมีปัญหาอยู่ครับ แล้วเอาอะไรมาแก้ปัญหาหละ ตามหัวข้อเลยใช้ Airflow โดย Airflow เป็น Workflow Scheduler กำหนดงานเป็นลำดับ โครงนี้เกิดจาก Startup Airbnb จากนั้นโอนมาใช้ Apache ดูแลต่อครับ โดยมีจุดเด่น ดังนี้ นอกจาก Airflow แล้วมีอะไรบ้าง lutgt, pinball, azkaban, oozie เป็นต้น สำหรับใครที่ยังงงๆ สามารถดู Slide ของ Speaker น้อง Burasakorn Sabyeying ได้ครับ และมี Facebook Group ด้วยนะครับ Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management from Burasakorn Sabyeying

[CodeMania101] Predictive Modelling based on Small Data

ยุคนี้อะไรก็ Big Data ครับ สำหรับ Session โดย อ เอกสิทธิ์ พัชรวงศ์ศักดา แห่ง Data Cube ซึ่งเน้นไปในส่วนของ Data Mining ผมเข้าใจว่าเป็นส่วนหนึ่งของ Data Science ครับ (ก่อนอ่านต่อไป หากใครเข้า Session นี้กับผม ผมมีการจัดเรียงเนื้อหาใหม่ตามความเข้าใจผมนะครับ อาจจะมีการสลับลำดับ) ทุกอย่างเริ่มต้นที่ Data ซึ่งพอมันมีปริมาณมองพอ เรียกเป็น Big Data โดยดู 3V เดิม + 2V ใหม่ครับ โดยเจ้า 3V เดิม มี ดังนี้ ครับ ส่วนอีก 2V ใหม่ (หลายคนไปอ่านอาจจะที่อื่น อาจจะมี V ที่ไม่ตรงกันครับ เข้าในว่ามีคนกำหนดไว้ จากหลายๆสำนักครับ) หลังจากรู้จาก 5V แล้ว ลองมาดูตัวอย่างกันครับว่าจริงๆแล้ว Big Data มี Application รอบตัวเราแล้วนะ หลังจากเรารู้เรื่อง Big Data แล้ว เรียกว่า Zoom และกันมาสนใจที Data กลุ่มหนึ่ง จากฐานข้อมูล(Database) มาสกัด(Extract) เปลี่ยนรูป(Transform) และ จัดเก็บ(Load) เข้าตัวคลังข้อมูล (Data Warehouse) ข้อมูลในนี้สามารถเอาไปใช้งานต่อได้ อาทิ เช่น สำหรับ Predictive Modeling(ตัวอย่างเป็น Classification) มีขั้นตอนในการทำคร่าวๆ ดังนี้ครับ พอเราทำการ Predictive Modeling บางครัั้งจริงน่าจะส่วนใหญ่เลย พบว่าข้อมูลมันไม่สมดุลกัน (Unbalance Data) หลายคนอาจจะว่ามันไม่สมดุลอย่างไร ลองดูตัวอย่างกันครับ จากตัวอย่างมีแนวคิดการแก้ไข เช่น หลังจากรู้ตัวอย่างแล้ว มาดู Tools…

[CodeMania101] Coding Security

จริงๆ มางาน Code Mania 101 เพราะ Session นี้เลยครับ เนื่องจาก Project ที่ยื่นเข้าประกวดล่าสุดติดปัญหาทาง Technical เยอะพอสมควรเลย และเรื่อง Security เป็นหนึ่งในนั้นครับ สำหรับ Session เป็นกูรูด้าน Security พี่นฤดม รุ่งศิริวงศ์ ครับ Software Security Fundamental Security Software Security (3R) Security Concept Coding Security Practices 1. Input Validation อะไรที่เป็น Input บ้าง ? – ทุก Byte ที่ส่งไป Server ไม่ใช้จากหน้า UI อย่างเดียว รับบ้อมูลที่ตกลงกันได้ที่ลักษณะ formal(เป็นทางการ มีการตกลงกันไว้) และจัดการกับข้อมูลที่ผิดได้ มี 2 แบบ ควรป้องกันในด้านแรก ทำกันให้ได้ในด้านแรกๆเลย แล้วควรทำที่ไหน ถ้ามี Client และ Server Implementation Guideline ทำแล้วได้อะไร -Comply with 2. Output Handling อะไรที่ต้อง Clean บ้าง ? – ทุกอย่างที่ออกจากระบบ โดย Output ที่ออกจากระบบของเรามีคุณภาพ ไม่มีปัญหากับระบบอื่นๆ ที่นำข้อมูลไปใช้งานต่อ เวลาทำเรื่องนี้ควรทำที่ฝั่ง Server เพราะมันน่าเชื่อถือมากกว่าง มี 2 กลยุทธ์ที่ใช้ ทำแล้วได้อะไร -Comply with 3. Parameterized Queries ทำแล้วได้อะไร -Comply with 4. Identity…

[CodeMania101] สรุปงาน Code Mania 101

สำหรับงานนี้น่าจะเป็นงาน Code Mania ครั้งแรก ที่ผมได้นั่งรถเมล์จากต้นสาย น่าจะเกือบสุดสายเลย รถเมล์สาย 149 โดยในงาน Code Mania จัดมาเป็นครั้งที่ 5 แล้วครบ ซึ่งในครั้งนี้จัดที่ ม กรุงเทพ กล้วยน้ำไทครับ (แอบไกล) น่าจะเป็นการมาที่นี่อีกครั้งในรอบ 4 ปี ของผมนะครับ ครั้งล่าสุดมาเป็น TA สอนตัว Pentaho ครับ เข้าเรืองดีกว่าครับ Keynote: Chachiyo’s formula เดอะซีรี่ย์- “Reboot 8088” อาจารย์ ดร.ทีปานิส ชาชิโย สำหรับเรื่องสูตร Chachiyo’s formula แนะนำไปอ่านของเพจ #สรุป ครับ ซึ่งสูตรนี้ที่ผมเข้าใจ มันเป็นอธิบายพฤติกรรมของอิเล็กตรอน โดยตัวอย่างการเอาไปใช้ สามารถเอาไปสร้างสูตรเคมีต่างๆได้ และทุกสูตรก็มีที่มาครับ แล้ว อ เกี่ยวกับ Coding ยังไง ? วันวานยังหวานอยู่ – (อ มีร้องเพลงโชว์ด้วย) ในอดีต สมัยโน้นมีคนเขียนโปรแกรม เป็นในลักษณะสมครเล่น งานอดิเรก อยู่ปัจจุบัน  แต่ทำไมโปรแกรมเมอร์ยังขาด ? ปัญหาอยู่ที่มุมมองซึ่ง อ ได้ให้ไว้ 2 มุม “ค่านิยม ผู้ผลิต VS ผู้บริโภค ในโจทย์เดียวกัน” ถ้าเราจะปรับเปลี่ยนอะไร เราต้องปลูกผังค่านิยมอะไรบ้างอย่างลงไป ซึ่ง อ ได้ยกทฤษฏีลิงตัวที่ร้อย (100th Monkey Effect) เมื่อเราทำอะไรลงไป ทำให้คนอื่นคล้อยตาม ทำตาม เมื่อถึงจุดหนึ่งทุกคนมีการปรับพฤติกรรม ทำตามทั้งหมดครับ จนสุดท้ายทุกคนมีแนวคิดของตัวเอง สร้างสมการของตัวเองขึ้นมาได้ครับ Flash Talk 1. “Let’s secure our app with Docker Secrets” โดยคุณ ภวินท์…

[MITx: 6.00.1x] Introduction to Computer Science and Programming Using Python (Week 2) – Problem Solving

ฺBlog ตอนนี้การเรียนใน Week ที่ 2 แล้วครับ ซึ่งเปิดมาครั้งแรก โอ้ววววววว การบ้านน้อยดี พอเปิดไปบทถัดไปเท่านั้นแหละ “ชีวิตแค่โดนทำร้าย 5555” สำหรับ Week นี้ ในบทแรกเป็นการทบทวนของเก่ามากกว่าครับ ตั้งแต่ if-else ไปจนถึงแนวคิดของ  Guess ^ Check ซึ่งแนวคิดมันมีปัญหาที่ว่ามันช้ามากก หาทุกกรณีที่เป็นไปได้ครับ ตอนนี้มันมีวิธีที่เร็วกว่าไหม แต่ต้องรู้จักกับ Keyword พวกนี้ก่อนครับ Approximate Solutions & Bisection Search ถ้าในตัวอย่างของผู้สอน เค้ายกเรื่องการหาค่า root ครับ ตาม Code เลย จากนั้นมาลงลึกตัว Float และ Faction ครับ โดยมองว่าตัวเครื่องคอม มันรู้จักแทนค่าตัวเลขได้อย่างไร ตอนนี้ใช้แนวคิดของเลขฐาน 2 ครับ แต่ถ้าใช้ตัวแปรประเภท Float ให้ระวังเรื่อง floating-point rounding error Decomposition & Abstraction หลังจากจบบทแรกไป จะบอกว่ารู้พวกพื้นฐาน ถ้าใน Week ที่แล้วมัน คือ หัวใจ (Core Elements) บทถัดมาเรียกว่าอะไร เป็นการแทนปัญหาของรอบตัวเรา โดยการ โดยในบทนี้ การทำ Decomposition  & Abstraction เน้นตัว 📌function ครับ ใน Python ใช้ keyword def ครับ 📌มุมมองการจัดการปัญหา เราสามารถ Decomposition(แยก) งานชิ้นใหญ่ ออกมาเป็น Function ซึ่งเพิ่ม Abstraction แล้ว ตรงนี้เราพบว่า มันมี Code ส่วนนึงที่ทำซ้ำบ่อยๆ ปกติเราวิธีการ Iteration 📌file – อันนี้ผมว่า เค้าแบ่งหัวข้อได้แปลกดี…

[VSTO] Specified argument was out of the range of valid values

ปัญหา: ติดตั้งไฟล์ VSTO ชอง Office แล้วเจอ Error Message ว่า “Specified argument was out of the range of valid values. Parameter name: entryValue” ดังรูป ทางแก้ไข: ให้ไปที่ Path %USERPROFILE%\AppData\Local\Apps\2.0 จากนั้นลบข้อมูลออกให้หมด (อาจจะต้องใช้ Tools พวก Unlocker เพราะบางไฟล์ ยังถูกบาง Process ใช้งานอยู่ครับ) ทดสอบลง VSTO AddIns อีกครั้ง

[ครัวดีบุ๊กกลิ้ง] มาลองทำ Steak แบบบ้านๆ กัน

ช่วงนี้หยุดยาวของ ป โท ครับ พยายามอัพ Blog ให้ได้เยอะๆ 5555 วันนี้ผมก็มาทำ Steak บ้าง ดีกว่า เนื้อจาก Tops Super มีโปรโมชั่นลดราคา (จริงๆ ของที่แถมในกล่องที่ 2 ผมว่า มันน่าจะขายไม่ค่อยออกเลยนำมายังทำโปรร่วมกันนะครับ และก็ส่วนตัวมีความเชื่อว่าลดแล้ว มันยังไงก็มีกำไรครับ) กลับมาที่ Steak ดีกว่าครับ โดยในวันนี้ผมทำ Steak หมู กับสลัด (ซื้อจากตลาดนัดแถวบ้านนะครับ) ฉะนั้น Blog นี้มาสนใจที่ตัว Steak ครับ ของที่จำเป็น เนื้อหมูสำหรับทำ Steak – ผมเอาจากเนื้อในชุดโปรแหละครับ หั่นมาแล้ว พริกไทยดำแบบเม็ด โรสแมรี่แห้ง เนย กระทะ และตะหลิว ขั้นตอนการทำ พริกไทยดำแบบเม็ด – เอามาทุบหยาบๆ แล้วไปหมักครับ เนื้อหมู ผมกลัวไม่สุก เลยเอาส้อมจิ้มๆ และเอามีดกรีดเป็นแนวไว้ครับ จากนั้นเอาเนื้อหมูมาขลุกกับพริกไทยดำที่ทุบแล้ว หอมดีครับ ทิ้งไว้สัก 20 นาทีครับ เตรียมกระทะร้อน ใส่เนยเอาเนื้อที่มักลง ใส่เนย โรยด้วยโรสแมรี่ ครับ พลิกไป พลิกมา จากนั้นเอาฝาหม้อ มาปิดครับทิ้งไว้ 30 วินาที เปิดฝาหม้อ กลับข้างเนื้อ จากนั้นปิดฝาหม้อทิ้งไว้ 30 วินาทีครับ กลิ่นหอมมม จัดจาน เตรียมรับประทานครับ สวยงาม น่าทานครับ สุกทั้งนอก และในครับ สำหรับครั้งหน้า ผมพยายามลองเอาเนื้อแบบอื่นๆ มาลองทำนะครับ

[.NET] ตรวจสอบ ปัญหา Assembly Loading xxxxx ด้วย Tools Fuslogvw.exe

ฺช่วงนี้เป็นช่วยการเติมเต็ม Blog ครับ พอดีเป็นคนเอาไปแชร์ แต่ดันลืมดูว่าเนื้อหาแหว่งไปเยอะ 55 ผมเลยเอามา Re-Write ใหม่ในปี 2017 (ของเดิมปี 2015) เพราะ เขียนใหม่เกือบหมด 555 ตอนนั้นเหมือนมืนๆ ไป เข้าเนื้อหากันเลยดีกว่าครับ Fusion Log (Fuslog) คือ อะไร โปรแกรม Fuslog มันตัวช่วยของ .NET ในกรณีลองเอาระบบไป Deploy แล้ว พบว่าหาไฟล์ที่นำไปติดตั้ง (Assembly) มีปัญหาขึ้นตอนเวลาเรียกใช้งาน (Runtime)  อาทิเช่น ไฟล์หาย, ไฟล์อยู่ผิด Path หรือ เวอร์ชั่นของไฟล์ไม่ตรงกัน เป็นต้นครับ โดยตัวนี้มีมาให้อยู่แล้วกับตัว .Net ครับ Fusion Log Viewer (Fuslogvw) คือ อะไร โปรแกรม Fuslogvw ตามชื่อเลยครับ เป็นหน้าจอ GUI ที่ช่วยในการจัดการ และดูไฟล์ Log ได้ง่ายขึ้นจากเดิมครับ มันมาคู่กับตัว Windows SDK ปกติอยู่ที่ Path นี่ครับ C:\Program Files (x86)\Microsoft SDKs\Windows\[[–SDK Version–]]\bin\[[–Optional NET Version–]] [[–SDK Version–]] คือ ตัว Version ของ SDK ครับ [[–Optional NET Version–]] คือ ระบุ Version ของตัว .Net ครับ เพิ่งมาเปลี่ยนโครงสร้างในตัว SDK เวอร์ชั่น v8.1A ตัวอย่าง ผมลองยกตัวอย่าง และใช้ Path ที่ส่วนใหญ่เวลาลงแล้ว อยู่ที่ไหนของ แต่ละ OS ไว้ อาทิเช่น…

[MITx: 6.00.1x] Introduction to Computer Science and Programming Using Python (Week 1)

สำหรับ Course นี้ มีแนะนำมาอีกทีครับ เห็นว่าเหมือนแนสคิดเดียวกับ Udemy ครับ แต่ใน EDX แต่ละ Course เป็นอาจารย์จากมหาวิทยาลัยชั้นนำของโลกมาเปิดครับ โดยจุดแข็งที่ผมชอบฟรีครับ ถ้าอยากได้ใบ Cert ต้องจ่ายเงินครับ มาเข้าเรื่องของ Week แรกที่เรียนดีกว่าครับ เนื้อหานี้เป็นการปูพื้นฐานครับ โดยผมมองว่าคนไม่จบสายคอมเรียนได้นะครับ เค้าไม่ลงลึกจนเกินไป 📚Introduction 📚Knowledge Management 📚Fixed & Stored Program 📚Basic Computer Architecture ตามรูปดีกว่าครับ Turing บอกถ้ามีการทำงานพื้นฐาน(Primitives Operation) เช่น การ Shift Bit/ AND / OR / NOT เป็นต้น เราสามารถประมวลทุกๆปัญหาได้บนโลก ถ้ามีปัญหาที่ต้องสร้าง Operation ใหม่ เราสามารถเพิ่มได้ โดยการทำ Abstract Data Type (เขียน Function ใหม่ และเรียกพวก Primitives Operation ด้านใน ถ้าใช้เครื่องเรียนพวก Assembly หรือ LC-3 ลองนึกดูว่า ถ้าต้องการหาเลขยกกำลัง มีขั้นตอนอะไรบ้าง) 📚Aspect of Language 📚แนวคิดการคิดโปรแกรมภาษา Python หลักๆ มีเรื่อง ที่เห็นว่ามันค่ามันเปลี่ยน เพราะมันแก้ Reference ใน Memory ให้เลย ง่ายๆสร้างใหม่นี่แหละ หลักการเต็มๆลองอ่าน Java และ C# ตัวอย่างอื่น พบ Upper Lower ครับ สำหรับ csv ใช้ตัว import csv ใน python มีอยู่แล้วนะ มีการใช้…

[CR] เอี่ยวไถ่ สุกี้โบราณ – ภาคสุกี้

หลังจากทำงานเสร็จ ได้เวลาประมาณ 1740 ผมรีบขึ้น BTS จากสถานีศาลาแดง ไปบางหว้าครับ พระอาทิตย์กำลังตกดินพอดีเลย จากนั้นต่อรถมาที่ The crystal SB ราชพฤกษ์ เพื่อมาลองมากิน สุกี้โบราณ ของร้านเอี่ยวไถ่ครับ โดยตัวร้านที่อยู่ชั้น 2 ให้กับประตูทางเข้าใหญ่ของหน้าเลยครับ โดยประวัติของร้านนี้เปิดมานานกว่า 50 ปีแล้วครับ สาขาแรกปัจจุบันตั้งอยู่ที่เชิงสะพานปิ่นเกล้า ถนนอรุณอมรินทร์ครับ สำหรับสาขาราชพฤกษ์เป็นสาขาที่ 2 ครับ เท่าที่ลองคุยกับพนักงานมา เข้าเรื่องดีกว่า เนื่องจากเพิ่งหายจากเจ็บคอ หมอบอกให้กินของร้อนๆ จัดไปตามหมอสั่ง 555 เมนูที่สั่ง – สุกี้โบราณ 320 บาท โดยในชุดสุกี้ชุดผสม – เป็ดปักกิ่ง 590 บาท (ลดจาก 990 บาทครับ) ถ้าจะสั่งรอนิดนึงนะครับ ประมาณ 20-30 นาทีเลย โดยใช้ชุดประกอบไปด้วย NOTE: สำหรับวิธีการทานเอาแผ่นแป้งวาง ใส่หนังเป็ด จากนั้นใส่เครืองเคียง + เนื้อเป็ด ราดซอสหวาน และม้วนจับยัดเข้าปากครับ – ก๋วยเตี๋ยวหลอดปู 240 บาท – อร่อยมากกก ปูเป็นปูครับ เนื้อเน้นๆ ราดซอสอร่อยยิ่งขึ้นครับ (เสียดายที่สั่งชุดเล็ก) – บะหมี่ผัก 3 ชุด 135 บาท – นอกจากนี้ สำหรับร้านที่ส่วนที่ดีหลักๆ เลย ส่วนทีไม่ดี ปิดท้ายด้วยค่าเสียหายครับ รวมแล้ว 1,374 บาท ร้านนี้มี Service Change 10% จำนวน 138 บาท เบ็ดเสร็จจ่ายไป 1,512 บาทครับ ถ้ามาครั้งหน้าส่วนตัวตัดเป็ดปักกิ่งออก (แต่ถ้าไม่มีโปรแล้วไป) ไปเสริมทางสุกี้แทนครับ และอยากลองเนื้อกระทะเจงกิสข่านครับ (เห็นโต๊ะตรงข้าม กินแล้วอยากลอง และนึกถึงบาร์บีก้อน 55555)