Skip to content

Instantly share code, notes, and snippets.

View pablo-rufat's full-sized avatar
🏠
Working from home

Pablo Rufat pablo-rufat

🏠
Working from home
View GitHub Profile
@pablo-rufat
pablo-rufat / generics.ts
Last active April 5, 2022 23:10
Uso de genericos com restrição de implementação da interface ITrabalho.
interface ITrabalhador {
trabalhar: Function;
}
class Pessoa {
nome: string;
constructor(nome: string) {
this.nome = nome;
}
@pablo-rufat
pablo-rufat / typescript_class_transpiled.ts
Created April 4, 2022 20:32
Demonstração da diferença entre prototype functions e arrow functions dentro de uma classe typescript ao ser transpilada para javascript.
// Classe typescript
class TestClass {
private _atributo;
constructor(atributo: string) {
this._atributo = atributo;
}

AMBIENTE DE DESENVOLVIMENTO

Ambiente focado no desenvolvimento do código. Nesse ambiente é onde as novas features são desenvolvidas e testadas de uma forma facil e rápida. Os testes implementados nesse ambiente são de tipo unitário e de integração.

As configurações de segurança e rede são muito flexíveis para favorecer o desenvolvimento e teste de forma fluida. O acesso às branches de desenvolvimento costuma a ser liberado para todos os desenvolvedores já que o risco de afetar o produto final é mínimo. Os dados usados no banco de dados são dados fake e o proprio banco pode ser derrubado e levantado de novo sem prejuizio quantas vezes quiser.

Podemos diferenciar o ambiente de desenvolvimento local (máquina do desenvolvedor) e o ambiente de desenvolvimento remoto, normalmente aprovisionado com os requerimentos basicos, já que unicamente é acessado por desenvolvedores do projeto.

AMBIENTE DE TESTES

@pablo-rufat
pablo-rufat / asyncawait.js
Created February 17, 2022 21:22
Como lidar com funções assincronas?
// Execute com "node asyncawait.js"
// O objetivo do script a seguir é perceber os diferentes outcomes a depender de como é tratada uma chamada à um metodo assincrono.
// O seguinte metodo tem uma Promise que vai se resolver em um segundo. Depois um boolean é criado e a depender do valor pode retornar 'Eba!' ou lançar um erro.
const asyncFunctionWithReject = async () => {
await new Promise((r) => setTimeout(r, 1000));
const isTrue = Boolean(Math.round(Math.random()));
if (isTrue) {
@pablo-rufat
pablo-rufat / nextjs.bat
Created August 13, 2021 22:23
Simple batch to setup a next.js project the way I like it.
@echo off
:: Name of the index file. It can be modified to .tsx
set index="index.js"
:: Project name input
set /p name=Project name:
:: Path of my next.js folder
cd C:\Users\pablo\nextjs
.ORG 0x0000
RJMP main
main:
LDI r16, 0xFF
OUT DDRB, r16
LDI r16, 0x00
OUT DDRD, r16
LDI r17, 0X04
.ORG 0x0000
RJMP main
main:
LDI r16, 0xFF
OUT DDRD, r16
IN r18, DDRC
loop:
LDI r17, 63