Wild ‘n out: the flow Job

Wild ‘N Out, une émission de divertissement présentée par Nick Cannon, est basée sur une série de battle entre la Black Team, qui accueille une célébrité comme capitaine, et la Platinium Team dont Nick Cannon est le capitaine.

Lors l’épisode 10 de la saison 5, la Black Team accueillait Joe Budden tandis que la Platinium Team prennait Big Boi comme invité.

Lors de l’épreuve ‘Flow Job’, qui consiste à faire découvrir un métier sur un rap improvisé à l’une des Wild ‘N Out girl.

Antony « Chico » Bean, de la Platinium Team, nous a sorti ce petit rap plutôt bien inspiré et drôle sur le tatoueur.

Rappers love me cuz my style is great

I put an ice cream cone on Gucci’s face

I did some work on Tyrese’s back

But you can’t really see it cuz he’s so black

Le garde du corps pour Asap Rocky lors de la saison 6:

Hold up girl

Wait a minute

You know how this works

If you wanna meet Asap Rocky tonight

You got to do me first

Dans le même genre pour la masseuse avec Timothy Delaghetto:

Come to me if your neck is sore

I touch your whole body im not a whore

And if i like the tip that you’re sending

I might just give you a happy ending

Publicités

pyLoad avec Docker

Cela fait quelques temps déjà que je lis à droite et à gauche des articles sur Docker. Je trouve que c’est un outil très intéressant afin de tester des applications sans polluer sa machine.

Je me suis donc lancé sur un container plutôt simple. Ce dernier se contente de lancer pyLoad et un serveur ssh. Tout cela orchestré par Supervisor.

Pour mon container j’utilise une image Debian, sur laquelle je commence par installer:

RUN apt-get install -y python-crypto python-pycurl tesseract-ocr git openssh-server supervisor

J’ai décidé d’installer pyLoad depuis les sources disponibles sur Github.

RUN git clone https://github.com/pyload/pyload.git /opt/pyload

Ensuite j’ajoute :

  • le dossier de configuration de pyLoad, qui contient entre autres le fichier pyload.conf qui définit la configuration globale.

ADD pyload /opt/.pyload

  • le fichier de configuration de Supervisor: qui lance le server ssh et pyLoad en mode démon

ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf

Enfin :

  • Je crée un volume qui permettra à d’autres containers d’avoir accès aux fichiers téléchargés.

VOLUME ["/opt/downloads"]

  • J’expose les ports:
    • 8000: pour l’interface web de pyLoad
    • 7227: pour la remote
    • 22: pour les connexions ssh

 EXPOSE 22 8000 7227

  • La commande pour démarrer le service Supervisor:

CMD ["/usr/bin/supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"]

 

Pour lancer le container, il suffit de lancer la commande suivante:

 docker run -d -P jahroots/docker-pyload

On peut ensuite vérifier que le container a été lancé avec: docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ba228da04ad jahroots/docker-pyload:latest /usr/bin/supervisord 4 seconds ago Up 3 seconds 0.0.0.0:49165->22/tcp, 0.0.0.0:49166->7227/tcp, 0.0.0.0:49167->8000/tcp

On peut voir qu’on a une instance de l’image jahroots/docker-pyload:latest qui est lancée, et qu’on peut accéder à l’interface web de pyLoad à http://locahost:49167

 

Les sources sont disponibles sur mon Github.

Update: J’ai réalisé une mise à jour du conteneur afin de réduire un peu sur la taille de l’image. Il est désormais possible de se connecter en ssh[user:root,password:root].

 ssh -p 49165 root@[dockerIp]

Servlet 3.0, Tomcat 7 et Maven

Un petit post rapide afin d’avoir une base de projet pour le développement de Servlet 3.0.

  • Créer un projet webapp avec Maven

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.company -DartifactId=servlet3 -Dversion=1.0-SNAPSHOT

A ce stade, vous pouvez supprimer le fichier web.xml.

  • Ajouter les dépendances nécessaires

Editer le fichier pom.xml et ajouter les dépendances suivantes:

<dependencies> ….
  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
  </dependency>
</dependencies>

Et le plugin Tomcat 7:

<build>
   <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.0</version>
     </plugin>
   </plugins>
</build>
  • Créer la servlet HelloWorld 🙂

package com.company;

import java.io.IOException;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;

@WebServlet(value= »/HelloWorld », name= »HelloWorld »)
public class HelloWorldServlet extends GenericServlet{
private static final long serialVersionUID = 1L;

     @Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.getWriter().println(« Hello world!! »);
}

              }

Voilà ce stade, on peut lancer tomcat: mvn tomcat7:run et accéder à notre servlet: http://localhost:8080/servlet3/HelloWorld

Utiliser maven pour générer des diagrammes UML

Il est possible d’illustrer la javadoc des projets maven en générant automatiquement des diagrammes UML.

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>1.6</source>
<aggregate>true</aggregate>
<doclet>gr.spinellis.umlgraph.doclet.UmlGraphDoc</doclet>
<docletArtifact>
<groupId>gr.spinellis</groupId>
<artifactId>UmlGraph</artifactId>
<version>4.6</version>
</docletArtifact>
<additionalparam>
-inferrel
-inferdep
-quiet
-constructors
-visibility
-types
-postfixpackage
-nodefontsize 9
-nodefontpackagesize 7
</additionalparam>
</configuration>
</plugin>

Mesurer la performance d’une classe Java avec JMeter

JMeter est un outil formidable permettant de réaliser des tests de performances d’applications et de serveurs selon différents protocoles ainsi que des tests fonctionnels[….].

Dans ce petit tutorial, je vais rapidement essayer de montrer comment réaliser des tests de performances sur une classe Java. Cette dernière sera plutôt simple, car elle ne réalise que des insertions dans une base de données MySQL via Hibernate.

Lire la suite