Program konferensi Lua di Moskow 2019



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)



gambar 10:30 Mulai pendaftaran

11:00 - 11:45 "Mengapa (dan mengapa tidak) Lua / Mengapa Lua (dan mengapa tidak)", Roberto Jerusalem, PUC-Rio

Saat 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, CloudFlare

Event 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 Group

Setiap 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 Studio

Menulis 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 Group

Dynasm 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, IPONWEB

IPONWEB 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-Rio

Laporan bonus dari Roberto.


19:15 - 20:00 Meja bundar dengan semua speaker

Seminar (gedung bioskop)



14:00 - 15:45 "Kasing penggunaan Tarantool untuk aplikasi yang kaya / Kasing penggunaan Tarantool untuk aplikasi multifungsi", Vladimir Perepelitsa, Mail.ru Group

Sekilas, 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 Studio

Platformers 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!

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


All Articles