[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)

ฺBlog ตอนนี้การเรียนใน Week ที่ 2 แล้วครับ ซึ่งเปิดมาครั้งแรก โอ้ววววววว การบ้านน้อยดี พอเปิดไปบทถัดไปเท่านั้นแหละ “ชีวิตแค่โดนทำร้าย 5555” สำหรับ Week นี้ ในบทแรกเป็นการทบทวนของเก่ามากกว่าครับ ตั้งแต่ if-else ไปจนถึงแนวคิดของ  Guess ^ Check ซึ่งแนวคิดมันมีปัญหาที่ว่ามันช้ามากก หาทุกกรณีที่เป็นไปได้ครับ ตอนนี้มันมีวิธีที่เร็วกว่าไหม แต่ต้องรู้จักกับ Keyword พวกนี้ก่อนครับ Approximate Solutions – เราไม่ได้ต้องการวิธีการที่มันตรงแป๊ะ มันอาจจะมีวิธีการที่เร็วกว่า แต่ความแม่นยำลดลงไป ตัว Approximate มันหมายถึง การประมาณการ ถ้าในศัพท์ของวิชา Algorithm ที่ผมเคยเรียนมา คือ Optimal Solution ครับ Bisection Search – มันเป็นแนวคิดของแบ่งแยก และพิชิต (Divide & Conqure) ครับ โดยเราต้องอยู่จุดเริ่มต้น(Lower) และจุดสิ้นสุด(Upper) ที่เป็นไปได้ จากนั้นแบ่งหาที่ละครึ่ง (Bi section) ตัดไปเรื่อยๆ จนได้ค่าที่ใกล้เคียง (Approximate) ถ้าในตัวอย่างของผู้สอน เค้ายกเรื่องการหาค่า root ครับ ตาม Code เลย จากนั้นมาลงลึกตัว Float และ Faction ครับ โดยมองว่าตัวเครื่องคอม มันรู้จักแทนค่าตัวเลขได้อย่างไร ตอนนี้ใช้แนวคิดของเลขฐาน 2 ครับ แต่ถ้าใช้ตัวแปรประเภท Float ให้ระวังเรื่อง floating-point rounding error หลังจากจบบทแรกไป จะบอกว่ารู้พวกพื้นฐาน ถ้าใน Week ที่แล้วมัน คือ หัวใจ (Core Elements) บทถัดมาเรียกว่าอะไร เป็นการแทนปัญหาของรอบตัวเรา โดยการ Decomposition – แบ่งปัญหา/โจทย์ให้มันเล็กลง Abstraction…

[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 Knowlege Management Declarative knowledge = Statements of fact. เช่น ค่า PI = 3.14 / เก้าอี้มีสมุดสีแดงวางอยู่ เป็นต้น Imperative knowledge = A recipe or “how-to” ซึ่ง Recipe ผมชอบคำนี้ อาจารย์เปรียบเปรยได้ดีเลยครับ จริงมัน คือ ขั้นตอนการทำงาน (Algorithm) ครับ Fixed & Stored Program Fixed Program – ทำงานเฉพาะอย่าง ทำมาเฉพาะเจาะจงให้ประมวลผลงานอย่างเดียว เช่น ทำมาเพื่อคิดเลข / ทำมาเพื่อคำนวณวิถีของจรวด (จริง น่าจะมองว่าเป็น SW ที่มาเจาะจงกับ HW) Stored Program – ทำได้หลายอย่างเลย แล้วแต่เราสั่งให้มันทำอะไร เอาง่ายๆ เราต้องเขียนโปรแกรมบอกเครื่อง Basic Computer Architecture ตามรูปดีกว่าครับ A program counter The computer executes the instructions mostly in a linear sequence, except sometimes it jumps…

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

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