Le compte-rendu ecrit de la seance d'hier (mercredi 17) de l'assemblee nationale est disponible depuis aujourd'hui ! On peut quand meme saluer l'exceptionnelle reactivite de cette institution !
OK, je sais qu'ils en ont les moyens, vu leur budget de fonctionnement, mais c'est quand meme du rapide. je sais pas pour vous, mais des compte-rendus de reunion, ca m'a toujours copieusement fait ch... a rediger !
Ca on en est loin encore... les radios vivent tres bien de la redevance (donc directement de notre ble) et de la pub (donc indirectement de notre ble). Le systeme marche tres bien comme ca et les radios ont tout interet a ce que ca dure le plus longtems possibles. Moi je me ferais pas trop d'inquietude pour eux...
Je ne sais pas s'il y a encore une volonte politique aussi negative. Ce que je crois, c'est que l'immense majorite des problemes qu'on rencontre aujourd'hui (desertification des campagnes, pollution, transports, banlieues, emploi) decoule directement de la politique d'amenagement du territoire menee a dans les annees 70. Exemple: on a construit les cites loin des lieux de travail, d'ou pb de transport et boom des hypermerches. On a lache les campagnes, avec les consequences qu'on connait.
A cette epoque, il y a *clairement* eu des responsables de la merde dans laquelle on est aujourd'hui. Maintenant, c'est plus du laisser-aller. Par exemple, pour tous les problemes de transport, plutot que d'imaginer d'autres solutions, on mesure la densite de flux (par exemple automobile) et on extrapole sur 5 ans en ajoutant un point a la courbe, comme au college...
Mais pour autant, le teletravail --qui passe en grande partie par l'acces a internet, represente un formidable espoir, et j'y crois vraiment, la news resume bien la problematique ; je suis peut-etre optimiste mais j'y crois dur comme fer !!
Pour avoir un reel probleme grave, il faudrait que les 3 rendent l'ame en même temps ... Ce qui est encore moins probable que le fait que les 2 alims sur ton serveur compaq tombent en panne en même temps
Sans avoir une grande experience la-dessus, je ne serais pas aussi optimiste. Bien sur, il est peu probable que deux disques durs tombent en panne en meme temps.
Par contre, les serveurs ont parfois des defauts qu'on rencontre sur toute une serie de machines. Il suffit de tomber sur la mauvaise serie et paf, tu te retrouves a la rue avec tes 3 serveurs. C'est du vecu (defaut de l'alim)
Donc je pense que pour ceux qui veulent de la fiabilite a 100% il faut vraiment y mettre le prix. Si tu acceptes un risque minime, alors le probleme n'est plus le meme...
mon ordi ne s'eteind pas aussi facilement ! apres le demontage de tous les systemes de fichiers, linux lance tente bien d'eteindre le bousin (je reste vague, me suis pas interesse au detail) et echoue miserablement, j'obtiens une suite interminable de chiffres.
Quelqu'un a une idee ?
eul'Bob
Sauf que ce sont les maisons de disques qui imposent leurs lois, les artistes n'ayant pas leur mot à dire. À moins d'être ultra-connu (et en France, ça concerne moins d'une vingtaine de personnes), un artiste se fera vite écraser par le système[...]
Sinon le titre de la news (de linuxfr) est pas top. Il donne l'impression qu'on ne peut pas critiquer Mozilla comme-ci c'était la perfection ce qu'il n'est pas encore ;)
Effectivement, il y a des critiques de Mozilla tres constructives, comme le 'top ten usability problems in Mozilla' (http://mpt.phrasewise.com/stories/storyReader$35(...)) par Matthew Thomas, qui est il est vrai un hacker de Mozilla.
Extrait du Projet de loi sur la société de linformation (loi en preparation, ayant deja fait l'objet de discussions a l'assemblee nationale):
TITRE V
DE LA SECURITE DANS LA SOCIETE DE LINFORMATION
[...]
CHAPITRE II
Liberté dutilisation des moyens et des prestations de cryptologie
[...]
Section 1
Utilisation, fourniture, transfert, importation
et exportation de moyens de cryptologie
Article 37
I. - Lutilisation des moyens de cryptologie est libre.
II. - La fourniture, le transfert depuis ou vers un Etat membre de la Communauté européenne, l'importation et l'exportation des moyens de cryptologie dont la seule fonction cryptologique est une fonction dauthentification ou de contrôle dintégrité, notamment à des fins de signature électronique, sont libres.
Je te recommande vivement la lecture du reste du projet de loi, ca te donnera un indice pour savoir qui n'a rien compris dans l'histoire :-|
Une fabrique de création (ou factory) est une classe [...]
Non, justement. Une fabrique définit une interface pour la création
d'objets, pas une classe.
Singleton
Un singleton sert à contrôler le nombre d'instances d'une classe présent à
un moment donné. C'est souvent trés pratique pour les classes sans état et
effectuant toujours les mêmes traitements.
N'importe quoi. Un singleton garantit qu'une classe n'a qu'une seule
instance. Une classe sans état est une classe qu'on n'instancie pas
(modifiant static en java).
Le singleton limite le nombre d'instance en mémoire
Et comment, puisqu'il ne doit y en avoir qu'une.
Bon, je m'arrête là pour les erreurs.
D'autre part, l'article comme beaucoup d'autres présente une liste de modèles de
conception ; pour beaucoup d'entre eux, l'intention de ce modèle n'est pas
présentée et on est réduit à un exemple de code. Mais les modèles de conception
ne se réduisent pas à une recette de cuisine ! Il ne s'agit pas de dire qu'en
réfléchissant un peu on peut programmer proprement ! Il s'agit d'expliquer en
quoi un modèle peut répondre à une problématique, et en quoi la problématique et
le modèle sont universels. Si l'exemple de code est une aide indispensable, il
ne constitue pas à lui seul la description du modèle sous-jacent.
Voilà mon conseil, qui peut ressembler à une attaque directe de l'auteur de
l'article, mais qu'il faut simplement interpréter comme un cri du coeur.
Le gang des quatre présente dans leur livre les modèles de conception de façon
plus claire qu'aucun des articles que j'ai pu lire auparavant. Non seulement
parce qu'ils en sont les pères, mais parce que leur livre n'a pas vieilli depuis
1995. C'est toujours une référence, à tel point que je la considère comme une
des rares références indispensables pour un développeur, disons "orienté objet".
Je ne suis sûrement pas le seul, puisqu'il est par exemple une des deux lectures
imposées pour la certification Sun, avec les Java Blueprints.
Plutôt que d'écrire un article présentant mal --à mon avis-- les modèles de
conception (c'est ce genre d'articles qui m'a fait perdre 1 an et demi, d'où ma
réaction), Alexandre Brillant aurait été plus avisé de décrire leur importance
et d'indiquer en référence le livre du GoF. Dont acte.
eul'Bob
Références:
-----------
[1] Design Patterns - Elements of reusable object-oriented software
E. Gamma, R. Helm, R. Johnson, J. Vlissides
Addison-Wesley, 1995
[2] Traduction française, des mêmes auteurs:
Design Patterns - Catalogue de modèles de conception réutilisables
Vuibert, 1999
Alexandre a eu l'excellente idée d'aborder un sujet extrèmement important. Avant
de me remettre à la physique, j'ai fait 2 ans d'informatique en SSII, et
j'estime que les design patterns sont les connaissances en informatique les
plus utiles que j'aie pu acquérir durant cette période.
Mais j'aurais tellement aimé les découvrir plus tôt ! Personne autour de moi ne
semblait les mettre en pratique, et les quelques sites ou articles que j'ai pu
trouver à l'époque ne m'ont jamais convaincu. L'univers de l'informatique est
rempli de gens qui vous proposent d'adopter leurs méthodes de conception et de
développement parce qu'elles ont fonctionné pour eux. Il n'y a pas si longtemps
par exemple, on ne parlait que de RAD (développement rapide d'applications). Ca
marchait dans certains cas, ca devait donc être la solution universelle !
Aujourd'hui, un vrai programmeur ne jure que par l'eXtreme Programming...peu
importe. La grande difficulté dans cette jungle est de savoir distinguer parmi
les expériences vécues, celles qui nous paraissent adaptées à nos besoins de
celles qui sont trop particulières. Et à l'époque, j'ai cru que les design
patterns n'étaient qu'une énième recette de cuisine, sûrement intéressante,
mais pas plus ni moins que les autres.
C'était une erreur. Et j'ai peur que beaucoup d'autres la commettent également.
Alors, même si je crains de ne pas faire plaisir à Alexandre, je ne vous
recommande pas la lecture de son article pour vous familiariser avec les
modèles de conception. Justement parce que c'est ce genre d'articles qui
m'a caché l'importance inestimable des modèles de conception.
Il contient d'abord de grosses erreurs:
Quelques rappels sur la conception objet
Certaines classes ne sont pas complètement construites afin d'obliger les
sous-classes à effectuer une surcharge. On parle alors de classes abstraites ou
d'interfaces.L'interface est employée en Java pour compenser
l'interdication d'utiliser l'héritage multiple (héritage de plusieurs classes),
interdication qui n'apparaît pas en C++.
Ici deux erreurs extrêmement graves. D'abord, le concept d'interface est tout à
fait distinct de celui de classe abstraite. Une classe abstraite permet la
factorisation de code, ni plus, ni moins. Une interface, c'est l'ensemble des
requêtes auxquelles un objet peut fournir une réponse.
Ensuite, l'auteur confond malheureusement héritage de classe et héritage
d'interface. Une interface est une notion de programmation objet, à ce niveau de
la discussion, on n'a pas à parler de java ou de c++. L'héritage de classes
permet le partage de code. L'héritage d'interface décrit comment un objet peut
être utilisé à la place d'un autre.
Je ne saurais trop vous conseiller d'oublier ces "rappels" et de préférer des
lectures plus sérieuses à ce sujet.
Définition des design patterns
Les designs patterns ne sont pas rééllement normalisés
Au contraire. Les modèles de conception sont justement l'expression
du bon sens de la conception sous forme de modèles standard. Quel standard ?
celui du livre "Design Patterns" écrit par un groupe d'auteurs mondialement
connu comme le "Gang des quatre" (Gang of Four, ou GoF)[1][2]. Ce sont les
pères des modèles de conception. Leur livre, paru en 1995, présente les 23
modèles de conception qui sont devenus un standard de fait. Le JDK a
ainsi été construit en réutilisant fidèlement ces modèles. Ce sont bien
évidemment les mêmes que vous retrouvez dans l'article d'Alexandre Brillant qui
malheureusement ne cite pas cette référence.
Les design patterns ou modèles de conception décrivent des organisations
pratiques de classes objets. Ces organisations résultent souvent d'une
conception empirique, le concepteur objet tente de faciliter la réutilisation et
la maintenance du code
Outre la première phrase, dont je ne comprends absolument pas le sens, on trouve
encore une erreur grave. Les modèles de conception ne concernent pas du tout le
réutilisation de code. La réutilisation de code est très difficile et n'est
possible que dans des occasions bien précises. Par exemple, quelle bout de code
d'une application web écrite en java pourrait-on réutiliser dans une application
client écrite en c++ ?
Les modèles de conception concernent la réutilisation de méthodes de
conception ; ca n'a rien à voir.
il y a quand même pas mal de choses en plus dans seminar
Tiens, ca m'interesse ca, tu pourrais nous resumer ce que seminar offre de plus vs Prosper ?
Autre question, est-il facile de goupiller des styles de transparents en seminar comme les packages Prosper ?
(a priori je dirais non, c'est meme pour ca qu'est ne Prosper il me semble...)
ca a l'air assez excellent comme truc
mouais, c'est le moins qu'on puisse dire. A mon avis les deux seuls points faibles de cette solution par rapport aux applications bureautiques sont:
Les tableaux. Il faut être _tres_ motivé pour faire de beaux tableaux en couleur avec latex. un exemple simple: comment centrer du texte verticalement dans une cellule, hmmm ?
Les polices de caracteres dans les packages Prosper. Pas facile de modifier un package Prosper pour augmenter la taille des caracteres d'un style, par exemple.
Est ce que c'est facile a utiliser ?
Ben justement, il suffit de l'utiliser... tu verras, la prise en main est immediate !
Détails: j'ai cru que j'allais exploser mon clavier tellement j'ai eu de problemes:
Un gros plantage apres 2h de boulot (la je ne peux m'en prendre qu'a moi, il fallait fair des sauvegardes régulieres
L'impossibilité de sauvegarder mon travail apres avoir cree un tableau d'une page
Gros problemes d'impression, le code postscript généré par Impress n'est meme pas interpretable par ghostscript suivant les polices utilisees (ne me dites pas que j'ai ete trop exotique, windings est une police de base, d'ailleurs embarquee dans la plupart des imprimantes laser)
Je vous passe les couleurs infames a l'impression et la sortie BBox alors que j'avais configuré du A4
Une myriade d'autres problemes, par exemple l'impossibilite de se reservir de styles d'un transparent a l'autre, etc.
Donc pour moi la conclusion est simple: oui, faire des presentation en LaTeX avec prosper, ca marche. Tout simplement.
Pas besoin d'etre un gourou pour ca. En ce qui me concerne, je laisse les suites bureautiques aux autres, et je retourne a mon LaTeX sous vi :-|
J'avais retenu que ce qui prend du temps c'est de
mettre au point un compilateur efficace pour un
langage donné; Le simple fait que le
gcc, compilateur C sous le frontend GCC, soit encore amélioré malgré
son grand age prouve que ce n'est pas chose facile
et justifie a lui seul le choix d'un langage comme
le C.
Maintenant, est-ce que vous savez s'il existe une estimation
quantitative du degré d'optimisation
du code genere par les compilateurs de la distribution GCC ?
C'est une question tres vague, et qui depend enormement de
la plate-forme pour laquelle on compile, mais supposons
qu'on veuille ecrire un programme toto qui execute
une serie de taches t. Supposons en plus qu'on soit pote avec le
meilleur programmeur en assembleur sur i386, et que celui-ci
nous ait donne le listing du meilleur code assembleur possible ass
qui execute t.
On peut ecrire un programme qui execute t dans n'importe
quel langage. A priori, si je choisis d'ecrire mon programme en c,
je peux esperer que le code genere par gcc se rapprochera
tres pres de ass. Mais si je choisis par exemple objective-c,
y a-t-il un moyen de savoir en quoi le code genere par le compilateur objective-c de gnu
differera de ass ? Idem pour g++, gcj, etc...
Pour resumer, aussi vague la question soit-elle, est-ce qu'on peut avoir
une idee de l'efficacite relative du code genere par les compilateurs
de la distribution GCC ?
A+
Bob
--
desole, j'ai fini par lacher les accents, mais j'ai un clavier qwerty et les eacute and co ca me les brise menu...
> Il existe des alims sans ventilo, pour du AT ou ATX ? Et a quel prix ?
Pas à la connaissance de mon pote qui y a réfléchi depuis plus longtemps que moi. D'après lui, les causes de bruit étant multiples, il ne faut pas imaginer de solution miracle, mais plutot opter pour une série de choix raisonnés, et surtout cohérents entre eux. Par exemple, ca sert à rien d'acheter la super alim silencieuse si après tu montes 3 disques durs IBm qui sont réputés pour être bcp + bruyants que les quantum.
Si je suis bien son idée, pour l'instant la mode est encore à celui qui a les + grosses c^H ^W gros ventilos, passé cette mode, le marché offrira plus de solutions. Pour l'instant, plusieurs pistes:
- les solutions draconiennes, réservées aux bricoleurs, ex: démonter son alim, rallonger le câble et mettre l'alim sur sa fenêtre, ou encore changer soi-même le ventilo de son alim, prendre un ventilo 12V et l'alimenter en 24V
- les solutions consistant à remplacer graduellement son matos, et donc à acquérir un ensemble {carte mère, alim, ventilo cpu) permettant de faire varier le débt des 2 ventilos (alim et cpu) en fonction de la température. L'inconnue pour le gars qui est plutôt windozien: et linux là-dedans ??? Mon hypothèse: c'est le bios de la carte mère qui s'occupe de tout ca, non ?
Voilà. De mon côté, j'ai glané qqes lien pouvant peut-être d'intéresser ; en tout cas pour moi c'est un pb que j'ai décidé de bien prendre en compte avant de devenir mon hébergeur, aussi je peux te refiler mes infos au fur et à mesure de mes découvertes.
Je n'ai pas encore acheté le numéro mais je l'attendais avec impatience...mais quand j'ai vu le sommaire dans la news, j'ai eu une grosse déception (Argh !!): à mon avis, quand on installe un serveur chez soi (web/mail ou autre, purvu qu'il reste allumé en permanence), une grosse problématique est celle du bruit : en ce qui me concerne, mon ordi fait tellement de zinzin que ca m'ôte souvent l'envie de l'allumer...du coup, j'imagine encore moins un 2è PC chez moi allumé en permanence. Pour moi, et je sais que je ne suis pas le seul concerné, le bruit est le premier problème lié à l'hébergement maison. Pourquoi le magazine n'a pas abordé le sujet ? Pourquoi aussi peu d'articles en parlent ?
PS: Pour ceux qui habitent dans un 6 pièces - cuisine, évitez de me faire bisquer ;-)
...sachant que n'ai qu'une vague idée de la problématique de la journalisation d'un système de fichiers:
1. qu'est-ce qu'il ressortirait d'une comparaison à la louche entre reiserFS,ext3 et NTFS ?
2. j'ai testé récemment l'install d'une mdk8.1 avec le noyo d'origine (euh, je suis pas sur la bécane, mais à vue de nez un 2.4.3 ??), et pour la première fois en passant à reiserFS pour *toutes* mes partitions. J'ai eu de gros pb de temps de latence (peux pas en dire plus, j'avais vraiment pas le temps de chercher d'où ca venait). J'imagine naïvement qu'au premier reboot, il y a eu création du journal du filesystem de chaque partition (?) donc ca aurait pu être une explication, mais le problème a persisté bien après. J'ai refait l'install en choisissant cette fois ext3, et je n'ai pas eu ce problème. Y'en a qui peuvent trouver le diagnostic, après cette description à 2 balles ???!? (non, c'est pas un problème de swap, ca j'ai vérifié)
# dollars ou euros ?
Posté par bobert . En réponse à la dépêche Rachetons Blender. Évalué à 10.
Faudrait p'têt se décider : d'ici que la somme soit réunie, les deux monnaies ne seront probablement plus à parité.
eul'Bob
# ne laissez pas tomber Ikarios pour autant !!
Posté par bobert . En réponse à la dépêche Gare au voleur. Évalué à 10.
eul'Bob
# heu...
Posté par bobert . En réponse à la dépêche SOS Vie Privée. Évalué à 10.
Ben j'aimerais bien... mais comment on signe ? Y'a rien sur la page qui permette de le faire !!
[^] # incroyable !
Posté par bobert . En réponse à la dépêche LOPSI : une atteinte gravissime aux droits et aux libertés. Évalué à 1.
OK, je sais qu'ils en ont les moyens, vu leur budget de fonctionnement, mais c'est quand meme du rapide. je sais pas pour vous, mais des compte-rendus de reunion, ca m'a toujours copieusement fait ch... a rediger !
# tiens, puisqu'on parle de carte TV...
Posté par bobert . En réponse à la dépêche Sortie de Xawdecode 1.62. Évalué à 1.
eul'Bob
[^] # Re: Il y a quelque chose qui cloche
Posté par bobert . En réponse à la dépêche Musique en ligne: pas d'exception pour les extraits. Évalué à 7.
Ca on en est loin encore... les radios vivent tres bien de la redevance (donc directement de notre ble) et de la pub (donc indirectement de notre ble). Le systeme marche tres bien comme ca et les radios ont tout interet a ce que ca dure le plus longtems possibles. Moi je me ferais pas trop d'inquietude pour eux...
[^] # Re: Hors sujet ?
Posté par bobert . En réponse à la dépêche Microsoft s'exhibe librement. Évalué à 3.
---
La vache qui rit
[^] # Re: Desert
Posté par bobert . En réponse à la dépêche Boucle internet radio rurale. Évalué à 10.
A cette epoque, il y a *clairement* eu des responsables de la merde dans laquelle on est aujourd'hui. Maintenant, c'est plus du laisser-aller. Par exemple, pour tous les problemes de transport, plutot que d'imaginer d'autres solutions, on mesure la densite de flux (par exemple automobile) et on extrapole sur 5 ans en ajoutant un point a la courbe, comme au college...
Mais pour autant, le teletravail --qui passe en grande partie par l'acces a internet, represente un formidable espoir, et j'y crois vraiment, la news resume bien la problematique ; je suis peut-etre optimiste mais j'y crois dur comme fer !!
[^] # pas sur...
Posté par bobert . En réponse à la dépêche Oracle tombe dans les bras de Linux. Évalué à 10.
Sans avoir une grande experience la-dessus, je ne serais pas aussi optimiste. Bien sur, il est peu probable que deux disques durs tombent en panne en meme temps.
Par contre, les serveurs ont parfois des defauts qu'on rencontre sur toute une serie de machines. Il suffit de tomber sur la mauvaise serie et paf, tu te retrouves a la rue avec tes 3 serveurs. C'est du vecu (defaut de l'alim)
Donc je pense que pour ceux qui veulent de la fiabilite a 100% il faut vraiment y mettre le prix. Si tu acceptes un risque minime, alors le probleme n'est plus le meme...
eul'Bob
# j'aimerais bien l'eteindre automatiquement comme ca mais...
Posté par bobert . En réponse au message [Terminal] Programmer l'arret.. Évalué à 1.
# Moderos: qui est Sherwin-Williams ? on n'est pas sense le savoir !!
Posté par bobert . En réponse à la dépêche Sherwin-Williams opte pour loffre dinfrastructure TI dIBM. Évalué à -1.
[^] # Re: Mais qui est dans son bon droit ????
Posté par bobert . En réponse à la dépêche chat avec Souad Massi. Évalué à 3.
On peut d'ailleurs faire le parallèle avec l'édition du livre, il se passe *exactement* la même chose...
Voir par exemple http://moire4.u-strasbg.fr/ideas/avavert.htm(...)
(le site a l'air down ce matin mais jetez un coup d'oeil au cache de google, ca vaut le coup:
http://www.google.fr/search?q=cache:TqFMM9uJr7cC:moire4.u-strasbg.f(...)
)
eul'Bob
# Pourquoi IBM aime tant Linux
Posté par bobert . En réponse à la dépêche IBM ouvre un centre de compétences Linux à New York. Évalué à 10.
Reality: allez voir vous-memes....
http://www.joelonsoftware.com/articles/StrategyLetterV.html(...)
Un avis interessant...
eul'Bob
[^] # Re: Venant d'une filiale de J6M c'est normal
Posté par bobert . En réponse à la dépêche Certains osent critiquer Mozilla. Évalué à 10.
Effectivement, il y a des critiques de Mozilla tres constructives, comme le 'top ten usability problems in Mozilla' (http://mpt.phrasewise.com/stories/storyReader$35(...)) par Matthew Thomas, qui est il est vrai un hacker de Mozilla.
[^] # Re: Renseigne-toi avant de dire des conneries
Posté par bobert . En réponse à la dépêche Inquiétude de l'Union Européenne à propos de « passport ». Évalué à 4.
Projet de loi sur la société de linformation:
http://legifrance.gouv.fr/html/actualite/actualite_legislative/prep(...)
[^] # Renseigne-toi avant de dire des conneries
Posté par bobert . En réponse à la dépêche Inquiétude de l'Union Européenne à propos de « passport ». Évalué à 5.
TITRE V
DE LA SECURITE DANS LA SOCIETE DE LINFORMATION
[...]
CHAPITRE II
Liberté dutilisation des moyens et des prestations de cryptologie
[...]
Section 1
Utilisation, fourniture, transfert, importation
et exportation de moyens de cryptologie
Article 37
I. - Lutilisation des moyens de cryptologie est libre.
II. - La fourniture, le transfert depuis ou vers un Etat membre de la Communauté européenne, l'importation et l'exportation des moyens de cryptologie dont la seule fonction cryptologique est une fonction dauthentification ou de contrôle dintégrité, notamment à des fins de signature électronique, sont libres.
Je te recommande vivement la lecture du reste du projet de loi, ca te donnera un indice pour savoir qui n'a rien compris dans l'histoire :-|
A+
eul'Bob
[^] # Hum... [seconde partie]
Posté par bobert . En réponse à la dépêche Comprendre les Design Patterns. Évalué à 10.
Une fabrique de création (ou factory) est une classe [...]
Non, justement. Une fabrique définit une interface pour la création
d'objets, pas une classe.
Singleton
Un singleton sert à contrôler le nombre d'instances d'une classe présent à
un moment donné. C'est souvent trés pratique pour les classes sans état et
effectuant toujours les mêmes traitements.
N'importe quoi. Un singleton garantit qu'une classe n'a qu'une seule
instance. Une classe sans état est une classe qu'on n'instancie pas
(modifiant static en java).
Le singleton limite le nombre d'instance en mémoire
Et comment, puisqu'il ne doit y en avoir qu'une.
Bon, je m'arrête là pour les erreurs.
D'autre part, l'article comme beaucoup d'autres présente une liste de modèles de
conception ; pour beaucoup d'entre eux, l'intention de ce modèle n'est pas
présentée et on est réduit à un exemple de code. Mais les modèles de conception
ne se réduisent pas à une recette de cuisine ! Il ne s'agit pas de dire qu'en
réfléchissant un peu on peut programmer proprement ! Il s'agit d'expliquer en
quoi un modèle peut répondre à une problématique, et en quoi la problématique et
le modèle sont universels. Si l'exemple de code est une aide indispensable, il
ne constitue pas à lui seul la description du modèle sous-jacent.
Voilà mon conseil, qui peut ressembler à une attaque directe de l'auteur de
l'article, mais qu'il faut simplement interpréter comme un cri du coeur.
Le gang des quatre présente dans leur livre les modèles de conception de façon
plus claire qu'aucun des articles que j'ai pu lire auparavant. Non seulement
parce qu'ils en sont les pères, mais parce que leur livre n'a pas vieilli depuis
1995. C'est toujours une référence, à tel point que je la considère comme une
des rares références indispensables pour un développeur, disons "orienté objet".
Je ne suis sûrement pas le seul, puisqu'il est par exemple une des deux lectures
imposées pour la certification Sun, avec les Java Blueprints.
Plutôt que d'écrire un article présentant mal --à mon avis-- les modèles de
conception (c'est ce genre d'articles qui m'a fait perdre 1 an et demi, d'où ma
réaction), Alexandre Brillant aurait été plus avisé de décrire leur importance
et d'indiquer en référence le livre du GoF. Dont acte.
eul'Bob
Références:
-----------
[1] Design Patterns - Elements of reusable object-oriented software
E. Gamma, R. Helm, R. Johnson, J. Vlissides
Addison-Wesley, 1995
[2] Traduction française, des mêmes auteurs:
Design Patterns - Catalogue de modèles de conception réutilisables
Vuibert, 1999
# Hum... [première partie]
Posté par bobert . En réponse à la dépêche Comprendre les Design Patterns. Évalué à 10.
de me remettre à la physique, j'ai fait 2 ans d'informatique en SSII, et
j'estime que les design patterns sont les connaissances en informatique les
plus utiles que j'aie pu acquérir durant cette période.
Mais j'aurais tellement aimé les découvrir plus tôt ! Personne autour de moi ne
semblait les mettre en pratique, et les quelques sites ou articles que j'ai pu
trouver à l'époque ne m'ont jamais convaincu. L'univers de l'informatique est
rempli de gens qui vous proposent d'adopter leurs méthodes de conception et de
développement parce qu'elles ont fonctionné pour eux. Il n'y a pas si longtemps
par exemple, on ne parlait que de RAD (développement rapide d'applications). Ca
marchait dans certains cas, ca devait donc être la solution universelle !
Aujourd'hui, un vrai programmeur ne jure que par l'eXtreme Programming...peu
importe. La grande difficulté dans cette jungle est de savoir distinguer parmi
les expériences vécues, celles qui nous paraissent adaptées à nos besoins de
celles qui sont trop particulières. Et à l'époque, j'ai cru que les design
patterns n'étaient qu'une énième recette de cuisine, sûrement intéressante,
mais pas plus ni moins que les autres.
C'était une erreur. Et j'ai peur que beaucoup d'autres la commettent également.
Alors, même si je crains de ne pas faire plaisir à Alexandre, je ne vous
recommande pas la lecture de son article pour vous familiariser avec les
modèles de conception. Justement parce que c'est ce genre d'articles qui
m'a caché l'importance inestimable des modèles de conception.
Il contient d'abord de grosses erreurs:
Quelques rappels sur la conception objet
Certaines classes ne sont pas complètement construites afin d'obliger les
sous-classes à effectuer une surcharge. On parle alors de classes abstraites ou
d'interfaces.L'interface est employée en Java pour compenser
l'interdication d'utiliser l'héritage multiple (héritage de plusieurs classes),
interdication qui n'apparaît pas en C++.
Ici deux erreurs extrêmement graves. D'abord, le concept d'interface est tout à
fait distinct de celui de classe abstraite. Une classe abstraite permet la
factorisation de code, ni plus, ni moins. Une interface, c'est l'ensemble des
requêtes auxquelles un objet peut fournir une réponse.
Ensuite, l'auteur confond malheureusement héritage de classe et héritage
d'interface. Une interface est une notion de programmation objet, à ce niveau de
la discussion, on n'a pas à parler de java ou de c++. L'héritage de classes
permet le partage de code. L'héritage d'interface décrit comment un objet peut
être utilisé à la place d'un autre.
Je ne saurais trop vous conseiller d'oublier ces "rappels" et de préférer des
lectures plus sérieuses à ce sujet.
Définition des design patterns
Les designs patterns ne sont pas rééllement normalisés
Au contraire. Les modèles de conception sont justement l'expression
du bon sens de la conception sous forme de modèles standard. Quel standard ?
celui du livre "Design Patterns" écrit par un groupe d'auteurs mondialement
connu comme le "Gang des quatre" (Gang of Four, ou GoF)[1][2]. Ce sont les
pères des modèles de conception. Leur livre, paru en 1995, présente les 23
modèles de conception qui sont devenus un standard de fait. Le JDK a
ainsi été construit en réutilisant fidèlement ces modèles. Ce sont bien
évidemment les mêmes que vous retrouvez dans l'article d'Alexandre Brillant qui
malheureusement ne cite pas cette référence.
Les design patterns ou modèles de conception décrivent des organisations
pratiques de classes objets. Ces organisations résultent souvent d'une
conception empirique, le concepteur objet tente de faciliter la réutilisation et
la maintenance du code
Outre la première phrase, dont je ne comprends absolument pas le sens, on trouve
encore une erreur grave. Les modèles de conception ne concernent pas du tout le
réutilisation de code. La réutilisation de code est très difficile et n'est
possible que dans des occasions bien précises. Par exemple, quelle bout de code
d'une application web écrite en java pourrait-on réutiliser dans une application
client écrite en c++ ?
Les modèles de conception concernent la réutilisation de méthodes de
conception ; ca n'a rien à voir.
[^] # Re: Tu ne crois pas si bien dire
Posté par bobert . En réponse à la dépêche Star Office 6.0 payant, c'est officiel. Évalué à 1.
Tiens, ca m'interesse ca, tu pourrais nous resumer ce que seminar offre de plus vs Prosper ?
Autre question, est-il facile de goupiller des styles de transparents en seminar comme les packages Prosper ?
(a priori je dirais non, c'est meme pour ca qu'est ne Prosper il me semble...)
[^] # Re: Tu ne crois pas si bien dire
Posté par bobert . En réponse à la dépêche Star Office 6.0 payant, c'est officiel. Évalué à 2.
mouais, c'est le moins qu'on puisse dire. A mon avis les deux seuls points faibles de cette solution par rapport aux applications bureautiques sont:
Est ce que c'est facile a utiliser ?
Ben justement, il suffit de l'utiliser... tu verras, la prise en main est immediate !
A+
Bob
[^] # Tu ne crois pas si bien dire
Posté par bobert . En réponse à la dépêche Star Office 6.0 payant, c'est officiel. Évalué à 10.
Conclusion rapide: j'estime avoir perdu 1 journée un utilisant Ooo plutot que LaTeX / <a href="http://prosper.sourceforge.net">Prosper</a>/vi,(...) ma solution habituelle.
Détails: j'ai cru que j'allais exploser mon clavier tellement j'ai eu de problemes:
Je vous passe les couleurs infames a l'impression et la sortie BBox alors que j'avais configuré du A4
Donc pour moi la conclusion est simple: oui, faire des presentation en LaTeX avec prosper, ca marche. Tout simplement.
Pas besoin d'etre un gourou pour ca. En ce qui me concerne, je laisse les suites bureautiques aux autres, et je retourne a mon LaTeX sous vi :-|
A+
Bob
[^] # Efficacité des compilateurs
Posté par bobert . En réponse à la dépêche Recherche des bogues et fuites de mémoire. Évalué à 3.
mettre au point un compilateur efficace pour un
langage donné; Le simple fait que le
gcc, compilateur C sous le frontend GCC, soit encore amélioré malgré
son grand age prouve que ce n'est pas chose facile
et justifie a lui seul le choix d'un langage comme
le C.
Maintenant, est-ce que vous savez s'il existe une estimation
quantitative du degré d'optimisation
du code genere par les compilateurs de la distribution GCC ?
C'est une question tres vague, et qui depend enormement de
la plate-forme pour laquelle on compile, mais supposons
qu'on veuille ecrire un programme toto qui execute
une serie de taches t. Supposons en plus qu'on soit pote avec le
meilleur programmeur en assembleur sur i386, et que celui-ci
nous ait donne le listing du meilleur code assembleur possible ass
qui execute t.
On peut ecrire un programme qui execute t dans n'importe
quel langage. A priori, si je choisis d'ecrire mon programme en c,
je peux esperer que le code genere par gcc se rapprochera
tres pres de ass. Mais si je choisis par exemple objective-c,
y a-t-il un moyen de savoir en quoi le code genere par le compilateur objective-c de gnu
differera de ass ? Idem pour g++, gcj, etc...
Pour resumer, aussi vague la question soit-elle, est-ce qu'on peut avoir
une idee de l'efficacite relative du code genere par les compilateurs
de la distribution GCC ?
A+
Bob
--
desole, j'ai fini par lacher les accents, mais j'ai un clavier qwerty et les eacute and co ca me les brise menu...
[^] # Re: Et le problème du bruit ???
Posté par bobert . En réponse à la dépêche Sortie du HS LinuxMag "Installer son serveur web à la maison". Évalué à 10.
Pas à la connaissance de mon pote qui y a réfléchi depuis plus longtemps que moi. D'après lui, les causes de bruit étant multiples, il ne faut pas imaginer de solution miracle, mais plutot opter pour une série de choix raisonnés, et surtout cohérents entre eux. Par exemple, ca sert à rien d'acheter la super alim silencieuse si après tu montes 3 disques durs IBm qui sont réputés pour être bcp + bruyants que les quantum.
Si je suis bien son idée, pour l'instant la mode est encore à celui qui a les + grosses c^H ^W gros ventilos, passé cette mode, le marché offrira plus de solutions. Pour l'instant, plusieurs pistes:
- les solutions draconiennes, réservées aux bricoleurs, ex: démonter son alim, rallonger le câble et mettre l'alim sur sa fenêtre, ou encore changer soi-même le ventilo de son alim, prendre un ventilo 12V et l'alimenter en 24V
- les solutions consistant à remplacer graduellement son matos, et donc à acquérir un ensemble {carte mère, alim, ventilo cpu) permettant de faire varier le débt des 2 ventilos (alim et cpu) en fonction de la température. L'inconnue pour le gars qui est plutôt windozien: et linux là-dedans ??? Mon hypothèse: c'est le bios de la carte mère qui s'occupe de tout ca, non ?
Voilà. De mon côté, j'ai glané qqes lien pouvant peut-être d'intéresser ; en tout cas pour moi c'est un pb que j'ai décidé de bien prendre en compte avant de devenir mon hébergeur, aussi je peux te refiler mes infos au fur et à mesure de mes découvertes.
http://www.suza-fr.com/cadresz.htm(...)">http://www.suza-fr.com/cadresz.htm(...(...))">http://www.suza-fr.com/cadresz.htm(...(...(...)))
http://www.pcmuet.net/profil.asp?lang=fr(...)">http://www.pcmuet.net/profil.asp?lang=fr(...(...))">http://www.pcmuet.net/profil.asp?lang=fr(...(...(...)))
http://www.pcsilent.de/en/products/qtechnology.asp?sid=183194.51.20(...)">http://www.pcsilent.de/en/products/qtechnology.asp?sid=183194.51.20(...))">http://www.pcsilent.de/en/products/qtechnology.asp?sid=183194.51.20(...)))
http://www.silentpc.nl/(...)">http://www.silentpc.nl/(...(...))">http://www.silentpc.nl/(...(...(...)))
# Et le problème du bruit ???
Posté par bobert . En réponse à la dépêche Sortie du HS LinuxMag "Installer son serveur web à la maison". Évalué à 10.
PS: Pour ceux qui habitent dans un 6 pièces - cuisine, évitez de me faire bisquer ;-)
# deux petites questions...
Posté par bobert . En réponse à la dépêche Ext3 et comparatifs vs. reiserfs. Évalué à 1.
1. qu'est-ce qu'il ressortirait d'une comparaison à la louche entre reiserFS,ext3 et NTFS ?
2. j'ai testé récemment l'install d'une mdk8.1 avec le noyo d'origine (euh, je suis pas sur la bécane, mais à vue de nez un 2.4.3 ??), et pour la première fois en passant à reiserFS pour *toutes* mes partitions. J'ai eu de gros pb de temps de latence (peux pas en dire plus, j'avais vraiment pas le temps de chercher d'où ca venait). J'imagine naïvement qu'au premier reboot, il y a eu création du journal du filesystem de chaque partition (?) donc ca aurait pu être une explication, mais le problème a persisté bien après. J'ai refait l'install en choisissant cette fois ext3, et je n'ai pas eu ce problème. Y'en a qui peuvent trouver le diagnostic, après cette description à 2 balles ???!? (non, c'est pas un problème de swap, ca j'ai vérifié)
A+
eul'Bob