.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…
MVP Conf 2019 – Avaliação da Audiência
Pessoal, tenho uma notícia muito boa e gostaria de compartilhar, mas também de agradecer. Dia 12-13 / Abril rolou o MVPConf. Não está sabendo? Eu conto um pouquinho aqui 👇 https://gago.io/blog/mvpconf-2019/ Bom para minha felicidade saiu o resultado do evento e da minha palestra com nota e...
Notification Pattern – Estão te vendendo um conceito errado
Notification Pattern prevê uma forma permissiva que troca exceptions por notificações em um determinado contexto, no entanto embora a maioria das publicações a respeito falem em não lançar exceptions, veremos que isso não é bem assim. Esse post é uma retaliação resposta ao post Não lance...
Don’t Do That – One size fits all
Não! Uma solução ou decisão não serve para todos os casos! Com base nas discussões da semana e muita farpa trocada em grupos de discussão, vejo cada vez mais jovens buscando uma solução única para os problemas de arquitetura e design. Seja ao modelar um domínio, ao desenhar a arquitetura de um...
Abstrações – Tradeoffs e co-responsabilidade
Embora a prática seja linda, é hora de falarmos de algo abstrato: as próprias Abstrações. Primeiro preciso lembrar que essa é uma opinião pessoal, fruto das diversas experiências, criando ou consumindo abstrações das mais diversas em projetos de todos os tamanhos. O que é uma abstração? Uma...
MVPConf 2019
Apesar dos mais de 2000 participantes, sempre tem gente que não faz ideia do que está acontecendo. São os perdidos! Não tem problema, vou te contar o que rolou. Dias 12(sexta) e 13(sábado) de Abril rolou o MVPConf LATAM 2019, um evento organizado pelos Microsoft MVP's das Américas destinado à...
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! Não perca esse vídeo, é curtinho, mas...
RabbitMQ & AMQP – #8 – Redis, um Message Broker?
Então você já usa Redis no seu stack, e optou por usá-lo também para publicar mensagens de um lado para outro em sua aplicação. Talvez seu amigo tenha dito que "não precisa de RabbitMQ", ou que "é um canhão para matar uma formiga". A começar pela pergunta: Você busca resiliência nesse papel? Se a...
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. Aqui vão recomendações para quem está começando. Essas recomendações são amparadas pela minha experiência acompanhando e ajudando/suportando...
RabbitMQ & AMQP – #7 – Pipelines & Youtube Downloader
No finalzinho de 2017 eu falei de um projeto chamado youtube downloader, um projeto de exemplo, experimental, que emprega o uso de filas para fazer todo o processo de download e encoding de mídias, a partir do youtube. Mesmo tendo o propósito de exclusivamente falar de RabbitMQ em um pipeline de...
Containers no Ambiente de Desenvolvimento #MVPConf
Pessoal acabou de sair a confirmação da minha palestra no MVPConf na trilha #DevOps. Você que ainda não comprou seu ingresso saiba, corre lá no MVPConf.com.br e compre seu ingresso! Todo MVP e principalmente os MVP's Community Leaders (que lideram comunidades técnicas) poderão suportar você e...
Insights da Atlassian – The future of software development
Saiu na Atlassian um report com alguns indicadores muito legais. Uma pesquisa feita com um público controlado de 500 profissionais apontou: 73% of software development teams spend 10% – 50% of their time on updates and upgrades to their self-hosted software. Who knew "business as usual" meant...
Não estude por tutoriais
A polêmica continua, e essa aqui é uma dica que vale ouro. A galera da mentoria sempre fica "chateada" quando eu digo isso, mas é a pura verdade para mim. Hoje abordamos muitos assuntos, mas não abordamos métodos para estudar, eu vou contar o que faço. Afinal, o que são posts, e tutoriais? Posts e...
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
RabbitMQ & AMQP – #8 – Redis, um Message Broker?
Então você já usa Redis no seu stack, e optou por usá-lo também para publicar mensagens de um lado para outro em sua aplicação. Talvez seu amigo tenha dito que "não precisa de RabbitMQ", ou que "é um canhão para matar uma formiga". A começar pela pergunta: Você busca resiliência nesse papel? Se a...
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. Aqui vão recomendações para quem está começando. Essas recomendações são amparadas pela minha experiência acompanhando e ajudando/suportando...
RabbitMQ & AMQP – #7 – Pipelines & Youtube Downloader
No finalzinho de 2017 eu falei de um projeto chamado youtube downloader, um projeto de exemplo, experimental, que emprega o uso de filas para fazer todo o processo de download e encoding de mídias, a partir do youtube. Mesmo tendo o propósito de exclusivamente falar de RabbitMQ em um pipeline de...
Containers no Ambiente de Desenvolvimento #MVPConf
Pessoal acabou de sair a confirmação da minha palestra no MVPConf na trilha #DevOps. Você que ainda não comprou seu ingresso saiba, corre lá no MVPConf.com.br e compre seu ingresso! Todo MVP e principalmente os MVP's Community Leaders (que lideram comunidades técnicas) poderão suportar você e...
Insights da Atlassian – The future of software development
Saiu na Atlassian um report com alguns indicadores muito legais. Uma pesquisa feita com um público controlado de 500 profissionais apontou: 73% of software development teams spend 10% – 50% of their time on updates and upgrades to their self-hosted software. Who knew "business as usual" meant...
Não estude por tutoriais
A polêmica continua, e essa aqui é uma dica que vale ouro. A galera da mentoria sempre fica "chateada" quando eu digo isso, mas é a pura verdade para mim. Hoje abordamos muitos assuntos, mas não abordamos métodos para estudar, eu vou contar o que faço. Afinal, o que são posts, e tutoriais? Posts e...
RabbitMQ & AMQP – #6 – Show me the code
No post anterior eu mostrei como as coisas acontecem na interface de gerenciamento do RabbitMQ. Agora é hora de mostrar as principais iterações com o RabbitMQ via código. Naturalmente, privilegiarei C# aqui, mas você pode usar as principais tecnologias para realizar as tarefas a seguir. O objetivo...
RabbitMQ & AMQP – #5 – Management UI, Filas e Exchanges
Vamos começar? Que tal de fato olharmos para o RabbitMQ para nos acostumarmos com ele, e dar vida ao que falamos até agora? Subindo RabbitMQ com docker Há diversas formas de subir uma instância do RabbitMQ, uma delas é com Docker, e está aqui um exemplo com Docker Compose. A propósito, ela vem do...
RabbitMQ & AMQP – #4 – Perguntas e Respostas
Vamos às principais perguntas e respostas sobre RabbitMQ e mensageria em geral. Fugirei das formalidades e serie mais raso nas argumentações. A tentativa é de deixar as respostas mais claras. Como eu pego uma mensagem na fila? Esse nem é uma dúvida, é um erro de principiante mesmo, natural,...
Forçar IP’s nos Containers Docker – Erro de Principiante
Se você tem um background de infra grande e está acostumado a entregar IP's para suas máquinas virtuais, é super natural que você considere essa a solução ideal para containers. Não é! Se sua resposta foi sim, você não poderia estar mais errado! Em um ambiente com containers, não queremos que os...
RabbitMQ & AMQP – #3 – Conceitos
Agora é o momento de falarmos brevemente sobre cada elemento do AMQP. Nesse post ainda estamos tratando com superficialidade, mas é importantíssimo passar por aqui para progredirmos nessa jornada. Standard vs Implementação Standard que trata de mensageria. No AMQP não temos termos como Exchanges,...
RabbitMQ & AMQP – #2 – Pra que Mensageria?
Embora fosse a hora de falar do standard, acho que é preciso definir mensageria antes. Vamos aos principais pontos. Mensageria É pra mim? Talvez você já tenha se perguntado a respeito do sentido de usar uma solução de filas, mensageria, enfim um message broker como RabbitMQ. Será que faz algum...
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
.NET Core – de 2.0.0-preview2 para 2.0.0 – Atualizando projetos e Dockerfiles
Vamos direto ao ponto: A intenção desse post é apresentar como migrar seus projetos do .NET Core 2.0-preview2 pra o .NET Core 2.0 RTM. Sim, esse é um tutorial, e visa apresentar o que é necessário para fazê-lo.
O .NET Core 2 foi anunciado no dia 14 de agosto e para quem estava usando o 2.0-preview2 algumas coisas simplesmente pararam de funcionar do dia para a noite.
docker-gallery/EnterpriseApplicationLog – v3.0
Em outubro no post Docker – de A a Z – 15 – RabbitMQ, LogStash, ElasticSearch e Kibana com Docker Compose eu apresentei um modelo interessante de Log, com uma abordagem diferente. Ficou muito simples para trabalhar com o stack, no entanto a Elastic.co mudou muita coisa no meio do caminho e foi necessário readaptar o projeto às novidades da plataforma. Para alegria dos que gostam do projeto que compilei, aqui está a novidade: Revisitei as configuração e acertei o que era necessário para o stack!
A premissa base que me levou à compilar esse stack é criar a possibilidade de utilização desses 5 elementos, sem dor de cabeça. Conectando os pontos, e criando um pacote pré-moldado, todo o entendimento e gerenciamento da plataforma se torna mais simples, e se você quer um stack funcional em minutos, é uma das poucas alternativas.
Eu já fiz pelo menos 2 setups desse stack sem docker e docker-compose e te garanto: é absurdamente traumático, principalmente se quem for executar a tarefa precisa de um documento formal que diga como fazer tudo, from scratch! São 5 elementos, 5 configurações específicas, cada um em um documento, cada um com seus passos em ordem, enfim, um mini-inferno para ambientes mais burocráticos e inviável para quem só quer estudar. Esses motivos me fizeram criar o projeto, permitir que com 3 linhas de comando e alguns segundos, você tenha tudo isso rodando e colaborando em sua infraestrutura.
Sobre os comandos, continuam os mesmos:
git clone https://github.com/docker-gallery/EnterpriseApplicationLog.git cd ./EnterpriseApplicationLog docker-compose up
Entre a primeira release, em outrubro de 2016, e meados de 2017 muita coisa coisa mudou, a Elastic criou seu repositório próprio para imagens docker e lançou algumas releases de seus produtos, com isso muita coisa parou de funcionar, e o stack ficou quebrado. As últimas releases no docker hub causaram essas quebras, mas serviram de alerta.
Agora o stack está aqui novamente!
A release 3.0 do projeto conta com:
- Adequação à mudança de hub.docker.com para docker.elastic.co.
- Revisão das configurações e adequação para as novas versões dos produtos.
- Update do RabbitMQ indo para a versão baseada em apline.
- Remoção do Xpack (o stack ELK é open source, no entanto o Xpack é um pacote pago).
Se quer conferir, rode as linhas de comando acima, ou visite o repositório que está disponível no GitHub. Esse projeto não possui imagem própria, apenas configura imagens do hub.docker.com e agora do docker.elastic.co.
.NET Core 2.0 e .NET Standard 2.0 Hangout @ Canal.NET
Pessoal, dia 7 de Julho vou participar novamente de um hangout no Canal.NET, desa vez o tema é .NET Core 2.0 e .NET Standard 2.0.
O lançamento do .NET Core 2.0, do ASP.NET Core 2.0 e do .NET Standard 2.0 está previsto para os últimos 4 meses de 2017. Acompanhe este hangout para ficar por dentro das novidades e entender melhor o que está por vir.
Presenças confirmadas:
– Renato Groffe (Microsoft MVP, MTAC)
– Luiz Carlos Faria (MTAC)
Há muito para falar sobre as novidades do .NET Core, suas novas API’s, o que chega e como vamos nos beneficiar disso tudo. Sem deixar de abordar .NET Standard e matar de vez as dúvidas sobre no que consiste o .NET Standard e quais são sua vantagens.
O evento já foi criado no Facebook | https://www.facebook.com/events/284606505335837/, marque presença e receba as notificações sobre as novidades desse tema! Vamos postar diversos posts e material que auxilie no entendimento!
Então fica o convite aqui, dia 7 de julho, sexta-feira 22h, nos encontramos! Ah, a transmissão acontecerá no canal.NET e você assiste direto pelo youtube, podendo comentar, tirar dúvidas, e dialogar conosco, como sempre. Desde já de antemão agradeço ao convite do Renato Groffe!! A propósito, o conteúdo fica disponível no canal.net e você pode assistir a qualquer hora!
https://blogs.msdn.microsoft.com/dotnet/2017/06/28/announcing-net-core-2-0-preview-2/
https://blogs.msdn.microsoft.com/webdev/2017/06/28/introducing-asp-net-core-2-0-preview-2/
https://blogs.msdn.microsoft.com/dotnet/2017/06/28/announcing-ef-core-2-0-preview-2/
Exception Handling
Pessoal, rolou hoje no Software em Contexto um bate papo sobre Exception Handling muito legal. Nesse papo abordamos exceptions quando lançar, quando não lançar, falamos diversas formas de tratar exceptions, apresentamos códigos e refletimos sobre o que é ou não uma exceção. Qual conclusão chegamos? Assiste aê, tire a sua conclusão e retorne com sua opinião.
Live
https://www.youtube.com/watch?v=wN0qexlM8zI
Conteúdo Adicional
Além do tema principal, abordamos Logs e tenho alguns links para falar do assunto! Alguns aqui no site e outros externos:
Monte sua Infraestrutura de Logs Corporativos com RabbitMQ, ElasticSearch, LogStash e Kibana!
Logs, não somente logs. Logs com informações de negócio!
Um excelente framework para auxiliar no tratamento de exceções e criação de políticas de tratamento de exceção.
Contract Package – Uma excelente alternativa ao Service Reference
Falar de WCF em meados de 2017 parece algo sem sentido, no entanto considero relevante tornar públicas soluções e alternativas que muitas vezes só apresentava dentro dos times por onde passei. São soluções, ideias, conceitos que ajudam no desenvolvimento e tornam o dia-a-dia de desenvolvimento mais fácil para quem está ciente dos conceitos ao redor da plataforma. Ignorei a possibilidade de publicar esse tipo de conteúdo para evitar exposição, já que obviamente, os preguiçosos irão reclamar, e muito! De qualquer forma asseguro, se você usa WCF e nunca viu esses conceitos, acredito que ao concluir esse post verá a tecnologia como algo menos místico, e até poderá criar alguma empatia por ela. É ambiciosa a minha proposta, eu sei!
Arquitetura
Oragon – Princípios de Design – Complexidade Reside na Arquitetura
Alguns poucos lembram, pois alguns poucos estavam lá, mas quando comecei minha carreira profissional. Uma das coisas que me projetou rápido na Petrobras foi a capacidade de identificar padrões e automatizar via abstrações e componentes a escrita de código repetitivo e burocrático.
Ainda no ASP Clássico, em 2002, já havia criado alguns componentes, seja com VBScript para o ASP, ou com JavaScript para UI.
Nunca me dei bem com trabalho repetitivo, principalmente, pois esse tipo de trabalho me faz perder a atenção fácil. E o resultado é sempre o mesmo, faltou um detalhinho aqui, outro detalhinho acolá.
ler mais…
gRPC no ASP.NET Core – Guia Introdutório
Há inúmeros bons argumentos para deixarmos de usar HTTP + JSON para boa parte de nossos serviços, gRPC é uma boa alternativa a esse modelo. Cross platform, Open Source e Universal, gRPC foi originalmente desenvolvido pelo google agora é parte da CNCF, Cloud Native Computer Foundation.
Envoy ganha novo amigo: Consul
Essa é uma notícia que poderia passar despercebida, mas não, é muito relevante para nós.
ler mais…
Diário de Bordo – Poltys – #1
Talvez se lhe perguntarem como você anda de bicicleta ou como dirige possa lhe deixar constrangido(a). Pode até parecer uma pergunta quase impossível de se responder. Fato é que quanto mais habituados com a forma de lidar com alguma situação, menos pensamos sobre o processo que naturalmente realizamos. Uns chamam esse fenômeno de masterização, já literaturas sobre aprendizado citam esse fenômeno como um estágio chamado inconscientemente competente.
ler mais…
Adeus MobyLinux – WSL 2 Suportará Docker sem a necessidade de máquinas virtuais no Windows
São tantos títulos possíveis para esse post:
ler mais…Containers
DockerFile – Ubuntu + SSH + WebMin
[PT-BR]Não faça isso!
Esse foi meu primeiro texto sobre docker, tem erros monumentais e essa não é uma boa prática. São muitas responsabilidades em um só container.
Não há “depende”, esse post é um ERRO CONCEITUAL, e só está presente aqui ainda para que eu lembre das besteiras que um dia escrevi!
[EN-US] Do not do that
This is my first post about Docker, has some conceptual errors and misconceptions around those requirements that i propose solve with this post.
The only one argument to this post stay here is to guarantee the memory about a responsibility of what i’m writing.
O conteúdo foi propositalmente removido!
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.
















