mardi 2 août 2011

Language Implementation Patterns




Ce livre présente différents patrons utilisés pour l'interprétation, analyse et la traduction de langage de programmation. Le livre utiliser ANTLR afin d'aller à l'essentiel et réduire la complexité. Les différentes étapes de la syntaxe du langage à l'exécutable sont passées en revue.

La première partie est consacrer au parsing le langage différente technique sont présenté tel que "backtracking, memoizin, predicated"... La deuxième partie consiste à analyser ce qui a été lu. La troisième partie est liée à la création d'interpréteur (haut niveau et bytecode). La dernière partie consiste à traduire à un langage à un autre.

Ce livre permettra à celui qui veut créer un langage de mieux décerner le patron qu'il pourra utiliser. Certains patrons sont plus adaptés à certains types de syntaxe. Le lecteur pourra avoir une idée pour implémenter un interpréteur pour un langage dynamique.

La traduction d'un langage à un autre permet grâce à l'exemple d'avoir une meilleure idée de la façon de faire pour un langage plus complexe.

J'ai trouvé que les explications n'étaient pas toujours claires et manquaient d'exemple réellement concret. Néanmoins, il constitue une excellente entrée pour quiconque veut implémenter un langage de programmation.

Peu de livres présentent d'une façon si épurée autant de concept, ce livre fait moins de 400 pages. La concurrence fait souvent plus du double ou triple et est axé trop souvent sur la théorie.

C'est un livre à compléter par un livre plus axé sur la pratique.

jeudi 14 avril 2011

97 Things Every Programmer Should Know




Ce livre est composé de 97 bonnes pratiques que tout développeur devrait connaître. Les astuces sont présentées par des programmeurs expérimentés. Elles sont courtes, mais précises.

 Ce n'est pas pas nécessairement des trucs sur la façon de coder, mais bien des idéologies à mettre en place afin d'arriver à produire du meilleur code, avoir un esprit plus rigoureux qui permettra de résoudre un problème donné de façon plus optimale.

Ce ramassis d'astuces permettra à quiconque du débutant à l'expert de parfaire ses connaissances dans l'art du développement. Au lieu de prendre des conseils à droite et à gauche et qui prendrait plusieurs années, ici on a l'essentiel qui est condensé.

Par exemple, on y dit qu'il est est important de bien maitriser son ide, savoir estimer, améliorer son code en enlevant le superflu. Ce livre présente plusieurs facettes du génie logiciel.
C'est un livre à posséder et à relire.

jeudi 16 septembre 2010

Comment trouver un fichier?


Comment trouver un fichier?

Il existe quelques façon pour arriver à trouver un fichier.
find -name *.txt

tout les fichier de type txt dans le répertoire courant
find / -name *.txt

Il est possible de cherche un bout de texte dans plusieurs fichier. Par exemple, si nous désirons chercher la chaîne: allo dans tous les fichiers qu'on a:
grep -n allo *

si l'outils locate ou slocate est installé vous obtiendrez un résultat beaucoup plus rapidement
locate nom_fichier

Il faut faire un updatedb de temps à autre afin de mettre la bd à jour.
updatedb

L'environnement graphique Kde possède Nepomuk. Cet outil apporte les briques au système pour gérer les méta-données des fichiers. Les données sont reliés entre elle. Il est alors possible de chercher par exemple les photos prises au Danemark ou bien la musique de type rock.

mardi 2 mars 2010

Les cahiers du programmeur Swing



Ce livre aborde plusieurs aspects du génie logiciel: patron, uml, test, outils de gestion du code. L'approche de l'auteur consiste à montrer par l'exemple est excellente. L'auteur explique différentes étapes pour la création d'un logiciel.

L'application développé est un logiciel d'architecture et représente bien une application réel et non une application bidon. Des annotations sont omniprésentes dans ce livre afin de clarifier certains points.

Par exemple les différences en Swing et SWT. En plus d'apprendre différent concept, l'auteur explique comment utiliser les composants JTree, JTable. L'api swing y est bien présenté. Le patron MVC est employé. Il est plutôt rare d'avoir un exemple aussi complet qui utilise ce patron.

Ce livre permettra aussi de mieux découper un projet. Le livre utilise une approche XP, comme dans un vrai projet. Certaine personne se pose des questions, à partir de ça , une certaine façon de faire est utilisé. Par la suite, il est montré si cette façon était bonne ou mauvaise.

Cet un livre qui montrer les bonnes approches pour développer un système informatique. Ce livre n'a pas d'équivalent. Enfin un livre qui combine la théorie à la pratique.

samedi 23 janvier 2010

Open ModelSphere


Open ModelSphere

Open ModelSphere est un outil de modélisation de données, de processus et UML. Il s'apparente à PowerDesigner. Il supporte divers diagramme UML, processus d'affaire, de notation au niveau de la modèlisation. La génération de code Sql supporte la majeur partie des bases de donné, il est aussi possible de faire de la rétro-ingénierie. Un outil très complèt sous licence libre.


Modèle de donnée

Le mcd, mld et les mdp sont géré par ce programme.

Mcd

Seul la notation entité/relation (merise) est supporté.

Mld

La notation merise, Datarun, information de génération (I/E), information de génération +, Structure de donnée logique, UML.

Mpd

Un scrip SQL peut être créé pour ses bases de données: Db2, DBase, HSQLDB, Informix, Ingre, Interbase, MSAccess, MySQL, Oracle, Parados, Progredss, MS Sql Server, SyBase.
Il est possible de passé d'un Mcd à un Mld et à un Mpd.

Rétro-ingénierie

À l'aide d'une base de donnée, il est possible de généré un modèle de donnée.

Processus d'affaire

Les notations suivantes sont gérés: Datarun, Gane Sarson, Merise, P+, Ward-Mellor, Yourdon-Demarco, Cycle de vie des objets.
Le diagramme ci-dessous utilise la notation Gane Sarson



Open ModelSphere, supporte la décomposition de processus. Il est donc possible de définir un processus à très haut niveau et de le décomposer en plusieurs autres afin d'arrivé à un niveau plus spécialisé. L'inverse peut aussi être fait.

UML

Les diagramme de classe, paquetage, composant, déploiement, cas d'utilisation, séquence, collaboration, état et activité sont géré. La génération de code vers Java et c# sont en béta. Il est même possible de générer un modèle de donnée.

Développement

L'architecture du logiciel permet d'étendre ses fonctionnalités via des plugins. Il est possible de supporter une nouvelle base de donnée. De générer convertir un élement x en y, de valider des éléments... Il est possible d'importer et d'exporter en XML.

Nous avons pu voir quelques fonctionnalités de ce système. Elles sont très nombreuses et pourra satisfaire l'utilisateur le plus exigent. Si vous utilisez Windesign ou PowerDesigner, vous apprécirez à coup sûr ce logiciel. Il est entièrement gratuit, essayez le.

mardi 29 décembre 2009

Le développement de systèmes d'information




Cet ouvrage met l'emphase sur l'étape d'analyse du système. Des méthodes sont présentées afin d'améliorer les processus d'affaire et de développement du système. Les méthodes employés peuvent être vraiment utile, même si je trouve qu'elles sont souvent sous-utilisés.
Elles prennent tous son sens pour modéliser les processus d'affaires afin de mieux les comprendre et les optimiser.

Plusieurs méthodes pouvant être utilisées par les analystes: étude préliminaire, analyse de besoin, modélisation, normalisation des données... Ce livre permet de bien débuter dans l'analyse des systèmes. De mauvais processus occasionnent un système mal adapté au besoin du client. Le livre commence par présenter des façons de bien analyser les processus existants, les améliorer et créer un système. Beaucoup d'exemples complètent les concepts présentés dans le livre. Les méthodes de travail présentées dans ce livre devraient être appréciées par quiconque devant développer un système.

Le genre de méthodes employés est très intéressante pour les systèmes de gestions.

C'est un livre à livre pour ceux qui veulent améliorer leur analyse informatique. Il m'est jamais été donné d'avoir autant d'exemple sur cette notion dans un livre

samedi 12 décembre 2009

Jouer sous linux


Jouer sous linux

Souvent, linux est pointé du doight lorsqu'il sagit de jeux. Il ne serait pas possible de jouer. Certe, il y a moins de jeux disponible que sous Windows, il reste que des progrès ont été fait. Il y a de plus en plus de jeux propriétaire qui sorte sans compter les jeux libre. La qualité des jeux libre s'améliore sans cesse, mais pour certain ce n'ai pas assez.
Il existe différentes façons de jouer à des jeux conçus pour Windows sous Linux.

Wine

C'est un logiciel capable d'exécuter des applications Windows sous linux. Il y a aucune émulation. Grâce à ce programme il est possible de jouer à divers jeux propriétaire. Leur site liste divers logiciel, jeux qu'il est possible d'utiliser. Il n'est pas toujours évident d'arriver à faire fonctionner un logiciel. Il peut-être nécessaire de mettre les mains dans le caffouis, ce qui n'est pas donné à tout le monde. Ce logiciel est libre et gratuit.

PlayOnLinux

Ce logiciel utilise wine en interne, il permet de grandement facilité l'installation et l'exécution de logiciel et jeux sous linux. Ce logiciel est libre et gratuit.

Codeweavers

Ce logiciel est propriétaire, il utilise lui aussi wine. Il possède tout comme PlayOnLinux, un outils pour rendre l'installation et l'exécution de logicie plus simple.

Cedega

Ce logiciel est propriétaire, il utilise lui aussi wine. Il possède des outils semblabe à Codeweavers . Il est possible de payer par mois.

Machine virtuel

Les machines virtuelles permettent d'exécuter directement Windows. Il existe en autre Vmware et Virtual Box. Il est possible d'activer la 3d. Néanmoins, on se retrouve avec un système entier à charger sous linux ce qui diminue les performances. Un tutoriel est disponible sur ce site pour l'emploi de vmware.
Si vous ne voulez pas garder Windows en double démarrage, mais que vous voulez tout de même jouer à des jeux propriétaires n'existant pas sous linux, il vous reste à choisir une solution parmi-celle cité plus haut. La solution sans frais la plus aisé est d'utilisé PlayOnLinux, si le jeux ne fonctionne pas, vous pouvez tenter d'utiliser les solutions payantes. Elles offrent une démo de leur produit.

Liste de jeux (libre et propriétaire) non complète disponible sous linux

Nom du jeux License Type de jeux Site web
Blob Wars GPL Action http://www.parallelrealities.co.uk
Lugaru Propriétaire Action http://www.wolfire.com/lugaru
OpenLieroX GPL Action worm http://www.openlierox.net/
Boh Propriétaire Action, rétro http://www.bohthegame.com/
Alien Blaster GPL Arcade http://www.schwardtnet.de/alienblaster/
Battle Tanks GPL Arcade http://btanks.sourceforge.net/
Briquolo GPL Arcade http://briquolo.free.fr/fr/infos.html
Chromium B.S.U GPL Arcade http://chromium-bsu.sourceforge.net/
Mole invasion GPL Arcade http://moleinvasion.tuxfamily.org/
Neverball GPL Arcade http://neverball.org/
Ri-li GPL Arcade http://ri-li.sourceforge.net/download.html
Secret Maryo Chronicle GPL Arcade http://www.secretmaryo.org/
Vega Strike GPL Arcade http://vegastrike.sourceforge.net/
Wormux GPL Arcade http://www.wormux.org/phpboost/news/news.php
XMoto GPL Arcade http://xmoto.sourceforge.net/
ManiaDrive GPL Arcade voiture http://maniadrive.raydium.org/
TORCS GPL Arcade voiture http://torcs.sourceforge.net/index.php
I Have No Tomatoes GPL Arcarde http://tomatoes.sourceforge.net/
Briskola GPL Carte http://www.briskola.net/
OpenMortal GPL Combat http://openmortal.sourceforge.net/
Alien Arena Propriétaire FPS http://alienenforcer.com/alienarena/rpa/
AssaultCube Zlib, Propriétaire FPS http://assault.cubers.net
Blood Frontier ZLIB FPS http://www.bloodfrontier.com/
Hexen II GPL FPS http://uhexen2.sourceforge.net/
Nexuiz GPL FPS http://alientrap.org/nexuiz/
Sauerbraten GPL FPS http://sauerbraten.org/
Tremulous GPL FPS http://tremulous.net/
Warsow GPL, Propriétaire FPS cartoon http://www.warsow.net/
Vendetta online Propriétaire Jeux combat aérien MMORPG http://www.vendetta-online.com/
Brunkkon Propriétaire Puzzle http://brukkon-puzzle-game.com/
Fish Fillets NG GPL Puzzle http://fillets.sourceforge.net/
Kiki the nano bot GPL Puzzle http://kiki.sourceforge.net/
Quantz Propriétaire Puzzle http://www.gamerizon.com/
Sacred Gold Propriétaire RPG http://linuxgamepublishing.com/info.php?id=37
Alien Invasion GPL RTS http://ufoai.sourceforge.net/
Glest GPL RTS http://glest.org/en/index.php
Globulation 2 GPL RTS http://globulation2.org
Spring GPL RTS http://springrts.com/
Warzone2100 GPL RTS http://wz2100.net/
FlightGear GPL Simulateur de vol http://www.flightgear.org/Downloads/
LinCity GPL Simulation http://lincity-ng.berlios.de/
Widelands GPL Simulation http://xoops.widelands.org/
Slam Soccer 2006 GPL Sport http://www.bolzplatz2006.de/fr/index.php
Neverputt GPL Sport mini-golf http://neverball.org/
Mad Skills Motocross Propriétaire Sport motocross http://www.madskillsmotocross.com/
Battle for Wesnoth GPL Stratégie http://www.wesnoth.org/
Linéo GPL Stratégie http://www.natsimhan.com/Lineo/
OpenTtd GPL Stratégie http://www.openttd.org/en/news/110

Site web

Jeux Libres

Ce site liste plusieurs jeux disponible sous linux il donne beaucoup d'information sur les jeux. L'avis des gens est disponible.

Achat de jeux: tuxgames

Ce site liste divers jeux disponible sous linux qu'il est possible d'acheter.
Quelques moyens de jouer a des jeux propriétaire sous linux ont été énoncé.