.NET
Cloud Native e Cloud Agnostic
para rodar .NET em qualquer Cloud
ou sem Cloud sempre de forma profissional!
Últimas publicações
Aqui estão os últimos 12 posts de mais de 500…
Abstrações duplicadas, quem nunca?
Quando uma abstração está exercendo seu papel, seu código tende a cada vez parecer mais simples. Ao olhar desatento pode parecer até simplista. O problema é que essa simplicidade ao mesmo tempo que aumenta a produtividade, produz ansiedade e afeta quem depende de complexidade para programar. No...
Abstrações e seu ciclo evolutivo
Uma das ideias que tenho amadurecido ao longo dos últimos anos está ligado às implementações de mecanismos arquiteturais e abstrações. Em Abstrações – Tradeoffs e co-responsabilidade eu falei sobre o que são abstrações boas, abstrações ruins, ponderei sobre quando criá-las e o que ela tem de ter...
Be Welcome .NET 5
É incrível ver que mesmo diante do dilema de uma mudança abrupta de rotina, o calendário de Releases do .NET 5 se manteve intacto. Temos uma mudança incrível na plataforma e enfim chegou o .NET 5! O Release Candidate 2 do .NET 5 já é SUPORTADO EM PRODUÇÃO pela Microsoft. Daniel Roth, Principal...
Register/Resolver e suas implicações para a modelagem e reaproveitamento
Você já notou que desde a chegada do .NET Core, consistentemente reaproveitamos menos nossas classes, principalmente de infraestrutura. Escrevemos mais classes e cada vez reaproveitamos menos nosso código? Bom se você não notou isso, então ao invés de 1 problema, temos 2! Quando você desenha uma...
Como perder mensagens com RabbitMQ
É comum falarmos sobre receitas de sucesso e como resolver problemas, mas será que você está fazendo essas coisas, está perdendo mensagens e vai culpar o RabbitMQ por isso? Se liga nessas dicas, pois se você está perdendo mensagens com RabbitMQ, a culpa é totalmente sua! E vou mostrar como você...
Enterprise Application Log + Access Log NGINX
Embora esse tutorial trate detalhadamente de configurações do NGINX e LogStash, no lugar do NGINX você pode usar qualquer aplicação que produza log em textos e que seja possível manipular o formato dos logs. Passo 1 - Escrever o log em formato JSON Nesse passo vamos editar o arquivo de...
Ring Buffer – Antecipe, otimize e evite custos excessivos
Ring Buffer, também chamado de Circular Buffer é uma estrutura de dados muito poderosa. Seu nome já traz o spoiler e entrega o ouro, afinal não deixa de ser um buffer, só que trabalhando em formato de anel/circular. Se você não faz ideia do que seja, vem comigo nessa viagem pois vamos dissecar o...
MVP | Developer Technologies | 2020-2021
Em Outubro de 2018 eu recebi o primeiro prêmio Microsoft Most Valuable Professional! Como faltava pouco para a renovação (maio, com resultado em 1° de julho) minha renovação havia sido marcada para 2020. E agora estou aqui para contar um pouco sobre o programa e essa a renovação. A primeira coisa...
Azure Functions + Containers (Parte 2/2)
No post passado o foco estava nos Agnostic Services e no uso de containers. Agora é hora de olharmos outra questão mais braçal. Rodar Azure Functions 3 com Containers, uma tarefa que deveria ser trivial, mas não é. Nossa jornada começa com o tutorial Criar uma função no Linux usando um contêiner...
Azure Functions + Containers (Parte 1/2)
Certa vez rolou uma discussão sobre Function as a Service (FaaS) e Containers questionando se um suplantaria o outro, ou se seríamos capazes de ignorar um em função do outro. Minha resposta curta e objetiva é: Não! Functions e Containers se complementam. Sempre que olharmos para Function as a...
Dockerfiles: Entrypoint vs CMD?
Você viu Entrypoint e CMD em algum lugar, seja em um dockerfile ou em um docker run, mas não faz a ideia do que seja? Vem comigo, é mais simples do que você imagina. Esse é o típico cenário em que a resposta é mais idiota do que você possa imaginar. É algo que não é nem sofisticado, nem complexo,...
Docker no WSL² – Walkthrough
No post anterior eu contei um pouco da história do projeto, mas agora é hora de olharmos para ele de fato. Que tal um passeio no parque com o WSL2? Enfim Generally Available do WSL2 que chega ao Windows 10 na versão 2004 Esse texto era parte do post anterior Enfim Generally Available do WSL2 que...
Projetos Open Source
projetos ativos e projetos antigos disponíveis para estudo
Nenhum resultado encontrado
A página que você solicitou não foi encontrada. Tente refinar sua pesquisa, ou use a navegação acima para localizar a postagem.
Entender | Analisar | Projetar | Desenvolver | Implantar | Manter
A segurança que você busca não está em um tutorialPara entender uma tecnologia é importante entender o que influenciou sua criação, o que ela faz de fato, como ela faz. Para que então se sinta seguro e confiante a respeito das decisões que está prestes a tomar.
De um lado precisamos compreender o que está sendo feito por baixo dos panos para descobrir como extrair o máximo de uma tecnologia ou, ao menos, não atrapalhar o bom funcionamento dela.
O Cloud Native .NET é uma jornada de descoberta sobre tecnologias e patterns que fazem parte da maioria dos softwares que usamos, que somos usuários e que suportam e toleram altas cargas de trabalho, de forma eficaz, eficiente e sustentável.
É primeiro entendendo o que eles fazem, que podemos descobrir oportunidades e evoluir no que fazemos…
Conteúdo
Ring Buffer – Antecipe, otimize e evite custos excessivos
Ring Buffer, também chamado de Circular Buffer é uma estrutura de dados muito poderosa. Seu nome já traz o spoiler e entrega o ouro, afinal não deixa de ser um buffer, só que trabalhando em formato de anel/circular. Se você não faz ideia do que seja, vem comigo nessa viagem pois vamos dissecar o...
MVP | Developer Technologies | 2020-2021
Em Outubro de 2018 eu recebi o primeiro prêmio Microsoft Most Valuable Professional! Como faltava pouco para a renovação (maio, com resultado em 1° de julho) minha renovação havia sido marcada para 2020. E agora estou aqui para contar um pouco sobre o programa e essa a renovação. A primeira coisa...
Azure Functions + Containers (Parte 2/2)
No post passado o foco estava nos Agnostic Services e no uso de containers. Agora é hora de olharmos outra questão mais braçal. Rodar Azure Functions 3 com Containers, uma tarefa que deveria ser trivial, mas não é. Nossa jornada começa com o tutorial Criar uma função no Linux usando um contêiner...
Azure Functions + Containers (Parte 1/2)
Certa vez rolou uma discussão sobre Function as a Service (FaaS) e Containers questionando se um suplantaria o outro, ou se seríamos capazes de ignorar um em função do outro. Minha resposta curta e objetiva é: Não! Functions e Containers se complementam. Sempre que olharmos para Function as a...
Dockerfiles: Entrypoint vs CMD?
Você viu Entrypoint e CMD em algum lugar, seja em um dockerfile ou em um docker run, mas não faz a ideia do que seja? Vem comigo, é mais simples do que você imagina. Esse é o típico cenário em que a resposta é mais idiota do que você possa imaginar. É algo que não é nem sofisticado, nem complexo,...
Docker no WSL² – Walkthrough
No post anterior eu contei um pouco da história do projeto, mas agora é hora de olharmos para ele de fato. Que tal um passeio no parque com o WSL2? Enfim Generally Available do WSL2 que chega ao Windows 10 na versão 2004 Esse texto era parte do post anterior Enfim Generally Available do WSL2 que...
Enfim Generally Available do WSL2 que chega ao Windows 10 na versão 2004
A maior expectativa que eu tinha nos últimos anos era esse lançamento: WSL2 em Generally Available. Ficou fantástico! Antes de falarmos de WSL2 precisamos falar de WSL e do WSL1 e sua história na Microsoft. Um pouco da história do WSL WSL1 chega no Microsoft Build 2016 para explodir a cabeça de...
Tesseract OCR + ASP.NET Core
Esse projeto nasceu de uma iniciativa de combate a SPAM. Spammers no telegram usam novas táticas todos os dias e corrida de gato-e-rato nos faz usar tecnologia para sanar e bloquear as iniciativas desses spammers. Eu particularmente sou extremamente ativo no telegram, e lidero alguns vários...
A mecânica das decisões
Chegou a hora de avaliarmos o mercado, a situação na qual estamos e entender quais movimentos são possíveis. Entender friamente o que pode acontecer e quais são os movimentos possíveis nesse tabuleiro, nos permite antecipar ações para minimizar os efeitos de sermos atingidos de surpresa. Esse...
Live Coding – Coravel Application Framework
Pessoal, vamos animar essa quarentena? Essa é a primeira vez que vamos fazer isso e vamos construir essa dinâmica juntos. Eu preciso da sua participação e sua ajuda para definir o roadmap, mas por hora vamos falar sobre tecnologia e ver no que dá! Não tem pauta definida, vamos ver no que vai dar!...
Jornada DevHero – REPRISE
Em janeiro de 2019 produzi um evento chamado Jornada Dev Hero. A jornada do desenvolvedor, mostrando o caminho que eu e diversos amigos trilhamos para chegar onde chegamos. Eu achei o conteúdo tão rico e tão importante em termos de mensagem e capacidade de transformação que tinha reais planos de...
.NET no Linux, vale a pena?
A gente está a tanto tempo nessa batida, que nem nos questionamos mais, mas há muita gente que ainda tem dúvidas ou precisa de argumentos. Enquanto de um lado sequer cogitamos fazer deploy de aplicações .NET Core no Windows, por outro há quem ainda tenha medo de sair do windows. Uma carreira...
Conheça nosso Podcast
DevShow PodcastEm 2019 resolvemos criar um podcast, o DevShow Podcast, desde lá são mais de 40 episódios com muito assunto legal, sempre com essa pegada pessoal, falando coisas sérias, mas sem o menor compromisso com a formalidade.
.NET
IntelliCode no Visual Studio 2019
Em menos de 6 minutos nesse vídeo vemos, como habilitar, como treinar seu primeiro modelo, como compartilhar com seu time e como importar um modelo criado por outra pessoa. Além, de claro, mostrar a diferença e o impacto em produtividade no dia-a-dia!
ler mais…
Dev Desktop .NET Core: Windows ou Linux?
Esse post fala sobre ambiente de desenvolvimento. O lugar onde você está escrevendo código, compilando, rodando, debugando, e testando o que está produzindo.
ler mais…
Oragon.Spring no ASP.NET Core – Get Started Tutorial (PT-BR)
Quem trabalhou de perto nos meus projetos sabe que tenho uma opinião bem radical a respeito da maioria dos frameworks de injeção de dependência. Aliás, compartilhando contigo minha opinião: Eles fazem injeção de dependência, mas pouco sobre IoC, e podem, diversas vezes ser encarados meramente como Service Locators, o que na minha opinião deixa pobre qualquer implementação que queira se fundamentar em IoC e DI.
NHibernate no .NET Core – Visão Geral
No início de dezembro rolou o DevWeek do Canal .NET. onde falei sobre NHibernate no .NET Core – Uma visão geral. A intenção foi apresentar as principais features do projeto e mostrar quais os meus argumentos me levam a escolhê-lo como meu ORM padrão, ou mesmo primeira opção.
Diário de Bordo – Dezembro 2018
Olá pessoal,
trago novidades interessantes que vou compartilhar com vocês.
Oragon
Saiu a versão 1.5.0 do Oragon.Contexts. Oragon.Contexts aglutina os aspectos AOP que dão suporte à Exception Handling e contextos NHibernate. As maiores adições acontecem nos contextos NHibernate que agora suportam:
- SQL Server
- MySQL
- Oracle
- DB2
- PostgreSQL NOVO
- SQLite NOVO
Além das adições, o projeto ganha testes integrados. Isso sinifica que a cada commit, com a ajuda do jenkins e docker, uma nova instância de cada um dos bancos é criada, exclusivamente para validar a implementação. Ainda falta adicionar o DB2 a esse procedimento.
Os testes tem o papel adicional de ser exemplo de implementação.
As configurações estão aqui enquanto, no teste integrado você encontra os testes de aceitação para o acesso a dados. Esses testes garantem que:
- Os objetos de banco (tabelas, colunas, etc) conseguem ser criados dinamicamente via NHibernate Schema Update.
- Leitura e escrita são validados nos cenários de mapeamento 1xN, Nx1 e NxN.
Tudo isso em diversas alternativas de leitura e escrita para expor à cenários diferentes de uso da infraestrutura.
Bom, o resultado é maior garantia para as novas releases, além de incrementar o processo de build, possibilitando a criação dinâmica desses recursos, que possivelmente pode virar um projeto de suporte.
Documentação Oragon
#ChegaDeDesculpas é hora de entregar uma documentação que apresente a solução de forma clara. Embora tenha muito interesse em migrar para o DocFX, usei a imagem que mantenho do Confluence e uma licença anual (10 usuários) para iniciar a documentação do projeto. Você pode ver esse processo de documentação crescendo no endereço docs.oragon.io.
MVP
em 1° de Novembro fui nomeado Microsoft MVP na categoria Developer Technologies. Esse é um prêmio dado pelas contribuições à comunidade.
Vamos combinar, é para ser sem estrelismo. Continuo o suporte no Telegram, e nos grupos (veja na home, os grupos que mais contribuo). Tem faltado tempo, principalmente pois estou atendendo um projeto específico fulltime, muitas vezes tendo de viajar. Meio a restruturação de equipe, enfim. Tenho trabalhado com foco extremo na entrega de features, o que me toma um tempo adicional, além do suporte ao time.
Um dos melhores benefícios do programa MVP é a visibilidade, o que para mim se traduz em possibilidade de causar maior impacto. Estar Microsoft Most Valuable Professional abre possibilidades para impactar mais gente e levar ideias mais longe. No meu caso especificamente, adoro diversos produtos Microsoft, e debuto a favor da sua utilização concomitantemente com soluções open source. De RabbitMQ a Jenkins, de NodeJS com Typescript, ou com API Managers, Linux Containers com Docker, open source me fascina e incentivo seu uso, sempre que entendo que traz valor para as soluções que desenho.
Eventos
Como disse acima, as possibilidades de causar impacto com o MVP são maiores, assim a agenda de eventos de Dezembro é insana para a minha experiência.
Dia 4 – DevWeek 2018 – NH + .NET Core
No dia 4, 22h, vou falar de NHibernate e .NET Core. Vou mostrar as features do projeto e apresentar meus argumentos para elegê-lo meu ORM “Oficial” há mais de 10 anos e permanecer considerando-o o único ORM no .NET Core.
Esse evento será no Canal .NET.
#online #gratuito
https://gago.io/evento/devweek-2018-nhibernate/
Dia 5 – Microsoft Monthly meetup – RJ
No dia 5, logo pela manhã, 9h vou falar sobre Computer Vision no mundo corporativo, apresentando os estudos que fizemos e encontramos em 2017 e 2018 e apresento um roadmap do que está sendo planejado para entrar em produção já em 2019.
https://gago.io/evento/microsoft-rio-monthly-meetup-05-12-2018/
#presencial #microsoft #errejota
No dia 5 volto para SP e passo o resto da semana aqui.
Dia 10 – Containers Night #1
Dia 10 estarei em São Paulo falando Estruturando Implantações corporativas com Docker. Na Fujitsu, em São Paulo.
https://www.meetup.com/pt-BR/dotnet-Sao-Paulo/events/256811038/
#presencial #fujissu #essepê
Dias 11-12 – Microsoft Ignite
Aproveitando, na mesma semana começa o Microsoft Ignite, também aqui em SP. Já enviou sua inscrição?
Estarei assistindo ao evento!
https://gago.io/evento/microsoft-ignite-the-tour-sp/
#presencial #sp
Dias 13-14
Nos dias 13 e 14 continuarei em SP para um evento privado (na verdade ainda estou me habituando com os “acessos” à informação, e não sei o que dá para divulgar. Mas saiba que se não estou respondendo suas mensagens, é porque estou em um evento nesse período.
Dia 15 ou 16 – Docker – Aulão Beneficente
Renato Groffe ainda está fechando a data, mas faremos um evento beneficente, online, para arrecadar dinheiro para o Natal NERD. Renato me pediu para ajudar na moderação no Youtube, e me ofereci para falar um pouco. Ainda estamos fechando as datas, preciso criar o evento aqui no site, enfim.
Será pago e 100% do dinheiro será para o Natal Nerd.
Fechando 2018
Acompanho quase que diariamente as visitas aqui do site. E como é um número gerenciável, dá para entender o que cada um busca, quais os interesses, o que tem buscado recorrentemente. O maior problema nesse momento é um projeto em que estou tocando e precisando urgentemente de um arquiteto para tocar o projeto e me deixar volta para Ofertas e Inovação, minha área na Ebix que está parada desde maio desse ano.
Os resultados do ano são positivos e esse dezembro está mais tumultuado do que deveria em virtude de ter adiado minhas férias por conta desse projeto. Eu iria pegar esse período para tirar férias.
Novidades para 2019
2019 já começou para mim! Estou trabalhando nas novas direções que os projetos que estou tocando devem assumir, e novas estratégias para alcançar e apoiar mais gente a entregar mais projetos.
Muita coisa boa está por vir, e conto com o suporte e apoio de vocês.
Feedback
A propósito, sei que alguns me acompanham e gostariam de trocar uma ideia, bater um papo, falar sobre seus problemas. Não hesitem, dou preferência para a utilização do Telegram. Sou mais tímido do que se imagina!
Pessoal, um grande abraço, e continuamos na saga por fazer uma Brasil melhor! Com comunidades mais participativas, mais colaborativas.
Enfim, venha fazer parte disso, todos os links para comunidades estão na home do site.
Arquitetura
Enterprise Application Log v4
Hoje chegamos à versão 4 do nosso stack de observabilidade. Contamos com o upgrade para a versão 7.13.0 de todos os recursos da Elastic e a adição de novos componentes entre eles o Application Performance Monitoring (APM).
ler mais…
EasyNetQ em perspectiva
Abstrações são desenhadas para resolver problemas e abstrair um ou mais aspectos de uma implementação. Uma abstração pode entregar redução de complexidade, maior coesão, configuração facilitada, adaptação e até mesmo suprimir aquilo que não nos é relevante quando um novo padrão emerge do seu próprio uso.
ler mais…
Hub de Eventos
Na quinta-feira, dia 18/Março/2021 vamos falar do Hub de eventos que produzi para atender uma demanda particular. Eu não precisava de extrema performance e redundância, mas e se precisasse?
ler mais…
Kubernetes em C#, seria possível?
Você já pensou em criar seu próprio Kubernetes em C#? Hoje eu vou mostrar como você pode dar os primeiros passos nessa direção.
ler mais…
RabbitMQ – Guia de Estudo Gratuito 2021
RabbitMQ é simples e incrível. São apenas 4 componentes. Relativamente simples, mas cada um tem detalhes que escondem ouro.
Se você conhece estruturas de filas, pode pensar que já sabe do que se trata. E é aí que mora o engano. O RabbitMQ não é simplesmente uma infraestrutura de filas, é um Message Broker. Essa categoria exige que tenha habilidades que vão muito além de simplesmente possuir filas FIFO. Há detalhes que levariam semanas ou meses para implementar e anos para estabilizar, dependendo da linguagem.
Por isso defendo seu uso nos cenários mais variados.
ler mais…Containers
Chakra on .NET Core with Docker
Scripting pode não ser uma demanda corriqueira, mas há momentos em que sua flexibilidade faz jus à sua utilização. Seja para deixar alguma pequena parte de sua aplicação mais flexível ou para poder suportar extensibilidade, há cenários bons para seu uso. Hoje vou abordar como usar o JSRT (Javascript Runtime) da Microsoft, motor do Microsoft Edge, o Chakra em uma aplicação .NET Core, rodando em um container linux com Docker.
Docker – de A a Z – 19 – Youtube Downloader – Novidades #01
Pessoal, esse é o primeiro pacote com novidades sobre o projeto. Nosso diagrama de causa-efeito-ação chega a sua 5a versão com muitas novidades, incluindo:Adição do MongoDB, agora fazendo encoding de MP3 com FFMPEG, possibilitando o download de MP3 que já está em dev, além de stream parcial (que permite utilizar o controle de tempo da tag video do html5) e várias correções, além de uma nova implementação “duvidosa”. Mas essa eu não vou contar aqui, você terá de olhar no github, mais especificamente em um commit que nesse momento só está presente na develop.
Fique atento às modificações nas imagens abaixo. Essas imagens representam novidades que criei e estão publicadas em dev (http://devweek04.gago.io:20001/), enquanto isso prd (http://devweek04.gago.io/) continua com a mesma implementação antiga. Nesse momento faz bem deixar assim, já que torna possível visualizar as diferenças.
Docker – de A a Z – 19 – Youtube Downloader – o projeto
Olá, esse é o vídeo de número 19 da série e vamos abordar um tema incomum: Pizza! Oops brincadeira! Youtube Downloader! A escolha desse projeto se dá pela necessidade de utilizar paralelismo para processar as requisições de download, tratar-se de um projeto não convencional, e precisar de cuidados ortogonais quanto ao design da solução em si. São elementos que fazem desse projeto um projeto divertido e cheio de peculiaridades. A principal característica é sair do mais do mesmo, dos cruds com MongoDB e Redis e mostrar um exemplo mais rico. ler mais…
Windows-native Docker Engine – Nativo?
O post é simples, rápido mas ajuda a entender o que significa esse tumulto a respeito do suporte nativo a Docker e Linux Containers no Windows 2016 Server.
Docker – de A a Z – 14 – ASP.NET Core from Scratch to Production with docker & jenkins (pt-BR)
Apresento aqui um projeto ASP.NET Core, desde sua criação até sua chegada a produção, com jenkins.
Começamos apresentando as opções de criação do projeto, depois habilitamos a integração com o Docker for Windows. Em seguida adicionamos mongodb ao projeto e começamos a desenhar o build de produção, ainda na máquina de desenvolvimento. Ao concluir o processo de configuração, subo o código para o github e faço o build no jenkins, usando pipeline para realizar build e deploy da nossa aplicação ASP.NET Core.
Mensageria
Nenhum resultado encontrado
A página que você solicitou não foi encontrada. Tente refinar sua pesquisa, ou use a navegação acima para localizar a postagem.
Conteúdo e Posicionamento
.NET + Cloud Native + Cloud Agnostic
.NET | DevOps | Microservices | Containers | Continuous Delivery
.NET muito além do .NET
O mínimo de infra que todo dev e/ou arquiteto deveria saber
Aplicações distribuídas e comunicação entre serviços (RabbitMQ / gRPC)
Containers, Docker e Kubernetes
RabbitMQ e Mensageria e comunicação assíncrona entre aplicações e serviços
Arquitetura de Software e Arquitetura de Solução com foco no melhor aproveitamento em projetos .NET
Nossos números
Desde 2002 trabalhando com desenvolvimento de software
Desde 2002 ajudando outros devs
Desde 2010 trabalhando exclusivamente como arquiteto
Contas atingidas no telegram/facebook
Alunos
Microsoft MVP
Conteúdo Gratuito
Tudo que está aqui no gaGO.io é conteúdo gratuito, feito para ajudar desenvolvedores dos mais variados níveis.
Cursos
Tenho também alguns programas de acompanhamento. Esses programas tem a função de ajudar desenvolvedores em áreas específicas ou de forma mais abrangente na jornada do arquiteto.


















