.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…
NodeJS Everywhere
No Microsoft Build 2017 muita coisa legal rolou, fiz uma lista com o que considerei mais interessante, mas aqui vai um vídeo super interessante sobre as capilaridades do NodeJS, e onde e como ele está presente no nosso dia-a-dia. Então, vamos ao vídeo!...
Windows Subsystem for Linux & Docker
Ao longo de 2016 fiz uma série de vídeos sobre docker, da qual devo retomar nas próximas semanas. Nesse post vou abordar exclusivamente Docker e Windows Subsystem for Linux. Acho que vai ajudar a esclarecer! Docker no Windows Docker e Windows ainda gera uma série de dúvidas, sobre diversos...
SmtpClient dá lugar a MailKit e MimeKit
No InfoQ foi noticiada a mudança de estratégia em relação ao uso do SmtpClient que aparentemente está descontinuado. Em substituição a Microsoft recomenda os pacotes jstedfast/MailKit e jstedfast/MimeKit. Pela segunda vez, a Microsoft marcou oficialmente uma classe .NET como sendo substituída por...
Microsoft Bot Framework no .NET Core – Alpha
Ao começar esse post estava disposto apenas a apresentar novos packages do Microsoft Bot Framework no .NET Core, que endereçam o desenvolvimento de bots com .NET Core 1.1 e .NET Standard 1.4 e 1.6, já disponíveis em versão alpha no Nuget.org, no entanto como está no meu roadmap reconstruir, já...
Google Cloud Next – 2017
Google Cloud Platform enviou na semana passada um email falando sobre o Google Cloud Next e há muita coisa interessante para falar. Um dos principais aspectos que devo abordar aqui estão centrados nas novas aquisições da google e novos produtos, features e free tier que encontramos no Google Cloud...
A anatomia de um chatbot
Vendo bots com uma visão mais profissional, pude estudar muito e principalmente: experimentar muito. Fiz diversos testes implementando chatbots com C# e Microsoft Bot Framework, sob o .NET Framework, mas também fiz bots em NodeJS, e alguns construídos direto em plataformas web. Testei inúmeras...
Como a segment.com economizou US$ 1 milhão por ano em sua conta da AWS
Veja como a Segment economizou US $ 1 milhão por ano em sua conta da AWS em três meses. Seus esforços de investigação são interessantes e detalhados, há muito para aprender com eles. Provavelmente não deveria ser uma surpresa que a AWS não facilite a descoberta de onde há oportunidades de...
What’s new for .NET Core and Visual Studio 2017
Para a maioria daqueles que estão aqui, o .NET Core representa um dos mais relevantes lançamentos da Microsoft nos últimos anos. Então nada mais justo que um post dedicado a endereçar esse conteúdo! https://www.youtube.com/watch?v=96v_VRZj4fo Quais foram suas impressões?...
Agora também estou no programa MTAC
Pessoal, nota rápida! Hoje saiu a aprovação e fui um dos selecionados para o programa MTAC - Multi Platform Technical Audience Contributor. O programa visa o engajamento da comunidade técnica em ações para a comunidade técnica. Estou muito feliz de ter sido aceito, agradeço à indicação do Renato...
Docker – Images vs Layers
Sempre que fazemos um build de uma imagem docker, estamos criando novas layers a cada comando do dockerfile. A última layer de cada build é a layer que identifica aquela imagem, é sob ela que o Docker aplica a tag quando usamos o parâmetro -t {imagename:tagname}, para dar nomes semanticamente...
NGINX Automation + WebMin
No post NGINX Automation eu falei sobre como criar uma automação que lhe facilite na gestão do NGINX. Agora vou abordar, em forma de tutorial, como usar essa solução no webmin. O primeiro passo é configurar corretamente o script de automação, na medida que ele estiver corretamente configurado,...
NGINX Automation
Se você usa o NGINX em produção, como Reverse Proxy, já se perguntou se seria possível criar algum tipo de automação. Essa é uma demanda pois quanto mais apps passando por ele, mais endereços, mais configurações serão necessárias. Se você usa todo o potencial do NGINX, aí com toda certeza você...
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
Como a segment.com economizou US$ 1 milhão por ano em sua conta da AWS
Veja como a Segment economizou US $ 1 milhão por ano em sua conta da AWS em três meses. Seus esforços de investigação são interessantes e detalhados, há muito para aprender com eles. Provavelmente não deveria ser uma surpresa que a AWS não facilite a descoberta de onde há oportunidades de...
What’s new for .NET Core and Visual Studio 2017
Para a maioria daqueles que estão aqui, o .NET Core representa um dos mais relevantes lançamentos da Microsoft nos últimos anos. Então nada mais justo que um post dedicado a endereçar esse conteúdo! https://www.youtube.com/watch?v=96v_VRZj4fo Quais foram suas impressões?...
Agora também estou no programa MTAC
Pessoal, nota rápida! Hoje saiu a aprovação e fui um dos selecionados para o programa MTAC - Multi Platform Technical Audience Contributor. O programa visa o engajamento da comunidade técnica em ações para a comunidade técnica. Estou muito feliz de ter sido aceito, agradeço à indicação do Renato...
Docker – Images vs Layers
Sempre que fazemos um build de uma imagem docker, estamos criando novas layers a cada comando do dockerfile. A última layer de cada build é a layer que identifica aquela imagem, é sob ela que o Docker aplica a tag quando usamos o parâmetro -t {imagename:tagname}, para dar nomes semanticamente...
NGINX Automation + WebMin
No post NGINX Automation eu falei sobre como criar uma automação que lhe facilite na gestão do NGINX. Agora vou abordar, em forma de tutorial, como usar essa solução no webmin. O primeiro passo é configurar corretamente o script de automação, na medida que ele estiver corretamente configurado,...
NGINX Automation
Se você usa o NGINX em produção, como Reverse Proxy, já se perguntou se seria possível criar algum tipo de automação. Essa é uma demanda pois quanto mais apps passando por ele, mais endereços, mais configurações serão necessárias. Se você usa todo o potencial do NGINX, aí com toda certeza você...
Dev Week 2016 @ Canal .NET
Pessoal, essa semana está rolando o Dev Week 2016: São 5 dias, 16 palestras, todas as noites! A de segunda-feira já passou, mas isso não é um problema, todo o material fica disponível no Canal .NET, lá no youtube. A propósito, eu fecho a agenda da quarta-feira com o tema Arquitetura X...
.NET Core – Estratégias de Deploy – Parte 2
O post estava ficando grande demais então dividi em dois. O que era para ser um só, acabou virando 2 posts sobre .NET Core. O post anterior aborda o contexto necessário para que entenda quais são as estratégias de deploy. Nesse vamos efetivamente abordá-las. Estratégias de Deploy Agora que os...
.NET Core – Estratégias de Deploy – Parte 1
Olá pessoal, já faz algum tempo que não escrevo sobre .NET. Tenho me dedicado aos vídeos sobre Docker, mas escolhi um tema muito divertido para falar: Novas estratégias de deploy com .NET Core. Quem vem acompanhando os novos rumos da Microsoft, deve estar compreendendo que estamos diante de uma...
Docker – de A a Z – 16 – SQL Server for Linux
Pessoal, aqui vai mais um vídeo da série, e dessa vez uma demo, super simples e super rápida sobre o SQL Server for Linux. Vale lembrar que esse SQL Server on Linux é compatível com os providers e ferramentas que conhecemos e usamos no da-a-dia em qualquer aplicação, sua limitação está nos...
Windows Server 2016 – Overview
Desde que a Microsoft passou da era Steve Ballmer para a era Satya Nadella encontramos uma nova Microsoft. Muito mais flexível, muito mais competitiva, muito mais livre, sem rótulos e/ou bandeiras, mais madura e por fim, uma Microsoft definitivamente mais atraente ao olhar do mercado e da...
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
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.
Arquitetura
Docker – de A a Z – 15 – RabbitMQ, ElasticSearch , LogStash e Kibana
Durante a série Docker de A a Z, esse foi um dos Stacks entregues para facilitar a compreensão de como docker pode nos ajudar a unir soluções complexas, colaborando para criar stacks com diversos projetos e produtos.
Esse stack serviu para a apresentação, mas também virou projeto e hoje é mantido e atualizado, por mim e por colaborações.
Para simplificar a apresentação desse conteúdo o post foi movido para a página do Stack aqui no site.
Docker Images – Nginx & Google PageSpeed
A internet como vemos hoje exige cada vez mais performance e cada vez melhor usabilidade. Nunca tivemos tanto apreço à experiência do usuário, assim produtos, ferramentas, serviços e frameworks são bem vindos para ajudar a entregar performance. Com o aumento nos recursos de interface, e a facilidade com que conseguimos hardware, chegamos em um momento em que a renderização passa a ser um ponto chave na obtenção de performance, já que do aspecto de processamento do server, nunca vimos tanto hardware (barato), nunca vimos tantos patterns, tantas soluções para facilitar nossa vida.
Mas e quando você não tem controle sobre todo o que foi desenvolvido? Seja ao fazer deploy de um WordPress, Magento, ou soluções maiores, como SiteCore, Evoq, o que fazer quando você precisa melhorar a experiência do seu usuário? Esse problema é comum quando usamos soluções prontas, em que sua customização não necessariamente abrange detalhes tão técnicos. É sobre esse tipo de problema que quero falar e vou aproveitar para apresentar o Google PageSpeed Module for Nginx, falar um pouco sobre Nginx e como ambos podem te ajudar no seu próximo projeto.
[deprecated]Oragon Architecture – estratégia para 2016
[deprecated]
Quem segue esse blog conhece o Oragon Architecture, sabe pelo menos do que se trata e o que ele faz. Então vou encurtar as apresentações, pois já fiz isso em diversos posts.
De fato as mudanças, no desenvolvimento de software em si, nunca foram tão drásticas e disruptivas. Não há nada de ruim nisso, mas é necessário adaptar-se a novos dilemas, propostas e abordagens. Cheguei a cogitar, o abandono do projeto, por completo, acreditando que pudesse contribuir mais talvez em outro momento, com outras coisas menores, já que tudo o que tenho construído e desenhado baseia-se em algo que tende a não ser mais interessante para mim.
[deprecated]AssemblyInfoVersionManager

[deprecated]
Muitas vezes usando Jenkins para CI/CD, você deseja alterar as informações do AssemblyInfo. Nos meus projetos, sempre tenho um AssemblyInfo Global, e durante o processo de build, é mesclado com o AssemblyInfo local. Dessa forma, informações comuns a todos os projetos são mantidas em um ponto centralizado, enquanto o que compete a cada projeto, fica no AssemblyInfoLocal. Mesmo com os atributos de versão estando em um arquivo centralizado, muitas vezes temos dificuldade de realizar as devidas modificações, quando estamos em um ambiente de integração contínua. O projeto surgiu dessa demanda pessoal, mas as funcionalidades foram inspiradas no Releasy da Vtex, projeto semelhante, mas feito em node.
O AssemblyInfoVersionManager permite que você trabalhe incrementando e gerenciando o AssemblyInfo. Ele faz uma leitura, completa do seu arquivo, e analisa quais são as ocorrências dos atributos de versão. Com essa informação ele é capaz de te oferecer boas funcionalidades:
Oragon.BuildTools.AssemblyInfoVersionManager /File="D:[Projetos]Oragon.BuildTools[Source]GlobalAssemblyInfo.cs" /ForceVersion=1.2.0-BETA1 # Replace versions with your version number. Oragon.BuildTools.AssemblyInfoVersionManager /File="D:[Projetos]Oragon.BuildTools[Source]GlobalAssemblyInfo.cs" /major # Increase major version (1.1.1 > 2.0.0) Oragon.BuildTools.AssemblyInfoVersionManager /File="D:[Projetos]Oragon.BuildTools[Source]GlobalAssemblyInfo.cs" /minor # Increase minor version (1.1.1 > 1.2.0) Oragon.BuildTools.AssemblyInfoVersionManager /File="D:[Projetos]Oragon.BuildTools[Source]GlobalAssemblyInfo.cs" /patch # Increase patch version (1.1.1 > 1.1.2) Oragon.BuildTools.AssemblyInfoVersionManager /File="D:[Projetos]Oragon.BuildTools[Source]GlobalAssemblyInfo.cs" /prerelease=BETA9 # Set pre-release version (1.1.1 > 1.1.1BETA9) Oragon.BuildTools.AssemblyInfoVersionManager /File="D:[Projetos]Oragon.BuildTools[Source]GlobalAssemblyInfo.cs" /prerelease # Increment pre-release version (1.1.1BETA9 > 1.1.1BETA10) Oragon.BuildTools.AssemblyInfoVersionManager /File="D:[Projetos]Oragon.BuildTools[Source]GlobalAssemblyInfo.cs" /promote # Promote prerelease to production version (1.1.1BETA9 > 1.1.1)
PM> Install-Package Oragon.BuildTools.AssemblyInfoVersionManager
That’s all folks
[deprecated]NugetTools
[deprecated]
As demandas mais comuns na hora de publicar NuGet packages
Você já tentou publicar algum projeto no NuGet? Se não foi uma tentativa isolada, só para testar você deve passar pelo seguinte problema:
- Novas referências são lançadas
- Você realiza o update das referências, atualizando seu package.config
- Mas seu arquivo NuSpec permanece desatualizado
- Na hora de publicar… inconsistência!

Outro problema comum é:
- Você possui um projeto com muitos pacotes a serem publicados
- Durante o desenvolvimento, você deseja trabalhar com todas as suas referências, direta para seus projetos
- Na hora de publicar seu projeto no NuGet, aparecem as inconsistências no seu arquivo NuSpec.
Essas tarefas podem não parecer problemas, talvez nem sejam. De qualquer forma, a necessidade de realizar essas tarefas atrapalha um pouco o dia-a-dia, principalmente quando você precisa gerenciar pacotes de referência.
Seus problemas Acabaram!
NugetTools
NuGetTools é um utilitário de linha de comando que ajuda a sincronizar os arquivos NuSpec da sua solução.
Features
Cria arquivos NuSpec para todos os seus projetos
Informe o path da solução e crie os arquivos NuSpec dos projetos que ainda não possuem.
Atualize as referências dos seus arquivos NuSpec com base no package.config
Todos os arquivos NuSpec existentes são atualizados com base project.config de cada projeto.
Converta referências de projeto em referências NuGet
Se você tem uma solução com diversos pacotes a serem publicados e eles dependem entre si, você pode facilmente continuar trabalhando da mesma forma. Todas as dependências para os projetos da mesma solução são convertidos automaticamente e referências NuGet.
PM> Install-Package Oragon.BuildTools.NugetTools
That’s all folks
Containers
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.
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.

















