Pour ce faire, trois petits logiciels sont étudiés:
- Deux clients emails simple (envoi et réception)
- Un dictionnaire de traduction simple (XML)
- Un serveur de jeu de questionnaire (les quiz sont en XML)
Ce Hors Série s'adresse aux personnes possédant les bases de Java. Les gourous de Java n'y trouveront sûrement pas leur intérêt à moins de ne pas connaître le XML.
La partie consacrée au XML décrit la rédaction de documents XML et de DTD. Elle se base également sur l'utilisation d'un parser avec l'API SAX.
Aller plus loin
- Login: (6 clics)
# Login!
Posté par ogallos . Évalué à -1.
Enfin, cela n'est que mon avis.
Et par la même occasion, je félicite l'un de leur redacteur qui est vraiment excellent: Gilbou!
Gilbou, el guru del Bi aisse di
[^] # Re: Login!
Posté par Jerome Demeyer . Évalué à 10.
Au contraire, je trouve de plus en plus de propositions, de découvertes et de choix qui nous sont proposés par ce magasine. Je le trouve généraliste : il parle de tout, avec un regard different, on retrouve une partie des passionnés qui ont codés sur atari, amiga et autre sasfépu, et ca fait du bien de trouver un magazine pour une cible autre que ceux qui ont découvert l'informatique avec windows.
Je ne dit pas que Login: est une référence du monde libre, mais il permet de se rendre compte qu'on l'est quand même un peu...
[^] # Re: Login!
Posté par Wawet76 . Évalué à 10.
QNX, BeOS et d'autres ne sont pas libre, mais dans le scope de Login:.
[^] # Re: Login!
Posté par Eric Leblond (site web personnel) . Évalué à 6.
L'éditorial ressemblait à cela :
"Nous allons nous recentrer sur BeOS, Linux est entré dans une nouvelle ère et n'a plus rien d'alternatif."
A mon avis, ils ont du revoir leur politique pour pouvoir faire faire du chiffre : J'ai cru voir qu'il parlait toujours de Linux.
[^] # Re: Login!
Posté par Romain Guy . Évalué à 2.
[^] # Re: Login!
Posté par Eric Leblond (site web personnel) . Évalué à -4.
[^] # Re: Login!
Posté par Romain Guy . Évalué à 9.
[^] # Re: Login!
Posté par Denis Bodor (site web personnel) . Évalué à 6.
[^] # Re: Login!
Posté par Eric Leblond (site web personnel) . Évalué à 10.
Attention, je ne veux pas dire par là que la rédaction n'est pas indépendante. Je tiens juste à signaler que l'on est ni face à un fanzine, ni face à une presse indépendante au niveau financier.
[^] # Re: Login!
Posté par Anonyme . Évalué à -1.
Laurent qui trouve que Login, c'est plus dream :o( ... pof un -1 pour ma pomme !
[^] # Re: Login!
Posté par boubou (site web personnel) . Évalué à 3.
[^] # Re: Login!
Posté par Anonyme . Évalué à 0.
>tout cas sur une sorte de remplacement de linux
>par BSD)
En fait je n'utilise qu'OpenBSD et Moz Linux. Lorsque je rédige un article ou un dossier, tout ce qui requiert un shell, ou quoi que ce soit se trouve donc sous BSD. Moz qui teste le matos teste tout sous Debian.. C'est pour cela que de plus en plus les dossiers ont pour base un BSD et que mes "en pratiques" sont centrés sur Open ;-)
--
Gilbou
(gilbertf@posse-press.com)
[^] # Re: Login!
Posté par Anonyme . Évalué à 0.
Heureux de rencontrer un autre amateur d'OpenBSD he he ;-)
Moi j'aime bien lire LMF. Chu pas abonné, mais je le lis tous les mois : un bon zine.
C'est dommage qu'il y ait moins de presse Linux parce que de voir plein de magazines ça permettait d'occuper les étals et d'intéresser les gens. Il doit rester que trois magazines je crois actuellement et c'était quand même sympa d'avoir un bon contenu dense comme avant. Tout était pas toujours très bon mais même moi j'ai écrit des trucs dont j'ai un peu honte (burp)
--
Gilbou
(gilbertf@posse-press.com)
# Un bel exemple de java
Posté par rouge13 . Évalué à 5.
voilà : http://equinox.planet-d.net/java/pupul.html#java(...)
source : http://www.joystick.fr/actus/fiche_actu.php3?ID=244(...)
attention à la chute de productivité (ça ma été fatal cette aprem :)
[^] # Re: Un bel exemple de java
Posté par Wawet76 . Évalué à -10.
http://www.bigidea.com/penguins/kids/k_spacedpenguin.htm(...)
Perso : 735943
(Après 3 parties)
[^] # Re: Un bel exemple de java
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 1.
C'est pô du flash mais du director et le plug n'existe pas sur BSD/Linux
La gelée de coings est une chose à ne pas avaler de travers.
[^] # J'avoue tout monsieur le juge.
Posté par Wawet76 . Évalué à -10.
Mais je ne suis pas particulièrement petit.
[^] # Re: J'avoue tout monsieur le juge.
Posté par kadreg . Évalué à -10.
Beurk, je te parles plus.
Mais, mais, mais, mais je dit sa sur un windows moi ? AAARRRGGGGGHHHHH.
# le site de Login suxe.
Posté par Anonyme . Évalué à -7.
vous utilisez ? C'est pour virer les vieux cons en Lynx ?
--
tontonTh, vieux con en Lynx.
[^] # Re: le site de Login suxe.
Posté par Franck Yvonnet . Évalué à 6.
[^] # Re: le site de Login suxe.
Posté par kadreg . Évalué à 8.
[^] # Re: le site de Login suxe.
Posté par Anonyme . Évalué à 10.
[^] # Re: le site de Login suxe.
Posté par kadreg . Évalué à 10.
[^] # Re: le site de Login suxe.
Posté par Benjamin Michotte . Évalué à 0.
[^] # En plus, il est pas à jour, ce site...
Posté par Anonyme . Évalué à -2.
# souhait pour un futur article sur java
Posté par daniel . Évalué à 4.
comment optimiser du java et comment utiliser le multithreading ?
Sera-t-il possible de faire un article sur ces points, avec pour exemple le code de jext (a ce propos merci Romain) ?
C'est pas pour faire de le lèche-bottes, mais c'est le seul éditeur écrit en java qui va à une vitesse raisonnable et ne nécessite pas 2 gigas de ram.
--
daniel desages
[^] # Re: souhait pour un futur article sur java
Posté par Romain Guy . Évalué à 7.
Pour l'optimisation de Java, tu trouveras un article "avorté" sur www.programmationworld.com. Je compte bien en refaire un un de ces jours. Mais pour le moment, il s'agit de couvrir la programmation Java sur Palm Pilot. Encore un mois ou deux et je m'y colle :)
Pour le multi-threading, aucun problème, j'essayerais de pondre ça après le Palm :)
[i]C'est pas pour faire de le lèche-bottes, mais c'est le seul éditeur écrit en java qui va à une vitesse raisonnable et ne nécessite pas 2 gigas de ram. [/i]
Merci :-) A ce propos, la version 3.0 devrait sortir d'ici fin Octobre et elle ajoute pas mal de choses sympa (surtout la 3.0pre10 qui est encore sur mon HD :)
[^] # Désolé pour les tags
Posté par Romain Guy . Évalué à -7.
[^] # Re: Désolé pour les tags
Posté par Talou (site web personnel) . Évalué à 2.
qu'est-ce ?
[^] # Re: Désolé pour les tags
Posté par Romain Guy . Évalué à 3.
[^] # Re: Désolé pour les tags
Posté par David Bober (site web personnel) . Évalué à 3.
et le forum est bien ecris en perle,
d'ailleurs je viens aussi de mettre les codes ubb dans la tribune libre sans faire expres :)
UBB comme tant d'autres boards/forums (c'est pareil..) demande de mettre des [] a la place des <> pour le html et simplifient certaines balises.
[moua]
[^] # Re: souhait pour un futur article sur java
Posté par Paul Gonin . Évalué à 10.
Pour le multi-threading est Java est vraiment le langage le plus facile a ma connaissance pour faire du multi-threading, a un tel point que l'on a honte apres de dire que l'on sait utiliser des threads en Java :))
[^] # Re: souhait pour un futur article sur java
Posté par Romain Guy . Évalué à 10.
Si tu utilise l'objet String, la boucle prend plus de 10 secondes sur un P200 48 Mo de RAM et JDK 1.2.2. Avec l'objet StringBuffer on descend aux alentours de 170 milli-secondes... voilà de l'optimisation :)
[^] # Re: souhait pour un futur article sur java
Posté par Paul Gonin . Évalué à 5.
Optimiser le code est une possibilite. L'utilisation de tableaux a la place de Vector (ou tout autre type de set certes puissant mais gourmand) lorsque c'est possible est un autre exemple d'optimisation de code.
[^] # Re: souhait pour un futur article sur java
Posté par daniel . Évalué à 9.
je ne suis pas un débutant en java. j'ai un niveau de connaissances suffisant, mais je cherche à devenir vraiment bon dans ce langage qui n'est pas mon préféré (c'est python mon préféré)
[^] # Re: souhait pour un futur article sur java
Posté par Wawet76 . Évalué à 6.
Perso, je pensais que le compilateur s'occupait tout seul de faire les optimisations style "a += b" et "a << 4" à la place de "a = a + b" et "a * 16". Et bien apparement ce n'est pas le cas.
(en passant, pour Romain : s/notre/autre/ dans le 3ème paragraphe de la page sur l'optimisation (5))
Et une petite précision (mais je suis sur que c'est pour garder un texte court que ça a été omit) : Le fait de déclarer une méthode "final" ne sert pas que à fournir une possibilité d'optimisation au compilateur. À ce que j'en sais, il y a aussi une amélioration des perf à l'execution dans certain cas (quand myRef.toto() est invoquée, pas la peine d'aller voir si le type "runtime" de myRef n'est pas une classe qui surcharge toto()). Donc ce n'est pas "L'intérêt de telles méthodes..." mais "Un des intérêts de telles méthodes..."
Comment ça je chipotte ?
Ce n'est pas du chipottage. Ce post est en fait une tentative d'obtenir confirmation de ce que j'ai marqué après "À ce que j'en sais" ;-)
[^] # Re: souhait pour un futur article sur java
Posté par Anonyme . Évalué à -1.
A mon humble avis, ils sont un peu "faible" les compilateurs Java..
Ca ne va pas faciliter la lecture du code..
[^] # Re: souhait pour un futur article sur java
Posté par Romain Guy . Évalué à 10.
Pour faire un programme Java qui tienne la route, il faut également avoir une solide architecture objet, bien pensée. Ce sont là les deux meilleurs choses à faire avant d'utiliser les bidouilles de type "a << 4".
[^] # Re: souhait pour un futur article sur java
Posté par Romain Guy . Évalué à 3.
Pour ce qui est du final, il y a effectivement une optimisation d'exécution. Les static final permettent normalement d'être inlinée. Mais je crois que les derniers compilateurs javac ne le font plus.
Enfin, l'option -O de javc ne sert plus à rien.
[^] # Re: souhait pour un futur article sur java
Posté par Marc . Évalué à 10.
Mais quand je pense à tout les getTruc setTruc que contiennent les codes java avec:
int getTruc(){ return this.truc; }
void setTruc(int truc){ this.truc = truc; }
ou pour affecter une variable on doit:
1. aller chercher dans la v-table de l'objet le pointeur sur la fonction
2. créer la fonction
3. faire l'affectation
4. gérer le retour de la fonction
alors que si la fonction était non virtuelle le compilo aurait simplement mis en ligne this.truc = truc, je me dis que "a = a + b" ne doit pas être gros problème.
Biensûr on peut mettre la fonction en final, mais comme personne ne le fait les compilos ne sont pas optimisés pour. On peut aussi tout écrire avec des variables publiques mais c'est très dangereux (pas de var en lecture seul).
démo:
class Test {
public int var;
public int getVar() {
return this.var;
}
public void setVar(int var) {
this.var = var;
}
public static void main() {
int i;
Test t = new Test();
i = t.getVar();
t.setVar(i);
i = t.var;
t.var= i;
}
}
# javac Test.java
# javap -c Test
Method int getVar()
0 aload_0
1 getfield #2 <Field int var>
4 ireturn
Method void setVar(int)
0 aload_0
1 iload_1
2 putfield #2 <Field int var>
5 return
Method void main()
0 new #3 <Class Test>
3 dup
4 invokespecial #4 <Method Test()>
7 astore_1
8 aload_1
9 invokevirtual #5 <Method int getVar()>
12 istore_0
13 aload_1
14 iload_0
15 invokevirtual #6 <Method void setVar(int)>
18 aload_1
19 getfield #2 <Field int var>
22 istore_0
23 aload_1
24 iload_0
25 putfield #2 <Field int var>
28 return
Même résultats avec et sans final get|setTruc.
# java -version
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.3.0-FCS)
Java HotSpot(TM) Client VM (build Blackdown-1.3.0-FCS, mixed mode)
hop -> -1, c'est un peu long
[^] # Re: souhait pour un futur article sur java
Posté par Anonyme . Évalué à 0.
[^] # Re: souhait pour un futur article sur java
Posté par kadreg . Évalué à 2.
Qu'es-ce qu'il lui prouve que dans un autre projet, utilisant le projet courant compilé, quelqu'un d'autre ne cherchera pas a surcharger une de ses méthode ?
[^] # Re: souhait pour un futur article sur java
Posté par boubou (site web personnel) . Évalué à 2.
Tu as raison aussi de dire que c'est un problème de compilation. En effet, il est parfaitement possible d'écrire un compilateur optimisant qui utilise virtual quand il en a vraiment besoin et pas quand il peut s'en passer. C'est déjà fait pour Sather (http://www.gnu.org/software/sather/(...) ) ainsi qu'en Eiffel (http://www.loria.fr/projets/SmallEiffel/(...) ). Le résultat est en général assez puissant car on peut alors obtenir de l'inlining de méthodes "virtuelles", ce qu'aucun compilateur C++ ne sait faire à ma connaissance. Bien entendu, ce système repose sur une analyse globale du code et coûte donc très cher à la compilation.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.