vendredi 22 avril 2011

Veille technologique semaine 16

Pour le bulletin de cette semaine, je vous propose les sujets suivants :
  • Oracle libère le nom "OpenOffice" et le remet à la communauté, et arrête le support commercial correspondant. Oracle continu à contribuer au projet.
  • La zone Asie Pacifique a épuisée ses adresses IPV4.
  • Google a converti les vidéos YouTube au format WebM en remplacement du H264 : sur le chemin du HTML5.
  • Sortie de la version 7 de l'outil NetBeans avec le support du JDK 7 et de HTML5.
  • Le troisième article au sujet de la modélisation UML : les cas d'utilisations.
  • Une page de wikipedia sur le diagramme de classe UML : les attributs, les associations, les agrégations et les compositions : explication de toute ces différences.
  • Un résumé du pattern Entity, Control et Boundary.
  • Une synthèse sur le nouveau langage de programmation Ceylon, proposé par la société  Red Hat.
  • Un exemple d'utilisation de la classe java.util.Objects du JDK 7.
  • Les tests de couverture de code : il ne faut pas se tromper d'objectif.
Bonne lecture.


Oracle Offloads Open Office
Oracle has announced that OpenOffice.org is to be a community project and to cease production of the commercially supported version. From the press release:
 
"Given the breadth of interest in free personal productivity applications and the rapid evolution of personal computing technologies, we believe the OpenOffice.org project would be best managed by an organization focused on serving that broad constituency on a non-commercial basis," said Edward Screven, Oracle's Chief Corporate Architect. "We intend to begin working immediately with community members to further the continued success of Open Office. Oracle will continue to strongly support the adoption of open standards-based document formats, such as the Open Document Format (ODF)."


No more addresses: Asia-Pacific region IPv4 well runs dry
The Asia-Pacific Network Information Centre (APNIC), which is the organization responsible for distributing IP addresses in most of Asia, Australia, and the Pacific, announced that on April 15, it reached its final /8 block of IPv4
addresses. This cryptic announcement means that APNIC's supply of IPv4 addresses has been exhausted, and since the global pool of IPv4 addresses was previously exhausted, IPv4 addresses are no longer available in the APNIC region as they were before—basically, "to each according to his needs."



WebM, Google met les bouchées doubles
Hier, YouTube a annoncé sur son blog officiel avoir déjà converti en WebM 99% des vidéos les plus regardées. Ce chiffre représente 30% du stock total. Étant donnée la quantité de vidéos uploadées chaque jour (une durée équivalente à 6 ans est envoyée quotidiennement !), c'est déjà un chiffre impressionnant.
Derrière cet événement, se cache en fait un épisode de la guerre des navigateurs que se livrent Google, Mozilla, Microsoft et Apple en plus de quelques autres moins importants en nombre d'utilisateurs. Le champ de bataille, ce sont les codecs vidéo et audio pour le HTML 5.


Petit rappel : devant l'absence de consensus à propos des codecs vidéo et audio pour les spécifications du HTML5, en juin 2009, le W3C (Worldwide Web Consortium, censé mettre en place les standards du web)
avait choisi de ne pas choisir. Ce non-choix impliquait la guerre des formats à laquelle on assiste actuellement, jusqu'à ce qu'un standard s'impose de fait.
Le WebM est le format que Google, Mozilla et Opera ont créé, il est sous licence BSD et donc complètement libre.
Constitué du codec vidéo VP8 et du codec audio Vorvis, le tout dans un container basé sur Matroska. Il est soutenu par de grands noms comme Adobe, Oracle, Skype et beaucoup d'autres.
L'opposant principal est le H.264 qui est une variante de MPEG4 (part 10) aussi appelé H.264 AVC et dont le codec vidéo est le x264. Il est soutenu par Apple et Microsoft.

Aujourd'hui, beaucoup considèrent que la qualité vidéo est à l'avantage du H.264, mais le développement du WebM continue, et l'on peut dire à sa décharge qu'il a commencé plus tard que son opposant.
En mars dernier Google avait sorti un plug-in pour compatibilité du WebM avec Internet Explorer. C'était déjà une réponse à Microsoft qui avait sorti un plug-in pour lire le H.264 sur Chrome.
Un standard n'est pas prêt de faire surface, et ces rivalités risquent de durer encore quelques années.




Oracle Have Released NetBeans 7.0 with Support for the JDK7 Developer Preview and HTML5
With today's release of version 7.0, NetBeans becomes the first open source IDE to support JDK 7, providing both syntax support for the new language features, and code inspectors to help update existing code bases to take advantage of the new capabilities of the JDK platform. The specific JDK 7 features are:

  • 1. Strings in switch
  • 2. Diamond operator (new LinkedList<>())
  • 3. java.util.Objects
  • 4. JSR 292 (Exotic identifiers)
  • 5. New integer literals
  • 6. Multicatch
  • 7. Automatic resource management
Around 50% of NetBeans users are building JavaSE applications, according to Mills, the visual editor tools for Swing continue to receive attention. NetBeans 7 adds a new visual editor, GridBag Customizer, to the tool.


A propos des cas d'utilisation
Quelle drôle d'espèce UMLienne que ces cas d'utilisation ! Avez-vous déjà essayé d'en dompter un ? Difficile à apprivoiser que cette bête là, vous ne trouvez pas ?
En fait, c'est comme tout, comme une passoire ; une fois qu'on a compris que ça servait à égoutter et pas comme couvre-chef, on arrive à s'en servir sans avoir l'air trop ridicule (car on est ridicule avec une passoire sur la tête, non ?).
Bon alors, ça sert à quoi les cas d'utilisation ?


Class diagram
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations or methods and the relationships between the classes.

The class diagram is the main building block in object oriented modelling. It is used both for general conceptual modelling of the systematics of the application, and for detailed modelling translating the models into programming code. The classes in a class diagram represent both the main objects and or interactions in the application and the objects to be programmed. In the class diagram these classes are represented with boxes which contain three parts.


The Entity-Control-Boundary Pattern
The Entity-Control-Boundary Pattern (ECB) is a variation of the Model-View-Controller Pattern.
Entity, Control, and Boundary are class stereotypes, but UML has some special icons to represent them.
  • Entities are objects representing system data: Customer, Transaction, Cart, etc.
  • Controllers are objects that mediate between boundaries and entities.
  • Boundaries are objects that interface with system actors: user interfaces, gateways, proxies, etc.


Red Hat prépare Ceylon, un nouveau langage pour la JVM
Le « buzz » de la semaine c'est bien sûr la diffusion d'une présentation (et de sa deuxième partie) que Gavin King a faite à Pékin lors de la QCon, où il révèle qu'il travaille pour Red Hat à un nouveau langage pour la JVM : Ceylon. Bien que Gavin ne prévoyait pas de parler officiellement du projet de son équipe aussi tôt, il a confirmé la nouvelle ; d'abord sur son blog, puis lors d'une interview pour InfoQ.
Alors de quoi s'agit-il ? La première chose à noter est que Gavin King se défend de vouloir créer le langage du futur pour la JVM ou un « Java Killer ». Il se dit d'ailleurs « fan apologétique » de Java et propose donc Ceylon comme un langage fortement inspiré de celui-ci, sans les frustrations qu'il occasionne. Les principales frustrations étant selon lui.
 


java.util.Objects class JDK 7
With new release of JDK 7, a lot of really useful features has been developed, some of them I have write off before in this blog (JSR 203 and JSR 166y). In this post I am going to talk about one new small enhancement. This new feature is the
addition of java.util.Objects class. This class is similar to java.util.Arrays or java.util.Collections but for objects instead of arrays or collections. This class offers nine methods grouped by four groups: equality, hashing, nullables, and toString. Let's examine all of them.


100% Code Coverage!
The basis of this article is a sequences of tweets betwen me and M. Robert Martin, on April 8th 2011:
  • 1. If you have 100% coverage you don't know if your system works, but you _do_ know that every line you wrote does what you thought it should.
  • 2. @unclebobmartin : 100% code coverage doesn't achieve anything, save making you safer while nothing could be further from the truth.
  • 3. @nicolas_frankel : 100% code coverage isn't an achievement, it!s a minimum requirement. If you write a line of code, you!d better test it.
  • 4. @unclebobmartin : I can get 100% code coverage and test nothing because if have no assert. Stop making coverage a goal, it's only a way!

Aucun commentaire: