HtmlToText
aller au contenu | aller au menu | aller à la recherche vendredi 16 septembre 2011 deviner la variable java_home en bash par masclet le vendredi 16 septembre 2011, 16:41 - linux lors de l'écriture de l'un de mes scripts, j'ai du deviner la variable java_home. j'ai donc écrit une fonction en bash que je vous livre et qui pourra sans doute vous aider #!/bin/bash function guess_java_home(){ for i in `readlink -f \` which java\`` do java_home=${i/bin\/java/} echo "java_home=${java_home}" done } un commentaire aucun rétrolien dimanche 28 novembre 2010 easymock en environnement multithread par masclet le dimanche 28 novembre 2010, 13:39 - tests / xunit lorsque vous voulez 'mocker' un objet et que ce dernier sera appelé par plusieurs threads, vous aurez le message suivant "un-thread-safe mock called from multiple threads". par exemple : @test public void mytest(){ list mocklist = easymock.createmock(list.class); easymock.expect(mocklist.add(easymock.anyobject())).times(number_of_thread); easymock.replay(mocklist); mythread[] ratethread= new mythread[number_of_thread]; for(int i=0;i<number_of_thread;i++){ ratethread[i]= new mythread(){ @override doit(){ mocklist.add("foo"); } }; ratethread[i].start(); } } il vous faut alors ajouter easymock.makethreadsafe(mocklist, true); . avant le replay(mocklist) aucun rétrolien jeudi 21 octobre 2010 les génériques java et easymock par masclet le jeudi 21 octobre 2010, 21:42 - java / j2ee parfois nous devons exécuter un traitement et si le résultat est null nous voulons renvoyer un résultat par défaut. par exemple une liste vide. cela permet d'éviter les nullpointerexception s si nous parcourons la liste. exemple : list<contact> contacts = getcontacts(); for (contact contact : contacts){ contact.setactive(true); } si getcontacts() renvoie null le code renverra une nullpointerexception . il est possible avec les génériques java de le faire d'une manière élégante : public static <t> t notnull(t test, t defaultvalue){ return t == null ? test : defaultvalue; } on peut alors écrire : list<contact> contacts = notnull(getcontacts(),new arraylist<contact>); ce code n'est pas révolutionnaire mais il montre à quel point les génériques de de java peuvent être utiles. c'est d'ailleurs de cette manière que easymock fonctionne. lorsque vous écrivez myclass mock = easymock.createmock(myclass.class); easymock.expect(mock.function()).andreturn(value); le type de value est déterminé en générique java par le retour de function() : public <o> o expect(o t) { return t; } aucun rétrolien mercredi 13 octobre 2010 hibernate : différence entre get() et load() par masclet le mercredi 13 octobre 2010, 14:12 - hibernate hibernate spring si vous êtes un utilisateur d'hibernate, que ce soit avec spring ou pas, vous êtes vous déjà posé la question de savoir quelles sont les différences entre session.load() et session.get() . comprendre les différences permet souvent d'optimiser les accès à la base de données. lire la suite ... aucun rétrolien mercredi 6 octobre 2010 gérer les sessions hibernate sans transaction par masclet le mercredi 6 octobre 2010, 22:45 - hibernate hibernate spring comme vous le savez déjà peut être, les sessions hibernate sont très fortement couplées aux transactions : hibernate ouvre et ferme les sessions au début et à la fin d'une transaction. lors du développement d'une librairie (dao), je me suis posé la question "est il possible de ne pas utiliser un contexte transactionnel pour gérer les sessions ?". en effet lors de mes tests qui sont transactionnels, tout se passait bien mais lorsque j'intégrais mon code dans un contexte non transactionnel et que je tentais de récupérer des associations liées à une entité, j'avais des lazyinitializationexception car les sessions était fermées. j'avais alors plusieurs solutions : utiliser le filtre spring opensessioninviewfilter , mais cela rend ma librairie non portable car cela ne fonctionnera que dans un contexte web faire des méthodes ad'hoc pour récupérer l'entité ou l'entité avec ses associations chargées (eager), mais au détriment d'un code moins lisible et où il est facile de ne pas utiliser la bonne méthode charger les associations directement (par configuration) avec fetchtype=eager. pas assez performant ! utiliser les profiles de fectching faire une gestion des session par thread. je vous propose de voir comment j'ai implémenté la dernière solution lire la suite ... 3 commentaires aucun rétrolien une annexe jeudi 12 août 2010 autocomplétion dans l'interpréteur interactif python par masclet le jeudi 12 août 2010, 09:47 - python je vous propose une petite astuce pour activer l'autocomplétion ainsi qu'un historique des commandes tapées dans l'interpréteur python. python 2.0 minimum est requis #!/usr/bin/env python # add auto-completion and a stored history file of commands to your python # interactive interpreter. requires python 2.0+, readline. autocomplete is # bound to the esc key by default (you can change it - see readline docs). # # store the file in ~/.pystartup, and set an environment variable to point # to it, e.g. "export pythonstartup=/max/home/itamar/.pystartup" in bash. # # note that pythonstartup does *not* expand "~", so you have to put in the # full path to your home directory. import rlcompleter import readline readline.parse_and_bind("tab: complete") import os histfile = os.path.join(os.environ["home"], ".pyhist") try: readline.read_history_file(histfile) except ioerror: pass import atexit atexit.register(readline.write_history_file, histfile) del histfile, readline, rlcompleter sauvegarder le code ci dessus dans un fichier : ~/.pystartup définissez une variable d'environnement pointant vers ce fichier dans le fichier bashrc : (~/.bashrc) : export pythonstartup=/home/user/.pystartup david aucun rétrolien jeudi 10 juin 2010 le cloud computing par masclet le jeudi 10 juin 2010, 15:43 le cloud computing est un concept ou les applications sont exécutées par une puissance de calcul dont on ne gère plus l'infrastructure sous-jacente, on parle alors de puissance de calcul ou de stockage à la demande. par analogie on peut comparer le cloud computing à la consommation électrique : on fait varier la production en fonction de la demande. lire la suite ... aucun rétrolien mercredi 9 juin 2010 10 minutes pour comprendre...nosql par masclet le mercredi 9 juin 2010, 14:31 - 10 minutes pour... lorsque l'on parle de sites à fort trafic et de bases de données, on n'entend rarement parler de bases de données relationnelles. en effet, garantir la consistance des données coute chère en temps et est souvent incompatible avec les performances. puisque le modèle relationnel ne semble pas adapté dans des environnement nécessitant de grosses architectures et que les propriétés acid des bases ne permettent généralement pas de passer à l'échelle, un nouveau mouvement (encore un ;)) est née de l'initiative des architectes de cloud computing et des sites communautaire comme facebook, amazon et linkin : le nosql, (aka : not only sql ). ce billet tente de faire le tour d'horizon des différents types de bases nosql , les différentes solutions disponibles sur le marché et dans quels cas les utiliser. lire la suite ... aucun rétrolien mercredi 19 mai 2010 les différents modèles économiques de l'open source par masclet le mercredi 19 mai 2010, 10:05 souvent lorsque je parle de gisgraphy , la question qui m'est posée est "quelles sont tes motivations" et "est-ce que tu gagnes de l'argent avec ce projet". après leur avoir expliquer que le projet est open source et libre. la réaction est quasi toujours la même : "tu n'a pas peur que quelqu'un te pique le projet ? et comment peut on gagner de l'argent alors que tout est gratuit ?". j'ai donc décidé de faire ce billet pour expliquer mes motivations ainsi que les différentes façons de gagner de l'argent avec des projets open source et libres. autant vous le dire tout de suite : je perds de l'argent avec gisgraphy, mais mon
Informations Whois
Whois est un protocole qui permet d'accéder aux informations d'enregistrement.Vous pouvez atteindre quand le site Web a été enregistré, quand il va expirer, quelles sont les coordonnées du site avec les informations suivantes. En un mot, il comprend ces informations;
Domain Name: gisgraphy.com
Registry Domain ID: 1464724421_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.gandi.net
Registrar URL: http://www.gandi.net
Updated Date: 2017-03-05T20:10:16Z
Creation Date: 2008-05-04T15:29:59Z
Registrar Registration Expiration Date: 2020-05-04T15:29:59Z
Registrar: GANDI SAS
Registrar IANA ID: 81
Registrar Abuse Contact Email: abuse@support.gandi.net
Registrar Abuse Contact Phone: +33.170377661
Reseller:
Domain Status: clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited
Domain Status:
Domain Status:
Domain Status:
Domain Status:
Registry Registrant ID:
Registrant Name: Masclet David
Registrant Organization:
Registrant Street: Obfuscated whois Gandi-63-65 boulevard Massena
Registrant City: Obfuscated whois Gandi-Paris
Registrant State/Province: Paris
Registrant Postal Code: 75013
Registrant Country: FR
Registrant Phone: +33.170377666
Registrant Phone Ext:
Registrant Fax: +33.143730576
Registrant Fax Ext:
Registrant Email: bdd8dc4db60d7c1a6c856fd55ade38ef-825160@contact.gandi.net
Registry Admin ID:
Admin Name: Masclet David
Admin Organization:
Admin Street: Obfuscated whois Gandi-63-65 boulevard Massena
Admin City: Obfuscated whois Gandi-Paris
Admin State/Province: Paris
Admin Postal Code: 75013
Admin Country: FR
Admin Phone: +33.170377666
Admin Phone Ext:
Admin Fax: +33.143730576
Admin Fax Ext:
Admin Email: bdd8dc4db60d7c1a6c856fd55ade38ef-825160@contact.gandi.net
Registry Tech ID:
Tech Name: Masclet David
Tech Organization:
Tech Street: Obfuscated whois Gandi-63-65 boulevard Massena
Tech City: Obfuscated whois Gandi-Paris
Tech State/Province: Paris
Tech Postal Code: 75013
Tech Country: FR
Tech Phone: +33.170377666
Tech Phone Ext:
Tech Fax: +33.143730576
Tech Fax Ext:
Tech Email: bdd8dc4db60d7c1a6c856fd55ade38ef-825160@contact.gandi.net
Name Server: A.DNS.GANDI.NET
Name Server: B.DNS.GANDI.NET
Name Server: C.DNS.GANDI.NET
Name Server:
Name Server:
Name Server:
Name Server:
Name Server:
Name Server:
Name Server:
DNSSEC: Unsigned
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2017-07-16T05:33:23Z <<<
For more information on Whois status codes, please visit
https://www.icann.org/epp
Reseller Email:
Reseller URL:
Personal data access and use are governed by French law, any use for the purpose of unsolicited mass commercial advertising as well as any mass or automated inquiries (for any intent other than the registration or modification of a domain name) are strictly forbidden. Copy of whole or part of our database without Gandi's endorsement is strictly forbidden.
A dispute over the ownership of a domain name may be subject to the alternate procedure established by the Registry in question or brought before the courts.
For additional information, please contact us via the following form:
https://www.gandi.net/support/contacter/mail/
REGISTRAR GANDI SAS
REFERRER http://www.gandi.net
SERVERS
SERVER com.whois-servers.net
ARGS domain =gisgraphy.com
PORT 43
SERVER whois.gandi.net
ARGS gisgraphy.com
PORT 43
TYPE domain
RegrInfo
DOMAIN
NAME gisgraphy.com
NSERVER
A.DNS.GANDI.NET 173.246.98.1
B.DNS.GANDI.NET 213.167.229.1
C.DNS.GANDI.NET 217.70.179.1
STATUS
clientTransferProhibited https://icann.org/epp#clientTransferProhibited
CHANGED 2017-03-05
CREATED 2008-05-04
EXPIRES 2020-05-04
REGISTERED yes
Go to top