BARCAMP Bangkok 2016

สำหรับงาน BARCAMP Bangkok 2016 สำหรับปีนี้้จัดที่ TKPark ครับ งานนี้น่าจะเป็นครั้งแรกที่ผมเข้ามาเลย หลังจากพยายามไปเข้าฟังงาน Share Idea พวกนี้มาเกือบ 3 ปี ตั้งแต่เรียนจบมาครับ โดยรูปแบบงานคล้ายกับ Agile Thailand แต่เปิดกว้างมาอยากพูด หรือแชร์อะไรก็ได้ ไม่จำเป็นต้องเป็นหัวข้อด้าน IT ครับ โดยมี Concept ง่ายๆ 3  อย่างครับ

  • I want to Speak - อยากเป็น Speaker เรื่องอะไร สามารถออกมาเสนอหัวข้อได้เลย
  • I want to Learn - อยากรู้เรื่องอะไร
  • I am open to share about - อยากแชร์ อยาก Discuss เรื่องอะไร

เมื่อได้หัวข้อมาแล้วทางทีมงานก็จะมาจัดให้ลงตาม Slot เวลาที่มีครับ แต่ถ้ามีหัวข้อมากเกินกว่า Slot ก็จะให้ทำการ Vote ครับ โดยในปีนี้กำหนด Session ละ 40 นาทีครับ สำหรับ Hashtag ของงานนี้ คือ #BarcampBKK

ป้ายหัวข้องาน BarCamp 2016

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

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

Become IT Pro | Speaker: iamSK

Become IT Pro | Speaker: iamSK
Become IT Pro | Speaker: iamSK
  • GPA มีผลเฉพาะช่วงแรกในการทำงาน
  • การทำงานเริ่มจาก 0 ใหม่หมด สิ่งที่เรียน คือ พื้นฐาน และการเรียนรู้ไม่มีวันหมดไป
  • ภาษาอังกฤษสำคัญมากๆ คนไทย อ่าน ฟัง เข้าใจ แต่มีปัญหาการพูด การเขียน ถ้าเราค้นชินกับการทำอะไรตลอดเวลา เราจะคุ้นชิน เช่น ฝึกภาษา
  • คน IT มี Hard Skill แต่ ไม่มี Soft Skill
    - Hard Skill : Technical Skill
    - Soft Skill: เรื่องอื่นไม่ใช้ IT เช่น การพบปะพูดคน การจัดการทีม แลกเปลี่ยนความคิดเห็น รักษาความสัมพันธ์ User กับ IT
  • Human Networking - การพบปะพูดคุย

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

  • การสมัครงานสมัยนี้ HR เริ่มเข้าใจสนใจ Social Network มาขึ้น ทำอะไร ระวังด้วย
  • สำหรับคนทำงานแล้ว หรือจบใหม่ แนะนำ Linked in สร้าง Profile ไว้ก่อน
  • เกร็ดเล็กน้อยสำหรับการทำ CV หรือ Linked in
    - ถ้า HR มาเชิญให้ไปสัมภาษณ์ ลองถาม HR มีงบเท่าไหร่ จะได้ไม่เสียเวลาทั้งฝ่าย HR และคนหางาน
    - CV / Resume ไม่จำใส่รูป เอาไปใส่หน้าสองแทน เพื่อให้อ่านทาง HR สนใจที่ข้อมูลการทำงาน ความสามารถก่อน
    - ถ้าเรื่องไหน อยากเน้นให้วางไว้ใน Section แรกๆของ CV / Resume
  • Cert ถ้าเป็นไปได้หาโอกาสสอบไว้
  • Microsoft มี MVP ไม่ต้องสอบ Cert แต่ต้องแชร์จัดการแบ่งกันความรู้ โดยสิทธิที่ได้เป็นปีต่อปี เมื่อเป็น MVP แล้ว เรามีสิทธิใช้ Software ต่างๆของ Microsoft ฟรีทุกอย่าง

Accessibility ไปทุกที่ที่ไม่มีทาง | Speaker: หนู + จิ

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

  • ฺBTS มีลิฟต์ แต่ทางขึ้น บางสถานีทำทางลาด บางสถานีไม่มีมีแต่บันไดอย่างเดียว !!!
  • สถานที่ราชการ บันได ที่ออกแบบตัวขั้นแคบ และชันพอสมควรเลย ทางลาดก็ แต่ก็ลาดเกิ้นนนนน ลองดูตัวอย่างได้ที่นี่
  • ทางเท้าที่มีตุ่มๆสหรับผู้พิการทางสายตา ก็วางแปลกๆ วางไป อ้าวเจอเสาไฟฟ้าขวาง วางตุ่มๆ ตามความสวยงาม
  • ห้องน้ำ สถานที่่ต่างๆ ควรคิดเผื่อมาตั้งแต่แรก บางที่ไปแล้วทุกอย่างดีมด แต่ห้องน้ำเล็กจนเอารถวีลแชร์ เข้าไปไม่ได้

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

สำหรับตัว Speaker ทุกการเดินทางต้องมีการวางแผน เพราะ เมืองไทย ยังมีสภาพแวดล้อมที่ไม่เอื้ออำนวย

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

นอกจากนี้ Speaker แชร์ประสบการณ์ที่ได้ใช้ชีวิตที่ญี่ปุ่นมานะครับ

  • ผู้ที่มีปัญหาทางร่างกาย สามารถที่จะออกไปช้ชีวิต เดินทางได้เหมือนคนปกติครับ
  • ที่เสาไฟ มีอักษรเบลล์ บอกด้วย
  • การเดินทางสะดวก

เกร็ดความรู้อื่นๆที่ได้

  • ไม้เท้าขาว สำหรับผู้ที่มีปัญหาทางสายตา ถ้ามีสีตัด  เช่น คาดเหลือง 2 แถบ หมายถึง มองเห็นได้ แต่เลื่อนลาง เป็นต้น
  • ผมเอง เพิ่งรู้นะ โรงหนังชั้นบนสุด แพงที่สุด

React for Completely Beginner | Speaker: @chaintng

  • JQuery กำหนด style ผ่าน dom เลย มันทำให้ Code เขียนง่าย แต่ยุ่งเหยิง

ลองดูจาก Blog ของ Speaker ได้ครับ "React หรือ jQuery? กางให้ดูกันชัดๆ ใครเด็ดกว่า!"

  • imperative คุณต้องทำอะไร React มี state จัดตรงกลาง declarative  เราต้องการอะไร
  • DOM AS component
  • React หลังจากทำ Mockup  เสด ตีกรอบเลยว่าอะไร คือ component ใน application ที่ไม่ได้แยก component มันทำให้ css ยุ่งเหยิง
  • React  เป็น JavaScript Centric ต่างจาก Angular ที่เป็น Html Centric
  • React เป็น one way binding
  • React  มี virtual dom  กิน Resource น้อย
  • ต้องดู life cycle ของมันด้วย ผมเข้าใจว่าน่าจะเป็นทุกๆภาษาเลยนะ
  • Slide ของ Speaker
  • Link จากผู้ฟังท่านอื่นๆ learn react by itself

Do + Don't Microservices | Speaker: @tanapoln

Microservices คือ การแบ่งงาน (Service) ที่มีอยู่ออกเป็นงานย่อยๆ ที่แยกออกจากกัน เพื่อแยก Code base ออกมาจากเดิมที่มีอยู่ Code base เดียว เอาที่ Share ได้ไปไว้ตรงกลางแทน และ งานย่อยๆ (Microservices ) ก็มีแต่ละทีมเข้ามาดูแล จัดการ ถ้ามุมของผมตัว Microservices Split ระบบงานใหญ่ ออกเป็นระบบงานย่อยๆ ให้เป็นอิสระออกจากกัน ใช้การสื่อสาร Network)เข้ามาช่วยประสานงานแทน

ถ้าใครอ่านของผมแล้วงงแนะนำให้อ่่านบทความของ techtalkthai ครับ "ทำความรู้จักกับ Microservices สถาปัตยกรรมระบบที่ทั้งนักพัฒนา และผู้ดูแลระบบควรรู้จัก"

ข้อดีของ Microservices

  • Deployment ได้เร็ว code base มันเล็ก ไม่ต้องกลัวจะชนใคร
  • Scalability
  • Testability เขียน Test แยกส่วนได้
  • Change Control - ปรับเปลี่ยนอะไรได้ง่าย
  • Modularity

ข้อด้อยของ Microservices

  • Performance มีปัญหาด้านเวลาแน่ๆ ใช้ network เยอะ
  • Complexity
  • Devops -
  • Organization Change - แยก Code แยกคนมาดูแล
  • Reliability
  • Feasibility

สิ่งที่ควรทำ และไม่ควรทำกับ Microservices

  • อย่าโฟกัสที่เทคโนโลยี ให้ดู business ประกอบด้วย หาขอบเขตของสิ่งที่สนใจให้เจอ ตัว Speaker แนะนำให้ไปศึกษาเรื่อง Domain-driven design (DDD) เพิ่มเติม
  • ควรเริ่มทำระบบแบบ Monolithic Architecture ก่อน
    • ไม่จำเป็นต้องเริ่ม Microservice เลย
    • พยายามลด Coupling ระหว่าง Package ให้มากที่สุด
    • ถ้าแยก Microservices แล้วมีคนดูแลไม่พอจะเกิดปัญหาได้
  • แต่ละ Microservices ต้องมี Owner ชัดเจน ที่จะดูแลและจัดการ
  • การตัดสินใจแยก Monolithic Architecture ไปเป็น Microservices ต้องมีข้อมูลตัดสินใจที่ครบถ้วน ทั้งจาก ฝ่าย Technical และฝ่าย Business
    • อย่าทำ Microservices ที่เล็กจนเกินไป มันส่งผลกับ Network ได้ ถ้ายุบรวมได้ควรทำ
    • Handle service failure case - ต้องคุยกับ ฝ่าย Business ว่ามีวิธีแก้ทาง Business ได้ไหม ถ้าเกิดปัญหาขึ้น เช่น ตัว inventory Down แต่ส่วนของการ Order ควรทำงานต่อไปได้ไหม ?
    • อย่าทำให้ Microservices มันเชื่อมโยงกันมากไป เช่น การตรวจสอบสิทธิ์
  • API Gateway - คอย Route Request เข้าถูก Microservices โดยอาจจะเพิ่มพวก user agent ให้มันฉลาดขึ้น
  • เมื่อมี API Gateway ควรทำ Feature Flag เพื่อ
    • ทำ A|B Testing ได้ง่าย
    • แยก Feature สำหรับ User แต่ละกลุ่ม
  • ทำ API Contract แยก API สำหรับระบบแต่ละ version เช่น 1.0 ที A และถ้าเพิ่ม 2.0 มี A และ B
  • Develop API for specific client - เช่น Mobile กับ Desktop ใช้มีการใช้งานที่แตกต่างกันบ้างในางเรื่อง ถ้าใช้ API ชุดเดิมกัน ตัว Desktop ใช้ 10 อย่าง แต่ Mobile ใช้แค่ 6 อย่าง ถ้าจับมันไปรวมกัน ตัว Mobile กิน performace พอกัน Desktop เพราะ มีงานที่จำเป็นต้องใช้ 4 อย่าง
  • Performance monitoring สำคัญมาก เพราะ Microservices  ถ้าอันไหนใช้ Network เยอะต้องดู ระวังระเบิดตัวเอง และปรับจูน โดยอาจจะยุบรวมเหลือ Microservices  อันเดียว เป็นต้น
    • Microservices ไม่ควรใช้ Database ร่วมกัน เพราะ มันจะทำให้การ Scale ยากกกกก การจัดการข้อมูลพลาดของระบบ
  • ควร Track log centralize log ถ้าแยก Log ตาม Microservices ที่แยกไปเวลา Maintain จะลำบากมากก
  • ควรมี Circuit breaker pattern - เอาไว้ป้องกันกรณีที่ Microservices ใดเกิด down ขึ้นมา จะได้ไม่กระทบกับ Microservices ตัวอื่นๆ
  • Alway write test - ไม่ว่าจะเป็น unit test หรือ test แบบอื่นๆ
    • ห้ามเขียน Test ที่ต้อง Reset DB - เพราะ มันตามไปเก็บกวาดข้อมูลยาก
  • พยายามดูการสื่อสารระหว่าง Microservices
    • อย่าใช้แบบ Synchronous เพราะ มันจะทำให้เกิดการหน่วงขึ้นได้
    • เป็นไปได้ควรใช้ Asynchronous message queue แทน
  • ควรใช้ server-less authentication & authorization (JWT) - เพราะ ถ้าแยกเป็น Microservices แต่การตรวจสอบสิทธิมันขึ้นกับตัว Auth Microservices มันเป็นจุดเสี่ยงที่จะเกิด single point of failure ได้ เช่น User Login ได้แล้ว แต่ตัว Auth ดันตายขึ้นมา แล้ว User ที่ login เรียบร้อยมีสิทธิ์ที่ใช้งานต่อ หรือใช้งานไม่ได้ ?
  • Web fragment rendering - แยกส่วนการทำงาน ยกตัวอย่าง เช่น Facebook ถ้า ad service ล่ม มันไม่ส่งผลกับ หน้า content อื่นๆ อย่าง New Feed, Event เป็นต้น
  • สำหรับเรื่องนี้ ทาง Speaker มีเขียน Blog ไว้แล้วที่ "8 Do + don’t on Microservices"

CHI RUNNING วิ่งด้วยลมปราณ แบบ งูๆ ปลาๆ | Speaker: JUACOMPE (จั๊วะ)

สำหรับ Session นี้ตามชื่อเรื่องครับ แบ่งแนวคิดของการวิ่ง

  • การหายใจ ใช้ท้องแทน(พวกโยคะ) กระบังลม การหายใจมัน มีผลกับคนรอบข้างด้วย เช่น ถ้าเราตื่นเต้นใช้กระบังลม คนอื่นจะได้รับความรู้สึกนั้นด้วย
  • การลงเท้า
  • การใช้แรงเสริมกัน บางครั้งท่าการวิ่งของเราอาจจะฝืน

Chi ลมปราณ เอาธรรมชาติ มาเป็นพวก ดูเหมือนจอมยุทธ์อะไรแบบนั้น

Digital Secrets / facts + YWC(Young Webmaster Camp) | Speakers: @sayreya @sutham @ywcth14 @twa @kanoflonka

ลองทบทวนคำเหล่านี้ดูครับ

  • สื่งที่เลือก สิ่งที่เรียน สิ่งทีทำ มันไม่ใช่ หรือไม่ ? เช่น
    • จากวิศวคอม ไปงานด้าน Marketing
    • จากสายศิลป์ ไป ComSci ไปเป็น ux designer
  • อนาคต มันไม่ได้เกิดจากเราคนเดียว มันต้องดูครอบครัว และสภาพแวดล้อมด้วย
  • สิ่งที่ชอบ การลงมือทำ หรือ เกิดจากการบังคับนิดๆ
  • The road so far - ที่ผ่านมาได้อะไรมาบ้าง ? กับจุดที่เปลี่ยนชีวิต (Turning Point)

ครั้งแรกที่ผมได้ฟัง สิ่งที่ผมทวิตไว้ รู้ลึกเสียดาย น่าจะรู้เรากว่านี้สัก 5 ปี

ตอนแรกผมก็งงกับ Digital Secrets  แต่ลองมาคิดอีกที คนที่อยู่เบื้องหลังของวงการเว็บไทยตอนนี้ก็มาจากค่าย YWC ทั้งนั้นเลย

หากสนใจค่าย YWC หรือ JWC (สำหรับเด็กมัธยมครับ) ลองจิ้มได้เลยครับ ส่วนผมน่าจะเกินไวมาแล้ว โดยแบ่งเป็น 4 ด้านที่สนใจ ดังนี้

  • Web Content
  • Web Design
  • Web Marketing
  • Web Developer

I used to work in Silicon Valley. Ask Me Anything (AMA) | Speaker: @varokas

  • สำหรับ Session นี้ ผมฟังโดยบังเอิญมากครับ แต่ได้ฟังแนวคิด Idea การทำงานต่างๆ เยอะครับ ขอสรุปเท่าที่ได้นะครับ
  • การทำงาน  Silicon Valley บริษัทต่างๆ เข้ามาสัมภาษณ์ในมหาวิทยาลัยเลยครับ
  • คนไทย โดนกดดันจาก Business มากกว่าเมืองนอก
  • คนไทยแรงงานถูกเลย ส่วนใหญ่เลยใช้ Manual กันเยอะ แต่จากพี่เค้าช่วยปรับแนวคิดต่างๆ ผ่านงาน Agile Thailand

ทำไม Project ถึง Delay? Time VS Quality | Speaker: โท Levelup Plus

แผนภาพนี้น่าจะอธิบายทุกอย่างได้ชัดเจนครับ

สำหรับตัวผมเองมี Pain Point จุดนี้เหมือนกัน เดี๋ยวรอครบรอบการขึ้น Production 1 ปี จะเขียน Blog มาเผา เฮ้ยย มาแชร์ปัญหา และผลกระทบครับ

และท้ายกับของที่แจกในงานครับ ทั้งอาหาร น้ำ ขนม และเสื้อครับ (ตอนแรกคิดว่าไม่ได้เสื้อแน่ๆ เพราะ Walk-in ^___^)


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.