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.
358 lines
10 KiB
358 lines
10 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'> |
|
<section> |
|
<h1 class="semi-opaque">FISL 2016</h1> |
|
</section> |
|
</section> |
|
|
|
<section> |
|
<section data-background='_images/fisl-elixir1481354.png'> |
|
<h2 class='semi-opaque'>Elixir, quem é esse pokemon?</h2> |
|
|
|
<aside class="notes"> |
|
- Suporte a docstrings |
|
- Baseado no Erlang |
|
- "hot code swap" |
|
- Ferramenta "mix": cria estrutura básica, instala |
|
pacotes |
|
</aside> |
|
</section> |
|
</section> |
|
|
|
<section> |
|
<section data-background='_images/fisl-electronmaxresdefault.jpg'> |
|
<h2 class="semi-opaque"> |
|
Electron: Construindo Aplicações Desktop Multi-Plataforma com HTML, CSS e JS |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
BeavOps : Como o Python e Docker construíram um ambiente DevOps |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Shell Script Moderno |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Puppet, Ansible, Salt: Maturidade, Simplicidade e Flexibilidade |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Ansible: Infraestrutura como Código |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Antes e depois de Python: minhas linguagens favoritas |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Business Intelligence com dados abertos |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Explorando xPaaS |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
MongoDB - Tudo o que você precisa saber |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Tudo que você sempre quis saber sobre licenças de software e nunca pode perguntar |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Docker Para Programadores Preguiçosos |
|
</h2> |
|
</section> |
|
</section> |
|
|
|
<section> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Modelos de integração de UX e Engenharia de Software |
|
</h2> |
|
|
|
<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> |
|
<section> |
|
<h2 class="semi-opaque"> |
|
Desenvolvimento mobile do jeito certo: Apache Cordova, Zepto e Handlebars |
|
</h2> |
|
|
|
<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> |
|
</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> |
|
|
|
|