Victor Osório Profile picture
May 19 20 tweets 6 min read
Coisa boa que fiz esse ano...

Pegar uma matéria de Sistemas Distribuídos na UFTPR!

Eu nunca tinha estudado formalmente o assunto, minha Engenharia foi bem baixo nível.

Talvez você pense: "Ah, faculdade está atrasada"

Mas será? Segue o fio... 👇
Tivemos no total 11 aulas e vou comentar cada uma delas.

1ª Características de Sistemas Distribuídos

É bem legal você conhecer o que são essa categorias de sistemas. Quais são os desafios? O que é realmente um Middleware? Esse último aí eu tinha uma definição errada.
2ª Arquiteturas de Sistemas Distribuídos
Todo mundo conhece o Cliente-Servidor. Mas já ouviu falar do Peer2Peer? Conhece o Pub/Sub? #ApacheKafka tá aqui no Pub/Sub e foi bom discutir como apesar das coisas avançarem desde que o livro foi escrito, o livro não está desatualizado.
3ª Comunicação entre Processos
Essa aí eu manjava quase tudo. TCP, UDP e ... Não! Eu não manjava Multicast. Eu tinha visto em Redes, mas nunca tinha implementado. Agora eu sei como o Youtube consegue achar meu celular no mesmo wifi.

Teve discussão sobre síncrono e assíncrono.
4ª-A Modelos de Falhas

Como falhas acontecem em comunicação entre processos. São tanto tipos de falhas e elas já estão todas catalogadas lá desde muito tempo atrás. Conhecer ela é muito bom para saber modelar direito uma comunicação, para fazer uma analise de causa raiz.
4ª-B Modelo de Segurança

Sabe diferenciar Autenticação de Autorização? Sabe o que é Auditoria? Tem um pouco de criptografia também.

Teve uma discussão sobre as formas de ataques para sistemas em rede.
5ª Coordenação e Acordo

A aula faz um passeio pelos algoritmos de seleção de líder e votação. Foi muito importante porque eu gastei um pouco estudando os "internals" do #ApacheKafka. Também vi como o Raft foi feito através de puro design de código.

raft.github.io
6ª Comunicação entre Objetos Distribuídos
Um pouco a fundo de como dois sistemas interagem. Pegou a teoria que já tava nas aulas passadas e adicionou mais conteúdo. Esquece o "Objetos" e pensa no REST/gRCP/Kafka. Qual é modelo de falhas deles?
7ª Eventos e Notificações

Aula sobre o paradigma Pub/Sub. Como caracterizar, o que é um broker? Nessa aula eu vi que 90% dos termos que usava estavam corretos. Mas depois li um artigo que me abriu a mente para Event-Driven/Event Sourcing.

sciencedirect.com/science/articl…
8ª Java RMI

OK! Desatualizado! MAS... A caracterização serve pra isso. Se você conseguir caracterizar o seu Middleware da forma como o Java RMI foi caracterizado na aula, você aprendeu!
9ª Serviços Web

Bom... Quase desatualizada... Foi explicado o que é SOAP e todos elementos e fizemos uns paralelos com REST. Por exemplo o OpenAPI é uma forma de fazer o papel do WSDL, mas ainda falta alguns conceitos que podem ser preenchidos.

openapis.org
10ª Transações

Controle de Transações. Ninguém usa, né? E como faz se não tem ACID? O que é o Teorema de CAP?

O trabalho final foi escrever uma proposta de um controle de transação para um sistema bem limitado.

github.com/vepo/distribut…
11ª Controle de Concorrência

Como é que se garante que os dados são consistentes? Quais são os principais problemas de concorrência e como podem ser resolvidos?
Em resumo, as aulas foram muito boas. Apesar de alguns estudos de casos estarem desatualizados, deu pra fazer uma correlação. O livro usado eu não li, eu tenho o Tanenbaum e não o troco pode nada... Pena que ele tá caro e não tem tradução atualizada.

amzn.to/3Lwm7sP
Outro livro que eu estava terminando e parei foi o "Designing Data-Intensive Applications" que também toda em muitos dos temas das aulas 10 e 11. Se você quer se aprofundar, dá uma olhada na O'Reilly.

amzn.to/3PwjvhH
E por fim, deixo o texto da caracterização que fiz de "Sistemas Orientados a Eventos". Eu escrevi esse post antes de ler o artigo citando anteriormente.

vepo.github.io/posts/event-dr…
Já a apresentação eu fiz depois do artigo. Dá pra ver que tem mais conceitos, mas como só tinha 20min eu tive que resumir. Daria pra falar 2hs sobre o tema...
speakerdeck.com/vepo/arquitetu…
Se achou interessante... Procura uma universidade pública que você gosta e fica atento ao calendário da pós-graduação. Sempre existe a possibilidade de você ver aula como aluno externo ou aluno especial.

É bom pra você aprender e se relacionar com a academia.
Ps.: Trabalho com Sistemas Distribuídos faz 10 anos, mas nunca estudei formalmente. Na minha formação nem estava no catálogo, circuitos e arquitetura de computadores (não se software) tinham preferência.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Victor Osório

Victor Osório Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @vepo

May 17
Lendo alguns comentários aqui fica claro que a mentalidade "Capitão do Mato" não é só do empregador não.

Tem muito empregado que adora ser explorado.

Isso me lembra tão Paulo Freire: "Quando a educação não é libertadora, o sonho do oprimido é ser o opressor".
Quando eu comecei na minha atual empresa, o pessoal do escritório em São Paulo, que trabalha junto a clientes externos, sempre diziam: "em Dublin quando dá 17hs a caneta cai e a Guinness se abre".

Criaram o mito de que brasileiro é preguiçosos (...)
Mas esse mito existe porque a relação trabalhador/empregador sempre foi conflituosa. Em muitos casos, alguns empregador sonham em voltar a antes do dia 13/05/1888.

Dúvida? Procura aí "trabalho análogo a escravidão" no Google.
Read 5 tweets
Feb 28
Como melhorar a qualidade do meu código?

Existem alguns livros que podem nos ajudar a melhorar a qualidade do seu código e nessa thread vou indicar alguns e falar a minha opinião sobre outros.

1/n
"Código Limpo" do Uncle Bob.

Quando eu li eu gostei desse livro, mas ele não é nem o último livro e nem o melhor. Fico muito preocupado quando devs colocam ele como a única referência. O livro é bom? Mais ou menos. Recomendo? Sim, com cautela.

2/n

amzn.to/3K0wMLV
Porque? Porque o autor coloca a opinião dele como última. Não há debate, não há discussão. Tudo que foge ao que ele diz é errado e, provavelmente, eu e você estamos errados. Sem contar que ele é um extremista, tanto que está fazendo propaganda da rede social supremacista.

3/n
Read 15 tweets
Dec 21, 2021
Você quer aprender #Java do começo? Então acompanha aqui o que você precisa saber?

!!Java não é Spring!!

1. Tenha uma IDE. Instale no seu computador uma IDE que você saiba usar. Se não sabe tente conhecer. Eu recomendo o @intellijidea. Aprenda a criar um projeto e executar ele.
2. Conheça a linguagem. Java é uma linguagem com sintax similar ao C. Você pode procurar um livro (não sei algum bom) ou pode ler na internet. Vou dar como referência a W3Schools. Tenta usar as estruturas básicas com System.out.println(). Se divirta.

w3schools.com/java/java_synt…
3. Java é uma linguagem orientada a objetos (OO). Se você sair por aí "codando" você vai achar dificil. Tente entender o que é OO e como usar. Entenda o que é uma classe, um objeto e uma interface.

alura.com.br/artigos/poo-pr…
Read 19 tweets
Dec 20, 2021
Estou vendo alguns tweets de pessoas decepcionadas com o @doisdedosdeteo.

Mas ele sempre produziu uma péssima teologia que inclusive vai contra o autor que dá nome ao insittuto dele.
Eu vi alguns videos dele e ele sempre reduz a teologia ao "pode-não-pode" ou "como o calvinismo É A ÚNICA verdade e você está errado".

Dica, leia Francis Schaeffer em seu Verdadeira Espiritualidade e vocês vão ver que ele diz o contrário!
Principios morais são culturais e não principios universais de fé. "Crente no Brasil acha que beber álcool é digno de quem vai pro inferno", isso é uma insanidade em qualquer outro país. Aliás, o vinho é parte da fé cristã. Lutero fala de cerveja o tempo inteiro. PONTO FINAL.
Read 9 tweets
Dec 18, 2021
Gente, vocês sabem que a idéia de vocês estudarem apenas coisa técnicas e NÃO terem tempo pra outras discussões é algo extremamente ideológico. Sabem?

Tentem entender o mundo ao seu redor. É libertador.
Reservem um tempo para ler livros sobre a loucura que nos rodeia. Eu super indico o "Corrosão de Caráter". Um sociólogo depois de aposentado vai rever quem ele estudou e percebe mudanças importantes na moralidade deles. É muito interessante.

amzn.to/3IYFtqd
A loucura brasileira é bem retratada no "Guerra Cultural e Retórica do Ódio". Esse é um dos livros que devem ser lidos antes de 2022.

Existe uma técnica retórica que corrompe qualquer discurso e é usada extensivamente.

amzn.to/3J0oqnE
Read 8 tweets
Oct 27, 2021
Ter um blog técnico não é só escrever, exige preparação, escolha de temas, melhoria da técnica de escrita e divulgação. Eu comecei a escrever em 2017 e recomendo. Não parei, só mudei o foco nesse ano. Há coisas no forno que sairão ano que vem.
Mas antes disso tudo, comece! Escreva e avalie o que escreveu. Peça uma revisão de alguém ou mesmo uma avaliação do conteúdo. Qualquer coisa que você escrever terá uma finalidade, mesmo que seja o seu próprio aprendizado.
Não há aprendizado melhor que a escrita.

Meu único conselho é: valide o que você escreveu. Busque fontes e não apenas escreva código, mas escreva código que rodou e se possível coloque o repositório.
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(