Voir le flux RSS

Programmation

  1. [Pense-bête] Rust / Python : le cas des strings / str (chaîne de caractères)

    par , 05/03/2020 à 13h12 (nothus)
    Pour ce pense-bête, penchons-nous tout d'abord dans un nouveau projet :

    ... en pensant à ajouter dans le fichier toml de ce projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [lib]
    name = "projet"
    crate-type = ["dylib"]
    ... et éditer le fichier (préalablement créé) lib.rs dans le dossier ./src :

    Code rust : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    use std::ffi::CString; 
    use std::ffi::CStr; 
    use std::os::raw::c_char;
    ...
  2. Parseur LISP naïf en Rust

    par , 28/11/2019 à 16h47 (nothus)
    Bonjour à tous,

    Edit du 29/11/2019 : ajout à la fin de l'article, de l'amélioration de la fonction de "letters".

    La version présentée ci-dessous permet de parser du LISP (grammaire standard) et renvoie le résultat (une structure dont un arbre plat des atomes génériques trouvés) vers la sortie standard :
    - un atome qui soit au moins un symbole, un nombre, ou un mélange des deux ;
    - un atome de texte avec la compréhension de l'échappement du ...

    Mis à jour 29/11/2019 à 09h11 par Nothus

    Catégories
    Programmation
  3. [LISP] Deux méthodes de remplissage d'une matrice à partir d'un vecteur

    par , 10/05/2019 à 18h15 (nothus)
    Ici une matrice finale de 4x4 depuis un vecteur de 16 éléments. Deux solutions différentes :
    - une imbrication de boucles, permettant d'avoir un accès aux deux dimensions de la matrice avec une variable locale incrémentée (pas de 1) ;
    - une seule boucle, dont on applique au numéro de l'itération une division euclidienne (quotient et reste forment les deux dimensions de la matrice).

    nb : la même matrice est réutilisée, ce qui ne serait probablement pas le cas dans ...
  4. [LISP] "Coroutines" simples et SBCL

    par , 16/04/2019 à 10h54 (nothus)
    Ne trouvant mon bonheur, j'ai testé quelques combinaisons pour me rapprocher des coroutines... Il ne s'agit pas réellement de coroutines, car il n'y a pas suspension de l'exécution d'une fonction. La lambda utilisée ici comme un itérateur (closure), peut recevoir des arguments lors de l'appel (ce n'est pas le cas dans mon exemple). Ainsi vous pouvez facilement émettre et recevoir à chaque appel des valeurs.

    Code lisp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (define-condition coroutine-terminee (error)
    	( (message :initarg
    ...

    Mis à jour 16/04/2019 à 23h09 par Nothus

    Tags: coroutines, lisp, sbcl
    Catégories
    Programmation
  5. [Python] Script pour un service mandataire TCP asynchrone avec TLS

    par , 26/03/2019 à 10h15 (nothus)
    Bonjour,

    Pour ceux que ça intéresse, un petit script fonctionnel pour disposer d'un mandataire TCP.
    • Le port en écoute vers l'extérieur peut être chiffré (TLS).
    • Le port en écoute vers le service est en clair (et en local).


    Deux tâches asynchrones sont lancées pour transmettre à l'un ou l'autre le contenu (sans attendre un échange formalisé ou "protocolisé"). Ce mandataire fonctionne avec HTTP et d'autres protocoles.

    Le script ...
Page 1 sur 4 1234 DernièreDernière