My presentations, using Reveal.js (mostly in Portuguese).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

451 lines
14 KiB

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>FISL 2016</title>
<meta name="description" content="A framework for easily creating beautiful presentations using HTML">
<meta name="author" content="Hakim El Hattab">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="reveal.js/css/reveal.css">
<link rel="stylesheet" href="reveal.js/css/theme/black.css" id="theme">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="reveal.js/lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
<style>
.semi-opaque {
background-color: rgba(0, 0, 0, 0.7);
}
* {
hyphens: none !important;
-moz-hyphens: none !important;
}
img {
height: 400px;
}
</style>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-background='_images/fisl2016.png' data-header>
<section>
<h1 class="semi-opaque">FISL 2016</h1>
</section>
</section>
8 years ago
<section>
<section>
<h2>Disclaimer!</h2>
<ul>
<li>As apresentações não são minhas;</li>
<li>Ver as apresentações não me tornou um expert no assunto;</li>
<li>Essas são as minhas opiniões.</li>
<li class="fragment">Então porque?</li>
8 years ago
</ul>
</section>
</section>
<section>
<section data-background='_images/fisl-elixir1481354.png'>
8 years ago
<div class="semi-opaque">
<h2>Elixir, quem é esse pokemon?</h2>
<h3>Bruno Loureiro Volcov</h3>
<p><a href="http://hemingway.softwarelivre.org/fisl17/41f/sala41f-high-201607150900.ogv" target="_blank">(video)</a></p>
</div>
<aside class="notes">
- Suporte a docstrings
- Baseado no Erlang
- "hot code swap"
- Ferramenta "mix": cria estrutura básica, instala
pacotes
</aside>
</section>
</section>
8 years ago
<section>
<section data-background='_images/fisl-electronmaxresdefault.jpg'>
8 years ago
<div class="semi-opaque">
<h2>Electron: Construindo Aplicações Desktop Multi-Plataforma com HTML, CSS e JS</h2>
<h3>Rafael Jaques</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41d/sala41d-high-201607151059.ogv" target="_blank">(video)</a>
</p>
</div>
8 years ago
<aside class="notes">
- Package.json, main.js, Index.html
- Github.com/rafajaques/electron-exemplos
- Npm install -g electron-prebuild
- Github/electron/electron-quick-start
- Electron-api-demos
- Hokein/electron-sample-apps
- Require('./require.json')
- Electron builder
- Appveyor.com
- Photonkit.com
- React-desktop
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-docker-python.png'>
<div class="semi-opaque">
<h2>BeavOps : Como o Python e Docker construíram um ambiente DevOps</h2>
<h3>Alisson Machado de Menezes</h3>
<h3>Gabriela Dias</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41c/sala41c-high-201607151159.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- Ferramenta de orquestração de geração de ambientes
- 4Linux
- Integração com o CRM de venda de cursos
- Pyramid vs flask
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-shell-script.png'>
<div class="semi-opaque">
<h2>Shell Script Moderno</h2>
<h3>Aurelio Marinho Jargas</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41a/sala41a-high-201607151309.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- @oreio
- Bash -exu
- E - abort on errors
- X - debug
- Criar funções
- Praticar posix
- Usar echo e "-v"
- Usar variáveis de ambiente ao invés de parmetros para o script
- Strict: set -euo pipefail
- Shellcheck
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-puppet-ansible-salt.png'>
<div class="semi-opaque">
<h2>Puppet, Ansible, Salt: Maturidade, Simplicidade e Flexibilidade</h2>
<h3>Diego Francisco de Gastal Morales</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41d/sala41d-high-201607151403.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- @dgmorales
- Mcollective - orquestração puppet
- Puppet explorer, puppetboard
- Rundeck - Dashboard ansible
- Salt: tem clients como puppet e agora tem ssh como ansible
- Saltpad: Dashboard do salt
- Telegram.me/ansiblebr
- Telegram.me/puppetbr
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-ansible.png'>
<div class="semi-opaque">
<h2>Ansible: Infraestrutura como Código</h2>
<h3>Jonatas Baldin de Oliveira</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41b/sala41b-high-201607151559.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- Jonatas Baldwin
- @vuashhhh
- Powershell remoting para Windows vs ssh unix
- Idempotente
- Inventory: grupos indicam o tipo do servidor; da pra definir as chaves privadas no inventário para não precisar de senhas
- Módulos = ferramentas, playbook = design da infraestrutura
- Ansible-playbook -i inventory playbook.yml
- Notify: executa a "task" apenas se houver alteração do estado da task
- "Ansible for DevOps"
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-luciano-ramalho.jpg'>
<div class="semi-opaque">
<h2>Antes e depois de Python: minhas linguagens favoritas</h2>
<h3>Luciano Ramalho</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41a/sala41a-high-201607151659.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- @ramalhoorg
- Estética de linguagens de programação
- "Fonte 3270"
- "Bauhaus chess"
- Palavras reservadas = peças de um jogo de xadrez
- Número de palavras != sofisticação
- Scheme tem macros sintáticas
- Quem fez o turbo Pascal fez C#
- "Iniciação à estética" - suassuna
- "Beauty"
- Baungarten
- Machine Beauty
- Go (concorrencia CSP), Clojure, Elixir
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-pentaho.jpg'>
<div class="semi-opaque">
<h2>Business Intelligence com dados abertos</h2>
<h3>Rafaela Raganham</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41b/sala41b-high-201607151800.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- Coleta de dados, organização, análise, compartilhamento e monitoramento de informações
- Selecionar base de dados
- Mapeamento e limpeza (ETL)
- Definindo-se dos cubos - construção e desenvolvimento
- Interface com usuário
- Pentaho Business Analytics
- Portal braisleiro de dados abertos
- Portal de transparência
- Pentaho Day
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-xpaas.jpg'>
<div class="semi-opaque">
<h2>Explorando xPaaS</h2>
<h3>Ricardo Martinelli de Oliveira</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41c/sala41c-high-201607151901.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- Ricardo martinelli de oliveira
- Openshift
- Kubernetes
- Xip.io para resolver nomes - coloca o IP de resultando dentro do próprio name.
- Developers.redhat.com
- Cdk tem um openshift inteiro dentro de um vagrants
- @rimolive
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/mongodb.jpg'>
<div class="semi-opaque">
<h2>MongoDB - Tudo o que você precisa saber</h2>
<h3>Christiano Anderson de Souza</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41a/sala41a-high-201607161000.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- Propus.science - parceiro do MongoDB
- Consultoria MongoDB e Hadoop
- @dump
- Christiano.me
- Joins - versão 3.2
- Validação de documentos - versão 3.2
- Teorema de capi
- Sharding precisa de replicação - se um shard cai fora, o mongo para de responder.
- Sharding precisa de um config server, para manter os indicies gerais. Normalmente 3.
- Mongos fica normalmente na máquina da aplicação.
- Documento "ID 0" - mantém todos os valores possíveis de todos os campos.
- $lookup - join
- CreateCollection().validator()
- Robomongo.org
- 3t.io/mongochef/
- Com lookup, como fica dbref?
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-software-licensing.png'>
<div class="semi-opaque">
<h2>Tudo que você sempre quis saber sobre licenças de software e nunca pode perguntar</h2>
<h3>Kemel Zaidan</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41b/sala41b-high-201607161105.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- @kemelzaidan
- Convenção de Berna e Paris + leis nacionais (direito autoral)
- Direito autoral != patente , mas são propriedade autoral
- Patente tem uma parte de conhecimento público
- As 4 liberdades forçam o código a ficar disponível.
- Direito de autor vs direito de cópia (copyright)
- Sem licença = copyright = o autor que decide como o produto será distribuído (ou se será)
- Livros do Ronaldo Lemos
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-docker-for-developers.png'>
<div class="semi-opaque">
<h2>Docker Para Programadores Preguiçosos</h2>
<h3>Paulo Diovani Gonçalves</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41b/sala41b-high-201607161213.ogv" target="_blank">(video)</a>
</p>
</div>
</section>
</section>
<section>
8 years ago
<section data-background='_images/fisl-ux.jpg'>
<div class="semi-opaque">
<h2>Modelos de integração de UX e Engenharia de Software</h2>
<h3>Erik Guimarães da Silva</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41d/sala41d-high-201607161300.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- Erik Guimarães
- Quadrilátero UX: apresentação, controle, comunicação, essencialidade.
- Apresentação = aparência, estética.
- Controle = liberdade na iteração, navegação concisa e flexível
</aside>
</section>
</section>
<section>
8 years ago
<section data-background='_images/cordova.png'>
<div class="semi-opaque">
<h2>Desenvolvimento mobile do jeito certo: Apache Cordova, Zepto e Handlebars</h2>
<h3>Kemel Zaidan</h3>
<p>
<a href="http://hemingway.softwarelivre.org/fisl17/41b/sala41b-high-201607161400.ogv" target="_blank">(video)</a>
</p>
</div>
<aside class="notes">
- http://slides.com/kemelzaidan/mobile-fail
- @kemelzaidan
- Eventos.locaweb.com.br
- Loopback.io - criação de apis
- Plugin do MoMa para converter posts para WordPress.
- Phonegap = cordova
- Plugins de acesso ao hardware não fucnionam em emuladores
- Intel XDK = distribuição da Intel para Cordova
- Também tem build na cloud
- Intel app preview - envia a aplicação para o dispositivo, sem fazer build
- Para push, tem plugin (inotifier?)
</aside>
</section>
</section>
8 years ago
<section>
<section>
<h3>Impressões gerais do evento</h3>
</section>
</section>
8 years ago
<section data-background='_images/thats-all-folks.jpg'>
<section></section>
</section>
</div>
</div>
<script src="reveal.js/lib/js/head.min.js"></script>
<script src="reveal.js/js/reveal.js"></script>
<script>
// Full list of configuration options available at:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
// Optional reveal.js plugins
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>