Skip to content

Instantly share code, notes, and snippets.

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

Robson Ribeiro robsonribeiros

🏠
Working from home
View GitHub Profile
@robsonribeiros
robsonribeiros / auth.ts
Created November 18, 2024 18:17 — forked from IgorHalfeld/auth.ts
nuxt server methods auth middleware
// server/middleware/auth.ts
import { DecodedIdToken } from 'firebase-admin/lib/auth/token-verifier'
import { createAuth } from '@/libs/firebase/firebaseAdmin'
export interface AuthContext {
isAuthenticated: boolean
user: DecodedIdToken | null
}
import axios, { AxiosError } from "axios";
import { parseCookies, setCookie } from "nookies";
type FailureRequest = {
onSuccess: (token: string) => void;
onFailure: (error: AxiosError) => void;
}
let isRefreshingToken = false;

Create Root CA (Done once)

Create Root Key

Attention: this is the key used to sign the certificate requests, anyone holding this can sign certificates on your behalf. So keep it in a safe place!

openssl genrsa -des3 -out rootCA.key 4096
@robsonribeiros
robsonribeiros / sumString.js
Created April 6, 2022 15:13
Somar números String sem converter
function adicionaZerosAEsquerdaDoMenorNumero(numero, maiorNumero) {
return numero.padStart(maiorNumero, "0");
}
function obtemOTamanhoDoMaiorNumeroEmDigitos(n1, n2) {
if (n1.length > n2.length) {
return n1.length;
}
return n2.length;
}
1. Aplicativo de Reserva de mesa de restaurante
Um aplicativo de restaurante personalizado que não só permitirá que os usuários verifiquem os menus em tempo real,
disponibilidade de mesa em um determinado restaurante, mas também façam reservas e até paguem contas de dentro do aplicativo.
Considerando o número de pessoas que iram sair pra comer fora pós pandemia e reuniões acontecendo fora da zona de trabalho.
Este aplicativo fornecerá uma interface gráfica de cafés e restaurantes na área local e permitirá que os usuários reservem uma ou mais mesa(s) específica(s) com antecedência por um período de tempo.
pode-se também usar uma IA através da qual este software pode lembrar o histórico do usuário e fará recomendações de acordo no futuro.
A IA não só irá ajudá-lo na seleção de melhores lugares baseados nos abitos alimentares, mas também as tornará mais personalizadas para os usuarios.
Além disso, o app (junto com os parceiros) pode oferecer ótimos descontos inicialmente para começar a fazer o negócio pegar traç
@robsonribeiros
robsonribeiros / ingres.yml
Last active February 18, 2021 15:32
ingress-nginx
apiVersion: v1
kind: Namespace
metadata:
name: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
---
" Specify a directory for plugins
call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'scrooloose/nerdtree'
"Plug 'tsony-tsonev/nerdtree-git-plugin'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'ryanoasis/vim-devicons'
Plug 'airblade/vim-gitgutter'
@robsonribeiros
robsonribeiros / nginx.conf
Created June 27, 2020 03:12 — forked from plentz/nginx.conf
Best nginx configuration for improved security(and performance). Complete blog post here http://tautt.com/best-nginx-configuration-for-security/
# to generate your dhparam.pem file, run in the terminal
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
const multer = require("multer");
const path = require("path");
const crypto = require("crypto");
const aws = require("aws-sdk");
const multerS3 = require("multer-s3");
const storageTypes = {
local: multer.diskStorage({
destination: (req, file, cb) => {
cb(null, path.resolve(__dirname, "..", "..", "tmp", "uploads"));

AWS Fargate Docker Simple Deployment Setup with SSL termination

How to:

  • create a Docker-based AWS Fargate/ECS deployment
  • without the Docker containers having a public IP
  • with an Application Load Balancer as reverse proxy / SSL termination proxy sitting in front of the containers

For Fargate/ECS to be able to access your Docker images hosted on ECR (or somewhere else) you'll have to allow outbound internet access to the Fargate subnets. Here's how you do it.