Error Tracking ด้วย Sentry.io

เกริน เกริ่น เกริ้น …

ว่าด้วยเรื่องของ Error tracking แล้วเนี่ยก็มี Tool มากมาย หรือในบางภาษา หรือเฟรมเวิร์คที่ใช่ ก็อาจจะมี Library ให้ใช้อยู่แล้วก็ได้ ซึ่งบางตัวที่ใช้เมื่อมี Error มาก็จะส่งไปที่อีเมล อีเมล แล้วก็อีเมล ​แล้วถ้ามีหลายโปรเจคล่ะ ก็ส่งไปที่อีเมล อีเมล อีเมลๆ โอ้นี่ยังไม่รวม อีเมลอื่นๆ อีกนะ ถ้าไม่จัดกลุ่มของอีเมลนี่หากันไม่เจอเลยว่า อันไหนเป็น Error

วันนี้เลยมี Tool อันนึงมาแนะนำ นั่นคือ Sentry.io ที่มีฟีเจอร์การทำงานที่เรียกได้ว่าครบเลยรองรับหลาย Platform และติดตั้งง่ายมากกก แล้ว Sentry.io มีฟีเจอร์ อะไรบ้างไปดูกัน

Platforms

ปล. ใน Blog นี่ยกมาแค่บางฟีเจอร์เท่านั้นนะ (https://sentry.io/features/)

Issues List

Error tracking list

คือรายการของ Issue ที่ถูกส่งมาเมื่อเกิด Error ในระบบเรา ซึ่งบอกได้ด้วยว่า Error กี่ครั้ง และกดกับผู้ใช้กี่คนแล้ว แต่รายละเอียดจริงๆ เนี่ยยังมีอีกเพียบไว้ดูในหัวข้อถัดไปละกัน

Issue Detail

พอกดเข้ามาจากหน้ารายการ ก็จะเจอรายละเอียดต่างๆ ที่ละเอียดมาก เช่น เกิด Issue จากบราวเซอร์อะไร เวอร์ชันไหน ไฟล์ไหน บรรทัดที่เท่าไหร่ URL ไหน บลาๆ นี่แค่เป็นค่าตั้งต้นที่ Sentry กำหนดมาให้นะ

นั่นหมายความว่าเราสามารถ Custom ค่าจะส่งมาบอก Sentry ได้ว่าเราอยากรู้อะไรบ้าง จากรูปข้างต้นจะเห็นว่ามี user id: 1 อยู่ (อยู่ในส่วนของ TAGS) คือเราจะรู้ได้ว่าเกิด Issue กับ User ที่ id เท่ากับ 1

Issue detail
นี่ไง user id: 1 ที่พูดถึง

User Feedback

นอกจากจะ Error Tracking แล้วผู้ใช้สามารถส่ง Feedback มาที่ Sentry ได้ ซึ่งทาง Sentry จะมี javaScript ให้แปะบนเว็บของเรา (กรณี Web platform) แล้วก็เขียน Click Event นิดหน่อย ส่วนนี้ก็ใช้งานได้แล้ว

Release

จากรูปด้านบนนี้กำหนดไว้ว่า เป็น Release v0.5 ซึ่งสามารถกำหนดได้ในโค้ด แต่ถ้าไม่กำหนด จะใช้เลข Commit แทน

ซึ่งส่วนนี้ถือว่าดีเลยทีเดียว จะทำให้เรารู้ได้ว่าแต่ละ Release เรามี Issue มากน้อยแค่ไหน

Slack Integration

ตามหัวข้อเลยก็คือนำไปใช้ร่วมกับ Slack เมื่อมี Issue ก็จะ push ไปที่ Slack แต่เราก็สามารถกำหนดได้ว่า จะให้ push ไปที่ Slack เมื่อเป็น Issue แบบไหน และกำหนด Channel ที่จะ push ไปได้เช่นกัน

ตัวอย่างการ Push ไปที่ Slack ซึ่งสามารถ กด Resolve หรือ Ignore ได้ด้วย และสามารถ Assign ให้กับคน หรือทีมได้

Github Integration

เมื่อมาใช้ร่วมกับ Github แล้วก็ไม่พ้นว่าต้องเกี่ยวกับ Code หรือ Commit แน่นอน ซึ่ง ณ ปัจจุบันยัง Resolve Issue จากการแก้โค้ดไม่ได้ แต่ Resolve ได้จาก Commit message ว่าต้องมี fixes ISSUE_ID ใน Commit message เช่น [fixes SAMPLE-PROJECT-1] เมื่อ Push ขึ้นไป Issue ก็จะ Resolve ให้โดยเองอัตโนมัติ ซึ่งก็ถือว่าสะดวกสบายพอสมควรเลยแหละ

รีวิวการฝึกงานกับบานาน่า โคดดิ้ง โดย ออย (วิทยาการคอมพิวเตอร์ มหาวิทยาลัยเชียงใหม่)

ผม “ออย (Ooy)” จากภาควิชาวิทยาการคอมพิวเตอร์ (CS34) คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ครับ ^ ^

ต้องบอกก่อนว่าบริษัท Banana Coding เนี่ยเค้าเคยมีโครงการดี ๆ ที่จัดกับทางภาควิชาฯ ของผม ก็คือ โครงการ Android Application Development Workshop ซึ่งในตอนนั้นผมอยู่ปี 3 พอดี ก็เลยมีโอกาสได้เข้าร่วมด้วย ตอนแรกที่มาบริษัทนี้ เหมือนโดนตีหัวเข้าบ้านเลยครับ เพราะมาครั้งแรกก็ดูน่าอยู่มาก สะอาด บริษัทแลดูร่มรื่น ของกินเยอะ พี่ ๆ คือเอ็นจอยกับการสอนใน Workshop สุด ๆ จนทำให้เกิดความประทับใจที่จะมาลองฝึกงานที่นี้ แต่แล้วสิ่งที่ผมคิดก็เปลี่ยนไปนิดหน่อย ตอนแรกผมกะจะฝึกงานที่นี่แค่ 2 เดือน แต่วันนึงที่นอนอยู่หอ เพื่อนก็โทรมาหาว่า

A: มึง ไปสหกิจกันมะ เนี่ยอาจารย์เค้าบอกว่าไปเถอะได้ประสบการณ์ดี ได้เงินด้วย บลา ๆ ๆ ๆ ๆ

Ooy: ห๊ะ…อ๋อ โอเค ไปก็ได้ ไหน ๆ ตัวเรียนก็ครบแล้ว

จากวันนั้นทุกอย่างก็เปลี่ยนไป เพื่อนที่ชวนไปสหกิจคนนั้นก็ไม่ไป (เท) เหลือเราที่ตกลงไปแล้ว ก็เลย เอาวะ! ลองดูสักหน่อยก็ได้ ก็เลยตัดสินใจแจ้งทางบริษัทนี้ว่า จะขอเปลี่ยนจากฝึก 2 เดือน เป็นฝึก 6 เดือน ทางบริษัทก็ใจดี ยินดีเปลี่ยนให้ในทันทีเลย

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

เรื่องความรู้ที่ได้จากที่นี่ ยิ่งไม่ต้องกลัวเลย ได้เยอะแน่นอน เพราะตั้งแต่เข้าบริษัทมา พี่เขาก็จัดเทรนการใช้งานภาษา หรือเครื่องมือต่าง ๆ ที่บริษัทจำเป็นต้องใช้ทั้งหมด เช่น GitHub, Trello, Slack, Ruby on Rails , HTML+CSS+JS, Angular+TypeScript เป็นต้น พอเสร็จจากการเทรนเครื่องมือแล้ว พี่เขาก็ให้เราทดลองทำงานจริง โดยการเข้าทำงานกับรุ่นพี่ที่มีประสบการณ์ทำงานมาแล้ว พี่เขาจะคอยช่วยเหลือเราเสมอเมื่อร้องขอ ในโปรเจคที่ตรงกับความสนใจของเรา อย่างผมก็ได้ลองเขียนแอป Android ส่วนเพื่อนอีก 2 คนก็ทำสิ่งที่เขาสนใจไป

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

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

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

รีวิวการฝึกงานกับบานาน่า โคดดิ้ง โดย พันไมล์ (วิทยาการคอมพิวเตอร์ มหาวิทยาลัยเชียงใหม่)

ผมชื่อ นาย พันไมล์ ตานุ ชื่อเล่น ไมล์ ปัจจุบันศึกษาอยู่ที่ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ ภาควิชาวิทยาการคอมพิวเตอร์ครับ ผมได้เริ่มรู้จักกับบริษัทบานาน่าโคดดิ้ง จากการได้เข้าฟังประสบการณ์ฝึกงานของรุ่นพี่ในมหาวิทยาลัย จึงได้เริ่มมีความสนใจที่จะเข้าฝึกงานที่นี่ โดยทางมหาวิทยาลัยต้องให้นักศึกษาออกฝึกงานเป็นเวลา 2 เดือน ผมจึงได้ยื่นสมัครเข้าฝึกงานที่บริษัทแห่งนี้ แต่ก่อนจะมีการรับสมัครฝึกงาน ทางบริษัทได้มีการจัดโครงการ Android Application Development Workshop ผมจึงได้เข้าร่วมโครงการแล้วได้ความรู้ต่างๆ แล้ว ยังได้สัมผัสกับสังคมความเป็นอยู่ของบริษัท ที่ค่อนข้างจะเป็นบริษัทเล็กๆ มีทีมงานประมาณ 20 กว่าคน จึงทำให้ได้รับการดูแลจากพี่ๆ เป็นอย่างดี

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

ในช่วงแรกจะมีการสอนพื้นฐานในเรื่อง Git, Trello, HTML, CSS, Bootstrap, Ruby, Ruby on Rails , JavaScript, Typescipt, Angular 2, การเขียน Test ซึ่งเป็นความรู้ที่จะนำไปใช้ในการทำงาน โดยในแต่ละหัวข้อจะให้เวลาในการสอน 1 วันและหลังจากนั้นจะได้เริ่มทำงาน ซึ่งงานที่ได้รับมอบหมายคืองานที่จะต้องทำการส่งมอบลูกค้าจริงๆ โดยให้เข้าร่วมทีมในการพัฒนา ซึ่งการทำงานจะมีการแบ่งหน้าที่การทำงานออกเป็นส่วนๆ เป็นการฝึกการทำงานร่วมกับผู้อื่นได้เป็นอย่างดี ในการทำงานช่วงแรกๆ งานดำเนินไปค่นข้างช้า แต่เมื่อมีข้อสงสัยหรือติดขัดอะไรก็ไปถามพี่ๆ ซึ่งพี่ๆก็ช่วยแนะนำและแก้ไขปัญหาตลอด และการทำงานที่ไม่ได้ตึงเครียด ไม่ได้มีการบังคับให้ทำงานตลอดเวลา สามารถผ่อนคลายได้พักผ่อนได้ หลังจากได้ทำงานชิ้นแรกสำเร็จแล้วก็พบว่าตัวเองได้ความรู้จากการทำงานมากมาย ผมเคยได้ยินคำกล่าวที่ว่า ถ้าทำงานกับคนเก่งก็จะทำให้พัฒนาตัวเองให้เก่ง ซึ่งก็เป็นเรื่องจริง เพราะการที่เห็นคนอื่นทำได้แล้วตัวเราเองยังทำไม่ได้แสดงให้เห็นว่าเรายังพยายามไม่พอ ผมจึงได้เรียนรู้ว่าการพัฒนาตัวเองนั้นเป็นสิ่งสำคัญ ที่จะช่วยให้ประสบความสำเร็จในการดำเนินชีวิต

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

รีวิวการฝึกงานกับบานาน่า โคดดิ้ง โดย เอ็ม (วิทยาการคอมพิวเตอร์ มหาวิทยาลัยเชียงใหม่)

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

1) ฝึกงานทั่วไปใช้ระยะเวลาสองเดือน

2) โครงกราสหกิจศึกษาใช้ระยะเวลาหกเดือน

ซึ่งผมก็เลือกโครงการสหกิจแบบไม่ลังเล เพราะว่าไม่อยากเรียน​ ฮ่าๆๆ หลังจากนั้นก็ต้องมาคิดหนักว่าจะต้องเลือกบริษัทไหนอีก สำหรับผมแล้วนั้นการเลือกไปฝึกงานกับบริษัทใหญ่ๆนั้นตอนนั้นก็คงเป็นเพียงแค่ความคิดเพราะว่าเกรดเฉลี่ยไม่ค่อยจะดีซักเท่าไหร่ แล้วผมก็ไม่อยากไปฝึกงานไกลๆด้วยผมจึงเลือกบริษัทที่อยู่ในเชียงใหม่ “แล้วผมรู้จักบริษัทนี้ได้ยังไงหล่ะ ?” ในตอนแรกการที่จะเลือกสหกิจศึกษาผมจะต้องเก็บชั่วโมงอบรมกิจกรรมให้ครบครับ ซึ่งในตอนนั้นผมขาดชั่วโมงอบรมและตอนนี้กิจกรรมก็เหมือนจะหมดไปแล้ว แต่ไม่นานก็ได้ยินว่าจะมีบริษัทในเชียงใหม่จะมาทำ โครงการ workshop ให้นักศึกษาที่สนใจผมจึงเข้าร่วมเพื่อจะเก็บชั่วโมงให้ครบ ผมจึงได้มีโอกาสรู้จักบริษัทนี้เป็นครั้งแรก สิ่งที่ผมประทับใจในครั้งแรกเลยสำหรับที่นี่ก็คือตอนที่บริษัทมาบรรยายเกี่ยวกับโครงการ workshop เค้าพูดว่า “เค้าไม่อยากได้คนเก่ง เค้าอยากได้คนที่ไม่เก่งแล้วทำให้เก่ง” ในตอนนั้นผมรู้สึกว่านี่แหละทางของผม ผมกับเพื่อนอีกหลายคนจึงสมัครเข้าร่วม workshop กับทางบริษัท ในช่วงของการ workshop กับทางบริษัทนั้นผมรู้สึกว่าดีจังที่ได้มา ผมได้ความรู้หลายๆถึงแม้จะเป็นช่วงเวลาๆสั้นๆ ผมรู้สึกว่าที่นี่โอเคมาก จนเริ่มคิดว่าอยากจะมาฝึกงานที่นี่ หลังจากนั้นผมจึงได้ส่งใบสมัครมาที่นี่แล้วผมไม่นานผมก็ได้อีเมลตอบว่า “ผ่าน ทางบริษัทมีความยินดีตอบรับ การขอฝึกงานกับทางบริษัท” ผมรู้สึกดีใจมาก สบายใจแล้วมีที่ฝึกงานกับเค้าแล้ว หลังจากนั้นผมก็ตั้งหน้าตั้งตารอมากที่จะมาฝึกงาน

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

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