7 Side Projects สนุก ๆ ที่คุณสามารถลองทำได้

24-ก.ค.-20

คัมภีร์เทพ IT

ไม่มีทางลัดใดของการเป็น Developer ที่เก่งขึ้น คุณจำเป็นต้องฝึกฝนและพัฒนาทักษะ Skillset ของคุณอยู่เสมอ การทำ Side Project นอกเหนือจากการทำงานหลักของคุณ ถือเป็นอีกหนึ่งวิธีที่จะช่วยพัฒนาฝีมือและเตรียมพร้อมกับการรับมือกับความท้าทายที่ซับซ้อน และนี่ก็เป็น 7 Side Projects สนุก ๆ ที่คุณสามารถลองทำได้

1. Project: Personal Knowledge Base

Side Project นี้เหมาะสมอย่างอย่างสำหรับ Developer ที่ยังมีประสบการณ์ไม่สูงนัก สิ่งที่ยอดเยี่ยมเกี่ยวกับ Project ด้านนี้ ก็คือ Features รวมทั้งความยากที่อาจแตกต่างกันไป 

เพื่อการเริ่มต้นอย่างง่าย คุณสามารถทำ Feature ในเรื่องการเก็บ Notes ต่าง ๆ ใน Markdown หากคุณต้องการให้มันซับซ้อนขึ้นอีกเล็กน้อย คุณสามารถเพิ่ม Feature ที่ทำให้คุณสามารถเพิ่ม Links ไปยัง Tutorials และ Blog Posts แต่คุณยังรู้สึกว่ามันง่ายเกินไป คุณอาจลองสร้าง API เพื่อการย่อความในเบื้องต้นดูก็ได้

บางทีคุณอาจต้องการที่จะเก็บ PDF ไว้ใน Knowledge Base ของคุณ เนื่องจากเป็น Resources ที่มีค่า แต่หากคุณต้องการทำให้มันพิเศษยิ่งขึ้น คุณสามารถใช้ Search Engine อย่าง Elasticsearch หรือ Algolia เพื่อทำ Index ของ PDF คุณสามารถจัดทำ Index ของ ชื่อเรื่องและผู้แต่ง และนำ Feature สำหรับการ Search มาใช้ หรือไม่คุณก็สามารถเพิ่ม Tags เพื่อให้การ Search นั้นง่ายขึ้น

แน่นอนว่า เมื่อพูดถึงความเป็นไปได้สำหรับ Side Project นั้น “ไม่มีที่สิ้นสุด” วิธีที่ชัดเจนในการทำเช่นนี้ก็คือ คุณอาจทำให้มันเป็น Web Application

สิ่งที่คุณจะได้เรียนรู้ :

  • พื้นฐานการพัฒนา Web เช่น HTML5 และ CSS
  • การโต้ตอบกับ Databases
  • การจัดเก็บ Files อย่างเช่น PDF
  • การโต้ตอบกับ Search Engine และใช้วิธีการสำหรับ Search Data ที่จัดทำ Index ไว้

2. Project: สร้าง 3D

จะมีอะไรที่เจ๋งไปกว่าการสร้างอะไรที่เกี่ยวกับ 3D หากคุณไม่เคยเขียน Program ที่เกี่ยวกับ 3D เลย อยากแนะนำให้คุณได้ลองเพราะมันสนุกมาก ส่วนที่ดีที่สุดก็คือ คุณไม่จำเป็นต้องเริ่มต้นจากศูนย์

คุณสามารถลองดูที่ D3 หรือ Babylon ซึ่งเป็น WebGL Projects ในกรณีนี้ขอแนะนำเป็น Babylon ซึ่งมันเปรียบเหมือนสนามเด็กเล่นที่คุณสามารถลองใช้งาน API และเรียนรู้สิ่งต่าง ๆ ได้เต็มที่ คุณไม่จำเป็นต้องทำอะไรให้ยุ่งยาก เนื่องจากมันเป็น Online IDE เช่นเดียวกันกับ CodePen นั่นเอง

สิ่งที่คุณจะได้เรียนรู้ :

  • เข้าใจวิธีการทำงานของ 3D
  • ได้เรียนรู้เกี่ยวกับ Vectors, Cameras และ Scenes
  • มีสิ่งเจ๋ง ๆ มากมายที่คุณสามารถสร้างพวกมันได้

3. Project: Raspberry Pi Bitcoin Tracker

คุณสามารถใช้ Raspberry Pi เพื่อทำในสิ่งที่น่าสนุก ๆ ได้ โดยหนึ่งในสิ่งที่คุณสามารถทำได้ ก็คือ การสร้าง Bitcoin Tracker อาจมีบางคนที่ชอบใช้ Raspberry Pi ใน Side Project ก็เพราะมันสามารถรวม Software และ Hardware ให้ทำงานด้วยกันได้

เป้าหมายของ Project นี้คือ การดึงราคา Bitcoin ในปัจจุบันออกมา ซึ่งสามารถทำได้ผ่าน API แล้วแสดงบนจอ LED Matrix Display คุณอาจจำเป็นต้องใช้บางสิ่งเพิ่มเติมสำหรับ Project นี้นอกเหนือจาก Raspberry Pi ซึ่งก็คือ คุณต้องมีจอ LED Matrix Display, LEDs บางตัว และ Adapter ไฟฟ้า

คุณสามารถทำให้มันพิเศษยิ่งขึ้น อย่างเช่น การเปลี่ยนสีของราคา โดยถ้าราคาเพิ่มขึ้นก็ทำให้มันเป็นสีเขียว และกรณีราคาลดลงก็ทำให้มันเป็นสีแดง เป็นต้น

สิ่งที่คุณจะได้เรียนรู้ :

  • การใช้งานพื้นฐานของ Raspberry Pi
  • การโต้ตอบกับ API
  • การโต้ตอบระหว่าง Software และ Hardware

4. Project: Pong

การสร้างเกม Pong เป็นวิธีที่ยอดเยี่ยมในการสร้างความรู้สึกของวิธีที่เกมถูกพัฒนาขึ้นจากมุมมองพื้นฐาน มันเป็นเกมที่ค่อนข้างง่ายที่คุณจะเริ่มทำโดยเฉพาะถ้าคุณไม่มีประสบการณ์ในการ Develop เกมมาก่อน คุณจะได้รู้ Concepts อย่างเช่น Entity Movement และ Collision Detection สิ่งที่ยอดเยี่ยมก็คือ คุณสามารถทำให้มันเล่นได้ทั้งแบบ Single-Player และ Multiplayer

หากคุณต้องการสร้าง App คุณสามารถใช้ Swift สำหรับ Project นี้ แต่หากคุณต้องการสร้างเกมนี้โดยใช้ HTML5 คุณสามารถใช้ JavaScript Frameworks อย่าง React หรือ Vue

สิ่งที่คุณจะได้เรียนรู้ :

  • การวาดบน Canvas
  • Entity Movement และ Collision Detection
  • Key Pressed Detection
  • คุณสามารถทำให้มันพิเศษยิ่งขึ้นโดยการใช้ Computer เพื่อเล่นแข่งกัน

5. Project: WebSockets

สำหรับ Developer ในปัจจุบัน การสื่อสารแบบ Real-Time กำลังมีความสำคัญมากขึ้นเรื่อย ๆ และมันก็เพิ่มขึ้นทั้งในแง่ของ การใช้งานและปริมาณของความต้องการ การมีประสบการณ์เกี่ยวกับวิธีการทำงานของมัน จะมีประโยชน์กับคุณอย่างยิ่ง

มี Side Project จำนวนมากมายที่คุณสามารถทำได้โดยอาศัย WebSocket Communication ในกรณีนี้คุณอาจเริ่มต้นด้วยการสร้าง Chatbot ดูก็ได้

การสร้าง Chatbot ถือเป็นวิธีที่ยอดเยี่ยมในการเริ่มต้นใช้งาน WebSockets คุณมีตัวเลือกต่าง ๆ มากมายเพื่อเลือก Tech Stack ของคุณ ซึ่ง Node.js ก็เป็นตัวเลือกที่ดี

สิ่งที่คุณจะได้เรียนรู้ :

  • สิ่งสำคัญที่สุดก็คือ คุณจะได้เรียนรู้ว่า Sockets ทำงานอย่างไร

6. Project: แก้ปัญหาเขาวงกต (Solving a Maze)

การแก้ปัญหาเขาวงกต (Solving a Maze) ถือเป็นวิธีที่ยอดเยี่ยมที่จะทำให้คุณรู้จักกับการสร้าง Algorithm เป้าหมายหลักก็คือ การสร้างเขาวงกตและให้ Bot นำทางผ่านเขาวงกต จากตำแหน่งเริ่มต้นไปยังตำแหน่งทางออกสุดท้าย

ตำแหน่งในเขาวงกตอาจจะเปิดหรือถูกปิดกั้นด้วยสิ่งกีดขวาง คุณสามารถเพิ่มความยากให้กับ Project นี้มากขึ้นด้วยการสร้างเขาวงกตแบบสุ่ม (Random Mazes) Feature ที่ยอดเยี่ยมสำหรับการใช้งานก็คือ การสร้างเขาวงกตขึ้นมาโดยใช้รูปภาพ นี่อาจเป็นสิ่งง่าย ๆ เหมือนกับ Bitmap ที่มีทั้ง Pixel ที่เป็นสีขาวหรือสีดำ โดยที่ Pixel สีดำจะแสดงถึง ผนัง

สิ่งที่คุณจะได้เรียนรู้ :

  • การเรียนรู้และการใช้กลยุทธ์ในการแก้ปัญหาเขาวงกต
  • การโต้ตอบกับ API
  • คุณสามารถทำให้มันพิเศษยิ่งขึ้นด้วยการใช้หลาย ๆ Algorithms เพื่อแก้ปัญหาเขาวงกต

7. Project: Boston Housing Dataset

Boston Housing Dataset เป็นอีกหนึ่งวิธีที่ยอดเยี่ยมในการเริ่มต้นกับ Machine Learning มันเป็น Dataset ยอดนิยมที่ถูกใช้ใน Pattern Recognition Literature สำหรับ Dataset เหล่านี้นำมาจากอุตสาหกรรมอสังหาริมทรัพย์ใน Boston และมันก็ถูกสร้างขึ้นในปี 1993

Project นี้เกี่ยวกับ Regression Problem มันเป็น Dataset ขนาดเล็กพอสมควรที่มี 506 Rows และ 14 Columns มันเหมาะสมอย่างยิ่งสำหรับผู้ที่เพิ่งเริ่มต้น เนื่องจากคุณสามารถลองใช้ Technique ต่าง ๆ โดยที่ไม่ต้องกังวลว่ามันจะทำให้ Computer ของคุณจะมีอาการค้างหรือหยุดการทำงาน 

หากคุณอยากทราบว่า อะไรคือเป้าหมายของ Project นี้ คำตอบก็คือ การทำนายค่ามัธยฐาน (Median Value) ของบ้านที่มีเจ้าของครอบครอง

สิ่งที่คุณจะได้เรียนรู้:

  • คุณจะได้เรียนรู้และเข้าใจยิ่งขึ้นเกี่ยวกับ Machine Learning

ตอนนี้คุณคงพอจะได้แนวทางในการสร้าง Side Projects ของคุณกันแล้ว ลองเลือกสัก 1 Project จากใน List ด้านบนแล้วเริ่มต้นทำมัน และอย่าลืมที่จะสนุกกับมันในขณะที่คุณกำลังทำและได้เรียนรู้สิ่งใหม่ ๆ

ที่มา:  https://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด