Le problème c'est que les boites ne veulent pas s'amuser à gérer les nuances entre plusieurs distributions de Linux.
Ca fait longtemps que je n'ai plus installé de mandrake (plus le temps de tester les distributions)... mais la redhat n'est pas completement "serveur" [pas assez à mon gout]. Un exemple: essayez d'installer une redhat sans X11 ni souris. c'est impossible, leur installeur veut à tout prix les packages graphiques, son, souris... qu'il faut désinstaller à la main ensuite.
Aujourd'hui à mon avis aucune distribution ne peut servir pour les serveurs et pour les postes de travail sans être "customisée" à la main.
Du coup je comprends tout a fait la démarche de mandrake qui cherche à gagner du terrain aussi sur les serveurs ... puisqu'il ne peut en rester qu'un [par entreprise].
Plus tard, quand linux sera entré dans l'entreprise, que le personnel se sera familiarisé avec l'OS, les gens auront moins peur des différences de distribution.
Moi je peux te dire que chez mon client actuel, l'utilisation de "linux" est de plus en plus au gout du jour.
1/ ils ont du personnel unixien
2/ ils ont été infecté par redcode puis par Nimda en interne :-) [alors que tous les serveurs sont en apache ... sauf UN !]
3/ ils luttent sans cesse contre les virus recus par mail
4/ meme pour les pro-MS en interne (il y en a), la facture w2k ou winXP fait réfléchir ...
Bref l'actualité, aidée de ces rapports d'étude vont dans le bon sens. Poussez Poussez, ca va venir !!
dommage aussi le commentaire sur la partie firewall alors que iptables est très puissant.
a mon avis c'est encore l'interface graphique qui limite trop les possibilitées et l'analyste est passé à coté.
RedHat devrait installer fwbuilder :-))
mais dans les montagnes tu as acces a des choses que les citadins n'auront jamais: air pur, paysage, calme, ...
j'imagine que si tu pensais vraiment que ta condition de vie est déplorable, tu déménagerai... or tu reste dans la montagne.
Tout a un cout. habiter dans un cadre de vie privilégié loin des microbes des transports en commun et de la pollution a un prix. peut etre 1500FF/mois sans adsl :-(
[de mon coté, dès que je peux fuir la région IdF je me casse - tant pis pour adsl (et peut etre d'ici la il y aura xdsl partout ?)]
ce que je peux te confirmer, c'est ce que j'ai déjà écrit en dessous: si il n'y a pas de process pour écouter sur le port, la connexion ne sera jamais établie et la requete jamais envoyée.
ensuite parlons des problèmes iptables:
1/ comme c'est dit au dessus, inspecter le contenu des paquets est très lourd, peut etre même trop lourd en mode kernel.
2/ il y a deux types de machines: celles qui n'ecoutent pas sur le port 80 (et ne recevront jamais la requete) et celles qui écoutent sur le port 80 (elles ont donc un process bien mieux qualifié que iptables pour filtrer les url).
3/ que se passe t'il en cas de paquets fragmentés au milieu d'une url ? ta règle impose t'elle à iptable de ré-assembler les paquets ?? si NON, elle est completement inéficace. si OUI, elle est encore plus couteuse.
Sinon, pour la théorie iptables, effectivement on peut limiter le nombre de règles à parcourir pour prendre la décision. c'est d'ailleur une TRES bonne pratique.
a/ mettre en premier les règles qui ont le plus de chances d'être acceptées directement. par exemple -state established,related, le plu sgrand nombre de paquets n'etant pas des demandes de connection.
b/ séparer les règles en sous groupes. Dans le cas présent, une première règle qui dirige les requetes sur le port 80 vers une chaine "WEB" avant la "-state established,related" permettra d'éviter de scanner les règles dédiées au WEB pour les paquets FTP ...
bref, iptables c'est comme le reste, on peut toujours améliorer les règles.
Et bien voila, ca faisait longtemps qu'on avait pas eu un troll FT.
Oui FT fait surement de l'argent.
Non je ne pense pas que FT "profite de son monopole" (les tarifs aux particuliers sont établis d'un commun accord avec les "concurrents").
alors pour s'enfoncer dans le troll:
Peux t'on comparer la situation british et francaise ?
L'imposition sur les entreprise est-elle la même ?
L'idée du service public est-il le même ?
Les obligations envers les employés (et les employés de l'Etat - qui rapellons le ne "travaillent pas" mais "servent") sont ils comparables ?
t'imagines les attaques DDoS que les script kiddie vont pouvoir faire avec ca ?
Quand tout le monde sera en 2Mbps, les milliers de particuliers qui font tourner IIS muni d'une backdoor pourront s'associer malgré eux en un DDoS géant . Ce ne sont plus les serveurs mais les routeurs qu'ils vont attaquer :-|
La conclusion c'est plutot: "le haut débit est une question politique aujourd'hui" mais qu'est ce que les gens vont en faire ?? pourquoi en auraient-ils besoin ??
A part les informaticiens (du LL) qui téléchargent des documentations gratuites, et des images iso de distributions linux/bsd/..., qui a besoin d'une telle bande passante pour un usage privé ??
Il faudra donc attendre que d'autres contenus soit présent sur le web. la TV interactive ? du streaming de partout (*)... mais regarder tout ca sur un ordinateur c'est pas la panacée ... il faut donc que les équipements de salon (avec un linux embeded :-)) deviennent courant.
Code red avait un impact sur les equipemement reseau de toutes marques (cisco ...).
IL faut maintenir l'os des équipements réseau a jour au meme titre que l'os des serveurs !!
Cela prouve que tu n'as pas essayé ton astuce avant de la proposer.
Pourquoi ?
Parce que pour se connecter, le serveur distant va envoyer une demande de connection (SYN+ACK), petit paquet SANS DONNEES auquel ta machine ne va pas répondre puisque aucun serveur n'écoute sur le port. La requete HTML se trouve dans les paquets suivants, envoyés par le serveur SEULEMENT si ta machine a accepté la connexion.
Je le sais bien, j'ai une astuce de ce genre sur mon firewall qui me loggue au format libpcap les paquets qu'il n'aime pas (cf http://freshmeat.net/projects/pdumpq/(...)
)... mais je ne récupère que des demandes de connexion :-(
présent sur les distrib redhat (au moins la 7.1), le package s'appelle nc-1.10-10.
Si cela se trouve tu as déjà ce petit bijou, son binaire est /usr/bin/nc sur la redhat.
pour ecouter sur le port 80 en TCP, la commande est:
nc -l -p 80
par contre il va envoyer les requetes sur stdout et se terminer des la première requete ...
un truc du genre:
while :
do
nc -l -p 80
done > /var/log/port80.log
devrait faire ce que tu veux
tu peux meme ajouter une réponse basique en entrée standard de nc pour faire croire à un vrai serveur web, genre
nc -l -p 80 < maréponsetoutefaite.html
ce nc est un outils INCONTOURNABLE. en bref: TCP ou UDP, listen ou connect, il permet de faire des petits serveurs en shell, de forwarder des connexions d'une machine vers une autre ...
Attention a ce genre de script qui configure le firewall automatiquement ... une requete faisant croire a ton script que c'est www.microsoft.com qui t'attaque et hop tu n'as plus access a ce site formidable (DoS)
ca me fait penser au jour ou un type scannait mon firewall alors que j'etais la.
je lui ai envoyé un mail venant de root@samachine et lui demandant d'arreter ses conneries [il avait laissé le port 25 ouvert et sendmail mal configuré] ... j'imagine sa tronche en lisant le mail :-))
n'importe quoi qui ecoute sur le port 80 fera l'affaire. tu peux utiliser netcat "nc" en listen sur le port 80 et le faire logguer tout ce qu'il recoit dans un fichier.
netcat c'est un petit utilitaire TRES sympa !!
[d'ailleurs je vais de ce pas relire son man]
Il faut a mon avis se méfier des automatismes trop poussés. A ta place, je limiterai mon script au remplissage d'une liste d'adresse email... que tu pourras vérifier rapidement avant d'envoyer ton message. Par exemple les adresses IP appartenant à un ISP vont t'indiquer une adresse Email qui ne correspond pas du tout à un administrateur de la machine. Du coup tu peux faire tes interrogations whois plus tard et ne garder que la liste des IP.
Cela soulève encore la question: un ISP est il responsable de ce que font ses clients sur Internet ? [comme heberger des vers].
Je ne vois pas ce qui te gène avec la présence policière.
De mon coté, cela ne me fait rien de croiser policiers, gendarmes et militaires dans les endroits publics. Ca rend même service:
1 -chutte de la petite délincance.
2 -rassure les mémés.
3 -occupe tout ce beau monde.
rien que le 1 justifie leur présence. C'est la petite délincance qui effraie les gens et les pousse à voter de plus en plus radical.
Effectivement.
Sans changer d'avis (on peut malheureusement penser que ses paroles refletent sa pensée :-( ),
il est sûr qu'il utiliserait un language plus modéré, moins affirmatif ... voire il s'abstiendrait de répendre ses idées ici. Vu qu'elles sont loin du sujet du site, ce serait pas plus mal.
La prochaine fois, un petit rappel sur la seule vraie mécanique, celle des machines à vapeur ?
Non, la techno a vapeur est dépassée en terme de perfs. Par contre on pourrait re-parler des moteurs à explosion 2 temps. BEAUCOUP plus performant que les 4 temps qui équipent toutes nos voitures/motos ... mais moins bon en longévité, pollution, ...
<carrement hors sujet>--> -1
<provoc>
gaspiller une ressource parce-qu'elle est de moins en moins chère, c'est précisément le travers de la société de consommation actuelle ou l'on ne répare plus rien et on jette beaucoup. Alors de la à dire que c'est à cause des développeurs fainéants que l'on n'aura bientôt plus de forêt ...
</provoc>
Oui - on s'est écarté du sujet pour parler de GC de facon plus générale ... alors qu'il n'y en a peut etre pas pour Qt (surement pas).
C'est de ma faute (post GC/JAVA) mais j'ai appris pas mal de choses ... C'est la le principal interet des commentaires: voir les différents points de vue sur un sujet, constater que comme d'hab rien n'est blanc ou noir ...
Bon puisque-tu réponds dans 2 sous-thread de mon post calomnieux pour les GC, sache que:
1/ mes propos etaient amplifiés par l'envie de faire réagir.
2/ ton post dans ce sous-thread est le premier a parler de malloc() [d'ou free()dans ma réponse] et "d'utiliser l'ordinateur pour les taches répétitives et simples" [d'ou mon "aidé des outils automatiques"]. De plus, désolé de le dire, mais ce post ne reflétait pas vraiment l'expérience d'un développeur confirmé... d'ou mon ton "moqueur".
Je sais pertinament que les GC ne sont pas mauvais en soit. La tendance actuelle a en mettre de partout est sans doute l'origine de mon premier post ...
Quand je fais du développement, c'est plutôt axé système. Petit daemon proprietaire, portage de midleware ... donc beaucoup de C, peu de C++, mais quand même pas mal de lignes dans certains cas... On implémente tous un jour ou l'autre un compteur de références sur une ressource pour savoir si on peut la libérer ou pas [genre lien hard sur les fichiers]. Je voulais attirer l'attention sur le fait que le GC à un cout non négligeable en termes de perf, et que heureusement il y a bien des projets ou l'on peut s'en passer. L'implémentation "forcée" de GC comme dans java me semble:
1/ puissante
2/ dangereuse puisque utilisée même quand pas necessaire.
Quand on lit l'URL que tu as donné dans l'autre sous-thread, on y voit aussi que le type de MS voudrait bien se passer de GC si il pouvait pour son projet...
Maintenant ton exemple en C++:
OK dans ce ca sil y a dilemne, mais es-tu sur que le modele "objet" de ta fenetre est bon ? Pourquoi des pointeurs vers une chaine interne à l'objet devraient-ils être conservés en dehors de l'objet ? Pourquoi l'objet devrait-il etre détruit avant que les traitements s'y rapportant [ceux qui ont besoin de la chaine] soient terminés ? A mon avis, cet exemple montre un problème de design plus profond...
malloc() c'est pour les cons qui ne savent pas gérér où placer leur données dans la mémoire.
Bien sur que non. Ou ai-je dit cela ?
Ce que je dit c'est que grosso-modo, on devrait trouver au moins autant de free() que de malloc dans le code. C'est très différent. Je ne suis pas contre les variables dynamiques, je suis contre les GC censés savoir mieux que le developpeur QUAND il faut libérer la mémoire. Y a une nuance.
Qu'un ordinateur effectue un travail compliqué et repetitif à la place d'un être humain...
Apparement, tu as besoin d'un cours sur l'optimisation:
1er cas: le developpeur (aidé des outils automatiques qu'il veut) trouve QUAND libérer les ressources et place l'appel a la fonction free() au bon endroit dans son code.
2ieme cas: le développeur utilise un GC pour libérer les ressources quand ils ne les utilises plus.
conséquence:
1er cas exécuté une seule fois pour toute.
2ieme cas exécuté en parallèle du traitement à chaque éxécution.
Je ne te parle pas de coder en assembleur, ou en héxa directement pendant que tu y es, mais de savoir ce que l'on fait.
Quand je fait un malloc(), je sais a quel moment je n'aurai plus besoin de l'espace et je fais le free() qui va bien.
A la rigueur on peut laisser l'OS nettoyer à la mort du process si la zone mémoire est utilisée pendant toute la vie du process [mais c'est crade], mais compter sur un GC je pense que c'est du gaspillage.
[^] # Re: RedHat
Posté par PLuG . En réponse à la dépêche Une étude sur Linux et le bureau.. Évalué à 0.
Xconfigurator, Xfs, ... la liste est longue.
meme probleme si tu veux installer une machine sans carte son: tu aura quand meme esound et tout le tralala ...
a la fin ca se termine toujours a coups de --nodeps sinon y a des trucs qui se desinstallent pas.
[^] # Re: RedHat
Posté par PLuG . En réponse à la dépêche Une étude sur Linux et le bureau.. Évalué à 5.
Ca fait longtemps que je n'ai plus installé de mandrake (plus le temps de tester les distributions)... mais la redhat n'est pas completement "serveur" [pas assez à mon gout]. Un exemple: essayez d'installer une redhat sans X11 ni souris. c'est impossible, leur installeur veut à tout prix les packages graphiques, son, souris... qu'il faut désinstaller à la main ensuite.
Aujourd'hui à mon avis aucune distribution ne peut servir pour les serveurs et pour les postes de travail sans être "customisée" à la main.
Du coup je comprends tout a fait la démarche de mandrake qui cherche à gagner du terrain aussi sur les serveurs ... puisqu'il ne peut en rester qu'un [par entreprise].
Plus tard, quand linux sera entré dans l'entreprise, que le personnel se sera familiarisé avec l'OS, les gens auront moins peur des différences de distribution.
[^] # Re: Mutliplication
Posté par PLuG . En réponse à la dépêche Une étude sur Linux et le bureau.. Évalué à 10.
1/ ils ont du personnel unixien
2/ ils ont été infecté par redcode puis par Nimda en interne :-) [alors que tous les serveurs sont en apache ... sauf UN !]
3/ ils luttent sans cesse contre les virus recus par mail
4/ meme pour les pro-MS en interne (il y en a), la facture w2k ou winXP fait réfléchir ...
Bref l'actualité, aidée de ces rapports d'étude vont dans le bon sens.
Poussez Poussez, ca va venir !!
[^] # Re: Précision: 10.000$ d´économie sur 15.000$ !!
Posté par PLuG . En réponse à la dépêche Une étude sur Linux et le bureau.. Évalué à 1.
les 4 autres passent a w2k ==> 2200$ chez MS.
[^] # Re: outlook
Posté par PLuG . En réponse à la dépêche Une étude sur Linux et le bureau.. Évalué à 5.
a mon avis c'est encore l'interface graphique qui limite trop les possibilitées et l'analyste est passé à coté.
RedHat devrait installer fwbuilder :-))
[^] # Re: bof
Posté par PLuG . En réponse à la dépêche Haut Débit pour tous, c'est pas pour demain. Évalué à 1.
j'imagine que si tu pensais vraiment que ta condition de vie est déplorable, tu déménagerai... or tu reste dans la montagne.
Tout a un cout. habiter dans un cadre de vie privilégié loin des microbes des transports en commun et de la pollution a un prix. peut etre 1500FF/mois sans adsl :-(
[de mon coté, dès que je peux fuir la région IdF je me casse - tant pis pour adsl (et peut etre d'ici la il y aura xdsl partout ?)]
[^] # Re: ?
Posté par PLuG . En réponse à la dépêche Haut Débit pour tous, c'est pas pour demain. Évalué à 0.
[^] # Re: Detection d'attaques de vers.
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 3.
ensuite parlons des problèmes iptables:
1/ comme c'est dit au dessus, inspecter le contenu des paquets est très lourd, peut etre même trop lourd en mode kernel.
2/ il y a deux types de machines: celles qui n'ecoutent pas sur le port 80 (et ne recevront jamais la requete) et celles qui écoutent sur le port 80 (elles ont donc un process bien mieux qualifié que iptables pour filtrer les url).
3/ que se passe t'il en cas de paquets fragmentés au milieu d'une url ? ta règle impose t'elle à iptable de ré-assembler les paquets ?? si NON, elle est completement inéficace. si OUI, elle est encore plus couteuse.
Sinon, pour la théorie iptables, effectivement on peut limiter le nombre de règles à parcourir pour prendre la décision. c'est d'ailleur une TRES bonne pratique.
a/ mettre en premier les règles qui ont le plus de chances d'être acceptées directement. par exemple -state established,related, le plu sgrand nombre de paquets n'etant pas des demandes de connection.
b/ séparer les règles en sous groupes. Dans le cas présent, une première règle qui dirige les requetes sur le port 80 vers une chaine "WEB" avant la "-state established,related" permettra d'éviter de scanner les règles dédiées au WEB pour les paquets FTP ...
bref, iptables c'est comme le reste, on peut toujours améliorer les règles.
[^] # Re: 0,9 ? de l'heure
Posté par PLuG . En réponse à la dépêche Les FAI, un moyen de financer les LL ?. Évalué à 4.
Oui FT fait surement de l'argent.
Non je ne pense pas que FT "profite de son monopole" (les tarifs aux particuliers sont établis d'un commun accord avec les "concurrents").
alors pour s'enfoncer dans le troll:
Peux t'on comparer la situation british et francaise ?
L'imposition sur les entreprise est-elle la même ?
L'idée du service public est-il le même ?
Les obligations envers les employés (et les employés de l'Etat - qui rapellons le ne "travaillent pas" mais "servent") sont ils comparables ?
[^] # Re: ça serait bien
Posté par PLuG . En réponse à la dépêche Haut Débit pour tous, c'est pas pour demain. Évalué à 2.
t'imagines les attaques DDoS que les script kiddie vont pouvoir faire avec ca ?
Quand tout le monde sera en 2Mbps, les milliers de particuliers qui font tourner IIS muni d'une backdoor pourront s'associer malgré eux en un DDoS géant . Ce ne sont plus les serveurs mais les routeurs qu'ils vont attaquer :-|
# ?
Posté par PLuG . En réponse à la dépêche Haut Débit pour tous, c'est pas pour demain. Évalué à 5.
A part les informaticiens (du LL) qui téléchargent des documentations gratuites, et des images iso de distributions linux/bsd/..., qui a besoin d'une telle bande passante pour un usage privé ??
Il faudra donc attendre que d'autres contenus soit présent sur le web. la TV interactive ? du streaming de partout (*)... mais regarder tout ca sur un ordinateur c'est pas la panacée ... il faut donc que les équipements de salon (avec un linux embeded :-)) deviennent courant.
(*) et encore avec i2bp pas besoin de bcp de BP.
[^] # Re: Probleme chez les providers ?
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 1.
IL faut maintenir l'os des équipements réseau a jour au meme titre que l'os des serveurs !!
[^] # Re: Detection d'attaques de vers.
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 3.
Pourquoi ?
Parce que pour se connecter, le serveur distant va envoyer une demande de connection (SYN+ACK), petit paquet SANS DONNEES auquel ta machine ne va pas répondre puisque aucun serveur n'écoute sur le port. La requete HTML se trouve dans les paquets suivants, envoyés par le serveur SEULEMENT si ta machine a accepté la connexion.
Je le sais bien, j'ai une astuce de ce genre sur mon firewall qui me loggue au format libpcap les paquets qu'il n'aime pas (cf http://freshmeat.net/projects/pdumpq/(...)
)... mais je ne récupère que des demandes de connexion :-(
[^] # Re: Detection d'attaques de vers.
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 10.
Si cela se trouve tu as déjà ce petit bijou, son binaire est /usr/bin/nc sur la redhat.
pour ecouter sur le port 80 en TCP, la commande est:
nc -l -p 80
par contre il va envoyer les requetes sur stdout et se terminer des la première requete ...
un truc du genre:
while :
do
nc -l -p 80
done > /var/log/port80.log
devrait faire ce que tu veux
tu peux meme ajouter une réponse basique en entrée standard de nc pour faire croire à un vrai serveur web, genre
nc -l -p 80 < maréponsetoutefaite.html
ce nc est un outils INCONTOURNABLE. en bref: TCP ou UDP, listen ou connect, il permet de faire des petits serveurs en shell, de forwarder des connexions d'une machine vers une autre ...
[^] # Re: Detection d'attaques de vers.
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 3.
[^] # Re: Exploitation du vers...
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 9.
ca me fait penser au jour ou un type scannait mon firewall alors que j'etais la.
je lui ai envoyé un mail venant de root@samachine et lui demandant d'arreter ses conneries [il avait laissé le port 25 ouvert et sendmail mal configuré] ... j'imagine sa tronche en lisant le mail :-))
[^] # Re: Detection d'attaques de vers.
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 10.
netcat c'est un petit utilitaire TRES sympa !!
[d'ailleurs je vais de ce pas relire son man]
[^] # Re: Réponse automatique...
Posté par PLuG . En réponse à la dépêche Nouveau Vers: Code Red le retour. Évalué à 10.
Cela soulève encore la question: un ISP est il responsable de ce que font ses clients sur Internet ? [comme heberger des vers].
[^] # Re: Question
Posté par PLuG . En réponse à la dépêche Réaction de Stallman aux Attentats. Évalué à 2.
De mon coté, cela ne me fait rien de croiser policiers, gendarmes et militaires dans les endroits publics. Ca rend même service:
1 -chutte de la petite délincance.
2 -rassure les mémés.
3 -occupe tout ce beau monde.
rien que le 1 justifie leur présence. C'est la petite délincance qui effraie les gens et les pousse à voter de plus en plus radical.
[^] # Re: TU T'AUTO-FLAGELLES ???
Posté par PLuG . En réponse à la dépêche Rions un peu (jaune mais rions un peu). Évalué à 3.
Sans changer d'avis (on peut malheureusement penser que ses paroles refletent sa pensée :-( ),
il est sûr qu'il utiliserait un language plus modéré, moins affirmatif ... voire il s'abstiendrait de répendre ses idées ici. Vu qu'elles sont loin du sujet du site, ce serait pas plus mal.
[^] # Re: Tiens ca me fait penser
Posté par PLuG . En réponse à la dépêche Rions un peu (jaune mais rions un peu). Évalué à 1.
[^] # Re: Comment ça marche ?
Posté par PLuG . En réponse à la dépêche Al Stevens n'aime pas QT. Évalué à -1.
Non, la techno a vapeur est dépassée en terme de perfs. Par contre on pourrait re-parler des moteurs à explosion 2 temps. BEAUCOUP plus performant que les 4 temps qui équipent toutes nos voitures/motos ... mais moins bon en longévité, pollution, ...
<carrement hors sujet>--> -1
<provoc>
gaspiller une ressource parce-qu'elle est de moins en moins chère, c'est précisément le travers de la société de consommation actuelle ou l'on ne répare plus rien et on jette beaucoup. Alors de la à dire que c'est à cause des développeurs fainéants que l'on n'aura bientôt plus de forêt ...
</provoc>
[^] # Re: Comment ça marche ?
Posté par PLuG . En réponse à la dépêche Al Stevens n'aime pas QT. Évalué à 1.
C'est de ma faute (post GC/JAVA) mais j'ai appris pas mal de choses ... C'est la le principal interet des commentaires: voir les différents points de vue sur un sujet, constater que comme d'hab rien n'est blanc ou noir ...
[^] # Re: Comment ça marche ?
Posté par PLuG . En réponse à la dépêche Al Stevens n'aime pas QT. Évalué à 3.
1/ mes propos etaient amplifiés par l'envie de faire réagir.
2/ ton post dans ce sous-thread est le premier a parler de malloc() [d'ou free()dans ma réponse] et "d'utiliser l'ordinateur pour les taches répétitives et simples" [d'ou mon "aidé des outils automatiques"]. De plus, désolé de le dire, mais ce post ne reflétait pas vraiment l'expérience d'un développeur confirmé... d'ou mon ton "moqueur".
Je sais pertinament que les GC ne sont pas mauvais en soit. La tendance actuelle a en mettre de partout est sans doute l'origine de mon premier post ...
Quand je fais du développement, c'est plutôt axé système. Petit daemon proprietaire, portage de midleware ... donc beaucoup de C, peu de C++, mais quand même pas mal de lignes dans certains cas... On implémente tous un jour ou l'autre un compteur de références sur une ressource pour savoir si on peut la libérer ou pas [genre lien hard sur les fichiers]. Je voulais attirer l'attention sur le fait que le GC à un cout non négligeable en termes de perf, et que heureusement il y a bien des projets ou l'on peut s'en passer. L'implémentation "forcée" de GC comme dans java me semble:
1/ puissante
2/ dangereuse puisque utilisée même quand pas necessaire.
Quand on lit l'URL que tu as donné dans l'autre sous-thread, on y voit aussi que le type de MS voudrait bien se passer de GC si il pouvait pour son projet...
Maintenant ton exemple en C++:
OK dans ce ca sil y a dilemne, mais es-tu sur que le modele "objet" de ta fenetre est bon ? Pourquoi des pointeurs vers une chaine interne à l'objet devraient-ils être conservés en dehors de l'objet ? Pourquoi l'objet devrait-il etre détruit avant que les traitements s'y rapportant [ceux qui ont besoin de la chaine] soient terminés ? A mon avis, cet exemple montre un problème de design plus profond...
[^] # Re: Comment ça marche ?
Posté par PLuG . En réponse à la dépêche Al Stevens n'aime pas QT. Évalué à 5.
Bien sur que non. Ou ai-je dit cela ?
Ce que je dit c'est que grosso-modo, on devrait trouver au moins autant de free() que de malloc dans le code. C'est très différent. Je ne suis pas contre les variables dynamiques, je suis contre les GC censés savoir mieux que le developpeur QUAND il faut libérer la mémoire. Y a une nuance.
Qu'un ordinateur effectue un travail compliqué et repetitif à la place d'un être humain...
Apparement, tu as besoin d'un cours sur l'optimisation:
1er cas: le developpeur (aidé des outils automatiques qu'il veut) trouve QUAND libérer les ressources et place l'appel a la fonction free() au bon endroit dans son code.
2ieme cas: le développeur utilise un GC pour libérer les ressources quand ils ne les utilises plus.
conséquence:
1er cas exécuté une seule fois pour toute.
2ieme cas exécuté en parallèle du traitement à chaque éxécution.
Je ne te parle pas de coder en assembleur, ou en héxa directement pendant que tu y es, mais de savoir ce que l'on fait.
Quand je fait un malloc(), je sais a quel moment je n'aurai plus besoin de l'espace et je fais le free() qui va bien.
A la rigueur on peut laisser l'OS nettoyer à la mort du process si la zone mémoire est utilisée pendant toute la vie du process [mais c'est crade], mais compter sur un GC je pense que c'est du gaspillage.