Kursus Pengembangan Java dari Mail.Ru Group di Technostream Channel



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 1
Di 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 2
Kenalan dengan model objek bahasa.

Kuliah 3. Generik & koleksi
Keakraban dengan koleksi dan pengecualian.

DZ
Berdasarkan 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 web
Anda akan mempelajari cara kerja HTTP dan cara membuat permintaan HTTP dari Curl dan Java.

Kuliah 5. Musim Semi, Thread, Anotasi
Memperkenalkan 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, Hibernate
Anda 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 penuh
Untuk 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 game
Anda 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 praktis
Kuliah 10 menggambarkan, dengan contoh-contoh, bahaya perkembangan multithreaded, dan dalam kuliah 11, cara untuk mengatasi mereka. Perhatikan model streaming layanan game .

Kuliah 12. Pengumpulan sampah
Anda 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 wawancara
Kuliah 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/atom

Klien Game Bomberman: https://github.com/rybalkinsd/atom-bomberman-frontend

Saluran 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 Alibaba

Ingat: 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!

Source: https://habr.com/ru/post/id420693/


All Articles