แชร์ประสบการณ์

ประสบการณ์ทำเว็บไซต์ให้ปลอดภัยด้วย HTTPS ไม่ยากอย่างที่คิด

สวัสดีครับบทความนี้จะเปลี่ยนไปแนวทางด้าน Infrastructure กันบ้าง ปัญหาที่ทำให้เกิดบทความนี้คือการประสบพบเจอเรื่อง security ของเว็บที่เพิ่งจะโดนสอยจน Admin Share Hosting ที่ผมใช้บริการรายปีแจ้งมาว่าเว็บนี้โดนเจาะซึ่งการที่เป็น share hosting จึงจะทำให้เว็บคนคนอื่นโดนรบกวนไปด้วยเขาจึง suspended account ของผม เครียดสิครับ เพราะมันไม่ใช่แค่ครั้งแรกที่เกิดปัญหาลักษณะนี้จำได้น่าจะสัก 4-5 ครั้งแล้วตั้งแต่ผมเช่า share hosting นี้น่าจะเกือบ 3 ปีได้

ครั้งที่เกิดปัญหาและได้รับการแก้ไขครั้งที่ผ่าน ๆ มาผมก็ไม่ได้ใส่ใจกับเรื่องความปลอดภัยแบบนี้สักเท่าไหร่ไม่คิดว่ามันจะทำให้เกิดปัญหานี้บ่อยขนาดนี้ การที่ผมพยายามหา Plugins หลาย ๆ ตัวมาติดตั้งก็ไม่รู้ว่าช่วยได้มากเท่าไหร่

ถ้ามองด้านคนที่จะมาโจมตี และพยายามเจาะระบบ แน่นอนเว็บ http จะโดนเพ่งเร่งก่อนเว็บ https อย่างแน่นอน นึ่งเฉยไม่ได้แล้วหาวิธีการทำอย่างไรให้เว็บไซต์จากเดิมที่เป็น http กลายไปเป็น https ได้และมองหาที่ฟรี ก็ลองค้นหาไปเจอบทความของ www.designil.com “สอนวิธีทำ HTTPS ง่าย ๆ ฟรี ๆ ทำให้เว็บไซต์เราโหลดเร็ว ปลอดภัย SEO แรง” ต้องขอขอบคุณบทความนี้มากที่สอนการเปลี่ยน http ไปเป็น https และดีมากขึ้นไปอีกเพราะสอนวิธีการกับเว็บ CMS อย่าง WordPress นี้ด้วย แบบไม่ยากอย่างที่คิด

Cloudflare เป็นบริการที่เรียกว่า Content Delivery Network (CDN) และมีบริการทำ https ด้วย อ้าวแล้วทำไมมันต้องฟรีด้วย ใน version จ่ายเงิน ก็มีครับแต่ผมก็ไม่รู้ว่าแตกต่างกับ version free อย่างไร ในด้านการให้บริการอย่างไรบ้างคงต้องรอบทความที่อธิบายรายละเอียดเรื่องนี้ดี ๆ กันต่อไป

ก็ขอให้บทความนี้เก็บขั้นตอนการแก้ปัญหาเรื่อง account suspended พร้อมทำ https ไว้ที่นี่เลยแล้วกัน

เพราะต้องทำเวลาสักพักในการรอให้ cloundflair ตรวจสอบจัดการเรื่อง https ก็เลยมาจัดการเรื่องนี้ก่อน

  1. register clondflair ก่อน Login เข้าไป +Add Site
  2. Cloudflare จะทำการแสกนโดเมนเรา ต่อไปก็เลือก Coundflair Free Plan
  3. จากนั้นไปเปลี่ยน DNS Name Server ที่เว็บที่ไปจด Domain (อาจจะใช้เวลาสักครู่..) กรอกเปลี่ยนให้เป็นตามนี้
  4. เข้าไปหน้า Cloundflair Console Panel เลือกเมนู Crypto เปลี่ยนให้เป็นตามนี้
  5. เนื่องจาก poolsawat.com เป็นเว็บที่ใช้ wordpress ต้องติดตั้ง plugin 2 ตัวเพิ่มเข้าในเว็บ
    1. ติดตั้ง Plugin
      1. Cloudflare – ติดตั้งแล้วเปิดใช้งาน จะต้อง Log In ด้วย Username / API Key ของ Cloudflare ก่อนครับ (สามารถกดตามในหน้าล็อกอินเพื่อเอา API Key ได้เลย)
      2. Cloudflare Flexible SSL – ตัวนี้ติดตั้งแล้วเปิดไว้เฉย ๆ ไม่ต้องตั้งค่าครับ
    2. เปลี่ยน http:// ในเมนู Settings > General ช่อง WordPress Address กับ Site Address เป็น https://
  6. ทำการแจ้ง admin ที่ดูแล hosting ให้ปลดล๊อก account ของเราซะก่อนเพื่อที่จะเข้าไปดำเนินการ backup ของมูลเว็บเราไว้ก่อน
  7. เข้า direct admin เพื่อไป backup file และก็ database
  8. ต้อง restore theme ให้เป็น default และ uninstall plugin ออกจากเว็บก่อน
  9. ติดตั้ง wordpress เวอชั่นล่าสุด
  10. import database เข้า และ copy uploads folder ไปที่ hosting
  11. ทดสอบเข้าใช้งาน

ขั้นตอนทั้งหมดอาจจะลืมหรือขาดขั้นตอนไหนไปก็เพราะตอนที่แก้ปัญหาไม่ได้นึกว่าจะมาเขียนบบทความนี้ แต่เมื่อแก้ปัญหาสำเร็จก็อยากจะแบ่งปันประสบการณ์เรื่องการเปลี่ยนเว็บให้ไปเป็น https ไม่ได้ยากอย่างที่คิด

เล่าประสบการณ์แข่งขัน Hackathon ครั้งแรกให้ชีวิต

เพิ่งผ่านพ้นไปไปกับงาน PWA Online Hackathon งานสำหรับนักพัฒนาสาย Web ที่จะสร้างสรรค์ผลงานในช่วงแค่ระยะเวลาแค่ 48 ชม. โดยเรียกว่าเปิดโอกาสให้นักพัฒนาทั่วไป ไม่ใช่แค่ภายในประเทศไทยแต่รวมถึงนักพัฒนาทั่วโลก โดยงานถูกจัดขึ้นเมื่อวันที่ 23 มิถุนายน 2560 20:00 น. – 25 มิถุนายน 2560 20:00 น.

PWA Online hackathon คืออะไร

PWA Online Hackathon เป็นการแข่งขัน Hackathon ที่ไม่ต้องมาเจอหน้ากันจริงๆ ต่างคนต่างทำอยู่บ้าน สร้าง Web Application เจ๋ง ๆ แล้วส่งมาแข่งกันผ่าน online Web Application ของใครเจ๋ง ก็รับรางวัลมากมายจากเราไปได้เลย

โดยงานนี้ได้ Sponsor  บริษัทใหญ่ ๆ หลายบริษัท

ของรางวัลเรียกได้ว่าจัดเต็มกันเลยที่เดียว

เมื่อได้สมาชิกในทีมครบ ซึ่งก็เหลือเวลาเตรียมตัวก่อนถึงวันแข่งขันจริง ประมาณ 2 สัปดาห์ ในระหว่างนี้ก็คุยกันผ่าน Social เพียงอย่างเดียว โดยสร้างกลุ่ม Line ขึ้นมา เพื่อนในทีมบางคนยังไม่เคยเห็นหน้ากันเลยด้วยซ้ำ จึงจำเป็นต้องให้มาพบหน้ากันสักครั้ง เพราะล้วนแต่ทำงานในบริษัทคนละแห่งกัน ก็เลยถือโอกาสช่วงเย็นหลังเลิกงาน นัดพบปะเจอหน้า

แน่นอนการแข่งขันย่อมมีกฏกติกา มาดูรายละเอียดกันหน่อย

กติกา
  • ทีมที่เข้าแข่งขันต้องมีสมาชิกตั้งแต่ 1 – 5 คน
  • เรามีเวลาให้ 48 ชั่วโมงสำหรับการสร้าง Web Application ห้ามสร้างก่อนเป็นอันขาด
  • ทุกทีม ต้อง push code ทั้งหมด ขึ้น GitHub อย่างสม่ำเสมอ ในช่วงเวลา 48 ชั่วโมง
  • งานของทุกทีมต้อง Host อยู่บน Firebase hosting เท่านั้น
  • เรามีกฏนิดหน่อยสำหรับ Web Application และทางกรรมการขออนุญาตตัดสิทธิสำหรับ Application ที่ทำผิดกฏ
  • ทางทีมผู้จัดงานจะส่งรายละเอียด เรื่องวิธีการส่ง Web application หลังจากที่ได้สมัครแล้ว

ดูรายละเอียดของกติกา ก็ไม่ได้มีอะไรที่มองดูแล้วว่าจะยาก เป็นห่วงเพียงเรื่องเดี่ยวคือ Firebase hosting ซึ่งในทีมก็ยังไม่เคยได้ลองใช้งานกันเลย

ต่อมาเรื่องกฏที่ต้องให้ความใส่ใจเป็นพิเศษ

กฏ
  • เราไม่อนุญาตให้ ทำ Backend หรือ API เองเป็นอันขาด
  • แต่มันจะไม่สนุกเลยถ้าใช้ API ไม่ได้เลย เราจึงยอมให้ใช้ API ที่เป็น Public และ “ฟรี” ได้ (API ที่เป็น Free plan นับเป็น ฟรีเหมือนกัน)
  • Frontend Library ต่าง ๆ ที่เปิดเป็น Public สามารถใช้งานได้ทั้งหมด
  • Web Application จะต้องมี Web App Manifest (สามารถ Add to home screen ได้สมบูรณ์) และ Service worker ติดตั้งอยู่
  • Web Application จะต้องใช้งานได้บางส่วนหากไม่ได้เชื่อมต่อ Internet

งานยากเลยสำหรับกฏบางข้อกับเวลา 48 ชม. ส่งรายละเอียดให้สมาชิกแบ่งงานกันไปคิด ทุกคนตั้งทำถาม “พวกเราจะทำเกี่ยวกับอะไรดี”

1 สัปดาห์ก่อนถึงวันแข่งขัน

นัดรวมตัวกันอีกครั้ง ครั้งนี้เป็นวันที่ต้องนำ Idea ของแต่ละคนมา Share กันแล้วว่าจะทำอะไรดีในช่วงระยะเวลาแข่งขันอันสั้นนี้ ได้ข้อสรุปว่าเราจะใช้ Web Navigator เป็นสิ่งหลัก โดย Interface Navigator นี้จะสามารถเรียก Device ของเครื่อง Client ที่ User ใช้งานอยู่นั้น โดยจะเรียก Feature ของ Hardware ได้หลายอย่างมาก เช่น Microphone , Camera ,Bluetooth ,Notification ,Audio ,Battery ,Geolocation เหล่านี้เป็นต้น จึงเลือกมาใช้เป็น Feature ของ Application ทีมเรา

จึงได้สรุป Feature หลัก ๆ ที่ตั้งใจว่าที่จะให้ Application เราต้องสามารถทำได้

  • Take photos ต้องถ่ายภาพได้
  • เก็บ Location (Latitude,Longitude) ของ User ที่ใช้งานได้
  • Google Map ต้องแสดงตำแหน่งของ User ที่ใช้งานได้บนแผนที่ พร้อมกับแสดงตำแหน่งของ User ที่เรียกใช้งาน App ได้ในบริเวณใกล้เคียง โดยแสดงเป็นตำแหน่ง Mark บน Google Map
  • แสดง Gallery รูปภาพของตัวเองได้
  • สามารถลงชื่อเข้าใช้งาน App ได้ด้วย Google Account , Facebook Account
  • แสดง Gallery รูปภาพของ User ที่ใช้งาน App โดยทำมาแสดงเป็น Feeds ข้อมูล โดยจะทำการกด Like ให้กับรูปนั้น ๆ ได้
  • มีการแจ้งเตือน User ให้กรณีที่มี User อื่นที่ถ่ายภาพในบริเวณใกล้เคียงได้
  • ส่ง Email แจ้งเตือน กรณีลงชื่อเข้าใช้งานในครั้งแรก

เมื่อสรุปขอบเขตของ Application ได้แล้วก็ลงมือ ออกแบบ Prototype หน้าจอก็ได้ออกมาหน้าตาแบบนี้

เนื่องจากเป็นการ Coding ข้ามวันข้ามคืนก็ต้องการสถานที่กบดานกัน ผมเลยเสนอสถาที่นี่เลย บ้านบางเขน ถ้าใครเคยได้ยินจะพอทราบว่าเป็นแหล่งพักผ่อนในแบบคนที่ชอบถ่ายภาพ และก็จะมี Zone ห้องแอร์สำหรับนั่งอ่านหนังสือ คุยงาน ถือว่าเหมาะมากสำหรับนั่งทำงานบรรยากาศเงียบสงบแอร์เย็น เพราะเสียค่าบัตรเข้าใช้บริการ 20 บาท (สามารถนำบัตรไปแลกน้ำเปล่าได้ 1 ขวด) ก็สามารถเข้าใช้บริการห้องอ่านหนังสือได้แล้ว พวกเราเลือกที่จะไปรวมตัวกันที่นี่

วันแข่งขัน

และแล้วก็มาถึงวันเริ่มแข่งขัน วันที่ 23 มิถุนายน 2560 20:00 น. ทีมเราลงความเห็นว่าจะผักผ่อนกันก่อนโดยจะไปเริ่ม เช้าวันเสาร์ 09:00 น.

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

โดยเราเลือกใช้ Angularjs และเลือก materializecss.com  นี้เป็นหลักในการ Implement App ในครั้งนี้

ในระหว่างที่แต่ละทีม Coding อยู่แต่ละทีมก็จะสามารถความเลื่อนไหวของทีมอื่น ๆ ได้แบบ Realtime เพราะทีมผู้จัดออกแบบการแสดงผลของคะแนนไว้แล้ว สามารถเข้าดูได้ตลอดเวลา

เกณฑ์การตัดสินมีคะแนนรวมของเครื่องมือที่ชื่อ Lighthouse  ที่จะค่อยวัดประสิทธิภาพแอพเราว่ามีคะแนนรวมเท่าไหร่โดยแบ่งการให้คะแนนออกเป็น 4 ด้าน

  • Progressive Web App
  • Performance
  • Accessibility
  • Best Practices

โดยทุกหัวข้อจะมีคะแนน 100 คะแนน ก็รวม ๆ แล้ว 400 คะแนนเห็นจะได้ซึ่งทีมเราก็ไม่น้อยหน้า ก็ต้องวัดประสิทธภาพด้วยเช่นกัน

ช่วงแรกเรามองคะแนนของให้ความสนใจกับเรื่อง Progressive Web App ซะส่วนใหญ่ และจะกลับมาปรับ Tune Performance ในภายหลังแต่ก็ไม่ทันเวลา แต่มองว่าเครื่องมือนี้ช่วยเราได้ในระดับนึง

เราใช้เวลาได้ไม่เต็มที่นั่งเพราะก็มองการแข่งครั้งนี้เป็นการเก็บประสบการณ์ไปก่อน ต้องขอบคุณทุกคนในทีมที่ช่วยกันได้อย่างเต็มที่

นี่คือตัวอย่างหน้าจอสุดท้ายก่อนหมดเวลา

 

สรุปสิ่งที่ได้รับจากงาน Cloud Functions for Firebase and Next Generation of Web

Cloud Functions for Firebase

ถือเป็นครั้งแรกที่บริษัท Tencent จัดงาน Tencent Open House #1 ซึ่งบริษัท Tencent ฟังดูอาจจะไม่คุ้นหูเพราะ Tencent ถือบริษัทที่ถือกำเนิดที่ประเทศจีนเป็นบริษัทยักษ์ใหญ่ทางด้านวงการไอที แบบเดียวกับ Alibaba และ Baidu เลยที่เดียว

Tencent เป็นบริษัทให้บริการด้าน System Integration หรือบริการวางระบบคอมพิวเตอร์และเครือข่ายสำหรับองค์กรเป็นหลักถ้า Product ที่ดัง ๆ ในไทยบ้านเราก็ยกตัวอย่างเช่น sanook.com , Wechat , Joox , ฯลฯ เป็นต้น ข้อมูลเพิ่มเติมเกี่ยวกับบริษัท Tencent

งานถูกจัดขึ้นในช่วงเย็นของวันที่  25 เมษายน 2017 เวลา 18.00-21.00 ที่ บริษัท เทนเซ็นต์ (ประเทศไทย) อาคารเมืองไทย-ภัทร คอมเพล็กซ์ (อาคาร A) ชั้น 16

Agenda ของงาน
18.00 – 18.45 | Register, discussion and networking with free pizza and drinks
18.45 – 19.00 | Opening Notes by Tencent Thailand
19.00 – 19.45 | “Topic : Cloud Functions for Firebase” by K.Tee
19.45 – 20.00 | Break
20.00 – 20.45 | “Topic : Next Generation of Web” by K.Thang
20.45 – 21.15 | Q&A, Networking, Chit-Chat

ใช้เวลาเดินทางไม่นานเมื่อถึงที่จัดงาน เดินเข้าไปก็จะพบกับอาหารที่ทางผู้จัดงานมีให้กินก่อนเข้าฟังการบรรยาย

ส่วนด้านหน้าเวทีการบรรยาย

เมื่อได้เวลาตาม Agenda ที่วางไว้ท่านแรกคุณตี๋ (จิรวัฒน์ กรัณย์วิทยาการ) Google Developer Expert ด้าน Firebase คนแรกของประเทศไทย โปรไฟล์ไม่ธรรมดาครับคนนี้มาพูดเสนอกับ Product ที่เพิ่งจะเปิดตัวใหม่ของ Firebase ที่ชื่อ Cloud Functions for Firebase

Cloud Functions จะมาช่วยแก้ปัญหาให้ Developer เข้าถึง Event ต่าง ๆ ของ Firebase ได้เป็นการรวมการทำงานของ Firebase กับ Google Cloud เข้าด้วยกัน สิ่งที่ CloudFunctions นี้จะช่วยให้ช่วยให้ผู้ใช้งานทราบและพร้อมกับทำการปรับปรุงข้อมูลบน Database ได้เลยโดยผ่าน Logic การทำงานที่เราได้ทำการเขียนฝั่งไว้ที่ Cloud Functions นั้นแล้ว

โดยแต่ก่อนการที่จะใช้งาน Firebase จะยังไม่สามารถเขียน Functions การทำงานในฝั่งของ Firebase ได้จะเป็นต้องเขียน Function การทำงานในฝั่ง Server ของเราเองและค่อยเรียกใช้ Firebase Database ถ้าอยากจะใช้งานเกี่ยวกับการเก็บข้อมูลสิ่งเหล่านี้จะถูกทำที่ฝั่ง Server เราเอง  แต่เมื่อมี Firebase Cloud Functions มาจะช่วยให้เราสามารถเขียน Functions การทำงานใน Firebase ได้เลย ยกตัวอย่างเช่น

ตัวอย่างการทำงานของ Cloud Functions for Firebase

เมื่อมีการส่ง message เข้ามาให้ฝั่ง Firebase Server และ Cloud Functions จะดักจับ Event Functions ที่เราเขียนไปเพื่อที่จะสั่งให้ไปทำอะไร โดย Function นี้จะทำงานอยู่เบื้องหลังโดยไม่ต้องมาเขียน Function จัดการในฝั่ง Server ของเราเองเลย

อีก 1 ตัวอย่างการทำงาน

เมื่อมีการสั่งอัพโหลดไฟล์เข้ามาที่ Firebase Storage จะทำการ Trigger ไปบอก Cloud Function ให้ทำการ Resize Picture และเก็บใน Firebase Storage โดยเพื่อที่จะใช้ในการ preview Picture บน Mobile จะไม่ต้องทำเป็นต้องแสดงรูปที่มีขนาดใหญ่ โดยตัว Function  Resize Picture จะถูกเขียนฝั่งไว้ที่ Cloud Functions เรียบร้อยแล้วเพียงแค่เราเรียก Service การอัพโหลดรูปจาก Firebase Cloud Functions เท่านั้นเอง

การที่จะเริ่มใช้งาน Firebase Cloud Functions

Cloud Functions for Firebase ณ เวอร์ชั่นตอนนี้ Support ภาษา Javascript ได้ภาษาเดียวเท่านั้นโดยเครื่อง developer จำเป็นต้องติดตั้ง NodeJS และ Firebase CLI ตัวอย่างการเริ่มต้นใช้งาน Cloud Functions Get Start ทุกครั้งที่ developer ได้ทำการสร้าง Functions เสร็จ ทุกครั้งจำเป็นจะต้อง deploy functions เหล่านั้นที่ได้พัฒนาไปที่ Firebase ก่อนทุกครั้งโดยจะเสียเวลาประมาณ 1-3 นาที

จบไปกับการบรรยายเรื่อง Cloud Functions for Firebase

พักเบรคกันสักครู่ ต่อกันด้วยเรื่องที่ถูกใจนักพัฒนาสาย web กันหน่อย

Next Generation of Web

บรรยายโดยคุณตั้ง (วรัทธน์ วงศ์มณีกิจ) Google Developer Expert ด้าน Web Technologies สายโหดด้านเว็บมาอัพเดทแนวทางการพัฒนาเว็บในปัจจุบันและต่อไปในอนาคต

เนื่องจากสายเว็บจะอยู่ไปต่อให้ได้ต้องทำงานให้เสมือนเป็น app บน mobile แอพนึง application ที่พัฒนาสำหรับ mobile platform เพราะด้วยขนาดที่ใหญ่เปลืองพื้นที่จัดเก็บและบางแอพยังไม่คุ้มค่ากับการ Download เพื่อมาติดตั้งเพียงแค่ใช้งานเพียงน้อยนิด จึงทำให้ผู้ใช้งานเลือกที่จะลังเลกับการ Download เพื่อมาติดตั้งใช้งานบนเครื่อง การพัฒนา Website ให้มีหน้าตาคล้ายกับ Mobile App จึงมาช่วยตอบโจทย์เรื่องขนาดของ Application นี้ได้

เรื่องการทำเว็บ Responsive ที่ว่าเป็นเรื่องที่ได้รับความนิยมมากในไทย แต่ผิดกับต่างประเทศที่มองว่าเรื่องการพัฒนาเว็บแบบ Responsive นี้มองว่าไม่จำเป็นที่จะพัฒนาเพื่อในเว็บของเรานั้นเป็น Responsive เลย เพราะด้วยว่าผู้ใช้งานบน Mobile ก็ไม่ได้ยืดขยายเว็บ จึงมองว่าไม่จำเป็น ขนาดยักษ์ใหญ่อย่าง Facebook ยังแยกการพัฒนาเว็บให้ Run ได้เฉพาะ platform เดียวเท่านั้น

https://m.facebook.com/ ที่พัฒนามาเพื่อ run บน mobile เพียงอย่างเดียว

โดยคุณตั้ง มอง 7 สิ่งนี้ที่จำเป็นสำหรับการพัฒนาเว็บในอนาคตไว้ดังนี้

  • More Look Like App : การที่จะพัฒนาเว็บให้เรียนแบบ mobile application นั้นได้เว็บเราจพเป็นต้องรองรับการทำงานแบบ PWA (Progressive Wep App)
  • More Speeds : ในปัจจุบันเรื่อง Speeds สำหรับผู้ใช้งานคือว่าสำคัญมากเมื่อ 2015 โดยเฉลี่ย 53% สำหรับ User จะไม่รอ Website ที่โหลดหน้าแรกยาวนานเกินกว่า 3 วินาที และต่อไปในปี 2016 เปอร์เซ็นการที่ User จะไม่รอ Website ที่โหลดนาน ๆ ก็จะเพิ่มสูงขึ้นเรื่อย ๆ
  • More User Engagement : การที่เว็บจะทำงานให้คล้ายกับ Mobile App ได้แบบเนียนมาก ๆ เรื่องที่แอพทำได้ Notification ก็ควรที่จะทำได้ซึ่งในปัจจุบัน Browser บางตัวสามารถทำงานได้แล้ว
  • More Hardware Access : เว็บเองสามารถเรียกใช้งาน Hardware บน Device ได้แล้ว เช่น Microphone , Camera ,Bluetooth เป็นต้น ยิ่งเข้าไกล้ mobile app เข้าไปทุกที
  • More Connectivity independent : สิ่งหนึ่งที่แอพ บน Mobile บางแอพทำงานได้ในสถานะที่ไม่มี internet ที่ฝั่งเว็บยังไม่สามารถทำได้ในอดีตซึ่งมองว่าเรื่องนี้เป็นสิ่งที่ต้องได้รับการแก้ไข ปัจจุบันสิ่งนี้ได้รับการแก้ไขแล้วด้วย Services Worker ทำให้ Website ทำงานได้แบบสถานะ Offline Browser จ้าวดัง ๆ ในตอนนี้ก็ Support เรื่องนี้เรียบร้อยแล้ว
  • More Secure : เพราะว่าเรื่องความปลอดภัยในปัจจุบันกำลังให้ความสำคัญเป็นอันดับต้น ๆ การที่ User จะมั่นใจได้ว่า Website ที่เข้าใช้งานนั้นมีความปลอดภัยในระดับนึง ซึ่งการทำ Https ให้กับ Website จึงเป็นสิ่งที่ทำให้ User มั่นใจในระดับนึงได้ว่าเว็บไซตที่กำลังเข้านั้นมีความปลอดภัย Top 100 Website ในไทย มีเว็บที่เป็น Https เพียง 40 Website แต่ที่น่าตกใจมีเพียงไม่ถึง 10 % เป็น Https แบบสมบูรณ์ 100 %
  • More Easier : ความง่ายในการใช้งานถือเป็นส่วนสำคัญที่ทำให้ Website จะต้องตระหนักถึงการพัฒนาเว็บไซต์ให้ง่ายต่อการใช้งาน Google มองเห็นเรื่องการทำระบบ Login เป็นเรื่องที่ทำบ่อยจึงกำเนิด Feature Auto Login ให้สำหรับการจำข้อมูลการ Login ของ User กับ Website นั้น ๆ และการใช้งานบน Device อื่นนอกเหนือจากที่เคย Login ไว้ในการเข้าใช้งาน Website เดียวกันจะแจ้งการ Login เคยเข้าใช้งาน Website นี้จาก User นี้จะให้ทำการ Login ด้วย User นี้เลยหรือไม่ เรื่องนี้ก็เลยทำให้การใช้งาน Website ดูง่ายขึ้นไปอีก

 

แบ่งปันเรื่องราวการเข้าร่วมงาน CodeEXP งานของผู้ที่ผ่านการได้เข้าทำงานกับบริษัท Top Tech Company

Code EXP แชร์ประสบการณ์การเตรียมตัวและสัมภาษณ์งานกับ Top Tech Company

งานแบ่งปันประสบกานณ์จากผู้ที่ได้ผ่านด่านการสอบสัมภาษณ์งานบริษัทชั้นนำด้าน Technology ชั้นนำของโลก มาบอกเล่าแนวทางวิธีการก่อนการเริ่มสมัครงานกับบริษัทต่างชาติเหล่านี้ได้อย่างไร

แนวทางแรก ประเภทของวีซ่า

การเข้าไปทำงานที่ USA นั้นยากมาก โดยทาง USA ได้มีแบ่งคุณสมบัติของวีซ่าแต่ละประเภท ไว้ดังนี้

  • H-1B คือ หากท่านเดินทางไปยังสหรัฐอเมริกาเพื่อทำงานจำเป็นต้องมีวุฒิการศึกษาขั้น ต่ำปริญญาตรี และศึกษาในสาขาวิชาที่ตรงกับตำแหน่งที่ถูกว่าจ้าง
  • F-1 นักเรียนนักศึกษาที่เข้ามาเพื่อเรียนต่อในระดับปริญญาและสำเร็จการศึกษาจะได้โควต้าทำงานในประเทศ 1 ปีทันที
  • L-1 พนักงานที่ย้ายไปทำงานที่สหรัฐชั่วคราวภายใต้การจ้างงานของบริษัทที่อยู่ในเครือเดียวกัน
  • E-1/E-2 นักลงทุนเข้ามาลงทุน ( 1 ล้านเหรียญ )

แนวทาง 2 การยื่นใบสมัครผ่านเว็บไซต์

หลังจากได้ยื่นเมลล์หรือยื่นการส่งไปสมัครไปตามบริษัทต่าง ๆ เราจะรู้ได้อย่างไรว่าจะได้รับการพิรณาจากบริษัทนั้นหรือไม่โดยเบื้องต้นให้สังเกตุจากเมลล์ตอบกลับโดยสามารถจัดประเภทเมลล์เหล่านั้นได้ดังนี้

  • เมลล์ประเภทว่าส่งไปแล้วหายสาปสูญไปเลย
  • ตอบแบบปฏิเสธ
  • ประเภทแบบเชิญเข้าร่วมทำแบบทดสอบต่าง ๆ เพื่อเป็นด้านการทดสอบ

แนวทาง 3 แนะนำวิธีการไปศึกษาต่อต่างประเทศเพราะหลังจากเรียนจบ จะได้โควต้าอยู่ใน USA ต่ออีก 1 ปี

แนวทาง 4 ให้เพื่อนที่ทำงานในบริษัทแนะนำจะทำให้ทางบริษัทสนใจข้อมูลเราเป็นลำดับต้น ๆ แต่ก็ไม่ได้การันตีนะว่าจะได้กันทุกคน ฮาๆ ๆ

แนวทาง 5 เข้าร่วมการแข่งขันเพื่อเก็บประสบกาณ์ เช่น CodeJam , Facebook Hacker , Hackathon เป็นต้น

แนวทาง 6 การเข้าร่วม Contribute Open Source เข้าร่วมพัฒนา Project ตาม Github

แนวทาง 7 ให้ความสำคัญเรื่องเวลา เพราะการเข้าไปทำงานใน USA มีช่วงระยะเวลาจำกัด จึงให้คอยติดตามข่าวสารอยู่ตลอดเวลา

และเมื่อผ่านด่านการยื่นไปสมัครไปแล้ว ก็ต้องไปสู่ด่านการทดสอบต่อไป

  1. ผ่าน Recruiter
  2. Online Coding
  3. Online Coding อีกรอบ
  4. Networking
  5. Online Business
  6. Online Interview

อื่น ๆ ที่เกี่ยวข้องกับการเตรียมพร้อมเพื่อเข้าสมัครงาน

  • ภาษาอังกฤษ (สำคัญ) ของมันแน่อยู่แล้ว
  • Data Structure And Algorithm
    • Recusion
    • String
    • Time/Speed (Big O)
    • Array
    • Bit Maniputation
    • HashMap
    • Stack
    • Heap
    • DFS / BFS
    • Graph
    • Sorting
    • Insert Sort
    • Merge Sort
    • Searching
    • Binary Search
    • ฯลฯ
  • Sport programming
  • Code Forces
  • KackerLengh.com , Leetcode.com

ทิ้งท้าย 5 Key ที่จะทำให้เราประสบความสำเร็จ

  1. ตั้งเป้าหมายของเราไว้สูงเสมอ ยิ่งสูงยิ่งดี
  2. ไม่มีอะไรแก่เกินเรียน
  3. มีใจรักในสิ่งที่ทำ
  4. ซ้อม ๆ ๆ
  5. อย่ายอมแพ้

 

 

 

 

สรุปสิ่งที่ได้รับจากงาน OpenStack Thailand Chapter – User and Contributor MeetUp #1

OpenStack Thailand Chapter – User and Contributor MeetUp #1 30 พฤศจิกายน 2016 เวลา 18:00 – 21:00

Agenda :

18:00 – 18:30 น.  ลงทะเบียน
18:30 – 19:00 น.  กล่าวต้อนรับ และ วัตถุประสงค์ในการจัดตั้งกลุ่ม OpenStack Thailand Chapter – User and Contributor
19:00 – 19:30 น.  Why you need to attend Openstack Summit and how to attend at very affordable budget? โดย Dr. Abhisak Chulya, CEO and Founder, NIPA.cloud
19:30 – 19:45 น.  พักการบรรยาย
19:45 – 20:30 น. How to be OpenStack Contributor โดย คุณจิรายุส นิ่มแสง, CEO and Founder, Opsta
20:30 – 21:00 น. Open Discussion

OpenStack คืออะไร

OpenStack การรวมกันของ Projects Open Source เพื่อให้เกิดเป็น Project Openstack นี้ขึ้นมา สำหรับใช้เพื่อการสร้าง Private หรือ Public Clounds

openstack-software-diagram

โดย OpenStack Project นี้เองก็จะมี Project ที่เป็น Core Services หลักอยู่ ประกอบด้วยกันอยู่ 6 Services

  • NOVA คือ เป็นตัวแทนของ Service ที่จัดการ Compute
  • NEUTRON คือ Service จัดการระบบ Networking
  • SWIFT คือ Service ที่เอาไว้จัดการ Object Storage สำหรับจัดเก็บข้อมูลแบบ cloud storage จัดเก็บข้อมูลและเรียกใช้งาน แบบ API
  • CINDER คือ  Block Storage
  • KEYSTONE คือ Service ตรวจสอบและอนุมัติการให้บริการสำหรับบริการ OpenStack ทั้งหมดในระบบ
  • GLANCE คือ Service จัดการเกี่ยวกับการให้บริการเกี่ยวกับ Media ต่าง ๆ

 

openstack-core-service

และ Optional Service โดยให้พิจรณาจาก Maturity ว่ายิ่งเยอะ ยิ่งดูเสถียรเหมาะแก่การจะทำไปใช้งาน

openstack-optional-serviceOpenstack ประกอบด้วย 4 “Open” เข้าด้วยกัน

  • Open Source
  • Open Design
  • Open Development
  • Open Community

OpenStack จะถูกเรียกแต่ละ version release ตามครั้งการจัดรวม Community

  • Barcelona (OCATA) Fall 2016
  • Austin(NEWTON) Spring 2016
  • Tokyo(MIKATA) Fall 2015
  • Vancouver(LIBERTY) Spring 2015
  • Paris(KILO) Fall 2014
  • Atlanta(JUNO) Spring 2014
  • Hong Kong(ICEHOUSE) Fall 2013

ซึ่ง Release Mitaka (2016-04-07) ถูกบันทึกสถิติไว้

  • ผู้เข้าร่วมงาน 40,497 คน
  • บริษัทที่คอยสนับสนุนกว่า 596 บริษัท
  • 179 ประเทศ
  • 35,000 K Line of Code




OpenStack Summit Sponsorship

openstack-sponsorship

Release Series

openstack-release-series

OpenStack Superuser Award Nominees เรียกได้ว่าบริษัทที่มีชื่อเสียงทั่วโลกที่ได้ทำเทคโนโลยี OpenStack ไปใช้งานแล้ว

  • China Mobile
  • City Network
  • Cloundwatt
  • DataCentered
  • Internap
  • MercadoLibre
  • ฯลฯ

OpenStack Foundation Structure

  • OpenStack Foundation คือ องค์กรไม่แสวงหาผลกำไร
    • Board Of Directors
    • Technical Committee (TC) ทำหน้าทีคอยดูภาพรวมทั้งหมดของ OpenStack
    • User Committee จะเป็นตำแหน่งที่ถูกเลือกโดยเหล่า Members ทั้งหลาย
    • Members ผู้ใช้งานทั่วไปที่ join เข้าเป็น member ของ OpenStack
  • OpenStack Project Teams
    • Projects Team Leads (PLTs) หน้าที่เป็นผู้นำสูงสุดของ Project นั้น ๆ ได้รับเงินเดือนจากบริษัทที่เป็น Sponsor
    • Active Project Contributor (APC) ทำหน้าที่ดูหลาย ๆ Project ไปพร้อมๆ กัน
    • Active Technical Contributor (ATC) การที่เรา Contribute Openstack อยู่เรื่อยๆ และจะถูกเลือกให้เป็นตำแหน่งนี้เอง

ติดตาม OpenStack Release State ได้แบบละเอียด ที่ลิ้งนี่

ตบท้ายได้แนะนำเทคนิคการไป Openstack Summit ในครั้งต่อ ๆ ไปแบบประหยัดจะต้องทำอย่างไร

ขอบคุณที่ติดตามครับผม

สรุปสิ่งที่ได้รับจากงานกิจกรรม Barcampbangkhen 2016

สรุปสิ่งที่ได้รับจากงานกิจกรรม Barcampbangkhen 2016

เมื่อวันอาทิตย์ที่ 13 พฤศจิกายน 2016 โดยจัดที่ ม.เกษตรศาสตร์ บางเขน ที่จัดเป็นประจำทุกปี โดยเป็นงานที่รวมเหล่าผู้ที่อยากรู้ อยากแบ่งปัน ความรู้มาพบเจอกัน โดยธรรมเนียมของงานก็ประมาณว่า ให้ผู้ที่อยากแชร์เรื่องราวต่าง ๆ ที่ไม่จำเป็นต้องเป็นเรื่องที่เกี่ยวกับสายเทคโนโลยีเพียงอย่างเดียวเรื่องอื่น ๆ ทั่ว ๆ ไปที่กำลังเป็นที่สนใจในขณะช่วงเวลานั้น มาแบ่งปันเล่าประสบการณ์ให้ได้รับฟัง ตัวอย่างเช่นหัวข้อ “ฝึกงานที่ญี่ปุ่นง่ายนิดเดียว (ที่เหลือยาก)”, “เมื่อหมอหมาอยากรักษาทามาก็อตจิ” เป็นต้น หรือแม่แต่เรื่อง “How to มีแฟนก่อนเรียนจบ” ซึ่งเป็นหัวข้อที่ได้รับเสียงฮือฮาเป็นอย่างมากในงานครั้งนี้

15050205_1199371473433593_1873296441_n-1

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

 

โดยแต่ละ Session ที่ถูกเลือกจะมีเวลาในการบรรยายประมาณ 25 นาทีต่อ 1 session ตาราง Session ในงานนี้ดูได้จาก Barcampbangkhen-sessions

pb130504

# Functional Programming with Javascript by Dan Itsara (แดน)

เนื้อหาใจความจะอธิบายถึงการเขียนโปรแกรมในรูปแบบคำสั่งเรียงต่อกัน มีเงื่อนไขมีการวนรอบ เนื้อหาใน session ไปอย่างรวดเร็วโดย Speaker จะเน้นแสดงตัวอย่างโค๊ดที่เป็นแบบโค๊ดที่เขียนแบบเขียนที่ไม่ได้ใช้ FP (Functional Programming) เข้ามาช่วย และเป็นแบบที่ใช้ FP เข้ามาช่วย สำหรับในหัวข้อนี้จำเป็นต้องมีทัษะในการเขียนโปรแกรมในระดับนึงเลย

ขอดีของการเอา FP เข้ามาช่วย

  • โค๊ดมีความกระชับ สั้น แต่อาจจะต้องใช้เวลาทำความเข้าใจในระดับนึง
  • ทำงานได้เร็ว กับข้อมูลที่ซับซ้อน ถ้าเปรียบเทียบกับโค๊ดที่ใช้ FP กับไม่ได้ใช้ FP
  • มีฟังก์ชันให้เลือกใช้อย่างมากมาย เช่น map, reduce, filter เป็นต้น
  • ฯลฯ

# Practical Maintainability ทำให้โค้ดดูแลง่าย “จริง” by Chris @ Taskworld

 เนื้อหาบรรยายเกี่ยวกับการ Maintain Code หรือแม้แต่จะ Code ขึ้นมาใหม่แม้ว่าจะเขียนโค๊ดแบบ Advance เทพมากแค่ใหนหากคนที่คอย Maintain ตามหลังไม่สามารถเข้าไปแก้ไขได้ง่าย ๆ ก็ไม่ถือว่าโค๊ดนั้นดูแลง่ายอยู่ดี และรูปแบบในการเลือก Dev เข้ามาใหม่ให้เหมาะกับงาน

# เรียนรู้อะไรมาบ้างกับการสร้าง Chatbot (The new era of Internet) by Wongnai (Chatbot Team)

บรรยายโดย CTO ของวงในเอง พูดถึงการนำ Chatbot (Line Chatbot)

สิ่งที่ควรทำนึงถึงเมื่อคิดจะทำ Chatbot

  • ทำให้ Bot เหมือนคนให้มากที่สุด
  • ให้ว่างเอกลักษณ์ของ Bot เป็นอย่างแรก เช่น อารมณ์ดี หรือ เครียด, สุภาพ หรือ ดิบเถื่อน เป็นต้น เพื่อทำเป็นที่จดจำได้ง่าย ตัวอย่างถ้าจะพูดถึง Bot ของวงในก็จะนึกถึงแต่เรื่องร้านอาหาร เป็นต้น
  • set กลุ่มคำถามเอาไว้เพื่อให้ตอบโต้ได้อย่างทันที
  • Emotion ช่วยได้เยอะมาก
  • คำศัพท์อาจจะไม่ต้องให้เป็นทางการมากตัวอย่าง เช่น ดี => สวัสดี, กินไรดี => กินอะไรดี, บัย => บาย เป็นต้น
  • เพิ่ม Question ในระหว่า Chat เพื่อความบันเทิง

# What comes next for the web? by @mikelopster @witoh

ไม่ใช่เรื่องใหม่สำหรับ PWA (Progrssive Web Application) เรียกว่า Session นี้ถูกใจ Dev สาย Web กันเลยการที่ Mobile กำลังมาแย่งส่วนแบ่งการใช้งานจาก Web App ทำให้ Web เอง อยู่นิ่งไม่ได้จึงทำให้เกิด PWA ขึ้น

PWA มีความสามารถอะไรบ้าง

  • สร้าง Icon บน Desktop ได้เหมือน Mobile App
  • ใช้งานได้ใน ขณะ Offine (เรียกข้อมูลใน Cache มาแสดง)
  • Push notification ได้เหมือน Mobile App
  • ต้องมี 3 สิ่งนี้ Reliable, Fast, Engaging
  • ฯลฯ

สิ่งที่ต้องคำนึง

  • ปลอดภัย (Security)
  • เร็ว (Fast)
  • วางใจ (Trust)

# DRY Workflow using Docker and Gitlab CI by Off (Glazziq)

Speaker จาก Glazziq แนะนำ Workflow การใช้งาน Docker ร่วมกับ Gitlab อธิบายการทำงานของ Docker แนบท้ายมีตัวอย่างโค๊ดการใช้งานให้ดู

# NO COMMENTS เลิกcomments เเล้วเขียนโค๊ดซะที by @mr_tawan

การ Comment โค๊ดบางสิ่งก็ไม่ควร Comment ไว้เพราะการเขียนโค๊ดที่ดีมันอธิบายการทำงานในตัวของมันเองอยู่แล้ว ผู้บรรยายยกตัวอย่างโค๊ดในประสบการณผู้บรรยายได้พบเจอมา โดยโค๊ดที่ถูกเขียนขึ้นมามีอายุ 20 กว่าปีมาแล้ว ส่วนที่ Comment ในโค๊ดไม่ได้ช่วยอะไรกับ Dev ในยุคปัจจบันเลย เพราะโดยปกตินิสัยคนเราแก้โค๊ดก็คงไม่ได้แก้ Comment กันทุกคน ทำให้เมื่อ version หลัง ๆ โค๊ดไม่ตรงกับ Comment บ้างก็มี ฉะนั้นให้หันมาใช้ Version Control กันเถอะ

# Location Intelligence – wifi data and big data by Khum Pimsiri Ponsap(Data Scientist)

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

# Security Discussion by [email protected]!N

Session ก่อนที่ผมจะกลับบ้านเลือกที่จะเข้าไปฟัง session นี้ ไอ้ตัวผมเองก็เป็น Dev ไม่ค่อยจะใส่ใจเรื่อง Security เท่าไหร่ เลยอยากให้ความสำคัญกับเรื่องนี้ เลยเลือกที่จะเข้าไปฟัง ผู้บรรยายเป็นตัวแทนจากหน่วยงาน Owasp Thailand ซึ่งเป็นองค์กรไม่แสวงหาผลกำไรมี community ระดับโลก วัตถุประสงค์เพื่อส่งเสริมและพัฒนาการรักษาความปลอดภัยของโปรแกรมประยุกต์ (Application) ให้ดียิ่งขึ้น ติดตามข่าวสารความเคลื่อนไหวได้ที่ Owaspthailand Page




สรุปสิ่งที่ได้รับจากงาน Google I/O Extended Bangkok

สด ๆ ร้อนกับงานสัมมนาครั้งใหญ่ประจำปีเลยก็ว่าได้สำหรับบริษัทยักษ์ใหญ่อย่าง Google ที่จัดขึ้นเป็นประจำของทุก ๆ ปี ในเมืองไทยจัดสัมนางาน Google I/O นี้มาแล้ว 9 ครั้ง และครั้งนี้เป็นครั้งที่ 10 แล้ว แต่ละครั้งจัดได้ยิ่งใหญ่ทุกครั้ง

กำหนดการของงานจัดในวันเสาร์ที่ 25 มิถุนายน 2559 เวลา 9.00 – 18.30 น.
สถานที่ ณ โรงภาพยนตร์สยามภาวลัย สยามพารากอน ชั้น 6

โดยมีเงื่อนไขการเข้าร่วมงานว่า
800 ท่านแรกที่ลงทะเบียนรับป้ายชื่อหน้างานจะได้รับ Google Cardboard
600 ท่านที่ลงทะเบียนรับป้ายชื่อถัดไปจะได้รับเสื้อ Google I/O

เมื่อได้เวลาก็เริ่มทะเบียนกัน

P6250351 P6250356

P6250360

ลงทะเบียนเสร็จ ได้เวลาเริ่มงานก็เริ่มทยอยเดินเข้าร่วมงาน

P6250368

P6250369

เมื่อผู้เข้าร่วมงานทุกคนพร้อมผู้บรรยายพร้อมก็เริ่มงานกันเลย

การเปิดงานในครั้งนี้ได้รับเกียติจาก Mr. Soonson Know ที่ทำหน้าที่ดูแล Google Developer ในส่วน South Asia ทั้งหมด (ลองคิดดูว่ากว้างใหญ่ขนาดไหน ผมว่าสุดยอดมาก)




ผ่านไปก็แนะนำสปอนเชอร์ใหญ่ของงานนี้ บริษัท กสิกร บิสซิเนส-เทคโนโลยี กรุ๊ป (KASIKORN Business-Technology Group: KBTG) เป็นกลุ่มบริษัทที่อยู่ในเครือข่ายของกสิกรไทย เน้นไปทางพัฒนาเทคโนโลยีใหม่ ๆ รองรับการทำงานในอนาคต เมื่อสปอนเชอร์ใหญ่กว่าจบก็เริ่มเข้าเนื้อหาหลักของงานนี้คือเทคโนโลยี Mobile App &  Web App โดยทางทีมงานจะแบ่งการบรรยายออกเป็น 2 ห้องโดยแบ่งเป็น ห้องบรรยายหลักจะบรรยายเรื่องเทคโนโลยีที่เกี่ยวข้องกับสายการพัฒนา Mobile Platform โดยเฉพาะ ให้ชื่อว่าห้อง Auditorium โดยมีหัวข้อการบรรยายหลัก ๆ ดังนี้

  • What’s  New In Android N
  • Android Studio 2.2 & New UI Design โดยแบ่งเรื่องสิ่งที่ปรับปรุงใหม่ได้ดังนี้
    • Design
      • ปรับปรุงเรื่อง Layout Editor ซึ่งทำให้การออกแบบ UI ของ APP ง่าย สะดวกและรวดเร็วขึ้น ปรับปรุงเรื่อง Responsive เพื่อให้การพัฒนาสำหรับ UI Device ที่มีหลายขนาดทำได้งานยิ่งขึ้น และตบท้ายด้วย
      • Layout Inspector ทำให้เราสามารถมอง object ที่วางแบบ grid layout งานต่อการตรวจสอบ
    • Develop
      • Firebase plugin ช่วยทำให้การพัฒนา App ให้สะดวกรวดเร็วยิ่งขึ้นในด้านการใช้งานข้อมูลต่าง ๆ
      • Sample code browser ช่วยให้นักพัฒนาดูตัวอย่างโค๊ดที่ทางทีมพัฒนาส่วนใหญ่เคยนำ Class หรือ Method นี้ไปใช้งานอย่างไร (ผมว่ามันค่อนข้างจะช่วยเราได้เยอะมากเลย)
    • Build
      • Instant Run ช่วยปรับปรุงเรื่องการทำงานนี้เพื่อช่วยให้การ build project รวดเร็วขึ้น (เร็วขึ้นหลายเท่าจริง ๆ เห็นมากับตาผมเลย)
      • Merge Manifest Viewer จะเพิ่มความสามารถในการตรวจสอบ Code ในส่วนไฟล์ AndroidManifest.xml ว่าส่วนที่ import เข้ามาใช้งานได้ถูกเรียกใช้งานที่ method การทำงานใด
      • Project Structure Dialogue, Jack compiler
    • Test
      • ปรับปรุง Android Emulator ที่ใน Version ก่อน ๆ ถือว่าทำได้ช้ามาก ๆ จนต้องไปพึ่งพา Tools อื่น ๆ อย่าง Genymotion แต่มาเวอร์ชั่นนี้ทำงานได้เร็วกว่าเดิมหลายเท่าตัว (น่าจะทวงตำแหน่งคืนได้แน่ ๆ)
      • Espresso Test Recorder เป็น Android Test UI ที่จะแปลงผลการทดสอบจากการทำปฏิสัมพันธ์กับหน้าจอ และ จะแปลงเป็นผลการทดสอบของ Espresso สามารถติดตามผลได้จาก Firebase API ได้เลย
  • Play Store Best Practices การจัดการพื้นที่ทำเงินของเราอย่าง Google Play โดยยอดนักการตลาดที่พัฒนาเกม Unlock Me ทำยอด Download กว่า 140 ล้านครั้งแล้วนะตอนนี้
  • Advanced Espresso
  • Introduction to Firebase คือ Real Time App Platform คือให้บริการ API สำหรับการส่งข้อมูลแบบ Real Time รองรับหลาย Platform สามารถเขียนได้หลายภาษา
  • Firebase Cloud Messaging
  • Firebase Android Codelab
  • VR at Google

และห้องบรรยายอีกห้องเน้นหนักไปทาง Web Platform ให้ชื่อห้องว่าห้อง Workshop Room มีหัวข้อบรรยายดังนี้ (ข้อเสียอย่างเดียวของห้องนี้คือ รองรับคนเข้าอบรมได้ 100 กว่า ที่ เท่านั้น )

  • Deep dive into Processive Web Apps (PWA) เป็นแนวทางการทำเว็บ ให้ออกมาเหมือน App กล่าวคือ offline ก็ยังทำงานอยู่บน Browser
  • Polymer & Progressive Web Apps Building on the modern web เน้นหนักไปทาง Coding เลย
  • Having some fun with angular 2 and Firebase
  • Service Worker session
  • Firebase Build a RealTime Web Chat Apps
  • Build a PWA with Firebase, Polymerfire And Polymer Component Codelab
  • Introduction To UX
  • Introduction To GCP & Machine Learning

สำหรับตัวผมเองก็เกิดความสนใจในด้านเว็บเป็นพิเศษเลยเข้าร่วมห้อง Web Apps Room แต่ด้วยขนาดห้องที่รองรับคนได้น้อยจึงอยู่ได้ไม่จบงาน จึงขอเอาหัวข้อมาให้ทุกคนได้เอาไปเป็นแนวทางค้นหาข้อมูลต่อไปได้




 

แบ่งปันการเข้าร่วมงาน Code Mania 11 RaiseTheBar โดยจัดขึ้นเป็นครั้งที่ 3 แล้วนะ

สวัสดีครับสดๆร้อนๆกับงาน Code Mania 11 : Raise the bar ที่จัดขึ้น ณ วิศวกรรมคอมพิวเตอร จุฬา ฯ ในวันเสาร์ที่ 27 กุมภาพันธ์ 2559  เวลา: 09:00 – 18:00 โดยมีโอกาสได้เข้าร่วมเลยอยากจะเอาเหตุการณ์เรื่องราวต่าง ๆ ภายในงานมาเล่า แบ่งปันให้ได้ฟังกัน

เนื่องจากกิจกรรมงาน CodeMinia ไม่ได้ถือว่าเป็นเหตุการณ์ที่เกิดขึ้นมาใหม่แต่อย่างใด เพราะครั้งนี้จัดขึ้นเป็นครั้งที่ 3 แล้ว ถ้าใครเคยไป

ครั้งที่ 1 CodeMania รวมพลคนบ้าโค้ด ครั้งที่ 01

ครั้งที่ 2 CodeMania รวมพลคนบ้าโค้ด ครั้งที่ 10

และครั้งล่าสุด Code Mania รวมพลคนบ้าโค้ด ครั้งที่ 11 : Raise the bar

ช่วงเช้าเริ่มลงทะเบียน รับเสื้อ ป้ายชื่อ และคูมปองอาหารเที่ยง

IMG_0389P2270007    12784371_10205563831686271_1795595632_n

 

กำหนดการช่วงเช้า
10.00 – 11.00 แกะสถาปัตยกรรม “วงใน” จากผู้ใช้หลักร้อยถึงหลักล้าน – ภัทราวุธ ซื่อสัตยาศิลป์ (บอย) – CTO Wongnai
11.00 – 11.20 Like Behavior on Facebook Page – ณรงค์ อินทร์รักษ์ (โหน่ง)
11.00 – 11.40 Hello! Functional Programming – ศุภณัฐ โพธิวากร (บอส)

โดยวิดีโอบรรยากาศของงานติดตามได้จากช่วงเช้า

สำหรับช่วงเช้าเป็นการรวมตัวกันที่ห้องประชุมใหญ่ แต่ช่วงบ่ายจะมีการแบ่ง session อย่างชัดเจนครับ จึงได้จัดห้องย่อยๆ เพื่อที่จะให้ได้เลือกเขาไปฟังสิ่งที่เราสนใจในเรื่องนั้นๆ ครับ

กำหนดการช่วงบ่าย (ห้อง315)
13.00 – 13.50 ล้วงลึกระบบค้นหา จากหลักร้อยถึงหลักล้านของ Priceza – วัชระ นิวาตพันธ์ (ได้เข้าฟังน้องนี้)
13.50 – 14.40 Programming as a sport – ภัทร สุขประเสริฐ (แอ้ม)
14.40 – 15.30 Acceptance test driven development – ทวิร พานิชสมบัติ (รูฟ)
15.40 – 16.30 How to manage cloud infrastructure for startup – ศิระ สัจจินานนท์ (ฮั้น)
16.30 – 17.20 ฝ่าด่านอรหันต์ สู่เส้นทาง Debian Developer – นิวตรอน เสามั่น (ดิ้น)

กำหนดการช่วงบ่าย (ห้อง415)
13.00 – 13.50 เปิดโลกใหม่กับ Preprocessor – วรธนะ งามตระกูลชล (เพิร์ท)
13.50 – 14.40 บุกป่าฝ่าดงอีฟ – สมเกียรติ ปุ๋ยสูงเนิน (ปุ๋ย)
14.40 – 15.30 Take a REST – สินาภรณ์ สืบวิสัย (แป๋ม)
15.40 – 16.30 Building and Maintaining OpenSource Projects – อัครวุฒิ ตำราเรียง (บัง)
16.30 – 17.20 Functional Reactive Programming – ศอลาฮุดดีน เฉลิมไทย (ดีน)

 




กำหนดการช่วงบ่าย (ห้อง409)
13.00 – 13.50 Test Double Patterns with Python – ณัฏฐณิชา ภัทรมาลัย (เก๋)
13.50 – 14.40 Advance Android Layout Walkthrough – สมเกียรติ กิจวงศ์วัฒนะ (เอก)
14.40 – 15.30 Spark in Action – ผศ.ดร.ณัฐวุฒิ หนูไพโรจน์
15.40 – 16.30 VR for Developer – วิทยา อัศวเสถียร (โอ๋)
16.30 – 17.20 SQL + No SQL = New SQL – อภัยชนม์ พันธ์โอภาส (ปั๊ป)

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

สุดท้ายฝากติดตามกลุ่มสมาคมโปรแกรมเมอร์ไทยไว้ด้วยนะครับ

สมาคมโปรแกรมเมอร์ไทย

มีการให้สมัครสมาชิกรายปีกันด้วยสิทธิประโยชน์เพียบ วันนี้เท่านี้นะครับราตรีสวัส บายๆ

แชร์ประสบการณ์เข้าร่วมงาน Google HackFair Bangkok 2015

วันนี้อยากนำบรรยากาศดี ๆ ของงาน Google HackFair Bangkok ที่จัดขึ้น ณ C-asean ตึก Cyber World ถนนรัชดา งานนี้จัดขึ้น ณ วันเสาร์ที่ 19 ธันวาคม 2558  เวลา 9.00 – 17.30 น. เป็นครั้งแรกที่ได้เข้าร่วมงาน ที่ทาง Google ได้จัดขึ้น ก่อนหน้างานนี้ก็น่าจะเป็นงาน Google I/O Rewind ที่ผ่านมาครั้งนั้นพลาดไม่ได้ไปเข้าร่วมงานแต่ครั้งนี้ไม่พลาดครับ

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

IMG_0079

ป้ายนำทางเพื่อเข้าสู่งาน

เริ่มด้วยงานนี้มีการให้ลงทะเบียนผ่านหน้า ฟอร์มลงทะเบียนของ Google Form แล้ววันงานจริงก็แจ้งชื่อการลงทะเบียนได้เลย แล้วก็จะได้รับของเหล่านี้มา

12395333_10205152690568000_391251671_n

ก่อนจะเดินเพื่อเข้าชมงานก็ต้องว่างแผนกันก่อนว่าจะไปตรงส่วนไหนของงานก่อนดี

IMG_0123

ช่วงเช้าร่วมเข้าฟัง Speaker บรรยาย

IMG_0087 IMG_0090

ท่านนี้คือทีมพัฒนา Drivebot (ภาพด้านบน)

ช่วงเช้าก็ได้เข้าฟังบรรยายได้ท่านเดียวรู้สึกว่าหิวเลยเดินออกมาหาของว่างท่าน ระหว่างทางก็ได้เข้าเดินดูนักพัฒนาไทยโชว์ผลงาน

IMG_0124 IMG_0119

IMG_0111 IMG_0107 IMG_0106 IMG_0103 IMG_0099

ไปท่านอาหารเที่ยงเสร็จก็เข้าไปฟังบรรยายช่วงบ่ายกันต่อ รอบนี้นั่งยาวกันจนถึงช่วงเย็นเลย

IMG_0135 IMG_0140 IMG_0143 IMG_0147

ท่านนี้คือ CEO ของ Do in Thai ดำเนินธุรกิจเกี่ยวกับ การวิจัย ออกแบบและพัฒนานวัตกรรมเชิงสังคม และพัฒนานวัตกรรมเพื่อการเรียนรู้ร่วมกันของผู้คนในโลกยุคใหม่ (ภาพประกอบด้านบน)

IMG_0148 IMG_0150 IMG_0152

 ท่านนี้เป็น CEO ของ EverGrow ดำเนินธุรกิจเกี่ยวการวิจัยนวัตกรรมการปลูกพืชแขนงไหม่ ในอนาคตคนในเมืองที่ไม่รุ้การปลูกพืชมาก่อนก็สามารถปลูกพืชได้โดยศึกษาข้อมูลจาก Data บน Cloud ของ EverGrow  (ภาพประกอบด้านบน)

IMG_0157 IMG_0162 IMG_0163 IMG_0168 IMG_0169 IMG_0175 IMG_0177

ท่านนี้เป็นทีมบริหารของ Google Admob เป็นช่องทางการทำเงินของนักพัฒนา แอพพิเคชั่นบนมือถือนั้นเอง (ภาพประกอบด้านบน)

IMG_0184 IMG_0187 IMG_0189 IMG_0190 IMG_0191 IMG_0192 IMG_0195

ท่านนี้คือ CEO ของบริษัท Kira Games เป็นทีมพัฒนาแอพพิเคชั่นอิสระในไทย พัฒนาเกมยอดฮิตอย่าง Unlock Me ที่มียอดการดาวน์โหลด เกิน 100 ล้าน ดาวน์โหลดเข้าไปแล้ว (ภานพประกอบด้านบน)

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