fbpx
O CÓDIGO – SEXTA – 15/JAN

O CÓDIGO – SEXTA – 15/JAN

8:30 – Dicionário Docker – Entendendo esses nomes novos

Container, Imagem, Kubernetes, Docker, Kernel, Distribuição, DNS, Proxy Reverso, Container Registry… afinal, o que é isso?

14:00 – Containers vs PaaS

Vamos comparar e analisar as possibilidades com Containers e com PaaS.

20:00 – Resumo da Semana

Dessa vez em formato light, vamos para o instagram falar sobre as novidades da semana.

(mais…)
O CÓDIGO – QUINTA – 14/JAN

O CÓDIGO – QUINTA – 14/JAN

8:30 – Poltys – Decisões de Arquitetura de um Web Crawler.

Hoje eu vou detalhar algumas decisões e seus argumentos para que eu não usasse simplesmente o selenium grid e como fiz um desenho para um cliente. Esse projeto está em andamento.

14:30 – hub.gago.io – Um hub de webhooks.

Principais decisões e meus argumentos.

19:00 – Youtube downloader – Pipeline de filas

Como surgiu essa ideia, de onde foi tirada e porque criar algo assim.

Links

Youtube | Facebook | Linkedin | Instagram

RabbitMQ – Guia de Estudo Gratuito 2021

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.

(mais…)
Be Welcome .NET 5

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.

(mais…)
DevShow #EP21 – SOLID – Single Responsability Principle

DevShow #EP21 – SOLID – Single Responsability Principle

Neste episódio, iniciamos uma série que fala sobre o SOLID, um conjunto de princípios que todo o desenvolvedor deve saber. Se você nunca entendeu, essa é a hora. Neste primeiro episódio da série, introduzimos o assunto e falamos também do primeiro princípio, o SRP (Single Responsability Principle ou em português, Princípio da Responsabilidade Única). O que está esperando? Embarque conosco nessa série!

Para saber as respostas de tudo isso e muito mais, vem com a gente em mais um episódio.

(mais…)
DevShow #EP20 – Banco de Dados

DevShow #EP20 – Banco de Dados

Neste episódio, batemos um papo sobre bancos de dados. Qual são os tipos? É válido manter regra de negócio no banco de dados? O DBA vai deixar de existir com a chegada da nuvem? Para conferir as respostas desses questionamentos, embarque conosco nesse episódio!

Para saber as respostas de tudo isso e muito mais, vem com a gente em mais um episódio.

(mais…)
Como perder mensagens com RabbitMQ

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ê pode perder mensagens para que isso não ocorra mais.

(mais…)
DevShow #EP19 – Mensageria, RabbitMQ, Kafka e muito mais…

DevShow #EP19 – Mensageria, RabbitMQ, Kafka e muito mais…

Neste episódio, batemos um papo sobre mensageria, abordando desde o conceito, vantagens, quando devemos utilizá-la e algumas ferramentas/serviços disponíveis para trabalharmos. Quer entender mais? saber como e onde usar mensageria em seus projetos? Então não perde tempo e aperta o play!

Para saber as respostas de tudo isso e muito mais, vem com a gente em mais um episódio.

(mais…)
DevShow #EP18 – DevOps (2 de 2)

DevShow #EP18 – DevOps (2 de 2)

Neste episódio, vamos falar um pouco mais sobre DevOps. Nessa segunda parte, focamos um pouco mais em algumas ferramentas e outros detalhes que devemos levar em consideração quando falamos em DevOps!

Para saber as respostas de tudo isso e muito mais, vem com a gente em mais um episódio.

(mais…)
DevShow #EP17 – DevOps (1 de 2)

DevShow #EP17 – DevOps (1 de 2)

Neste episódio, batemos um papo sobre DevOps. Vamos descobrir de uma vez por todas se é um cargo ou cultura (ou qualquer outra coisa)! No que o DevOps pode nos ajudar? Quer entender melhor? Então coloca os fones e vem com a gente!

Para saber as respostas de tudo isso e muito mais, vem com a gente em mais um episódio.

(mais…)
Ring Buffer – Antecipe, otimize e evite custos excessivos

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 assunto e ainda compará-la ao processo de uberização dos objetos custosos.

(mais…)
Azure Functions + Containers (Parte 2/2)

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 personalizado, onde no step “Configurar o ambiente local” temos o passo de instalação do “O Azure Functions Core Tools versão 2.7.1846 ou uma versão 2.x posterior.”, que nos redireciona para o post “Trabalhar com o Azure Functions Core Tools“.

Esse step nos dá 2 opções, Azure Functions 2 ou 3. Para instalar a versão 3, local, precisamos executar:

npm install -g azure-functions-core-tools@3

A instalação ocorre perfeitamente.

Mas… ao executar o passo para a criação do projeto, que encontramos no link Criar uma função no Linux usando um contêiner personalizado (primeiro da lista acima)

func init LocalFunctionsProject --worker-runtime dotnet --docker

Somos surpreendidos com um erro.

$ func init LocalFunctionsProject --worker-runtime dotnet --docker
events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: spawn C:\Users\luizc\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin/func ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:268:19)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:274:12)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'spawn C:\\Users\\luizc\\AppData\\Roaming\\npm\\node_modules\\azure-functions-core-tools\\bin/func',
  path: 'C:\\Users\\luizc\\AppData\\Roaming\\npm\\node_modules\\azure-functions-core-tools\\bin/func',
  spawnargs: [
    'init',
    'LocalFunctionsProject',
    '--worker-runtime',
    'dotnet',
    '--docker'
  ]
}

A solução, está nesse comentário do GitHub.

  1. Go to the installed location.C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules\azure-functions-core-tools in the example above.
  2. Run npm install unzipper@0.10.7
  3. Run npm .\lib\install.js node .\lib\install.js from that directory

Autor: Ankit Kumar

Uma vez executado o procedimento, deixamos de ter um problema na criação do projeto.

$ func init LocalFunctionsProject --worker-runtime dotnet --docker

Writing C:\_dev\docker-definitivo\AzFunc\LocalFunctionsProject\.vscode\extensions.json
Writing Dockerfile
Writing .dockerignore

Daqui pra frente é só seguir o tutorial, instalando o plugin do Visual Studio Code (ms-azuretools.vscode-azurefunctions)

E seguir com debug e teste local.

Aliás, você deu uma olhadinha no Dockerfile?

É peculiar, mas vou deixar para você dar uma olhada e comentar nesse post.

Quer saber mais sobre Azure Functions?

Te indico o material do Renato Groffe no Medium.

Se precisa de um treinamento sobre Serverless + Azure Functions, o Renato, o Milton e o Ericson encabeçam o Azure na Prática que pode te ajudar nessa direção.

Aliás, um passarinho me contou que vai rolar o Azure na Prática #13 – Serverless + Azure Functions #03, e está em pré-venda. Vale lembrar que em pré-venda, são R$ 400 reais de desconto.

Azure na Prática – Serverless + Azure Functions

Vai rolar no dia 29/08/2020 (sábado), com foco em Serverless + Azure Functions e englobando o uso de tecnologias como:
Azure Logic Apps, RabbitMQ, Apache Kafka, SQL Server, MongoDB, Redis, Application Insights, Azure Cosmos DB e GitHub Actions.

Acesse então o link a seguir para efetuar sua inscrição com o desconto especial de pré-venda (apenas R$ 200,00).
Sim, é isso mesmo! De R$ 600 por R$ 200!!!!

Quer saber mais sobre Docker & .NET + Open Source?

No mais, se quiser saber mais sobre Docker e .NET, principalmente Open Source e .NET vem comigo que também tenho muita coisa legal!