Skip to content

Instantly share code, notes, and snippets.

View thiilins's full-sized avatar
🏠
Working from home

Thiago Lins thiilins

🏠
Working from home
View GitHub Profile
@thiilins
thiilins / generate-ssh-key-for-deploy.md
Last active September 19, 2025 16:29
Workflows Deploy Automatizado - Por Ambientes

Configuração de Chave SSH para Deploy Automatizado

Copie e cole o comando abaixo no seu terminal. Ele é um único comando contínuo que executará todas as etapas descritas.

read -p "Digite o identificador do ambiente (ex: dev): " SERVER_NAME && \
echo -e "\n[1/5] Garantindo que o diretório ~/.ssh existe com as permissões corretas..." && \
mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
\
echo "[2/5] Gerando um novo par de chaves SSH (ed25519)..." && \
@thiilins
thiilins / husky-v9-node.md
Last active July 23, 2025 01:48
Guia Completo: Automatizando Validações com Husky (v9+)

Guia Completo: Automatizando Validações com Husky (v9+) e Lint-Staged

Este documento detalha o processo de configuração do Husky para automatizar validações de código, garantindo a qualidade e a padronização do código-fonte no projeto.

Utilizaremos a abordagem moderna com lint-staged para os hooks:

1.pre-commit: Para formatar (Prettier) e validar (ESLint) apenas os arquivos que estão sendo commitados, de forma inteligente e automática. 2.pre-push: Para garantir que o projeto compila (build) ou que os testes passam antes de enviar o código ao repositório.

@thiilins
thiilins / monitor_pm2.md
Last active July 15, 2025 15:21
Script de Monitoramento e Instalação Automática de Ambiente Node.js/PM2

Script de Monitoramento e Instalação Automática de Ambiente Node.js/PM2

#!/bin/bash

# --- Início do Script de Monitoramento e Instalação com Verificação de Saúde ---

# Redireciona toda a saída para um arquivo de log
LOG_FILE="/var/log/monitor_pm2_health.log"
exec >> "$LOG_FILE" 2>&1
@thiilins
thiilins / audio-processor.md
Created July 15, 2025 04:33
Toolkit de Processamento de Áudio para Remoção de Silêncio

🔊 Toolkit de Processamento de Áudio para Remoção de Silêncio

lib/audio-processor.ts

import fs from "fs/promises";
import { create, concat, toWav, AudioBuffer } from "audio-buffer-utils";
import { chunk, flattenDeep } from "lodash";
import decode from "audio-decode";
import { Lame } from "node-lame";
@thiilins
thiilins / toolkit-devices-react-native.md
Last active July 15, 2025 11:34
Toolkit de Dispositivos para React Native

📱 Toolkit de Dispositivos para React Native

hooks/useGeolocation.native.ts, hooks/useCamera.native.ts, hooks/useClipboard.native.ts, hooks/useNetworkState.native.ts

1. Hook useGeolocation

hooks/useGeolocation.native.ts

import { useState, useCallback } from "react";
@thiilins
thiilins / toolkit-devices-react.md
Last active July 15, 2025 11:34
Toolkit de Dispositivos para React (Web)

🛰️ Toolkit de Dispositivos para React (Web)

hooks/useGeolocation.ts, hooks/useCamera.ts, hooks/useClipboard.ts, hooks/useNetworkState.ts

1. Hook useGeolocation

hooks/useGeolocation.ts

import { useState, useCallback } from "react";
@thiilins
thiilins / toolkit-frontend.md
Created July 15, 2025 04:08
Toolkit de Hooks Essenciais para Frontend React

🧰 Toolkit de Hooks Essenciais para Frontend React

hooks/useCopyToClipboard.ts, hooks/useClickOutside.ts, hooks/useEventListener.ts, hooks/useIntersectionObserver.ts

1. Hook useCopyToClipboard

hooks/useCopyToClipboard.ts

import { useState, useCallback } from "react";
@thiilins
thiilins / async-utils.md
Last active July 15, 2025 11:34
Toolkit de Utilitários Assíncronos

🚀 Super Toolkit de Utilitários Assíncronos

utils/async-utils.ts e hooks/async-hooks.ts

1. Funções Utilitárias Puras (Agnósticas a Frameworks)

utils/async-utils.ts

type RetryOptions = {
@thiilins
thiilins / http-exception-filter.md
Created July 15, 2025 04:02
Filtro de Exceções Global para APIs NestJS

🛡️ Filtro de Exceções Global para APIs NestJS

filters/http-exception.filter.ts

import {
  ExceptionFilter,
  Catch,
  ArgumentsHost,
  HttpException,
@thiilins
thiilins / async-handler-express.md
Created July 15, 2025 04:02
Wrapper de Erros para Rotas Assíncronas (Express)

✅ Wrapper de Erros para Rotas Assíncronas (Express)

middleware/async-handler.ts e middleware/error-handler.ts

Lógica Principal

middleware/async-handler.ts

import { Request, Response, NextFunction, RequestHandler } from 'express';