benboonya

shaking-hands-fragment

Start a Fragment for results ใน Android?

“Google ได้เพิ่มความสามารถใหม่ให้ FragmentManager ซึ่งทำให้ FragmentManager นั้นเป็นเหมือนตัวกลางเก็บ Fragment Results” ?‍♂️ Source code ใน project นี้ทั้งหมดสามารถดูได้ที่ https://github.com/BenBoonya/fragment-result ในการทำงานกับ Android Development ทุกคนน่าจะเคยใช้และคุ้นเคยกับ startActivityForResult กันดี โดยเราเรียกใช้ function นี้ใน Activity หรือ Fragment เพื่อเริ่ม Activity ใหม่และเอา Result กลับมาจาก Activity นั้น แต่ถ้า Screen ต่างๆใน Application ของเราสร้างด้วย Fragment เพียงอย่างเดียวล่ะ? เช่นนั้นแน่นอนว่าเราก็ไม่สามารถใช้ startActivityForResult เพื่อส่งข้อมูลระหว่าง Fragment ได้ จนถึงเมื่อเร็วๆนี้ ถ้าเราต้องการสื่อสารระหว่าง Fragment ด้วยกัน ตัว Framework ยังไม่มีอะไรเหมือน startActivityForResult เพื่อทำหน้าที่นั้น …

Start a Fragment for results ใน Android? Read More »

เมาส์ไร้สาย ราคาดี

เมาส์ไร้สาย ยี่ห้อไหนดี ? 5 เมาส์ไร้สาย ราคาดี ถนอมข้อมือ

เมาส์ไร้สาย ยี่ห้อไหนดี? 5 รายการ เมาส์ถนอมข้อมือ เวลาจะเลือกซื้อเมาส์ หลายๆคนคงมีคำถามว่า เราควรจะใช้ เมาส์ไร้สาย ยี่ห้อไหนดี เมาส์ไร้สายที่ดีนั้นควรมีราคาเหมาะสม ช่วยถนอมข้อมือของผู้ใช้ เมาส์นั้นเป็นสิ่งสำคัญมาก สำหรับการทำงาน office หรืองานที่ต้องนั่งอยู่หน้าจอคอมพิวเตอร์ตลอดเวลา ในการทำงานที่ต้องนั่งจับเมาส์ ทำงานทั้งวันอาจเจอปัญหาปวดหรือตึงบริเวณข้อมือหรือแขนได้ง่าย บทความนี้เราเลยจะพามาส่องรายการ เมาส์ไร้สาย ที่จะช่วยให้ตำแหน่งมือของเราอยู่ในลักษณะที่เป็นธรรมชาติมากขึ้นขณะทำงานกัน 1. Bewell เมาส์ไร้สายแนวตั้ง เพื่อสุขภาพข้อมือ Bewell อาจไม่ใช่บริษัทชื่อดังด้าน Gadget แต่ Bewell นั้นมีสินค้า Ergonomic หรือ สินค้าที่ออกแบบให้เข้ากับสรีระ  เพื่อการทำงานนั่งกับโต๊ะนั่นเอง เมาส์ไร้สายนี้ก็เป็นหนึ่งในสินค้าการ Bewell ถือว่าเป็น เมาส์ไร้สาย แนวตั้งที่ราคาย่อมเยาว์ทีเดียว ดีไซน์ก็มาในรูปเรียบหรูสวยงาม ดูรายละเอียด บน Lazada ดูสินค้า Bewell อื่นๆ 2. เมาส์ไร้สาย dell premier wireless mouse มาพร้อมกับรูปทรงที่ออกแบบมาให้ทำได้สะดวกสบาย  Laser sensor …

เมาส์ไร้สาย ยี่ห้อไหนดี ? 5 เมาส์ไร้สาย ราคาดี ถนอมข้อมือ Read More »

ของใช้ โปรแกรมเมอร์ ทำงานที่บ้าน

ของใช้สำหรับโปรแกรมเมอร์ทำงานที่บ้าน

ในอาชีพโปรแกรมเมอร์ทำงานที่บ้านนั้นเป็นสิ่งที่หลายๆ บริษัทนำมาปฏิบัติกันอย่างแพร่หลายโดยเฉพาะในปี 2020 ที่มีการ Lock down และหลีกเลี่ยงการสัมผัส วันนี้จะพาไปดูรายการของใช้ที่จะทำให้ โปรแกรมเมอร์ทำงานที่บ้านได้สะดวกสบายยิ่งขึ้น   ที่วางโทรศัพท์ และ Tablet ในกรณีที่ต้องใช้โทรศัพท์หรือ Tablet ในเวลาทำงานไปด้วย การมีขาตั้งมือถือก็ช่วยให้เราสะดวกสบายขึ้นเยอะ โดยไม่ต้องใช้ทั้งสองมือหยิบโทรศัพท์ขึ้นมาเวลาต้องการใช้ ดูรายละเอียดที่วางโทรศัพท์ และ Tablet บน Lazada USB Hub การมี USB hub อยู่บนโต๊ะก็ทำให้สายไฟบนโต๊ะของเรายุ่งเหยิงน้อยลงประมานนึงเลย ที่ใช้อยู่คือของ UGREEN ดูรายละเอียด USB hub บน Lazada กล่องเก็บปลั๊กรางและสายไฟ ทำงานที่บ้าน อย่างเป็นระเบียบ สำหรับจัดการสายไฟให้เป็นระเบียบ ดูกล่องเก็บปลั๊กบน LAZADA ที่ว่าง Laptop แนวตั้ง สำหรับคนคนที่ใช้ Monitor แล้วไม่ต้องการดูจอ Laptop ควบคู่ไปด้วยกันการมีที่วาง Laptop แนวตั้งก็ช่วยประหยัดพื้นที่บนโต๊ะได้ดีทีเดียว แทนที่จะวาง Laptop ไว้แนวนอนแล้วกินพื้นทีของโต๊ะทำงาน …

ของใช้สำหรับโปรแกรมเมอร์ทำงานที่บ้าน Read More »

โปรแกรมเมอร์ที่ดี-80-20

พัฒนาตัวเองในสายอาชีพ โปรแกรมเมอร์ ด้วย กฎ 80/20

การจะก้าวหน้าในอาชีพ โปรแกรมเมอร์ และ เป็นโปรแกรมเมอร์ที่ดีนั้นต้องอาศัยเวลาและ การสะสมประสบการณ์ บทความนี้จะมาพูดคุยเรื่องของหลักการหรือแนวคิดที่จะช่วยให้ผู้อ่านสามารถนำไปประยุกต์ใช้ในชีวิตประจำวันของอาชีพ โปรแกรมเมอร์ โดยหลักการ นี้ถูกเรียกว่ากฏ 80/20 ลองมาดูกันว่ากฎนี้จะมาช่วยให้เราเป็นโปรแกรมเมอร์ที่ดีขึ้นได้อย่างไร   อะไรคือกฎ 80/20? “The Pareto principle” หรือ กฎ 80/20 กล่าวว่า เหตุการณ์ส่วนมาก ประมาณ 80% ของผลลัพธ์นั้นเกิดจาก เพียง 20% ของต้นเหตุ ซึ่งตัวเลข 80/20 เป็นตัวเลขโดยประมาณ โดยจะสื่อว่าผลลัพธ์ส่วนใหญ่จะเกิดจากต้นเหตุส่วนน้อย แล้วในการทำงานของ อาชีพ โปรแกรมเมอร์ เราสามารถประยุกต์ใช้กฎนี้ได้เมื่อใดบ้าง ใช้ กฎ 80/20 เพื่อพัฒนาตัวเองในสาย อาชีพ โปรแกรมเมอร์ อย่างไร? เมื่อเรียนรู้สิ่งใหม่ๆ ในโลกของการเขียนโปรแกรมนั้น เราจำเป็นต้องเรียนรู้เพียง 20% ก่อนจะเริ่มทำบางอย่าง เช่น ตอนผมเริ่มเรียน Flutter ก็เลือกที่จะเรียนรู้ 20% ที่เป็นพื้นฐานของ Framework …

พัฒนาตัวเองในสายอาชีพ โปรแกรมเมอร์ ด้วย กฎ 80/20 Read More »

พัฒนาการเขียนโปรแกรม

25 เคล็ดไม่ลับที่จะช่วย อาชีพ โปรแกรมเมอร์ พัฒนาการเขียนโปรแกรมทุกภาษา

ไม่ว่าเราจะเขียนโปรแกรมด้วยภาษาอะไร ไม่ว่าจะเป็น การเขียนโปรแกรม python การเขียนโปรแกรม java  การเขียนโปรแกรม c++ และการเขียนโปรแกรมทุกๆภาษา โปรแกรมเมอร์ทุกคนย่อมต้องการที่จะพัฒนาทักษะการเขียนโปรแกรมของตน นี่เป็นรายการที่จะช่วยพัฒนาการเขียนโปรแกรมของเรา โดยรายการที่จะกล่าวถึงนี้สามารถอ่านจบภายในเวลาไม่นานเท่าไหร่แต่การจะปฏิบัติได้จริงๆนั้นต้องใช้เวลานานพอสมควรทีเดียว มาพัฒนาการเขียนโปรแกรมของเรากันเถอะ! 1. พยายามเขียนโค้ดให้อยู่ในรูปที่เป็น function เล็กๆและมีหน้าที่ชัดเจน 2. ถ้าถึงเวลาเลิกงานแล้วแต่เรายังไม่สามารถแก้ปัญหาได้ ปิดคอมลืมปัญหานั้นไป แล้วค่อยมาแก้ไขในวันต่อมา 3. หลักการ YAGNI (You aren’t gonna need it): อย่าเขียนโค้ดมากกว่างานที่ได้รับมอบหมาย แต่ทำในสื่งที่สำคัญต่อการแก้ปัญหาที่เราเจออยู่หรือ feature ที่กำลังสร้างอยู่ 4. เราไม่จำเป็นต้องรู้จักทุก Framework สิ่งสำคัญคือการมีพื้นฐานที่ดี รู้จักภาษาที่จะใช้เขียน Framework ให้ถ่องแท้ และ สิ่งพื้นฐาน เช่น SOLID principle 5. KISS: “Keep it simple, stupid” หรือ “Keep it stupid simple” หลักการนี้กล่าวว่าระบบจะทำงานได้ดีที่สุดเมื่อมันเข้าใจง่ายและไม่ซับซ้อน ซึ่งฟังดูเหมือนง่ายแต่บางมันก็ยากที่จะทำให้โค้ดของเรานั้นไม่ซับซ้อน 6. ถ้าเราจมอยู่กับ …

25 เคล็ดไม่ลับที่จะช่วย อาชีพ โปรแกรมเมอร์ พัฒนาการเขียนโปรแกรมทุกภาษา Read More »

solid-principles-coding

SOLID Principles คืออะไรทำไม อาชีพ โปรแกรมเมอร์ ทุกคนต้องรู้จัก

SOLID Principles คือ 5 หลักการที่จะออกแบบ Object-Oriented Class โดยเป็นไปในแบบ Best Practice ที่ อาชีพ โปรแกรมเมอร์ ควรจะปฏิบัติตามในการวางโครงสร้างและออกแบบ Class ในการเขียนโปรแกรม หลักการ  5 อย่างนี้จะช่วยให้เราสามารถเขียนโค้ดได้เป็นแบบมืออาชีพมากขึ้น และเข้าใจว่าทำไมเราถึงควรใช้ Software Design Pattern ต่างๆใน Project ของเรา ไม่ว่าจะเป็น MVC, MVVM, MVP หรือ Design Pattern อื่นๆ ดังนั้นใครที่ต้องทำงานกับโค้ดทุกวันก็ควรรู้จักหลักการดังกล่าวไว้ SOLID นั้นย่อมาจาก The Single Responsibility Principle The Open-Closed Principle The Liskov Substitution Principle The Interface Segregation Principle The Dependency Inversion …

SOLID Principles คืออะไรทำไม อาชีพ โปรแกรมเมอร์ ทุกคนต้องรู้จัก Read More »

GitHub-product-2020

4 Product ใหม่น่าลอง จาก Github ในปี 2020

เมื่อช่วงกลางปีที่ผ่านมาทาง Github ได้มีการประกาศว่าจะมี feature เพิ่มเติมขึ้นมาบน Platform web จนถึงตอนนี้บาง feature ก็ได้มีการปล่อยเป็น public release ออกมาให้ใช้กันแล้ว เราลองมาดูกันว่า Product เหล่านี้จะช่วยอะไรเราในการเขียนโค้ดได้บ้าง Codespaces by Github เป็น Code Editor ที่อยู่บน Web Browser ที่มาพร้อม Environment ปกติแล้วการ Set up Development Environment ก่อนจะเริ่มทำโปรเจคนั้นไม่ใช่เรื่องง่าย และค่อนข้างกินเวลา ดังนั้น Github ก็เสนอทางแก้ให้ปัญหานี้โดยการนำ Environment  พร้อมทั้ง IDE ที่สร้างขึ้นโดยอ้างอิงจาก VS Code มารันบน Web Broswser โดยยังคงไว้ซึ่ง feature สำคัญของ VS Code และเรายังสามารถลง Extension ต่างๆขอ VS …

4 Product ใหม่น่าลอง จาก Github ในปี 2020 Read More »

concat-adapter-android-banner

สร้าง Nested RecyclerView ใน Android ด้วย ConcatAdapter

ConcatAdapter นั้นช่วยรวม RecyclerView Adapter หลายตัวเข้าด้วยกันเพื่อแสดงใน RecyclerView หนึ่งตัว ในยุคสมัยนี้ UI ของ Application มีมากมายหลายรูปแบบ และเมื่อ UI นั้นซับซ้อนขึ้น เราอาจเจอสถานการณ์ที่ทำให้ต้องใช้ RecyclerView อยู่ข้างใน RecyclerView อีกทีหนึ่ง หรือ เรียกว่า Nested RecyclerView ตัวอย่าง Application ที่ทำแบบนี้ก็มีอยู่ทั่วไปในชีวิตประจำวันเช่น Klook, Google Play Store จาก Screenshots ที่เห็นนั้นก็คงเดาได้ไม่ยากว่าน่าใช้ Nested RecyclerView ในการทำแหละ โดยหนึ่งในวิธีที่จะทำ Layout แบบนี้ก็คือการว่าโครงสร้างของ Adapter และ ViewHolder ประมานนี้ นี่คือวิธีสร้าง RecyclertView Adapter ด้านนอกสุดเพื่อควบคุม Content ข้างในของ Nested RecyclerView โดย Viewholder แต่ละตัวจะประกอบไปด้วย …

สร้าง Nested RecyclerView ใน Android ด้วย ConcatAdapter Read More »

หางาน-โปรแกรมเมอร์-หางาน-developer-จบใหม่

3 คำแนะนำสำหรับ อาชีพ โปรแกรมเมอร์ จบใหม่ ในการหางาน

การเริ่มต้นหางานของ อาชีพ โปรแกรมเมอร์ จบใหม่ นั้นสำหรับผู้เพิ่งเริ่มต้นนั้นอาจเป็นเรื่องยากซักหน่อยเพราะมองไปแต่ที่ไหนก็มีแต่คนประกาศรับ Senior Developer หรือ Senior โปรแกรมเมอร์ และต้องการคนที่มีประสบการณ์มากๆ ทั้งนั้น ดังนั้น อาชีพ โปรแกรมเมอร์ จบใหม่ และ developer จบใหม่ ที่เริ่มเดินทางสายนี้จะทำอย่างไรดีหละให้เรามีโอกาสถูกเรียกสัมภาษณ์มากขึ้นดีล่ะ  ในบทความนี้เราเลยจะมากล่าวถึง คำแนะนำที่ผู้เริ่มต้นทุกคนสามารถทำได้เพื่อเพิ่มโอกาสการ หางาน อาชีพ โปรแกรมเมอร์ และ หางานในสายงาน Developer โดย คำแนะนำที่ว่านี้จะโฟกัสไปที่เรื่อง Resume, Project ตัวอย่าง และ Sample Code เนื่องจากผมทำงานเป็น Mobile developer ซึ่งงานจะเป็น Front end ซะส่วนใหญ่ เลยจะของยกตัวอย่างทางด้าน Front end development ประกอบด้วย แต่คิดว่าสามารถนำไปประยุกต์ไม่ว่าจะเป็น Developer สายไหนก็ตาม  โดยต้องขอกล่าวไว้ก่อนว่านี่เป็นความเห็นส่วนตัวของผู้เขียน ไม่ได้มีส่วนเกี่ยวข้องกับองค์กร หรือ บริษัทที่ผู้เขียนกำลังทำงานอยู่แต่อย่างใด …

3 คำแนะนำสำหรับ อาชีพ โปรแกรมเมอร์ จบใหม่ ในการหางาน Read More »

android-ภาษา-dart

เมื่อ Android developer ลองเรียน ภาษา Dart

เมื่อไม่นานมานี้ผมได้ลองเรียน Flutter Course จาก Website appbrewery.co ในชื่อ Course “The Introduction to Flutter Development with Dart.” โดยภาษาที่ใช้ในการเขียน Flutter ก็คือภาษา Dart ในบทความนี้ผมเลยอยากมาพูดถึงภาษา Dart ในมุมมองของ Android developer ซึ่งทำงานกับภาษา Kotlin โดยส่วนใหญ่ โดยผมจะกล่าวถึง Syntax ของ ภาษา Dart เป็นหลัก Syntax ก่อนหน้าที่ผมจะใช้ภาษา Kotlin นั้น ผมเคยใช้ภาษา Java ในการเขียน Android มาก่อน ความรู้สึกแรกที่ได้เห็นภาษา Dart และลองเขียนดู คือ Syntax มันดูไม่แปลกตานัก โดยจากความเห็นส่วนตัวของผมภาษา Dart นั้นดูคล้ายกับ Java มากกว่า Kotlin แต่ถ้าจะพูดให้ชัดเจนขึ้นมากอีกหน่อยผมว่า …

เมื่อ Android developer ลองเรียน ภาษา Dart Read More »