O que são dublês de testes? | Programando com Vinicius Dias
Estudando sobre #TestesDeUnidade você provavelmente já se deparou com o termo #dublês de #testes, não é mesmo? Nesse vídeo eu vou explicar de forma bem sucinta e resumida o que é um dublê de teste e qual sua utilidade.
Vou deixar aqui alguns links sobre testes onde o conceito de #DublêsDeTeste é explicado de forma bem mais detalhada:
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
New in initializers é uma novidade do PHP 8.1 que permite o uso de objetos como valor padrão de argumentos em funções,.
Até a versão 8.0, não era possível utilizar new (criação de objetos) em vários pontos do código como em valores padrão de argumentos, em parâmetros de atributos, inicialização de constantes, variáveis estáticas, etc.
Agora, com o PHP 8.1, todos esses usos são permitidos devido à RFC New in Initializers.
Se quiser ler a RFC completa: https://wiki.php.net/rfc/new_in_initializers
Se quiser estudar PHP e vários outros assuntos na Alura com desconto:
https://www.alura.com.br/promocao/diasdedev
0:00 - Introdução
0:38 - Exemplo de código
1:20 - Solução até o PHP 8.0
2:08 - Novidade do PHP 8.1
3:27 - RFC de New In Initializers
5:11 - Limitações da RFC
6:13 - Mais detalhes da RFC
7:15 - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=1e50zodVfM0
Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
http://alura.tv/diasdedev
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no YouTube ou se tornar um "sponsor" lá no GitHub:
https://github.com/sponsors/CViniciusSDias
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=GAhoCvwHMcU
O PHP 8.3, que deve ser lançado no final de 2023, já possui novidades implementadas. Uma das novidades do PHP 8.3 é a nova função json_validate.
A função json_validate do PHP, como o nome diz, vai servir para validar se uma string é um JSON válido ou não. Essa função, por exigir menos memória e processamento, pode inclusive aumentar a segurança da aplicação, mitigando possíveis ataques de negação de serviço.
Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
https://alura.com.br/promocao/diasdedev
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no YouTube ou se tornar um "sponsor" lá no GitHub:
https://github.com/sponsors/CViniciusSDias
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=7rnKavIf67w
No vídeo sobre #corrotinas nós falamos de um conceito muito importante: #Generators.
Hoje nós vamos entender o que são Generators e como usar um Generator na prática para poupar memória.
(0:00) - Introdução
(0:44) - Conhecendo o código
(2:50) - Estourando a memória
(3:13) - Possíveis soluções
(4:09) - Usando Generators
(4:48) - Entendendo a execução
(6:16) - Revisão e casos de uso
(6:59) - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/cviniciussdias
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/vinícius-dias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=1_TnGAxEoPk
Será que vale a pena estudar React antes de dominar JavaScript? É uma boa ideia aprender Laravel antes de saber muito bem PHP? Neste vídeo eu vou falar sobre as possibilidades do que estudar primeiro e quais as vantagens e desvantagens de cada abordagem.
Se quiser aprender mais sobre tecnologia usando qualquer uma das 2 abordagens citadas no vídeo, recomendo assinar a Alura. Aqui tem 10% de desconto para você:
https://www.alura.com.br/promocao/diasdedev
E a seguir tem um post no meu blog, que escrevi há 2 anos. É um post opinativo escrito por um Vinicius menos maduro, mas ainda considero bastante válido.
https://dias.dev/2020-04-23-principios-ou-ferramentas-o-que-estudar/
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=e98w6wOdITQ
Nunca usar else é uma das regras de Object Calisthenics. Esse conjunto de regras são para nos ajudar a aplicar boas práticas de código durante o desenvolvimento.
Neste vídeo nós vamos falar apenas de uma regra e 2 formas de conseguir aplicá-la, mas o estudo pode ser bem mais aprofundado, tanto desta regra específica quanto das demais.
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=z4fxFU5MoAA
O #PHP 8.3 vai chegar no final de 2023 e com ele há novidades. No vídeo de hoje nós vamos ver como as funções array_sum e array_product ficaram mais previsíveis e consistentes.
Se quiser aprender mais sobre PHP, programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
http://alura.tv/diasdedev
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no YouTube ou se tornar um "sponsor" lá no GitHub:
https://github.com/sponsors/CViniciusSDias
Aqui está o link para a RFC:
https://wiki.php.net/rfc/saner-array-sum-product
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
0:00 - Introdução
0:30 - Funções array_sum e array_product
1:14 - Conversões de tipos no PHP
3:31 - Comportamento de array_sum e array_product
4:13 - Novidades no PHP 8.3 - Novo comportamento
5:08 - Objetos matemáticos
9:15 - RFC Saner array_sum array_product
10:01 - Conclusão
...
https://www.youtube.com/watch?v=cpJAwte1xZU
Você provavelmente já ouviu falar sobre Cobertura de Código, mas sabe o que significa? Nesse vídeo nós vamos analisar quanto código nosso teste realmente executa.
A ideia por trás de cobertura de código (ou code coverage em inglês) é relativamente simples. Ao executar os testes, estatísticas sobre quais códigos são executados podem ser geradas. Felizmente já existem diversas ferramentas que geram e leem essas estatísticas! :-D
Se você quiser se aprofundar nesse mundo de testes, vou deixar algumas referências bem legais aqui:
- https://amzn.to/39qMRe4 (Testes de Software: Um guia prático)
- https://amzn.to/3wfX4Uc (Test-Driven Development: Teste e Design no Mundo Real com PHP)
- https://amzn.to/3djdd2K (Diversos livros do Mauricio Aniche, grande referência em testes)
- https://amzn.to/2PeC0gq (xUnit Test Patterns: Refactoring Test Code [Livro clássico sobre testes])
- https://amzn.to/3fuoYpt (Test Driven Development: By Example [Livro do famoso Kent Beck])
0:00 - Introdução
0:32 - Revisando o projeto
1:06 - Cobertura de código
1:55 - Drivers de cobertura
3:00 - Gerando cobertura com PHPUnit e Xdebug
4:18 - Analisando cobertura de código
4:48 - phpunit.xml
7:14 - Analisando relatório em HTML
8:48 - Cobertura de código com Pest
10:43 - Cobertura de código no PHPStorm
13:00 - Considerações finais
13:50 - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=bWBSaBk0HXA
No vídeo sobre #WebScraping houve um questionamento muito importante: Como fazer para recuperar informações de sites renderizados no lado do cliente e SPAs (Single Page Applications)?
Nesse vídeo nós vamos aprender a controlar navegadores com #PHP usando o Chrome #Headless Browser.
Aqui vão alguns livros sobre web scraping:
- https://amzn.to/3dkWcoF (Web Scraping with Excel)
- https://amzn.to/3rI1tvI (Instant PHP Web Scraping)
(0:00) - Introdução
(0:43) - Problemas com Web Scraping
(1:21) - Solução para o problema
(2:18) - O que vamos fazer
(3:06) - Recuperando dados com JS
(3:27) - Conhecendo o componente
(3:58) - Resolvendo problema no MacOS
(4:51) - Implementando o código
(6:12) - Recapitulando a implementação
(6:30) - Executando o script
(6:53) - Mudando o idioma do navegador
(8:19) - Recapitulando a solução
(9:34) - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=II8tp2izyrc