Skip to content

Instantly share code, notes, and snippets.

@michelemauro
Last active August 29, 2015 14:16
Show Gist options
  • Save michelemauro/f6b9ae43a346f691bbf4 to your computer and use it in GitHub Desktop.
Save michelemauro/f6b9ae43a346f691bbf4 to your computer and use it in GitHub Desktop.
PPP
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>Prevedibili Problematiche nel Passaggio dal Protocollo Richiesta/Risposta a Evento/Messaggio</h2>
</section>
<section>
<p>
ovvero spigoli vivi di WebSocket, angoli taglienti di Reactive e altre cose per non diventare una balbettante bambocciosa banda di babbani babbuini
</p>
</section>
</section>
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>fra i socket, nessuno può sentirti URLare</h2>
</section>
<section data-transition='concave'>
<a href="https://imgflip.com/i/iesnb"><img src="https://i.imgflip.com/iesnb.jpg" title="made at imgflip.com"/></a>
</section>
<section>
<p>
nella comunicazione via WebSocket, non c'è più l'url come indirizzo dell'azione richiesta
</p>
</section>
<section>
<p>Conseguenze:
<ul>
<li>diversa discoverability</li>
<li>analisi dei log differente</li>
<li>altre strade di comprensione del sistema</li>
<li>API esposta a terze parti diventa una entità separata</li>
</ul>
</section>
</section>
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>parametri vs payload</h2>
</section>
<section>
<a href="https://imgflip.com/i/iestk"><img src="https://i.imgflip.com/iestk.jpg" title="made at imgflip.com"/></a>
</section>
<section>
<p>
non essendoci più la richiesta/risposta, cade la dicotomia parametri/attributi dell'oggetto letto dal body
</p>
<p class=fragment>
e il multipart upload?
</p>
</section>
</section>
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>il browser come mittente</h2>
</section>
<section>
<p>
il browser può essere un mittente di messaggi, paritario con gli altri oggetti del sistema
</p>
<p class=fragment>
come capisco che è diverso? in cosa può differire? e come lo identifico?
</p>
</section>
<section>
<a href="https://imgflip.com/i/iet4m"><img src="https://i.imgflip.com/iet4m.jpg" title="made at imgflip.com"/></a>
</section>
</section>
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>il mittente come<br />destinatario</h2>
</section>
<section>
<p>
il messaggio ha una sola direzione: dal mittente al destinatario
</p>
<p class=fragment>
Se una risposta è prevista, il mittente dev'essere un dato accessibile, ed il destinatario deve usarlo per indirizzare il nuovo messaggio
</p>
</section>
<section>
<a href="https://imgflip.com/i/iet9y"><img src="https://i.imgflip.com/iet9y.jpg" title="made at imgflip.com"/></a>
</section>
</section>
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>JSON, JSON everywhere</h2>
</section>
<section>
<a href="https://imgflip.com/i/ieqaq"><img src="https://i.imgflip.com/ieqaq.jpg" title="made at imgflip.com"/></a>
</section>
<section>
<p>
molti strumenti sono fortemente orientati al suo utilizzo
</p>
<p class=fragment>
per un motivo o per l'altro, è il più comodo formato da usare
</p>
<p class=fragment>
ma è uno dei peggiori al mondo
</p>
</section>
<section>
<ul>
<li>parsing, unmarshalling</li>
<li>pochi (3), mal definiti tipi di dati</li>
<li>schema poco efficace</li>
</ul>
</section>
</section>
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>Alberi, foreste e rumori di caduta</h2>
</section>
<section>
come faccio a cablare insieme produttori e consumatori di messaggi?
<p class=fragment>senza reinventare Spring?</p>
</section>
<section>
come faccio a sapere chi ascolta/si aspetta quale messaggio?
<p class=fragment>senza ispezionare il codice? (così sono capaci tutti)</p>
</section>
<section>
come faccio a sapere che il tipo e la struttura del messaggio inviato è quello che il destinatario si aspetta?
<p class=fragment>
(sempre che il destinatario abbia un "tipo di messaggio")
</p>
</section>
<section>
e come faccio a sapere se, cosa e dove è andato storto?
<p class=fragment>sarebbe a dire, cosa scrivo nel log?</p>
</section>
</section>
<section data-background-transition='zoom' data-transition='concave' data-background='https://dl.dropboxusercontent.com/u/25389418/1-andre-freitas.jpg' data-state='blackout'>
<section data-transition='concave'>
<h2>Dei tronchi,<br /> della misurazione e della misurazione dei tronchi</h2>
</section>
<section>
i log sono un dato importante
</section>
<section>
<a href="https://imgflip.com/i/ier8r"><img src="https://i.imgflip.com/ier8r.jpg" title="made at imgflip.com"/></a>
</section>
<section>
Qualcuno deve poter con il minimo sforzo consultarli per essere sicuro che va tutto bene o sapere cosa è andato male
</section>
<section>
<a href="https://imgflip.com/i/iercp"><img src="https://i.imgflip.com/iercp.jpg" title="made at imgflip.com"/></a>
</section>
<section>
<blockquote class="twitter-tweet" lang="it"><p>It is easier to measure something than to understand what you have measured</p>&mdash; Mario Fusco (@mariofusco) <br/> <a href="https://twitter.com/mariofusco/status/571072462043136000">26 Febbraio 2015</a></blockquote>
</section>
</section>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment