<p><br>
Il giorno 24/ago/2012 14:32, "Sandro Mosca" <<a href="mailto:stoke95@gmail.com">stoke95@gmail.com</a>> ha scritto:<br>
><br>
> L' I/O che "non si blocca" è semplicemente un nome, ovvio che un I/O per definizione si blocchi prima o poi.</p>
<p>Appunto ;) <br></p>
<p>> Comunque se hai altri link<br>
Si, quando torno dalle vacanze te li passo.</p>
<p> <br>
> Ovviamente si può programmare con I/O asincrono in qualsiasi linguaggio, il problema è che alcune volte è abbastanza ostico.</p>
<p>Esattamente quello che dicevo ;)</p>
<p>Manda la proposta di talk. Se è troppo complessa ti trovo un posto più cazzuto dove mandarla.</p>
<p>Pace e buone vacanze,<br>
Rob</p>
<p>> Node.js è un framework che sta avendo molto successo<br><br><br></p>
<p>, perché:<br>
><br>
> 1) E' Javascript<br>
><br>
> 2) Rende la programmazione asincrona veramente, veramente semplice.<br>
><br>
> Per quanto riguarda la complessità delle richieste, se si usano anche altre lib asincrone (ovviamente se l'I/O è asincrono, lo saranno anche i socket, se lo sono i socket, le lib per l'accesso a qualsiasi db saranno asincrone) non c'è un vero e proprio calo: transloadit (<a href="https://transloadit.com/">https://transloadit.com/</a>) è un servizio per l'encoding di video, audio ed immagini, basato completamente su node.js, e difficilmente riesco a pensare a delle richieste più complesse di quelle.<br>
><br>
> Il giorno 24 agosto 2012 08:54, Roberto Polli <<a href="mailto:robipolli@gmail.com">robipolli@gmail.com</a>> ha scritto:<br>
><br>
>> Penso che per i talk vada benissimo un argomento più leggero ;)<br>
>><br>
>> Il libro te lo consiglio per cultura personale perché è molto bello. Mi.fa piacere che un giovane conosca tutte ste cose.<br>
>><br>
>> Se invece ne sai già abbastanza e volessi approfondire ulteriormente fai sapere e ti giro altri link.<br>
>><br>
>> Sull'io asincrono, ovviamente esiste. Non è un io «che non si blocca» ma è appunto asincrono. Se non si blocca all'inizio si bloccherà alla fine :P<br>
>><br>
>> E che non dipende dal linguaggio di programmazione ma dal programmatore ;)<br>
>><br>
>> Su nginx ok, ma distingui la capacità di processare tante richieste da quella di processare richieste complesse.<br>
>><br>
>> Sono curioso sulla tua proposta di talk: sarà sicuramente interessante.<br>
>><br>
>> Se hai qualcosa di più pesante considera la possibilità di partecipare a qualche conferenza: gli mandi paper on line e se lo accettano bella per te.<br>
>><br>
>> Pace,R<br>
>><br>
>> Il giorno 23/ago/2012 23:30, "Sandro Mosca" <<a href="mailto:stoke95@gmail.com">stoke95@gmail.com</a>> ha scritto:<br>
>><br>
>>> Allora mi sa che non ci siamo capiti dall'inizio.<br>
>>><br>
>>> Quel libro è sull'I/O base di linux (che tral'altro già conosco). Se volevo fare un talk su come il kernel gestisce l'accesso ai file lo dicevo da subito.<br>
>>><br>
>>> Libuv (<a href="https://github.com/joyent/libuv">https://github.com/joyent/libuv</a>) è una lib cross-platform per l'astrazione di altre librerie (IOPL e libev), che servono proprio per utilizzare l'async I/O, che per inciso esiste, e consiste semplicemente nel fatto di avere la possibilità di continuare l'esecuzione del programma senza aspettare che l'input sia completamente arrivato.<br>
>>><br>
>>> L'async I/O e la conseguenziale programmazione event-driven stanno avendo molto successo, poiché diventa molto più semplice gestire problemi concorrenziali, la memoria usata è molto bassa (essendoci un numero limitato e predefinito di thread), e per le sue performance molto soddisfacenti.<br>
>>><br>
>>> Un classico esempio di server http buildato con questa tecnologia è nginx (<a href="http://nginx.org/">http://nginx.org/</a>), so che una volta era usato da youporn (possiamo ben immaginare che tipo di richieste deve processare un web server in caso di un sito così conosciuto e di contenuto così spinto).<br>
>>><br>
>>> Il giorno 23 agosto 2012 21:43, Roberto Polli <<a href="mailto:robipolli@gmail.com">robipolli@gmail.com</a>> ha scritto:<br>
>>>><br>
>>>> Per l'i/o asincrono può interessarti questo. Nei capitoli su read e write illustra molto bene le problematiche dell'i/o, l'uso delle cache, ...<br>
>>>><br>
>>>> LibUv ovviamente è un' altra cosa ;)<br>
>>>><br>
>>>> Pace, Rob<br>
>>>><br>
>>>> <a href="http://seesee.pbworks.com/f/linux.pdf">http://seesee.pbworks.com/f/linux.pdf</a><br>
>>>><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> <a href="http://www.llg.it">http://www.llg.it</a><br>
>>>> latina mailing list<br>
>>>> <a href="mailto:latina@lists.linux.it">latina@lists.linux.it</a><br>
>>>> <a href="http://lists.linux.it/listinfo/latina">http://lists.linux.it/listinfo/latina</a><br>
>>>><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> <a href="http://www.llg.it">http://www.llg.it</a><br>
>>> latina mailing list<br>
>>> <a href="mailto:latina@lists.linux.it">latina@lists.linux.it</a><br>
>>> <a href="http://lists.linux.it/listinfo/latina">http://lists.linux.it/listinfo/latina</a><br>
>>><br>
>><br>
>> _______________________________________________<br>
>> <a href="http://www.llg.it">http://www.llg.it</a><br>
>> latina mailing list<br>
>> <a href="mailto:latina@lists.linux.it">latina@lists.linux.it</a><br>
>> <a href="http://lists.linux.it/listinfo/latina">http://lists.linux.it/listinfo/latina</a><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> <a href="http://www.llg.it">http://www.llg.it</a><br>
> latina mailing list<br>
> <a href="mailto:latina@lists.linux.it">latina@lists.linux.it</a><br>
> <a href="http://lists.linux.it/listinfo/latina">http://lists.linux.it/listinfo/latina</a><br>
><br>
</p>