benboonya

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

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

ในอาชีพโปรแกรมเมอร์ทำงานที่บ้านนั้นเป็นสิ่งที่หลายๆ บริษัทนำมาปฏิบัติกันอย่างแพร่หลายโดยเฉพาะในปี 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 นี้ก่อน เช่น Concept ของ Widget, การวาด UI แบบ Declarative และ พื้นฐาน ภาษา Dart …

เปลี่ยนตัวเองเป็นโปรแกรมเมอร์ที่ดีขึ้นด้วย กฎ 80/20 Read More »

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

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

ไม่ว่าเราจะเขียนโปรแกรมด้วยภาษาอะไร ไม่ว่าจะเป็น การเขียนโปรแกรม 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” …

25 เคล็ดไม่ลับที่จะช่วยพัฒนาการเขียนโปรแกรมทุกภาษา เขียนโปรแกรม python เขียนโปรแกรม java เขียนโปรแกรม c++ 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 Principle ในบทความนี้เราจะมาอธิบายว่าแต่ละหลักการของ SOLID …

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-จบใหม่

คำแนะนำในการหางาน Developer จบใหม่ หางาน โปรแกรมเมอร์ จบใหม่ ที่กำลังหางานแรก

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

คำแนะนำในการหางาน Developer จบใหม่ หางาน โปรแกรมเมอร์ จบใหม่ ที่กำลังหางานแรก 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 »

 เพิ่มประสิทธิภาพการทำงาน-โปรแกรมเมอร์

4 วิธีเพิ่มประสิทธิภาพการทำงาน สำหรับ โปรแกรมเมอร์

การเป็น Developer หรือ โปรแกรมเมอร์ นั้นในบางครั้งเราต้องเจอกับสถานการณ์ที่ต้องทำงานในเวลาอันจำกัด และการที่เราสามารถทำงานได้อย่างเร็วรวดและเรียบร้อยนั้นเรียกได้ว่าเป็น Skill ที่สำคัญในสายอาชีพ Developer เลยก็ว่าได้ ดังนั้นวันนี้จะขอมาพูดถึงเทคนิคในการ เพิ่ม Productivity ขอ Developer เพื่อการสร้างสภาพแวดล้อมที่สามารถสร้างผลงานได้อย่างรวดเร็วและเรียบร้อย อย่า Multitask เวลาเขียนโค้ด ทุกวันนี้คงจะเป็นเรื่องปกติของหลายๆคนที่นั่งดู TV ไปแล้วไสล์ด Facebook ดูไปพร้อมๆกันซึ่งนั่นก็เป็นเรื่องปกติสมองของเราสามารถรับข้อมูลจากสองช่องทางได้อย่างไม่มีปัญหา แต่เมื่อผมดู TV หรือ Youtube ขณะที่เขียนโค้ดไปด้วย Productivity นี่ตกฮวบเลยทีเดียว เพราะว่าระหว่างเขียนโค้ดนั้นเราต้องคิดหลายอย่างก่อนจะพิมพ์อะไรลงไป ถ้าโดนขัดด้วยการรับข้อมูลจากช่องทางอื่น ก็จะทำให้กระบวนการทำงานของเรานั้นช้าลง บางครั้งถ้าต้องการโฟกัสกับงานมากๆผมก็ปิดช่องทางการสื่อสารเช่น Line หรือ Slack ไปเลยแล้วค่อยเปิดดูอีกทีในเวลาต่อมา รู้จักกับ Code Editor ของเราให้ทะลุปรุโปร่ง   ถ้าถามว่าโปรแกรมอะไรที่ Developer ใช้บ่อยที่สุดในเวลางาน คำตอบก็คงจะหนีไม่พ้น Code Editor ซึ่งในกรณีของผมก็คือ Android Studio โดย Code …

4 วิธีเพิ่มประสิทธิภาพการทำงาน สำหรับ โปรแกรมเมอร์ Read More »

developer-โปรแกรมเมอร์

5 อุปนิสัยของ Developer และ โปรแกรมเมอร์ที่ดี

5 คือรายการคร่าวๆที่ลองไปประยุกต์ใช้แล้วอาจทำให้เราพัฒนาในสายงาน โปรแกรมเมอร์ หรือ Developer ที่ดีขึ้น 1. โปรแกรมเมอร์ที่ดีควรให้ความสำคัญกับธุรกิจด้วย บางครั้ง Developer อย่างเราอาจให้ความสำคัญกับ Tech Stack, Structure ของโค้ด, tool หรือ technology มากเกินไป จนหลงลืมไปว่าโค้ดที่เรากำลังเขียนอยู่นั้นมีจุดประสงค์อย่างไรในทางธุรกิจ ดังนั้นถึงแม้ว่าหน้าที่ของ Develop คือการเขียนโค้ดแต่ไม่ควรสนใจเพียงแต่ เรื่องเชิงเทคนิคเพียงอย่างเดียว บางทีคุณอาจจะลองถามตัวเองดูว่า สิ่งที่เรากำลังสร้างขึ้นนั้นก่อให้เกิดผลประโยชน์ทางธุรกิจรึเปล่า หรือ เราใช้เวลามากเกินไปในสิ่งที่ไม่จำเป็นนัก 2. เมื่อคุณคิดว่างานเสร็จแล้ว… 𝐑𝐞𝐟𝐚𝐜𝐭𝐨𝐫 จ้า สำหรับ Developer ที่เริ่มทำงานใหม่ๆอาจคิดว่างานเสร็จแล้วหลังจากที่เราเขียนโค้ดให้มันทำงานได้ตามที่เราต้องการ แต่จริงๆแล้วหลังจากเราเขียนโค้ดเสร็จถ้ามีเวลาก็ควรมาเช็คดูว่าสิ่งที่เราเขียนไปนั้นอ่านง่ายไหม และ Developer คนอื่นสามารถมาทำงานต่อได้รึเปล่า การค่อยๆ Refactor โค้ดของเราไปทีละนิดนั้นย่อมดีกว่าการเจอปัญหาแล้วมา Refactor ครั้งใหญ่ทีหลัง 3. อย่าทำอะไรซ้ำๆ เคยไหมเวลาเขียนโค้ดไปแล้วรู้สึกว่า เอ… อันนี้มันคุ้นๆนะ เหมือนเคยเขียนโค้ดนี้ไปแล้วนี่นา สถานการณ์แบบนี้คือสิ่งเราควรจะหลีกเลี่ยงเพราะการใช้โค้ดเหมือนกันหลายๆที่ในโปรเจคนั้นจะทำให้เราทำงานกับโค้ดชุดนี้ยากขึ้นเช่นถ้าเราต้องการเปลี่ยน Logic เราก็ต้องไปไล่เปลี่ยนทีละจุดซึ่งก็อาจทำให้เสี่ยงต่อการเกิด Bug มากขึ้นถ้าไม่ระวังให้ดี …

5 อุปนิสัยของ Developer และ โปรแกรมเมอร์ที่ดี Read More »