Carregando...

Vazamendo de Dados através de Notificações (mensagens e erros) no PostgreSQL – Por quê VIEWs não garantem segurança?

Imagine que há uma função de nome “print” no banco que emita o valor passado como parâmetro em uma mensagem de log tipo DEBUG, LOG, INFO, NOTICE, WARNING ou EXCEPTION. E que um usuário tenha acesso direto ao banco (e aos logs de mensagens de uma query) entretanto tenha suas permissões controladas através de VIEWs. Ele pode usar esta função “print” para visualizar dados sigilosos, chamando-a dentro da cláusula WHERE ao chamar a VIEW “protegida”. Como se defender disso? Qualquer Continuação…

Fazendo streaming de dados a partir do PostgreSQL

Usando Logical Decoding e Replication Slots O que é Logical Decoding e Replication Slots? Documentação do PostgreSQL O que é Logical Decoding?https://www.postgresql.org/docs/current/logicaldecoding.html Quais os conceitos do Logical Decoding?https://www.postgresql.org/docs/current/logicaldecoding-explanation.html PG Bifrost – Sincronizando Amazon Kinesis, RabbitMQ e S3 PG Bifrosthttps://github.com/Nextdoor/pg-bifrost PG Kinesis – Sincronizando com Amazon Kinesis https://github.com/nickelser/pg_kinesis Debeezium – Sincronizando com Apache Kafka Documentação:https://debezium.io/documentation/reference/stable/connectors/postgresql.html Usando NOTIFY e triggers PG AMQP Bridge – Enviando para RabbitMQ https://github.com/subzerocloud/pg-amqp-bridge PostToRabbit – Enviando para RabbitMQ https://github.com/compose-ex/postrabbit Usando Logical Replication O que é Logical Replication?https://www.postgresql.org/docs/current/logical-replication.html Continuação…

Java Message Service (JMS) ou Jakarta Messaging

Explicação simples sobre JMS (ou Jakarta Messaging) Outra explicação simples sobre JMS Cliente JMS para RabbitMQhttps://www.rabbitmq.com/jms-client.html Ferramenta GUI para monitorar filas e mensagens JMShttps://developer.jboss.org/thread/155277 Broker com suporte a JMShttps://activemq.apache.org/components/artemis/ Conceitos básicos do Java Message Servicehttps://docs.oracle.com/javaee/6/tutorial/doc/bncdx.html No JMS há 2 entidades: JMS provider – software que monitora e controla mensagens JMS. JMS clients – Programas que consomem (consumer) ou publicam (producer, publisher) mensagens. O que eu preciso para ter um sistema JMS funcionando? JMS Provider O JMS Provider é que, armazena Continuação…

Princípios SOLID e como aplicar na prática?

Andei reunindo algumas coisas que me ajudaram a implementar os princípios SOLID nos meus softwares. O bizarro é que existem diversas formas diferentes. Método do carinha da Rocket Seat – Typescript com Express Esse é um exemplo até que bem completo. SOLID Principles Illustrated by Design Patterns Nessa explicação com alguns slides, Hayim mostra quais padrões de projeto quebram o SOLID e quais seguem o SOLID. https://effectivesoftwaredesign.com/2015/06/11/the-solid-principles-illustrated-by-design-patterns/