Skip to content

Instantly share code, notes, and snippets.

@brunobc
brunobc / server.js
Created January 10, 2021 18:44
Create dynamic endpoints
import express from 'express';
import { readdirSync, lstatSync, readFileSync } from 'fs';
import {basename, join, dirname, sep } from 'path';
const PORT = process.env.PORT || 5000;
const app = express();
let startFolder = null
@brunobc
brunobc / React-Hooks.js
Created May 31, 2020 20:21 — forked from craigtaub/React-Hooks.js
Nested React Hooks
// https://itnext.io/under-the-hood-of-react-hooks-805dc68581c3
// Engine
const React = {
index: 0,
state: [],
useEffect: (callback, dependencies) => {
const cachedIndex = React.index;
const hasChanged = dependencies !== React.state[cachedIndex];
if (dependencies === undefined || hasChanged) {

VS Code Extension ES7 React/Redux/GraphQL/React-Native snippets

1. imr : import React from 'react'
2. imrd: import ReactDOM from 'react-dom'
3. imrc: import React, { Component } from 'react'
4. rcc: add react class based component code
5. rfc: add react functional component code
6. est: add state to the component
7. sst: add this.setState call
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
export ANDROID_HOME=~/Android/Sdk
export PATH="$PATH:$ANDROID_HOME/tools"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
# Path to your oh-my-zsh installation.
export ZSH="/Users/brunobc/.oh-my-zsh"
export PATH="$PATH:/usr/local/bin"
@brunobc
brunobc / Promise.md
Last active October 28, 2019 12:50
Promise all -> reflect

Função de reflexão

function reflect (promise) {
  return promise
    .then((valor) => ({ status: 'fulfilled', value: valor }))
  	.catch((razao) => ({ status: 'rejected', reason: razao }))
}

Exemplo

{
// Define o tema do VSCode
"workbench.colorTheme": "Dracula",
// Configura tamanho e família da fonte
"editor.fontSize": 18,
"editor.lineHeight": 24,
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
@brunobc
brunobc / restingSpreading.md
Created March 20, 2019 03:09
Resting and Spreading JavaScript Objects

Adicionar Propriedades

Clonar um objeto ao mesmo tempo em que adiciona propriedades adicionais ao objeto clonado. No exemplo abaixo user é clonado e password é adicinado em userWithPass.

const user = { id: 100, name: 'Howard Moon'}
const userWithPass = { ...user, password: 'Password!' }

user //=> { id: 100, name: 'Howard Moon' }
userWithPass //=> { id: 100, name: 'Howard Moon', password: 'Password!' }

Regex

Expressão regulares são padrões utilizados para identificar determinadas combinações ou cadeias de caracteres em uma string.

Regex Engine

alt tag

String usada na busca: target

@brunobc
brunobc / NPMWithoutSudo.md
Created January 19, 2016 04:33
Install `npm` packages globally without sudo on OS X and Linux

Install npm packages globally without sudo on OS X and Linux

npm installs packages locally within your projects by default. You can also install packages globally (e.g. npm install -g <package>) (useful for command-line apps). However the downside of this is that you need to be root (or use sudo) to be able to install globally.

Here is a way to install packages globally for a given user.

1. Create a directory for globally packages
mkdir "${HOME}/.npm-packages"