Skip to content

Instantly share code, notes, and snippets.

View Hfreitas's full-sized avatar

Hebert Silva Hfreitas

  • Arco Educação
  • Salvador, Bahia, Brazil
View GitHub Profile
@Hfreitas
Hfreitas / functions.zsh
Last active May 2, 2024 11:08
get git repo ref's and upadte branches
mkcd() {
case "$1" in /*) : ;; *) set -- "./$1" ;; esac
mkdir -pv "$1" && cd "$1"
}
git-update-repo() {
git fetch -p && for branch in $(git for-each-ref --format '%(refname) %(upstream:track)' refs/heads | awk '$2 == "[gone]" {sub("refs/heads/", "", $1); print $1}'); do git branch -D $branch; done
}
@Hfreitas
Hfreitas / slicePhone.js
Created September 17, 2021 17:21
Valida e retorna parte de um numero telefonico
// retorna se é um número internacional válido
const isValidInternationalNumber = (phoneNumber) => {
/* regex para validar se é um numero telefonico internacional válido, sinal de '+' opcional e sem extensão (exemplo: 'ramal xxx')
referência adaptada: https://stackoverflow.com/questions/16699007/regular-expression-to-match-standard-10-digit-phone-number
*/
const phoneNumberRegex =
/^(\+\d{1,3}\s)?\(?\d{2,3}\)?[\s.-]?\d{3,5}[\s.-]?\d{4}$/g;
return phoneNumberRegex.test(phoneNumber);
};
@Hfreitas
Hfreitas / docker-compose.yml
Created May 14, 2021 01:27
Postgres e pgadmin container para desenvolvimento
version: '3'
services:
videoaulas_db:
image: postgres:13-alpine
environment:
POSTGRES_DB: ${DATABASE_NAME}
POSTGRES_USER: ${DATABASE_USERNAME}
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
ports:
export default (when = false): void => {
const onUnload = (event: BeforeUnloadEvent): string => {
// garantindo compatibilidade com browser antigos e mobile
const listener = event || window.event;
listener.preventDefault();
if (listener) {
/* compatibilidade com browser engines Gecko (Firefox),
Trident(Internet Explorer) e Chrome versões 34+ */
import { useEffect, useRef } from 'react';
import { useHistory, useLocation } from 'react-router-dom';
import { UnregisterCallback } from 'history';
/**
* Hook auxiliar. Referência para implementação:
* - https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state;
* - https://usehooks.com/usePrevious/;
@Hfreitas
Hfreitas / git.md
Created March 27, 2021 15:52 — forked from leocomelli/git.md
Lista de comandos úteis do GIT

GIT

Estados

  • Modificado (modified);
  • Preparado (staged/index)
  • Consolidado (comitted);

Ajuda

const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://masterUser:<password>@myfirstdb.7vxnx.gcp.mongodb.net/<dbname>?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
client.close();
});
@Hfreitas
Hfreitas / .gitignore
Last active September 10, 2020 00:40
gitignore nodejs react
# Created by https://www.toptal.com/developers/gitignore/api/node,react,dotenv,yarn
# Edit at https://www.toptal.com/developers/gitignore?templates=node,react,dotenv,yarn
### dotenv ###
.env
### Node ###
# Logs
logs
@Hfreitas
Hfreitas / .stylelintrc.json
Created August 10, 2020 00:49
stylelint React basic config
{
"extends": [
"stylelint-config-standard",
"stylelint-a11y/recommended",
"stylelint-config-prettier"
]
}
@Hfreitas
Hfreitas / .editorconfig
Last active June 15, 2021 12:58
airbnb .editorconfig
root = true
[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
# editorconfig-tools is unable to ignore longs strings or urls