Skip to content

Instantly share code, notes, and snippets.

View giovanniantonaccio's full-sized avatar
🎯
Focusing

Giovanni Antonaccio giovanniantonaccio

🎯
Focusing
  • CI&T
  • Brazil
View GitHub Profile
@giovanniantonaccio
giovanniantonaccio / .sequelizerc
Created July 12, 2019 20:09
How to configure sequelize folders
const { resolve } = require('path');
module.exports = {
'config': resolve(__dirname, 'src', 'config', 'database.js'),
'models-path': resolve(__dirname, 'src', 'app', 'models'),
'migrations-path': resolve(__dirname, 'src', 'database', 'migrations'),
'seeders-path': resolve(__dirname, 'src', 'database', 'seeds'),
}
@giovanniantonaccio
giovanniantonaccio / database.js
Last active July 12, 2019 20:12
Configure database credentials
module.exports = {
dialect: 'postgres',
host: 'localhost',
username: 'postgres',
password: 'docker',
database: 'gobarber',
define: {
timestamps: true,
underscored: true,
underscoredAll: true,
@giovanniantonaccio
giovanniantonaccio / style.css
Last active July 18, 2019 21:11
Basic CSS snippet
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: #ececf0;
font-family: "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
text-rendering: optimizeLegibility !important;
@giovanniantonaccio
giovanniantonaccio / global.js
Created July 22, 2019 21:43
ReactJS styled-components global reset
import { createGlobalStyle } from 'styled-components';
export default createGlobalStyle`
* {
margin: 0;
padding: 0;
outline: 0;
box-sizing: border-box;
}
@giovanniantonaccio
giovanniantonaccio / App.js
Last active September 19, 2019 20:47
Check if user is signed or not to application and redirects it accordingly
import React from 'react';
import { Router } from 'react-router-dom';
import history from './services/history';
import Routes from './routes';
function App() {
return (
<Router history={history}>
<Routes />
@giovanniantonaccio
giovanniantonaccio / swap.js
Created September 20, 2019 13:43
Swap two integers
x = 24
y = 99
// Traditional way:
x = x + y
y = x - y
x = x - y
// if using ES6 this can be done using destructuring assignment array matching:
// [x, y] = [y, x]
@giovanniantonaccio
giovanniantonaccio / fizzbuzz.js
Created September 20, 2019 14:04
FizzBuzz algorithm
/**
* FizzBuzz algorithm
*/
function checkMultiples(n) {
let result = "";
result = n % 3 === 0 ? "Fizz" : result;
result = n % 5 === 0 ? result + "Buzz" : result;
return result !== "" ? result : n;
}
@giovanniantonaccio
giovanniantonaccio / loopfix.js
Created September 20, 2019 14:32
SetTimeout Loop Fix
for (var i = 0; i <= 3; i++) {
delay(i);
}
function delay(i) {
setTimeout(function() {
console.log(i);
}, 100);
}
@giovanniantonaccio
giovanniantonaccio / promiseTest.js
Last active September 20, 2019 17:46
This gist simulates the execution of two async methods using promises. It returns a message of success when both complete. A random timeout between 1 and 3000ms is being used.
function randomTimeout() {
const t = Math.floor(Math.random() * 3000 + 1);
return t;
}
const method1 = new Promise(resolve => {
timeout = randomTimeout();
setTimeout(() => resolve("method1"), timeout);
});
@giovanniantonaccio
giovanniantonaccio / asyncAwaitTest.js
Last active September 20, 2019 17:49
This gist simulates the execution of two async methods using async/await. It returns a message of success when both complete. A random timeout between 1 and 3000ms is being used.
function randomTimeout() {
const t = Math.floor(Math.random() * 3000 + 1);
return t;
}
// SetTimeout does not return a promise, so we can't await for it. This funcion promisify it mannualy.
function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}