[WordPress] Migrate SEO จาก Plugins All in one SEO Pack เป็น Yoast SEO

ช่วงนี้เว็บ WordPress ดูอืดๆครับ และก็ไปสะดุดลิงค์ของเว็บ 9Tana ด้วย ทำไมเวลาแชร์ลิงค์ลง Facebook ถึงมี By … ติดมาด้วย ด้วยความอยากได้ ผมเลยสอบถามจากคุณเตย แห่งเว็บ wpthaiuser ครับ ได้แนะนำ Plugins ตัวนี้ครับ Yoast SEO โดยสามารถดูวิธีการได้จากลิงค์ “Yoast SEO กับ Facebook แชร์ยังไง ให้แสดงข้อมูลตามที่เราต้องการ” ครับ มารีวิวการ Migrate SEO จาก Plugins All in one SEO Pack เป็น Yoast SEO ดีกว่าครับ ง่ายกว่าของเก่าเยอะครับ ของเดิมเหมือนนานมาแล้ว การย้ายทีนึงต้องไปแก้ไข Code และ Update Field ใน Database ด้วย คราวนี้ง่ายเลยครับ Backup ข้อมูลครับ กันไว้ดีกว่าแก้ครับ หาตัว Plugins มาก่อนครับ ลง และ Activate โอ้ววว มัน Detect เจอครับ ว่ามี Plugins 2 ตัว Activate พร้อมกัน ถามว่าจะให้ import ไหม กดอันล่างของ Yoast เลยครับ ถ้าเป็นของเดิมที่เคยทำนี้ต้องอัติโนมือครับ Query ล้วนๆ กด Import โลดครับ และลบไฟล์ขยะทิ้งด้วยนะครับ เก็บไปก็ไร้ค่า Deactivate Plugins All in one SEO Pack ต่อไปรอ UAT 555 ผ่านไปสักระยะหนึ่งก่อน ผมกะเวลาไว้ประมาณ 1 Week มาเทสที่ Local…

[DB] มาดูพวก Operator JOIN ทั้งหลายใน Execution Plan ดีกว่า

IBM DB2

หลังจากมี Blog เกี่ยวกับ Execution Plan ไป 2 ตอนแล้ว ถ้าลองสังเกตุดีๆ ตอนที่มันสร้าง Flow ขึ้นมา มันมีกล่องแทนการกระทำต่างๆ เช่น FETCH, TBSCAN เป็นต้น ซึ่งถ้าลองย้อนกลับไปในตอนเรียนวิชา Database มันมีหัวข้อนึง ชื่อ Query Optimization ทำอย่างไรให้ Relational Algebra (Low Level จาก SQL ครับ จริงๆตัว SQL ที่ใช้เบื้องหลังมันก็ไปแปลงกลับเป็น Relational Algebra)  หรือพูดง่ายๆ คือ Query ดึงข้อมูลได้มีประสิทธิภาพครับ โดยคราวนี้เราสนใจเฉพาะกลุ่ม Join ครับ นอกจาก INNER JOIN, RIGHT JOIN และ LEFT JOIN มันมีอะไรที่ลึกล้ำกว่านี้อีกเหรอ คำตอบ คือ มีครับ มองว่าเป็น Algorithm ที่เอามาจัดการกับข้อมูลที่ต้องการครับ โดยผมขอ Focus ที่ตัว DB2 ก่อนนะว่า มีอะไรบ้าง เอาเฉพาะที่โผล่มาใน Execution Plan บ่อยๆนะครับ NLJOIN (Nest Loop Join) MSJOIN (Merge Scan Join) HSJOIN (Hash Join) จบไปกับ Blog อีกตอนที่อาจจะเขียนแล้วดูงงๆนะครับ

[DB2] แค่เปลี่ยน Query ชีวิตก็ดีขึ้นแล้ว JOIN vs Sub Query

IBM DB2

วันนี้พอดีมาประจำการที่ Site และได้ดูเคสบ่นๆจาก User ว่าทำไมหน้า Exchange Rate มันช้าจังเลย เปิดทีรอ 2-3 นาทีได้ ตอนแรกเราก็เฉยๆอยู่ เพราะงานหลักของเรา คือ BOT DMS (DataSet กับ DataFile 2 พี่น้อง) แต่พอสักสายๆ เข้า BA บอกว่าเปิดไม่ได้เลย เค้าลอง Interface feed ข้อมูล ย้อนหลัง 10 ปี เข้าไป น่าจะประมาน 100,000 Record ได้ หลังจากผมเข้าไปดูที่เครื่อง BA สิ่งที่ผมเข้าใจได้ คือ Query มัน Timeout ครับ รีบไปเปิด Code ทันทีเลยครับ มาดู Query กัน จาก Query ข้างต้นนะครับ เท่าที่ดูมาใช้ LEFT JOIN ปกตินะ แต่มีอยู่ก้อนนึง ที่มีความพิเศษเป็นการ Join ที่เกิดจากการ SELECT และก้อนที่มีการ SELECT มา JOIN เนี่ย มีใช้ Sub Query ต่ออีก โดยผมขอตัดมาให้ดูนะครับ ถ้ามองที่ Query แล้ว โอ้วมีการใช้ Sub Query ที่มีการ Join กับ Query หลักด้วย (AND MEX.COMMODITYID = ME2.COMMODITYID  AND MEX.QUOTEDID = ME2.QUOTEDID) คิดดูเล่นๆ ข้อมูล 100,000 Record มาก็เอามา Cross กับอีก 100,000 Record…

งานในสาย IT Analyst มีอะไรบ้าง

วันเสาร์ที่ผ่านมา ผมไปฟังงานสัมมนาของ อ.ปิ่น “Hello World Becoming Professional Software Analyst” ผมขอสรุปเรียบเรียงไว้จากมุมมองที่ผมเข้าใจนะครับ โดยทุก Analyst ต้องมีสิ่งที่เหมือนกัน เช่น Overall-Mangement Business Technical Technical ผมจัดกลุ่มนี้ เพราะ หลายๆที่ SA 1 คน ดูแลงานทั้งหมด Quality จริงๆ Analyst ถ้าอธิบายในมุมของ Developer มัน คือ Abstract Class นี่แหละ มี Interface และการทำงานบางส่วนไว้ จากนั้นให้แต่ละตำแหน่ง Extend(สืบทอด) ตามมุมมองที่กำลังจัดการอยู่ ไม่ว่าจะเป็น Project Analyst, Business Analyst หรือ System Analyst เป็นต้นครับ และในบางหน่วยงาน เราก็ต้องแสดงในหลายๆบทบาทครับ ทำวันนี้ให้ดีที่สุดครับ ^__^

Minor OTA Update for Lenovo P90

หลังจากที่ Blog ตอนก่อนที่ผมได้ Review Lenovo P90 ไม่เมื่อปีก่อนโน้น ผมได้มีการ Update (2016-02-01) แจ้งไปว่า Lenovo ได้ลอยแพไปแล้วครับ มาในวันที่ 2016-06-09 เวลาประมาณตอนตี 5 ผมได้รับแจ้งว่ามี OTA Update มาครับ (P90_S149_160504_ROW) ไหนๆ ก็ไม่มีอะไรจะเสียอยู่แล้ว เลยลองกดดูครับ โดยที่ผมเข้าใจ เป็นการ Patch ในส่วนของ Security นะครับ ผมขอทดสอบสัก 3 วันก่อน ว่ามีอะไรดีขึ้นบ้างหลังจากได้ลองใช้ ROM นี้นะครับ   หลังจาก Update เสร็จยังเป็น Android 4.4 Kitkat อยู่นะครับ UI เหมือนเดิมครับ ลื่นขึ้น เสถียรขึ้นครับ ปัญหาที่ชอบงอแง ชอบ Restart ตัวเองไม่ค่อยมี ปกติจะเจอวันละครั้งในช่วง 2-3 เดือนที่ผ่านมาครับ แบตอืดขึ้นครับ ถ้าใครยังเจอปัญหาแบตหมดไวอยู่ แนะนำลองใช้ App Battery Saver (Boost & Clean) ของ McAfee (Intel Security)  เจ้าของ CPU ATOM ครับ ความเห็นส่วนตัว ถ้ามือถือเครื่องหน้า ผมไม่แนะนำให้ซื้อ CPU ของค่าย Intel สักเท่าไหร่ เพราะ ประสิทธิภาพยังสู้กับค่ายอื่นๆยังไม่ได้ครับ ยังไม่มี Custom Rom สักที T____T  

[CR] บะหมี่เกี้ยว อาคารชินพงษ์ ถนนลาดหญ้า

วันนี้หลังจากไม่ได้กินบะหมี่เกี้ยวร้านลุงมานานมากก วันนี้ได้กลับมากินแล้ว ผมเลยอยากจะมาแนะนำกับครับ ร้านบะหมี่เกี้ยวร้านนี้ อยู่ตรง ถนนลาดหญ้า ซอยลาดหญ้า 9  อาคารชินพงษ์ครับ สำหรับราคาถูกมากครับ ในยุคสมัยที่ข้าวแกงใน กทม เฉลี่ยจานะ 45 บาท โดยราคาของบะหมี่เกี้ยวเจ้านี้ ธรรมดา 25 บาท พิเศษ 30 บาท  

Best Practices คำแนะนำที่เรียบง่าย แต่มีที่มาที่ล้ำลึก

Best Practices คำแนะนำที่เรียบง่าย แต่มีที่มาที่ล้ำลึก โดยเวลาที่เราเขียนโปรแกรม เราอาจจะโดนจำกัดการใช้ตัวแปร ให้เขียน Code ตามรูปแบบที่ SA กำหนดไว้ ต้องเขียน Code เป็นชั้นๆ อาทิ เช่น Presenter, Business Logic, Data Access และแต่ละชั้นต้องเชื่อมกันผ่าน Interface แต่ถ้าลองมาศึกษาลึกๆแล้ว ทุกอย่างมีที่มาที่ไป แต่ถ้าจะลงลึกไป อธิบายผลดี/ผลเสียมันอาจจะต้องใช้เวลา มันก็เลยกลายเป็น Best Practices เรียบง่ายที่ ห่อหุ้ม(Encapsulate) ความซับซ้อนต่างๆเอาไว้ข้างในครับ ตัว Developer เองจะได้เวลาไปสนใจเรื่องอื่นมากขึ้น เช่น Business หรือ การ Test ครับ 😀

Design Principle กับ Design Pattern

ก่อนจะมาเข้าเรื่องที่ลึกลงไป ผมอยากแนะนำ 2 คำนี้ก่อนครับ Principle แปลเป็นไทย คือ “หลักการ” แปลไทยเป็นไทย คือ สาระสำคัญที่ยึดถือเป็นแนวปฏิบัติ (ข้อมูลจากราชบัณฑิตยสถาน) Pattern แปลเป็นไทย คือ “รูปแบบ” แปลไทยเป็นไทย คือ แบบ, แผน, ตัวอย่าง, ทำแบบ, แบบอย่างอันดี, เอาแบบอย่าง กลับมาที่ Design Principle คือ หลักการออกแบบ Software โดยมีชุดแนวคิด หรือคำแนะนำ เพื่อป้องกันการออกแบบ Software ที่แย่ ที่ส่งผลทำให้มีการปรับแก้ไข (Customize) หรือ การดูแลรักษา (Maintenance) ยาก เช่น SOLID (หลักการพื้นฐาน 5 ข้อ ถูกคิดและเผยแพร่โดย Uncle Bob ครับ ) จากนั้นอีกคำ Design Pattern คือ รูปแบบการออกแบบที่ดี อ่านแล้วดูแปลก เปลี่ยนใหม่ดีกว่าเป็นแบบแผนที่ดี ที่สามารถใช้กับปัญหาทั่วไปได้ (Reusable Solution) เช่น Singleton (Pattern ช่วยจัดการจำนวน Object เพื่อให้ระบบงานมีระสิทธิภาพสูงสุด) แถมให้อีกคำ เนื่องจากมี Design Pattern แล้ว ก็ต้องมี Anti-Pattern คู่กันครับ เจ้า Anti-Pattern ตรงข้าม Design Pattern คือ แบบแผนที่ไม่ดี แก้ปัญหาเฉพาะหน้าครับ มันเป็นการ Workaround ครับ ตัวอย่างที่คุ้นๆกัน น่าจะเป็น GodClass, GodMethod, Circular Dependency ครับ ปูมาซะนาน ตอนแรกจะเขียน Blog เกี่ยวกับ IoC(Inversion of Control) แต่ศึกษาไป ศึกมาก็มาลงเอยที่ Blog นี้ครับ…

[Digital Thailand] Big Data in Business

บทความนี้ก็แตกออกมาจาก Blog “สรุปจากงาน Digital Thailand 2016 ครับ”  ขอสรุปสิ่งที่ได้จากการฟังสัมมนาในงาน Digital Thailand วันที่ 28-May-2016 ครับ Turning Big Data Into Personalized User Journeys ใน Section แรกมาจาก “Turning Big Data Into Personalized User Journeys” โดย Mr. Kevin Jackson, Global Sales Director of Gravity R&D Digital Car Insurance – delivering safer drivers, lower CO2 and increased customer engagement through smartphone Apps และส่วนที่สอง “Digital Car Insurance – delivering safer drivers, lower CO2 and increased customer engagement through smartphone Apps” เป็นการนำเจ้า Big Data มาปรับประยุกต์ใช้กับธุรกิจในด้านประกันภัยครับ เกริ่นแนะนำการประกันภัยสักหน่อย ปัจจุบัน Digital Insurance Insurance Telematics ในไทยมีเอา Insurance Telematics ผมเข้าใจว่าเป็น ไทยวิวัฒน์ประกันภัยนะครับ  Digital Insurance นอกจากด้าน Motor Insurance แล้วยังสามารถเอาไปใช้กับการประกันในด้านอื่นๆได้ เช่น อสังหาริมทรัพย์, สุขภาพ และการท่องเที่ยว เป็นต้น Future

[Digital Thailand] How Google Thinks About Developing a Culture of Innovation

วันเสาร์ที่ผ่านมา ผมได้ไปงาน Digital Thailand โดยผมขอแตก Blog นี้ ออกมาจาก Blog หลักนะครับ โดยเรื่องที่ผมกำลังเขียนต่อไปนี้ เป็นเรื่อง How Google Thinks About Developing a Culture of Innovation” โดยคุณ Ben King, Country Head of Google Thailand ครับ ช่วงแรกเป็นการแนะนำบริษัทก่อนครับ ตอนนี้ Google หรือ Alphabet ในปัจจุบันครับ เข้าสู่วัยรุ่นและ อายุ 18 ปี นับจากที่ผู้ก่อตั้งทั้ง 2 คน Larry Page และ Sergey Brin ครับ ในโรงรถครับ (บริษัทยักษ์ด้าน IT ในปัจจุบัน มักเกิดจากโรงรถครับ อย่าง Micorsoft กับ Apple ครับ) แรกเริ่มที่มีพนักงาน 4 ครับ จนถึงปัจจุบัน ที่มีอยู่ 60,000 กว่าคนทั่วโลกครับ โดยมี 6 Platform มี่ต้องดูแลครับ Culture and innovation High-performance ways of working Talent acquisition & retention  ปิดท้ายด้วยคำพูดของคุณ Larry Page ครับ “If you’re not doing some things that are crazy , then you’re  doing the wrong things.”