Skip to content

dop-s/dopTenEssentialTechNet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Dez tecnologias essenciais em .NET

CI - Build & Test Dependencies Check & Update Monitoring & Performance CD - Deploy Auto Tag & Version

Licença

Repositório com projetos .NET 10 (console, APIs web e testes) que exploram técnicas e bibliotecas recorrentes no ecossistema .NET moderno.


Índice

  1. Visão geral
  2. Projetos na solução
  3. Requisitos
  4. Instalação e build
  5. Como executar um projeto
  6. CI/CD e workflows
  7. Documentação adicional
  8. Contribuições
  9. Artigos e conteúdos
  10. Licença
  11. Contato

Visão geral

O dopTenEssentialTechNet agrupa vários projetos independentes, todos direcionados ao .NET 10 (net10.0). A maior parte são aplicativos de console; há também APIs minimais (por exemplo, FastEndpoints ou EF Core com HTTP) quando o tema pede hospedagem web. Cada pasta corresponde a um tema (Span, configuração, resiliência HTTP, testes com containers, pooling de DbContext, logging gerado em compile time, entre outros), para estudo, artigos ou referência rápida.

A solução principal está em dopTenEssentialTechNet.sln na raiz do repositório.

Projetos na solução

Projeto Tema (foco)
SubStringSpan Strings e Span/Memory para código eficiente e com menos alocações
OptionsConfig Padrão Options e IConfiguration
BackgroundServer Serviços em segundo plano com Host / hospedagem genérica
WorkflowCore Orquestração de fluxos com WorkflowCore
VerticalSliceFastEndpoints Organização vertical slice com FastEndpoints
HTTPolly Chamadas HTTP com políticas de resiliência (Polly)
Flurl Cliente HTTP fluente com Flurl
TddContainers Testes de integração com Testcontainers
DynamicDapper Acesso a dados com Dapper e cenários dinâmicos
ContextPool EF Core com AddDbContextPool, SQL Server e Minimal API
SourceGeneratedLogging Logging com [LoggerMessage] (source generator de alto desempenho)

Requisitos

Verifique a versão instalada:

dotnet --version

Instalação e build

git clone https://github.com/daniloopinheiro/dopTenEssentialTechNet
cd dopTenEssentialTechNet
dotnet restore
dotnet build

Para compilar apenas a solução:

dotnet build dopTenEssentialTechNet.sln

Como executar um projeto

Substitua NomeDoProjeto por uma das pastas listadas acima (por exemplo, SubStringSpan):

dotnet run --project NomeDoProjeto/NomeDoProjeto.csproj

Na pasta WorkflowCore o arquivo de projeto é WorkflowCore.App.csproj (nome escolhido para não conflitar com o pacote NuGet WorkflowCore).

Na pasta Flurl o arquivo é FlurlDemo.App.csproj (o nome Flurl conflita com o pacote NuGet Flurl usado pelo Flurl.Http).

O projeto TddContainers é de testes (xUnit + Testcontainers). Execute com dotnet test — é necessário Docker em execução para subir o PostgreSQL em container.

APIs web (Minimal API / ASP.NET Core):

Projeto URL predefinida (desenvolvimento)
VerticalSliceFastEndpoints http://localhost:5088
ContextPool http://localhost:5089

SQL Server (LocalDB ou instância própria):

  • DynamicDapper — connection string em ConnectionStrings:Default (appsettings.json).
  • ContextPoolConnectionStrings:DefaultConnection; o arranque cria a base e insere dados de exemplo. Ajuste a string se não usar LocalDB.

Logging com source generator:

  • SourceGeneratedLoggingdotnet run executa uma chamada gerada em compile time ([LoggerMessage]) e imprime na consola (nível Debug).

Exemplo:

dotnet run --project SubStringSpan/SubStringSpan.csproj

CI/CD e workflows

O repositório inclui workflows em .github/workflows/ para integração contínua, dependências, monitoramento, deploy e versionamento. Resumo:

Workflow Arquivo Função principal
CI - Build & Test ci.yml Build, testes e verificações de qualidade
CD - Deploy cd.yml Entrega e artefatos de deploy
Dependencies Check & Update dependencies.yml Dependências e atualizações
Monitoring & Performance monitoring.yml Monitoramento e performance
PR Automation pr-automation.yml Automação de pull requests
Auto Tag & Version auto-tag.yml Tags e versionamento
Auto Release auto-release.yml Releases automáticas
Create Version Tags create-tags.yml Criação de tags de versão
Create Release release.yml Criação de releases

Documentação complementar:

Documentação adicional

Contribuições

Contribuições são bem-vindas. Consulte CONTRIBUTING.md e o código de conduta. Para bugs e ideias, use Issues.

Artigos e conteúdos

Licença

MIT — veja LICENSE.md.

Contato

Suporte técnico

Autor

Danilo O. Pinheiro

Empresas

  • DevsFree: comunidade de desenvolvedores
  • dopme.io: consultoria e soluções tecnológicas

Feito com cuidado por Danilo O. Pinheiro
DevsFreedopme.io

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 100.0%