𝗠𝗮𝘀𝘁𝗲𝗿 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗕𝘆 𝗕𝘂𝗶𝗹𝗱𝗶𝗻𝗴 𝗬𝗼𝘂𝗿 𝗢𝘄𝗻 𝗧𝗼𝗼𝗹𝘀

Berhenti sekadar menggunakan API. Mula bina alatan itu sendiri.

Kebanyakan pembangun tahu cara menggunakan rangka kerja (framework) dan perpustakaan (library). Sedikit yang tahu bagaimana ia berfungsi di sebalik tabir. Kaedah "build-your-own-x" mengubah perkara ini. Anda pilih teknologi yang anda gunakan setiap hari dan cipta semula versi ringkasnya.

Pendekatan ini membantu anda berkembang dalam beberapa cara:

  • Pemahaman mendalam: Anda mempelajari struktur data dan algoritma di sebalik alatan tersebut.
  • Penyelesaian masalah yang lebih baik: Anda memecahkan sistem yang kompleks kepada bahagian-bahagian kecil.
  • Kebebasan bahasa: Anda mempelajari konsep yang berfungsi dalam mana-mana bahasa pengaturcaraan.
  • Penyahpepijatan (debugging) yang lebih baik: Anda tahu di mana kegagalan berlaku kerana anda yang membinanya.
  • Portfolio yang lebih kuat: Majikan dapat melihat kemahiran teknikal mendalam anda.
  • Pemilihan alatan yang lebih bijak: Anda memahami pertukaran (trade-offs) bagi alatan yang anda pilih.

Cara untuk bermula tanpa tersangkut:

  1. Pilih projek kecil. Jangan bina sistem operasi terlebih dahulu. Cuba ini:
  • Pelayan HTTP yang ringkas
  • Alatan baris perintah (command-line) seperti grep
  • Pengurus tugasan asas
  • Parser markdown
  • Kalkulator
  1. Pilih sesuatu yang anda gunakan. Motivasi akan kekal tinggi apabila projek tersebut bermakna bagi anda.

  2. Tentukan versi minimum. Untuk penyunting teks, fokus pada membuka, menyunting, dan menyimpan fail. Abaikan ciri-ciri canggih seperti penonjolan sintaks (syntax highlighting) pada peringkat awal.

  3. Pelajari asasnya. Baca dokumentasi rasmi atau lihat kod sumber terbuka (open source). Cari prinsip teras sebelum anda mengekod.

  4. Bina secara berperingkat. Jangan cuba membina keseluruhan sistem sekaligus. Mulakan dengan satu fungsi teras dan tambah lebih banyak kemudian. Tulis ujian (tests) semasa anda membina.

Pilih bahasa yang anda tahu atau bahasa yang anda ingin pelajari. Gunakan ia untuk menukar teori kepada praktikal.

Sumber: https://dev.to/kelvin_kariuki_20f4bec616/how-to-use-build-your-own-x-master-programming-by-recreating-your-favorite-technologies-from-1pmi