
Conforme anunciado no
post anterior , em 3 de março (o primeiro domingo de março), o escritório do Mail.ru Group em Moscou sediará a terceira conferência internacional Lua, Lua em Moscou 2019. Veja os detalhes da programação abaixo.
A conferência incluirá duas faixas paralelas: palestras e workshops.
Todas as palestras e workshops serão ministradas em inglês, sem interpretação simultânea para o russo.
Palestras (sala de conferências nº 1)
10:30 Coleta de crachás
11:00 - 11:45 “Por que (e por que não) Lua”, Roberto Ierusalimschy, PUC-RioO design de uma linguagem de programação, como de qualquer outro artefato, envolve muitas compensações envolvendo requisitos conflitantes. Idiomas diferentes resolvem essas compensações de maneiras diferentes, tornando-as mais apropriadas para alguns cenários e menos atraentes para outras configurações.
Lua tem seu próprio conjunto de objetivos, que orienta seu design. Este conjunto prioriza a capacidade de incorporar, tamanho pequeno, simplicidade e portabilidade. (Existem outros objetivos também, como desempenho e facilidade de uso por programadores não profissionais.)
Nesta palestra, discutiremos o impacto desse conjunto de metas. Veremos como esses objetivos afetam o idioma em si, como afeta seus usos e como afeta sua adequação a diferentes domínios de aplicativos.
12:00 - 12:45 resty-threadpool: reinventando o Apache no nginx, Julien Desgats, CloudFlareOs loops de eventos assíncronos são uma maneira comprovada de escalar servidores de rede, o nginx (entre muitos outros produtos de sucesso) usa essa técnica em sua essência. No entanto, seu desempenho depende de uma suposição importante: a lógica de negócios não deve ser executada por muito tempo, caso contrário, o desempenho geral entrará em colapso rapidamente.
Na Cloudflare , confiamos muito no OpenResty (bibliotecas nginx + Lua +) para nossos servidores de borda e é fundamental garantir um desempenho previsível. O descarregamento de algumas partes complexas do processamento fora do loop de eventos é, portanto, necessário e geralmente era feito com a criação de microsserviços. Tentamos outra abordagem, aproveitando o recurso de pool de threads nginx . Nesta palestra, irei detalhar os desafios e resultados de remover os principais recursos de segurança do ciclo do evento.
13:00 - 14:00 Almoço
14:00 - 14:45 “Experiência da equipe Tarantool com as ferramentas de desenvolvedor Lua”, Yaroslav Dynnikov, Grupo Mail.ruToda linguagem de programação possui seu próprio ecossistema, o que é importante para o bem-estar da comunidade. O desenvolvimento de aplicativos não é apenas escrever o código, mas também testá-lo, otimizar e compartilhar com outras pessoas. Aqui no Tarantool, temos muitos desenvolvedores que interagem com Lua em tempo integral.
Vou discutir diferentes aspectos do desenvolvimento de Lua em nosso ambiente:
- Como escrevemos código confortavelmente com o linting.
- Quais ferramentas usamos para depuração e teste.
- Como gerenciamos a documentação e o empacotamento de maneira conveniente.
- E, mais importante, quais recursos nos faltam.
15:00 - 15:45 "Shaders e Lua", Sergey Lerg, Spiral Code StudioNão é possível escrever shaders em Lua, mas é possível controlá-los com Lua. Quero demonstrar como é fácil fazer belos efeitos com o poder do GLSL e Lua. Além disso, fornecerei dicas e truques úteis para trabalhar com shaders no mecanismo de jogo Defold.
15:45 - 16:15 Coffee break
16:15 - 17:00 “Introdução ao dinastia de luajit”, Michael Filonenko, Grupo Mail.ruDynasm é um gerador de código de máquina para várias arquiteturas (x86, x86_64, etc). Ele contém duas partes:
- gerador de código de máquina escrito em C,
- e pré-processador de assembler em Lua.
O pré-processador original funciona apenas com fontes C / Assembler. E há um fork do luapower que pode pré-processar arquivos Lua com geradores de código Assembler. Há um caso em que queremos usar a lógica da entrada do usuário. Vamos pesquisar esse conjunto de ferramentas e criar um compilador simples de expressão s.
A questão principal é "Quão confortável é criar um compilador para entrada do usuário".
17:15 - 18:00 "Desafios da 'compilação JIT' e 'próxima' JIT", Maxim Bolshov, IPONWEBNo IPONWEB, temos nossa própria implementação Lua. Foi bifurcada do LuaJIT 2.0 e, portanto, herdou todas as suas limitações. Em particular, pairs
e next
funções não eram suportadas pelo compilador JIT. No entanto, em nossa base de código Lua, esse é um dos três principais motivos de interrupções na compilação de rastreios, o que impõe algumas trocas entre o estilo do código e o desempenho do aplicativo. Nesta palestra eu vou:
- discutir o que significa fazer a função de biblioteca chamar
JITable
; - explicar as especificações de implementação dos
pairs
e a next
no LuaJIT; - conte sobre as limitações do JIT, que tornam os
pairs
e a next
compilação uma tarefa não tão trivial; - demonstrar nosso progresso na solução dessa tarefa.
18:15 - 19:00 “Coleta de lixo em Lua”, Roberto Ierusalimschy, PUC-RioUma palestra de bônus de Roberto.
19:15 - 20:00 Mesa redonda com todos os alto-falantesOficinas (sala de cinema)
14:00 - 15:45 “Casos de uso Tarantool para aplicativos avançados”, Mons Anderson, Grupo Mail.ruÀ primeira vista, Tarantool é um banco de dados. E é bastante difícil ver todo o potencial deste produto como um servidor de aplicativos.
Ajudarei você a liberar esse potencial: como usar o servidor LuaJIT embutido com soquetes, fibras, canais, ffi e muito mais. Como tornar o código recarregável em tempo real. Estes tópicos serão discutidos passo a passo no exemplo de construção do servidor de filas como um aplicativo de amostra.
16:15 - 18:15 “Criando um jogo de plataformas simples com Defold”, Sergey Lerg, Spiral Code StudioPlatformers são um gênero de jogo muito popular, alguns são simples, outros são bastante complexos. Neste workshop, demonstrarei como criar um jogo de plataforma básico com o mecanismo de jogo Defold. A maioria dos tutoriais sobre esse tópico tende a simplificar demais as coisas com níveis artesanais quando eles podem ser gerados e com o uso de um mecanismo de física quando é completamente desnecessário.
A entrada é gratuita, mas não se esqueça de
se registrar .
Localização: Escritório do grupo Mail.ru, Moscou, Leningradsky prospekt 39, bld. 79
Estamos ansiosos para conhecê-lo na Lua em Moscou 2019!