En fait, j'ai fini par coller des accès à des tableaux dans les termes de ma somme. Exit la simplification
En fait, j'ai fini par coller des accès à des tableaux dans les termes de ma somme. Exit la simplification
Rien ne me choque moi, je suis un scientifique ! - I. Jones
Y'a des gens qui ont vtk installé via homebrew sur Mac? J'ai encore eu droit à une pochette surprise dans la dernière update, et je n'arrive pas à m'en sortir ...
Hello, un peu de pub pour un MOOC gratos sur la programmation récursive (en scheme) :
https://programmation-recursive-2.ap...e?page=reasons
Un jour j'en ferai en c++ hihi
Non, mais c'est bien un module dont l'inclusion définit certaine classes comme vtkPNGWriter. Mais là je me casse les dents sur ce truc. L'exemple minimal que j'ai posté montre que l'inclusion de <cmath> conduit à un conflit de namespace si vtkIOImage est inclus dans le CMake. Aucune idée d'où ça peut bien sortir, n'ayant malheureusement pas la compréhension nécessaire du préprocesseur pour tout déméler.
edit: un peu avancé. Inclure vtkIOImage conduit à passer les flags suivants au compilateur:
Sauf que les include de /Library/Developer/CommandLineTools/usr/include et /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include sont incompatibles (l'un load math.h, l'autre cmath). Là où le mystère s'épaissit, c'est que que retirer le -I[...]MacOSX10.14.sdk/usr/include , repasser les flags expurgés au compilateur et compiler alors fonctionne.Code:/Library/Developer/CommandLineTools/usr/bin/c++ -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include -I/usr/local/include -isystem /usr/local/include/vtk-8.1 -std=gnu++11 -o CMakeFiles/main.dir/main.cpp.o -c /Users/bbercovici/Downloads/LightActor/main.cpp
Bref, tout fout le camp à cause de -I[...]MacOSX10.14.sdk/usr/include qui pourtant ne semble servir à rien ...
Mais t'es vraiment obligé de prendre cette version de VTK? Tu peux pas te rabattre sur une version stable?
Perso, je suis encore sur la 7-machin, et j'ai pas fini de rincer le dixième des classes dispo.
En fait, je développe un programme que je distribue via Homebrew pour les utilisateurs de Mac. Et installer une upgrade de mon programme via Homebrew met également à jour les dépendances, dont VTK fait partie (et les dépendances de VTK également). La bonne nouvelle, c'est que l'installation dudit programme via Homebrew fonctionne. Ce qui pose problème, c'est vouloir développer un programme tiers à partir des classes fournie dans ma librairie avec clang.
J'ai trouvé une solution pragmatique qui consiste à simplement effacer
du fichier flags.cmake du programme tiers concerné. Si on ne touche pas au CMakeLists.txt, ce n'est pas si génant même si je préfèrerais trouver une solution clean et définitive.Code:-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include
Après, je n'ai eu l'occasion de vérifier si ce problème affecte d'autres utilisateurs que moi.
Pas sûr d'être sur le bon fil, mais ça reste dans le thème.
Une petite question sur les prises connectées:
http://forum.canardpc.com/threads/11...1#post12168955
Envoyé par Candace, shirlideur
Je t'ai répondu sur le fil indiqué
Rien ne me choque moi, je suis un scientifique ! - I. Jones
Merci, j'ai déplacé ma question ici
Envoyé par Candace, shirlideur
https://www.editions-eni.fr/livre/in...-9782409017414
45 euros... c'est un peu cher...
Je ne connais pas ce bouquin. Mais pour aborder le calcul quantique d'un point de vue informatique sans en avoir rien à foutre de la physique (on n'a pas besoin de connaître les équations du transistor pour programmer une machine classique, pas de raison que ce soit différent en quantique), je conseille ce pavé-là :
https://www.cambridge.org/fr/academi...atic-reasoning
C'est une alternative intéressante (ou plutôt un complément) au bouquin classique de Nielsen et Chuang qui commence à accuser ses 20 ans.
C'est écrit en British d'Oxford, mais il y a tellement de dessins que ça se lit comme une BD.
Vache.
Ca commence à être enseigné en second cycle? Ou c'est déjà de base dans les cours de licence et de DUT?
Parce que si microsoft a déjà sorti son langage (cul-charpe), c'est que ça devient déjà mainstream
Je préfère l'espèce de Scratch d'IBM, où tu programmes ton ordinateur quantique avec des boiboites colorées.
En vrai le calcul quantique commence à être un peu enseigné au niveau master à certains endroits, mais on n'en est pas à apprendre des langages de programmation.
Les langages c'est pour le buzz. Si tu veux programmer une machine quantique actuelle à 15 ou 20 qubits tu le fais en assembleur en plaçant soigneusement chaque porte à la main. Et si tu veux programmer une machine future tu peux partir du principe que les langages auront changé 5 fois d'ici-là.
Coucou,
J'ai une autre question sur Doxygen en C++.
J'en suis venu à la politique suivante pour la répartition de la doc entre le .cpp et le .h d'une classe:
* Dans le .cpp, je mets toujours des en-tête complets, et possiblement détaillés. De toute manière, ce fichier va être un gros bloat de code dans lequel on navigue via l'IDE, donc autant que toutes les infos requises s'y trouvent.
* Dans le .h, je mets vraiment le minimum de doc, sachant que l'IDE est censé retrouver la doc de la fonction et me l'afficher dès que je sélectionne une fonction, dont le nom est sensé être bien défini à l'origine (merci le refactor, au passage).
Ca ne m'empêche pas de mettre un peu de doc dans le .h, mais plutôt pour expliquer ce que sont sensées faire des fonctions regroupées par blocs:
Donc, je suis a priori content de ma politique, même si je suis ouvert à toute suggestion ou commentaire.Code:/// a slicer is created with one data source propagated on all widgets created at origin, /// but one can add new volumes and change IPwidget source individually or globally // ========================= // data sources section void RegisterNewDataSource(vtkSmartPointer<vtkImageData> volData); size_t GetDataSourcesCount() const; [...]
Mais en fait, j'ai un problème bien précis avec Doxygen sur le bout de code transmis. En effet, ce con va attribuer comme doc de la première fonction du lot le commentaire en ///, alors même qu'il y a une bonne séparation entre les deux, et que la fonction a sa propre doc bien formée. Je n'ai pas vu si j'avais raté quelque chose dans la syntaxe de Doxygen, mais si l'erreur parle à quelqu'un, ça m'aiderait
Si tu livres tes librairies un jour de façon binaire, les gens n'auront pas les cpp.
En général, tu mets la doc avec l'interface, donc en C++ dans le .h.
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
Mais ils auront le snapshot de la doc Doxygen générée à l'instant t, non?
Ma vraie préoccupation, c'est l'intégration propre du Doxygen. Il augmente considérablement la taille des blocs de commentaires et leur fréquence; j'essaie donc de les mettre quelque part où ça ne bloate pas la lecture. Pour moi, un .h doit être rapide à parcourir afin de voir rapidement quelles sont les données et fonctions membres.
C'est la faute à Arteis
Hello,
Je me demande comment faire le truc suivant dans une requete SQL, et je ne suis pas un dev, et j'y connais pas grand chose a SQL, donc je ne vais sans doute pas utiliser la bonne terminologie (d'ailleurs j'ai tente de chercher dans google, mais faut croire que j'ai pas les bons mots-cles).
Je veux selectionner les lignes d'une table ou une variable contient autre chose que certains elements acceptables.
Genre la variable contient "table,chaise,vache,rouge,fromage", et moi je veux tester si elle contient autre chose que "table,chaise,vache,fromage, pain". Dans l'exemple, c'est oui, donc je dois selectionner cette ligne.
Merci pour vos idees.
Ou un truc comme ça ?Code:SELECT * FROM MaSuperTable WHERE NOT Variable='v1' OR NOT Variable='v2' OR NOT Variable='v3';
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
Pas exactement.
Ma variable contient une liste, comme "table,chaise,vache,rouge,fromage".
Et je veux selectionner les lignes avec la variable qui contient uniquement certaines valeurs predefinies, par example que table,chaise,vache,fromage.
Mon exemple n'est pas parlant du tout.
Disons que dans ma variable j'ai des numeros de ports, "80,443,22,445,21,8080" par exemple. La variable est une liste des ports ouverts.
Je veux selectionner toutes les lignes qui vont avoir autre chose que 80,443,22,445,8080,53.
(desole pour mon manque de clarte)
Pas sûr que ca va correspondre à ce que tu souhaites faire non plus, mais tu as l'opérateur "like" qui en combinaison avec des "%" te permet de faire une recherche dans tes champs.
Si je reprend l'exemple du dessus, tu peux écrire quelque chose de la sorte qui va rejeter toutes les variables qui contiennent le mot 'chaise' que ce soit au début, à la fin ou au milieu.
Si tu veux rejeter plusieurs valeur, tu peux dupliquer ta condition avec des valeurs différentes. Dans ce cas, la variable sera rejetée si une des valeurs s'y trouve.Code:SELECT MaSuperTable.Variable FROM MaSuperTable WHERE MaSuperTable.Variable [NOT] like '%chaise%'
Code:SELECT MaSuperTable.Variable FROM MaSuperTable WHERE MaSuperTable.Variable [NOT] like '%chaise%' AND MaSuperTable.Variable [NOT] like '%pain%' AND MaSuperTable.Variable [NOT] like '%fromage%'
Puree, je n'arrive pas a etre clair.
Je reprends avec en exemple des ports reseaux ouverts sur des serveurs (je pense cet exemple parlant).
J'ai une variable qui va contenir une liste de ports.
Et j'ai d'un autre cote une liste predefinie de ports autorises (on va dire 80,443,22).
Je veux selectionner les serveurs qui ont d'autres ports que ceux dans ma liste (80,443,22).
Par ex si ma variable (c'est un champ texte avec un separateur virgule ici) = "22,80" alors je ne selectionne pas.
Si ma variable = "22,80,21" alors je selectionne.
Je selectionne si dans ma variable se trouve un port qui n'est pas dans ma liste predefinie (ma whilelist 80,443,22).
"22" pas selection
"22,443" pas selection
"22,80,443" pas selection
"22,443,21" selection
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
Ça fait longtemps que je n'ai pas fait de base des données, donc désolé pour les imprécisions. Mais dans mes souvenirs, on ne pouvait pas stocker de liste dans une colonne, il fallait créer une seconde table avec une relation. Tu n'aurais alors qu'à sélectionner dans la seconde table puis faire une jointure avec la première (et dédupliquer les résultats ?). C'est possible de changer tes tables ou tu es coincé avec ?
Sur certaines bases, genre Oracle, tu peux 'fabriquer' une sorte de table virtuelle à partir d'une liste de valeur. Par contre les requêtes deviennent un peu ésotérique (CONNECT BY).
Il y a sûrement moyen de faire pareil sur d'autre type de DBMS ou de trouver une ruse à partir de regexp et de sous requêtes, mais ça restera compliqué.
Le plus simple (pour faire la requête) serait en effet de transformer ces listes en une relation stockée dans une autre table.
Quand je dis une liste, c'est un champ texte qui contient une enumeration separee par des virgules.
Reellement quelque chose comme "22,80,21".
Un autre example serait:
je stocke des mots dans une table.
Je veux trouver tous les mots qui contiennent autre chose que les lettres :
i t b e
(ex completement au hasard )
Alors evidemment je peux imaginer ecrire :
si le mot contient a ou c ou d.... mais c'est long et pas toujours possible (dans l'ex des lettres ca va encore, dans l'exemple des ports reseaux c'est plus possible).
edit:
pardon j'avais loupe des questions.
Donc oui la whitelist est non variable.
Et c'est sur du MySQL.
Dernière modification par ursule15 ; 20/02/2019 à 15h18.
C'est compliqué la manipulation des chaînes de caractères en SQL (= y a pas grand chose de prévu).
Là pour t'en sortir je ne vois pas d'autre solution que de découper ta chaîne à tester par les virgules, puis comparer chaque élément à la whitelist.
En MySQL ça paraît faisable avec SUBSTRING_INDEX même si je ne vois pas trop comment gérer la longueur variable...
Une boucle me paraît inévitable.
Edit : sinon, c'est un peu sale, mais :
A répéter avec tous les éléments de ta liste blanche. Au final la dernière nouvelle_colonne créée contiendra ce que tu veux sélectionner. Evidemment il faut au préalable créer ces nouvelles colonnes (autant que de ports autorisés).Code:update ta_table set nouvelle_colonne1 = champ_liste_port where champ_liste_port not like '%22%'; update ta_table set nouvelle_colonne2 = nouvelle_colonne1 where nouvelle_colonne1 not like '%80%'; etc...
Edit 2 : Ou alors effectivement il faut stocker ta liste blanche dans une table ou une vue, et procéder par jointure.
Dernière modification par r4T0n ; 20/02/2019 à 15h50.
Tof : Fuji XT2 + 35 mm f2 + 18-55 mm f2.8 - 4 + un tas de vieux machins avec des bagues et des bidules