Conceitos Flashcards
(20 cards)
O que é gRPC
É uma forma de comunicação desenvolvido pela Google para comunicação entre dois sistemas. Chamada de um método remoto. Alternativa ao REST
O que é CQRS?
Padrão de arquitetura usado em micro serviços, que separa que estabelece um canal de comunicação entre os sistemas, separando escrita (command) e leitura (query)
Qual a relação entre CRUD e CQRS
CRUD é a base de operação dos dados, e CQRS organiza como vai fazer o cCRUD, separando as operações
Qual a relação entre REST, GraphQL e gRPC?
São formas diferentes de comunicar operação entre os sistemas
Como pode ser feita a segregação CQRS?
Dividindo o banco de dados de leitura e escrita, e sincronizando os dados entre eles
O que é PHPCS?
PHP Code Sniffer. Biblioteca para seguir padrões PSR, ajudando a manter o código padronizado
O que é PHPMD?
PHP Mess Detector. Detecta código ruim, como métodos longos, código duplicado, ajudando manter o código mais simples
O que é PHPStan?
Biblioteca para fazer a tipagem estática do código, detecta erros antes de rodar
Qual a relação entre PHPCS, PHPMD e PHPStan?
São ferramentas para manter a qualidade do código PHP.
PHPCS: estilo
PHPMD: complexidade
PHPStan: erros
O que é Dependency Injection?
É quando você declara uma dependência em um objeto, ao invés de criar dentro dele
O que é Dependency Inversion?
Diz que o código deve depender de abstrações e não de implementações. Ajuda a desacoplar o sistema. Um dos princípios do SOLID
Qual a relação de Dependency Injection e Dependency Inversion?
O Dependency Injection é a técnica para alcançar o Dependency Inversion
O que é PSR?
Conjunto de regras e boas práticas criadas pela comunidade da linguagem.
O que é CSRF?
Cross site request forgery. Quando o site malicioso faz o usuário enviar uma requisição indesejada.
O que é XSS?
Cross site Scripting. Quando alguém consegue inserir código malicioso numa página.
O que é Script Injection?
De forma geral, Quando alguém consegue injetar código não autorizado no sistema
O que é SQL Injection?
Quando alguém consegue injetar comandos maliciosos de SQL para o o banco
O que é DDD?
Domain-Driven Design. Técnica de desenvolvimento focado no domínio do negócio.
O que é TDD?
Técnica de desenvolvimento onde você escreve testes antes de escrever o código. Ajuda a garantir que o código faz o que deveria
Processo:
Escreve o teste
Falha
Faz ele passar
Redatora
O que é Laravel Pint?
Ferramenta para formatar código automaticamente. Mantém o código padronizado na PSR. Similar ao PHPCS