จากแดนอีสานสู่งาน mobile conf 2019

สวัสดีครับ วันนี้ผมก็จะมาแชร์ประสบการณ์ การเดินทางจากขอนแก่น ไปงาน mobile conf 2019 ที่กรุงเทพ ณ โรงแรม s31 โดยงานนี้เป็นหนึ่งในงานที่ใหญ่ที่สุดในเอเชียตะวันออกเฉียงใต้ จากความสำเร็จในปี 2018 ที่มีผู้เข้าร่วมงานมากกว่า 300 คน ที่เป็นตั้งแต่ Junior Developer จาก Startup จนถึง IT Director จากบริษัทชั้นนำของประเทศมาเข้าร่วม และ ปีนี้ทางผู้จัดได้คัดเลือกจาก Call for paper หลากหลายหัวข้อให้เหลือเพียง 12 หัวข้อที่มาจากทั้งในและนอกประเทศ ซึ่งงานจะถูกจัดขึ้นที่ โรงแรม S31 ใกล้สถานี BTS พร้อมพงษ์ ในวันที่ 24 สิงหาคม 2019

โดย speaker ที่มาพูดในหัวข้อต่างๆและตารางเวลาการจัดงานมีดังนี้

โดยผมเลือกเดินทางกับเที่ยวบินของ Airasia ในเช้าวันที่ 24 สิงหาคม 2019 ซึ่งก็คือวันจัดงานเลย โดยจองเที่ยวบินช่วง 07:15 น. ปลายทางคือสนามบินดอนเมือง ถึงเวลา 08:10 น. โดยประมาณ ส่วนขากลับเที่ยวบินเวลา 19:35 น. ถึง 20:45 น. โดยงานนี้ผมได้ทำการบ้านเรื่องการเดินทางไว้เรียบร้อยหมดแล้ว เพื่อจะได้ประหยัดเวลาในการเดินทางทั้งขาไปและขากลับให้รวดเร็วขึ้น

ผมขอเริ่มต้นที่สนามบินดอนเมืองนะครับ หลังจากเครื่องลงจอด เที่ยวบินภายในประเทศ ก็ให้เดินไปประตูทางออกที่ 12 จะมีรถสาย A1 และ A2 ขึ้นสายไหนก็ได้ครับ

เมื่อออกประตูที่ 12 ผมก็เจอรถจอดอยู่ และรถที่ถูกส่งมาให้กับผมคือ A2 ผมจึงรีบเดินขึ้นรถทันที กลัวจะตกรถ โดยจะเสียค่าตั๋วรถ 30 บาทครับ บรรยากาศในรถก็เป็นตามในภาพครับ

หลังจากนั้นให้รอฟังเสียงเด็กรถแจ้งว่าถึง bts หมอชิต ก็ให้เราลงที่ป้ายรถเมล์ และเดินต่อไปอีกนิดหน่อย ก็จะเจอทางขึ้นรถไฟฟ้า bts หมอชิตครับ

จากนั้นไปซื้อบัตรรถไฟฟ้า bts ครับ โดยจะนั่งจากหมอชิต ไปลงพร้อมพงษ์ครับ เสียค่าตั๋ว 42 บาทครับ วิธีการใช้บัตร bts ขาเข้าให้แตะที่เครื่องอ่านครับ ส่วนขาออกให้สอดบัตรเข้าครับ

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

หลังจากนั้นเมื่อถึงปลายทางของเราสถานีพร้อมพงษ์แล้ว ให้เราเดินออกทางออกที่ 5 ซึ่งจะเป็นทางเดินไปโรงแรม s31 สถานที่จัดงานของเราครับ

และแล้วเราก็มาถึงล่ะครับ

โดยเมื่อเข้าไปในโรงแรม ก็สอบถามพนักงาน จึงได้ทราบว่างาน mobile conf จัดอยู่ที่ชั้น 5 โดยให้ขึ้นลิฟต์ไปครับ หลังจากออกจากลิฟต์ พอลิฟต์เปิดมา ผมก็อึ้งนิดหน่อย เพราะจำนวนคนที่มางาน มีมากกว่าที่ผมคิดไว้ค่อนข้างเยอะเลยครับ

จากนั้นผมก็เริ่มบรรเลงกินเบรคเช้า ซึ่งมีทั้งขนมปัง แซนวิช น้ำส้ม เรียกได้ว่าของกินไม่อั้นจริงๆครับงานนี้ หลังจากกินอิ่ม ผู้จัดงานก็เริ่มประกาศให้ผู้มาร่วมงานเข้าไปฟังได้ โดยมีพิธีกรเป็นสาวไทย 1 คนและสาวไต้หวัน 1 คนครับ

โดย speaker ท่านแรกคือคุณพีเป็น android developer จากบริษัท fastwork ซึ่งจะมาพูดในหัวข้อว่า “How Kotlin Met Flutter” ซึ่งในเซสชั่นนี้เป็นภาษาอังกฤษครับ เนื่องจากภาษาอังกฤษผมก็ดีม๊ากกกก(เสียงสูง…) ยังดีที่ส่วนใหญ่มีโค้ดให้ดูและรันตัวอย่าง ดังนั้นผมจึงขอสรุปตามความเข้าใจของตัวเองนะครับ ซึ่งโดยรวมน่าจะพูดถึงข้อดีของ flutter และภาษา kotlin ซึ่งสามารถใช้เขียนแบบ multi platform ซึ่งในตัวอย่างที่นำมาแสดง จะมีการเปรียบเทียบโค้ดของ android,ios,flutter โดยที่ flutter โค้ดค่อนข้างเขียนสั้นและกระชับกว่า ซึ่ง flutter จะเขียนด้วยภาษา dart ซึ่ง dev หลายคนอาจจะไม่ค่อยชอบ ซึ่ง kotlin เป็นพระเอกขี่ม้าขาวมาช่วยในจุดนี้ครับ

source code

slides present

ต่อไป speaker ท่านที่สองคุณ Prathan Phongthiproek (คุณแบงค์) จาก Secure-D มาพูดในเรื่อง “Mobile Defense-in-Dev(Depth)” เซสชั่นนี้มาเป็นภาษาไทยครับ ส่วนตัวเท่าที่ฟังมาชอบเซสชั่นนี้ที่สุดครับ เพราะหัวข้อนี้กำลังสนใจเป็นพิเศษครับ เกี่ยวกับด้านความปลอดภัยของแอปพลิเคชั่น

โดยจะมีการพูดถึงช่องทางการโจมตีต่างๆของแอป ดังเช่นในรูป

การทำ verification ให้กับแอปว่ามีขั้นตอนอะไรบ้าง และพูดถึงกรณีที่แอปมีการเก็บข้อมูลส่วนตัวของผู้ใช้งานหรือข้อมูลบัตรเครดิต ข้อมูลที่สำคัญอื่นๆ ไว้ในเครื่องมือถือ เป็นแบบ plain text จะสามารถถูกรีเวิสดูข้อมูลได้ ควรจะเก็บไว้ที่ server หรือเข้ารหัสไว้ และ proguard ไม่สามารถกันคนมารีเวิสดูโค้ดได้ ดังนั้นทางที่ดีสุด ต้องแบ่งความสำคัญของข้อมูล และจัดเก็บให้เหมาะสม โดยที่ส่วนสำคัญอาจจะต้องเก็บบน server เป็นหลัก และอาจจะต้องเข้ารหัสไว้

นอกจากนี้ยังมีคลิปวิดิโอตัวอย่าง ซึ่งใครเป็นคนทดสอบจำไม่ได้แล้วครับ เป็นการแสดงการแฮ็คตู้กดน้ำที่ใช้แอปในการกดสั่งซื้อ โดยหลังจากกดซื้อ หักเงิน และได้ขวดน้ำที่ซื้อแล้ว สามารถเติมเงินในแอปได้ แบบ no limit เลยครับ และพูดถึงกรณีแฮ็คบัตรรถไฟฟ้า แบบใช้ได้ไม่อั้นเช่นเดียวกัน ซึ่งได้มีผู้แจ้งเตือนไปแล้ว อนาคตก็คงจะมีการแก้ไขกันต่อไปครับ

ยังไม่หมดครับ ยังพูดถึงเคสตัวอย่างของ firebase realtime database จริงๆไม่ใช่ช่องโหว่ของทาง google firebase แต่อย่างใด น่าจะเป็นความผิดพลาดจากการตั้งค่าของผู้ใช้งานที่เปิดช่องโหว่มากกว่าครับ ในส่วนการตั้งค่า role ที่เป็น read,write ข้อมูลครับ

ลิงค์ศึกษาเพิ่มเติมครับ

(เอกสาร OWASP Top 10 2017 version “ภาษาไทย” เอามาจากเฟซของคุณแบงค์ครับ)

ต่อไป speaker ท่านที่สาม เซสชั่นนี้ก็ภาษาไทย มาแบบแพ็คคู่ครับ ผู้หญิงทั้งสองท่านเลยครับ คนหนึ่งเป็น UX Designer อีกคนเป็น Developer จากธนาคารกรุงไทยครับ มาพูดในหัวข้อเรื่อง “Conversation Design in LINE Business Connect”

ในหัวข้อนี้จะพูดถึงการทำแชทบอทครับ โดยทำแชทบอทบน Line ซึ่งระบบมีการเตรียม tool ให้เราใช้สร้างได้ค่อนข้างง่าย ซึ่งรูปแบบการตอบของบอทใน Line จะมีหลายแบบ เช่น เป็นเมนูให้เลือก,เป็น carousel เป็นต้น การสร้างตัวตนของบอท บุคลิกของบอท ซึ่งเรียกว่า persona ซึ่งจะเป็นส่วนสำคัญในการทำ marketing


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


เข้าสู่ช่วงบ่าย จะมีให้เข้าฟังเนื้อหา 2 ห้องครับ โดยผมจะยึดตามเนื้อหาห้องที่ผมเข้าไปฟังนะครับ โดยเวลา 13.00 น. ถ้าตามตารางผมจะเข้าห้อง Ballroom2 คุณ Jeeraphan จาก Appsynth มาพูดในหัวข้อเรื่อง “Modularization transformation” ซึ่งเป็นเนื้อหาในส่วนของการเขียน android โดยปกติการเขียนจะมี 1 module คือ app ที่มันกำหนดมาให้ตั้งแต่ตอนสร้างโปรเจค เมื่อโปรเจคใหญ่ขึ้น เวลาในการ build ก็จะมากขึ้นเป็นจำนวนหลายๆนาทีเลยครับ ดังนั้น speaker ได้แนะนำวิธีการแบ่งการเขียนออกเป็นหลายๆ module ซึ่งจากการทดสอบผลพบว่าสามารถ build ได้เร็วกว่าเดิมมาก และยังดีในแง่ของการแบ่งงานกันทำหรือทำงานเป็นทีมอีกด้วย (ห้องนี้จะออกแนวมืดๆนิดหนึ่ง ถ้า speaker เปิดเพลงแดนซ์ นี่ผมว่าดีเจมาเปิดเพลงในผับแน่นอน 555+ แซวเล่นนะครับผม)

หลังจากจบเซสชั่นนี้ ผมจึงเดินย้ายไปห้อง Ballroom1 ซึ่งจะเป็นหัวข้อของฝั่ง ios ของคุณ Samuel Giddins จาก Square ชื่อหัวข้อ “Empowering iOS Developers” ภาษาอังกฤษครับ เซสชั่นนี้จะไม่มีตัวอย่างโค้ดเลยครับ เป็นเนื้อหาล้วนๆ โดยรวมคิดว่าน่าจะพูดถึงวิธีทำให้โค้ด iOS มีประสิทธิภาพ ผมจึงถือโอกาสหลับไป ขอข้ามเลยนะครับ 😀

เซสชั่นต่อไป เป็นอีกหัวข้อที่รอคอยเหมือนกันครับ ของคุณ Somkiat Khitwongwattana จาก Nextzy หรือน้องเอก GDE android ครับ สมัยก่อนหัดเขียน android ใหม่ๆเคยปรึกษาน้องบ่อยๆครับ ถือเป็นโอกาสที่ดีที่ได้มาฟังตัวจริงบรรยายครับ น้องเอกมาพูดในหัวข้อเรื่อง “Architecture Components in Real Life” เซสชั่นนี้ภาษาไทยครับ พูดถึงการเขียน android ด้วย pattern ของ MVVC แบบ clean code โดยระหว่างของ viewModel กับ Repository จะมี useCase เพิ่มเข้ามาเพื่อให้ในส่วนของ viewModel clean ขึ้น ทำให้แบ่งส่วนการทำงานได้มากขึ้นและเขียน Test ได้ง่ายขึ้นอีกด้วย

slides present

หลังจากจบน้องเอก speaker ท่านต่อไปคือคุณ Enrique Lopez Manas มาในหัวข้อ “Diving into coroutines” เซสชั่นนี้เป็นภาษาอังกฤษ ผมลองฟังดูไม่แน่ใจว่าพูดอังกฤษหรือสเปน ฟังตามไม่ทันเลยครับ โดยรวมน่าจะพูดถึงการนำ caroutines มาใช้ใน android เพื่อช่วยในการเขียนโค้ดครับ แต่ประเด็นสำคัญอยู่ที่ว่า speaker ท่านนี้เป็น freelance!!! เหมือนกันกับผมครับ และเป็น GDE ด้วยครับ แอบเชียร์ 😀

เย้ พักเบรค 30 นาที….. จริงๆช่วงเย็นมี after party ที่ร้านอาหารญี่ปุ่นใกล้ๆโรงแรม มีบุฟเฟ่ต์เบียร์ครับ เสียดายที่ผมมาไกล ถ้าดื่มเกรงว่าจะเมาหัวราน้ำ อาจจะไปสนามบินไม่ทันตกเครื่องได้ จึงตัดสินใจเดินทางกลับไปสนามบินดอนเมือง เพื่อรอขึ้นเครื่องกลับขอนแก่นครับ ณ เวลา 15.20 น. ออกจากโรงแรม s31 ไปขึ้นรถไฟฟ้า bts พร้อมพงษ์ และลงที่ bts หมอชิต ลงไปทางออกหมายเลข 3 (ถ้าจำไม่ผิด) ไปขึ้นรถ A1 ครับ รถจะวิ่งตรงเข้าสนามบินเลยครับ เป็นอันจบบทความนี้ครับ (แถมรูป after party ขโมยของคนอื่นมาครับ ถ้าแวะมาเจอผมขออนุญาตไว้ ณ ที่นี้ด้วยนะครับ 😀 )

ฝากภาพสุดท้าย ไอเทมที่ได้รับจากงาน mobile conf 2019 ครับ 😀

(เพิ่มเติม) เนื้อหาแบบละเอียดของงานดูได้ที่บล็อคของน้อง mikkipastel นะครับ 😀

2