.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

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!...

ler mais
Windows Subsystem for Linux & Docker

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...

ler mais
SmtpClient dá lugar a MailKit e MimeKit

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...

ler mais
Google Cloud Next – 2017

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...

ler mais
Agora também estou no programa MTAC

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...

ler mais
Docker – Images vs Layers

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...

ler mais
NGINX Automation + WebMin

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,...

ler mais
NGINX Automation

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ê...

ler mais

Fique por dentro e não perca nada

Menos de 10% da audiência recebe o conteúdo publicado

A newsletter é o meio mais eficiente de furar o bloqueio dos algoritmos das redes sociais e fazer o conteúdo chegar até você.

Assim evitamos poluir as comunidades com chamadas para eventos e lives.

Essa é forma mais eficiente de receber meu conteúdo.

Somos mais de 6k inscritos

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 tutorial

Para 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

Agora também estou no programa MTAC

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...

ler mais
Docker – Images vs Layers

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...

ler mais
NGINX Automation + WebMin

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,...

ler mais
NGINX Automation

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ê...

ler mais
WSO2 – Open Source SOA Suite

WSO2 – Open Source SOA Suite

E você vai passando pelas empresas, vai ganhando experiência, acaba vendo problemas recorrentes e em algum momento pode passar o seguinte pensamento: Putz, esse problema aqui se resolveria de forma super simples com um API Manager, ou um ESB, e quem sabe essa infinidade de API's de consulta...

ler mais
Dev Week 2016 @ Canal .NET

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...

ler mais
.NET Core – Estratégias de Deploy – Parte 1

.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...

ler mais
Windows Server 2016 – Overview

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...

ler mais

Conheça nosso Podcast

DevShow Podcast

Em 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.

Saiba mais...

.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

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

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.

ler mais…

[deprecated]Oragon Architecture – estratégia para 2016

[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.

ler mais…

[deprecated]AssemblyInfoVersionManager

[deprecated]AssemblyInfoVersionManager

Oragon Architecture Penknife.small.export

[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]AssemblyInfoVersionManager

[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:

  1. Novas referências são lançadas
  2. Você realiza o update das referências, atualizando seu package.config
  3. Mas seu arquivo NuSpec permanece desatualizado
  4. Na hora de publicar… inconsistência!

Oragon Architecture Penknife.small.export
Outro problema comum é:

  1. Você possui um projeto com muitos pacotes a serem publicados
  2. Durante o desenvolvimento, você deseja trabalhar com todas as suas referências, direta para seus projetos
  3. 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

2018-2020

2020-2021

2021-2022

2022-2023

2023-2024

2024-2025

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.