[Data Structure] Net. Data Structure (แนะนำ)
UPDATE 2021: เว็บ net3.datastructures.net หายไปแล้วครับ … เหลือ สิ่งที่ควรรู้
UPDATE 2021: เว็บ net3.datastructures.net หายไปแล้วครับ … เหลือ สิ่งที่ควรรู้
เมื่อทำงานที่เกี่ยวกับไฟล์ ไม่ว่าจะเป็นไฟล์รูป เท็กซ์ไฟล์ หรือไฟล์แบบอื่นๆ สิ่งที่สำคัญที่จะขาดไม่ได้เลยนั้น คือ Path ที่อยู่ของไฟล์ สำหรับนักพัฒนาโปรแกรมมือใหม่อาจจะยังไม่ใส่ใจเรื่องนี้ หรือคิดเพียงว่าเครื่องเราแสดงผล OK เป็นใช้ได้ แต่ปัญหาจะมาเกิดตอนไปรันที่เครื่องอื่นๆ เช่น กรณีตัวอย่าง ปัญหา แนวทางแก้ไข ผลการทดสอบ สรุป ปล. ต้องขอขอบคุณน้อง Kook kik จาก มศว ที่ช่วยนำปัญหามาปรึกษา และพี่ได้เขียนลง Blog
วางแผนชีวิต อนาคตด้วยกองทุนรวม ซื้่อกองไว้ เผื่ออนาคตจะรวย สร้างหัวให้เป็น Business การบัญชี App มีเรื่อง GL เยอะ โปรแกรมมิ่ง ขอเป็น Desktop ก่อน อยากทำโปรแกรมตอบโจทย์ธุรกิจ
Windows Workflow Foundation เป็นหนึ่งในเทคโนโลยีที่มาคู่กับ Microsoft .Net Framework 3.0 เป็นต้นไป โดยมีจุดประสงค์ เพื่อตอบการทำงานขององค์กรที่มีการไหลเวียนของข้อมูลในรูปแบบต่างๆ อาทิ เช่น แบบ Sequential: มีการไหลของข้อมูล โดยมีลำดับขั้นตอนแน่นอนจากต้นไปจนจบ ยกตัวอย่าง เช่น ลำดับการขออนุมัติสินเชื่อในธนาคารที่ต้องมีการทำงานของ แต่ละแผนก ซึ่งมีลำดับการทำงาน การตรวจสอบที่แน่นอน แบบ State: ไม่มีลำดับขั้นตอนที่แน่นอน แต่จะเปลี่ยนการกระทำต่อเมื่อมีสิ่งเร้ามากระตุ้น ยกตัวอย่าง เช่น การตรวจสอบ Limit ของ Transaction ที่รายการซื้อใน แต่ละวันมีปริมาณไม่เท่ากัน และอาจะเกิดเหตุการณ์ต่างๆที่แตกต่างกัน ได้แก่ การแจ้งเตือน หยุดการซื้อ/ขาย หรือ แนะนำให้ผู้ใช้รอก่อน เป็นต้น Windows Workflow Foundation มักถูกนำมาประยุกต์ใช้กับงานด้าน Business ทีมีการเปลี่ยนแปลงของ Process อยู่ตลอดเวลา ซึ่งต้องมี input ที่แน่นอน แต่ output ที่ได้มีลักษณะเป็น Dynamic แตกออกมาได้หลากหลายรูปแบบ
สมัยนี้อะไรๆ ก็ Like & Share กันหมด ถ้าบทความของเราผู้อ่านต้อง copy link ไปแปะลง Social Network เพื่อแชร์ให้ผู้อื่นเพื่อนของเขาได้ชมบทความของเราคงไม่ดีแน่ เราต้องช่วย User (ตั้งสมมติฐานว่า User ขี้เกียจ) โดยวันนี้ผมมี Plugin มาแนะนำครับ Simple Share Buttons Adder ให้ทุกเรื่องแชร์ง่ายเพียงคลิกครับ ข้อมูล Plugin ทำไมถึงแนะนำ Plugin ตัวนี้
หลายครั้งเวลาเราเขียนบทความลงใน Blog บางบทความมีรูปภาพประกอบด้วย ซึ่งบางภาพเล็กไป ต้องให้ผู้ใช้กดดูรูป พอกดดูเท่านั้นแหละ มันดันเปิด Tab ใหม่ขึ้นมา หรือ เปลี่ยนหน้าไปเลย วันนี้ผมมี Plug in มาแนะนำครั้ง Responsive LightBox (พระเอกของเราเลย) ช่วยให้การแสดงผลภาพในบล๊อกดูดีมีระดับมีชาติตระกูล ข้อมูล Plugin ทำไมถึงแนะนำ Plugin ตัวนี้
ในยุคนี้อะไรก็ Social Network กันหมด หากอยากจะโปรโมทอะไรสักอย่างบนเว็บทางที่ดีที่สุด คือ ทำ Fan Page และวันนี้ผมนำเสนอวิธีการเพิ่ม Like Box มาลงใน WordPress ของเรา เพิ่มโปรโมทให้คนรู้จักครับ
บางครั้งเราอยากจัดหมวดหมู่ของบทความในบล๊อกเราให้เรียงตามตัวอักษร หรือเรียงตามใจเรา แต่มันต้องทำอะไรบ้าง มี 2 วิธี ได้แก่ แบบที่ 1 ลง plugin เสริม แนะนำให้ใช้ตัวนี้ 📌 My Category Order (จิ้มเลย) / ไม่ Update ตั้งแต่ปี 2019 แล้ว จัดเรียงได้ตามใจ แต่มีผลกับ Theme ของเราในเรื่องของฟอนต์ และการ Design 📌 Category Order (จิ้มเลย) / ไม่ Update ตั้งแต่ปี 2019 แล้ว ตามความเห็นส่วนตัว ไม่แนะนำใช้ใช้งาน เพราะตัว plug-in ไม่ได้รับการอัปเดตมานานแล้ว ซึ่งอาจจะทำให้เกิดปัญหากับ WordPress เวอร์ชันใหม่ๆได้ 📌 Category Order and Taxonomy Terms Order (จิ้มเลย) จุดเด่น คือ การแก้ไขการจัดเรียงต่างๆ จะไม่สงผลกระทบกับ Theme แบบที่ 2 Hard code แก้ในไฟล์ Sidebar.php ของ Theme แก้ไขตรงส่วน รูปแบบการเรียงมีอยู่ ดังนี้ อ้างอิงข้อมูล:
พอดีวันนี้งานที่ทำมีโจทย์ให้ว่าให้หาข้อมูลการซื้อ(BUY) และข้อมูลการขาย (SELL) ณ ช่วงเวลาหนึ่ง เพื่อหาจำนวนสินค้าที่มีเรามีถืออยู่ (On Hand) ข้อมูลโครงสร้างตารางต่างๆ เลยได้เป็นที่มาของ Blog เชื่อหรือไม่ว่า SQL เอาตัวเลขมาลบกันได้ ทำงานแรกๆ เตรียมข้อมูล ความต้องการ(โจทย์) จากข้อมูลการซื้อ(BUY) และข้อมูลการขาย (SELL) ณ ช่วงเวลาหนึ่ง(ระหว่างวันที่ 01-OCT-2013 ถึง 10-OCT-2013) เพื่อหาจำนวนสินค้าที่มีเรามีถืออยู่ (On Hand) วิธีการแก้ปัญหา หากติดความจากโจทย์เราสามารถแบ่งออกเป็น Query ย่อยๆ ได้ดังนี้ สรุป ภาษา SQL ทำอะไรได้มากกว่าที่คุณคิด เพียงแค่ต้องรู้จักลองและทดสอบ จากตัวอย่างนี้หลักทีใช้ คือ Keyword AS, Operator minus และทริกการ SELECT ซ้อนกัน ถ้าหากเราเอาไปเขียนโปรแกรม ต้องมี Loop เพิ่มเพื่อหาผลรวมอีก ซึ่งหากมีข้อมูลเยอะๆประมาณ 100,000 รายการแล้ว เราจะพบถึงความแตกต่างในแง่ของความเร็วอย่างชัดเจน
หลายครั้งที่ต้องเจองานในการเขียน SQL ประเภทการหาผลรวม (SUM) ของรายการ ตามเงื่อนไข A, B, C, D และอื่นๆจิปาถะ ลองมาดูตัวอย่างกัน เตรียมข้อมูล ความต้องการ(โจทย์) มาดูโจทย์ เราต้องการหาผลรวมของ Unit เฉพาะรายการขาย(BUY) ที่ยืนยันแล้ว(ISCONFIRM) และมีวันขายสินค้าระหว่างวันที่ 1-Oct-2013 ถึง วันที่ 10-Oct-2013 โดยสามารถเขียน Query ได้ ดังนี้ ปัญหา หากเรามีรายการใหม่ขึ้นมา ได้แก่การ รายการประเภทซื้อเชื่อ(BUY_CREDIT) พอทดสอบ Query พบว่าได้ค่า NULL เพราะ ไม่มีข้อมูลที่ตรงตามเงื่อนไข แต่ถ้าระบบส่งข้อมูลยังโปรแกรมที่เราพัฒนาขึ้น USER คงไม่เข้าใจ และอาจจะเกิด ERROR ขึ้นมาได้ วิธีการแก้ไข ใช้ฟังก์ชัน (function) coalesce(<column>, 0) เพื่อแปลงค่า NULL เป็นค่าที่่ต้องการ เช่น 0 ดัง QUERY ดังนี้ สรุป การเขียนโปรแกรม แต่ละแบบเราควรดักความผิดพลาด หรือจัดการกับมันตั้งแต่เนิ่นๆ เพื่อให้โปรแกรมที่เราพัฒนานั้นมีความเชื่อถือ และมีผลลัพธ์ที่ถูกต้อง