Architecture Logicielle & Développement

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, mai 3 2012

Ma Pandaboard ES est arrivée !

Bon, restons honnête, je l'ai reçu il y a une dizaine de jours. Toujours est-il qu'elle est là, toute neuve, avec son alimentation 5V, 4A, prête à faire toute ce que je lui demande. Pour ceux qui se demandent ce qu'est une Pandaboard (et qui n'aurait pas eu le courage de faire un tour sur le site correspondant, voici sa présentation en quelques mots :

  • CPU ARM dual core à 1,2 GHz (pour les puristes : deux coeurs Cortex-A9, deux coeurs Cortex-M3 et un coeur DSP).
  • carte graphique intégrée (PowerVR SGX540[1]).
  • 1 Go de RAM
  • 2 ports USB, 1 port ethernet (carte ethernet USB)
  • sortie HDMI
  • 2 prises jack (haut parleur + micro)
  • sortie console (RS232)

Dit comme ça, ça parait peu impressionnant. Mais en même temps, elle ne coûte que 170,00€ hors taxe, et le processeur utilisé (OMAP4) a des petits secrets très intéressant.

Note

[1] ce chipset ne dispose pas de driver entièrement libre à l'heure actuelle ; un projet qui va dans ce sens a été lancé l'année dernière par la FSF ; voir cette liste de projets prioritaires

Lire la suite...

lundi, avril 30 2012

Valeurs et entités : les deux grandes classes d'objets

En programmation objet, on manipule différents types d'objets. Certains obtiennent naturellement un constructeur par copie, d'autres non. Certains sont utilisés via des pointeurs, tandis que d'autres sont simplement copiés ici et là au gré des besoins. En bref, et même si vous ne vous en êtes pas encore rendu compte, certains de vos objets ont une sémantique de valeur, tandis que d'autres ont une sémantique d'entité.

Le but de cette article n'est pas de vous apprendre aujourd'hui à différencier une valeur d'une entité, mais de vous faire toucher du doigt ces deux grandes classes d'objets que tout oppose.

Lire la suite...

dimanche, mars 11 2012

Optimisation : de la prédiction des branchements

Ne me demandez pas pourquoi j'écris aujourd'hui sur un sujet qui semble si éloigné de mon domaine de prédilection, l'architecture logicielle et le code haut niveau (je vous rassure, ce n'est pas mon seul domaine de compétence). Je n'en ai pas la moindre idée. C'est peut-être le fait d'avoir ce manuel d'optimisation des processeurs Intel sur mon étagère, bien en face de mes yeux. Ou parce que c'est un sujet dont nous avons discuté récemment au travail. Ou parce que ça traînait dans ma tête depuis un petit moment déjà. Ou parce que j'ai lu récemment sur #AltDevBlogADay un post sur un sujet proche.

Quoi qu'il en soit, aujourd'hui je voulais vous parler des branchements que vous ajoutez dans votre code.

Un petit warning avant de continuer : comprendre ce billet pourra nécessiter de votre part une petite mise à niveau sur certains concepts, et notamment sur l'assembleur x86. Connaître le processus de compilation lié à votre langage sera un plus, et avoir une expérience en lien avec le code assembleur généré par le compilateur va probablement vous aider. Enfin, des connaissances sur l'architecture des processeurs (et notamment sur l'architecture des processeurs x86) va probablement simplifier un peu les détails de ce billet.

Lire la suite...

jeudi, mars 8 2012

libroxsd : lightweight XSD validation

Today is the day I chose to create the libroxsd open source project.

By itself, the sentence does not give you mush details. So here are a few of them.

Lire la suite...

mercredi, janvier 18 2012

Petit rappel, parce que c'est important

(où je rappelle à tous mes amis lecteurs que c'est ma faute si leur commentaire n'apparait pas directement dès l'envoi, et où j'en explique la raison).

Lire la suite...

lundi, janvier 2 2012

2012 : bienvenue à la fin du cycle du calendrier Maya !

Non, 2012 n'annonce pas la fin du monde. Enfin, je n'aimerais pas : j'ai encore beaucoup de choses à faire avant que le monde n'explose, et j'ai quand même besoin de temps pour le faire. 2012 annonce principalement la fin de l'année 2011, si on réflechit bien (mais pas trop). Et en 2011, vous avez été nombreux à venir me lire. Si si.

Lire la suite...

mercredi, octobre 19 2011

Les nouveautés du trimestre

Comme si j'ajoutais de nouvelles fonctionnalités à ce blog chaque trimestre... N'importe quoi, ce titre.

Lire la suite...

jeudi, octobre 13 2011

Vérifier si une fenêtre est recouverte par d'autre fenêtres (Win32 API)

Ce code, très court, vérifie si une fenêtre contrôlée par un HWND est couverte par une ou plusieurs autres fenêtres de la même application.

Lire la suite...

lundi, octobre 10 2011

Dangers et pièges des systèmes de suivi des références

On conçoit aisément qu'il est très difficile de bien concevoir une application ou une libraire : cela demande des connaissances pointues en design ainsi qu'une imagination débordante. Par contre, il est très facile de mal faire : il suffit de se laisser appeler par les sirènes des différents pièges qui, nonchalamment, s'installent sur notre route.

Ce billet traite de l'un de ces pièges : la notion de propriété des objets dans un programme.

Je sais, vous avez déjà lu cette introduction récemment...

Lire la suite...

lundi, octobre 3 2011

Spam, again

Bonjours chers lecteurs,

En raison d'un spam qui s'en va croissant (aujourd'hui, j'ai du supprimer 51 commentaires en anglais), je suis dans l’obligation de trouver une parade rapide et efficace. Dans l'attente d'une solution correcte, j'ai opté pour une simple modération à priori des commentaires. Doctlear 2 (v2.3.1) est censé supporter de multiples options anti-spam, mais je dois admettre que le système ne fonctionne pas aussi bien que souhaité, puisque plus de 80% des spams passent quand même dans les commentaires.

Du coup, ne vous alarmez pas si vos commentaires ne s'affichent pas tout de suite - ils sont simplement en attente, le temps que je les valide :)

Si vous avez une idée ou une solution à proposer, n'hésitez pas !

- page 1 de 19