Skip to content

Instantly share code, notes, and snippets.

View bhubr's full-sized avatar

Benoît Hubert bhubr

View GitHub Profile
@bhubr
bhubr / removeDuplicates.md
Last active September 24, 2020 06:47
Dojo removeDuplicates

Dojo removeDuplicates

Ecrire une fonction removeDuplicates qui prend en entrée un tableau (de valeurs scalaires c'est-à-dire strings, nombres, booléens), et renvoie un tableau d'où les doublons ont été enlevés.

Exemple de fonctionnement :

// should output ['one', 'two', 'three']
console.log(removeDuplicates(['one', 'two', 'three', 'two']));
@bhubr
bhubr / about.md
Last active September 23, 2020 11:21
SPA sans framework

Créer une Single Page App sans framework

Une Single Page App ou SPA, c'est une application où c'est le JavaScript, dans le navigateur, qui va construire toute l'application.

Au lieu de charger une nouvelle page depuis le serveur à chaque clic sur un lien, on va reconstruire une autre page dans le navigateur (éventuellement, on peut avoir besoin de charger des données depuis le serveur).

L'approche moderne est d'utiliser un framework : Angular, Vue.js, React... et bien d'autres. Mais il peut être intéressant de voir coment on ferait sans framework.

Point de départ

@bhubr
bhubr / convert.sh
Created August 20, 2020 22:04
Bulk convert flv to mp4
for i in *.flv; do ffmpeg -i "$i" -c copy "${i%.*}.mp4"; done
@bhubr
bhubr / .eslintrc.json
Last active August 11, 2020 13:09
ESLint + Prettier pour Node.js
{
"env": {
"commonjs": true,
"es2020": true,
"node": true
},
"extends": [
"standard",
"plugin:prettier/recommended"
],
@bhubr
bhubr / .eslintignore
Last active August 10, 2020 18:50
Configuration ESLint (style guide Standard) + Prettier pour React
src/serviceWorker.js
@bhubr
bhubr / index.js
Created July 29, 2020 09:44
Static file server / pure Node.js
// https://stackoverflow.com/questions/7268033/basic-static-file-server-in-nodejs
const http = require('http')
const url = require('url')
const fs = require('fs')
const { join, extname } = require('path')
const { promisify } = require('util')
const statAsync = promisify(fs.stat)
const fileExists = async file => statAsync(file)
@bhubr
bhubr / import-env.sh
Created July 26, 2020 02:12
Import .env file to Dokku
#!/bin/bash
# Check number of args
# https://stackoverflow.com/q/18568706/
if [ "$#" -ne 2 ]; then
echo "Usage: import-env.sh <env-file> <dokku-app>"
fi
ENV_FILE=$1
DOKKU_APP=$2
@bhubr
bhubr / checkpoint4.md
Last active August 3, 2020 12:30
Sujet Checkpoint 4 réduit

Checkpoint 4 - Sujet sur une journée

Pour celles et ceux qui sont encore pris par les projets (ou autre raison valable), nous proposons un sujet de checkpoint 4 réalisable en une journée, au lieu des deux prévues pour le sujet classique.

Lequel choisir

D'abord, quelques différences entre les deux sujets :

  • Checkpoint sur deux jours :
@bhubr
bhubr / caprover-deploy.md
Last active July 3, 2020 03:04
CapRover full-stack deployment (Node.js/React)

Deploying Express+React+MySQL projects on CapRover

1. Create the app on the CapRover instance

First, head to https://your.caprover.instance.ext/ and fill in the password.

Then you have to replicate these steps for the Express and React apps:

  1. Under the "Apps" tab, fill in the input with your app's name and submit: your app should appear in the list.
  2. Click on your app in the list, under "HTTP Settings", click enable HTTPS
@bhubr
bhubr / data.sql
Last active June 23, 2020 03:27
SQLi demo
INSERT INTO user(email, password, name) VALUES
('[email protected]', 'dEqeTA', 'Nighel Wouters'),
('[email protected]', '6eCHfi', 'Lison Robin'),
('[email protected]', 'lPahIc', 'Anton Seppala'),
('[email protected]', 'dg9Z8C', 'Célestine Bertrand'),
('[email protected]', 'Abcd1234', 'Magnus Hoyer');
INSERT INTO account(user_id, iban) VALUES
(1, 'NL09INGB8479662646'),
(2, 'FR7612739000409492429559L94'),