Pour ceux qui ne suivent pas l’actualité, Google tient en ce moment des conférences appelées Google Input/Ouput.
Format vidéo Internet
Pour le premier jour de conférence, nous avons eu droit – entre autre – à l’annonce du format vidéo WebM qui – normalement – devrai devenir le standard vidéo libre du net.
La raison de ce nouveau format, c’est que l’utilisation du H.264 est soumise à une licence payante. A cause de cela Firefox ne pouvait pas lire les vidéos H.264…
Android 2.2
Autre nouveauté, concernant Android.
Nous avons eu la confirmation de la nouvelle version Android 2.2 nommé Froyo, qui apporte son lot d’amélioration :
Support complet de Flash Player 10.1 et Adobe AIR 2.5
2 à 5 fois plus rapide que les anciennes version grâce à un nouveau compilateur Dalvik JIT
Navigation internet 2 à 3 fois plus rapide grâce à un nouveau moteur Javascript
Installation des applications sur la carte SD possible en natif
Mise à jour automatique des applications installées à partir du Market
Pour ceux qui développent pour Android, la version 2.2 du SDK est disponible.
Alors que Adobe AIR peut s’installer sur Android 2.1, FP 10.1 doit être installé sur Android 2.2.
C’est dommage car très – très – peu de gens disposent de la nouvelle version Android Froyo, mais cela annonce aussi que Google ne devrai pas tarder à mettre à jour les terminaux
Lorsque la pile est pleine, une jolie erreur du type StackOverFlowError est déclenchée.
Ce qui est intéressant de voir, c’est le comportement du Player et des navigateurs lorsque l’on traite cette erreur pour relancer la fonction récursive.
Avec Windows, en utilisant IE le navigateur monte en charge en utilisant la mémoire. Ce qui a pour conséquence logique de remplir le fichier d’échange. Une fois que la mémoire disponible est sèche, un mécanisme que je n’explique pas libère de la mémoire et le script continu son exécution.
Contrairement à Firefox qui après 400Mo d’utilisation mémoire, se positionne en « Ne réponds pas… » et se freeze de lui même.
Si vous voulez voir ce que cela donne, voici l’application.
Pensez à surveiller l’utilisation de votre mémoire
This movie requires Flash Player 9
L’interet
Outre le fait de pouvoir faire joujou, ce script peut-être intéressant pour réaliser des traitements récursifs qui sont justement trop importants.
En, effet, vous pouvez le combiner à une variable statique pour continuer le traitement lorsque l’erreur de débordement est déclenchée.
Comment restreindre l’instanciation d’une classe à une autre classe.
Voici une idée complètement « crazy » au quelle je vais apporter une solution à travers ce billet.
Nous allons utiliser un principe connu par de nombreux framework Web qui permet d’assurer la validité d’un formulaire: Le jeton !
Les conventions de nommage font parties de la vie d’un développeur qui souhaite faire du bon boulot.
En effet, cela permet une meilleur compréhension visuelle. Ce qui est pratique pour détecter certains problèmes évidents.
Bref, la convention de nommage concernant les classes est celle-ci :
1ère lettre en majuscule
Mélange de minuscule, majuscule avec la première lettre de chaque mot en majuscule
Donner des noms simples et descriptifs
Éviter les acronymes : hormis ceux commum (XML, URL, HTML, …)
Analyse du contexte Flash
var _monText :String = "Hello world";
var _monNombre :int = 42;
var _monGrandNombre :int = int.MAX_VALUE;
En Flash, il existe deux types int et uint tout deux primitifs comme String ou Number. Ces types ont deux constantes de classe (MAX_VALUE, et MIN_VALUE).
Il s’agit donc de Classes, alors pourquoi la convention de nommage n’a pas été respectée ?
Après une recherche – très rapide grâce aux membres de mediabox – il en ressort que int et uint appartient à Number.
Si on analyse le code ci-dessous, on peut se rendre compte que le constructeur d’une variable de type int ou uint est Number.
Grâce à cette démonstration par le code, nous pouvons constater que Flash respect bien la convention de nommage sur les classes, car int et uint ne sont que de « simples » appels à Number.
Maintenant, QUID de la gestion mémoire ?
PS: Autre blog, autre temps, troyworks s’est posé la même question sous une autre forme. Assez perturbant tout cela.
Commentaires récents