Skip to content

Instantly share code, notes, and snippets.

View daniloopinheiro's full-sized avatar
🏗️
Working from home

Danilo O. Pinheiro daniloopinheiro

🏗️
Working from home
View GitHub Profile
@daniloopinheiro
daniloopinheiro / fatal-bad-object-refs.md
Created July 4, 2026 10:21
Fatal: Bad Object Refs (.git)

Git: fatal: bad object e refs remotas inválidas

Guia de diagnóstico e recuperação para o erro que ocorre quando refs locais apontam para objetos Git inexistentes no repositório.


Sintomas

Durante git pull, git fetch ou operações de manutenção (git gc, repack), você pode ver mensagens como:

@daniloopinheiro
daniloopinheiro / rewrite-remove-author.sh
Created May 22, 2026 01:13
Reescreve histórico Git para remover um contribuidor indesejado
#!/usr/bin/env bash
set -eu
usage() {
sed -n '2,20p' "$0" | sed 's/^# \{0,1\}//'
exit "${1:-0}"
}
if [[ "${1:-}" == "-h" || "${1:-}" == "--help" ]]; then

🧼 1. Corrigir o commit localmente (autor e email)

Se foi apenas um commit recente e você deseja reescrever o autor, use:

git commit --amend --author="daniloopinheiro <daniloopro@gmail.com>"

Isso só altera o último commit.

✅ Instalar .NET SDK 6.0.414 manualmente no Ubuntu (Linux Codespaces)

1. 🧩 Adicionar repositório da Microsoft

sudo apt update
sudo apt install -y wget apt-transport-https software-properties-common

# Importar chave pública da Microsoft
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

Construindo uma API RESTful com ASP.NET Core e Usando DTOs

1. Introdução

Uma API REST (Representational State Transfer) é uma arquitetura para criar serviços web baseados em requisições HTTP. Com ASP.NET Core, você pode criar uma API RESTful para manipulação de dados em um servidor, utilizando os métodos HTTP como GET, POST, PUT, DELETE, entre outros.

DTOs (Data Transfer Objects) são utilizados para transportar dados entre as camadas do sistema, separando o modelo de dados interno da estrutura exposta pela API. O uso de DTOs ajuda a melhorar a segurança, a performance e a manutenção da aplicação.


2. O que é uma API REST?

@daniloopinheiro
daniloopinheiro / plataform-deploys.md
Created January 1, 2025 14:51
Plataformas para Deploy .NET Este documento apresenta uma lista de plataformas para hospedar e publicar aplicações .NET Core. As plataformas são agrupadas em duas categorias: as mais conhecidas e as menos conhecidas. As opções incluem provedores de nuvem, serviços especializados e soluções de hospedagem. Cada plataforma é acompanhada de uma brev…

Plataformas para Deploy .NET

Este documento lista várias plataformas que você pode usar para hospedar e publicar suas aplicações .NET Core. As opções incluem provedores de nuvem, serviços especializados e outras soluções de hospedagem. As plataformas foram selecionadas com base em características como custo, facilidade de uso, escalabilidade e o suporte oferecido para tecnologias Microsoft, como .NET Core.

1. Microsoft Azure

  • Descrição: Plataforma de nuvem da Microsoft que oferece suporte completo a .NET Core com diversos serviços como App Services, Azure Functions, Virtual Machines e Azure Kubernetes Service (AKS).
  • Vantagens:
    • Suporte nativo para tecnologias Microsoft.
    • Facilidade de integração com Visual Studio e GitHub.
  • Escalabilidade e monitoramento fáceis.
@daniloopinheiro
daniloopinheiro / key-apt-gpg.md
Created October 19, 2024 21:55
Gerenciamento de Chaves do APT

Introdução

Este guia explica como encontrar e remover chaves do repositório APT em sistemas baseados em Debian. As chaves são essenciais para garantir a autenticidade dos pacotes que você instala.

Passos para Encontrar e Remover uma Chave

1. Listar Chaves

Para visualizar as chaves que você adicionou ao seu sistema, utilize o seguinte comando:

@daniloopinheiro
daniloopinheiro / swap.md
Created October 14, 2024 19:50
Limpar o espaço de swap no Linux

Limpar o espaço de swap no Linux

Limpar o espaço de swap no Linux normalmente envolve desativar o swap, limpá-lo e ativá-lo novamente. Veja como fazer isso:

  1. Desativar o swap:

    sudo swapoff -a
  2. Limpar o arquivo ou partição de swap:

@daniloopinheiro
daniloopinheiro / s3cmd.md
Created October 11, 2024 01:06
Install S3CMD

Option 1: Install using a virtual environment

  1. Install python3-venv if it's not already installed:

    sudo apt install python3-venv
  2. Create a virtual environment:

python3 -m venv ~/myenv

@daniloopinheiro
daniloopinheiro / rename-branch.md
Created October 6, 2024 13:51
Renomear Branch

Para renomear uma branch local no Git, você pode usar o seguinte comando:

  1. Se você estiver atualmente no branch que deseja renomear:

    git branch -m novo-nome-do-branch
  2. Se você estiver em um branch diferente:

git branch -m nome-antigo-do-branch novo-nome-do-branch