
Seperti yang kami laporkan dalam
pengumuman sebelumnya , pada 3 Maret (Minggu) konferensi internasional ketiga Lua di Moskow 2019 akan diadakan di kantor Mail.ru Group.
Konferensi akan diselenggarakan dalam 2 aliran: laporan dan seminar.
Semua laporan dan seminar akan dibuat dalam bahasa Inggris tanpa terjemahan secara simultan.
Laporan (ruang pertemuan # 1)
10:30 Mulai pendaftaran
11:00 - 11:45 "Mengapa (dan mengapa tidak) Lua / Mengapa Lua (dan mengapa tidak)", Roberto Jerusalem, PUC-RioSaat membuat bahasa pemrograman, kontradiksi dalam persyaratan seringkali mendorong penulis untuk berkompromi dengan solusi. Ini adalah kejadian umum di dunia pembangunan. Bahasa yang berbeda menjadi kompromi dengan cara yang berbeda, yang membuat masing-masing bahasa lebih cocok untuk beberapa skenario dan kurang menarik bagi yang lain.
Ada serangkaian tujuan untuk bahasa Lua, yang menentukan arah desain. Prioritas diberikan pada embeddability, ukuran kecil, kesederhanaan dan portabilitas. Ada tujuan lain, seperti kinerja dan kemudahan penggunaan oleh programmer non-profesional.
Sebagai bagian dari laporan, kami akan membahas dampak dari serangkaian tujuan ini. Kita akan melihat bagaimana tujuan-tujuan ini memengaruhi bahasa itu sendiri, penggunaannya, serta kemungkinan penerapannya dalam berbagai bidang.
12:00 - 12:45 "resty-threadpool: menciptakan kembali Apache di nginx / resty-threadpool: pembacaan baru Apache di nginx", Julien Desgats, CloudFlareEvent loop asinkron adalah cara yang terbukti untuk skala server jaringan. nginx (seperti produk sukses lainnya) pada dasarnya menggunakan teknik khusus ini. Namun, kinerjanya tergantung pada kondisi utama: logika bisnis tidak boleh bekerja terlalu lama, jika tidak, kinerja keseluruhan turun dengan cepat.
Cloudflare sangat bergantung pada OpenResty ( pustaka nginx + Lua +) untuk semua yang terkait dengan server tepi. Pada saat yang sama, kinerja yang dapat diprediksi sangat penting. Ini membutuhkan penghapusan beberapa bagian pemrosesan kompleks dari loop peristiwa. Sebagai aturan, ini sebelumnya dilakukan dengan menulis layanan microser. Cloudflare mencoba pendekatan yang berbeda: gunakan fungsi nginx thread pool . Laporan ini akan menjelaskan secara rinci masalah dan hasil penggalian fungsi keamanan dasar dari siklus acara.
13:00 - 14:00 Makan Siang
14:00 - 14:45 "Pengalaman tim Tarantool dengan alat pengembang Lua / Pengalaman tim Tarantool dengan alat pengembangan dalam bahasa Lua", Yaroslav Dynnikov, Mail.ru GroupSetiap bahasa pemrograman memiliki ekosistemnya sendiri, yang penting untuk kesejahteraan masyarakat. Pengembangan aplikasi tidak hanya menulis kode, tetapi juga mengujinya, mengoptimalkan dan berbagi informasi dengan orang lain. Ada banyak pengembang di proyek Tarantool yang bekerja dengan Lua setiap hari.
Selama pembicaraan, kita akan membahas berbagai aspek pengembangan Lua di tim Tarantool:
- Seberapa nyaman bagi pengembang untuk menulis kode berserat?
- Alat apa yang mereka gunakan untuk debugging dan pengujian?
- Bagaimana berhasil mempersiapkan dokumentasi dan mengumpulkan paket?
- Dan, sama pentingnya, fitur apa yang masih kurang?
15:00 - 15:45 "Shader dan Lua / Shader dan Lua", Sergey Lerg, Spiral Code StudioMenulis shader dalam Lua tidak mungkin dilakukan, tetapi Anda dapat mengontrolnya menggunakan bahasa ini. Tujuan dari laporan ini adalah untuk menunjukkan bagaimana Anda dapat dengan mudah membuat efek yang menakjubkan menggunakan GLSL dan Lua. Selain itu, tips dan saran yang berguna untuk bekerja dengan shader pada mesin game Defold akan diberikan.
15:45 - 16:15 Coffee Break
16:15 - 17:00 "Pengantar dinas dari luajit / Pengantar dinas dari luajit", Mikhail Filonenko, Mail.ru GroupDynasm adalah generator kode mesin untuk beberapa arsitektur (x86, x86_64, dll.).
Ini terdiri dari dua bagian:
- generator kode mesin ditulis dalam C
- dan assembler preprocessor di Lua.
Preprosesor asli hanya berfungsi dengan kode sumber di assembler atau C.
Selain itu, ada garpu dari luapower yang dapat melakukan pra-proses file Lua menggunakan generator assembler code.
Dalam beberapa kasus, perlu untuk menggunakan logika dari input pengguna. Kita akan melihat toolkit ini dan membuat kompiler ekspresi-s sederhana.
Pertanyaan utama: "Betapa nyamannya membuat kompiler untuk input pengguna."
17:15 - 18:00 "Tantangan 'pasangan' dan 'berikutnya' kompilasi / masalah Kompilasi JIT 'pasangan' dan 'berikutnya' di JIT", Maxim Bolshov, IPONWEBIPONWEB menggunakan implementasi Lua sendiri. Proyek ini bercabang dari LuaJIT 2.0 dengan semua batasan. Secara khusus, pairs
dan fungsi next
tidak didukung oleh kompiler JIT. Namun, dalam basis kode Lua kami, ini adalah salah satu dari 3 alasan utama untuk mengganggu kompilasi jejak, yang mengarah pada kompromi paksa antara gaya kode dan kinerja aplikasi.
Rencana laporan:
- untuk mengatakan apa artinya memanggil fungsi perpustakaan
JITable
; - Jelaskan secara spesifik implementasi
pairs
dan next
dalam LuaJIT; - berbicara tentang batasan JIT yang membuat kompilasi
pairs
dan next
tidak sepele; - menunjukkan kemajuan penyelesaian masalah ini.
18:15 - 19:00 "Pengumpulan sampah di Lua", Roberto Jerusalem, PUC-RioLaporan bonus dari Roberto.
19:15 - 20:00 Meja bundar dengan semua speakerSeminar (gedung bioskop)
14:00 - 15:45 "Kasing penggunaan Tarantool untuk aplikasi yang kaya / Kasing penggunaan Tarantool untuk aplikasi multifungsi", Vladimir Perepelitsa, Mail.ru GroupSekilas, Tarantool adalah basis data. Dan cukup sulit untuk melihat potensi penuh dari produk ini sebagai server aplikasi.
Seminar ini dirancang untuk mengungkapkan bagian kemampuan Tarantool ini: bagaimana cara menggunakan server LuaJIT bawaan dengan soket, serat, saluran, ffi, dll? Bagaimana cara membuat kode dimuat ulang dengan cepat? Topik-topik ini akan diperiksa langkah demi langkah pada contoh membangun server antrian.
16:15 - 18:15 "Membuat platformer sederhana dengan Defold", Sergey Lerg, Spiral Code StudioPlatformers adalah genre game yang sangat populer. Beberapa dari mereka sederhana, yang lain cukup kompleks. Dalam kerangka seminar, saya akan menunjukkan cara membuat platformer dasar pada mesin game Defold. Para penulis sebagian besar materi pelatihan tentang topik ini cenderung menyederhanakan segalanya dan menunjukkan pembuatan level secara manual, sementara mereka dapat dihasilkan secara otomatis, dan juga menggunakan mesin fisika saat itu sama sekali tidak diperlukan.
Penerimaan gratis.
Diperlukan
pendaftaran .
Alamat: kantor Mail.ru Group, Leningradsky pr., 39, hlm. 79.
Kami menunggu Anda di Lua di Moskow tahun 2019!