Posté par Obsidian .
En réponse au message Threads.
Évalué à 4.
Tu peux effectivement lancer un second thread indépendant du premier pour aller modifier des choses, mais si c'est ton seul objectif (c'est-à-dire que ça n'a pas de vocation éducative), tu risques d'aller au devant de pas mal d'ennuis : race conditions, signaux reçus par un fils mort, deadlocks, TLS, segments de mémoire partagée non partagés, etc.
En fait, il faut savoir à l'avance pourquoi on a beosin d'un thread. Si on se retrouve à envisager cette solution à postériori pour régler un problème, il y a de fortes chances pour qu'il s'agisse en fait d'une grosse erreur de conception du programme initial.
Le multitâche coopératif est, depuis les systèmes d'exploitation de récente génération, devenu synonyme de ringardise et de fiabilité douteuse mais en fait, au sein d'un même programme où les différentes fonctions peuvent se faire confiance mutuellement, c'est souvent le moyen d'atteindre l'efficacité la plus haute.
Essaie plutôt d'arriver toi-même au concept de boucle principale, c'est ce sur quoi s'appuie tout le multitâche. En gros, tu fais ta propre boucle qui fait successivement tous les actions à effectuer « simultanément », et parmi elles, le test des actions utilisateur qui te permettront de passer à l'étape suivante.
Si tu as une freebox en état de marche et un graveur de CD, tu peux télécharger les images de disques proposées par les sites web des différentes distributions. Tu les graves, et tu lances l'installation.
Comme on se doute que tu n'as pas l'intention de te débarrasser directement de Windows, il te faudra faire de la place sur ton disque. ATTENTION : Linux est un système d'exploitation complètement indépendant. Il ne s'installe pas DANS Windows. Il faut repartitionner ton disque dur pour laisser cohabiter Linux avec.
Si tu as un petit peu d'argent de côté, je te suggère, si tu débutes complètement, d'acheter un second disque dur dédié. C'est nettement moins périlleux.
Pour créer un rpm, tu regardes dans man rpm. Il y a une section BUILD. Ce sont les options qui commencent par -b ou -t.
Pour le programme portable, ça dépend de la bibliothèque que tu utilises. Si elle existe sous Windows, ton programme pourra être compilé sur les deux plateformes, mais il te faudra préalablement installer les bonnes DLL sous Windows si elles ne le sont pas encore.
Typiquement, si c'est GTK par exemple, c'est faisable.
La dernière fois qu'on l'a fait, il me semble qu'il y a avait bel et bien une entrée Windows dans le menu de démarrage, mais maintenant que tu me le dis, j'en arrive à douter. Une chose est sûre, on ne reboote jamais. Les machines restent allumées sous le prompt en mode texte, les élèves s'y loguent, font un startx (même X n'est pas lancé par défaut) et accèdent aux serveurs Windows par rdesktop.
C'est sûr que la politique tarifaire des Terminal Server est prohibitive (une licence pour le serveur, n licences pour avoir le droit de se connecter au serveur, une licence pour Terminal Services, et une licence par siège, stockée sur le terminal, pour pouvoir s'y connecter) mais il me semble que cela revient toujours moins cher que de mettre à jour chaque année le parc de l'école entier.
Bon, de toutes façons je suis dans la région parisienne, donc ... Par contre, je ne connais pas ton école mais je trouve ton attitude assez responsable. C'est plutôt rare. Si tu veux vraiment t'en sortir, le meilleur cours de C/C++, on ne le répétera jamais assez, est celui de Christian Casteyde.
La version 1 est toujours disponible gratuitement, la version 2 coûte le prix d'un café (sur les Champs Élysées).
Si tu as une imprimante laser disponible et la possibilité d'imprimer quelques centaines de pages, achète-toi un gros classeur et une perforatrice au Carrefour du coin, imprime le PDF et plonge-z-y toi, cela se lit vraiment très facilement.
Sinon, si tu connais déjà un peu le C++ mais que tu butes sur des concepts précis, n'hésite pas à laisser un message ici.
J'ai un prof d'algo qui nous fait faire le même genre de bêtise. Il faudrait qu'ils redescendent un peu sur terre et qu'ils se rendent compte qu'il arrive un moment où il faut implémenter toute cette belle théorie.
Si « complexité » ne s'entend pas au point de vue algorithmique (genre n.log(n) ), j'ai un collègue expert du Java qui utilise ceci (ça rassemble tout) :
C'est plutôt barbare comme concept. Si tu en es arrivé là, c'est qu'il a fort problablement une erreur de conception dans ton modèle, et il faudra la corriger.
Tu ne pourras pas réclamer directement une recherche sur toutes les tables, pas plus que tu ne pourras inclure implicitement toutes les colonnes d'une table dans un critère de recherche. Seuls les colonnes à afficher peuvent contenir le caractère *.
Par contre, tu peux faire une requête qui te renvoie le nom de toutes les tables, car celles-ci sont elles-mêmes stockées dans une table. Par contre, cette dernière est spécifique à chacun des moteurs de base de données. Donc ta bidouille ne sera pas portable.
Ensuite, tu ne pourras pas faire une jointure directe non plus, mais tu pourras écrire une petite procédure stockée qui les scannera une par une.
Oui, c'est vrai, mais mon post faisait justement référence au droit de l'ouvrir. C'est ce qui s'est passé avec le format GIF, également. Unisys l'a laissé se populariser jusqu'à ce qu'il devienne incontournable (GIF animé, absence du PNG à l'époque) puis a déclaré : « au fait, là, toutes ces jolies petites images qui émaillent le web, ben vous savez quoi ? Vous n'avez pas le droit de les utiliser ! :-) ».
Aujourd'hui tous les navigateurs web reconnaissent toujours le GIF (d'autant plus que le brevet est caduque) mais tout le monde a quand même compris l'utilité d'un standard ouvert.
Donc, pour en revenir à mon premier message, ce n'est pas là faire le procès de Microsoft, c'est même une très bonne chose qu'ils choisissent d'ouvrir leurs formats, c'est juste que je trouve qu'il reste trop risqué et prématuré d'architecturer tout un système autour de ces formats simplement à cause de cette annonce.
Je ne vois pas le rapport. Il est écrit : « On ne fera pas de procès [aux gens qui utilisent nos formats] même si c'est dans des logiciels concurrents ».
Mon problème est que 1) effectivement c'est normal, 2) rien ne les empêche de changer d'avis par la suite, comme il l'ont fait avec FAT en leur temps. Tant techniquement que juridiquement, un format Microsoft ne sera jamais perenne que pour eux-mêmes.
Cela ne veut pas dire que je n'écrirai pas de logiciel reconnaissant ces formats à un moment donné, mais jamais je ne m'appuierai sur ceux-ci pour la sauvegarde de données critiques ou pour l'échange d'informations officielles.
Merci pour ton aide. Malheureusement, j'ai déjà suivi cette page (le dernier chapitre en bas de la page). Quand je fais about:plugins, j'obtiens entre autre :
Je rejoins ce qui a été dit plus haut : JAVA est un bon langage mais il faut l'utiliser à ce à quoi il sert. La plupart des étudiants en informatique ne font même plus la différence entre les langages ni même n'ont notion des ressources nécessaires à chacun d'eux.
Si c'est juste pour le fun, tu peux essayer, si c'est parce que tu as peur des pointeurs, essaie d'abord de comprendre pourquoi ils existent plutôt que de diaboliser la chose ...
Pour le WM, tu peux effectivement t'inspirer du code de WindowMaker, mais cela risque de faire beaucoup pour commencer. À la place, essaie plutôt un tutoriel X-Window dans un premier temps. Puis lance-toi un serveur X en parallèle avec celui sur lequel tu travailles mais complètement dépouillé d'applications et de WM. Tu y lances alors ton prototype, et tu y ajoutes progressivement des choses. Apprends déjà à le faire reconnaître (à le déclarer) par le serveur X, à gérer les XAtoms, les événements, etc.
Sinon, moi j'ai fait à peu près le même cursus et je suis passé à Ubuntu (en downloadant quand même WindowMaker et quelques paquets qui vont bien). Je préfère l'originale à KUbuntu, toutefois.
Je te rassure, tu peux toujours tout faire depuis la ligne de commande, et les sudo et compagnies restent ceux que l'on connaît. Tu ne seras jamais dépendant d'un outil graphique ni dans l'incapacité de définir ta politique de sécurité avec cette distrib', si c'est ce qui t'inquiète.
# Threads, toussa ...
Posté par Obsidian . En réponse au message Threads. Évalué à 4.
En fait, il faut savoir à l'avance pourquoi on a beosin d'un thread. Si on se retrouve à envisager cette solution à postériori pour régler un problème, il y a de fortes chances pour qu'il s'agisse en fait d'une grosse erreur de conception du programme initial.
Le multitâche coopératif est, depuis les systèmes d'exploitation de récente génération, devenu synonyme de ringardise et de fiabilité douteuse mais en fait, au sein d'un même programme où les différentes fonctions peuvent se faire confiance mutuellement, c'est souvent le moyen d'atteindre l'efficacité la plus haute.
Essaie plutôt d'arriver toi-même au concept de boucle principale, c'est ce sur quoi s'appuie tout le multitâche. En gros, tu fais ta propre boucle qui fait successivement tous les actions à effectuer « simultanément », et parmi elles, le test des actions utilisateur qui te permettront de passer à l'étape suivante.
Bon courage.
# Bienvenue
Posté par Obsidian . En réponse au message demande de conseil. Évalué à 6.
Comme on se doute que tu n'as pas l'intention de te débarrasser directement de Windows, il te faudra faire de la place sur ton disque. ATTENTION : Linux est un système d'exploitation complètement indépendant. Il ne s'installe pas DANS Windows. Il faut repartitionner ton disque dur pour laisser cohabiter Linux avec.
Si tu as un petit peu d'argent de côté, je te suggère, si tu débutes complètement, d'acheter un second disque dur dédié. C'est nettement moins périlleux.
# mount
Posté par Obsidian . En réponse au message lire une disquette sur le serveur a partir d'un TX. Évalué à 4.
# RPM + Lib
Posté par Obsidian . En réponse au message création d'un fichier rpm. Évalué à 2.
Pour le programme portable, ça dépend de la bibliothèque que tu utilises. Si elle existe sous Windows, ton programme pourra être compilé sur les deux plateformes, mais il te faudra préalablement installer les bonnes DLL sous Windows si elles ne le sont pas encore.
Typiquement, si c'est GTK par exemple, c'est faisable.
[^] # Re: Précision
Posté par Obsidian . En réponse à la dépêche Le GET rend votre Bureau Libre !. Évalué à 2.
La dernière fois qu'on l'a fait, il me semble qu'il y a avait bel et bien une entrée Windows dans le menu de démarrage, mais maintenant que tu me le dis, j'en arrive à douter. Une chose est sûre, on ne reboote jamais. Les machines restent allumées sous le prompt en mode texte, les élèves s'y loguent, font un startx (même X n'est pas lancé par défaut) et accèdent aux serveurs Windows par rdesktop.
C'est sûr que la politique tarifaire des Terminal Server est prohibitive (une licence pour le serveur, n licences pour avoir le droit de se connecter au serveur, une licence pour Terminal Services, et une licence par siège, stockée sur le terminal, pour pouvoir s'y connecter) mais il me semble que cela revient toujours moins cher que de mettre à jour chaque année le parc de l'école entier.
[^] # Re: hum
Posté par Obsidian . En réponse au message Annonce : besoin de cours en C++ sur Marseille. Évalué à 3.
Bon, de toutes façons je suis dans la région parisienne, donc ... Par contre, je ne connais pas ton école mais je trouve ton attitude assez responsable. C'est plutôt rare. Si tu veux vraiment t'en sortir, le meilleur cours de C/C++, on ne le répétera jamais assez, est celui de Christian Casteyde.
La version 1 est toujours disponible gratuitement, la version 2 coûte le prix d'un café (sur les Champs Élysées).
http://casteyde.christian.free.fr/cpp/cours/index.html
Si tu as une imprimante laser disponible et la possibilité d'imprimer quelques centaines de pages, achète-toi un gros classeur et une perforatrice au Carrefour du coin, imprime le PDF et plonge-z-y toi, cela se lit vraiment très facilement.
Sinon, si tu connais déjà un peu le C++ mais que tu butes sur des concepts précis, n'hésite pas à laisser un message ici.
[^] # Re: hum
Posté par Obsidian . En réponse au message Annonce : besoin de cours en C++ sur Marseille. Évalué à 2.
Combien elle coûte, la tienne ? :-)
# Astuce
Posté par Obsidian . En réponse au journal XFS: demain j'arrête.... Évalué à 2.
http://linuxfr.org/tips/310.html
# Mouais ...
Posté par Obsidian . En réponse au message segmentation fault sur instructions d'entrée/sortie. Évalué à 2.
Trop d'abstraction tue l'abstraction.
# Ceci :
Posté par Obsidian . En réponse au message Outil de rapport de complexité du code. Évalué à 2.
http://maven.apache.org/
Sinon ceci :
http://pmd.sourceforge.net/
# Plusieurs tables ?
Posté par Obsidian . En réponse au message Comment rechercher un mot dans plusieurs tables ?. Évalué à 3.
Tu ne pourras pas réclamer directement une recherche sur toutes les tables, pas plus que tu ne pourras inclure implicitement toutes les colonnes d'une table dans un critère de recherche. Seuls les colonnes à afficher peuvent contenir le caractère *.
Par contre, tu peux faire une requête qui te renvoie le nom de toutes les tables, car celles-ci sont elles-mêmes stockées dans une table. Par contre, cette dernière est spécifique à chacun des moteurs de base de données. Donc ta bidouille ne sera pas portable.
Ensuite, tu ne pourras pas faire une jointure directe non plus, mais tu pourras écrire une petite procédure stockée qui les scannera une par une.
Ça reste très dégueu.
Bon courage.
[^] # Re: "une très bonne analyse"?
Posté par Obsidian . En réponse au journal Les formats {Open|MS}Office Document à la loupe. Évalué à 2.
Aujourd'hui tous les navigateurs web reconnaissent toujours le GIF (d'autant plus que le brevet est caduque) mais tout le monde a quand même compris l'utilité d'un standard ouvert.
Donc, pour en revenir à mon premier message, ce n'est pas là faire le procès de Microsoft, c'est même une très bonne chose qu'ils choisissent d'ouvrir leurs formats, c'est juste que je trouve qu'il reste trop risqué et prématuré d'architecturer tout un système autour de ces formats simplement à cause de cette annonce.
[^] # Re: "une très bonne analyse"?
Posté par Obsidian . En réponse au journal Les formats {Open|MS}Office Document à la loupe. Évalué à 4.
Mon problème est que 1) effectivement c'est normal, 2) rien ne les empêche de changer d'avis par la suite, comme il l'ont fait avec FAT en leur temps. Tant techniquement que juridiquement, un format Microsoft ne sera jamais perenne que pour eux-mêmes.
Cela ne veut pas dire que je n'écrirai pas de logiciel reconnaissant ces formats à un moment donné, mais jamais je ne m'appuierai sur ceux-ci pour la sauvegarde de données critiques ou pour l'échange d'informations officielles.
[^] # Re: "une très bonne analyse"?
Posté par Obsidian . En réponse au journal Les formats {Open|MS}Office Document à la loupe. Évalué à 1.
[^] # Re: dans 2000 ans
Posté par Obsidian . En réponse au journal La SNCF et les privileges.... Évalué à 4.
[^] # Re: Un merveilleux site...
Posté par Obsidian . En réponse au journal Rions un peu..... Évalué à 2.
[^] # Re: libcaca
Posté par Obsidian . En réponse au journal Star Wars en mode texte. Évalué à 3.
J'imagine bien le début du projet qui va avec, tiens :
#include <caca.h>
Sympa comme entrée en matière ... :-)
[^] # Re: Suffit de demander
Posté par Obsidian . En réponse au message JRE avec Firefox sur Ubuntu breezy -> Marche pas.. Évalué à 2.
Bref, le plugin est bien en place mais ne rend rien ...
# Java ?
Posté par Obsidian . En réponse au message Gestionnaire de fenêtres. Évalué à 5.
Si c'est juste pour le fun, tu peux essayer, si c'est parce que tu as peur des pointeurs, essaie d'abord de comprendre pourquoi ils existent plutôt que de diaboliser la chose ...
Pour le WM, tu peux effectivement t'inspirer du code de WindowMaker, mais cela risque de faire beaucoup pour commencer. À la place, essaie plutôt un tutoriel X-Window dans un premier temps. Puis lance-toi un serveur X en parallèle avec celui sur lequel tu travailles mais complètement dépouillé d'applications et de WM. Tu y lances alors ton prototype, et tu y ajoutes progressivement des choses. Apprends déjà à le faire reconnaître (à le déclarer) par le serveur X, à gérer les XAtoms, les événements, etc.
[^] # Re: *coquille* - encore une !
Posté par Obsidian . En réponse au journal A Tunis, la parabole de Richard Stallman contre la puce. Évalué à 2.
[^] # Re: Et avec sort ?
Posté par Obsidian . En réponse au message Majuscule arborescence et repertoire. Évalué à 2.
[^] # Re: Et avec sort ?
Posté par Obsidian . En réponse au message Majuscule arborescence et repertoire. Évalué à 2.
Comment tu fais ? Le même test fonctionne chez moi.
Quel shell utilises-tu ? Depuis quel répertoire lances-tu ta commande ?
# Et avec sort ?
Posté par Obsidian . En réponse au message Majuscule arborescence et repertoire. Évalué à 2.
On pourrait même se passer de « j » mais cela pose problème lorsque les noms des répertoires contiennent des espaces ...
# Installation d'un OS
Posté par Obsidian . En réponse au message problème installation. Évalué à 2.
Ensuite, ton ordinateur est-il proprement configuré pour démarrer sur des CDs bootables ?
# Ubuntu, Distrib Chooser, ...
Posté par Obsidian . En réponse au message L'après Mandrake. Évalué à 1.
Ca fonctionne assez bien.
Sinon, moi j'ai fait à peu près le même cursus et je suis passé à Ubuntu (en downloadant quand même WindowMaker et quelques paquets qui vont bien). Je préfère l'originale à KUbuntu, toutefois.
Je te rassure, tu peux toujours tout faire depuis la ligne de commande, et les sudo et compagnies restent ceux que l'on connaît. Tu ne seras jamais dépendant d'un outil graphique ni dans l'incapacité de définir ta politique de sécurité avec cette distrib', si c'est ce qui t'inquiète.