O documento fornece dicas para desenvolvimento em PHP evitando más práticas. Ele recomenda: (1) usar a última versão do PHP e orientação a objetos; (2) ferramentas como IDEs, controle de versão e Composer; (3) padrões como MVC e frameworks como Laravel.
Apresentação sobre testes em React utilizando Jest e Enzyme. Foi realizado como repasse de conhecimento interno do Instituto Atlântico, ministrado por Henrique Soares, Lucas Gomes e Matheus Freitas Cezar
Gravação (vídeo) da palestra: https://www.infoq.com/br/presentations/depurando-aplicacoes-php-like-a-boss
Palestra apresentada nos seguintes eventos:
- DrupalCamp Campinas, em 25/06/2016;
- The Developers Conference (TDC) São Paulo, em 09/07/2016;
- PHP Conference Brazil, em 09/12/2016;
- PHPSP + Locaweb #3, em 18/02/2017.
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
Na nossa vida é importante nos preocuparmos com nossa saúde, e DEVEMOS fazer o mesmo com a saúde dos nossos softwares.
Você verá aqui as principais ferramentas para medir qualidade e encontrar alguns tumores nos seus projetos!
Apresentação sobre testes em React utilizando Jest e Enzyme. Foi realizado como repasse de conhecimento interno do Instituto Atlântico, ministrado por Henrique Soares, Lucas Gomes e Matheus Freitas Cezar
Gravação (vídeo) da palestra: https://www.infoq.com/br/presentations/depurando-aplicacoes-php-like-a-boss
Palestra apresentada nos seguintes eventos:
- DrupalCamp Campinas, em 25/06/2016;
- The Developers Conference (TDC) São Paulo, em 09/07/2016;
- PHP Conference Brazil, em 09/12/2016;
- PHPSP + Locaweb #3, em 18/02/2017.
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
Na nossa vida é importante nos preocuparmos com nossa saúde, e DEVEMOS fazer o mesmo com a saúde dos nossos softwares.
Você verá aqui as principais ferramentas para medir qualidade e encontrar alguns tumores nos seus projetos!
Revisão de Código - Uma prática que depende da culturaLeandro Parazito
Nesta palestra, Leandro identificará algumas das melhores práticas a serem seguidas. Ele falará sobre o que é realmente importante em uma revisão de código, definirá algumas diretrizes a serem seguidas a fim de maximizar o valor da revisão de código e fornecer feedback construtivo no tempo mais rápido possível.
Este foi um curso presencial onde apresentamos os benefícios de se utilizar o framework PHP Codeigniter. O codeigniter é um framework MVC de baixa curva de aprendizagem.
Behavior-Driven Development (BDD) - Abril/2017Renato Groff
Slides de apresentação sobre BDD (Behavior-Driven Development) realizada durante o dia 08/04/2017 em São Paulo-SP. Implementação baseada no uso do framework SpecFlow e do Visual Studio 2017.
O JavaScript, durante muito tempo, não foi uma linguagem respeitada. Era considerada uma linguagem de amadores e, por de fato ser utilizada por muitos programadores inexperientes, gerava códigos mal-escritos. O JS mudou e moldou a web, deu muito mais poder aos desenvolvedores, e se estabeleceu permanentemente como a linguagem de scripts para a web.Hoje, o JavaScript se reinventou mais uma vez, e mais uma vez, está entregando nas mãos dos desenvolvedores o poder de mudar o desenvolvimento. Vamos conhecer como iniciar o caminho a ser percorrido para que você adentre o mundo da plataforma que está disponível em centenas de milhões de aplicações, e, num breve futuro, alcance o grau de profissionalismo para aproveitar grandes oportunidades de mercado
Apresentação realizada em São Paulo-SP sobre a implementação de Mock Objects em .NET Core (Visual Studio 2017), utilizando para isto os frameworks Moq e NSubstitute.
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Renato Groffe
Apresentação realizada durante a edição de Fevereiro do DevOps Experience no dia 24/02/2022 (quinta-feira), com foco na automação de testes de integração com o Azure DevOps. Ao longo desta palestra demonstrei a implementação de testes de integração e sua execução a partir do Azure Pipelines no Azure DevOps, fazendo uso ainda para isto de tecnologias como .NET 6, C# 10, Visual Studio 2022, Azure Repos, Git, Linux, Redis, Apache Kafka, containers Docker, Kubernetes e Azure Kubernetes Service.
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Criciúma Dev
Lucas Ferreira (BurnWeb)
A talk abordará uma forma diferente de desenvolver apps para celular utilizando o framework React Native criado pelos engenheiros do Facebook. Ao final também teremos um pouco de mão na massa.
4º Meetup Criciúma Dev
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
Interface de Usuário também é coisa de Programador, o objetivo deste treinamento é vivenciar um ambiente de desenvolvimento empregando estas tecnologias, abordando conceitos de testes unitários, integrados, padrões e boas práticas de desenvolvimento
Revisão de Código - Uma prática que depende da culturaLeandro Parazito
Nesta palestra, Leandro identificará algumas das melhores práticas a serem seguidas. Ele falará sobre o que é realmente importante em uma revisão de código, definirá algumas diretrizes a serem seguidas a fim de maximizar o valor da revisão de código e fornecer feedback construtivo no tempo mais rápido possível.
Este foi um curso presencial onde apresentamos os benefícios de se utilizar o framework PHP Codeigniter. O codeigniter é um framework MVC de baixa curva de aprendizagem.
Behavior-Driven Development (BDD) - Abril/2017Renato Groff
Slides de apresentação sobre BDD (Behavior-Driven Development) realizada durante o dia 08/04/2017 em São Paulo-SP. Implementação baseada no uso do framework SpecFlow e do Visual Studio 2017.
O JavaScript, durante muito tempo, não foi uma linguagem respeitada. Era considerada uma linguagem de amadores e, por de fato ser utilizada por muitos programadores inexperientes, gerava códigos mal-escritos. O JS mudou e moldou a web, deu muito mais poder aos desenvolvedores, e se estabeleceu permanentemente como a linguagem de scripts para a web.Hoje, o JavaScript se reinventou mais uma vez, e mais uma vez, está entregando nas mãos dos desenvolvedores o poder de mudar o desenvolvimento. Vamos conhecer como iniciar o caminho a ser percorrido para que você adentre o mundo da plataforma que está disponível em centenas de milhões de aplicações, e, num breve futuro, alcance o grau de profissionalismo para aproveitar grandes oportunidades de mercado
Apresentação realizada em São Paulo-SP sobre a implementação de Mock Objects em .NET Core (Visual Studio 2017), utilizando para isto os frameworks Moq e NSubstitute.
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Renato Groffe
Apresentação realizada durante a edição de Fevereiro do DevOps Experience no dia 24/02/2022 (quinta-feira), com foco na automação de testes de integração com o Azure DevOps. Ao longo desta palestra demonstrei a implementação de testes de integração e sua execução a partir do Azure Pipelines no Azure DevOps, fazendo uso ainda para isto de tecnologias como .NET 6, C# 10, Visual Studio 2022, Azure Repos, Git, Linux, Redis, Apache Kafka, containers Docker, Kubernetes e Azure Kubernetes Service.
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Criciúma Dev
Lucas Ferreira (BurnWeb)
A talk abordará uma forma diferente de desenvolver apps para celular utilizando o framework React Native criado pelos engenheiros do Facebook. Ao final também teremos um pouco de mão na massa.
4º Meetup Criciúma Dev
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
Interface de Usuário também é coisa de Programador, o objetivo deste treinamento é vivenciar um ambiente de desenvolvimento empregando estas tecnologias, abordando conceitos de testes unitários, integrados, padrões e boas práticas de desenvolvimento
Palestra apresentada na semana de Imersão da Fábrica de Software do UNIPÊ. Apresentação da profissão de Desenvolvedor, com foco em back-end, a programação em sua versão "bruta" .
Slides da palestra apresentada no Tchê Linux Pelotas, sobre desenvolvimento PHP, onde mostra: ferramentas, boas práticas, frameworks e bibliotecas a serem usadas pelos profissionais PHP.
Palestra apresentada no II BootCamp OescLivre e Unoesc São Miguel com o tema: Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3, onde apresentamos uma alternativa de divisão de tarefas utilizadas na Camtwo com os frameworks citados.
A palestra é um recap do evento re:Invent da AWS, que acontece anualmente para anunciar as maiores novidades da empresa.
Esse reCap foi focado em Data Engineer e Analytics
Evento que aconteceu na Infomach no dia 16/03/2023
Link do Meetuo: https://www.meetup.com/pt-BR/aws-go/events/291480759/
Palestra realizada na edição da Join Community 2022.
Modern Data Stack é: Um conjunto flexível de tecnologias que ajudam as empresas a armazenar, gerenciar e aprender com seus dados de forma rápida e eficiente
Palestra realizada na Campus Party Goiás 2022.
Agenda:
1. Big Data e IA;
2. Áreas de Data Science;
3. Carreiras na área de dados;
4. Arquiteturas modernas;
5. Cases práticos;
6. Tendência na área de dados.
Palestra realizada na edição presencial da Campus Party Goiás 2 em 2022.
Modern Data Stack é: Um conjunto flexível de tecnologias que ajudam as empresas a armazenar, gerenciar e aprender com seus dados de forma rápida e eficiente
Palestra online ministrada para a turma de Pos-graduação em IA IFG - 2022
Link da transmissão:https://www.youtube.com/watch?v=KGc6AXWI8gg&ab_channel=CiteLabIFG
Apresentação que contempla conceitos e arquitetura de Big Data, processamento e análise de dados em tempo real com Kafka, ElasticSearch e Python. Apresentada no GDG DevFest Cerrado 2019.
1. PHP: Como não Programar em POG
Dicas para criar soluções com Potencial
Cícero Moura
2. Roteiro
● Razões para escolher o PHP
● Porque o PHP é considerado uma linguagem Suja
● Boas práticas de programação com o PHP
● Ferramentas para auxiliar o desenvolvimento
● Utilizando MVC com PHP
● Utilizando Framework com PHP
● Dicas Finais
Cícero Moura PHP: Como não Programar em POG
3. PHP: Por que devo escolher?
● Linguagem de back-end(server-side) voltada para Web
● Fácil Aprendizagem
● Proporciona um desenvolvimento intuitivo e interativo
● Multiplataforma
● Código fonte aberto
● Resolve praticamente todos os seus problemas
Cícero Moura PHP: Como não Programar em POG
“Se você tem um problema que não consegue resolver, chame um programador
PHP, se ele não conseguir resolver, desista, seu problema não tem solução!”
4. PHP: Então qual o Problema?
● Linguagem de multiparadigma (Estruturada, Orientada a Objetos e Orientada a Gambiarra)
● Não Tipada (Vem se tornando fracamente tipada)
● Documentação incompleta e conteúdo de estudo desatualizados
● Falta de segurança
● Fácil de criar saídas técnicas (Famosa Gambiarra)
Cícero Moura PHP: Como não Programar em POG
5. PHP: Por que adotar boas práticas?
● Criar sistemas seguros e com bom desempenho
● Gerar Qualidade de Software
● Aumentar a manutenibilidade do sistema
● Ter um Software flexível e reutilizável
● Não ser xingado pelos colegas de trabalho ou da área
Cícero Moura PHP: Como não Programar em POG
6. Quais são as formas de não utilizar POG?
Cícero Moura PHP: Como não Programar em POG
7. Utilize a última versão da Linguagem
● O PHP atualmente está na versão 7.
● A versão mais nova traz melhorias em relação a 5.6.x, podemos citar:
1. Motor remodelado, com isso, houve um grande ganho de desempenho.
2. Erros fatais passaram a ser Exceções, isso quer dizer que eles podem
ser tratados em bloco try/catch.
3. É possível definir alguns tipos para parâmetros de métodos e funções,
inclusive o seu retorno, se tornando uma linguagem fracamente tipada.
● Independente da versão do PHP utilize Orientação a
Objetos.
Cícero Moura PHP: Como não Programar em POG
8. Utilize ferramentas para auxiliar o desenvolvimento
● Ferramentas são essenciais para organizar o projeto, automatizar atividades
e manter o controle sobre a aplicação em desenvolvimento.
● IDE: fornece um local único para seu trabalho de codificação e fornece
diversas funcionalidades: Projetos, Depuração, Inteligência de Código,
Visualização de Classes, Controle de Código de Origem (CVS) e Integração
de FTP/SFTP.
● IDE para PHP: Eclipse, Zend Studio e JetBrains PhpStorm.
Cícero Moura PHP: Como não Programar em POG
9. Utilize Controle de Versão
● O controle de versão é um sistema que registra as mudanças feitas em um
arquivo ou um conjunto de arquivos ao longo do tempo de forma que você
possa recuperar versões específicas.
● Atualmente as ferramentas mais utilizadas são:
➔ Git e Github: Git é um sistema de controle de versão de arquivos e o
Github oferece funcionalidades que estende o Git, inclusive o repositório
para armazenar projetos.
Cícero Moura PHP: Como não Programar em POG
10. Git e Github
● Instalação do Git
● Configurações iniciais de usuário do Git
● Criar conta e um novo repositório no Github: https://github.com
Cícero Moura PHP: Como não Programar em POG
11. Git e Github
● Clonando um repositório
● Adicionando alterações no index do git
● Criando versão do projeto com um número único
● Salvando alterações no repositório
● Resgatando alterações do Github
Cícero Moura PHP: Como não Programar em POG
12. Utilize um Gerenciador de Dependências
● Responsável por gerenciar bibliotecas externas ou até mesmo internas que
sejam necessárias para o projeto.
● Composer: Instalação e configuração
Cícero Moura PHP: Como não Programar em POG
13. Composer: Instalção e Configuração
● Adicionando bibliotecas no arquivo composer.json
● Lendo o arquivo composer.json e baixando as dependências
Cícero Moura PHP: Como não Programar em POG
14. Adote um Padrão de Arquitetura
● Padrões de projetos são soluções para problemas que alguém um dia teve e
resolveu aplicando um modelo que foi documentado e que você pode
adaptar integralmente ou de acordo com a necessidade da sua solução.
● Um padrão de arquitetura está ligado diretamente com a forma que você
organiza o seu projeto.
● Exemplos: MVC, MVVM e MVP.
Cícero Moura PHP: Como não Programar em POG
15. MVC com PHP
● Model - View - Controller
● Model: responsável pela leitura e escrita de
dados, e também de suas validações.
● View: camada de interação com o usuário.
Ela apenas faz a exibição dos dados.
● Controller: comunicação entre a Model e
View.
Cícero Moura PHP: Como não Programar em POG
16. MVC com PHP
● Onde tudo se inicia.
● Configurando os redirecionamentos.
Cícero Moura PHP: Como não Programar em POG
17. MVC com PHP
● Instanciando minha aplicação
Cícero Moura PHP: Como não Programar em POG
18. MVC com PHP
● Gerenciando todas as requisições de classes do projeto
Cícero Moura PHP: Como não Programar em POG
19. MVC com PHP
● Classe App: Tratamento de URL e
direcionamento dos controllers e
métodos a serem executados.
Modelo de URL padrão:
www.dominio.com.br/controller/metodo/parametros
Cícero Moura PHP: Como não Programar em POG
20. MVC com PHP
● Decisão da View a ser chamada
Cícero Moura PHP: Como não Programar em POG
21. MVC com PHP
● Comunicação entre Model e View
Cícero Moura PHP: Como não Programar em POG
22. MVC com PHP
● Representação da tabelas do Banco de Dados
Cícero Moura PHP: Como não Programar em POG
23. MVC com PHP
● Conexão com o Banco de Dados
Cícero Moura PHP: Como não Programar em POG
24. MVC com PHP
● Classe da Model
Cícero Moura PHP: Como não Programar em POG
25. MVC com PHP
● Mostrando conteúdo na tela, exemplo de View.
Cícero Moura PHP: Como não Programar em POG
26. Utilize um Framework
● Framework é uma abstração que une códigos comuns entre vários projetos
de software provendo uma funcionalidade genérica.
● Um framework pode atingir uma funcionalidade específica, por configuração,
durante a programação de uma aplicação.
● Um framework é utilizado para automatizar atividades, organizar o projeto e
aumentar o desempenho na fase de desenvolvimento e manutenção da
aplicação.
● Exemplos: CakePHP, Zend Framework e Laravel.
Cícero Moura PHP: Como não Programar em POG
27. Laravel Framework PHP
● Atualmente na versão 5.3 suportando PHP 5.6.4
ou superior.
➔ Instalação via Composer
● Depois de executar o comando o seu projeto é
criado com todos os arquivos.
Cícero Moura PHP: Como não Programar em POG
32. Laravel Framework
● Definindo as tabelas do Banco de Dados pelo PHP
● Comando pelo terminal para criar as tabelas
Cícero Moura PHP: Como não Programar em POG
33. Laravel Framework
● Definindo as rotas da aplicação para redirecionar requisições a um
Controller e Método específico.
Cícero Moura PHP: Como não Programar em POG
34. Laravel Framework
● Criando e Implementando um Controller com método que pega parâmetros
da URL e repassa para a view da aplicação.
● Comando para criar um Controller
Cícero Moura PHP: Como não Programar em POG
35. Laravel Framework
● Implementando uma View que mostra o conteúdo direcionado pelo
Controller.
● blade é o mecanismo de templates fornecido com o Laravel
● URL: www.meusite.com.br/Home/FGSL
Cícero Moura PHP: Como não Programar em POG
36. Laravel Framework
● Executando o projeto para testes e acessando link para mostrar a view
● URL: localhost:8000/Home/FGSL
Cícero Moura PHP: Como não Programar em POG
37. Laravel Framework
● Implementando um Controller com método que pega dados do Banco de
Dados e repassa para a view da aplicação.
● URL: www.meusite.com.br/Products
Cícero Moura PHP: Como não Programar em POG
38. Laravel Framework
● Criando um template com seções para usar de base para outras views da
aplicação. Seções: titulo e conteudo:
Cícero Moura PHP: Como não Programar em POG
39. Laravel Framework
● Usando o template para mostrar o conteúdo encaminhado pelo Controller
Cícero Moura PHP: Como não Programar em POG
40. Dicas Finais
● Busque sempre se manter atualizado sobre as novas técnicas e tendências
de desenvolvimento.
● Use sempre bibliotecas e códigos testados e reconhecidos.
● Procure por materiais de estudo sempre atualizados.
● Tire dúvidas nas próprias documentações da linguagem, framework,
biblioteca…
➔ Links úteis:
http://www.php.net/manual/pt_BR/
https://getcomposer.org/
https://laravel.com/
http://laravel.artesaos.org/
Cícero Moura PHP: Como não Programar em POG