2016 ผ่านไปครึ่งปีแล้ว

เผลอแปบเดียว ปี พ.ศ. 2559 ผ่านไปแล้ว 6 เดือน วันนี้ 1 กรกฏาคม วันหยุดครึ่งปีธนาคารก็เป็นวันหยุดเล็กวันหนึ่งของผมครับ วันที่เราต้องทบทวนว่าควรปรับอะไร หรือทำอะไรให้ดีขึ้นบ้าง เวลา – พยายามลดเวลาทำงาน ลดเวลาทำงานของการพัฒนา Software ที่เกิดจากการ Estimate Time ที่ผิดพลาด และ Change ที่งอกมาของเบื้องบน เอาเวลาไปทำอย่างอื่นดีกว่า หัวหน้าบอกว่าเวลาทำงานใน TimeSheet เยอะกว่าปกติ 2.5 เท่า ออก – ออกกำลังกายบ้าง รู้สึกว่าร่างกายอ่อนแอลงเป็นหวัดง่ายเกิ้น ลอง- ลองทำอะไรใหม่ๆ ปลายเดือนนี้ลองไปลองไปเรียน Micro MBA ดูครับ ถ้ามีอะไรมาเขียน Blog สรุปครับ หลุด – หลุดจากอดีต ผมเป็นคนที่กลัวการเปลี่ยนทีม ทำงานกลุ่มมาก เพราะตอนปี4 โนมาหนักครับ ทำงานคนเดียว ส่วนอีก 2 คนไม่ช่วย ดราม่ายาวครับ แต่มาขอขมา ขอโทษภายหลัง ปลอยไป รอกรรมเดินดีกว่า ผมจมกับมันมา  3 ปี แต่ทีมงานที่เกี่ยวข้องมีความสุข ป โท – สนใจการเรียนสักที หลังจากจัดการปัญหาการเงินที่บ้านแล้ว และจะไม่สละสิทธิการเรียน ป โท เพราะ งานอีกแล้ว รอบแรก ไม่ไปสอบ เพราะ น้องที่ทำงานลาออกฉับพลัน ทิ้งงานอื้อ รอบที่สอง สละสิทธิ์ ดูงานของโครงการ Treasury ที่ Estimate เวลาพลาดแล้ว ไม่น่ารอด วันนี้เป็นโอกาสดีด้วย ได้ซักรองเท้าผ้าใบในโอกาส 2 ปีกว่าๆ และทางร้าน Kinokuniya สาขาสยามพาราก้อนแจ้งว่า หนังสือที่จองให้น้อง เรื่อง Your Code a Crime Scene ที่ให้น้องในโอกาสจบปริญญาตรี…

[CR] เมื่อยักษ์ใหญ่อย่าง 711 ลงมาทำอาหาร Clean ขาย

หิวเมื่อไหร่ ก็แวะมา 7-11 ครับ วันนี้ก็หิวหน่อยๆ พอดีเหลือบไปหาข้าวกล่องไปสะดุดตามกับเมนูนี้เข้าครับ “ข้าวหอมมะลิ ผสมข้าวไรด์เบอรรี่ กับอกไก่ผัดพริกไทยดำ” ครับ มาดูกันครับว่าอาหาร Clean ชุดนี้ มีอะไรครับ ข้าวหอมมะลิ/ข้าวไรด์เบอรรี่ – ปริมาณ ไม่เหมาะสมกับปริมาณกับครับ อกไก่ผัดพริกไทยดำ – มันไปนิดครับ แต่รสชาติ ใช้ได้เลย บล็อกเคอรี่ – แปลก ไม่ควรใส่ น่าจะไปเพิ่มผักอย่างอื่นมากกครับ แครอทต้ม ฟักทองต้ม – อยากให้มีอันนี้เยอะ ๆ มาในแง่ของราคาบ้าง กล่องนี้ ราคา 49 บาท ครับ อ่านไม่ผิดครับ 49 บาทครับ แพงที่สุดในบรรดาข้าวกล่องใน 7/11 เพิ่มอีก 10 กว่าบาทได้ชุดปิ่นโตแล้วครับ ส่วนตัวคิดว่า ถ้าราคามาประมาณ 35-40 บาท น่าจะขายได้ดีกว่านี้ เข้าใจว่าราคาเพิ่ม เพราะมัน Clean ครับ

สรุปงาน Any ID, Privacy ที่ Software Park แจ้งวัฒนะ

NOTE: ปัจจุบัน Any ID คือ PromptPay ที่ใช้งานกันครับ เมื่อวันศุกร์ที่ผ่านมา 30 มิ.ย. 59 มีงานสัมมนา Any ID Privacy โดยคุณ Narudom Roongsiriwong ที่ Software Park ชั้น 3 ห้อง Auditorium ครับ แต่ตอนแรก ผมติดสอน User ในการ Maintain ระบบ Treasury ที่ Software Park เหมือนกันครับ เลยไม่ได้สมัครไป แต่พอเทรนจริงกลับเลิกเร็วกว่าที่คิด เลยแว๊บเข้ามาฟังครับ ก่อนที่เราเข้าไปในส่วนของ Any ID เราต้องรู้ถึงที่มาที่ไปก่อน ว่าทำไมถึงต้องมีระบบนี้ขึ้นมาหละ เจ้าตัว Any ID มันเป็นส่วนหนึ่งของโครงการ National E-Payment ที่ทางภาครัฐเล็งเห็นปัญหาของการจับจ่ายอันเดิม (การเคลื่อนไหวของเงิน)ได้แก่ ต่อไปเรามา Focus ที่ตัว Bank Note & Coin ที่มีปริมาณธุรกรรมมากถึง 70-80% ของทั้งหมด ภาครัฐต้องมี Cost อะไรบ้าง ทำไมถึงต้องลดการใช้งานหละ เป้าหมายของภาครัฐ คือ Cashless Society คือ ต้องไม่ใช้เงินที่จับต้องได้ แต่เป็นเงินอิเล็กทรอนิกส์แทนครับ ถ้าอยากให้ทุกอย่างมันอยู่บนระบบ ก็ต้องแก้ปัญหาเดิมก่อน ได้แก่ เกริ่นมาแล้วต่อไปต้องกล่าวถึงโครงการใหญ่ก่อน National E-Payment ย้ายทุกอย่างให้มาอยู่บนระบบอิเล็กทรกนิกส์ โดยมี 5 โครงการย่อย ได้แก่ ผ่านช่วงเกริ่นนำไปแล้ว มาเข้าสู่ช่วงของ  Any ID (นานานาม) หรือ PromptPay (พร้อมเพย์) ดีกว่า คือ อะไร มีอะไรบ้าง โดยสิ่งที่ Any ID พยายามทำ คือ พยายามเปลี่ยนถ่ายจากเลขที่บัญชีธนาคาร (Bank…

[WordPress] ในที่สุดวันนี้ก็มาถึง App ของ WordPress Mobile มี Visual Editor แล้ว

wordpress

เมื่อวันที่ 28 มิ.ย. 2559 ความลำบากในการเชียน Blog ผ่านพวก Smartphone, Tablet ไม่ต้องใช้ HTML สดๆ แล้วครับ วันนี้การเขียน Blog ขอบคุณไม่ลำบากอีกต่อไปแล้ว ทาง Automate ผู้พัฒนา WordPress ได้เพิ่ม Visual Editor มาแล้วครับ งานนี้ขา Blog อย่างพวกเรา สามารถเขียน Blog ได้ โดยไม่ติดข้อจำกัดของภาษาคอมพิวเตอร์แล้วครับ แุถม App ตัวนีมี Feature เด็ดๆมายั่วน้ำลาย อาทิ เช่น Post on the go – เขียน Blog ที่ไหนก็ได้ Blog ตอนนี้ ผมเขียนผ่าน Lenovo P90 กับ Samsung Galaxy Tab A Stats – ดึงข้อมูลมาจาก Plug-in ของ WordPress ชื่อ JetPack ครับ Reader – อ่าน Blog คนอื่นก็ได้นะ Push Notifications Support for WordPress.com & Self-hosted WordPress – ไม่ว่าเขียน Blog บน WordPress.com หรือ เอามาขึ้นบนโฮสใช้เอง ก็สามารถใช้งานได้ครับ โฆษณามาเยอะแล้ว มาดูกันดีกว่าครับ สำหรับคนที่ไม่มี Application สามารถ Download มาลงได้ครับ Android iOS มาดู Setting ของ Host ครับ สำหรับคนที่ยังไม่เคยใช้ครับ เมนูใช้งานง่ายครับ ลองกดๆดูครับ…

Introduction to UX

User research lead to core of problems

Blog อันนี้ผมแตกมาจาก สรุปงาน Google I/O Extended Bangkok 2016 ข้อมูลมันเยอะมากครับ อ่าเข้าเรื่องเลยดีว่า ทำไมเราต้องมาสนใจ UX หละ ดูภาพนี้ น่าจะมีคำตอบในตัวครับ จากภาพเราสร้าง Software มาเป็น Product ชิ้นนึงได้ นอกจากการ Requirement ที่ตรงตาม Business แล้ว ยังต้องสร้างประสบการณ์ที่ดีแก่ User ด้วยครับ ซึ่งสร้าง Product ที่ดีขึ้นมาได้ เราต้องมี MindSet ที่ดี มันเริ่มจากปรับจูน แต่ส่วนมา 2 ข้อนี้มักเป็น Infinite Loop ครับ แต่ Deadline เท่าเดิม T____T UX Designer ที่ดีต้องรู้ว่า สิ่งที่ทำเราแก้ปัญหาอะไร จะได้ฉีดยาให้ตรงจุด เป็นตัวแทนของ User (Empathize-เข้าอกเข้าใจ User) แต่ไม่ใช่ User มาต่อที่ 3 คำนี้ดีกว่า User Experience หรือ UX ตัว UX Designer ทุกอย่างที่ส่งผลกระทบต่อประสบการณ์ของผู้ใช้งาน ไม่ว่าจาก Business, Design หรือ จาก Code ของเราเอง มันจึงมีตำแหน่งนี้ เพื่อเอามาทำ Research เก็บข้อมูลต่างๆ ทำ Usability Test ก่อนลงมีอ Coding หรือ ทำ A/B Testing โดยให้ตอบโจทย์ที่ดีที่สุดในขณะนั้น เพราะวันเวลาเปลี่ยนไป Trend เปลี่ยนไป หลายคนอาจจะงงว่า Business , Design หรือ Code เกี่ยวอะไรกับ User Experience ? Netflix – เดิมก็เป็น Startup เล็กๆ แต่ล้มยักษ์อย่าง Blockbuster…

Progressive Web App (PWA) & Firebase

Blog อันนี้ผมแตกมาจาก สรุปงาน Google I/O Extended Bangkok 2016 ข้อมูลมันเยอะมากเลยย โดยคำว่า Progressive Web App (PWA) ผมเพิ่งได้ยินมาจากงานนี้แหละ ปกติใช้แต่ HTML กับ JQuery ทำงานนิดหน่อย ส่วนมาทำแต่หลังบ้าน (บ้าน .Net, บ้าน Java) ฮ่าๆ Progressive Web App (PWA) PWAเป็น Metaphor ในการทำเว็บในยุคนี้ครับ เพราะ ยุคนี้ Mobile First และสัดส่วน Mobile App 87% ส่วน Mobile Web 13% ครับ เพราะเว็บมันช้าสู้ App ไม่ได้ แต่ถ้าเรามีเว็บแล้ว แต่เอา Resource ไปทำ App ด้วย ก็จะเสียเลาเกินไปครับ เอาเวลาไปสนใจ Business ดีกว่าครับ WIFI vs. LIFI มีเนต กับ ไม่มีเนต เป็น App-Like สำหรับตัวที่ทำให้เกิด Progressive Web App (PWA) มาที่ Tools หรือ ภาษากันบ้าง Case Study AIiExpress / pwa.rocks Firebase TL;DR Progressive Web App (PWA) & FireBase เป็นWorkshop ตัวอย่าง Code สามารถเอาจาก Git ของ GDG หรือ ไปลองทำตามใน CodeLab ก็ได้ครับ จบแล้วครับ ต่อไปเป็น Blog แยกของ Introduction to…

สรุปงาน Google I/O Extended Bangkok 2016

วันนี้ 25 มิ.ย. ใกล้หมดครึ่งปีแล้ว และวันนี้เป็นจัดงานของ Google Developer Group(Thailand) ในเรื่อง Google I/O Extended Bangkok 2016 ครับ ผมเลยมาอัพเดตข่าวสาร Technology Trend สักหน่อยครับ (จริงๆ ตั้งใจมาเอาเสื้อฟรี 555 แต่เสื้อหมด ใครใจดีส่งมาให้ก็ดีครับ ฮ่าๆ) ต่อไปนี้เป็นสรุป โดยผมอาจจะใส่ความคิดเห็นตั้งแต่เริ่มเข้างานจนจบงานนะครับ ส่วนแรกการลงทะเบียน ผมว่าเรื่องนี้ทำให้งานกร่อยไปเลยครับ เพราะมีการจัดการที่ทุลักทุเลมาก ชลมุนเล็กน้อยครับ ตั้งแต่เริ่มการ Order รายชื่อผู้สมัคร มีหลายกระแสมากครับ หลังจากผ่านเรื่องวุ่นวายมาแล้ว รอคิวเข้าโรงภาพยนตร์สยามภาวลัยอีกประมาน 20 นาทีจากที่สุดทะเบียนเสร็จ ก็มาเข้าสู่ช่วง Welcome Speech โดยคุณ Soonson Know ที่ดูแล Google Developer ในส่วน South Asia, นิวซีแลนด์ และออสเตรเลียครับ โดยเป็นการพูดคุยทั่วไป มีการ Sound เสียง ผ๊เข้าชมงานคร่าวๆ มาจาก Sector ไหน เรียนอยู่ หรือทำงาน ทำเว็บ หรือ โมบายครับ และก็มีการแนะนำทีมงานของ Google ที่มาในวันนี้ครับ มีหนึ่งในนั้นเป็นคนไทยนะครับ ดูแลในส่วนของ Google Cloud Platform (Speaker ใน Session Introduction GCP & Machine Learning)  ครับ หลังจากแนะนำตัวกันเสร็จ ก็จะเป็นตัว Key note ของงานโดยคุณ Thye Yeow, Bok มาสรุป Recap จากงาน Google I/O ครับ โดยอันนี้ผมขอกล่าวรวมๆ กว้างๆนะครับ เพราะ ใน…

[JAVA] Pass By ?

ปัญหานี้น่าจะเป็นปัญหาที่โลกแตกพอสมควรครับ และเป็นเรื่องที่ควรรู้ และเข้าใจครับ ไม่งั้น เวลาเจอ Defect อยู่ๆข้อมูลเปลี่ยนเฉย ผีหลอก หรือป่าว ไม่ใช่ครับ เราอาจจะเข้าใจผิดมาตลอด ตอนเรียน 2 ปีแรกที่มหาวิทยาลัย สิ่งที่ผมเข้าใจเกี่ยวกับ pass by ของ Java คือ แต่ที่ผมเข้าใจมาผิดหมดครับ มารู้จริงๆ ตอนฝึกงานครับ เจอคำถามของพี่เลี้ยงไปจุกครับ พี่เลี้ยงเค้าบอกว่า Java ไม่ว่าเป็น Primitive Data Type หรือ Reference Type มีการ Pass by Value เท่านั้นครับ หลายคนน่าจะงงกัน มาลองดูกันครับ  จาก Code ลองมาดูผลลัพธ์กันครับ ผมจะ Prove ว่าถ้ามัน Pass by Reference จริงๆ แล้วค่าต้องเปลี่ยนครับ จากการทดสอบของผมครับได้ผลลัพธ์ ดังนี้ java.lang.NullPointerException แต่มันไม่แสดงนี่สิ แสดงว่า Java Pass by Value ถ้า Pass by Reference แล้วค่าต้องเปลี่ยนครับ หลังจากเข้าใจแล้ว ว่าแต่ทำไม Java ถึงมีแต่ Pass by Value ทั้งหมด !!! คงต้องกลับไปตอนเรียนวิชา CP121 ไม่ใช่สิ ต้อง CP111 วิชา Programming I ภาษา C นั้นเองครับ ตัวภาษาตระกูล C มันมี ของแสบอย่างหรือครับ คือ Pointer เรามาดูดีกว่าว่าภาษา C Pass by ? ต่อไปขยับอีกนิดเป็น C++ แต่สิ่งที่ C กับ…

การทำหรือเผา Data Dictionary ที่มีประสิทธิภาพ

ตอนนี้โปรเจคที่ผมกำลังเข้าช่วงโค้งสุดท้ายในการลงนาม ตรวจรับ สิ่งที่สำคัญที่สุด คือ การเผา เอกสารครับ ตอนนั้นมีเอกสารในส่วนของฐานข้อมูล ผมขอเรียกมันว่า Data-Dict นะครับ ตอนแรกทีมที่ทำก็อึ้งๆ เนื่องจากโปรแกรมมีมานานและ 20 กว่าปี แต่ไม่เคยมี Data-Dict ที่สมบูรณ์สักที ทำไมทำมาได้ 1100 Table เพราะ มีหนี้ทางเทคนิค Technical Debt ที่เกิดจาก แต่งาน Customize เสริมยังดีที่มีการทำ Data-Dict มาแล้ว ก่อนตะแก้ปัญหา เราต้องดูก่อนว่ามี Resource อะไรบ้าง สิ่งที่ต้องทำ เผา Data Dictionary  ทันใน 1 สัปดาห์ ทั้งๆที่ แต่ละ มีงาน End Pharse หลังโปรเจคจบ งานจบ แต่ SA กับ Dev ยังต้องเก็บกวาด สิ่งที่เกิดขึ้นจากการ Estimate Time ที่ผิดพลาดครับ T……T

Inversion of Control (IoC)

Inversion of Control หรือ IoC มันเป็นจุดขายของตัว Spring Framework จนหลายๆเจ้าเอาไปปรับใช้เข้ากับ Product ของตัวเองครับ (Microsoft ASP.NET MVC ก็ใช้นะ) ก่อนจะไปใช้กัน เรามารู้กัดีกว่า เจ้าตัว Inversion of Control หรือ IoC มัน คือ อะไรครับ Inversion of Control หรือ IoC คือ อะไร มีประโยชน์อย่างไร มันมีมาเพิ่มลดความผูกแน่นติดกันของ Object ครับ ตาม Quote นี้เลย Do not call us we will call you ใช้ฉีด Object เข้าไปในตอน Runtime ครับ ไม่ต้องมาวุ่นวายกับการจัดการ Obeject ครับ ถ้าใช้มันถูกฉีดเข้ามาเอง ช่วยเพิ่มความสามารถในการ Test ได้มากขึ้น เพราะ มันไม่ผูกติดกันแล้ว Re-used Code ในส่วนของ Business Logic ครับ แล้ว Inversion of Control (IoC) กับ Dependency Injection เกี่ยวกันยังไง มองง่ายๆครับ Inversion of Control (IoC) มัน คือ แนวคิด เรามี Idea ว่าจะทำให้ Code มัน Maintain ง่าย Test ง่ายๆ และไม่ต้องมาวุ่นวายจัดการ Object Dependency Injection จาก Inversion of Control (IoC)…