Concept
Vous avez un nom de domaine (genre localhost) et vous souhaitez rediriger le sous-domaine http://scm.localhost vers le serveur local qui tourne sur le port 8001 et http://ci.localhost vers le port 8002.
Voici comment faire avec Nginx :
- Le fichier est à créer dans /etc/nginx/site-available
- Puis il faut créer un lien symbolique dans /etc/nginx/site-enable pointant vers votre fichier de conf.
## Redirige le sous-domain SCM vers le port 8001
server{
server_name scm.localhost;
location / {
proxy_pass http ://127.0.0.1:8001; # ATTENTION : j'ai ajouté un espace entre http et :// car mon parseur Markdown déconne
}
}
## Redirige le sous-domain CI vers le port 8002
server{
server_name ci.localhost;
location / {
proxy_pass http ://127.0.0.1:8002; # ATTENTION : j'ai ajouté un espace entre http et :// car mon parseur Markdown déconne
}
}
Pour toi Animal
Types de requêtes SQL avec la requête en dessous de son schéma pour mieux la comprendre.
Rapide, simple, efficace, pertinent.
Pour toi Lenny, si tu souhaites te mettre au Deep Learning. Bon l'article utilise quelques formules de math mais si tu apprends à lire les symboles, c'est comme la programmation, ça passera mieux en comprenant les mots-clefs.
Bref deux articles sympatiques à découvrir dans cet ordre :
- https://www.technologies-ebusiness.com/enjeux-et-tendances/le-deep-learning-pas-a-pas
- https://www.technologies-ebusiness.com/langages/le-deep-learning-pas-a-pas-limplementation-22
Un PDF un poil théorique mais avec beaucoup de code en exemple : http://deeplearning.net/tutorial/deeplearning.pdf
Et un bon set de tutos : http://deeplearning.net/tutorial/
Je copie-colle :
Petit tuto de ce que j'ai fait l'autre jour :) https://framapiaf.org/@mitsu/550072
Comme vous le savez, la DHT (Distributed Hash Table) est le mécanisme décentralisé utilisé par les logiciels Bittorrent pour échanger les informations sur les torrents, ainsi que les sources et pairs.
Ainsi lorsqu'on lance son logiciel Bittorrent, celui-ci va servir de relais pour une "branche" de la DHT. Ce qui permet donc de collecter des infohash qui circulent (rattachés ou non à un torrent authentique), et avoir un aperçu de ce qui est échangé sur le réseau.Étape 1: la collecte. Pour ce faire, j'ai configuré qBittorrent pour qu'il utilise le port UDP 51515 pour les connexions DHT. Peu importe le port, c'est juste pour ne pas avoir trop de pollution par la suite.
Étape 2: lancer Wireshark et le faire écouter la carte réseau, avec un filtre de capture: "port 51515"Laisser tourner quelques temps :) En 10 minutes vous aurez déjà pas mal de données à vous mettre sous la dent.
Étape 3: dans Wireshark appliquer un filtre d'affichage pour ne garder que les paquets contenant des infohash: "udp contains 5f:68:61:73:68:32:30:3a"
(5f:68:61:73:68:32:30:3a étant la valeur hexa pour le texte UTF-8 "_hash", on aurait pu faire un filtre sur le tag entier "info_hash" mais c'est pas nécessaire)
Ensuite, cliquez sur Edit > mark all displayed packets.
Et enfin: File > Save as (en ne sélectionnant que les paquets marqués)Étape 4: exporter la payload des paquets en hexadécimal brut. Simple ligne de commande: tshark -r fichier.pcapng -Tfields -e data >> fichier.txt
Étape 5: extraire les infohash. Voilà la commande: cat fichier.txt | grep -o -P "5f6861736832303a.{0,40}" | sed 's/5f6861736832303a/magnet:?xt=urn:btih:/' | sort -u >> infohash.txt
(détail: on prend le contenu brut, on vise la séquence hexa correspondante à "_hash" et on inclut les 40 chiffres hexadécimaux suivants, puis on remplace la séquence par le schéma pour avoir des liens magnet, que l'on trie pour supprimer les doublons, et on sort le résultat)Étape 6: récupérer les .torrent correspondants aux infohash, sachant qu'il y a beaucoup de spam sur le réseau: vous n'aurez peut-être qu'une poignée de fichiers .torrent. Pas grave. Commande:
aria2c --bt-save-metadata --bt-metadata-only --enable-dht6=true --dht-entry-point='dht.transmissionbt.com:6881' --dht-entry-point6='dht.transmissionbt.com:6881' --max-concurrent-downloads=3 --timeout=40 --bt-stop-timeout=30 --dht-file-path=dht.dat --dht-file-path6=dht6.dat --input-file=infohash.txtDétail: Aria2 est un puissant logiciel de téléchargement. Ici, on indique en paramètre que l'on ne veut que les .torrent (pas les fichiers partagés eux-même), maxi 3 simultanés pour ne pas être rejetés par les liens DHT, en utilisant les fichiers de relais DHT du répertoire courant (vous voudrez peut-être utiliser Aria2 pour télécharger un torrent populaire, de sorte à créer ces fichiers de "voisins" dans la DHT).
Et voilà ! Vous obtiendrez des fichiers .torrent, dont vous pourrez afficher le contenu avec aria2c -S *.torrent
Libre à vous de les utiliser ensuite pour créer votre propre The Pirate Bay, de manière complètement autonome, avec uniquement des torrents effectivement échangés sur le réseau ^^Merci Mitsu
Télécharger depuis le slave Jenkins, l'agent présent sur le master Jenkins :
wget http ://yourserver:port/jnlpJars/slave.jar
La commande à exécuter pour lancer l'agent sur la machine Slave :
java -jar slave.jar -jnlpUrl http ://yourserver:port/computer/slave-name/slave-agent.jnlp
Et ce lien vers le même site qui parle aussi des changements apportés par Java 8 au niveau de la JVM.
Un tuto de build fournit par LinuxFromScratch
Prenons un exemple : vous souhaitez lancer un JAR avec la commande javaw (rappel = la commande javaw fait la même chose que la commande java mais sans afficher de console).
Il faut créer un fichier contenant ci :
Attention, la commande invoquée (ici javaw) DOIT ÊTRE DANS VOTRE PATH !
[Nemo Action]
Name=Lancer le JAR
Comment=Execute un fichier JAR/WAR avec javaw
Exec=javaw -jar %F
Icon-Name=bug-buddy
Selection=Any
Extensions=jar;war;
Où mettre ce fichier ?
Pour qu'il soit accessible à tous les utilisateurs (il vous faudra les droits root) :
## Placez votre fichier ici :
/usr/share/nemo/actions/
Pour qu'il ne soit accessible qu'à vous-même (pas d'élévation de privilèges) :
## Placez votre fichier ici :
$HOME/.local/share/nemo/actions/
Un dernière contrainte ?
Oui, votre fichier DOIT AVOIR L'EXTENSION :
Copyright : Il s'agit de la trouvaille de Lapinferoce
Pour comprendre
Quand votre Maven doit se connecter un à Nexus vous devez modifier son fichier settings.xml en lui ajoutant les infos qui vont bien. Plus précisément celles-ci :
<server>
<id>my-wunder-nexus</id>
<username>my-login</username>
<password>my-password</password>
</server>
Quel est le problème ?
Il est triple :
1) Vous êtes une feignasse qui a la flemme de chiffrer ses mots de passe.
2) Le XML de Maven interdit le caractère '&' qu'il interprète comme le & de HTML (c'est-à-dire celui pour faire des é, è etc)
3) Ce n'est pas vous qui avez choisi ce mot de passe, il s'agit d'un compte de service et donc, il est très difficilement modifiable.
C'est quoi donc la solution ?
Prenons le mot de passe fictif : TastyPie&43. On remarque clairement l’esperluette qui ne passera pas... Sauf si l'on écrit ceci :
<server>
<id>my-wunder-nexus</id>
<username>my-login</username>
<password><![CDATA[TastyPie&43]]></password>
</server>
Vous avez compris ? En réalité, le fichier settings.xml de Maven est interprété comme un fichier HTML, en conséquence il est possible d'y injecter des data brutes contenant n'importe quoi.
#BeauGoss Lapinferoce
Tout est dans le titre
Ici, le tuto compare les performances de StringBuffer et StringBuilder avec JMH
Un tuto pour embarquer Git dans vous applications Java. En résumer JGit est à la fois une API Java mais aussi un exécutable bash permettant d'interagir avec un répo Git.
Et qui montre comment écrire une calculette en JavaCC. Je commence à comprendre. Prochaine étape, une mise en gras en markdown ! uhu
Installer un RAID0 sur Linux Mint (ce tuto m'intéresse énormément car je travaille sur clef USB et ÇA RAME) !!! Du coup comme j'ai trois clefs identiques, cela me permettra de réduire la surchauffe de la clef (qui fait qu'elle freeze - le jeu de mot est involontaire) et du coup non seulement je n'aurai plus les temps de pause (en théorie) mais en plus les performances seront doublées (la aussi en théorie).
A essayer ce week-end. C'est ma moitié qui va être content !
Ce genre de tuto est très sympa et toujours bon à prendre
Si tout comme moi les aides à la première embauche n'ont pas abouti, que les CUI-CIE vous ont été refusées par Pôle-Emploi MAIS que ça fait moins de 6 mois que votre salarié a été embauché, vous avez encore la possibilité d'effectuer une demande d'aide à l'embauche PME. Mais comment faire me direz-vous ?
Comment fonctionnent les demandes d'aides à l'embauche ?
En résumé pour les PME de moins de 250 salariés :
1) Récupérer votre code d'inscription.
Ce dernier est une code à dix chiffres (ex . 2EHK575LH7) qui a été remis à l'entreprise soit par Pôle-Emploi, soit par l'ASP, soit par une mission locale. Attention, le reset de ce numéro prend 15 jours, ce qui fait que je ne disposerai pas de cette aide. Ne vous faites pas avoir mes chéris et faites les choses en temps et en heure ! (pourquoi ne nous apprend-on pas ce genre de choses à l'école)
2) Créer le compte de sa société sur https://sylae.asp-public.fr/
3) Effectuer la demande d'aide dite embauche PME
Alors il y a plein de documents à fournir notamment :
- Un K-BIs
- Le scanne du contrat de travail du salarié
- Le formulaire à remplir, à signer, à cacheter du nom de l'entreprise (note que le signataire doit donner son titre au sein de la société, par exemple Présidente).
4) Attendre 15 jours la réponse de l'ASP (et prier très fort).
Voilà
Un exemple d'un parser / lexer avec JavaCC pour faire reconnaître son propre langage dans NetBeans.
Pour faire le lien entre une grammaire du type :
S -> aA
A -> bA | ^
Il faut comprendre que les terminaux (ici 'a' et 'b') représentent les transitions alors que les non-terminaux ('ici 'S' et 'A') représentent les états de l'automate de parsing.
Je vous renvoie à la page 28 > Preuve du théorème 6 > petit (2) > Exemple.