Skip to content

Instantly share code, notes, and snippets.

View bhubr's full-sized avatar

Benoît Hubert bhubr

View GitHub Profile
@bhubr
bhubr / fs-promisified.js
Created January 23, 2019 11:47
Utiliser Bluebird pour "promisifier" un module entier
const fs = require('fs');
const Promise = require('bluebird');
Promise.promisifyAll(fs);
// Version callback
fs.readFile('package.json', (err, buf) => {
if(err) {
console.error(err);
return;
}
@bhubr
bhubr / App.jsx
Created March 28, 2019 14:25
Dojo React state
import React, { Component } from 'react';
import Avatar from './Avatar';
class App extends Component {
render() {
return (
<div>
<Avatar
name="Homer"
avatar="http://www.simpsonspark.com/images/persos/contributions/homer-simpson-23004.jpg"
@bhubr
bhubr / SinglePhoto.js
Created April 17, 2019 12:24
Code pour dojo routeur/cycle de vie
import React from 'react';
const SinglePhoto = ({
title,
picture,
country,
tags,
author
}) => (
<div>
@bhubr
bhubr / Idees.md
Last active April 23, 2019 09:09
Idées dojos React

Deux idées de dojos

Dojo Props / State

  • un composant Character sous forme de classe avec deux props (name, avatarUrl) et un state sous la forme { isTired: false, food: 200 }.

  • dans le render, trois boutons:

    • "eat burger" censé augmenter de 100 le niveau de food dans le state,
    • "go sleep" censé passer isTired à false,
  • "go running" censé diminuer de 200 la food et passer isTired à true

@bhubr
bhubr / generateFakeEmails.js
Created May 7, 2019 09:14
[Generate fake emails] Generate fake emails using randomuser.me and chancejs
const Chance = require('chance');
const fetch = require('node-fetch');
const fs = require('fs');
const chance = new Chance();
let users;
const getUsers = async () => fetch('https://randomuser.me/api/?results=8&nat=gb')
.then(r => r.json())
.then(({ results }) => results.map(
@bhubr
bhubr / random-todo.js
Created May 7, 2019 13:42 — forked from akagomez/random-todo.js
Random todo generator
(function () {
var actions = 'call,read,dress,buy,ring,hop,skip,jump,look,rob,find,fly,go,ask,raise,search';
var bridges = 'the,a,an,my,as,by,to,in,on,with';
var targets = 'dog,doctor,store,dance,jig,friend,enemy,business,bull,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday,Mom,Dad';
var capitalizeFirstLetter = function(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
var randomWord = function (list) {
list = list.split(',');
@bhubr
bhubr / employee_table_data.sql
Last active June 3, 2020 21:04
BDD Quêtes Express
INSERT INTO employee (lastname, firstname, email) VALUES
('Ramirez', 'Violet', 'Violet.Ramirez@videnupu.pk'),
('Mannucci', 'Carlos', 'Carlos.Mannucci@wahahja.pn'),
('Ikeda', 'Susan', 'Susan.Ikeda@so.ac'),
('McGuire', 'Sean', 'Sean.McGuire@fut.td'),
('Cavicchi', 'Jon', 'Jon.Cavicchi@zan.pg'),
('Verbeek', 'Peter', 'Peter.Verbeek@onefiba.rs'),
('Wong', 'Todd', 'Todd.Wong@fe.hu'),
('Watson', 'Alice', 'Alice.Watson@jazus.cr'),
('Ciabatti', 'Millie', 'Millie.Ciabatti@faotori.qa'),
@bhubr
bhubr / createdb.sh
Last active July 23, 2019 15:51
Bash script: create MySQL database + user + grant privileges
#!/bin/bash
mysql -uroot -p -e "create database if not exists $1 character set utf8 collate utf8_general_ci; create user if not exists $2@localhost identified by \"$3\"; grant all privileges on $1.* to $2@localhost; flush privileges;"
@bhubr
bhubr / generateToken.js
Created July 23, 2019 19:21
Generate 64-character long hexadecimal token with Node.js
const crypto = require('crypto');
const util = require('util');
const randomBytesAsync = util.promisify(crypto.randomBytes);
const generateToken = async () => {
const buf = await randomBytesAsync(32);
return buf.toString('hex');
};
module.exports = generateToken;
@bhubr
bhubr / commands.sh
Created July 24, 2019 16:30
install wifi lenovo
sudo apt-get install build-essential dkms git
git clone -b 4.18 https://github.com/jeremyb31/ideapad-laptop.git
sudo dkms add ./ideapad-laptop
sudo dkms install ideapad-laptop/1.0
echo "options ideapad_laptop override_has_hw_rfkill_switch=0" | sudo tee /etc/modprobe.d/ideapad_laptop.conf