Browse Source

removed the sub views in the rest presentation, they are confusing as heck

master
Julio Biason 11 years ago
parent
commit
c018748efe
  1. 61
      rest.html

61
rest.html

@ -67,26 +67,19 @@ img {
</ul> </ul>
</section> </section>
<section> <!-- data-background="_images/l-What-is-this-sorcery.jpg"> -->
<section> <section>
<h2>O que é ReST?</h2> <h2>O que é ReST?</h2>
<img src='_images/l-What-is-this-sorcery.jpg'></img> <img src='_images/l-What-is-this-sorcery.jpg'></img>
</section> </section>
<section> <section>
<p> <p>É uma "arquitetura" de transmissão de dados sobre HTTP.</p>
É uma "arquitetura" de transmissão de dados sobre HTTP.
</p>
<p> <p>("Conjunto de idéias para utilizar HTTP para geração de APIs.")</p>
("Conjunto de idéias para utilizar HTTP para geração de APIs.")
</p>
</section> </section>
<section> <section>
<p> <p>Linguagem? Qualquer!</p>
Linguagem? Qualquer!
</p>
<ul> <ul>
<li>Python: Flask, Django, Flask-Restless, Django Rest Framework</li> <li>Python: Flask, Django, Flask-Restless, Django Rest Framework</li>
@ -97,9 +90,7 @@ img {
<li>Rust: Rustful</li> <li>Rust: Rustful</li>
</dl> </dl>
</section> </section>
</section>
<section>
<section> <section>
<h2>ReST e HTTP</h2> <h2>ReST e HTTP</h2>
<img src='_images/20090504102402_dsc_2864 (1).jpg'></img> <img src='_images/20090504102402_dsc_2864 (1).jpg'></img>
@ -108,10 +99,10 @@ img {
<section> <section>
<ul> <ul>
<li>Métodos HTTP = operação de banco de dados (CRUD).</li> <li>Métodos HTTP = operação de banco de dados (CRUD).</li>
<li>Status das operações são status HTTP.</li> <li>Resultado das operações são indicados por status HTTP.</li>
<li>Meta-informações podem ser enviadas nos headers. <li>Meta-informações podem ser enviadas nos headers.
<ul> <ul>
<li>Atenticação é feita por HTTP auth.</li> <li>Por exemplo, atenticação é feita por HTTP auth.</li>
</ul> </ul>
</li> </li>
<li>Sem transações/sessões -- todas as operações são atômicas.</li> <li>Sem transações/sessões -- todas as operações são atômicas.</li>
@ -119,7 +110,7 @@ img {
</section> </section>
<section> <section>
Em HTTP, usam-se métodos para descrever o que quer ser feito: <p>Em HTTP, usam-se métodos para descrever o que quer ser feito:</p>
<ul> <ul>
<li><code>POST</code> requisita informações, com conteúdo.</li> <li><code>POST</code> requisita informações, com conteúdo.</li>
@ -130,9 +121,7 @@ img {
</section> </section>
<section> <section>
<p> <p>Em ReST, métodos HTTP viram CRUD:</p>
Em ReST, métodos HTTP viram CRUD:
</p>
<ul> <ul>
<li>Create &#8658; POST</li> <li>Create &#8658; POST</li>
@ -142,9 +131,7 @@ img {
<li class='fragment'>Update &#8658; PATCH</li> <li class='fragment'>Update &#8658; PATCH</li>
</ul> </ul>
</section> </section>
</section>
<section>
<section> <section>
<h2>Recursos</h2> <h2>Recursos</h2>
<img src='_images/jellybeans.jpg'></img> <img src='_images/jellybeans.jpg'></img>
@ -201,19 +188,19 @@ img {
<section> <section>
<h3>Requisições sem recursos</h3> <h3>Requisições sem recursos</h3>
Requisições sem um recurso definido utilizam um verbo e GET: <p>Requisições sem um recurso definido utilizam um verbo e GET:</p>
<code>GET /covert/?source=BRL&amp;value=10&amp;target=AUD</code> <p><code>GET /covert/?source=BRL&amp;value=10&amp;target=AUD</code></p>
</section>
</section> </section>
<section>
<section> <section>
<h2>Conteúdo</h2> <h2>Conteúdo</h2>
<img src='_images/content-strategy.jpg'></img> <img src='_images/content-strategy.jpg'></img>
</section> </section>
<section> <section>
<h3>Formato das respostas/requisições</h3>
<p>Qualquer formato, ReST não define um específico.</p> <p>Qualquer formato, ReST não define um específico.</p>
<ul> <ul>
@ -225,11 +212,9 @@ img {
<p>Fica a cargo da equipe decidir o melhor formato para a aplicação.</p> <p>Fica a cargo da equipe decidir o melhor formato para a aplicação.</p>
</section> </section>
</section>
<section> <section>
<section> <h2>Resultado das operações</h2>
<h2>Status</h2>
<img src='_images/RightWrongBlackboard.jpg'></img> <img src='_images/RightWrongBlackboard.jpg'></img>
</section> </section>
@ -246,16 +231,18 @@ img {
</ul> </ul>
<p>E assim por diante...</p> <p>E assim por diante...</p>
<p class='fragment'>Entretanto...</p>
</section> </section>
<section> <section>
<p>Problema:</p> <h3>Problema</h3>
<p>ReST não define o que fazer em caso de conflito dos erros.</p> <p>ReST não define o que fazer em caso de conflito dos erros.</p>
</section> </section>
<section> <section>
<p>Exemplo:</p> <h3>Exemplo</h3>
<p>Operação para adicionar um usuário à um grupo:</p> <p>Operação para adicionar um usuário à um grupo:</p>
@ -264,11 +251,10 @@ img {
<li>Qual status a ser retornado quando o usuário não existe, neste caso?</li> <li>Qual status a ser retornado quando o usuário não existe, neste caso?</li>
</ul> </ul>
<p>Normalmente é enviado um corpo junto com o erro.</p> <p>Normalmente é enviado um corpo indicando o erro de forma mais completa,
</section> ainda com status HTTP.</p>
</section> </section>
<section>
<section> <section>
<h2>Por que usar ReST?</h2> <h2>Por que usar ReST?</h2>
<img src='_images/house-do-want_cut455_22k.jpg'></img> <img src='_images/house-do-want_cut455_22k.jpg'></img>
@ -283,13 +269,11 @@ img {
implementação na hora.) implementação na hora.)
</ul> </ul>
</li> </li>
<li>Dificilmente portas HTTP (80 e 443) são bloequeadas em proxies.</li> <li>Dificilmente portas HTTP (80 e 443) são bloqueadas em proxies.</li>
<li>"Sintaxe" simples.</li> <li>"Sintaxe" simples.</li>
</ul> </ul>
</section> </section>
</section>
<section>
<section> <section>
<h2>Por que não usar ReST?</h2> <h2>Por que não usar ReST?</h2>
<img src='_images/Luke-Derp.jpg'></img> <img src='_images/Luke-Derp.jpg'></img>
@ -314,15 +298,14 @@ img {
</section> </section>
<section></section> <section></section>
</section>
<section data-background='_images/thats-all-folks.jpg'> <section data-background='_images/thats-all-folks.jpg'>
<section></section> <p></p>
</section>
<section class='semi-opaque'> <section class='semi-opaque' data-background='_images/thats-all-folks.jpg'>
<p><small>Perguntas?</small></p> <p><small>Perguntas?</small></p>
</section> </section>
</section>
</div> </div>
</div> </div>

Loading…
Cancel
Save