Xaelias Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 Je vais regarder merci :-) Et si qq'un a la solution pour les expressions régulières je suis prener :-) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
foetus Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 (modifié) J'ai regardé le truc et apparemment l'implémentation n'est pas totalement complète (à vérifier): donc il faut oublier Sinon le "?:" sert à quoi En faisant le truc avec le regexp standard: 1) Avec "^([0123456789]+/){2}([0123456789]+)$", il trouve 2 parties 2) Avec "^([0123456789]+/)([0123456789]+/)([0123456789]+)$", il trouve 3 parties C'est le quantificateur borné personnalisé qui semble tout prendre Modifié le 6 mars 2014 par foetus Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xaelias Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 Ouai enfin si ils implémentent pas tout aussi le ?: sert à pas avoir de callback. Je pense pas t'apprendre grand chose en te disant que ce qui est entre parenthèse est enregistré comme étant un match. Le ?: sert à avoir des vraies parenthèses et pas des callback. Ce qui me permet de faire prendre effet le {2} sur (?:.....) sans enregistrer ce qui est entre parenthèse comme étant un match :-) Merki en tous cas :-) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
foetus Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 (modifié) Code en mode arrache pour tester #include <stdio.h>#include <stdlib.h>#include <string.h>#include <regex.h>int main (void) { regex_t preg; const char* str_request = "11/22/33"; const char* str_regex = "^([0123456789]+/){2}([0123456789]+)$";// const char* str_regex = "^([0123456789]+/)([0123456789]+/)([0123456789]+)$"; int err = regcomp(&preg, str_regex, REG_EXTENDED); if (err == 0) { regmatch_t* pmatch = NULL; size_t nmatch = preg.re_nsub; printf("main: find %d part%c\n", nmatch, ((nmatch > 1)? 's': ' ')); pmatch = malloc(sizeof(*pmatch) * nmatch); if (pmatch) { int part = 0; int match = regexec(&preg, str_request, nmatch, pmatch, 0); regfree (&preg); if (match == 0) { for(part = 0; part < nmatch; part++) { if (pmatch[part].rm_so == (size_t) -1) { break; /* No more groups */ } char str_part[strlen(str_request) + 1]; strcpy(str_part, str_request); str_part[pmatch[part].rm_eo] = 0; printf("main: Group %u: [%2u-%2u]: %s\n", part, pmatch[part].rm_so, pmatch[part].rm_eo, (str_part + pmatch[part].rm_so)); } } else if (match == REG_NOMATCH) { printf("main: %s n\'est pas une expression valide\n", str_request); } else { size_t size = regerror(err, &preg, NULL, 0); char* text = malloc(sizeof(*text) * size); if (text) { regerror(err, &preg, text, size); printf("main - Erreur 1: %s\n", text); free(text); } else { printf("main - Erreur 2: Memoire insuffisante\n"); exit(EXIT_FAILURE); } } } else { printf("main - Erreur 3: Memoire insuffisante\n"); exit(EXIT_FAILURE); } } else { printf("main: regcomp NULL\n"); } return(EXIT_SUCCESS);} Modifié le 6 mars 2014 par foetus Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xaelias Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 Je regarderai je te remercie, mais du coup là je pars sur autre chose en même temps... À savoir, pour un autre programme je voudrais stocker des données dans une bdd. Je pourrais bien sûr simplement utiliser mysql (ce que je vais faire pour l'instant), mais plutôt que d'avoir les donénes stockées quelque part sur l'ordi, j'aimerais la bdd soit stockée dans un fichier que je choisis (i.e. quelque part dans mon arborescence de programme). Si vous savez comment faire ça! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
foetus Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 SQLite, mais en mode C Après tu as un outil pour regarder ta base (mais il y en a d'autres, mais c'est le plus simple) parce que tout faire à la console Par contre je n'ai jamais codé du SQLite en mode C/ Win 32, qu'avec des applications iPhone Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xaelias Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 Je regarde merci! C'est en python (dsl j'étais persuadé de l'avoir précisé ) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
foetus Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 SQLite Python Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xaelias Posté(e) le 6 mars 2014 Partager Posté(e) le 6 mars 2014 Merci bcp! Je ne sais pas trop pourquoi je n'ai pas réussi à trouver ça tout seul mais bon... Je regarde ça du coup :-) Thx! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tom23 Posté(e) le 15 mars 2014 Partager Posté(e) le 15 mars 2014 Salut ! Je passe dans le coin pour voir si certains d'entre vous qui s'y connaissent en PHP/HTML/CSS/JS/ auraient envie d'apporter leur aide à un petit projet d'interface web pour installation domotique. Je m'auto-quote ayant déjà posté dans un autre topic Le but de ce projet est de fournir une interface web utilisable par tout un chacun en sa basant sur le projet Domoticz. Domoticz est un programme qui transforme un pc en centrale domotique. Il est opensource, gratuit et fonctionne très bien sur un raspberry pi. Il possède déjà une interface web, mais celle ci est trop tournée vers l'administrateur de l'installation domotique. Pour une utilisation familiale, j'ai lancé l'idée d'une interface plus basique permettant d'accéder aux informations les plus utiles de l’installation sur le forum de HomeServer-DIY. Le but étant par exemple d'afficher dès la page d'accueil la température extérieure et/ou de notifier le passage du facteur, ou le fait qu'une fenêtre est ouverte depuis un trop long moment. Domoticz possède une API permettant pas mal de chose et c'est sur celle-ci que nous nous appuyons pour coder cette interface. Sauf que nous le faisons en amateurs. Nous ne sommes pas experts et nous proposons à toute personne connaissant les HMTL/CSS/PHP/JS de venir participer au projet. En passant sachez que pour le moment une grosse partie du travail a été faite par un INpactien. Pour le moment nous disposons d'un topic dédié sur notre forum ainsi que d'un salon xmpp. Si vous souhaitez participer ça se passe là: http://homeserver-di....php?f=20&t=511 Toute aide étant la bienvenue. Merci de m'avoir lu. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
John Shaft Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 de l'enfer pour poster ce truc trouvé dans un bout de Lisp (defvar *60* 60) ;; should be 60 "should be" Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 3 novembre 2015 Partager Posté(e) le 3 novembre 2015 Boarf, il y a "should be" et "should be" En ce moment, j'ai un logstash qui me fait des Heisenbugs alors qu'il ne devrait pas...le pipeline est on ne peut plus simple et le même code avec les même inputs ne produit pas toujours le même résultat...4 fois sur 5 c'est bon...mais la fois restante...sur quelques Go de logs, c'est con d'avoir autour de 100k lignes de log de plus que ce qu'on a réellement (ou une ligne de code ruby - syle helloworld - dans le pipeline qui plante ou pas sur le même input)...bon après, j'avais demandé à ceux qui alimentent la chose de ne pas mettre trop de logs pour commencer, mais ils ont fait les bourrins Après, je ne comprends pas trop certains choix qui ont été faits sur logstash : pourquoi ils aggrègent les fichiers de conf en 1 seul en utilsant l'ordre lexicographique pourquoi le modèle de concurrence de la chose semble totalement foireux pourquoi ils n'ont pas utilisé un langage qui facilite la manipulation de stream tout en ayant un modèle de concurrence difficile à prendre en défaut - genre Go ou Scala pourquoi avoir voulu faire un truc souple avant de le rendre fiable...fluentd est robuste et commence à s'assouplir ce qui un choix beaucoup plus cohérent ... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 12 décembre 2015 Partager Posté(e) le 12 décembre 2015 Si on m'avait dit que pour écrire un rapport il fallait savoir coder... Le LaTeX c'est pas simple Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aloyse57 Posté(e) le 13 décembre 2015 Partager Posté(e) le 13 décembre 2015 Si on m'avait dit que pour écrire un rapport il fallait savoir coder... Le LaTeX c'est pas simple Maintenant tu sais pourquoi Word est plus répandu que LaTeX Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 13 décembre 2015 Partager Posté(e) le 13 décembre 2015 Je prefere LibreOffice qui a utiliser un traitement de texte... Mais je comprend l'interet quand il faut sortir des formules mathematiques ou chimiques :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
theprecursor Posté(e) le 13 décembre 2015 Partager Posté(e) le 13 décembre 2015 Mine de rien, la fonctionnalité "insertion d'une équation" de Word est relativement pratique à utiliser si dans ton document, tu as juste quelques formules à insérer. Latex, c'est dur à prendre en main. Mais après, tu fais que des progrès et tu gagnes de plus en plus de temps à force de l'utiliser. Sauf des fois où tu veux sortir du cadre et faire un affichage personnalisé. Tu regrettes alors de ne pas pouvoir éditer le rendu directement. Mais comme c'est pas vraiment la philosophie, c'est normal d'en chier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
foetus Posté(e) le 13 décembre 2015 Partager Posté(e) le 13 décembre 2015 (modifié) Mais comme c'est pas vraiment la philosophie, c'est normal d'en chier La philosophie de TeX (LaTeX est une surcouche) c'est d'avoir un programme qui puisse faire tous les calculs nécessaires pour avoir le meilleur rendu (il travaille en point didot il me semble). Ce qu'un logiciel WISIWIG ne peut pas trop faire à cause de son approche "rendu [quasi] temps-réel". De plus travailler avec "un compilateur" permet d'avoir des fichiers légers et qu'on puisse générer simplement le résultat. De plus TeX évolue peu (il a été conçu dès le départ pour travailler de façon optimale) et son numéro de version tend vers Pi il me semble. Modifié le 13 décembre 2015 par foetus Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 13 décembre 2015 Partager Posté(e) le 13 décembre 2015 Il me semble avoir lu quelque part que Tex a une unité de mesure aussi grande que la longueur d'onde de je sais put quelle couleur Tex est en version finale depuis 20 ans ^^ C'est LaTeX qui evolue tres lentement tellement il est bien fait. C'est vrai que c'est assez chiant mais quand on a posé sa structure, on peut réutiliser pour presque n'importe quoi avec toujours un rendu impeccable Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
theprecursor Posté(e) le 13 décembre 2015 Partager Posté(e) le 13 décembre 2015 La dernière version de TeX est la 3.14159265. Elle est sortit en janvier 2014 d'après wikipédia. Effectivement, ça correspond exactement aux premières décimales de PI ! On voit qu'il y a des amateurs de mathématiques parmis les développeurs Il me semble avoir lu quelque part que Tex a une unité de mesure aussi grande que la longueur d'onde de je sais put quelle couleur J'étais perplexe alors j'ai un peu cherché En fait, la plus petite unité disponible dans TeX est le scaled-point "sp" https://en.wikibooks.org/wiki/TeX/TeX_dimensions Et d'après des conversions que j'ai trouvé page 6 de ce pdf http://latex-pearson.org/ressources/2010/annexe-C.pdf ça correspond à 5.363 nanomètres. Le violet a une longueur d'onde de 400 nm Ca fait une sacrée précision ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 24 décembre 2015 Partager Posté(e) le 24 décembre 2015 Le créateur de TeX n'est autre qu'un certain Donald Knuth...un mec qui s'est un jour juré d'écrire un monographe sur "The Art Of Computer Programming"...et qui s'est rendu compte que c'était relativement complexe d'écrire une somme pareille...il avait prévu 7 volumes...pour le moment, on en est à 4.75 (environ)...en partie parcequ'il trouvait que son éditeur pour les deux premiers volumes avait fait un travail de ...du coup, il a crée TeX (et pour le fun, TeX est Turing-Complete) Ce mec est un dieu vivant Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 2 février 2016 Partager Posté(e) le 2 février 2016 Vu dans le dernier Kernighan func BitCount(x uint64) int { // Hacker's Delight x = x - ((x >> 1) & 0x5555555555555555) x = (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333) x = (x + (x >> 4)) & 0x0f0f0f0f0f0f0f0f x = x + (x >> x = x + (x >> 16) x = x + (x >> 32) return int(x & 0x7f) } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.