CodeGym /Java Blog /Acak /Bagaimana itu? Atau proyek pertamaku
John Squirrels
Level 41
San Francisco

Bagaimana itu? Atau proyek pertamaku

Dipublikasikan di grup Acak
Ini adalah terjemahan dari kisah sukses komunitas Java global kami. Alex mempelajari Java pada kursus versi bahasa Rusia, yang Anda pelajari dalam bahasa Inggris di CodeGym. Semoga menjadi inspirasi untuk pembelajaran Anda selanjutnya dan mungkin suatu saat Anda ingin berbagi cerita Anda dengan kami :)

Perkenalan

Sedikit tentang bagaimana saya mendalami pemrograman. Saya seorang guru dan psikolog melalui pelatihan, dan selama 5 tahun saya telah berhasil mempraktikkan profesi saya. Namun karena berbagai alasan, saya semakin berpikir untuk pindah ke negara lain. Dan karena bahasa dan peraturan di negara lain berbeda, saya tidak bisa menjadi profesional yang sama tanpa pelatihan ulang yang serius. Jadi saya mulai mencari cara yang lebih sederhana dan menarik untuk bergerak dan menjadi sukses. Bagaimana itu?  Atau proyek pertama saya - 1Saya mencoba tangan saya sebagai seniman tato (ini pada dasarnya tidak memerlukan pengetahuan bahasa), tapi itu cerita untuk lain hari. Kemudian teman rekan kerja saya memperkenalkan saya pada CodeGym. Saya awalnya skeptis terhadap janji untuk menjadikan saya seorang programmer penuh dengan bermain game dan dengan harga yang murah. Tapi kemudian saya mendapat sejumlah uang ulang tahun (tidak dikenakan "pajak keluarga"), dan dihadapkan pada pilihan antara WoW dan CodeGym... Nah, berkat diskon yang tepat waktu, timbangan mengarah ke arah yang benar, dan inilah saya. Seperti yang sudah kita ketahui, CodeGym adalah 90% latihan murni. Anda belajar menyelesaikan tugas. Anda belajar menemukan pengetahuan yang kurang di Internet. Semua ini bagus, tetapi untuk level 15 saya tidak dapat menghilangkan perasaan bahwa saya kehilangan sesuatu yang akan melengkapi gambaran itu untuk saya. Saya berpikir untuk bergabung dengan GeekBrains, tetapi (mungkin untungnya) teman yang sama menghentikan saya tepat waktu dan memperkenalkan saya pada Udemy. Saat saya membuka gudang ilmu ini, saya ikut-ikutan dengan himbauan: " Psst sob. Apakah kamu newbie?" Ada diskon buat kamu... hanya 3 hari — Jangan lewatkan kesempatan ini! Belakangan jelas selalu ada diskon, tapi bukan itu intinya. Saya langsung membeli paket dengan dua kursus: Java dari 0 hingga Pro dan serupa untuk Android. Dan disinilah cerita kita dimulai.

Sukses atau gagal?

Saat saya mengerjakan kursus Android, saya mendapat pekerjaan rumah untuk membuat proyek berdasarkan pengetahuan baru saya. Saya tipe orang yang percaya bahwa melakukan sesuatu dengan cara yang sederhana atau biasa saja rasanya seperti tidak melakukannya sama sekali. Jadi, saya segera mulai mempersulit hidup saya. Saya menoleh ke orang yang saya kenal yang memiliki imajinasi paling berkembang dan jelas. Ini istriku tersayang (ya, dia juga akan membaca artikel ini). Dia menyarankan untuk membuat aplikasi dengan gambar binatang, yang akan mengeluarkan suara binatang yang sesuai ketika diklik. Itu ide yang bagus, tapi tetap sederhana. Mengambil saran ini sebagai landasan, saya mulai berpikir:
  • Aplikasi ini harus lebih dari sekadar basa-basi (sesuatu untuk ditertawakan dan dilupakan). Saya ingin itu memiliki nilai. Misalnya dengan mengajarkan sesuatu.
  • Biarlah alfabet dengan binatang. Tapi bukan sembarang alfabet, tapi alfabet Inggris!
  • Dan bukan hanya hewan, tapi hewan langka yang hanya sedikit orang yang tahu, untuk memperluas wawasan mereka!
  • Dan harus ada animasi, reproduksi audio dari nama-nama huruf, dan nama-nama binatang dalam bahasa Inggris dan Rusia!
Nah, itu yang saya sebut pekerjaan rumah (saya lupa menyebutkan bahwa sebelum CodeGym saya pada dasarnya tidak terbiasa dengan pemrograman. Dan kurang dari 3-4 bulan berlalu dari saat saya mulai aktif menggunakan website hingga saat saya memulai proyek. Jadi, jika Anda Saya seorang veteran di bidang ini dan Anda berpikir, " Pff... Apakah ada yang berubah dari versi aslinya? ", Saya jamin, ya, itu berubah)! Kesulitan pertama yang saya temui , anehnya, adalah memulai proyek. Ternyata, bukan hanya penulis yang mengalami "writers' block"... Tapi karena saya seorang psikolog, saya tahu solusi untuk masalah saya. Anda hanya perlu mulai melakukan sesuatu. Ambil setidaknya satu langkah kecil, lalu jangan berhenti. Jadi saya mulai dengan kelas Surat abstrak . Kelas ini memiliki beberapa bidang dan selanjutnya harus memiliki berbagai metode. Kenyataannya, saya tidak tahu apa yang akan saya lakukan dengannya, tapi saya harus melakukan sesuatu. Kemudian, saya membuat kelas untuk setiap huruf, menjadikannya mewarisi kelas abstrak. Butuh banyak waktu, dan pada hari pertama kerjaku pun berakhir. Keesokan harinya saya menghapus proyek tersebut dan memulai lagi. Saya baru saja membuka proyek untuk mengingat apa yang telah berubah sejak saya jelaskan di atas. Dan saya ingin mengatakan bahwa semuanya tampak lebih baik setelah saya selesai, tetapi tidak. Memang masih ada kelas untuk setiap huruf... Hal ini secara khusus disebabkan oleh kenyataan bahwa saya diberi pekerjaan rumah ini hampir di awal kursus Android, dan saya sendiri harus mencari tahu seluk-beluk hubungan antara sebuah huruf. aktivitas (jendela aktif, atau semacamnya) dengan kelas. Dan saya tidak menemukan atau memikirkan apa pun selain cara kikuk dalam mengasosiasikan kelas tertentu dengan aktivitas tertentu. Pokoknya salah satu prinsip pemrograman (hindari pengulangan) dilanggar sebanyak 26 kali. Pertama, saya sepenuhnya (menurut saya) menerapkan dua huruf pertama, membuat UI kasar yang terdiri dari dua menu (menu umum yang mungkin diperlukan saat memperluas fungsionalitas, dan daftar isi, dari mana Anda dapat melompat ke mana saja dari huruf-hurufnya). Saya tidak menemui banyak kesulitan dalam pemrograman. Saat saya mengimplementasikan proyek independen saya, banyak hal, seperti hubungan antar kelas, metode, dll., menjadi jelas dan proyek itu sendiri menjadi praktik terbaik untuk menggabungkan semua pengetahuan yang saya peroleh tidak hanya tentang Android, tetapi juga tentang Java. Kesulitan kedua adalahbahwa surat itu berpindah pada saat yang sama ketika namanya terdengar. Transisi (arsir) yang mulus membuat suara seolah-olah mendahului gambar. Namun saat saya memberi penundaan pada suara, seluruh rangkaian terhenti — transisi ditunda begitu saja sesuai dengan besarnya penundaan, menghasilkan efek yang tidak diinginkan yang sama, hanya di kemudian hari. Kemudian saya membuat keputusan berani untuk menjadikan program saya multithread! Saya memindahkan pemutaran suara ke thread terpisah, dengan penundaan yang cukup lama untuk memuat gambar. Sejauh ini multithreading berjalan, tapi saya bangga mengatakan bahwa saya sedang menulis aplikasi multithread. Kesulitan terakhir adalah memilih bahan yang cocok. Apakah menurut Anda bahasa Inggris tidak memiliki hewan untuk huruf X (ternyata memang demikian)? Saya harus mengidentifikasi 26 hewan dan menemukan gambar serta suaranya, serta mencatat nama 26 huruf dan 26 hewan. Jika saya bekerja dalam sebuah tim, saya jelas akan menyerahkan bagian pekerjaan ini kepada orang lain. Saat-saat monoton seperti itu mematikan keinginan untuk bekerja, dan ketika tidak ada keinginan, maka ada alasan. Bagaimanapun, tahap ini memakan waktu sekitar 2 minggu (saya mengerjakan proyek ini di waktu luang dan ketika saya tidak punya alasan). Proyek ini dinyatakan selesai kurang lebih 3-4 minggu setelah dimulai.

Apakah layak untuk terus belajar pemrograman?

Kekecewaan menyusul. Pertama, saya tidak diperbolehkan mempublikasikan pekerjaan rumah saya pada kursus tersebut. Aku melakukan pekerjaan itu dan berusaha keras untuk pamer, tapi aku tidak diizinkan melakukannya. Kedua, aplikasi saya bekerja dengan baik di emulator dan di ponsel saya. Dari apa yang saya rencanakan, saya tidak menerapkan animasi, karena saya meludah dan memutuskan akan menyelesaikannya ketika saya telah melalui pelajaran yang relevan dalam kursus tersebut. Namun ketika saya mulai berpikir untuk mendistribusikan aplikasi tersebut, saya menemukan masalah yang menarik. Setelah menggunakan ponsel dan tablet lain untuk memeriksa apakah aplikasi saya dioptimalkan untuk layar berbeda dan versi Android berbeda, saya mengalami kesalahan yang tidak diketahui. Program ini mati begitu saja saat beralih ke surat. Saya mencoba menemukan akar masalahnya, meninjau log, yang, dibandingkan dengan pengecualian Java yang ringkas, tampak lebih seperti hocus-pocus. Internet tidak membantu saya. Di satu sisi, saya membuat aplikasi yang berfungsi dan disukai anak-anak saya. Di sisi lain, ini hanya berfungsi di ponsel saya. Ini membuatku tertawa. Tentu saja, saya kesal, tetapi setelah memikirkannya, saya menyimpulkan bahwa saya memperoleh lebih banyak daripada kehilangan:
  • Saya menjadi lebih baik dalam menghadapi kritik terhadap pekerjaan saya.
  • Saya menyadari nilai pengetahuan dan pengalaman dalam desain perangkat lunak.
  • Saya meningkatkan harga diri pemrograman saya.
  • Saya menyadari perlunya mempelajari pola desain dan dasar-dasar refactoring.
  • Dan seperti yang saya katakan, sekarang saya memiliki aplikasi sendiri, yang tidak dimiliki dan mungkin tidak akan pernah dimiliki orang lain. =)
"Saya tahu bahwa saya tidak tahu apa-apa". Dengan melaksanakan proyek pendidikan seperti ini, Anda memiliki peluang besar untuk menganalisis apa yang Anda ketahui di mana ada kesenjangan dalam pengetahuan Anda, dan mengidentifikasi cara untuk maju lebih jauh. Apakah layak untuk terus belajar pemrograman jika Anda memahami bahwa semua upaya Anda sepanjang hidup Anda telah mengubah Anda dari 0 menjadi +0,001? Bagi saya, jawabannya adalah ya. Bagaimana denganmu?
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION