
Musim semi ini, kami memposting rekaman
kursus Java di saluran Technostream. Selama beberapa semester berturut-turut, ia telah membaca sebagai bagian dari proyek pendidikan
Technosphere yang dilaksanakan oleh Mail.Ru Group bersama dengan Moscow State University. M.V. Lomonosov. Kursus ini mencakup semua topik yang diperlukan untuk pengembang pemula di dunia Java. Para penulis tidak masuk ke rincian sintaks, tetapi segera mengambil tugas-tugas praktis: mengembangkan game dengan antarmuka konsol dan obrolan fungsional. Pada akhir kursus, kami membahas pertanyaan umum dari wawancara untuk posisi pengembang junior dan menengah Jawa.
Catatan kuliah dan
materi kursus gratis dan tersedia untuk semua orang.
Sebagian besar pekerjaan rumah dapat diselesaikan dan diperiksa dalam repositori kursus.
Untuk siapa
Diasumsikan bahwa siswa tidak menemukan Java, tetapi akrab dengan bahasa pemrograman modern (JS / Python / C # / C / C ++) dan dasar-dasar OOP.
Durasi
Kursus ini terdiri dari 3 bagian, termasuk 13 kuliah dan 1 hackathon. Durasi kuliah adalah 1-2 jam.
Isi kursus
Bagian 1. Pengantar Pengembangan Java
Kuliah 1. Java intro 1Di kuliah pertama, Anda akan segera terbiasa dengan sintaks bahasa dan memahami HelloWorld. Kursus ini dibangun di sekitar Github, jadi pada pelajaran pertama Anda akan belajar cara bekerja dengan Git, membangun proyek menggunakan gradle, dan membuat permintaan tarik pada Github.
Kuliah 2. Java intro 2Kenalan dengan model objek bahasa.
Kuliah 3. Generik & koleksiKeakraban dengan koleksi dan pengecualian.
DZBerdasarkan hasil tiga kuliah, Anda akan menerima tugas: untuk mengembangkan game kecil dengan antarmuka konsol (bulls and cows). Mereka yang mengikuti kursus di Youtube, penulis menyarankan Anda untuk menyelesaikan tugas ini dengan pasti untuk menangani materi dalam praktik. Melakukan dengan tangan bukanlah video di Youtube untuk ditonton;)
Bagian 2. Layanan Web
Java adalah bahasa industri yang mendominasi bidang aplikasi web besar. Pada bagian kedua, Anda akan belajar cara membuat layanan web.
Kuliah 4. Dasar-dasar webAnda akan mempelajari cara kerja HTTP dan cara membuat permintaan HTTP dari Curl dan Java.
Kuliah 5. Musim Semi, Thread, AnotasiMemperkenalkan kerangka kerja Spring yang populer, yang menyederhanakan pengembangan aplikasi web.
Agar siswa dapat berlatih bekerja dengan Spring, sebuah tim hackathon akan diadakan setelah kuliah kelima. Untuk waktu yang terbatas, Anda perlu mengembangkan obrolan dan membuatnya sefungsional mungkin. Jika Anda menonton kursus di Youtube, Anda dapat membuat obrolan sendiri dan bereksperimen dengannya.
Kuliah 6-7. Java + DB, HibernateAnda akan belajar cara bekerja dengan database. Dalam kursus penuh waktu, kami meningkatkan database siswa di AWS. Mereka yang mengikuti kursus online, kami sarankan untuk meningkatkan database secara lokal atau menggunakan database di-memori (H2).
Bagian 3. Permainan
Anda akan menerima tugas untuk mengembangkan permainan server-klien Bomberman. Klien gim di JS, yang dibuat atas dasar
proyek Matt Scala , terletak di
repositori terpisah .
Deskripsi formal tentang interaksi layanan game dapat ditemukan di
sini , tetapi di sini adalah
diagram visual .
Kuliah 8. Protokol WebSocket dupleks penuhUntuk komunikasi antara klien dan server, permainan multipemain jauh lebih baik daripada HTTP, protokol WebSocket dupleks penuh cocok. Anda akan belajar cara bekerja dengannya dan membuat kembali obrolan Anda yang ditulis sebelumnya berdasarkan HTTP di WebSocket. Sayangnya, tidak ada video ceramah ini di Youtube, tetapi semua materi tersedia di Github.
Kuliah 9. Arsitektur gameAnda akan memahami struktur permainan dan mekanisme interaksi layanan.
Bagian 4. Topik Lanjutan
Pada bagian ini, kami menganalisis dua topik yang secara tradisional dianggap maju, tetapi setiap pengembang Java harus memiliki pengetahuan dasar tentang topik ini.
Kuliah 10-11. Utas permainan, Konkurensi praktisKuliah 10 menggambarkan, dengan contoh-contoh, bahaya perkembangan multithreaded, dan dalam kuliah 11, cara untuk mengatasi mereka. Perhatikan
model streaming layanan game .
Kuliah 12. Pengumpulan sampahAnda akan belajar bagaimana tumpukan bekerja dan bagaimana pengumpulan sampah bekerja. Pada saat yang sama, pengetahuan tentang struktur struktur data digunakan untuk mengevaluasi tata letak objek.
Kuliah 13. Pertanyaan wawancaraKuliah terakhir dari kursus ini dikhususkan untuk analisis pertanyaan-pertanyaan paling populer di wawancara Jawa (pengembang SMP-menengah).
Informasi kursus umum
Semua materi kursus:
https://github.com/rybalkinsd/atomKlien Game Bomberman:
https://github.com/rybalkinsd/atom-bomberman-frontendSaluran kursus di Telegram - di sini Anda bisa mendapatkan jawaban atas semua pertanyaan terkait kursus.
Harap dicatat bahwa di akhir beberapa kuliah ada deskripsi pekerjaan rumah, dan dalam kode kuliah ada tes. Buat permintaan tarik ke utas kuliah. Jika tes untuk travis berwarna hijau, Anda menyelesaikan tugas dengan benar.
Siswa DZ yang mengambil kursus online tidak diperiksa. Namun demikian, Anda dapat dengan bebas membuat permintaan tarik ke proyek dan melihat apakah tes untuk travis berhasil. Selain itu, Anda dapat mengajukan pertanyaan tentang kursus di obrolan. Penulis sangat menghargai umpan balik, terutama dalam bentuk permintaan tarik dengan saran dan koreksi.
Penulis
Alexander Pomosov, Insinyur Senior di Alibaba
Sergey Rybalkin, Insinyur Utama di AlibabaIngat: kursus ini tersedia untuk semua orang di saluran pendidikan kami,
Technostream . Anda dapat
mengobrol dengan peserta lain dan mengajukan pertanyaan kepada guru dalam komentar di bawah daftar putar kursus dan
mengobrol di Telegram .
Pemrograman adalah rekayasa, jauh lebih terbuka untuk eksperimen daripada bidang teknik lainnya. Buat proyek Anda, bereksperimenlah dengannya, dan Anda tidak hanya akan mendapatkan pengalaman, tetapi juga sangat menyenangkan!