Question:
Ingénierie inverse XKCD 1190
Igor Skochinsky
2013-03-27 06:16:40 UTC
view on stackexchange narkive permalink

La dernière bande dessinée (pour le moment) s'intitule "Time". C'est une bande dessinée d'apparence standard mais sans beaucoup d'action, mais le titre alternatif de l'image dit "Attendez-le". J'ai attendu mais rien ne s'est passé (essayé dans Opera et IE9) alors j'ai jeté un coup d'œil à la source de la page.

À côté de la balise <img> de l'image, il y avait un <script> qui incluait l'URL suivante:

http://imgs.xkcd.com/static/time07.min.js

J'ai essayé de donner un sens, mais je ne peux pas le comprendre. Quelqu'un peut-il expliquer comment cela fonctionne et ce qui était censé se passer?

[expliquerxkcd peut et a fait] (http://webcache.googleusercontent.com/search?q=cache:kMIFRZ7MkWAJ:www.explainxkcd.com/wiki/index.php%3Ftitle%3D1190:_Time+xkcd+1190+explained&cd=1&hl = en & ct = clnk) (au moins partiellement)
@Gilles: intéressant! Cependant, il ne semble pas y avoir beaucoup d'explications sur ce que fait exactement le script, mais plutôt "voici les URL qu'il récupère". J'espère que quelqu'un pourra poster un aperçu des principales parties du script et de leur interaction. Pour ma part, je suis perdu dans tous les rappels et fermetures.
Peut-être est-ce une expérience sociale et compte combien de temps une personne attendra que l'image change?
Un répondre:
#1
+9
0xea
2013-03-28 02:50:06 UTC
view on stackexchange narkive permalink

Quelqu'un chez XKCD fora a collé un lien vers ce gist qui contient une source désobscurcie et annotée avec quelques explications:

La partie principale de Javascript qui alimente les xkcd Bande dessinée "Time" ( http://xkcd.com/1190/), désobfusquée et annotée. La majeure partie du script semble être une implémentation d'EventSource - qui, bien qu'importante, n'est pas très intéressante pour nos besoins, donc je l'ai omise ici. Après quelques recherches sur Google, je suis en fait assez certain que l'implémentation EventSource utilisée ici est https://github.com/Yaffle/EventSource - après avoir réduit et embellir ce code, cela ressemble beaucoup à ce que apparaît dans time07.min.js.

Pour autant que je sache, il n'a pas de magie dedans et sert simplement comme un moyen simple pour le serveur de faire savoir au client quand il est une nouvelle image.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...