.NET
Cloud Native e Cloud Agnostic
para rodar .NET em qualquer Cloud
ou sem Cloud sempre de forma profissional!
Últimas publicações
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...
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…
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
[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
[deprecated]Oragon Architecture News – Dez/2014
[deprecated]
Olá, como vai você. O novo período de hibernação se deu pela necessidade de esperar os novos direcionamentos da Microsoft se solidificarem e agora com o RC do ASP.NET vNext, há muito a rever e repensar no ler mais…
[deprecated] Oragon Architecture – Retomando os trabalhos
[deprecated]
Bom,
talvez você tenha notado que o projeto deu uma esfriada. O motivo dessa esfriada no dia-a-dia de posts e commits é que estou no meio de uma reestruturação no iMusica. A primeira demanda para remodelar o Oragon Architecture era justamente para mudar a dinâmica de hospedagem de aplicações, permitindo a hospedagem dinâmica de aplicações, onde cada App Host é configurado como um slave de uma Management Host. Com esse modelo, hospedar e cuidar de aplicações seria algo muito simples, pois todo App Host se comunicaria com o Management Host para informar seu estado, trocar configurações, publicar atualizações, de forma simples e eficiente, permitindo um acompanhamento em em real time.
Outra coisa legal desse novo desenho é possibilitar a transformação do deploy, que era comum, baseado em simples DLL`s e configurações, em NuGet Packages. Se as dependências já são pacotes NuGet, eu tenho problemas com gestão de pacotes da aplicação, nada mais justo que a aplicação também seja publicada como pacotes NuGet. A diferença entre publicar assemblies e publicar aplicações, é que o pacote da aplicação, não teria as DLL`s, apenas referências para os pacotes que sim contém as DLL`s. Desta forma até o reaproveitamento de pacotes da máquina é favorecido, onde toda a gestão de dependências ficaria a cargo do NuGet, e não mais sob minha responsabilidade.
Boa parte desse fluxo já foi implementado, mas precisa ser revisto. A correria para a entrega gerou muita instabilidade no projeto e preciso rever algumas coisas antes de seguir em frente. Algum redesign será necessário, e o site de documentação nascerá em breve!
Bom, hoje volto a atuar no projeto, com certa dedicação que me é peculiar: Noites mal dormidas, mas por uma excelente causa! Muita vai acontecer com o projeto. Ele está bem maduro e bem estável. E embora esteja caminhando bem, ainda há muita coisa para ser feita. Se em Abril e Maio foram mais de 100 commits, tomara que nas próximas semanas sejam mais 200!
Vamos em frente! Tem muita coisa interessante para fazer, muita coisa para acontecer!
Grande abraço pessoal!.
[deprecated]Be welcome, now boarding, Oragon Architecture 7
[deprecated]
Bom,
a freqüência de posts está bem reduzida, e isso acontece em virtude da refatoração que estou fazendo no projeto. Nem lancei a release 7, e as features solicitadas já sugerem uma grande reestruturação.
What’s new
- Reestruturação dos metadados de troca de mensagem para tornar mais flexível e dinâmico. Permite estender a interface de management permitindo que sua aplicação hospedada envie parâmetros próprios para o Application Server.
- Novo e robusto deshboard!
- English Content! Bom, minha intenção inicial era criar uma wiki em PT-BR, mas tenho motivos e empolgação suficiente para anunciar que o material será em inglês!
- Um site próprio, será hospedado contendo uma extensa documentação para utilização e extensão.
- Algumas features movidas de Sprint:
- Toda a camada de abstração com RabbitMQ será recriada no novo Sprint. Embora já esteja pronta no iMusica, há questões de ética e design envolvidas, portanto será toda reescrita do zero.
- Oragon Architecture Application Server a partir de agora se chamará Oragon Aaron, .Net Application Server.
Um dia eu penso com calma se o projeto deve perder o termo “Architecture” do nome. De fato, se olharmos para o Brasil e a comunidade brasileira, fato que o nome é uma barreira por sí só!
Bom, o projeto segue, bombando. Com muita coisa interessante. Em breve, mais notícias!
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.