Browse Source

Merge branch 'release/20191114'

master
Julio Biason 5 years ago
parent
commit
27b7ab7af5
  1. BIN
      _images/processor-speed.png
  2. 3
      filosofando-testes.html
  3. 7
      fugindo-com-python-2.html
  4. 89
      intro-stream-processing.html
  5. 6
      porque-como-opensource.html
  6. 53
      porque-rust.html

BIN
_images/processor-speed.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

3
filosofando-testes.html

@ -71,7 +71,8 @@
<div>
<ul class="empty">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>

7
fugindo-com-python-2.html

@ -86,7 +86,8 @@
<div>
<ul class="empty">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>
@ -1075,8 +1076,8 @@ pares = (num
<section>
<div class="semi-opaque">
<ul class="empty">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>

89
intro-stream-processing.html

@ -54,10 +54,6 @@
color: white;
}
img {
max-height: 90%;
}
td.seen {
font-style: italic;
font-weight: bold;
@ -72,6 +68,11 @@
.reveal h1 {
font-size: 3em !important;
}
.plain {
background-color: white !important;
padding: 10px !important;
}
</style>
</head>
@ -91,7 +92,8 @@
<div>
<ul class="empty">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>
@ -117,45 +119,18 @@
<img class="stretch" src="_images/streamprocessing-aws.png" alt="Lista de pontos de presença da CDN da Amazon" />
<aside class="notes">
</aside>
</section>
<section>
<h3>O que é uma CDN</h3>
</section>
<section>
<img class="stretch plain" src="_images/streamprocessing-connection.png" alt="" />
<aside class="notes">
Numa conexão "normal", o seu computador conecta no
modem, que se conecta em um servidor do seu
provedor, que se conecta em outro servidor, que se
conecta em outro, que se conecta em outro até que,
finalmente, ele chega ao servidor que você
realmente quer.
</aside>
</section>
<section>
<img class="stretch plain" src="_images/streamprocessing-cdn.png" alt="" />
<aside class="notes">
Com uma CDN, ao invés do servidor do provedor
atravessar toda a internet até chegar ao servidor
de destino, o servidor da CDN verifica se ele tem o
arquivo requisitado e, se tiver, responde
imediatamente.
Quem sai ganhando com uma CDN?
- O usuário, já que a resposta vem mais rápida.
- O cliente da CDN, pois ele não vai precisar ter
um servidor ou uma banda larga para poder responder
todos os usuários, já que alguns vão ficar somente
na CDN.
- O provedor, já que ele tem que pagar qualquer
tráfego que saia da sua rede.
Essa não é uma apresentação sobre CDN, mas como a
apresentação requer algo que gere dados de forma
contínua, eu vou usar CDN como exemplo, até porque
trabalhei com isso.
CDN nada mais é que um cache distribuído; ao invés
de todo mundo ir até o servidor de origem, os dados
são entregues por um servidor mais próximo do cliente.
Assim temos um sistema distribuído (vários servidores)
que não tem pausa (porque os vários servidores estão
o tempo todo entregando dados).
</aside>
</section>
@ -195,6 +170,8 @@
</section>
<section>
<h2>"Read Ready"</h2>
<img class="stretch" src="_images/streamprocessing-read-ready.jpg" alt="">
</section>
@ -324,6 +301,14 @@
</ul>
</section>
<section>
<ul>
<li><strong>E</strong><span class="fragment">xtract</span></li>
<li><strong>T</strong><span class="fragment">ransform</span></li>
<li><strong>L</strong><span class="fragment">oad</span></li>
</ul>
</section>
<section>
<p>Batch processing seria o caso de processar os dados de um dia.</p>
@ -466,9 +451,9 @@ light.switch()</code></pre>
<section>
<ul>
<li><code>(map lambda iterator)</code></li>
<li><code>(fold lambda iterator start)</code></li>
<li><code>(filter lambda iterator start)</code></li>
<li><code>(map lambda iterable)</code></li>
<li><code>(fold lambda iterable start)</code></li>
<li><code>(filter lambda iterable)</code></li>
</ul>
</section>
@ -525,15 +510,15 @@ light.switch()</code></pre>
</section>
<section>
<img class="stretch" src="_images/streamprocessing-streamprocessing.png" alt=""/>
<img class="plain stretch" src="_images/streamprocessing-streamprocessing.png" alt=""/>
</section>
<section>
<img class="stretch" src="_images/streamprocessing-pipeline.png" alt="" />
<img class="plain stretch" src="_images/streamprocessing-pipeline.png" alt="" />
</section>
<section>
<img class="stretch" src="_images/unclephil-flinkpipelinereal.png" alt="" />
<img class="plain stretch" src="_images/unclephil-flinkpipelinereal.png" alt="" />
</section>
<section>
@ -625,8 +610,8 @@ light.switch()</code></pre>
<section data-background='_images/thats-all-folks.jpg'>
<ul class="empty fragment semi-opaque">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>

6
porque-como-opensource.html

@ -71,7 +71,8 @@
<div>
<ul class="empty">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>
@ -565,7 +566,8 @@
<div class="fragment semi-opaque">
<ul>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>

53
porque-rust.html

@ -95,7 +95,8 @@
<div>
<ul class="empty">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>
@ -111,14 +112,14 @@
<li>Criada em 2006 por Graydon Hoare.</li>
<li>Patrocinada pela Mozilla em 2009.</li>
<li>Versão 1.0 em 2015.</li>
<li>Versão atual: 1.37</li>
<li>Versão atual: 1.38</li>
</ul>
</section>
<aside class="notes">
Parte burocrática da apresentação.
PS: Pode ser que, quando você essa apresentação, 1.37
PS: Pode ser que, quando você essa apresentação, 1.38
não seja mais a versão atual; a cada 6 semanas, sai uma
nova versão do compilador.
</aside>
@ -268,7 +269,7 @@
<section>
<pre><code class="hljs rust" data-trim>
fn main() -&lt; int{
fn main() -&gt; int{
let a = 2;
a = 3;
println!("{}", a);
@ -506,6 +507,14 @@ fn main() {
</aside>
</section>
<section>
<h4>Drop</h4>
<pre><code class="hljs rust fragment">
pub fn drop&lt;T&gt;(_x: T) { }
</code></pre>
</section>
<section>
<h3>Regras do Borrow Checker</h3>
@ -547,36 +556,8 @@ fn main() {
</aside>
</section>
<section data-transition="fade">
<pre><code class="hljs go" data-trim>presente := Presente { ... }
canal &lt;- presente
&nbsp;</code></pre>
<aside class="notes">
Num exemplo em Go, criamos uma estrutura e passamos
essa estrutura para outra thread através de um
canal.
</aside>
</section>
<section data-transition="fade">
<pre><code class="hljs go" data-trim>presente := Presente { ... }
canal &lt;- presente
presente.abrir()</code></pre>
<aside class="notes">
... e depois de passar o presente pra outra pessoa,
nós abrimos o presente.
Mas se estamos entregando um presente pra alguém,
como é que estamos abrindo o presente?
O borrow checker não permite esse tipo de coisa:
Ele irá barrar a função atual de continuar
utilizando a variável porque, afinal de contas,
agora a região de memória pertence à outra função
(uma função que está rodando em outra thread).
</aside>
<section>
<img class="stretch" src="_images/processor-speed.png" alt="">
</section>
<section>
@ -986,8 +967,8 @@ fn call_isan(num: &amp;str) -&gt; Result&lt;Success, Error&gt; {
<section data-background='_images/thats-all-folks.jpg'>
<div class="semi-opaque">
<ul class="empty">
<li>Júlio Biason</li>
<li>https://functional.cafe/@juliobiason</li>
<li><a href="https://functional.cafe/@juliobiason">https://functional.cafe/@juliobiason</a></li>
<li><a href="https://t.me/juliobiason">https://t.me/juliobiason</a></li>
<li>julio.biason@pm.me</li>
<li><a href="http://presentations.juliobiason.net">http://presentations.juliobiason.net</a></li>
</ul>

Loading…
Cancel
Save