Narmer a écrit 493 commentaires

  • [^] # Re: map/fold/filter

    Posté par  . En réponse à la dépêche The Go Programming Language. Évalué à 1.

    Alors map/fold/filter cela n'a rien à voir avec le langage.
    Les streams sont un pattern arrivés avec scheme qui est tout à fait utilisable avec d'autres langages (js, python, php , etc ). Il suffirait qu'une bonne âme la code pour Go cette lib.

    PS : je m'y colle ce soir

    PS 2 :

    http://streamjs.org/
    coffeestream is a CoffeeScript port by Michael Blume
    streamphp is a PHP port by Ryan Gantt
    python-stream is a Python port by Aris Mikropoulos

  • [^] # Re: GO GO GO GO

    Posté par  . En réponse au journal The Go Programming Language. Évalué à 0.

    Je suis comme toi j'aime bien utiliser des choses que je comprends :) L'intérêt des moteurs d'injection comme guice, hk2 , jodd, et SilkDi (le petit nouveau) c est justement d'être simple et compréhensible lorsque tu codes une application. tu sais ce que tu fais ça compile, c'est la classe.

    Comme toi je n'aime pas l'annotationporn mais si j'utilise des annotations il faut que ce soit les miennes avec des comportements que j'ai décidé.

    Je te rejoins tout à fait dans ton raisonnement, le problème que je cherchais à résoudre est celui-ci :

    1) Un développeur qui créé souvent des applications avec souvent les mêmes composants à injecter va vouloir les réutiliser simplement sans copier/coller la configuration à chaque fois. Le coté déclaratif plutot qu'impératif fait que tu ne te préoccupes plus de la configuration. Les conventions que tu as décidé (exemple plus haut) seront valable sur tous tes projets, tu commences à coder sans penser à la configuration du moteur d'injection.

    2) Dans le cadre d'une entreprise (plutot une corporation) avec > 1000 développeurs avec toutes les problématiques qui vont avec (niveaux des developpeurs hétérogènes, développeurs interne vs externe, SSII aux forfaits, offshore, plusieurs langues etc ) → Il faut prévoir des buildings blocs suffisament autonomes pour que les développeurs se concentrent sur le code métier et non le « code technique » . Avoir un socle technique permet de standardiser sans alourdir et d'avoir moins d'erreur

    C'est dans cet esprit que respectivement nuun et seedstack ont été créé. Pour une application classique, nuun est aussi utilisable tu codes juste ton module Guice tu lui colle un @Install dessus et ça roule. Une dernière chose, nuun est compatible guice, spring, hk2, jodd etc etc car il wrap le moteur d'injection. Cela veut dire que tu peux utiliser au sein d'une même appli de la conf spring, guice, hk2 et Jodd (ce sont des exemples que je prépare pour la documentation)

    Par contre j'ai une question du coup. Comment fais-tu pour reconfigurer ton injection ? Il est important pour moi de pouvoir :

    configurer l'injection à partir de la configuration de mon application
    configurer l'injection pour injecter des mocks lors de mes tests

    Pour reconfigurer l'application est ce que tu peux me donner un exemple précis ? Mais comme ton plugin est du code java tu peux rajouter les regles de reconfiguration que tu veux ou alors utiliser un autre plugin ton application fonctionnera juste différement. Autre chose, Nuun supporte les qualifiers de la JSR330 ce qui veut dire que pour tu peux qualifier ton injection dans notre exemple plus haut.

       @Inject @Name("colissimo") //@Colissimo est aussi possible
       ShippingBusinessRule colissimoShipping; //  ColissimoShipping sera injecté 
    

    Pour les mocks, c est simple tu peux déclarer des bindings d'override (au cas par cas) qui vont faire qu'en cas de test tu utiliseras ton Mock à la place de la vraie implémentation, c est un cas que j'ai pris en compte dès le départ étant moi même friand de Mock.

  • [^] # Re: GO GO GO GO

    Posté par  . En réponse au journal The Go Programming Language. Évalué à 1.

    Nuun est backé par guice, un composant d'injection très flexible avec d'excellentes API et SPI.

    Nuun est un peu plus qu'un moteur d'injection. Son objectif est d'être un coeur logiciel incluant l'injection de dépendance via la JSR 330, la gestion du cycle de vie d'une application et surtout permettre une extensibilité sans friction.

    HK2, Guice, Dagger sont des moteur d'injections et la configuration des injections sont à définir par le développeur à chaque fois.
    Nuun va apporter une API et des nouveaux concepts qui permettent de définir des définitions d'injection dynamiques. Je m'explique :

    Tu peux définir toutes les conventions que tu veux en les décrivant des classes java appelés des plugins. Ces plugins dialoguent avec le kernel et construisent dynamiquement la configuration des injections suivants tes propres regles.
    Par exemple, tu peux décider que toutes les classes implémentant une interface suffixées par *BusinessRule sont injectés dans cette interface.

        public interface ShippingBusinessRule {
           // methodes
        }         
        public class ColissimoShipping implements ShippingBusinessRule {
          // implementation des methodes
        }
    

    à n'importe quelle endroit de ton application tu pourras te servir

        @Path("/checkout")
        public class CheckoutResource {
    
          @Inject
          ShippingBusinessRule businessRule;
    
          public void processCommand () {
              businessRule.process(command)
    
          }
    

    Nuun te permet de te créer ta boite à outils avec tes propres opinions et sans dépendre d'autres librairies. Les conventions ne sont pas forcément basé sur des annotations comme c est le cas dans cet exemple très simple. Des choses plus élaborés sont possibles, par exemple dans seedstack (qui utilise nuun comme coeur) nous avons implémentés un plugin de moteur complet de transactions, un framework pour faire du DDD, un moteur de validation et pleins d'autres choses, et tout ça sans xml et sans annotationporn voir ici http://www.seedstack.org.

  • [^] # Re: GO GO GO GO

    Posté par  . En réponse au journal The Go Programming Language. Évalué à 1.

    Merci je comprends mieux maintenant le besoin. En as tu parlé sur l'une des nombreuses listes de diffusion go-nuts : irc ou mailing list.
    À froid comme ça, je dirais c'est pas bien de mixer un même atomic.Value pour des type differents mais ça résoudra pas ton besoin :)

    Et si je ne me trompe pas ce n'est pas un probleme de générique puisque je ne vois pas comment ça aurait résolu ton problème ici. si jamais tu avais « var value sync.Value<[]byte> » tu ne pourrais toujours pas changer de type (i.e. passer de []byte à autre chose).
    Et dans les 2 cas tu utiliseras 2 variables. Par contre, je suis d'accord avec toi le comportement de atomic.Value est étrange.

    En ce qui concerne le « go generate », je l'utilise et je trouve la solution très pragmatique :)
    Je ne pense pas que cela soit de la bidouille d'une part parce que « go generate » fait partie intégrante de la toolbox et d'autre part les templates à installer sont de simple package go à "go getter" comme les autres (incluable donc dans git). On est en terrain maitrisé.
    Et pour terminer l'esprit de go c'est vraiment ça; ne pas compliquer le langage en utilisant un ecosystème périphérique performant :)

  • [^] # Re: GO GO GO GO

    Posté par  . En réponse au journal The Go Programming Language. Évalué à 3.

    • Les generics afin d’éviter les insertions de type qui peuvent générer des erreurs au runtime

    Merci pour ton analyse je la partage sauf pour les génériques où j'avoue je n'ai pas très bien compris ton point. Le problème le plus souvent adressé par les génériques en java en tout cas, c'est la réutilisation aisée de bout de code générique quelque soit le type. Or Go réponds très bien à cette problématique via « go generate » ces 2 articles en parle ici

    De plus en java le type générique est completement effacé au runtime rendant l'argument d'utilisation des génériques pour les types complexes completement caduques.

    • Sa simplicité, tout est dans le code, pas besoin d'aller voir un fichier xml pour comprendre le comportement d'un bout de code ou une injection de dépendance (un pique contre Spring)
    • Sa compilation pas de choses mystérieuses/magiques au runtime (un autre pique contre Spring)

    [hs]

    Suite à tes remarques complètement pertinentes sur spring et son sur-framework spring-boot, je voulais porter à ta connaissance le projet nuun (https://github.com/nuun-io/kernel), un projet java sur lequel je travaille depuis maintenant 2012 et qui est utilisé en production sur à peu près 50 projets.

    C'est un microkernel java léger qui vise à réinventer/alléger l'injection de dépendance dans le monde java et approfondir l'I.O.C. (comprendre aller plus loin que @MyBlackMagicAnnotation) en proposant une API full java #NOXML pour répondre aux besoins de stacks logicielles un peu ambitieuse et aux applications vraiment grosses.

    Nuun est le kernel de SeedStack ( http://seedstack.org/ ) qui a été présenté au Paris OpenSource summit. SeedStack est la stack logicielle de PSA utilisée en interne et donc opensourcée cette année.

    See https://linuxfr.org/news/le-paris-open-source-summit-arrive-et-linuxfr-org-sera-la-ossparis15#comment-1630876

    Si jamais cela te titillait de savoir comment/pourquoi ? tu peux nous rejoindre sur #nuun sur freenode.

    PS : je vais essayer de faire une dépêche pour présénter ces 2 jeunes projets nuun et seedstack.
    [/hs]

  • [^] # Re: Le même en haut de gamme ?

    Posté par  . En réponse au journal RPI Zero. Évalué à 1.

    Je veux pas dire mais

    ODROID-XU will be discontinued in Q3 2014.

    .

  • [^] # Re: [HS] Violences

    Posté par  . En réponse au journal [HS] La complémentaire santé obligatoire, encore une fausse bonne idée française. Évalué à -1.

    Qui sème le vent …

  • [^] # Re: Mesos comme ramasse-miette

    Posté par  . En réponse au journal Un ramasse-miette pour docker. Évalué à -2.

    ça fait pas un peu j'utilise un tank pour mettre une punaise « Mesos comme ramasse-miette » ?

  • [^] # Re: flyspell

    Posté par  . En réponse au journal Améliorer la correction orthographique et grammaticale sous Emacs. Évalué à 0.

    Tu peux expliquer quelles avantages tu tires à recompiler ton propre emacs ?
    Qu'est ce que tu as "en plus" ?

  • [^] # Re: Bingo

    Posté par  . En réponse au journal [ANN] Channel IRC Sur le Domain Driven Design #dddfr. Évalué à 4.

    orz

    non ce n'est pas du spam c'est encore une fois une annonce pour ceux sur linuxfr que la démarche peux intéresser.
    d'ou le [ANN] dans le sujet du journal.

    Par contre, tu as raison, je vais essayer de faire un journal qui va viser à vulgariser les concepts dont je parle. ça pourra être intéressant.

    Mon but ici était l'annonce du canal pas forcement d'expliciter tous les concepts.

  • [^] # Re: Bingo

    Posté par  . En réponse au journal [ANN] Channel IRC Sur le Domain Driven Design #dddfr. Évalué à 2.

    Plop

    premièrement non tu n'es pas un plouc !
    Deuxièment ce journal est une annonce pour la création d'un canal IRC
    troisièmement le sujet du canal est la "Conception pilotée par le domaine" ("Domain Driven Design" en anglais)
    * Définition Wikipédia Français:

    La conception pilotée par le domaine est une approche de la conception de logiciel basée sur deux principes :

    • les conceptions complexes doivent être basées sur un modèle ;
    • le focus doit être sur le domaine et la logique associée, sans égard à l'implémentation.

    L'expression provient du livre de Eric Evans intitulé Domain-driven design.

    Ce journal invite les gens sensibles aux DDD à venir échanger sur le sujet sur irc.
    Après il y a pleins de mots clés autour de la problématique mais ces mots clés ne sont pas : cloud, bigdata, digital, Internet des objets.
    Ce sont des mots clés sur un domaine précis, pas les mots clés du moment.

  • [^] # Re: Le bon outil !

    Posté par  . En réponse au journal [ANN] Channel IRC Sur le Domain Driven Design #dddfr. Évalué à 1.

    une tribune ? je ne comprends/connais pas.

    IRC en fait on l'utilise quotidiennement, ça m'a paru naturel.

    je veux bien que tu me tuyaute par contre.

  • [^] # Re: Une tasse de thé, mais glacé !

    Posté par  . En réponse au journal la Cour Suprême déboute Google sur l'utilisation des API Java. Évalué à 2.

    Et cet autre chose cela pourrait bien être GoMobile

    https://github.com/golang/mobile

    L'outil est encore à ses débuts mais des binaires sont d'ores et déjà compilables sur android et illohaisse.

    Je pense que le but recherché ici est de remplacer java par go pour les développements mobile dans le futur.

    #popcorn

  • [^] # Re: Chez LDLC ?

    Posté par  . En réponse au message Recherche config ultraportable bien prise en charge par Linux. Évalué à 2.

    Alors j'ai oublié le plus important !

    Résolution QHD+ = 3200x1800

    c’était pourtant mon critère éliminatoire

    et ça c est top cool.

  • [^] # Re: Chez LDLC ?

    Posté par  . En réponse au message Recherche config ultraportable bien prise en charge par Linux. Évalué à 2.

    Pour info, j'ai un clevo

    • 2x256 Go SSD
    • 16 Go de RAM
    • NVidia
    • plusieurs câbles, HDMI , 4 USB, vga,
    • 13 pouces

    Les moins,

    • le clavier est un peu rude
    • c'est pas un ultra-portable, un peu lourd.
    • la batterie très moyenne

    j'en suis assez content, c'est super rapide, les distrib linux sont bien supportés.

    my 2 cents

  • [^] # Re: Les temps ne changent JAMAIS

    Posté par  . En réponse au journal Les temps changent. Évalué à 1.

    C'est des réactions comme ça qui ont permis 400 ans de traite négrière, et (plus grave) envoyé la moitié de l'Europe dans des fours crématoires.
    

    Ce que je trouve le plus grave, c'est la parenthèse dans ta phrase.

    Je suis moi même afro-descendant avec des ancêtres victimes de l'esclavage et de la colonisation, et j'avais compris que non seulement c'était de l'humour mais qu'en plus il y a une sorte de message pour dénoncer cette échelle de gravité et de traitement.

  • [^] # Materiel ?

    Posté par  . En réponse au journal Actualités NAS. Évalué à 1.

    Pour ton projet tu as utilisé quoi comme materiel ?

    ça m'interesse de remplacer mon synology 2 baies par un truc DIY .
    Mais je voudrais retrouver le calme des synology en custom.

    Peux tu nous en dire plus ?

  • # il manque : ./configure && make && sudo make install

    Posté par  . En réponse au journal Installation de logiciel : comportement des utilisateurs en fonction du système d’exploitation. Évalué à 1.

    tout est dans le titre

    installer une application à partir des sources est quand même une particularité que nous avons sur notre OS préféré.

    Je pense que ça manque dans le schema.

  • [^] # Re: Ondes et Conséquences

    Posté par  . En réponse au journal Tesla Motors VS the rest of the world. Évalué à 0.

    J’étais dans le taxi en question, j'ai pu vérifier par moi même. Je ne vais pas remettre en question la parole d'un brave taximan suisse. Pourquoi me mentirait il sur ce point! C'est quoi son intérêt ?

    Si jamais le propriétaire du taxi le vend c'est cela ne va pas lui rapporter grand chose, prix argus inférieur etc
    La location est la seule façon de rentabiliser son achat. ça te va la réponse qu'il m'a donné ?

  • [^] # Re: Ondes et Conséquences

    Posté par  . En réponse au journal Tesla Motors VS the rest of the world. Évalué à -3.

    Faut juste ne pas me prendre pour un idiot avec des trucs du genre "on oublié de tester la réaction du corps humain dans ce nouvel environnement tout électrique" ou "il peut que louer".

    Le but de mon poste était de relater une histoire vraie, le fait que ce taximan ne puisse que louer son taxi je ne l'invente pas et pourtant c'est exactement ce qui lui arrive.

    Je n'ai rien contre cette technologie au contraire. Les nouvelles technologies induisent de nouvelles intolérances qui n'existaient pas avant c'est tout, pas plus. Je ne suis pas anti véhicule électrique ! S'il te plaît évite de faire passer les gens pour ce qu'ils ne sont pas, sauf peut-être pour les cons oui je suis anti-cons (et encore parfois c'est pas entièrement de leur faute).

    En faisant une recherche rapide j'ai découvert http://www.electrosensible.org une association qui existe depuis 2008.
    et aussi ceci http://www.next-up.org/Newsoftheworld/Toyota.php. il y a bien un problème possible notamment si la voiture est bogué.

    La logique marchande fait que les tests de ces nouveaux véhicules n'ont pas été fait avec toute l'envie qu'il aurait fallu sinon les clients ne le découvriraient pas par eux même.

  • # Ondes et Conséquences

    Posté par  . En réponse au journal Tesla Motors VS the rest of the world. Évalué à -10.

    C'est bien beau toussa, mais en parlant avec un taximan en suisse qui conduisait une véhicule électrique, il m'a donné des informations tout à fait troublantes. Il me disait que le véhicule qu'il conduisait lui était loué par un autre taximan car le sien (un peugeot pour le troll) était en panne. Et vous savez pourquoi l'autre taximan lui louait son véhicule électrique ? … et bien parce qu'il ne peut tout simplement plus mettre un pieds dedans sans que son corps réagisse à l’électricité ambiante.

    En clair il est allergique à son véhicule 100% électrique ! et ne peux tout simplement plus le conduire, reste la location. Le pauvre aurait des boutons jusqu'au niveau du kiki et des maux de têtes. Le taximan qui louait le véhicule me disait également ressentir des maux de têtes en fin de journée …

    Dans l'enthousiasme, aurait on oublié de tester la réaction du corps humain dans ce nouvel environnement tout électrique ?

    Des infos, Nal ?

  • [^] # Re: Bonne nouvelle peut-être, mais…

    Posté par  . En réponse au journal End-to-End, l'extension PGP pour Chrome. Évalué à 0.

    Je ne sais pas comment tu peux en conclure qu'elle travaille à des fins d'armement o_O.

    Parce que c'est ce que fais la NSA ?

    Tu confonds tout simplement avec la NRA je crois !

  • # Template de post pour ce journal (voire tous les journaux annonçant un projet libre en php)

    Posté par  . En réponse à la dépêche Kanboard, un logiciel libre pour gérer ses projets avec la méthode Kanban. Évalué à 10.

    Ce template est sous licence WTFPL

    Salut votre projet est super ! 
    
    Mais pourquoi avoir utilisé PHP plutot que $LANGUAGE ? 
    
    ça aurait été qd même beaucoup mieux ! Je ne vais pas l'utiliser juste pour cette raison ...
    
    Tcho

    avec $LANGUAGE :
    - in http://fr.wikipedia.org/wiki/Liste_des_langages_de_programmation et
    - in http://fr.wikipedia.org/wiki/Langage_de_programmation_exotique et
    - not in (Java, C# (mono) )

    Exemple :

    Salut votre projet est super !

    Mais pourquoi avoir utilisé PHP plutot que Malbolge ?

    ça aurait été qd même beaucoup mieux ! Je ne vais pas l'utiliser juste pour cette raison …

    Tcho

  • [^] # Re: « impropre à la création d'applications web complexe » ?

    Posté par  . En réponse au journal Normalisation du langage Dart de Google par l'Ecma. Évalué à 0.

    N'ayant pas précisé effectivment.
    L'IHM via web il n'y a pas de souci. via le package http standard.
    L'IHM via ligne de commande non plus. il existe des lib pour ça
    L'IHM via avec des bindings : webkit, gtk, x11, qt/qml etc , Go2D, etc etc
    L'IHM via des moteurs de jeux il en existe déja

    il est rare qu'un langage inclus directement des fonctionnalité d'IHM, on passe plus par les bindings généralement.

    bon après je ne sais pas exactement ce que tu mettais derrière IHM, avec ça on peut commencer

  • [^] # Re: « impropre à la création d'applications web complexe » ?

    Posté par  . En réponse au journal Normalisation du langage Dart de Google par l'Ecma. Évalué à 0.

    Je suis 42 fois plus productif en C++ qu'en javascript pourtant le premier est aussi dynamique qu'un bloc de béton

    Ah, Je comprends maintenant pourquoi tu es aussi résistant !