ขึ้นชื่อว่างาน Google I/O Extended แล้ว จะมีหรือที่เหล่า Android developer จะไม่ไป และผมก็เป็นอีกคนที่ชอบมางานนี้ เพราะงานเมื่อปีที่แล้วที่สยามพารากอนทำไว้ดีมากๆ ซึ่งงานนี้จะมีอะไรที่แตกต่างจากปีที่แล้วบ้าง มาดูกันเลย

แน่นอนว่างานนี้เป็นงานที่ถ่ายทอดความรู้จากงาน Google I/O จากอเมริกาให้คนที่ไม่ได้ไปหรือไม่สะดวกไป ได้อัพเดทความรู้ ข้อมูลข่าวสาร เพราะบางอย่างค่อนข้างสำคัญมากๆ โดยเฉพาะกับนักพัฒนาที่ไม่ควรพลาดเลย อย่างเช่น ปีที่แล้วที่มีเรื่อง Runtime Permission ที่มีใน Android6 ซึ่งส่งผลต่อแอพจำนวนมากที่หากอัพเดทเลขเวอร์ชันโดยที่ไม่ได้จัดการเรื่องนี้ให้ดี แอพเราก็จะบู้มมม เป็นโกโก้ครั้นช์ได้, หรือล่าสุด เรื่อง Freeform ที่มาใน Android7 ที่เราต้องจัดการให้ดีเพื่อให้ประสบการณ์การใช้งานแอพของเราดีขึ้น สำหรับปีนี้จะมีอะไรบ้างมาติดตามกันเลย แต่ที่แน่ๆคือไม่มีมีแค่ Session ที่อยู่ในงาน Google I/O ด้วยนะเออ

TL;DR; ยาวไปไม่อ่าน

Session 0: Welcome Remarks
-Machine learning, AI ยุคต่อไปสื่อสารกับ AI กันเองได้โดยที่ไม่ต้องผ่านมนุษย์

Session 1 : Google I/O Recap
-อันนี้ยาวและเยอะจริงๆ ไม่รู้จะสรุปสั้นๆยังไง ต้องไปอ่านดู 555

Session 2 : Introduction to Web Assembly
ถ้าหากเว็บของเรามี Code ที่ถูกเขียนด้วย C/C++ หรือเว็บที่ต้องใช้ Resource(CPU, RAM) ของ Server เยอะๆ แนะนำให้อ่านเพราะมันช่วยเราได้ โดยการ compile ให้ใกล้เคียง Native ของ Browser ที่สุด

Session 3 : Introduction to Lean Concept
ถ้าหากทำงานชิ้นใหญ่ๆ(ฺBig dot)แล้วมันเสี่ยงที่จะพัง ลองเปลี่ยนเป็นงานชิ้นเล็กๆ(Small dot)ดูสิ สนุกกว่าเยอะ

Session 4 : The Art of Continuous Improvement
Kaizen(อุดรอยรั่ว ทำสิ่งนั้นให้ไหลลื่น พัฒนาสิ่งใหม่ๆ) และ โอวาทปาฏิโมกข์(ละชั่ว ทำดี ทำใจให้ผ่องใส) เกี่ยวข้องกันอย่างไร วิธีการที่จะทำให้เรามีการพัฒนาอย่างต่อเนื่องแบบที่ไม่มีอะไรจะมาฉุดเราได้ และยังสรรค์สร้างสิ่งใหม่ให้เกิดขึ้นได้ตลอดที่ทำได้ไม่ยาก

Session5: Discussion เรื่องการพัฒนาซอฟต์แวร์อย่างยั่งยืน
-เทคโนโลยีที่จะอยู่ยาวส่วนมากจะเป็นสิ่งที่ผู้สร้างก็ได้ใช้มัน อย่างเช่น React, React native(เฟสบุ๊คทำ เฟสบุ๊คใช้)
-เทคโนโลยีที่เราใช้ๆบ่อยๆ อยู่กับมันบ่อยๆ เราจะพอเดาอนาคตของเทคโนโลยีใหม่ๆที่กำลังจะมาได้ว่ามันจะดีพอและเหมาะกับงานของเราหรือไม่ แต่มันก็ไม่ได้หมายความว่ามันจะสมบูรณ์แบบเสมอไป

สิ่งที่แตกต่างจากงาน Google I/O Extended BKK

  • การเดินทางและสถานที่ แน่นอนว่างานนี้จัดที่ศรีราชา ใครที่ชอบเดินทาง ชอบเที่ยว(แบบผม) ต้องชอบแน่ๆ วันที่ไป อากาศดีมากๆ แต่ก็จะไม่ค่อยสะดวกสำหรับคนในกรุงเทพฯหรือจังหวัดไกลๆสักเท่าไหร่ แต่คนชลบุรีก็น่าจะชอบในจุดนี้กัน
  • บรรยากาศภายในงาน เนื่องจากคนไม่เยอะมาก เฉพาะผู้ร่วมงานก็ 40 คน สต้าฟก็ไม่เยอะมาก ทำให้เรารู้จักคนข้างๆได้ค่อนข้างเร็ว เพราะอาจจะเพราะสถานที่ที่ไม่ใหญ่มาก จนบีบให้เราต้องหันมาทักคนข้างๆ และทุกๆคนเป็นกันเองมากๆ ตอนที่นั่งทานเบรกอยู่ก็เห็นคนข้างๆกำลังอธิบายเรื่องภาษา Scala อยู่ ก็เลยเข้าไปสอบถามด้วย ทีแรกก็นึกว่าเป็นผู้เข้าร่วมงานด้วยกัน แต่พอท้ายๆงานถึงได้รู้ว่าเป็น Speaker ใน Session สุดท้าย ตั้งตัวไม่ทันเลยทีเดียว

เนื้อหาฉบับจัดเต็ม (ยาวมาก แต่ต้องอ่าน)

Session 0: Welcome Remarks
Speaker Vachara Aemavat CEO & Founder @Computerlogy

เนื้อหาหลักๆที่จับใจความได้ส่วนหนึ่งคือเรื่อง Self-Driving car จากการไปงาน Google NEXT ของ Speaker

ในยุคนี้เราอาจจะเคยเห็นรถที่สามารถขับได้ด้วยตัวเอง หรือที่ออกข่าวบ่อยๆ คือรถจาก Tesla ซึ่งก็ดูไม่แปลกอะไร แต่ถ้ามองภาพให้กว้างขึ้นเป็นระดับเมืองทั้งเมืองที่มีรถแบบนี้อยู่ แน่นอนว่าต้องมีระบบจัดการ เช่น ระบบจราจร, ระบบจัดสรรที่จอดรถที่ทำมาเพื่อ Self-Driving car โดยเฉพาะ แสดงว่าจะต้องมีการคุยกันเองระหว่างตัวรถและระบบลานจอดรถ ระบบพวกนี้มันจะคุยกันเอง และถ้าเกิดใช้ Machine learning เข้ามาจัดการเรื่องนี้ก็จะยิ่งสนุกกันไปใหญ่ เช่น

-สมมุติว่าเราตั้งเป้าหมายว่าจะไปศรีราชา แล้วช่วงนั้นการจราจรติดขัด AI ก็อาจจะบอกเราว่าอีก 10 นาทีถนนจะโล่งค่อยออกเดินทางตอนนั้นจะดีกว่า หรือพอขับไปแล้วเห็นว่าเส้นทางนั้นมีอุบัติเหตุ AI ก็จะเปลี่ยนเส้นทางให้ พอถึงที่จอดรถ AI ก็จะแจ้งเราว่าที่ไหนที่พอจะมีที่จอดรถให้เราจอดได้บ้าง ทั้งหมดนี้ AI ตัวเดียวที่อยู่กับรถไม่สามารถตัดสินใจด้วยตัวเองได้ แต่ต้องอาศัยข้อมูลจากระบบอื่นๆ หรือ AI อื่นๆที่มันสามารถติดต่อได้

-จะรู้ได้อย่างไรว่าสิ่งๆนี้จะโตหรือจะตาย เป็นเรื่องราวที่ Speaker ได้ไปคุยกับ CIO ของ Google เลยได้แนวคิดที่น่าสนใจว่า Google สนใจข้อมูลที่เกิดขึ้น แล้วหา Pattern ของข้อมูล, จัดกลุ่มของข้อมูล(Micro segmentation) หรือการนำข้อมูลที่แบ่งกลุ่มมาแล้ว มาแยกต่ออีกให้เป็นกลุ่มย่อยๆ และเราสามารถนำ machine learning มาหา pattern ของข้อมูลเหล่านี้ได้ เราจะพอทำนายได้ว่าข้อมูลชุดนี้จะก่อให้เกิดผลอย่างไรในอนาคต

Session นี้โดยสรุปคือ ยุคนี้ค่อนข้างเห็นได้ชัดว่าข้อมูลที่องค์กรใหญ่ๆเก็บไว้ เพียงพอต่อการทำ Machine learning แล้ว และเทคโนโลยีนี้พร้อมแล้วที่จะถูกปล่อยออกมาโลดแล่นจากโลกของคอมพิวเตอร์สู่โลกความเป็นจริง

ทุกอย่างที่เกิดขึ้นมี Pattern ในการเกิด แค่คุณหา Pattern นั้นเจอหรือปล่าว

Session 1 : Google I/O Recap
Speaker: Apipol Sukgler Full-Stacked Developer @Mojito Technology

IMG_20170520_133745.jpg

ในเวอร์ชั่นของผมจะขอเล่าแบบเร็วๆย่อๆ เพราะมีหลายท่านได้เขียนไว้เยอะแล้วแบบละเอียดยิบเลย ผมจะแปะไว้ด้านล่างสุดของ session นี้นะครับ

-Integrate Google จะนำ AI ไป integrate เข้ากับทุกผลิตภัณฑ์ของ Google (Search, Ad, Image, Keyboard, etc)

-Google Gboard(keyboard) จะเดาคำศัพท์ที่เราพิมพ์ไปให้เลือกได้แม่นขึ้น

-Google keyboard realtime translate แปลภาษาผ่าน Google keyboard ได้เลย

gboard-google-translate-w782
https://www.androidpit.com/gboard-translate

-แอพ Duo จะปรับคุณภาพของ vdo ตามความเร็วของ internet ได้ดีขึ้น

-Street view จะบอกเราได้ว่า ย่านนั้นมีร้านอาหารอยู่ ฯลฯ

-Smart reply เข้ามาช่วยในการตอบ Email โดยจะจำ pattern การตอบของเราในแต่ละเมล์ และครั้งต่อๆไปก็จะแนะนำเราได้เลยว่าเมล์นี้จะตอบแบบไหน จะช่วยทำให้เราพิมพ์น้อยลงได้

-Google home ทำให้เสียงชัดขึ้น, Noise ลดลง, Error rate ลดลง ด้วยเทคนิคของ Deep learning

-Photo บอกเราได้ว่ารูปนี้มีอะไรอยู่ในนั้นบ้าง, ตัดส่วนที่เข้ามาบังรูปได้

machine-learning-image
-Google Lens โดยสรุปแล้วก็คือ เครื่องมือที่อยู่เบื้องหลังการประมวลผลภาพในทุกๆ Product ของ Google ไม่ว่าจะเป็น Google photo, Google Assistance, etc ก็ต้องมี Google Lens เข้ามาช่วยด้วย เช่น พอเราถ่ายรูปดอกไม้และเก็บไว้ใน Google photo มันจะสามารถบอกเราได้ว่าเป็นดอกอะไร พันธุ์อะไร, ถ้าเราถ่ายรูปร้านค้า ก็จะตอบเราได้ว่าร้านนี้คือร้านอะไร ชื่อร้านอะไร มีคะแนนการรีวิวเท่าไหร่, เข้ารหัส WiFi ให้เราเมื่อเราถ่ายรูปรหัส WiFi, หรือส่งรูปเข้าไปถามที่ Google Assistance ก็จะแชทตอบกลับมาว่ารูปนั้นคืออะไร โดยตัวที่คิดให้ Google Assistance ตอบเรื่องภาพก็คือ Google Lens นี้แหละ

google-lens
Google Lens ที่สามารถบอกชนิดดอกไม้, ชื่อร้านค้า, เข้ารหัส WiFi, ฯลฯ จากรูปถ่ายที่เรามีได้ รูปจาก DroidSan

-Tensor Processing Unit (TPU) เป็นหน่วยประมวลผลที่ออกแบบมาเพื่องาน AI โดยเฉพาะที่อยู่เบื้องหลังการตอบสนองของ Google home หรือทุกบริการที่เกี่ยวข้องกับ AI ซึ่งเราสามารถใช้บริการได้เพียงแค่แจ้งไปว่าต้องการใช้กับงานอะไร

-Google Assistance SDK เป็นชุดนักพัฒนาสำหรับอุปกรณ์ที่มี Sound processing เช่น Google home แต่ยังรองรับแค่บางภาษาเท่านั้น

-Google home Pro-Active สามารถเตือนเราได้ฉลาดยิ่งขึ้น เช่น ถ้าเราเคยบอก Google ว่าจะออกจากบ้านตอน 9 โมง แต่ตอนก่อน 9 โมง Google home อาจะมีการเตือนเราล่วงหน้า(โดยที่เราไม่เคยบอกให้มันต้องเตือนล่วงหน้า) พอเราถามว่ามีอะไร Google home ก็อาจจะบอกเราว่าช่วงนี้รถกำลังจะติดนะ ควรรีบออกให้เร็วขึ้นนะ

-Photo Sharing สามารถแชร์รูปออกมาให้คนอื่นหลังจากที่ถ่ายเสร็จแล้วได้เลย สามารถใช้ได้ในกรณีไปเที่ยวกับครอบครัวแล้วอยากแชร์แบบทันทีหลังจากถ่ายให้กับคนที่ไม่ได้ไปเที่ยวด้วยได้ หรือภรรยาอาจจะแอบไปตั้งค่าให้โทรศัพท์สามีแชร์รูปมาให้ก็ได้นะ อุปส์

-Photo book มีบริการนำรูปใน Google photo มาจัดพิมพ์เป็นเล่มได้ โดยคิดค่าบริการตามจำนวนหน้า แต่ยังให้บริการเฉพาะในอเมริกาก่อน และมีค่าใช้จ่ายตามนี้ครับ
– 7 นิ้ว (ปกอ่อน) $9.99
– 9 นิ้ว (ปกแข็ง) $19.99
*ทั้งสองแบบมีจำนวนหน้าเริ่มต้นที่ 40 รูป 20 หน้า (เฉลี่ยหน้าละ 2 รูป) ถ้าต้องการเพิ่มจำนวนหน้าจะต้องจ่ายเพิ่มที่ $0.35 สำหรับปกอ่อน และ $0.65 สำหรับปกแข็ง

google-io-2017-40-e1495080398500
ที่มา http://tech.firstpost.com

-Youtube super chat ทำให้คอมเม้นของเราค้างอยู่ด้านบนตามระยะเวลาที่กำหนด(ไม่เลื่อนหายไปตามเวลา) โดยเราจ่ายค่าบริการเป็นครั้งๆไป (คล้ายๆ BigGo)

Android O preview2

-Picture-in-Picture ย่อแอพลงเป็นจอเล็กๆเพื่อให้เราเล่นแอพอื่นไปพร้อมๆกันได้ เช่น กรณีต้องการจะอ่าน Feed ของ facebook ไปพร้อมๆกับการดู VDO ของ Youtube

img_0250-1068x598
Picture in Picture ที่มา scdn.androidcommunity.com

-Spotlight (Smart text selection) ปกติเวลาเรา Select ข้อความ ก็จะมีปุ่มมาให้เราเลือก select all, copy paste แต่ในเวอร์ชั่นใหม่นี้จะเช็คได้ว่าถ้าหากเรา select เบอร์โทร ก็จะมีปุ่มโทรออกให้เราเลือกด้วย

-App icon badge จะมีปุ่มสีแปะอยู่เหนือ app icon เพื่อให้รู้ว่าแอพนี้มีอะไรอัพเดท แต่ไม่ได้บอกจำนวนเหมือน iOS นะ

-Tensor flow lite สามารถทำ machine learning ในมือถือแอนดรอยได้ อารมณ์แบบ SQLite ที่ทำให้เราสามารถจัดการ database ในแอนดรอยได้

-Profiler (สำหรับนักพัฒนา) สามารถดูว่าแอพของเราใช้ Ram, CPU, Network ไปเท่าไหร่แล้ว จริงๆก็มีมานานแล้วแต่ทำให้น่าใช้มากยิ่งขึ้น

memory-profiler-callouts_2x
Profiler ที่มา developer.android.com

-Kotlin ถูกรวมเข้ากับ Android studio อย่างเป็นทางการแล้ว ไม่ต้องลง Plugin ให้เสียเวลา ตอนนี้ที่เขียนบทความอยู่สามารถโหลดได้ที่ Android Studio 3.0 Canary 2 และตอนนี้เริ่มมีบทความเกี่ยวกับ Kotlin เยอะมากเรียกได้ว่าเนื้อหอมและปังมากทีเดียว (ภาษาไทยก็เยอะแล้วนะ)

-VR จะมาในรูปแบบของ HTC, และ Lenovo ที่เป็น partner ในการผลิต Hardware ให้

-Visual Position Service (VPS) เป็นระบบนำทางแบบ indoor โดยนำระบบ Augmented Reality(AR) มาใช้งานด้วย เช่น ตอนที่เราอยู่ในห้างแล้วต้องการเดินทางไป Home Pro แอนดรอยที่มีระบบ VPS ก็จะสามารถนำป้ายหรือรูปภาพไปแปะไว้ในจอ(AR) เพื่อนำทางเราไปที่ร้านได้

อื่นๆ

-Cloud Job API ผู้ช่วยในการหางานที่มี machine learning อยู่เบื้องหลังเพื่อมาทำให้เราสามารถสร้างระบบที่ค้นหางานที่ตรงกับตัวผู้สมัครได้แม่นยำขึ้น

-Instance App ใช้แอพแอนดรอยโดยที่ไม่ต้อง install จริงๆแล้วก็มีการ install อยู่ แต่เป็นขนาดที่เล็กมากจนไม่รู้สึกว่า install สมมุติว่าเราเข้าเว็บ sanook.com แล้วในนั้นมีปุ่มให้โหลดแอพ(instance app) จังหวะที่เราใช้แอพนี้เราจะไม่รู้สึกเลยว่ามีการ install เพราะมันเร็วมาก แต่ก็เป็นแอพที่ตัดฟีเจอร์ออกไปพอสมควร(เพื่อให้มันเบาไง จะได้โหลดเร็วๆ) ถ้าหากอยากใช้งานแบบเต็มๆ ก็ต้องโหลดใหม่อีกที

-Progressive Web App (PWA) เป็นแนวคิดฝั่งเว็บบ้าง ข้อที่แล้วเป็นการทำแอพให้เบาเพื่อที่เวลาคลิกโหลดจากหน้าเว็บแล้วให้มันรู้สึกต่อเนื่องกัน(ไม่รู้สึกว่ามีการโหลด) แต่ PWA เป็นการทำฝั่งเว็บให้รู้สึกเหมือนใช้งานแอพอยู่ เช่น มี Shortcut icon บนจอ home screen, รับ notification เก็บข้อมูลลงเครื่อง user ฯลฯ แต่ประสิทธิภาพในบางจุดก็ยังเป็นรอง Native อยู่ดี[อ่านเพิ่ม]

-Firebase หลายคนน่าจะรู้จักกันอยู่แล้ว มันทำให้เราลดเวลาในส่วนของหลังบ้าน(backend)ได้เยอะมาก ซึ่งมีของใหม่ๆและของเดิมที่ปรับปรุงเพิ่มเติมพอสมควร เช่น Firebase Performance Monitoring

เว็บเกี่ยวกับ Google I/O 2017 ที่น่าสนใจ
1. สรุป Keynote งาน Google I/O 2017 มีอะไรน่าสนใจบ้าง สำหรับผู้ใช้ทั่วไปอย่างเรา
2. [Google I/O] สรุปฟีเจอร์เด่นใน Android O เน้นในเรื่องประสบการณ์ใช้งานที่ลื่นไหลมากขึ้น
3. สรุป! Google เปิดตัวอะไรบ้างในงาน Google I/O 2017
4. บทสรุปจาก Google I/O 2017 หรือว่ากูเกิลจะเป็นผู้ชนะในยุคสมัยแห่ง AI First [ซ้ำ]
5. [Droidsans พาทัวร์ฟรี] Google I/O 2017 : หนึ่งวันก่อนงานเริ่ม
6. สรุปงาน Google I/O 2017 วันแรกเน้น Android O
7. Google พลิกโลกอีกครั้ง! รวม 16 ประเด็นเด็ดที่ไม่รู้ไม่ได้ในงาน Google I/O 2017
8. มีอะไรใหม่ๆ ของเว็บใน งาน Google I/O 2017 บ้าง [สายเว็บ]
9. Tech Time: สรุปสิ่งที่น่าสนใจจากงาน Google I/O 2016

Session 2 : Introduction to Web Assembly
Speaker: Sarin Kesphanich Web Developer @MEB Corporation Ltd.

IMG_20170520_142012.jpg

ต้องบอกก่อนว่าผมเองก็ไม่แน่ใจในเนื้อหาที่สรุปมาสักเท่าไหร่เพราะยังไม่ได้ทดลองทำด้วยตัวเอง ถ้ามีอะไรผิดพลาดสามารถแนะนำมาได้โดยตรงเลยครับ

เท่าที่จับใจความได้คือ Web Assembly เป็น Web API ที่รันบน browser ในระดับที่ใกล้เคียงกับกับ Native code จะช่วยให้เว็บที่เป็น Web Assembly ทำงานบน browser แต่ละ OS ได้ดีขึ้น นอกจากประสิทธิภาพที่ดีขึ้นแล้ว ยังสามารถนำโค้ดเก่าๆที่เขียนด้วย C/C++ มาเปลี่ยนเป็น binary แล้วทำงานกับเว็บแอพของเราได้เลย คล้ายๆกับหลักการของ Android ที่สามารถนำ NDK มารวมกับ Java ได้

และเนื่องจากมันเป็น binary เวลาทำเป็น library ก็ไม่ต้องกลัวว่าจะเห็น source code ของเราเพราะมันแปลงกลับยาก แต่ก็ไม่จำเป็นว่าทุกเว็บจะต้องเปลี่ยนมาเป็น web assembly เพราะเว็บแอพบางอย่างก็ไม่เห็นประสิทธิภาพที่ชัดเจน โดยเว็บแอพที่ควรใช้ web assembly ได้แก่เว็บที่มีการประมวลผลหนักๆ เช่น

-Data visualization/ modeling
-Game
-Image processing
-Video compression
-Exist native code เว็บแอพที่มีโค้ดเก่าๆที่เป็น C/C++

เว็บ Web assembly ตัวอย่างที่เราสามารถลองเข้าไปเล่นได้
1. https://d2jta7o2zej4pf.cloudfront.net/
2. http://webassembly.org/demo/Tanks/

ข้อแตกต่างของ Web Assembly อีกอย่างก็คือจะใช้ Resource จาก client ทำให้ภาระไม่ตกอยู่ที่ Server มากเกินไป (แต่ถ้า Client ช้าก็ไม่รู้เหมือนกันว่าจะไหวมั้ยนะ) จากการที่ลองเล่นเว็บ Demo ทั้งสองเว็บทำให้รู้ว่าใช้ Resource เครื่องเราไปพอสมควรเลยนะ

2017-05-27_18-08-29.png
หลังจากที่เปิดเว็บทั้ง 2 เว็บนี้ CPU กับ RAM ก็พุ่งขึ้นอย่างเห็นได้ชัด

ตอนนี้ทุก Browser ได้สนับสนุน Web Assembly เรียบร้อยแล้ว แต่สำหรับ Firefox อาจจะยังไม่เห็นความแตกต่างมากนัก ส่วน edge และ safari ยังอยู่ในช่วง preview

1--Pk1dTbodHhms4GtWH3Dvg.png
ที่มา https://medium.com/@ruslannigmatulin

ในงานได้ทดลอง Demo เว็บเกมส์รถถังที่เล่นได้ลื่นไหลมาก และเว็บ Image processing ที่ทำให้ได้ Frame rate สูงกว่าเว็บปกติถึง 5 เท่า

2017-05-27_17-57-51.png
เกมส์รถถังที่ทำด้วย Web assembly
2017-05-27_17-56-40.png
เว็บใส่ effect ให้ VDO โดยมีเบื้องหลังคือ Web assembly สังเกตุกราฟเส้นสีเขียวที่แสดงถึง Frame rate ที่ต่างกันหลายเท่าตัว

ข่าวดีคือ ไม่ใช่แค่ Google เท่านั้นที่ผลักดัน Web assembly แต่ยังมี Microsoft, Firefox, Safari แต่ช่วงนี้ก็ยังไม่แนะนำให้ใช้กับเว็บ Production ที่สำคัญมากๆ เพราะมาตรฐานของ Web Assembly ยังไม่ค่อยนิ่งเท่าไหร่ ให้คอยติดตามกันต่อไป (เอ๊ะ ตกลงคือข่าวดีหรือปล่าวนะ)

ใครที่สนใจลองเข้ามาอ่าน Doc ได้ที่นี่เลย หรือ Github จากที่นี่ครับ

เนื้อหาของ Session นี้มีอยู่ในงาน Google I/O 2017 วันที่ 17 นะครับ

Session 3 : Introduction to Lean Concept
Speaker: Khanpakpum Kamonrotchai  @ สถาบัน ไทย เยอรมัน

IMG_20170520_150937_1.jpg

ปกติในด้านการพัฒนาซอฟแวร์เรามักจะคุ้นเคยกับ LEAN ในความหมายของการพัฒนาซอฟแวร์ให้เร็ว ให้เล็กที่สุดเท่าที่จำเป็น เพื่อให้ทันต่อการใช้งาน โดยที่ไม่จำเป็นต้องทำฟีเจอร์ให้เลิศหรูอลังการ แต่สำหรับ Session ของงานนี้ เราจะได้มารู้จัก LEAN ในมุมมองเชิงอุตสาหกรรมบ้าง เพราะจริงๆแล้ว LEAN เป็นศัพท์กลางๆที่ใช้กับอุตสาหกรรมได้ทุกๆอย่าง (รวมถึงอุตสาหกรรมซอฟแวร์) ถ้าจะให้เล่าเรื่องที่เกี่ยวกับ LEAN ทั้้งหมดก็เกรงว่าพื้นที่จะไม่พอ Session นี้จึงจัดมาเฉพาะบางส่วน เช่น Small dot จริงๆมันก็คือ JIT (Just in time) นั้นแหละใครที่เขียนแอนดรอยน่าจะได้ยินคำนี้บ่อยๆ เพราะในแอนดรอย L เพิ่งเปลี่ยนจาก JIT เป็น AOT(Ahead of time) และภายหลังก็นำมารวมกันเลยในแอนดรอย N อ่านเพิ่มเติมได้ที่นี่

ตอนนี้เรามาพูดถึงระบบก่อนที่จะเกิด JIT กันก่อนดีกว่า นั้นคือ

Big dot

Slide1.PNG

ในอดีตระบบอุตสาหกรรมจะผลิตของชนิดเดียวออกมาให้ครบก่อนแล้วค่อยผลิตชนิดใหม่ เช่น ที่โรงงานผลิตปลากระป๋อง ถ้าหากมีออเดอร์จากลูกค้าขอปลาซาดีนในซอสมะเขือเทศ 1000 กระป๋อง และปลาแห้ง 500 กระป๋อง โรงงานก็ต้องผลิตปลาซาดีนในซอสมะเขือเทศให้ครบ 1000 กระป๋องก่อน แล้วค่อยเปลี่ยนไลน์มาเป็นปลาแห้ง 500 กระป๋อง เคสนี้ก็ดูปกติไม่มีอะไรมาก แต่ความเป็นจริงแล้วทุกการทำงานในระดับแมสใหญ่ๆ มักจะเกิด defect อยู่เสมอ ทำให้ปลาซาดีน 1000 กระป๋อง อาจจะมีสัก 1 กระป๋องที่ไม่สมบูรณ์ ซึ่งถ้าตรวจสอบเจอก็จะถูกยกเลิกทั้งออเดอร์ได้ ถ้าผลิดเผื่อก็เป็นการสื้นเปลืองพลังงานอีก วิธีนี้เราเรียกว่า Big dot ปัญหาสำคัญอีกอย่างของ Big dot คือ ไม่สามารถรับมือกับการเปลี่ยนแปลง Requirement ได้บ่อยๆ เช่น ถ้าหากกำลังผลิตของชิ้นที่ 900 แต่ลูกค้ามาถามว่าขอลดเหลือแค่ 800 จะทันมั้ย แน่นอนว่าไม่ทัน จึงเกิดการพัฒนาวิธีการทำงานที่เรียกว่า Small dot ขึ้นมา

Small dot

Slide2.PNG

จะทำตรงกันข้ามกันกับ Big dot เลย คือ ค่อยๆผลิตทีละนิด สลับกันกับอีกออเดอร์นึง คือ ผลิตปลาซาดีน 100 กระป๋อง แล้วค่อยผลิตปลาแห้ง อีก 50 กระป๋อง แล้วค่อยส่งมอบของทีละนิดๆให้ลูกค้า ทีนี้หากลูกค้าขอลดออเดอร์ก็จะมีโอกาสปรับเปลี่ยนได้ง่ายขึ้น ถ้าหากเกิด defect ก็จะไม่ต้องยกเลิกสิ้นค้าจำนวนมาก เพราะยังมีอีกหลายอย่างที่ยังไม่ขึ้นไลน์ผลิต ความเสี่ยงก็น้อยลง การรับมือกับการเปลี่ยนแปลง Requirement ก็ยืดหยุ่นขึ้น

ในทางซอฟแวร์ก็เช่นเดียวกัน เราต้องพยายามแบ่งงานของเราออกให้เล็กลงอย่างเหมาะสม(เล็กมากไปก็ไม่ดี) เพื่อที่เวลาเกิดความเสียหายขึ้นจากการเปลี่ยน Requirement หรือเหตุอื่นๆ ความเสียหายจะไม่เยอะมาก และหากเราใช้เวลานานๆพัฒนาฟีเจอร์เทพๆ โดยที่ยังไม่รู้เลยว่าจริงๆแล้ว user ใช้งานบ่อยๆแค่ไม่กี่ฟีเจอร์เอง เราก็เสียเวลาพัฒนาฟรี ปล่อยแอพให้ผู้ใช้ช้าอีก ถ้าเกิดมีการเปลี่ยนแปลง Requirement ก็แก้ไขเยอะอีก ซึ่งยุคนี้ต้องยอมรับว่าธรรมชาติของ user จะมีการเปลี่ยนแปลง Requirement ค่อนข้างบ่อยถึงบ่อยมาก ฮาๆ

Session 4 : The Art of Continuous Improvement
Speaker: Warawut Meesupa Agile Coach @Electronics Extreme Co., Ltd.

IMG_20170520_152656.jpg

แนะนำตัว Speaker กันก่อนเลย ต้องบอกเลยว่าไม่ธรรมดาเลย เพราะเค้าทำงานในวงการอุตสาหกรรมไอทีมา 11 ปี อยู่ในแวดวง Agile Software Development มา 8 ปี Transform บริษัทมา 5 องค์กร

คำพูดที่น่าสนใจ: Certificate ไม่ได้เป็นตัวบอกว่าเราทำสิ่งนั้นเป็น มันบอกเราได้แค่ว่าเราควรรู้อะไรบ้าง

เริ่มต้นด้วย Kaizen

Kaizen มาจาก 2 คำคือ Kai = Change และ Zen = Good พอมารวมกันจึงเกิดเป็นความหมายอย่างง่ายๆว่า พัฒนาให้ดีขึ้น สำหรับองค์ประกอบการเกิด Kaizen ถ้าอุปมาเหมือนท่อน้ำ จะประกอบด้วยขั้นตอน 3 ขั้นตอน คือ

1. อุดรอยรั่ว (Fix leak)
2. ทำให้มันไหล (Make it flow)
3. สร้างสิ่งใหม่ๆ (New value stream)

1. อุดรอยรั่ว (Fix leak) ลดข้อบกพร่องหรือ bug ให้ได้เยอะที่สุด รายละเอียดมีดังนี้

  • หยุดและสำรวจ ค้นหาจุดบกพร่องของเรา
  • แก้ที่กระบวนการการทำงาน ไม่ใช่ผลลัพธ์ คน
  • กำจัดสิ่งที่เกินความพอดี (overload, burnden) เช่น มาตรฐานการทำงานของเครื่องจักรจะทำงานที่ 80% ของประสิทธิภาพทั้งหมดของมัน ถ้าเกินกว่าจะไม่คุ้มค่าบำรุงรักษา, การทำโอที, ทำงานจนเช้า อาจจะได้โค้ดที่อ่านไม่รู้เรื่องแถมมาด้วย
  • อย่าเร่ง ทั้งๆที่กำจัดปัญหาไม่หมด มันเป็นกับดัก ยิ่งเร่งด่วน ยิ่งต้องวางแผนให้แน่น
  • สนใจผลลัพธ์ สนใจว่าเราทำงานได้ครบถ้วนสมบูรณ์แค่ไหน อย่าเพิ่งสนใจว่าคุณส่งงานได้เร็วแค่ไหน ใช้เทคโนโลยีที่ดีเลิศแค่ไหน ไม่มีสิ่งที่ไม่พึงประสงค์ออกมาด้วย

ถ้าเราสำรวจแล้วพบว่าเรายังทำผลงานไม่ครบถ้วนสมบูรณ์ ให้กลับไปที่ข้อ 1 คือหยุดและสำรวจหารอยรั่วของเรา ทำวนไปจนกว่าจะได้งานที่ครบถ้วนและไม่มีสิ่งที่ไม่พึงประสงค์ออกมา

the-art-of-continuous-improvement-6-638.jpg
ที่มาจาก: https://www.slideshare.net

2. ทำให้มันไหล (Make it flow) ทำให้การทำงานของเราไม่สะดุด สามารถทำได้อย่างต่อเนื่อง
ขั้นตอนนี้ต้องมั่นใจก่อนว่าผลงานของเราไม่มีสิ่งที่ไม่พึงประสงค์(Bug)ติดมา ถ้าหากยังมี bug อยู่ให้กลับไปข้อแรกคือ Fix leak ก่อน และหลักสำคัญคืออย่าเพิ่งขยายสเกลงานให้ใหญ่ขึ้น ให้ลดขั้นตอนหรือต้นทุนต่างๆลงแต่ยังคงประสิทธิภาพเท่าเดิม

Do less to deliver same อย่าเพิ่ง Do more to deliver more.

1. Eliminate มีงานไหนที่ทำโดยไม่มีเหตุผลหรือปล่าว ทำตามๆกันมา ลองค่อยเฟดงานนั้นหรือถ้าตัดออกไปแล้วไม่กระทบต่อภาพรวมให้ตัดออกไปเลย
2. Combine งานที่ทำหลายๆรอบ หลายๆที่ ให้เปลี่ยนมาทำที่เดียวแล้วจบ เช่น จากเดิมที่ต้องประชุมกับหลายๆฝ่ายในหลายๆสถานที่ ลองเปลี่ยนมาประชุมทุกฝ่ายพร้อมกันในที่ที่เดียว หรือทำ Video conference
3. Rearrange งานอะไรที่เราจัดลำดับใหม่ได้บ้าง เพื่อให้ปัญหาไม่มาโผล่ตอนท้าย ให้เห็นปัญหาเร็วๆแล้วรีบแก้ เช่น ปกติใน water fall เราจะทดสอบตอนท้ายๆ เราก็ยังเจอปัญหา bug หลุดไปถึง user อยู่ดี เราลองมาเทสตอนรับ Requirement เลยได้ไหม หรือให้ dev ทำ unit test ด้วยเลย
4. Simplify มีวิธีไหนที่มันดีกว่า ง่ายกว่าของเดิม แต่ยังคงผลลัพธ์ได้เท่าเดิม โดยไม่จำเป็นว่าต้องใช้เทคโนโลยีใหม่ล่าสุดตลอด บางครั้งการใช้เทคโนโลยีใหม่ๆก็ทำให้ Dev รู้สึก proud แต่ผลลัพธ์ได้เท่าเดิม ถ่ายทอดความรู้ยากขึ้น ดูแลรักษายากขึ้น ก็ไม่คุ้มค่าต่อการไปใช้เทคโนโลยีนั้น
5. Easier and saver ทำให้ง่ายและปลอดภัยในการทำแก้ไขหรือพัฒนาต่อ

the-art-of-continuous-improvement-7-638.jpg
ที่มาจาก: https://www.slideshare.net

3. สร้างสิ่งใหม่ๆ (New value stream)

ถ้าหากยังลดปัญหา และงานยังไม่ไหลลื่น อย่าเพิ่งมาขั้นตอนนี้ เพราะขั้นตอนนี้เป็นการสร้างสรรค์สิ่งใหม่ๆ ถ้าหาเราสร้างสิ่งใหม่โดยที่ 2 ข้อแรกยังไม่พร้อม จะทำให้งานใหม่ๆของเราติดปัญหาเดิมๆไปด้วย จะทำขั้นตอนนี้ได้เราจะต้องมั่นใจว่าเราปลอดภัย มีพลังงานและเวลาเหลือจริงๆ จุดนี้คือจุดที่ก่อให้เกิดนวัตกรรม

  • หาเวลา พลังงาน ทรัพยากร เพื่อรองรับงานใหม่ๆ
  • ถ้ามีความผิดพลาดเกิดขึ้น ให้คิดว่าเป็นบทเรียน ไม่มีขาดทุน เพราะถ้าเราทำ 2 ข้อแรกได้แล้ว เราก็ได้กำไรแล้ว
  • ลงมือทำอะไรใหม่ๆ เพราะเรามีเซฟโซนแล้ว
the-art-of-continuous-improvement-8-638
ที่มาจาก: https://www.slideshare.net

ตัวอย่างในงานพัฒนาซอฟแวร์
เราทำงานไปเรื่อยๆจนเสร็จแล้วส่งมอบงาน จากนั้นพบว่ามี bug อยู่
1. อันดับแรกที่ต้องทำคือ หยุดไว้แค่นั้นก่อนแล้วสำรวจว่ามีจุดบกพร่องที่ไหน โดยเน้นแก้ที่ Process หรือกระบวนการทำงานของเรา ไม่ใช่แก้ที่คนหรือผลลัพธ์ เมื่อแก้ไขจนโปรแกรมของเราทำงานได้ตามที่ต้องที่การแล้ว
2. ลองสำรวจดูว่ามีจุดไหนที่สามารถ refactor ให้ง่าย ปลอดภัย ดูแลรักษาง่ายขึ้น โดยที่ไม่ต้องใช้ library หรือ plugin ใหม่ๆ
3. เมื่อเราคิดว่าปลอดภัยแล้ว มีเวลาเหลือ มีแรงเหลือ ก็ใช้ใช้เวลาและแรงของเราสร้างสรรค์โปรแกรมใหม่ๆ หรือกิจกรรมใหม่ๆต่อไป

ตัวอย่างในการบริหารเงิน
1. ลดรายจ่ายไม่จำเป็น
2. ทำสภาพคล่องให้มีเงินเหลือ
3. มองหาลู่ทางใหม่ๆได้เลย ลงทุน บลาๆ

เราสามารถนำ Kaizen ไปใช้ได้ในหลายๆงาน ไม่ว่าจะเป็นการลดน้ำหนัก, การเล่นกีฬา, การลงทุน, ฯลฯ

ใครที่เคยศึกษาพระพุทธศาสนาจะพบว่าสอดคล้องกับโอวาทปาฏิโมกข์เลย คือ
1. ละชั่ว อะไรที่ไม่ดีให้ ลด ละ เลิก
2. ทำดี ทำสิ่งที่ดีแล้วให้ดีต่อไป
3. ทำใจให้ผ่องใส มีกำลังใจสร้างสรรค์สิ่งใหม่ๆต่อ

ที่สำคัญคือเราจะต้องสามารถทำซ้ำได้ หลายๆครั้ง หลายๆวัน หลายๆปีได้ ตลอดชีวิต ถ้าหากเราไม่สามารถทำซ้ำได้แสดงว่ายังไม่เกิด Kaizen

อ่านเพิ่มเติมได้ใน Slideshare ของ Speaker ได้เลยครับ

Session5: Discussion เรื่องการพัฒนาซอฟต์แวร์อย่างยั่งยืน
Speaker1: Passapong Thaithatgoon(แชมป์) Programmer @Billme
Speaker2: Apaichon Punopas(บัฟ) เจ้าของเพจ ขาเดฟ และผู้บริหารฝ่ายพัฒนาแอพพลิเคชั่นห้างสรรพสินค้าชั้นนำ
Speaker3: Dom Charoenyos(โดม) ผู้ก่อตั้ง DomeCloud

IMG_20170520_155804.jpg
บรรยากาศการ Discussion

ช่วงนี้จะเป็นดำเนินรายการด้วยการถามตอบเป็นหลัก คือ Speaker ถามกันเอง และคนที่มาฟังก็ถามแทรกได้

Q: เทคโนโลยีที่เคยใช้
พี่บัฟ: .Net, Node JS, Postgres, MSSQL, Oracle, MongoDB, ect
พี่แชมป์: ภาษาหลักที่ใช้ Scala, Postgres
พี่โดม: Postgres และเล่ายาวเกี่ยวกับมันว่า ที่ใช้เพราะตอนนั้นทำเกี่ยวกับ VoIP ซึ่งถ้า database map ip ช้าไปหรือเร็วไปมันจะมีค่าใช้จ่ายที่เกิดจากความผิดพลาดตรงนี้สูงมาก ซึ่ง Postgres ตอบสนองเรื่องนี้ได้ดีที่สุดในยุคนั้น ซึ่งคนที่อยู่เบื้องหลังฟีเจอร์นี้ของ Postgres คือ AT&T เพราะ AT&T ต้องการ map ให้เร็วเพื่อที่จะให้เทคโนโลยีนี้เกิดได้

Q: มีวิธีในการเลือกใช้เทคโนโลยีอย่างไรดี เพราะตอนนี้มีของที่เกิดใหม่ให้เลือกใช้เยอะมาก เช่น React, Angular, Vue
พี่บัฟ: พูดในมุมมองการ maintenance ระยะยาว ควรเลือกตัวที่ผู้ที่สร้างเทคโนโลยีก็ใช้เองด้วย (ทำเอง ใช้เอง) เพราะมันจะยั่งยืนและไปได้ไกล เช่น Facebook ที่ทำ React, React-native, VR ก็ทำเองและใช้เอง แต่ดูหน้าเว็บ Google สิ ตรงไหนที่ใช้ Angular บ้าง (อุ๊ปส์ ตรงนี้พี่แชมป์พูดนะ อิอิ ได้ข่าวว่านี้มันงาน Google นะ แอบแซวแรง 555)

edit: ผู้เขียนบทความเพิ่งมารู้ทีหลังว่าเว็บ Youtube version ใหม่ก็ใช้ Polymer นะ ถือว่าผ่านละ อิอิ

เรื่องเล่า

ระหว่างการถามตอบอาจจะมีเรื่องเล่าที่แทรกเข้ามาเป็นเกร็ดเล็กเกร็ดน้อยในแต่ละคำถาม เจ้าของบล็อกก็ขอหยิบมาในบางจุดที่น่าสนใจนะครับ

เรื่องเซนส์ในการใช้เทคโนโลยีอะไรสักอย่าง (โดยพี่โดม)
พี่โดมเล่าว่า เทคโนโลยีอะไรสักอย่าง ถ้าหากเราอยู่กับมันนานๆพอ บางครั้งแค่เราชายตามองผ่านๆ เราก็จะพอรู้แล้วว่าเราควรจะใช้มันไหม หรือจะใช้มันกับงานอะไร แต่ก็มีพลาดบ้าง อย่างเช่น เรื่อง File system ที่ใช้ใน Storage (แต่ผู้เขียนบทความก็ฟังไม่ถนัดว่าชื่อ File system ว่าอะไร) แต่โดยสรุปคือ มันมี File system อันนึงที่จู่ๆก็โผล่มาให้ได้ลองใช้ แล้วมันมีฟีเจอร์ที่เจ๋งมากๆหลายๆอย่าง พี่โดมเลยกระโดดลงไปใช้มันอย่างจริงจังและหวังว่ามันจะเป็นความหวังใหม่ที่จะมาแทนที่ File system ตัวเดิม แต่แล้วโชคชะตาก็ได้เล่นตลก เมื่อมีเหตุให้ต้องกู้ข้อมูลออกมาจาก Storage ตัวนั้น ปรากฎว่า ความหวังใหม่ของเรากลับไม่มีความสามารถในการกู้ไฟล์ สิ่งที่ทำในตอนนั้นคือก็ต้องบอกความจริงกับลูกค้าว่าไฟล์ไปหมดแล้วนะ T_T และบอกลาเจ้า File system ตัวใหม่ไฟแรงนี้ไป แล้วหันหลังกลับไปซบไหล่ File system ตัวเดิมที่อาจจะไม่เฟี้ยวฟ้าวมะพร้าวกิงก่องแก้ว แต่ก็อุ่นใจกว่าในยามมีภัย

มุมมองเกี่ยวกับอาชีพโปรแกรมเมอร์ในอนาคต
โดยสรุปที่ฟังจาก Speaker ทั้ง 3 คน ได้ความว่า อาชีพนี้จะยังอยู่ต่อไป แม้ว่าโลกของเราตอนนี้จะมีเทรนของ AI, Machine learning ก็ตาม ยกตัวอย่างเรื่องของบริษัทหนึ่งที่จากเดิมใช้แรงคนในการขนของหรือเคลื่อนย้ายของที่ทำซ้ำๆอยู่บ่อยๆ ได้เปลี่ยนมาใช้หุ่นยนต์ขนของส่งของแทน ถึงแม้ว่าจะลงทุนสูงมากและเกิดรายจ่ายที่มากกว่าเดิม แต่เจ้าของบริษัทก็ยอมจ่ายเพื่อลดปัญหาที่มาพร้อมกับคน ถ้าเรารักในวิชาชีพนี้จริงๆมันจะยังมีอะไรให้เราเล่นได้อีกเยอะ

สรุป

จะเห็นว่าโดยรวมแล้วมีเรื่อง Machine learning มาเกี่ยวข้องเยอะมาก ในฐานะที่เราเป็น Developer ก็ลองแบ่งเวลามาศึกษาเรื่องนี้ จะสามารถทำประโยชน์ได้พอสมควร เจ้าของบทความเองก็ชอบ Machine learning มาตั้งแต่สมัยเรียนแล้ว แต่ตอนที่เรียนมันมองไม่เห็นอนาคต ยังไม่มี inspiration มากพอ เราเลยไม่รู้ว่ามันสำคัญ แต่ตอนนี้มันเหมือนมาเคาะประตูที่หน้าบ้านเราแล้ว มันอยู่ใกล้ตัวเรามากกว่าที่คิด ของบางอย่างที่เราใช้อยู่บ่อยๆ เรายังไม่รู้เลยว่าเบื้องหลังมันคือ machine learning เลย ถ้าเจ้าของบทความลองเล่นเจ้า machine learning เป็นชิ้นเป็นอันแล้วจะนำมาแชร์ต่อไปนะคร้าาาฟ

กิจกรรมร่วมสนุก(ปิดกิจกรรมแล้ว)

เนื่องจากเจ้าของ Blog ได้ของรางวัลจากงานเป็นเสื้อมา 2 ชิ้น ชิ้นแรกแจกให้น้องไปที่ทำงานด้วยกันไปแล้ว เลยยังมีอีกชิ้นที่ไม่รู้จะให้ใครเพราะไซส์ S ที่ผมใส่ไม่ได้ สำหรับผู้โชคดีที่จะได้รับเสื้อสุดพิเศษจากงาน Google I/O 2017 ศรีราชา จะต้องทำตามกติกา ดังนี้

-เข้ามาอ่านบทความและกดไลค์เพจ OatRice Story
-คิดชื่อบทความนี้ใหม่ ให้ไฉไล เก๋ไก๋ ปังกว่าเชื่อเดิม ที่เจ้าของบล็อกตั้งขึ้นมาอย่างมึนๆ
-เมื่อคิดชื่อได้แล้วให้มาคอมเม้นที่โพสต์ของแฟนเพจเท่านั้น
-ผู้โชคดี 1 คนที่คิดชื่อใหม่ของบทความได้ถูกใจกรรมการ จะได้ของรางวัลไป ซึ่งจะประกาศผลทาง FanPage OatRice Story ในวันเสาร์ที่ 10 มิถุนายน 2560 เวลา 20.00 น.

*การกดไลค์หรือ Reaction ของทุกคนอาจมีผลต่อการตัดสินใจของกรรมการ แต่สุดท้ายก็อยู่ที่ความชอบของกรรมการอยู่ดี 555

T-Shirt.png
ของรางวัลของเราคือ เสื้อ Google I/O 2017 Sriracha ตัวนี้นี่เองงง

Special Thank

ขอบคุณคุณอาที่ให้การสนับสนุนที่พักค้างก่อนที่งานจะเริ่มขึ้น 1 วัน เพราะกลัวว่าเดินทางมาวันจริงอาจจะมาไม่ทัน เลยต้องมาล่วงหน้าไว้ก่อน แล้วยังมาส่งที่งานด้วย ต้องบอกเลยว่าใจดีอย่างเดียวไม่พอต้องใจหล่อด้วย

ขอบคุณพี่จ้อน(มารู้จักกันใหม่ที่งาน) ที่ขับรถมาส่งที่ท่ารถตู้ศรีราชา ใจดีมาก แค่เราถามทางเฉยๆพี่เค้าก็อาสามาส่งเฉยเลย ระหว่างนั่งรถมากับพี่จ้อน พี่เค้าก็เล่าเรื่องประสบการณ์ชีวิตในสายงานที่ทำให้ฟัง ซึ่งหลายๆอย่างก็เป็นประโยชน์มากๆ ต้องขอขอบคุณออกสื่อมา ณ โอกาสดีด้วยครับ

และสุดท้ายขอบคุณทีมงานจัดงาน GDG ศรีราชา ที่แจกของรางวัล เฮ้ย ที่จัดงานดีๆแบบนี้ ซึ่งทำให้ได้อะไรติดตัวไปไม่น้อยเลยทีเดียว อย่างน้อยก็ได้เสื้อ 555 (แต่อยากได้ Chromecast มากกว่านะ)

This slideshow requires JavaScript.

^^ขอบคุณคร้าาฟ^^

Advertisements