
Seperti yang diumumkan dalam
posting sebelumnya , pada 3 Maret (hari Minggu pertama bulan Maret) kantor Mail.ru Group Moscow akan menjadi tuan rumah konferensi Lua internasional ketiga, Lua di Moskow 2019. Lihat rincian jadwal di bawah potongan.
Konferensi ini akan mencakup dua jalur paralel: pembicaraan dan lokakarya.
Semua pembicaraan dan lokakarya akan disampaikan dalam bahasa Inggris, tanpa interpretasi simultan ke dalam bahasa Rusia.
Pembicaraan (ruang konferensi # 1)
10:30 Penjemputan lencana
11:00 - 11:45 “Mengapa (dan mengapa tidak) Lua”, Roberto Ierusalimschy, PUC-RioDesain bahasa pemrograman, seperti artefak lainnya, memerlukan banyak pengorbanan yang melibatkan persyaratan yang saling bertentangan. Bahasa yang berbeda menyelesaikan pengorbanan ini dengan cara yang berbeda, membuat masing-masing lebih sesuai untuk beberapa skenario dan kurang menarik untuk pengaturan lainnya.
Lua memiliki serangkaian tujuan sendiri, yang memandu desainnya. Set ini memprioritaskan embeddability, ukuran kecil, kesederhanaan, dan portabilitas. (Ada tujuan lain juga, seperti kinerja dan kemudahan penggunaan oleh programmer non-profesional.)
Dalam pembicaraan ini, kita akan membahas dampak dari serangkaian tujuan ini. Kami akan melihat bagaimana sasaran ini memengaruhi bahasa itu sendiri, bagaimana pengaruhnya terhadap penggunaannya, dan bagaimana pengaruhnya pada kesesuaiannya untuk domain aplikasi yang berbeda.
12:00 - 12:45 "resty-threadpool: menciptakan kembali Apache di nginx", Julien Desgats, CloudFlareEvent loop asinkron adalah cara yang terbukti untuk skala server jaringan, nginx (di antara banyak produk sukses lainnya) menggunakan teknik ini pada intinya. Namun kinerjanya tergantung pada asumsi utama: logika bisnis tidak boleh berjalan terlalu lama, jika tidak, kinerja keseluruhan akan runtuh dengan cepat.
Di Cloudflare , kami sangat bergantung pada OpenResty ( pustaka nginx + Lua +) untuk server tepi kami dan memastikan kinerja yang dapat diprediksi sangat penting. Pembongkaran beberapa bagian kompleks dari pemrosesan di luar loop peristiwa diperlukan dan biasanya dilakukan dengan menulis layanan microser. Kami mencoba pendekatan lain dengan memanfaatkan fitur nginx thread pool . Dalam pembicaraan ini saya akan membahas secara rinci tentang tantangan dan hasil dari mengeluarkan fitur keamanan inti dari loop acara.
13:00 - 14:00 Makan Siang
14:00 - 14:45 "Pengalaman tim Tarantool dengan alat pengembang Lua", Yaroslav Dynnikov, Mail.ru GroupSetiap bahasa pemrograman memiliki ekosistemnya sendiri, yang penting untuk kesejahteraan masyarakat. Pengembangan aplikasi tidak hanya tentang menulis kode, tetapi juga tentang mengujinya, mengoptimalkan dan berbagi dengan orang lain. Di sini, di Tarantool kami memiliki banyak pengembang, yang berinteraksi dengan Lua penuh waktu.
Saya akan membahas berbagai aspek pengembangan Lua di lingkungan kita:
- Bagaimana kita menulis kode dengan nyaman dengan linting.
- Alat apa yang kami gunakan untuk debugging dan pengujian.
- Bagaimana kami mengelola dokumentasi dan pengemasan dengan nyaman.
- Dan, yang lebih penting, fitur apa yang kurang.
15:00 - 15:45 "Shaders and Lua", Sergey Lerg, Spiral Code StudioTidak mungkin untuk menulis shader di Lua, tetapi dimungkinkan untuk mengendalikan mereka dengan Lua. Saya ingin menunjukkan betapa mudahnya membuat efek yang indah dengan kekuatan GLSL dan Lua. Selain itu saya akan memberikan tips dan trik yang berguna untuk bekerja dengan shader di mesin game Defold.
15:45 - 16:15 Coffee break
16:15 - 17:00 “Pendahuluan tentang dinas dari luajit”, Michael Filonenko, Mail.ru GroupDynasm adalah generator kode mesin untuk beberapa arsitektur (x86, x86_64, dll). Ini berisi dua bagian:
- generator kode mesin ditulis dalam C,
- dan assembler preprocessor di Lua.
Preprosesor asli hanya berfungsi dengan sumber C / Assembler. Dan ada garpu oleh luapower yang dapat memproses file Lua dengan generator kode Assembler. Ada kasus ketika kita ingin menggunakan logika dari input pengguna. Mari kita teliti toolset ini dan membuat kompilasi ekspresi-s sederhana.
Pertanyaan utamanya adalah "Seberapa nyaman membuat kompiler untuk input pengguna".
17:15 - 18:00 "Tantangan 'pasangan' dan 'kompilasi JIT' berikutnya ', Maxim Bolshov, IPONWEBDi IPONWEB, kami memiliki implementasi Lua kami sendiri. Itu bercabang dari LuaJIT 2.0 dan mewarisi semua keterbatasannya. Secara khusus, pairs
dan fungsi next
tidak didukung oleh kompiler JIT. Namun, pada basis kode Lua kami, ini adalah alasan ke-3 teratas dari pembatalan kompilasi jejak, yang memaksakan beberapa pertukaran antara gaya kode dan kinerja aplikasi. Dalam pembicaraan ini saya akan:
- mendiskusikan apa artinya membuat fungsi perpustakaan memanggil
JITable
; - menjelaskan spesifikasi implementasi
pairs
dan next
dalam LuaJIT; - ceritakan tentang keterbatasan JIT yang membuat
pairs
dan kompilasi next
menjadi tugas yang tidak terlalu sepele; - tunjukkan kemajuan kami dalam menyelesaikan tugas ini.
18:15 - 19:00 "Pengumpulan sampah di Lua", Roberto Ierusalimschy, PUC-RioPembicaraan bonus oleh Roberto.
19:15 - 20:00 Meja bundar dengan semua speakerLokakarya (gedung bioskop)
14:00 - 15:45 "Tarantool use cases untuk aplikasi yang kaya", Mons Anderson, Mail.ru GroupPada pandangan pertama, Tarantool adalah basis data. Dan agak sulit untuk melihat seluruh potensi produk ini sebagai server aplikasi.
Saya akan membantu Anda membuka kunci potensi ini: bagaimana cara menggunakan server LuaJIT built-in dengan soket, serat, saluran, ffi dan banyak lagi. Cara membuat kode dimuat ulang dengan cepat. Topik-topik ini akan dibahas langkah demi langkah pada contoh membangun server antrian sebagai contoh aplikasi.
16:15 - 18:15 "Membuat platformer sederhana dengan Defold", Sergey Lerg, Spiral Code StudioPlatformers adalah genre permainan yang sangat populer, ada yang sederhana, ada juga yang agak kompleks. Dalam workshop ini saya akan menunjukkan cara membuat platformer dasar dengan mesin game Defold. Sebagian besar tutorial tentang topik ini cenderung terlalu menyederhanakan hal-hal dengan tingkat buatan tangan ketika mereka dapat dihasilkan dan dengan penggunaan mesin fisika ketika itu benar-benar tidak perlu.
Penerimaan gratis, tetapi jangan lupa untuk
mendaftar .
Lokasi: Kantor Grup Mail.ru, Moskwa, Leningradsky prospekt 39, bld. 79.
Kami berharap dapat bertemu Anda di Lua di Moskow 2019!