Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1826 Le 30/08/2013, à 19:43

ljere

Re : /* Topic des codeurs [8] */

merci Rolinh, j'avais raté ton post ^^


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1827 Le 30/08/2013, à 19:46

Rolinh

Re : /* Topic des codeurs [8] */

Je me disais bien parce que ça faisait un peu celui qui dit que ça l'intéresse, pour qui je m'applique à faire un post détaillé puis qui ne donne plus aucune nouvelles (ce qui est frustrant). tongue

Hors ligne

#1828 Le 30/08/2013, à 19:58

ljere

Re : /* Topic des codeurs [8] */

oui j'ai des petits souci avec l'onglet mes messages il m'affiche des conversations lu alors qu'elles ne le sont pas,
je regarde ça sérieusement demain et encore merci


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1829 Le 30/08/2013, à 21:52

The Uploader

Re : /* Topic des codeurs [8] */

grim7reaper a écrit :

Ptain, c’est encore plus Kleenex® que ce que je pensais oO
Ou alors c’est l’une des nombreuses offres bidons utilisés pour nourrir leur BDD de CV.

Je sais même pas comment t'es censé faire quelque chose qui ait de la valeur en une semaine...


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1830 Le 30/08/2013, à 23:38

Elzen

Re : /* Topic des codeurs [8] */

Le Rouge a écrit :

Un genre de moteur de recherche qui cherche des papiers scientifiques seulement dans des bases de données libres, genre hal, arxiv ou eprint, ça conviendrait ? Vous pourriez en faire un plugin pour duckduckgo pour concurrencer google scholar big_smile

C'est l'idée la plus intéressante parmi celles qu'on a pour le moment, de mon avis et de celui de plusieurs autres membres du commité d'orga smile

The Uploader a écrit :

@Elzen :
D'ailleurs, avoir les ressources au bon endroit a corrigé le bug que j'avais avec ElzQuit (et sûrement d'autres : j'ai enfin trouvé le menu ! \o/)

Chouette big_smile Tu devrais apprécier la dernière MàJ wink

Dernière modification par Elzen (Le 30/08/2013, à 23:38)

Hors ligne

#1831 Le 31/08/2013, à 05:59

grim7reaper

Re : /* Topic des codeurs [8] */

@Rolinh : Il y a plusieurs solutions :
1) À la printk
Attention, dans le code ci-dessous je ne vérifie pas le retour de strtol et autres détails, il faudrait le faire bien sûr.

#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>

#define DEBUG 0
#define TRACE 1

int print(int lvl, const char* fmt, ...);

int loglevel = 0;

int main(int argc, char* argv[])
{
    int trace_var = 42;
    unsigned debug_var = 0xdeadbeef;
    if (argc > 1)
        loglevel = strtol(argv[1], NULL, 10);
    print(TRACE, "This is a trace: %d\n", trace_var);
    print(DEBUG, "This is a debug: %u\n", debug_var);
    return 0;
}

int print(int lvl, const char* fmt, ...)
{
    int status;

    if (lvl >= loglevel)
        status = 0;
    else
    {
        va_list args;
        va_start(args, fmt);
        status = vprintf(fmt, args);
        va_end(args);
    }
    return status;
}

Résultat :

$ ./log    
$ ./log 1  
This is a debug: 3735928559
$ ./log 2
This is a trace: 42
This is a debug: 3735928559

Le plus : tu peux changer le niveau de log sans recompiler.
Les moins : une variable globale (même si elle me semble relativement justifié ici, ça ne fait jamais plaisir), même si tu désactives les logs tu as un appel de fonction.

2) À la printk, variant #define

#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>

#ifndef LOGLEVEL
#define LOGLEVEL 0
#endif

#define DEBUG 0
#define TRACE 1

int print(int lvl, const char* fmt, ...);

int main(void)
{
    int trace_var = 42;
    unsigned debug_var = 0xdeadbeef;
    print(TRACE, "This is a trace: %d\n", trace_var);
    print(DEBUG, "This is a debug: %u\n", debug_var);
    return 0;
}

int print(int lvl, const char* fmt, ...)
{
    int status;

    if (lvl >= LOGLEVEL)
        status = 0;
    else
    {
        va_list args;
        va_start(args, fmt);
        status = vprintf(fmt, args);
        va_end(args);
    }
    return status;
}

Résultat :

$ clang -o log log.c
$ ./log             
$ clang -o log log.c -DLOGLEVEL=1
$ ./log                          
This is a debug: 3735928559
$ clang -o log log.c -DLOGLEVEL=2
$ ./log                          
This is a trace: 42
This is a debug: 3735928559

Le plus : plus de variable globale
Les moins : nécessité de recompiler pour changer le niveau de log, même si tu désactives les logs tu as un appel de fonction.

3) Avec C99 et macro variadiques

#include <stdlib.h>
#include <stdio.h>

#ifndef LOGLEVEL
#define LOGLEVEL 0
#endif

#if LOGLEVEL == 0
#define print_DEBUG(...) ((void) 0);
#define print_TRACE(...) ((void) 0);
#elif LOGLEVEL == 1
#define print_DEBUG(...) printf(__VA_ARGS__);
#define print_TRACE(...) ((void) 0);
#elif LOGLEVEL > 1
#define print_DEBUG(...) printf(__VA_ARGS__);
#define print_TRACE(...) printf(__VA_ARGS__);
#endif

int main(void)
{
    int trace_var = 42;
    unsigned debug_var = 0xdeadbeef;
    print_TRACE("This is a trace: %d\n", trace_var);
    print_DEBUG("This is a debug: %u\n", debug_var);
    return 0;
}

Résultats :

$ clang -std=c99 -o log log.c
$ ./log
$ clang -std=c99 -o log log.c -DLOGLEVEL=1
$ ./log
This is a debug: 3735928559
$ clang -std=c99 -o log log.c -DLOGLEVEL=2
$ ./log
This is a trace: 42
This is a debug: 3735928559

Le plus : Aucun surcoût si tu désactives les logs.
Les moins : nécessité de recompiler pour changer le niveau de log, il faut au moins le C99.



Pour la liste de catégories, je vais essayer ta méthode.
Édit : c’est bon ça fonctionne smile

Dernière modification par grim7reaper (Le 31/08/2013, à 06:59)

Hors ligne

#1832 Le 31/08/2013, à 07:26

Rolinh

Re : /* Topic des codeurs [8] */

J'avais finalement fait quelque chose de très similaire à ta solution 3 avec macro variadiques mais je m'étais demandé s'il n'y avait pas une solution C89 (je préfère coder en C89 si je n'ai pas de raison d'utiliser C99). Enfin bon, sans macro variadique, ça me semble tendu. tongue

Hors ligne

#1833 Le 31/08/2013, à 11:45

The Uploader

Re : /* Topic des codeurs [8] */

Elzen a écrit :
The Uploader a écrit :

@Elzen :
D'ailleurs, avoir les ressources au bon endroit a corrigé le bug que j'avais avec ElzQuit (et sûrement d'autres : j'ai enfin trouvé le menu ! \o/)

Chouette big_smile Tu devrais apprécier la dernière MàJ wink

Ok, c'est à jour. big_smile


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1834 Le 31/08/2013, à 12:14

ljere

Re : /* Topic des codeurs [8] */

très intéressant tes scripts Rolinh je suis entrain de me les adapter wink


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1835 Le 31/08/2013, à 13:15

Rolinh

Re : /* Topic des codeurs [8] */

Content que ça te serve. smile
Si jamais, j'ai oublié de préciser mais, pour les dumps de bdd sql, j'ai un utilisateur, du nom de backup dans l'exemple, qui possède des droits en lecture sur toutes les bases à backuper (d'où le  mysqldump -u backup).

Hors ligne

#1836 Le 02/09/2013, à 10:36

The Uploader

Re : /* Topic des codeurs [8] */

' pensez quoi de QT ou EFL pour les jeux 2D ?

Dernière modification par The Uploader (Le 02/09/2013, à 12:26)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1837 Le 02/09/2013, à 19:42

Steap

Re : /* Topic des codeurs [8] */

@Rolinh: j'ai empaqueté empaqueté dfc pour GNU Guix. J'ai l'impression qu'on ne trouve pas facilement les liens de téléchargement sur la page d'accueil de dfc, mais je suis peut-être juste bigleux.


GNU Guix, un gestionnaire de paquets fonctionnel.

Hors ligne

#1838 Le 02/09/2013, à 21:12

Rolinh

Re : /* Topic des codeurs [8] */

Ok, sympa smile Merci à toi.
Je ne connais pas du tout GNU Guix. C'est un donc gestionnaire de paquets pour GNU? Ça fait bizarre de voir du Scheme en tout cas!
C'est vrai que le lien de téléchargement n'est pas forcément évident. Ce qui est surtout embêtant pour les packagers est le fait qu'il y ait un ID dans l'URL. J'avais ouvert un bug report chez Chiliproject à ce propos mais le projet semble mort à présent (faut que je vois comment migrer les données du site web vers Redmine). Je vais ajouter un lien sur la page d'accueil de dfc afin que ça soit visible  (et piquer ta description, elle est pas mal smile ). Merci de l'avoir signalé. Pour moi qui ai l'habitude de Redmine/Chiliproject c'est évident mais il est vrai qu'intuitivement on ne le trouve pas facilement.

Hors ligne

#1839 Le 02/09/2013, à 22:06

Pylades

Re : /* Topic des codeurs [8] */

@ grim7reaper : un bug sur ton blog. Sur la page d’accueil, où plusieurs articles se suivent, les notes ont le même identifiant pour tous les articles. Du coup, un clic sur une note à partir du second article fait remonter sur les notes du premier article.

Je ne sais pas si je suis bien clair. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1840 Le 03/09/2013, à 01:18

grim7reaper

Re : /* Topic des codeurs [8] */

Exact.
C’est généré par Octopress donc il faut que je regarde si c’est moi qui l’utilise pas comme il faut où s’il s’agit d’un bug.
Merci pour le retour smile

Ok, problème connu et contournable je vais m’inspirer de cette solution.

Édit : normalement c’est OK maintenant.

Dernière modification par grim7reaper (Le 03/09/2013, à 03:24)

Hors ligne

#1841 Le 03/09/2013, à 06:06

ljere

Re : /* Topic des codeurs [8] */

je connais le blog de Rolinh que je lis fréquemment d'ailleurs je dois colorer mon shell, mais ou se trouve celui de grim?


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1842 Le 03/09/2013, à 06:26

Rolinh

Re : /* Topic des codeurs [8] */

http://grim7reaper.rolinh.ch/ wink
(Il est en lien depuis le mien aussi)

Hors ligne

#1843 Le 03/09/2013, à 06:37

ljere

Re : /* Topic des codeurs [8] */

merci c'est agréable de lire des blogs intéressants et en français


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1844 Le 03/09/2013, à 06:43

Rolinh

Re : /* Topic des codeurs [8] */

smile
J'ai beaucoup de plaisir à (re-)lire grim7reaper pour ma part. Il me donne envie de vouloir écrire des articles un peu plus technique. Allez, dès que j'aurais rendu mon mémoire, je finirais mon article avec implémentation de RSA en Ruby et j'en ferais un autre sur le chiffrement homomorphique (on ne trouve quasi rien en français sur le sujet, wikipédia n'y a même pas de page consacrée en français (et la page en anglais est relativement limitée)). J'avais aussi en tête d'écrire un article assez complet sur les Makefile. Enfin bon, on ne dirait peut-être pas comme ça mais des articles un tant soit peu technique prennent énormément de temps à écrire (formulation des phrases pour que cela reste simple et compréhensible, recherche de références fiables, etc.).

Hors ligne

#1845 Le 03/09/2013, à 06:55

ljere

Re : /* Topic des codeurs [8] */

si j'ai des suggestions de sujets, vous pourrez compter sur moi smile


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1846 Le 06/09/2013, à 05:39

Rolinh

Re : /* Topic des codeurs [8] */

Il y en a pas mal ici qui connaissent bien latex non? Je souhaiterais ajouter une footnote dans le caption d'une figure. Or, je n'ai pas trouvé une solution qui fonctionne.
Comment vous faites vous?

Hors ligne

#1847 Le 06/09/2013, à 06:14

grim7reaper

Re : /* Topic des codeurs [8] */

Tu as essayé quoi pour l’instant ?
Pour le moment, après une rapide recherche, ce qui semble ressortir c’est l’usage de footnotemark/footnotetext ou un usage de minipage (cf. ici). Mais tu as sûrement déjà essayé ça.

Je n’ai jamais mis de footnote dans mes caption de figure, par contre une fois j’ai mit une footnote dans un tableau et j’avais du passer par savenotes, je ne sais pas si ça peut aider dans le cas présent.

Un gars mentionne aussi afterpage ici.

Dernière modification par grim7reaper (Le 06/09/2013, à 06:15)

Hors ligne

#1848 Le 06/09/2013, à 06:43

Rolinh

Re : /* Topic des codeurs [8] */

J'ai essayé la solution  avec afterpage que tu mentionnes mais sans le résultat voulu.
Le coup du footnotemark/footnotetext ne marche pas comme je veux dans le sens que la footnote ne se trouve pas forcément sur la même page une fois le document généré.
minipage j'ai pas essayé par contre. Je fais un essai et viendrais signaler le résultat.

EDIT: bon, le coup du minipage, ça me met bien une footnote avec un lien correct sauf que la footnote se trouve juste sous la figure et pas en bas de page du coup.

Dernière modification par Rolinh (Le 06/09/2013, à 06:58)

Hors ligne

#1849 Le 06/09/2013, à 15:44

Rolinh

Re : /* Topic des codeurs [8] */

Tiens, je ne connaissais pas explainshell. Sympa pour ceux qui ne veulent pas ouvrir le man pour savoir ce que fait une commande shell.

Hors ligne

#1850 Le 09/09/2013, à 06:48

Rolinh

Re : /* Topic des codeurs [8] */

Si jamais, pour l'histoire des footnotes dans le caption d'une figure en LaTeX, voici une solution que j'ai trouvé et qui fonctionne (bien que ça soit pas top mais il ne semble y avoir le choix...):

\documentclass{article}
\usepackage[english]{babel}

\renewcommand{\topfraction}{1}
\begin{document}

\section{Using Footnotes in Figure Captions - Demo}

In general, foonotes should not be used in TeX Boxes, especially
figures or even figure captions. For figures themselves, the
{\tt minipage} environment provides an option. If you insist on
having a footnote in the caption of a figure, this hack might help.
But beware! You must find the right location for the \verb?\footnotetext?
command in your document, and there is a certain chance that such a place
will not exist. This document is a perfect example. The figure and its footnote
are on different pages. I consider myself a very tenacious \LaTeX hacker,
and I gave up.

\hfill -- Ulrich Germann
\begin{itemize}
\item use \verb?\addtocounter{footnote}{1}\footnotetext{? {\itshape [the footnote]}\verb?}?
      in the regular, running text to create a footnote.
\item put a label in that footnote
\item references that label in superscript wherever you want
\end{itemize}

\begin{figure}[b]
\small
\begin{minipage}{5.5in}
The footnote for this sentence will show up within the 
figure\footnote{See? Right here!}.

\begin{verbatim}
\begin{document} 
[Main text was here.] 
\begin{figure} 
\small 
\begin{minipage}{5.5in] 
The footnote for this sentence will show up within the 
figure\\footnote{See? Right here!}. 
{\tt ... [this is where the code was]} 
\end{minipage} 
\caption{How to put a footnote in a figure caption$^{\ref{FootNoteForFigureCaption}}$.} 
\label{sample code}
\end{figure}

\addtocounter{footnote}{1}\footnotetext{This is the footnote for the
figure caption\label{FootNoteForFigureCaption}}

\noindent
Sample code is given in figure \ref{sample code}.

\noindent
Here is a nother footnote \footnote{My second footnote.}.
\end{document}
\end{verbatim} 

\end{minipage}
\caption{How to put a footnote in a figure caption$^{\ref{FootNoteForFigureCaption}}$.}
\label{sample code}
\end{figure}

\addtocounter{footnote}{1}\footnotetext{This is the footnote for the
figure caption\label{FootNoteForFigureCaption}}

\noindent
Sample code is given in figure \ref{sample code}.

\noindent
Here is a nother footnote \footnote{My second footnote.}.

\end{document}

source

Dernière modification par Rolinh (Le 09/09/2013, à 10:27)

Hors ligne