[MSSQL] สรุปงาน SQL Server Community Thailand Meeting #02

สำหรับมางาน SQL Server Community Thailand Meeting งานนี้จัดเป็นครั้งที่ 2 แล้ว ส่วนงานแรกผมพลาด เพราะติดสอบพอดี SQL Server Performance Tuning Essential โดยคุณ Chulladej Aramsri หมายเหตุ: เขียนในมุมของ Developer หากมีอะไรผิดพลาด ขออภัยมา ณ ที่นี้ครับ – Root-Cause ของ Performance หลักๆ ที่พบบ่อยๆ จากมากไปน้อย – แล้วปกติที่ไปจัดการกับ Data ที่ทำผ่าน SQL มันมีแบบไหนบ้าง ? – Common Approach ในการ Optimize Performance เริ่มจากสิ่งที่ควรทำมากที่สุด – Wait Statistic Performance Tuning Approach – Back to Basic ก่อนจะรู้เรื่อง Wait Statistic เราควรรู้อะไรบ้าง >> DB Engine มันประกอบด้วยอะไรบ้าง NOTE: ผมเพิ่งรู้ว่าตัว MSSQL Server มัมี OS ชั้นนี้ ปกติสนใจพวก Query Execution Plan มากกว่า >> NUMA System เวลามี Query เข้ามาจาก Client / App Server หรือ Web Server มันจอง 1 Session เอาไว้ โดยที่ – Preemptive vs Non-Preemptive Note: ถ้า MSSQL ต่ำกว่า…

[MITx: 6.00.1x] Introduction to Computer Science and Programming Using Python (Week 3) – Structure Type + Side Effect

หลังจากผ่าน Week 2 ไปแปบเดียว บทเรียนของ Week 3 มาแล้วครับ โดยใน 2 Week แรก เราได้รู้พื้นฐาน และโครงสร้างของโปรแกรมไปแล้ว ได้แก่พวก ✅ Primitive Data Type (พวก int, float, Boolean และ String เป็นต้น)✅ Condition :  if-else✅ I/O: input. print และ File✅ Function (def) Structure Type จริงๆ มองให้บอกว่าเรามีตัวช่วย ในการแทนลักษณะของปัญหา มาลงโปรแกรมของเราอย่างไรมากกว่า ซึ่งถ้าดูในบทเรียน ใน Course นี้เรียก รวมๆ ว่า Structure Type ได้แก่ 📚 Tuple () – ตระกร้า เอาอะไรมาใส่ก็ได้ ยัด int string จิปาถะอื่นๆลงมาได้ แต่ยัดแล้ว ห้ามแก้ไข 📚 List [] – เก็บข้อมูล ที่สนใจลำดับ และเก็บข้อมูลชนิดเดียวกัน 📚 Dictionary {} – เป็นตารางมี Key (ใช้ค้นหา) และ Value(เก็บข้อมูล) ใช้เก็บข้อมูลที่สัมพันธ์กัน เช่น ข้อมูลนักเรียน มีพวก ชื่อ นามสกุล ที่อยู่ เกรด เป็นต้น ถ้าแยกเป็น List งงตาย คราวนี้มาจัดกลุ่ม โดยเพื่อให้หาง่ายเรากำหนดตัวแทนขึ้นมา ในที่นี้ คือ รหัสประจำตัวครับ Side-Effect จาก Structure Type…

[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 (Secured Coding)

จริงๆ มางาน 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 – อันนี้ผมว่า เค้าแบ่งหัวข้อได้แปลกดี…

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

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

[.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–]] ตัวอย่าง ผมลองยกตัวอย่าง และใช้ Path ที่ส่วนใหญ่เวลาลงแล้ว อยู่ที่ไหนของ แต่ละ OS ไว้ อาทิเช่น Example for Win 7 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin Example for Win 8 & Win 10 ++ C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1…