Un serveur web (ou le serveur de base de données qui est derrière) qui fait plein de petites requêtes par seconde a un débit d'I/O à peu près constant.
Non, sur une moyenne de quelques dizaines de secondes c'est à peu près constant, mais si tu le regarde au dizième de seconde près tu constatera que ça ne l'est pas.
Et sur ces machines, un cache d'écriture se remplis tellement rapidement que ça ne sert à rien.
Un serveur web fait beaucoup plus de lectures que d'écritures, et s'il doit relire une donnée qu'il vient d'écrire peu de temps avant il y a un gros gain si celle-ci est encore en cache.
(mais là j'ai plus en tête la cache RAM gérée par Linux, je n'ai pas vraiment d'expérience avec de gros contrôleurs SCSI avec plein de Mo de cache intégrée)
Enfin, moi je trouvais ça bien pratique que chaque sous-répertoire soit également une copie de travail valide, faudra que je change un peu mon mode de travail que je passera à subversion 1.7
Ce n'est pas un problème, en java (puisque c'est quand même la base de la discussion) les éléments sont simplement initialisés à null et la création des instances lourdes peut être faite à la demande.
Tu fais comment pour initialiser une variable d'instance avec un statement statique?
Je connais mal le C++, mais je ne vois pas comment une variable d'instance, qui est créée pour chaque instance de l'objet, pourrait n'être initialisée qu'une fois.
Donc pour éviter d'initialiser ta variable, tu ajoute une variable booléenne, que tu initialise et que tu teste à chaque get et que tu dois en plus affecter à chaque set.
Hum...
Si tu veux parser du HTML, laisse tomber libxml qui se vautrera directement dessus (sauf s'il s'agit de XHTML valide).
L'HTML est beaucoup moins strict que le XML, j"ignore ce qui se fait en C, mais ça ne sert à rien de regarder du côté des parseurs XML.
Ça c'est idiot, ça crée une sous-classe (anonyme) de HashMap sans raison, dont un fichier .class en plus à charger, qui va aller prendre un peu de mémoire dans la partie non-heap, si tu multiple ce genre de construction tu va consommer toute la mémoire non-heap (qui est beaucoup plus rarement libérée).
Certes, mais ne pas initialiser une variable locale ou finale est une erreur, il est impossible de compiler le code.
Quand aux variables non-locales et non-finales, si le compilateur détecte qu'elles ne sont pas initialisée dans le constructeur il va ajouter lui-même l'initialisation à la valeur par défaut (false, 0 ou null)
Sinon les gens "normaux" ne s'en aperçoivent même pas
Et c'est quoi un "gen normal"?
Ma mère est assez normale, mais si on lui change la place des éléments d'interface (comme par exemple mettre les onglet au dessus) elle est perdue. Donc si ça changeait régulièrement sans même la prévenir elle serait souvent à me demander de l'aide.
Heureusement c'est moi qui gère les mises à jour sur son ordinateur et je teste chez moi avant de faire les grosses mises à jour chez elle, soit pour reconfigurer comme elle est habituée, soit pour pouvoir lui expliquer les changement.
Elle est toujours à jour. Sous Chrome par exemple, la mise à jour est totalement transparente (on ne sais jamais quand la MAJ se fait, et... On s'en fout), on a Chrome, point barre.
Quelle horreur!
Donc à chaque fois qu'on lance le programme on peut se retrouver devant un truc qui a changé sans prévenir et auquel il faut se réhabituer?
L'option --dbpath permet d'utiliser une autre base de donnée que celle du système, mais alors tu perd la liste de tout ce qui est installé globalement et tu va devoir faire les installations à coup de --nodeps (ou mettre à jour à la main ta copie à partie de la DB centrale chaque fois qu'elle change, je ne sais pas si c'est possible).
Mais c'est sûr, les développeurs de KDE ne sont pas allés jusqu'à enlever les boutons minimiser et agrandir.
Pas la peine, c'est configurable (ça l'était déjà dans KDE3), on peut enlever tous les boutons si on veut ;-)
Moi, j'en ai profité pour mettre le bouton fermer tout seul à droite et tous les autres à gauche, il m'arrivait parfois de mal viser et cliquer sur fermer par erreur.
les 25 updates de Java, ce n'est que des corrections de bugs
Tu devrais regarder les changelog, par exemple dans le 1.6.0_25 (le premier fait par oracle, tiens donc...) ils ont introduit une mise à jour de hotspot qui casse certains des outils (non supportés il est vrai) fournis en standard avec le JDK.
cf http://www.oracle.com/technetwork/java/javase/6u25releasenotes-356444.html
(et ce n'était pas la première fois dans la série 1.6.0 qu'ils mettaient hotspot à jour)
Autre exemple, dans la 1.6.0_10 http://www.oracle.com/technetwork/java/javase/6u10-142936.html
ils ont mis à jour java DB (qui n'est qu'une version repackagée d'apache derby) en version 10.4 alors que la 1.6.0 originale avait une version 10.2.
Cette _10 introduisait aussi une nouvelle implémentation du plugin java.
Je ne sais pas pour les livre commerciaux, je n'ai pas encore expérimenté.
Mais il y a plusieurs sites qui proposent des livres dans le domaine publique (soit des classiques, soit, plus rare, des livres diffusés librement directement par l'auteur).
Konqueror n'utilise pas de plugin java, il utilise directement la commande java, il suffit d'avoir un JRE installé et ça devrait fonctionner.
Bien sur, si l'applet doit interagir avec du javascript de la page, c'est un autre problème...
[^] # Re: Btrfs
Posté par wismerhill . En réponse à la dépêche Le noyau Linux est disponible en version 3.0. Évalué à 3.
Non, sur une moyenne de quelques dizaines de secondes c'est à peu près constant, mais si tu le regarde au dizième de seconde près tu constatera que ça ne l'est pas.
Un serveur web fait beaucoup plus de lectures que d'écritures, et s'il doit relire une donnée qu'il vient d'écrire peu de temps avant il y a un gros gain si celle-ci est encore en cache.
(mais là j'ai plus en tête la cache RAM gérée par Linux, je n'ai pas vraiment d'expérience avec de gros contrôleurs SCSI avec plein de Mo de cache intégrée)
[^] # Re: Mon point de vue, pour ce qu'il vaut... ;-)
Posté par wismerhill . En réponse au message SubVersion vs Mercurial vs Git .... Évalué à 2.
Oui, ce sera dans subversion 1.7 (dès qu'il sortira), cf
http://subversion.apache.org/docs/release-notes/1.7.html#wc-ng
Enfin, moi je trouvais ça bien pratique que chaque sous-répertoire soit également une copie de travail valide, faudra que je change un peu mon mode de travail que je passera à subversion 1.7
[^] # Re: pydoc
Posté par wismerhill . En réponse au journal ou sont les man ?. Évalué à 3.
Et d'ailleurs, c'est pareil pour les pages info avec info:/
[^] # Re: Non
Posté par wismerhill . En réponse au journal ou sont les man ?. Évalué à 1.
commande --help | less
[^] # Re: Chacun son style
Posté par wismerhill . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 2.
Ce n'est pas un problème, en java (puisque c'est quand même la base de la discussion) les éléments sont simplement initialisés à null et la création des instances lourdes peut être faite à la demande.
[^] # Re: Chacun son style
Posté par wismerhill . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 2.
On continue de progresser à reculons, donc c'est quand même initialisé à chaque création d'objet et tu y ajoute un appel de fonction.
[^] # Re: Chacun son style
Posté par wismerhill . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 2.
Tu fais comment pour initialiser une variable d'instance avec un statement statique?
Je connais mal le C++, mais je ne vois pas comment une variable d'instance, qui est créée pour chaque instance de l'objet, pourrait n'être initialisée qu'une fois.
[^] # Re: Chacun son style
Posté par wismerhill . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 4.
Donc pour éviter d'initialiser ta variable, tu ajoute une variable booléenne, que tu initialise et que tu teste à chaque get et que tu dois en plus affecter à chaque set.
Hum...
# XML != HTML
Posté par wismerhill . En réponse au message Programmation XML avec C. Évalué à 3.
Si tu veux parser du HTML, laisse tomber libxml qui se vautrera directement dessus (sauf s'il s'agit de XHTML valide).
L'HTML est beaucoup moins strict que le XML, j"ignore ce qui se fait en C, mais ça ne sert à rien de regarder du côté des parseurs XML.
[^] # Re: et python ? :)
Posté par wismerhill . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 2.
Ça c'est idiot, ça crée une sous-classe (anonyme) de HashMap sans raison, dont un fichier .class en plus à charger, qui va aller prendre un peu de mémoire dans la partie non-heap, si tu multiple ce genre de construction tu va consommer toute la mémoire non-heap (qui est beaucoup plus rarement libérée).
[^] # Re: Chacun son style
Posté par wismerhill . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 2.
Certes, mais ne pas initialiser une variable locale ou finale est une erreur, il est impossible de compiler le code.
Quand aux variables non-locales et non-finales, si le compilateur détecte qu'elles ne sont pas initialisée dans le constructeur il va ajouter lui-même l'initialisation à la valeur par défaut (false, 0 ou null)
[^] # Re: CAPTCHA qui marche bien
Posté par wismerhill . En réponse au journal CAPTCHA. Évalué à 3.
Bah, t'as qu'à bloquer directement le /64, et hop 18 milliards de milliards d'adresses bloquées d'un coup :-)
[^] # Re: Marre des captcha
Posté par wismerhill . En réponse au journal CAPTCHA. Évalué à 6.
Ah, oui, donc il faut ajouter en alt du captcha le texte à taper, pour que ce soit accessible aux non-voyants :-D
[^] # Re: Traître niveau 2
Posté par wismerhill . En réponse au journal Nokia abandonne Meego. Évalué à 4.
Celle-là, elle est vraiment capillotractée!
[^] # Re: chrome effect
Posté par wismerhill . En réponse à la dépêche Firefox 5 est sorti. Évalué à 3.
Et c'est quoi un "gen normal"?
Ma mère est assez normale, mais si on lui change la place des éléments d'interface (comme par exemple mettre les onglet au dessus) elle est perdue. Donc si ça changeait régulièrement sans même la prévenir elle serait souvent à me demander de l'aide.
Heureusement c'est moi qui gère les mises à jour sur son ordinateur et je teste chez moi avant de faire les grosses mises à jour chez elle, soit pour reconfigurer comme elle est habituée, soit pour pouvoir lui expliquer les changement.
[^] # Re: chrome effect
Posté par wismerhill . En réponse à la dépêche Firefox 5 est sorti. Évalué à 10.
Quelle horreur!
Donc à chaque fois qu'on lance le programme on peut se retrouver devant un truc qui a changé sans prévenir et auquel il faut se réhabituer?
[^] # Re: Applis portables
Posté par wismerhill . En réponse au journal Des Bibliothèques dans le même répertoire que l'application. Évalué à 2.
de rpm, j'avais oublié de préciser.
[^] # Re: Applis portables
Posté par wismerhill . En réponse au journal Des Bibliothèques dans le même répertoire que l'application. Évalué à 3.
L'option --dbpath permet d'utiliser une autre base de donnée que celle du système, mais alors tu perd la liste de tout ce qui est installé globalement et tu va devoir faire les installations à coup de --nodeps (ou mettre à jour à la main ta copie à partie de la DB centrale chaque fois qu'elle change, je ne sais pas si c'est possible).
[^] # Re: It's a feature
Posté par wismerhill . En réponse au journal usability fail. Évalué à 3.
Pas la peine, c'est configurable (ça l'était déjà dans KDE3), on peut enlever tous les boutons si on veut ;-)
Moi, j'en ai profité pour mettre le bouton fermer tout seul à droite et tous les autres à gauche, il m'arrivait parfois de mal viser et cliquer sur fermer par erreur.
[^] # Re: Page d'errata ?
Posté par wismerhill . En réponse à la dépêche Sortie de Mageia 1. Évalué à 5.
Elle se trouve dans le wiki (temporaire):
http://www.mageia.org/wiki/doku.php?id=mageia1:errata
il semble effectivement que ce lien manque dans les notes de version.
[^] # Re: BKL
Posté par wismerhill . En réponse à la dépêche Linus envisage de changer la numérotation du noyau Linux. Évalué à 1.
Tu devrais regarder les changelog, par exemple dans le 1.6.0_25 (le premier fait par oracle, tiens donc...) ils ont introduit une mise à jour de hotspot qui casse certains des outils (non supportés il est vrai) fournis en standard avec le JDK.
cf http://www.oracle.com/technetwork/java/javase/6u25releasenotes-356444.html
(et ce n'était pas la première fois dans la série 1.6.0 qu'ils mettaient hotspot à jour)
Autre exemple, dans la 1.6.0_10
http://www.oracle.com/technetwork/java/javase/6u10-142936.html
ils ont mis à jour java DB (qui n'est qu'une version repackagée d'apache derby) en version 10.4 alors que la 1.6.0 originale avait une version 10.2.
Cette _10 introduisait aussi une nouvelle implémentation du plugin java.
[^] # Re: Faut quand même attendre la 2.6.42
Posté par wismerhill . En réponse au journal LINUX 2.8.0. Évalué à 4.
Linus n'a pas l'air de cet avis
https://lkml.org/lkml/2011/5/23/405
[^] # Re: Achat bouquins électroniques
Posté par wismerhill . En réponse au message Liseuse ebook. Évalué à 4.
Je ne sais pas pour les livre commerciaux, je n'ai pas encore expérimenté.
Mais il y a plusieurs sites qui proposent des livres dans le domaine publique (soit des classiques, soit, plus rare, des livres diffusés librement directement par l'auteur).
Par exemple:
http://www.ebooksgratuits.com/
http://fr.feedbooks.com/ (celui-là a une partie payante et une domaine publique)
http://beq.ebooksgratuits.com/
et bien sur le projet gutenberg
http://www.gutenberg.org/browse/languages/fr
# Ça refonctionne
Posté par wismerhill . En réponse à l’entrée du suivi Plantage de javascript avec Konqueror. Évalué à 2 (+0/-0).
Je ne sais pas ce qui a été changé dans le javascript (peut-être une mise à jour de jquery), mais ça refonctionne dans konqueror (4.5.5).
:-)
[^] # Re: En ligne de commande
Posté par wismerhill . En réponse au message Plugin Java : changer le nom du système d'exploitation, à l'instar de l'User Agent sous Firefox. Évalué à 2.
Konqueror n'utilise pas de plugin java, il utilise directement la commande java, il suffit d'avoir un JRE installé et ça devrait fonctionner.
Bien sur, si l'applet doit interagir avec du javascript de la page, c'est un autre problème...