Kami
berjanji 5-6 alasan untuk beralih ke Go, dan itu terjadi! Pada konferensi GolangConf, yang sepenuhnya dikhususkan untuk Go, pada 7 Oktober akan ada 5 laporan bertanda "Beralih ke Pergi" bagi mereka yang baru saja akan atau mulai menggunakan bahasa ini dalam proyek-proyek mereka.
Tapi ini baru permulaan. Dari pertama kali, kami berhasil menyusun program yang sangat kuat dan beragam yang memenuhi kebutuhan tiga kategori peserta: Pengembang profesional; mereka yang baru saja beralih ke Go; insinyur infrastruktur dan pengguna alat yang ditulis dalam Go.
Program konferensi mencakup
21 laporan , satu sesi laporan kilat dan mitaps. Kapan saja, para tamu konferensi akan dapat memilih dari 3-4 topik berbeda dan menemukan sesuatu yang menarik untuk diri mereka sendiri. Saya bahkan berpikir bahwa masalah pilihan dan ketidakmampuan untuk memutuskan antara aliran akan lebih relevan (ada baiknya semuanya akan ada di video nanti). Pada saat yang sama, topik yang relevan dengan berbagai spesialis akan dibahas di ruangan yang berbeda.
Kami akan mencurahkan banyak perhatian pada
praktik terbaik untuk bekerja dengan Go dan kode apa pun secara umum. Kami akan membahas masalah kinerja dan berbagai hal hardcore dengan penjual yang berpengalaman. Untuk insinyur infrastruktur, juga akan ada beberapa laporan menarik. Pencekalan cara penggunaan Go yang tidak standar tidak akan membuat siapa pun acuh tak acuh sama sekali. Selain itu, akan ada sebanyak dua laporan tentang pengembangan frontend on Go, keduanya dari pembicara asing.
Kita dapat mengatakan bahwa frontend adalah arah eksperimental. Produksi front-end tidak sering ditulis di Go, lebih sering WebAssembly dicoba dalam proyek kecil pribadi. Para pembicara yang kami undang akan dapat lebih dari sekadar menguraikan cara mulai menggunakan WebAssembly. Ini adalah laporan mendalam, dibangun berdasarkan pengalaman pribadi, mereka akan menunjukkan bahwa hidup dapat dilakukan di WebAssembly, dan bagaimana menggunakannya dalam proyek Anda.
Pembicara GolangConf
Komite program mendekati pemilihan topik dan pembicara dengan sangat ketat. Sebagian besar pembicara kami dikenal di komunitas Go, tetapi pada saat yang sama, ada wajah-wajah baru. Ketika dari waktu ke waktu di konferensi orang yang sama berbicara, itu sedikit membosankan. Saya ingin melihat tampilan baru, tantangan baru, pembicara baru. Kami berhasil menarik darah segar, dan mereka juga memiliki laporan yang sangat menarik berdasarkan pengalaman praktis. Sebagai contoh, saya menantikan
laporan Ksenia Yakil.
Pemilihan penutur asing hampir lebih keras, karena ada banyak aplikasi dari mereka. Tetapi kami tahu bahwa mungkin akan sulit bagi audiens kami untuk mendengarkan banyak laporan dalam bahasa Inggris. 8-9 laporan per hari sudah merupakan sejumlah besar informasi baru, dan ketika Anda perlu melakukan upaya ekstra karena bahasa untuk memahaminya, itu menjadi sangat sulit. Karena itu, kami hanya memiliki tiga laporan berbahasa Inggris, tetapi paling banyak laporannya.
Faktanya, komunitas global Go sangat ramah dan siap untuk berbagi pengalaman. Kami mendapat respons yang sangat baik ketika kami membuka Call for Papers di PaperCall.io dan mengumumkan konferensi di komunitas internasional Go di Slack dan Twitter. Benar, kami tidak berhasil menarik superstar komunitas dunia, kalender acara mereka dijadwalkan untuk tahun mendatang. Tapi kemudian kita memiliki rencana yang luas untuk GolangConf berikutnya.
Tahun ini kita akan memiliki 21 laporan kelas. Di sini saya akan berbicara tentang beberapa di antaranya, dan untuk informasi dan jadwal lengkap, kunjungi
situs web konferensi.
Analisis kesamaan kode Terapan Go
Iskander Sharipov (VKontakte) di masa lalu bekerja pada Go-compiler dan penyetelan pihak ketiga untuknya - analisis statis dan utilitas untuk refactoring. Dia sekarang berencana untuk port banyak alat yang dibuat untuk Go to the PHP ekosistem. Anda mungkin dapat bertanya tentang pengalaman kolosal Iskander ini di sela-sela, dan
laporannya terutama akan menarik bagi mereka yang berpikir tentang masalah pemrosesan kode Go:
- Cara menemukan fungsi dan metode duplikat di basis kode Anda.
- Menghindari reinventing fungsi pustaka standar Go.
- Cara menyederhanakan analisis Go-code di tingkat sintaksis.
Kunci untuk menjawab pertanyaan-pertanyaan ini adalah normalisasi Go-program, dan hal inilah yang akan dibahas dalam laporan. Tetapi tidak dalam kata-kata, tetapi dalam praktik - pertimbangkan perpustakaan untuk menormalkan kode Go dan beberapa aplikasi praktisnya.
Dapatkan dengan WebAssembly
Kontributor di Go
Johan Brandhorst akan datang ke Moskow untuk memperkenalkan kami ke WebAssembly dan menunjukkan cara memulai dengan WebAssembly dan Go. WebAssembly telah didukung di browser selama hampir dua tahun sekarang dan telah dimasukkan dalam Go sebagai percobaan sejak versi 1.11. Mungkin dia bahkan bisa mengganti JavaScript di browser dan menjadi bahasa itu sendiri, kode yang bisa digunakan di mana saja.
Setelah
pembicaraan ini
, penjual baru akan belajar cara menggunakan Go with WebAssembly, apa yang dapat dilakukan teknologi ini sekarang, dan apa yang akan menjadi mungkin di masa depan.
Koneksi Scaling Go WebSocket
Ada beberapa perpustakaan WebSocket yang bagus di ekosistem Go. Tampaknya - mengambil dan melakukan proyek Anda, mengambil sebagai solusi yang sudah jadi. Namun, beberapa masalah mendesak harus diselesaikan secara mandiri, misalnya:

- bagaimana skala koneksi pengguna;
- apa yang harus dilakukan dengan para pengguna yang tidak dapat terhubung melalui WebSocket;
- bagaimana mengelola masa pakai koneksi permanen;
- apa yang harus dilakukan dengan hilangnya pesan dengan pemutusan jangka pendek dari pengguna.
Dan akhirnya - Anda harus menulis protokol Anda sendiri di atas WebSocket dan klien yang mengimplementasikannya di semua platform klien modern. Apakah Anda siap untuk ini
Masalah-masalah ini sudah ditangani oleh perpustakaan opensource Centrifuge, yang menambahkan banyak fitur berguna di atas Gorilla WebSocket untuk membangun aplikasi real-time. Penulis proyek ini,
Alexander Emelin, akan berbicara di GolangConf. Alexander
akan mengajarkan teknik dan praktik yang memungkinkan Anda untuk bekerja secara efektif dengan sejumlah besar koneksi, dan memberi tahu bagaimana pendekatan ini bekerja dalam produksi Messenger Avito.
Membuat Kesalahan Kompetisi Go

Kita tahu (yang masih belum tahu, dia sudah tahu laporan ini) bahwa Go menyediakan alat yang kuat dan fleksibel untuk menulis program kompetitif, tetapi tidak menentukan aturan ketat untuk penggunaannya. Artikel dan laporan sering memberikan rekomendasi yang saling bertentangan tentang cara mentransfer pekerjaan ke goroutine, cara menyelesaikannya, cara menangani kesalahan ...
Seorang ahli dengan pengalaman, penyelenggara pertemuan dan konferensi, lokakarya terkemuka dan podcast
Alexey Palazhchenko (Percona) akan membantu untuk
memahami masalah ini. Alexey akan memberikan contoh nyata dari API, yang secara bertahap akan meningkat dalam perjalanan laporan dan di mana kami akan mengeksplorasi kemungkinan masalah dan masalah.
Ayo bikin game!

Mungkin, banyak dari kita yang tertarik pada pemrograman, karena kami bermimpi menulis game. Jadi
Alexey Akulovich terlibat dalam backend proyek VKontakte yang kompleks, tetapi ia tidak meninggalkan keinginan untuk terlibat dalam GameDev, tetapi berhasil menggabungkannya dengan pengembangan di Go. Siapa pun yang ingin bersantai sambil menulis mainan tanpa masuk ke Unity / Unreal dan kegembiraan lainnya akan menemukan laporan ini berguna.
Alexey
akan menunjukkan kepada kita kerangka kerja 2D dan 3D / desktop / web, kemungkinan pengembangan buatan tangan dan opsi untuk memperluas fungsionalitas tanpa mengkompilasi ulang biner utama. Kami akan berbicara tentang situasi pada tahun 2019, sehingga versi dan tren modern terlampir.
Pergi untuk frontend
Dan jika Anda telah lama memimpikan menulis kode antarmuka secara eksklusif di GO, kunjungi laporan
Aarushi Kansal (Tier)
. Secara tradisional, visualisasi yang keren dan implementasi kreatif, di persimpangan dengan seni, ide adalah hak prerogatif pengembang JavaScript, tetapi Aarushi
akan memberi tahu Anda cara membuat aplikasi dan gambar yang bekerja di browser di Go. Setelah laporan ini, Anda akan percaya bahwa Anda dapat sepenuhnya mengungkapkan potensi Anda dalam pengembangan front-end tanpa meninggalkan bahasa favorit Anda.
Cara menulis sistem operasi on Go
Andrei Smirnov adalah penulis banyak proyek opensource dan kelas master yang berjudul "Pengembangan Sistem yang Dapat Diandalkan dengan Beban Tinggi".
Pembicaraannya di GolangConf terutama untuk mereka yang menggunakan Kubernetes. Andrei akan berbicara tentang proses pengembangan sistem operasi Talos dan apa yang telah dicapai melalui penggunaan Go. Misalnya, perakitan sistem operasi dan loop umpan balik melalui CI tidak memakan waktu lebih dari 5 menit.
Kita akan melihat bagaimana konsep pemrograman kompetitif yang sederhana dan dapat dipahami di Go memungkinkan Anda untuk mengatur peluncuran fase inisialisasi OS secara paralel dan pada saat yang sama dalam urutan yang benar. Kami akan membahas kapan memeriksa sistem yang dapat Anda gunakan dengan tes unit sederhana dan seperti apa tes integrasi untuk OS. Andrei mengatakan bahwa Go mendapati dirinya dalam posisi monopoli di ceruk ini. Kami akan mencari tahu mengapa dan mengapa itu nyaman bagi kami.
Lakukan uji integrasi
Omong-omong, tentang tes integrasi. Meskipun ada laporan tentang manfaat mereka dan bahkan sejumlah besar meme, mereka masih belum menerima perhatian yang layak. Ataukah itu hanya ada dalam menghubungkan begitu, dan kita hanya memiliki unit pengujian yang melekat pada gen? Meskipun demikian, Badoo mulai menulis tes integrasi di Go, dan mereka melakukannya dengan sangat baik.
Ksenia Yakil akan memberi tahu Anda caranya. Bagaimana menerapkan kerangka kerja Go untuk pengujian integrasi, kesulitan apa yang akan menghadang dan hasil apa yang dapat dicapai. Anda akan melihat bahwa menulis tes integrasi on Go adalah nyata dan tidak terlalu menyakitkan.
Bagaimana dan mengapa menulis kode yang dapat dibaca
Tidak peduli apa bahasa yang Anda tulis, kode lama lebih mudah ditulis ulang daripada untuk refactor. Hal yang paling menyedihkan adalah ketika itu adalah kode Anda sendiri, yang ditulis dengan cinta "hanya" beberapa tahun yang lalu.
Grigory Petrov (Evrone) menyukai neurofisiologi dan memahami alasannya.
Pembicaraannya di GolangConf adalah panduan praktis untuk menangani kompleksitas kode: dari mana asalnya, mengapa tidak bisa dihapus, dan bagaimana cara menanganinya. Gregory akan berbicara tentang dekomposisi, memasang "beacon" dengan berbagai cara, teknik untuk menulis pengidentifikasi yang bermanfaat, membuat jebakan menggunakan tipe. Sebelum "menulis fungsi lebih pendek, dan nama pengenal lebih mudah dimengerti" kami tidak akan turun :)
Dan di bagian akhir laporan, kita akan membahas pendekatan "bertahap" untuk menulis kode yang dapat dibaca, yang tidak terbatas pada bahasa "pengetikan dinamis" yang umum.
Kenapa Golang sangat aneh
Dan di sini, di malam hari, ketika kita akan membahas banyak masalah pengembangan di Go, akhirnya meyakinkan mereka yang ragu untuk beralih ke Go,
Philip Kulin akan mengangkat topik ini: "Mengapa Golang sangat aneh" dan berjanji untuk meletakkan segala sesuatu di rak dan memberi tahu bagaimana semuanya berjalan pada kenyataannya, dan di mana obat generik menghilang.
Mitapy dan zona pakar
Anda mungkin telah memperhatikan bahwa tidak ada satu pun anggota komite program di antara para pembicara, meskipun terdiri dari aktivis komunitas, yang Anda tahu pasti jika Anda menghadiri Go-meeting dan konferensi. Kami melakukan sesuatu yang lain: topik yang dipilih, membantu pembicara, menyiapkan kegiatan tambahan.
Anggota komite program selama konferensi dapat ditemukan dan ditanyai di bidang pakar khusus. Seringkali, pendatang baru untuk Go memiliki pertanyaan yang karena alasan tertentu tidak dapat diselesaikan, untuk alasan yang tidak diketahui mereka macet, dan bahkan StackOverflow tidak membantu. Kami akan memiliki stan terpisah di konferensi tempat Anda dapat mengajukan pertanyaan seperti itu kepada anggota komite program dan aktivis Go-community. Datang dengan pertanyaan Anda, dan bersama-sama kami akan mencoba menyelesaikannya!
GolangConf adalah bagian dari keluarga Ontiko konferensi, yang berarti ruang terpisah akan dialokasikan untuk
mitaps -
pertemuan kecil topik sempit dari sekelompok orang yang berpikiran sama. Ini mungkin kelas master atau lokakarya, tetapi hal utama di dalamnya dalam hal apa pun adalah komunikasi antara spesialis, diskusi tentang rasa sakit dan pencarian bersama untuk solusi. Setiap peserta dapat mencoba untuk mengatur mitap mereka atau bertindak sebagai anggota komite program dan memilih proposal dari peserta lain.
Dan, tentu saja, jaringan sebagai bagian integral dari setiap konferensi dalam kasus kami akan sangat berguna, karena pada konferensi tersebut semua peserta akan tertarik pada satu topik - Golang. Di malam hari setelah program utama, tentu saja, kita akan memiliki afterparty dan kesempatan untuk bersosialisasi dalam suasana yang lebih informal.
GolangConf tepat dalam seminggu pada 7 Oktober di Infospace, kami berharap dapat melihat komunitas Go. Bergabunglah sekarang!