
Habr, halo! Sebelumnya, kami mengadakan konferensi Java JBreak di Novosibirsk. Pada 2019, mereka memutuskan untuk tidak menahannya, tetapi dari sini laporan JBreak 2018 tidak berhenti berguna, jadi kami secara tradisional berbagi pilihan yang terbaik (menurut audiensi). Selain itu, banyak pembicara dalam koleksi ini akan segera tiba di JPoint dengan laporan baru di Moskow - Anda bisa "bertemu in absentia" dengan mereka dan memahami apakah Anda ingin menghadiri konferensi Moskow.
Seperti biasa, laporan beralih dari peringkat "junior" ke "senior", tetapi perbedaan antara tempat-tempat itu kecil - jadi lebih baik tidak membandingkan dengan cermat tempat-tempat itu, tetapi untuk menonton semuanya dengan topik yang menarik!
Di bawah cutscene, video dipecah dengan daftar isi sesuai dengan isi posting, presentasi dan deskripsi singkat.
Dan bagi mereka yang tidak memiliki 10 laporan terbaik dan membutuhkan segalanya, kami memiliki
daftar putar terpisah.
Berbagi data kelas di HotSpot VM
Pembicara:
Volker SimonisLokasi: 10
Peringkat: 3,96
Presentasi laporanPilihan kami dimulai dengan laporan terperinci tentang Berbagi Data Kelas, fitur yang dirancang untuk meningkatkan kecepatan unduhan dan mengurangi jumlah RAM yang digunakan. Itu muncul di Java 5, tetapi dalam beberapa tahun terakhir ceritanya telah berkembang, dan di OpenJDK 10 ada tambahan dalam bentuk AppCDS. Volker pertama-tama secara singkat memperkenalkan CDS dan AppCDS, menjelaskan apa itu dan mengapa, dan kemudian menyelam lebih dalam.
Menurut audiens, ini adalah contoh dari "tugas kerja yang patut dicontoh" - Volker melihat sumber-sumber JDK, memilah-milah cara mencapai hasil dan jebakan, menunjukkan angka-angka spesifik tentang penggunaan dan kecepatan RAM, dan mengecat semuanya sehingga Anda memahami apakah itu layak digunakan teknologi ini untuk aplikasi mereka.
Membangun platform perdagangan crypto menggunakan Spring 5 dan Reactor 3
Pembicara:
Oleg DokukaLokasi: 9
Peringkat: 4.02
Presentasi laporanTidak, tidak akan ada mekanisme untuk operasi blockchain, rahasia pengayaan cepat pada cryptocurrency dan sejenisnya. Tetapi akan ada apa yang dibutuhkan untuk pemahaman yang lebih baik tentang Spring 5 dan Reactor 3: pembicara yang berpengalaman, pidato dan presentasi yang dipersiapkan, demonstrasi teknologi modern dan contoh praktis (dalam bentuk platform cryptotrading yang sangat sederhana).
Pendekatan terhadap laporan ini dapat diakses semaksimal mungkin: Oleg mengajukan pertanyaan dasar: "Apa yang dibutuhkan?", "Mengapa ini diperlukan?", "Bagaimana cara mengimplementasikannya?" Simpan setiap jawaban. Sebagai contoh, ia menjelaskan secara terperinci dan sederhana bagaimana membangun Sistem Reaktif menggunakan Spring Reactive Stack, mengapa bisnis membutuhkannya, di mana pendekatan Reaktif bekerja paling baik dan secara optimal memecahkan masalah kompleks.
Sepanjang laporan, Oleg memahami bagaimana Reactor 3 dan reaktif Spring 5 membantu atau tidak membantu memecahkan masalah, apa yang baru.
Menuju Tabel Hash Multithreaded Cepat
Pembicara:
Nikita KovalLokasi: 8
Peringkat: 4.04
Presentasi laporanTabel hash adalah struktur data yang paling populer dan berguna pada kinerja yang banyak bergantung pada komponen aplikasi. Dan kinerja juga tergantung pada multithreading. Apa yang ada di Jawa dengan tabel hash yang mengambil keuntungan penuh dari dunia multi-core modern?
Nikita Koval (
ndkoval ) melihat topik multithreading baik dari sisi teoretis (mengajar di ITMO) dan dari yang praktis (ia terlibat dalam coroutine di Kotlin). Tidak mengherankan, laporan itu ternyata komprehensif: ia memiliki aspek teoretis dan pendekatan praktis.
Suntikan Efek Samping, atau Tongkat Penolong
Pembicara:
Vladimir PlizgaLokasi: 7
Peringkat: 4.11
Presentasi laporanPernahkah Anda memiliki kasus ketika secara kebetulan (atau tidak) mereka mengirim sepotong kode yang dimaksudkan untuk pengujian produksi? Atau disisipkan sementara jika, misalnya, dengan Thread.sleep () atau masuk untuk debugging? Anda tidak sendirian: ada banyak contoh nyata di mana kode uji / debugging sering kali berproduksi, mengubahnya menjadi bom waktu, secara bersamaan meningkatkan utang teknis dan meningkatkan tempat pada karma pengembang.
Dalam laporan itu, Vladimir membongkar pendekatan Side Effect Injection, yang akan memungkinkan memperkenalkan hampir semua perilaku ke dalam aplikasi pengujian: penundaan, stubs, logging, bypass keamanan, dll., Tetapi pada saat yang sama tidak mengotori repositori dengan peretasan kotor dan bahkan tidak membangun kembali aplikasi itu sendiri. Anda belum melihat kruk seperti itu :)
Verifikasi bytecode Java: kapan, bagaimana, dan dapat menonaktifkan?
Pembicara:
Nikita LipskyLokasi: 6
Peringkat: 4.13
Presentasi laporanUntuk mengimplementasikan trik tertentu yang sulit untuk diekspresikan di Java, pengembang menggunakan pustaka untuk menghasilkan bytecode di runtime. Tetapi Anda harus secara ketat memonitor kebenaran bytecode, jika tidak VerifyError akan muncul saat memuat kelas. Dan apa yang harus dilakukan dalam situasi seperti itu?
Anda perlu tahu tidak hanya semantik dari instruksi bytecode, tetapi juga bagaimana verifier bekerja dan bytecode mana yang dapat dianggap benar. Nikita memahami misi apa yang dijalankan JVM melalui verifikasi bytecode, kapan dan bagaimana kerjanya, apakah itu dapat mempengaruhi kinerja aplikasi Anda dan mengapa berbahaya untuk menonaktifkannya.
Seperti pada paragraf di atas tentang Nikita (Koval) lain, di sini pembicara sangat membantu dalam latar belakangnya. Untuk memahami bytecode, berguna untuk bekerja pada level yang lebih rendah daripada pengembang Java "biasa", dan Nikita Lipsky (
pjBooms ) telah terlibat dalam JET Excelsior "Siberia JVM" selama bertahun-tahun, yang baru-baru ini kami
mewawancarainya .
Menyeimbangkan permintaan klien dengan Spring Cloud
Pembicara:
Alexander TarasovLokasi: 5
Peringkat: 4.14
Presentasi laporanLaporan yang sangat "langsung" dalam arti demonstrasi langsung dari semua yang dikatakan. Alexander membahas teori Spring Cloud, dan kemudian menyelam ke dalam solusi khas untuk masalah - dan kemudian bukannya slide satic, baik IDE dengan kode atau browser dengan grafik dari Hystrix terus-menerus terlihat di layar.
Dalam perjalanan demo, implementasi internal penyeimbangan permintaan dengan contoh-contoh dari perpustakaan resmi dan perpustakaan penulis sendiri akan dipertimbangkan. Anda akan belajar bagaimana menyeimbangkan beban, dan dengan contoh Anda akan melihat mengapa bahkan peningkatan beban yang sangat kecil pun dapat menyebabkan konsekuensi yang membahayakan, dan bagaimana hal ini dapat dihindari.
Spring boot starter - bagaimana dan mengapa?
Pembicara:
Maxim Gorelikov / Kirill Tolkachev ( tolkkv )Lokasi: 4
Peringkat: 4.16
Presentasi laporanSpring bukan lagi sihir (terima kasih kepada "Spring Ripper" dan Yevgeny Borisov), tetapi Spring Boot sering distigma dengan kerajinan sulap. Tetapi banyak orang menyukainya, terutama untuk pemula!
Sepasang laporan tentang mengapa, secara umum, dalam kerangka kerja perusahaan tipikal yang menggunakan Spring Boot, Anda mungkin membutuhkan permulaan sendiri; seberapa cepat inkuisisi datang untuk pendatang baru jika mereka tanpa berpikir menggunakan permulaan yang sudah jadi dan seberapa independen Spring Boot dan apa artinya ini bagi pengembang.
Laporan ini dirancang untuk melatih insinyur Spring (dan lebih disukai Spring Boot) yang telah menghadapi berbagai kesulitan dalam mendukung infrastruktur berat yang dikembangkan menggunakan Spring.
Siapa yang berkicau tentang #jbreak?
Pembicara:
Victor GamovLokasi: 3
Peringkat: 4.18
Presentasi laporanSiapa yang mengenal Victor Gamov
gAmUssA (dari podcast Parsing Flight atau yang lainnya), tidak mengherankan bahwa ia mengubah laporan serius tentang sistem pemrosesan data pipelined menjadi pertunjukan interaktif. Victor mengatur pengkodean langsung tepat di konferensi untuk mengurai aliran tweet dari konferensi menggunakan teknologi modern - Apache Kafka, Kafka Connect dan KSQL.
Kita semua tahu dan cinta SQL, kan? Jadi, KSQL hampir seperti SQL, hanya untuk Kafka. KSQL memungkinkan Anda untuk membuat sistem pemrosesan streaming yang kompleks tanpa menulis kode Java atau Scala.
Smoothie ML dengan Spark MLlib
Pembicara:
Alexey ZinovievTempat: 2
Peringkat: 4.18
Presentasi laporanUntuk bekerja pada BigData, Anda tidak hanya membutuhkan ilmuwan data yang menyetel parameter model dari paket dalam R atau Python, tetapi juga pengembang Java yang dapat memahami model yang dibangun dan mengimplementasikannya dalam Java / Scala, termasuk menggunakan Spark MLlib.
Alexei memperkenalkan kepada hadirin perpustakaan pembelajaran mesin terdistribusi yang paling kuat ini dalam formulasi yang paling sederhana, pada saat yang sama mendiskusikan fitur-fitur menggunakan algoritma pembelajaran mesin standar dan struktur data di Spark. Setelah laporan, BigData akan menjadi lebih jelas, Anda ingin melakukannya dan menggali "pena" sendiri - diuji pada pendengar.
Keynote: JDK 9, Mission Accomplished: Apa selanjutnya untuk Java?
Pembicara:
Simon RitterLokasi: 1
Peringkat: 4,29
Presentasi laporanDan yang paling penting, para penonton menyukai keynote yang membuka konferensi. Sekarang, ketika banyak waktu telah berlalu sejak JBreak 2018, mungkin tampak sangat ketinggalan jaman dengan namanya: sudah ada JDK 11, apa yang harus diingat tentang kesembilan? Tetapi jika Anda menganggap bahwa dengan rilis Sembilan siklus perilisan berubah dan versi baru mulai sering dirilis, ternyata masuk akal untuk melihat kembali ke versi ini: itu menjadi "batas air" yang penting, pembaruan berskala besar yang terakhir.
Dan jika Anda masih menginginkan sesuatu yang lebih relevan dari Simon, itu akan ada di JPoint pada bulan April: dari dua laporannya,
satu akan dikhususkan untuk JDK dari 10 hingga 12 (dan yang
lainnya untuk mengetik inferensi).
Manakah dari pembicara ini dapat dilihat di JPoint pada bulan April? Saat ini, sudah diketahui bahwa Oleg Dokuka akan berbicara tentang RSocket, dan Nikita Lipsky akan menceritakan bagaimana kompilasi AOT dikombinasikan dengan aplikasi Spring Boot. Nikita Koval juga akan menjadi, tetapi topik laporan belum diumumkan.
Selain itu, akan ada banyak laporan lain - dan deskripsi beberapa di antaranya sudah dapat dibaca di situs . Jika Anda merasa memiliki sesuatu untuk disampaikan, penerimaan aplikasi untuk laporan ditutup pada tanggal 31 Januari, jadi sekarang adalah kesempatan terakhir untuk tepat waktu. Anda juga perlu bergegas membeli tiket : ini bisa dilakukan nanti, tetapi mulai 1 Februari, harganya akan naik.