Apresentação desenvolvida por Daniela Pitta sobre a linguagem de programação Ruby para o Start Coding Like a Girl, evento promovido pelo grupo Women Techmakers João Pessoa.
Essa apresentação passa uma visão de avaliação da linguagem Ruby, como Legibilidade, Redigibilidade, Confiabilidade.
Também cita características que enriquece a linguagem Ruby.
Apresentação desenvolvida por Daniela Pitta sobre a linguagem de programação Ruby para o Start Coding Like a Girl, evento promovido pelo grupo Women Techmakers João Pessoa.
Essa apresentação passa uma visão de avaliação da linguagem Ruby, como Legibilidade, Redigibilidade, Confiabilidade.
Também cita características que enriquece a linguagem Ruby.
Palestra apresentada no 12º Encontro de Programadores C e C++, realizado no Rio de Janeiro no dia 15 de Agosto de 2015.
Vídeo da apresentação em https://youtu.be/JjANXR-diTM?t=18382
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
Apresentação criada em 2017.2 para as aulas de Lógica de Programação e Algoritmos; e Programação de Computadores.
Apresenta os principais conceitos da linguagem de programação C.
Facebook's Hack programming language / Linguagem de programação Hack do FacebookRafael Alves
Just an overview of the new Facebook's programming language.
(It's written in PT-BR)
/
Apenas uma visão geral da nova linguagem de programação do Facebook.
Painel: HHVM x Zephir x PHPNG - com Anderson Casimiro, Levi Ferreira e Luiz Gustavo Gavinho no InterCon PHP 2014.
Confira outras apresentações em: http://interconphp.imasters.com.br/
O InterCon PHP aconteceu no dia 19 de Julho de 2014 no Hotel Intercontinental São Paulo
Palestra apresentada no 12º Encontro de Programadores C e C++, realizado no Rio de Janeiro no dia 15 de Agosto de 2015.
Vídeo da apresentação em https://youtu.be/JjANXR-diTM?t=18382
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
Apresentação criada em 2017.2 para as aulas de Lógica de Programação e Algoritmos; e Programação de Computadores.
Apresenta os principais conceitos da linguagem de programação C.
Facebook's Hack programming language / Linguagem de programação Hack do FacebookRafael Alves
Just an overview of the new Facebook's programming language.
(It's written in PT-BR)
/
Apenas uma visão geral da nova linguagem de programação do Facebook.
Painel: HHVM x Zephir x PHPNG - com Anderson Casimiro, Levi Ferreira e Luiz Gustavo Gavinho no InterCon PHP 2014.
Confira outras apresentações em: http://interconphp.imasters.com.br/
O InterCon PHP aconteceu no dia 19 de Julho de 2014 no Hotel Intercontinental São Paulo
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
Oficina de PHP realizada no Instituto Federal de Goiás Campus de Luziânia no evento Software Freedom Day.
----------------------------------------------------------------
PHP Workshop held at the Federal Institute of Goiás Campus Luziania in Software Freedom Day event.
Palestra apresentada no CEPA em Anápolis-GO por mim e o Almir Neto, mostrando a cena tecnológica em que o PHP encontra-se, e o que podemos esperar para o futuro.
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...Weverton Timoteo
Talk apresentada no evento gratuito Ruby Summit Brasil 2020 organizado pela comunidade e para comunidade.
Falei um pouco sobre as principais novidades no Ruby 3 (Ractor, Scheduler, RBS, Type profiler) e o poder dos linters nesse momento.
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?Weverton Timoteo
Talk apresentada no evento Devs Cansados (https://evento2020.devscansados.com.br/) no dia 12/11/20.
Nessa talk falo um pouco o que é qualidade de código, métricas interessante para sua base de código.
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com ElixirWeverton Timoteo
Talk apresentada em par com o @amadeucavalcante1 no evento CodeBEAM BR 2020 contando como foi nossa experiência construindo CLIs (Command Line Interfaces) utilizando Elixir. Nessa talk falamos sobre escript (Erlang Script), mix release, distillery, bakeware, docker, etc.
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoWeverton Timoteo
Talk apresentada no evento gratuito TDC Online Recife 2020 na sala Locaweb <pro>.
Falei um pouco sobre as principais novidades no Ruby 3 (Ractor, Scheduler, RBS, Type profiler).
[Gophercon 2019] Analysing code quality with linters and static analysisWeverton Timoteo
How do you define a "good code"? How to write high-quality software with assistance of linters and static analysis.
Using golint, govet and gofmt can improve our code.
Elixir Brasil 2019 - Quality: A Panacéia para seu código ElixirWeverton Timoteo
A talk explaining how to define `good code`. Using `Code Complete` as a reference to guide over the quality definition and introducing Linters (Credo) and Dialyzer (Dialyxir)
A talk explaining how to define `good code`. Using `Code Complete` as a reference to guide over the quality definition and introducing Linters (each category) for Golang.
Talk apresentada no 21o RubyFloripa contando como foi a experiência em assumir uma app legada Rails e introduzir Elixir. Utilizando tecnologias como GenStage, AWS SQS e SNS.
Talk no primeiro meetup Garopaba/Imbituba developers:
https://www.meetup.com/Garopaba-Imbituba-Dev/events/240082447/
Nessa talk explico os conceitos de projeção e porquê elas são necessárias.
Mesma palestra apresentada no TDC 2015 - Florianópolis na trilha de Ruby. Porém com alguns ajustes para ser apresentado no FloripaOnRails (http://www.meetup.com/Floripa-on-Rails/), meetup de 30/04.
Swift language - A fast overview of some featuresWeverton Timoteo
Short slide about Swift programming language and its features.
Learn about: variables, hello world, optionals, enumerators, emojis, differences between Objective-c.
This presentation shows how to develop an universal iOS app or "convert" a existing one into universal. An universal app must work in iPad/iPod and iPhone.
2. O que é FFI?
FFI (Foreign Function Interface) é um mecanismo
pela qual, um programa escrito em determinada
linguagem, pode realizar chamadas, funções e
comunicar-se outros programas e serviços de
linguagens distintas.
http://www.c2.com/cgi/wiki?ForeignFunctionInterface
4. RubyInline
Automaticamente determina se o código em questão
mudou e só roda build quando necessário.
As extensões são automaticamente carregadas na
classe/módulo que a definiu.
Por padrão suporta apenas C/C++
https://github.com/seattlerb/rubyinline
9. RubyFFI
"FFI is a fantastic tool for easily interfacing your Ruby
code with native libraries.
Using FFI, you can use native libraries from Ruby
without writing a single line of native code."
https://github.com/ffi/ffi/wiki/Core-Concepts
11. Vantagens de utilizar FFI
• Não, necessariamente, escrever código da linguagem
que está integrando
• Mesmo código em qualquer interpretador Ruby (MRI,
JRuby, Rubinius)
• Melhor para outros membros do time, principalmente
se tratando de uma gem
• Instalar apenas libs de runtime
• Não quebra por mudanças na API interna do Ruby
12. Componentes do Ruby FFI
FFI::Library - utilizada ao chamar `require 'ffi'`
FFI::Pointer - segura memória alocada pela
biblioteca terceira.
FFI::MemoryPointer - permite o Ruby alocar
memória nativa e passá-la para bibliotecas não-
Ruby. Também controla ciclo de vida de objetos em
memória
FFI::Struct e FFI::Union
13. Gerenciamento de Memória
• Biblioteca/Linguagem utilizada
• Interpretador Ruby utilizado
• Dois tipos de pilha de memória: Ruby e nativa.
Pilha de memória Ruby é gerenciado pelo GC do
interpretador.
14. Tipos
• :char and :uchar - 8 bit signed and unsigned values
• :short and :ushort - 16 bit signed and unsigned values
• :int and :uint - 32 bit signed and unsigned values
• :long_long and :ulong_long - 64 bit signed and unsigned values
• :long and :ulong - native cpu word (32 bit or 64bit) signed and unsigned values.
Equivalent to C 'long' type.
• :float and :double
• :string - C string, NULL terminated.
• :pointer - a C pointer
https://github.com/ffi/ffi/wiki/Types