Skip to content

Instantly share code, notes, and snippets.

View rafabarbosa's full-sized avatar
:octocat:
coding

Rafael Barbosa rafabarbosa

:octocat:
coding
  • Sergipe, Brazil
View GitHub Profile
@rafabarbosa
rafabarbosa / lista.sql
Created March 1, 2018 12:46
Lista de consultas SQL
select pp.sobrenome, d.nome
from universidade.professor p natural join universidade.pessoa pp
join universidade.leciona l using (mat_professor)
join universidade.turma t using (id_turma)
join universidade.disciplina d using (cod_disc);
select pp.sobrenome, pe.sobrenome
from universidade.professor p natural join universidade.pessoa pp
join universidade.plano plano using (mat_professor)
join universidade.estudante e using (mat_estudante)
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <math.h>
// Disciplina: Arquitetura de Computadores
// Aluno: Rafael Barbosa Conceição
// Matrícula: 201420014973
@rafabarbosa
rafabarbosa / index.markdown
Created March 4, 2020 20:11
Integrações RD Station - PHP

Integrações RD Station

PHP

Muitos sites em PHP possuem uma página que é um script para enviar o email de contato ou tratar o preenchimento de algum formulário.

Para fazer com que essa página envie os dados para o CRM do RD Station, é só inserir nosso script de integração em seu código e fazer a chamada quando for controlar a submissão dos dados.

Script para integração

@rafabarbosa
rafabarbosa / Form.tsx
Created May 24, 2022 20:24 — forked from pjchender/Form.tsx
Nested Object Fields in React Hook Form
import { DevTool } from '@hookform/devtools';
import { yupResolver } from '@hookform/resolvers/yup';
import { Button, makeStyles, TextField } from '@material-ui/core';
import { Controller, SubmitHandler, useForm } from 'react-hook-form';
import * as yup from 'yup';
const useStyles = makeStyles(theme => ({
root: {
display: 'flex',
flexDirection: 'column',
@rafabarbosa
rafabarbosa / UsandoHooks.js
Created October 29, 2019 04:00
Aprendendo a consumir API usando hooks no ReactJS
import React, { useState } from 'react';
import axios from 'axios';
export default function Lista () {
const [cep, setCep] = useState({ cep: '' });
const [informacoes, setInformacoes] = useState({
cep: '',
logradouro: '',
complemento: '',
@rafabarbosa
rafabarbosa / Finance.excel.rate.js
Created January 29, 2021 12:08 — forked from kucukharf/Finance.excel.rate.js
Excel RATE() Javascript Function
/*!
* @fileOverview Finance Excel Rate Formula Javascript Equivalent
* @version 1.0.0
*
* @author Burak Arslan @kucukharf http://www.github.com/kucukharf
* @license
* Copyright (c) 2010-2018 Burak Arslan
* Licensed under Creative Commons (CC) license
* @usage RATE($periods, $payment, $present, $future, $type, $guess)
*/
@rafabarbosa
rafabarbosa / ExcelFormulas.js
Created January 29, 2021 12:07 — forked from pies/ExcelFormulas.js
Few Excel formulas - PMT, PPMT, XIRR - expressed in Javascript
/* Based on
* - EGM Mathematical Finance class by Enrique Garcia M. <egarcia@egm.co>
* - A Guide to the PMT, FV, IPMT and PPMT Functions by Kevin (aka MWVisa1)
*/
var ExcelFormulas = {
PVIF: function(rate, nper) {
return Math.pow(1 + rate, nper);
},
@rafabarbosa
rafabarbosa / _readme.md
Created August 31, 2020 12:20 — forked from andywer/_readme.md
React - Functional error boundaries

React - Functional error boundaries

Thanks to React hooks you have now happily turned all your classes into functional components.

Wait, all your components? Not quite. There is one thing that can still only be implemented using classes: Error boundaries.

There is just no functional equivalent for componentDidCatch and deriveStateFromError yet.

Proposed solution

// Add a 401 response interceptor
window.axios.interceptors.response.use(function (response) {
return response;
}, function (error) {
if (401 === error.response.status) {
swal({
title: "Session Expired",
text: "Your session has expired. Would you like to be redirected to the login page?",
type: "warning",
showCancelButton: true,
@rafabarbosa
rafabarbosa / input.jsx
Created June 1, 2020 02:32
Adicionando formatação dinâmica CPF ou CNPJ no input de acordo com a quantidade de números informados
import React, { useCallback } from 'react';
const Input = ({ ...props }) => {
const formatarCampo = useCallback(event => {
let value = event.currentTarget.value;
if (value.length <= 11) {
value = value.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/g,"\$1.\$2.\$3\-\$4");
} else {
value = value.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/g,"\$1.\$2.\$3\/\$4\-\$5");