Skip to content

Instantly share code, notes, and snippets.

View renatogroffe's full-sized avatar
🎯
Focusing

Renato Groffe renatogroffe

🎯
Focusing
View GitHub Profile
"""
This plugin searches for SQL Server, Azure SQL and PostgreSQL connection strings.
"""
import re
from detect_secrets.plugins.base import RegexBasedDetector
class ConnectionStringDetector(RegexBasedDetector):
"""Scans for Connection Strings for SQL Server, Azure SQL and PostgreSQL."""

ASPNETCore8-MinimalAPIs-JWT-Swagger-Extensions-Mermaid-HttpFiles-Mermaid_ContagemAcessos

Exemplo de API REST para contagem de acessos criada com o .NET 8 + ASP.NET Core + Minimal APIs, empregando extensões definidas em uma Class Library para utilização de JWT (JSON Web Tokens) e de configurações para que o Swagger suporte tokens. Inclui arquivos .http para testes a partir do Visual Studio Code.


Fluxo básico

sequenceDiagram
    actor Aplicacao cliente
using System.Runtime.InteropServices;
using System.Text.Json;
Console.WriteLine("***** Testes com .NET 9 | Sobrecarga metodo FromSeconds - TimeSpan *****");
Console.WriteLine($"Versao do .NET em uso: {RuntimeInformation
.FrameworkDescription} - Ambiente: {Environment.MachineName} - Kernel: {Environment
.OSVersion.VersionString}");
string[] amostrasTempo = ["71.715", "71.716", "71.829", "71.830", "71.832"];
foreach (var amostra in amostrasTempo)
string[] amostrasTempo = ["71.715", "71.716", "71.829", "71.830", "71.832"];
foreach (var amostra in amostrasTempo)
{
Console.WriteLine();
var amostraSegundos = JsonSerializer.Deserialize<double>(amostra);
Console.WriteLine($"Tempo em segundos = {amostra}");
Console.WriteLine($"Tempo em segundos (double) = {amostraSegundos}");
var amostraTimeSpan = TimeSpan.FromSeconds(value: amostraSegundos);
Console.WriteLine($"Tempo em segundos (TimeSpan) = {amostraTimeSpan} | TimeSpan.FromSeconds(value)");
}
using APIContagem;
using APIContagem.Models;
using Microsoft.AspNetCore.Http.HttpResults;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSingleton<Contador>();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
using System.Runtime.InteropServices;
Console.WriteLine("***** Testes com .NET 9 + C# 13 | params collections *****");
Console.WriteLine($"Versao do .NET em uso: {RuntimeInformation
.FrameworkDescription} - Ambiente: {Environment.MachineName} - Kernel: {Environment
.OSVersion.VersionString}");
Console.WriteLine();
ProcessWords("Mais", "uma", "live", "no", "Canal", ".NET");
using ConsoleAppLinqAggregateBy.Models;
using System.Runtime.InteropServices;
Console.WriteLine("***** Testes com .NET 9 | Metodo AggregateBy - LINQ *****");
Console.WriteLine($"Versao do .NET em uso: {RuntimeInformation
.FrameworkDescription} - Ambiente: {Environment.MachineName} - Kernel: {Environment
.OSVersion.VersionString}");
var estados = new Estado[]
{
namespace ConsoleAppLinqAggregateBy.Models;
public class Estado(string sigla, string nome, string regiao, int populacao)
{
public string? Sigla => sigla;
public string? Nome => nome;
public string? Regiao => regiao;
public int Populacao => populacao;
}
using ConsoleAppIndentationOptions.Models;
using System.Runtime.InteropServices;
using System.Text.Json;
Console.WriteLine("***** Testes com .NET 9 | Indentation options *****");
Console.WriteLine($"Versao do .NET em uso: {RuntimeInformation
.FrameworkDescription} - Ambiente: {Environment.MachineName} - Kernel: {Environment
.OSVersion.VersionString}");
namespace ConsoleAppIndentationOptions.Models;
public class Localidade
{
public int Id { get; set; }
public string? NomeContinente { get; set; }
public string? NomePais { get; set; }
public string? NomeCidade { get; set; }
}