mercredi 15 juin 2011

leparisien.fr : site en japonais => site hacké ?

Waouuuuuuu, quand on tape leparisien.fr, superbe page blanche avec comme message :

無効なURLです。ドメイン設定の反映待ちか、存在しないアドレスです。
再度ご確認のうえアクセスをお試しください


Configuration d'une application Java/Spring/Hibernate pour utiliser JavaMelody

Ceci est un petit résumé...
  • Monitoring SQL, sans Datasource :
- modifier le driver :
hibernate.connection.driver_class : net.bull.javamelody.JdbcDriver
hibernate.connection.driver : oracle.jdbc.driver.OracleDriver
  • Monitoring des Services (les @Service) :
- rajouter l'interface Monitored dans le package com.toto

- rajouter "implements Monitored" sur les classes des services que l'on souhaite monitorer

- rajouter dans applicationContext.xml :

<bean id="facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor">
    <property name="pointcut">
            <bean class="net.bull.javamelody.MonitoredWithInterfacePointcut">
                 <property name="interfaceName" value="com.toto.Monitored" />
            </bean>
        </property>
</bean>



PS : on peut aussi le faire avec @net.bull.javamelody.MonitoredWithSpring à la place de l'interface... 
pour plus d'infos : doc de JavaMelody


  • Configuration diverse:
- rajouter dans web.xml :

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:net/bull/javamelody/monitoring-spring.xml
            classpath:applicationContext*.xml
        </param-value>
</context-param>

<filter>
         <filter-name>monitoring</filter-name>
         <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
         <filter-name>monitoring</filter-name>
         <url-pattern>/monitoring</url-pattern>
</filter-mapping>
 
<listener>
         <listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>


- rajouter dans pom.xml :

<dependency>
            <groupId>net.bull</groupId>
            <artifactId>javamelody</artifactId>
            <version>1.29.0</version>
</dependency>
<dependency>
            <groupId>org</groupId>
            <artifactId>jrobin</artifactId>
            <version>1.5.9.1</version>
</dependency>  



  • Si jamais vous avez un message du genre "dépendance cyclique" (en gros un service A fait référence à un service B qui fait référence au A) :
- créer la classe AllowRawInjectionDespiteWrappingXMLWebApplicationContext :

package com.toto.utils.spring;

import java.io.IOException;

import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.web.context.support.XmlWebApplicationContext;

public class AllowRawInjectionDespiteWrappingXMLWebApplicationContext extends XmlWebApplicationContext {

  @Override
  protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws IOException {
    beanFactory.setAllowRawInjectionDespiteWrapping(true);
    super.loadBeanDefinitions(beanFactory);
  }
}


- rajouter dans web.xml :
<context-param>
        <param-name>contextClass</param-name>
        <param-value>com.toto.utils.spring.AllowRawInjectionDespiteWrappingXMLWebApplicationContext</param-value>
    </context-param>


    

mardi 7 juin 2011

Affiches Hadopi : "future auteure"

Oh miracle ! Je viens d'apprendre (merci la news PC INpact) qu'Hadopi va démarrer des campagnes de presse/télé/radio.

En lisant le texte sur les affiches Hadopi pour la presse je remarque une chose étrange : le terme "future auteure". Mhhhhhhhhhh gros doute.... Moué, je me dis qu'Hadopi (ou plutôt son agence de com' Havas ???) n'a quand même pas fait une si grosse boulette...

Allons sur Larousse : "auteur" existe (nom masculin) mais pas "auteure"... 
Allons sur le dictionnaire de TV5 mmmmhhhhh idem : "auteure" n'existe pas...

Très très curieux...

lundi 30 mai 2011

Serialiser en Python (et l'inverse)

Pour transformer un objet Python en bytes (et inversement), il existe le module pickle, qui permet :

- de serialiser : myBytes=pickle.dumps(myObject)
- de deserialiser : myObject=pickle.loads(myBytes)

Cela fonctionne avec Python 2 et 3


PS : il y a aussi marshal pour les types "basiques", cf http://python.developpez.com/faq/?page=Objet#ObjetSave

jeudi 14 avril 2011

Supprimer Orange Messenger et Orange Maps du Blackberry

- Aller dans Options > Options avancées > Annuaire de services
- Aller sur la ligne "Orange IM"
- Cliquer sur la touche avec le logo Blackberry
- Choisir "Supprimer"
- Aller sur la ligne "Orange Maps"
- Cliquer sur la touche avec le logo Blackberry
- Choisir "Supprimer"

N'hésitez pas à me laisser un petit commentaire et un +1 si vous avez trouvé cette astuce utile. Merci :o)

jeudi 7 avril 2011

Lister les contraintes sous Oracle

Lister les contraintes de l'utilisateur en cours :
SELECT count(*)  FROM USER_CONSTRAINTS

Lister les contraintes d'un autre utilisateur :
SELECT count(*)  FROM ALL_CONSTRAINTS WHERE OWNER='<THE_USER>';

Connaitre la version d'Oracle via SQL

select * from v$version;

select * from product_component_version;

Categories