Inicialmente trataremos sobre padrões de construção de componentes, para então falar sobre interoperabilidade entre aplicações PHP e bibliotecas de componentes interoperáveis. Finalmente mostraremos exemplos de combinações de componentes de diferentes frameworks.
Arquitetura em camadas em python e quanto isso pode ajudarBetter Developer
Venha ver como conceitos de arquitetura de software e padrões de projeto também podem ser aplicados quando desenvolvemos em Python. Veremos exemplos práticos de como isso traz maturidade ao projeto e o quanto ajuda na manutenção e evolução do mesmo. Por fim será mostrado case de como isso é importante no desenvolvimento de soluções para área financeira na empresa Nexxera.
Venha ver como trabalhar de forma rápida e prática com seu projeto iniciando com planejamento de versão, codificação, testes, revisão de código e entrega até fazer a implantação em produção usando as ferramentas Gitlab e Gitlab CI para aplicar conceitos de CI (Continous Integration) e CD (Continous delivery e Continous Deploy) de forma automatizada e amigável. Por fim será mostrado case de como isso é usado no dia a dia na empresa Nexxera.
Autor: Isaac Souza
Ir para cloud com arquitetura de microservices resolverá o meu problema?Better Developer
Uma análise crítica sobre o por que devemos ter soluções na Cloud e o que Microservices pode de fato resolver de problemas em uma solução.
Custo, confiabilidade, escalabilidade, manutenibilidade, velocidade no desenvolvimento, dentre outros pontos precisam ser analisados com clareza para que a decisão seja acertada.
Arquitetura em camadas em python e quanto isso pode ajudarBetter Developer
Venha ver como conceitos de arquitetura de software e padrões de projeto também podem ser aplicados quando desenvolvemos em Python. Veremos exemplos práticos de como isso traz maturidade ao projeto e o quanto ajuda na manutenção e evolução do mesmo. Por fim será mostrado case de como isso é importante no desenvolvimento de soluções para área financeira na empresa Nexxera.
Venha ver como trabalhar de forma rápida e prática com seu projeto iniciando com planejamento de versão, codificação, testes, revisão de código e entrega até fazer a implantação em produção usando as ferramentas Gitlab e Gitlab CI para aplicar conceitos de CI (Continous Integration) e CD (Continous delivery e Continous Deploy) de forma automatizada e amigável. Por fim será mostrado case de como isso é usado no dia a dia na empresa Nexxera.
Autor: Isaac Souza
Ir para cloud com arquitetura de microservices resolverá o meu problema?Better Developer
Uma análise crítica sobre o por que devemos ter soluções na Cloud e o que Microservices pode de fato resolver de problemas em uma solução.
Custo, confiabilidade, escalabilidade, manutenibilidade, velocidade no desenvolvimento, dentre outros pontos precisam ser analisados com clareza para que a decisão seja acertada.
Se viu a versão 2018 esta é 90% reformulada. Veremos como escrever código mais simples, expressivo, mais performático, mais robusto e de mais fácil manutenção usando os novos recursos desde o C# 2 que fez pequenas revoluções em cada atualização nos últimos 15 anos, culminando com o C# 8 que é a maior revolução até agora. Também veremos as revoluções que (provavelmente) virão no C# 9 e posterior e o novo ecossistema do .NET. Muito de como se programava no início não é mais como devemos programar hoje. Temos os mesmos paradigmas e filosofia mas agora existem novas preocupações e melhores ferramentas para cada tarefa foram adicionadas em cada nova versão. Alguns recursos são desconhecidos até mesmo para programadores experientes na linguagem. Entender a tendência para onde a linguagem vai daqui pra frente é de extrema importância para produzir código com maior tempo de vida. Programadores que modernizam seus códigos são mais valorizados pelo mercado.
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
Do jQuery aos microfrontends: os desafios de manter uma aplicação web - Luiz Fernando Rodrigues, ContaAzul
[JS EXPERIENCE 2018] - 5 de julho de 2018
São Paulo/SP
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
Palestra apresentada no FEMUG-ABC com o intuito de convencer os desenvolvedores da necessidade de se aprender/estudar JavaScript e como se adequar ao mercado de trabalho atual.
Versão original com anotações, links importantes e os gifs legais: https://docs.google.com/presentation/d/15St9PXpif87PIqWnIuP3Xfr-kOPJvnssWIt_cLpnoRI/edit?usp=sharing
Nesta palestra, vemos como é a carreira de um desenvolvedor Java, falamos um pouco sobre o mercado, sobre o desenvolvimento de um profissional e damos algumas dicas de como se tornar um ninja.
Pequena apresentação sobre Coding Dojo, para o primeiro Coding Dojo Sankhya.
Essa apresentação é um resumo de muitas outras, dentre as quais:
http://pt.slideshare.net/serge_rehem/coding-dojo-em-5-minutos
http://pt.slideshare.net/alextercete/coding-dojo-e-tdd
http://pt.slideshare.net/marloncarvalho/coding-dojo-5328510
http://pt.slideshare.net/williansdepaula/coding-dojo-10208494
Ela foi usada para uma apresentação de 10 min.
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
Apresentação sobre o uso de mocks, stubs e objetos fakes na implementação de testes de software. Palestra realizada em 20/07/2017, em meetup promovido pelo grupo Developers-SP na cidade de São Paulo-SP.
- OOP e a síndrome do “isso eu já sei” (o problema e a teoria)
- Estratégia para entender e colocar em prática os Design Patterns
- Exemplos de implementações de projetos reais
O que você precisa saber para se tornar um dev front-endDiego Eis
Ser um desenvolvedor front-end já foi mais fácil. Essa palestra mostra o caminho das pedras para os que estão iniciando na área e os que já estão, servindo como guia para assuntos importantes na área.
Link do artigo relacionado:
http://tableless.com.br/tornar-dev-front-end/
Se viu a versão 2018 esta é 90% reformulada. Veremos como escrever código mais simples, expressivo, mais performático, mais robusto e de mais fácil manutenção usando os novos recursos desde o C# 2 que fez pequenas revoluções em cada atualização nos últimos 15 anos, culminando com o C# 8 que é a maior revolução até agora. Também veremos as revoluções que (provavelmente) virão no C# 9 e posterior e o novo ecossistema do .NET. Muito de como se programava no início não é mais como devemos programar hoje. Temos os mesmos paradigmas e filosofia mas agora existem novas preocupações e melhores ferramentas para cada tarefa foram adicionadas em cada nova versão. Alguns recursos são desconhecidos até mesmo para programadores experientes na linguagem. Entender a tendência para onde a linguagem vai daqui pra frente é de extrema importância para produzir código com maior tempo de vida. Programadores que modernizam seus códigos são mais valorizados pelo mercado.
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
Do jQuery aos microfrontends: os desafios de manter uma aplicação web - Luiz Fernando Rodrigues, ContaAzul
[JS EXPERIENCE 2018] - 5 de julho de 2018
São Paulo/SP
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
Palestra apresentada no FEMUG-ABC com o intuito de convencer os desenvolvedores da necessidade de se aprender/estudar JavaScript e como se adequar ao mercado de trabalho atual.
Versão original com anotações, links importantes e os gifs legais: https://docs.google.com/presentation/d/15St9PXpif87PIqWnIuP3Xfr-kOPJvnssWIt_cLpnoRI/edit?usp=sharing
Nesta palestra, vemos como é a carreira de um desenvolvedor Java, falamos um pouco sobre o mercado, sobre o desenvolvimento de um profissional e damos algumas dicas de como se tornar um ninja.
Pequena apresentação sobre Coding Dojo, para o primeiro Coding Dojo Sankhya.
Essa apresentação é um resumo de muitas outras, dentre as quais:
http://pt.slideshare.net/serge_rehem/coding-dojo-em-5-minutos
http://pt.slideshare.net/alextercete/coding-dojo-e-tdd
http://pt.slideshare.net/marloncarvalho/coding-dojo-5328510
http://pt.slideshare.net/williansdepaula/coding-dojo-10208494
Ela foi usada para uma apresentação de 10 min.
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
Apresentação sobre o uso de mocks, stubs e objetos fakes na implementação de testes de software. Palestra realizada em 20/07/2017, em meetup promovido pelo grupo Developers-SP na cidade de São Paulo-SP.
- OOP e a síndrome do “isso eu já sei” (o problema e a teoria)
- Estratégia para entender e colocar em prática os Design Patterns
- Exemplos de implementações de projetos reais
O que você precisa saber para se tornar um dev front-endDiego Eis
Ser um desenvolvedor front-end já foi mais fácil. Essa palestra mostra o caminho das pedras para os que estão iniciando na área e os que já estão, servindo como guia para assuntos importantes na área.
Link do artigo relacionado:
http://tableless.com.br/tornar-dev-front-end/
É notável a quantidade de aplicações em PHP que ainda utilizam nosso velho e conhecido modo Macarrônico de programar: dezenas de snippets e blocos de código que trabalham com regras de negócio, apresentação e tudo mais espalhados por N lugares na aplicação. A solução mais sustentável para esse tipo de situação seja provavelmente a adoção de um framework, mas existe uma resistência muito grande que é completamente justificável: voltamos àquelas perguntas relativas à “para que mexer num time que está ganhando?“. Vamos trabalhar um pouco essa idéia mostrando exemplos e confrontando situações reais.
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
Apresentado para o Pop-ES e NPD da Ufes. Conheça o significado de DevOps e como ele pode apoiar entregas mais rápidas de software por meio da mudança de cultura, automatização entre outras...
Domain-Driven Design não é uma tecnologia ou metodologia. DDD é uma abordagem à modelação de software que providencia uma estrutura de práticas, padrões de programação e terminologias que ajudam à sua concepção.
Nesta sessão vamos conhecer o que é Domain-Driven Design, quando o usar e como implementar.
Saiba o que é um framework e como eles podem mudar a vida de um profissional de TI. Saber escolher o framework certo pode levar o seu projeto ao sucesso.
Atualmente muitas linguagens emergentes estão ganhando e inovando o mercado. Mas o que não pode ser esquecido, é que Java se renova e continua se renovando para poder se manter no mercado. Nesta palestra, destinada a iniciantes e até mesmo quem já trabalha com Java há algum tempo, será mostrado o que é necessário aprender atualmente no mundo Java WEB para se manter atualizado perante as novas tendências tecnológicas.
Estratégias de Estruturação de Código-fonte e Controlo de VersãoComunidade NetPonto
Muitas das dificuldades no desenvolvimento profissional de software são causadas por problemas (ou a falta de) um correcto sistema e uso de controlo de versões. Nesta apresentação o Tiago Pascoal, MVP em Visual Studio Team System, irá mostrar estratégias sobre como melhor estruturar todos os artefactos de um projecto, incluindo melhores práticas para uso de controlo de versões, tendo por base a plataforma de Application Lifecycle Management da Microsoft (Team Foundation Server / TFS).
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaFlávio Lisboa
Nesta apresentação abordamos um achado de uma pesquisa de doutorado sobre cooperativas de software livre no Brasil e fazemos uma comparação com a Argentina. Essa comparação é feita após uma contextualização do cooperativismo no mundo e no Brasil.
Aprenda a afiar suas garras com LaminasFlávio Lisboa
Nesta palestra apresento a trajetória do meu trabalho de instrutor e promotor do Zend Framework, agora Laminas, culminando com o lançamento do livro PHP Web Development with Laminas, pela Packt Publishing. Apresento os tópicos de uma formação completa de desenvolvedor web PHP trabalhando com aplicações orientadas a objeto usando padrões de projeto e desenvolvimento orientado a testes.
Ciência e software livre: desenvolvendo com métodoFlávio Lisboa
Esta palestra visa mostrar como o software livre se beneficia do paradigma do método científico e quais as vantagens de times de desenvolvimento de assimilarem as boas práticas desse método e a vantagem de manter sempre uma atitude crítica na busca de soluções de problemas.
Tópicos abordados:
* O método científico e os paradigmas da ciência
* Como o software livre aplica o método científico
* Como assimilar isso em sua empresa
Apresentação feita na 2ª edição do evento Micro Serviços Macro Negócios. Esta palestra irá mostrar como criar uma arquitetura de uma aplicação para microsserviços em PHP usando o microframework Mezzio. Para tanto, será apresentado um estudo de caso de uma aplicação PHP baseada em microsserviços, construída para um ambiente distribuído usando Kubernetes. O estudo de caso mostrará como microframework Mezzio facilita a construção de microsserviços a partir do conceito de middleware”. Serão apresentados ainda extensões para o Mezzio e seu uso combinado ao framework Swoole.
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Flávio Lisboa
Da Teoria da Evolução para a solução de problemas baseada em busca, com provocações para quem não gosta de pensar.
O componente usado na demonstração está disponível em https://github.com/fgsl/geneticalgorithm.
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPFlávio Lisboa
Esta palestra aborda: a necessidade e vantagens de utilização de um ambiente integrado de desenvolvimento e de como integrá-lo com ferramentas de linha de comando relacionadas à rotina de construção de software; e a questão da depuração de código, as técnicas para descoberta de causas de bugs e ferramentas para localizar gargalos no desempenho de aplicações PHP.
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosFlávio Lisboa
Nesta palestra falamos sobre o governo eletrônico, alguns decretos federais relativos a soberania nacional e publicidade de informações para a sociedade, sobre o Serviço Federal de Processamento de Dados, sua produção de sistemas em PHP com destaque para dois produtos, o Sagui e o SerproDrive.
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
Nesta palestra abordaremos diversos aspectos da arquitetura de software contextualizados para o cenário de aplicações PHP construídas a partir da integração de microsserviços integrados. Dentro desse cenário, iremos separar o que é responsabilidade do PHP e o que não é, mas com o que ele pode contribuir (ou como ele pode evitar que seus parceiros tornem sua vida difícil). Abordaremos motivações, boas práticas e orientações para lidar com transações, manipulação de erros, execução de código lento, execução em linha de comando, coleta de dados de usuário, análise e business intelligence.
6. Quem sou eu?
● Leciono a disciplina Programação PHP Orientada a Objetos
com Testes Unitários no curso de especialização em
Desenvolvimento de Aplicações Web na UniCesumar.
9. Resumo
Nesta palestra iremos aprender como combinar
componentes de diferentes frameworks dentro
de uma mesma aplicação sem criar problemas
de manutenção
10. Dúvida
Você vai falar sobre como combinar
frameworks, enquanto tem um cara falando
sobre um futuro sem frameworks?
Frameworks...
¡No más!
11. Esclarecimento
Não é porque algo parece não funcionar direito
que você tem de desistir de usar.
13. Descrição
Inicialmente trataremos sobre padrões de
construção de componentes, para então falar
sobre interoperabilidade entre aplicações PHP
e bibliotecas de componentes interoperáveis.
Finalmente mostraremos exemplos de
combinações de componentes de diferentes
frameworks.
14. Preâmbulo
Tudo que falaremos aqui trata de manutenção
de software. Se você vai fazer software pra ser
jogado fora, não há aplicação para o que
falaremos.
15. Preâmbulo
Mas se você vai fazer software que será
mantido, atualizado, evoluído e aperfeiçoado,
então deveria se preocupar com os tópicos que
abordaremos.
16. Com que seu código parece?
Uso de componentes inadequados?
17. Com que seu código parece?
Não entendeu o design pattern Adapter?
18. Com que seu código parece?
Este pelo menos tem fraco acoplamento...
20. Cenário
Fatos:
● Você precisa implementar rápido
● Não dá tempo de aplicar a melhor solução
● Não dá tempo de achar alguém que
implementou a melhor solução.
● A equipe trabalha sobre o Princípio Scooby-
Doo.
Tartaglia Cardano
21. VOU FAZER DE
QUALQUER JEITO
AGORA, DEPOIS EU
MELHORO.
NUNCA VAI
MELHORAR!
22. Padrões de Construção de
Componentes
Você pode criar um componente incompleto.
Só precisa prepará-lo para crescer.
23. Padrões de Construção de
Componentes
Pense no futuro!
Só precisa prepará-lo para crescer.
24. Padrões de Construção de
Componentes
Hoje você não precisa traduzir sua aplicação.
Mas e amanhã?
Ninguém pediu ainda, então não posso perder tempo
fazendo algo que não me pagaram pra fazer.
Você pode criar uma função ou método para
tradução... que apenas devolva o que recebeu.
Isso evitará que no futuro você tenha de alterar
dezenas (ou centenas) de arquivos para dar suporte à
tradução.
25. Padrões de Construção de
Componentes
Crie código extensível.
Permita que alguém conclua sua obra.
26. Interoperabilidade
Faça seu software conversar com outros.
Use protocolos de comunicação compreensíveis
por outras aplicações, preferencialmente
abertos.
No caso de PHP, faça com que seus
componentes possam utilizar ou ser utilizados
por outros componentes PHP facilmente.
31. Frameworks
Frameworks contém componentes.
Diferentes frameworks tem diferentes
componentes para os mesmos propósitos.
É possível combinar componentes de
frameworks diferentes, desde que eles sejam
interoperáveis.
39. FRAMEWORK FULL STACK
MICROFRAMEWORK
MICROFRAMEWORK
MICROFRAMEWORK
MICROFRAMEWORK MICROFRAMEWORK
40. Frameworkities
A Doença dos Frameworks
“Frameworkitis is the disease that a framework wants to do
too much for you or it does it in a way that you don't want
but you can't change it. It's fun to get all this functionality for
free, but it hurts when the free functionality gets in the way. But
you are now tied into the framework. To get the desired
behavior you start to fight against the framework. And at
this point you often start to lose, because it's difficult to bend
the framework in a direction it didn't anticipate.”
Erich Gamma
http://www.artima.com/lejava/articles/reuseP.html
42. MVC:
O Ponto Crítico dos Frameworks
A implementação do architecture pattern MVC
(Model View Controller) geralmente é a que tem
o maior conjunto de acoplamentos.
43. MVC:
O Ponto Crítico dos Frameworks
Ao optar por uma implementação MVC
específica, estamos assinando um contrato
com várias cláusulas de obrigação, para
usufruir de benefícios oferecidos por ela.
44. MVC:
O Ponto Crítico dos Frameworks
Procure uma implementação flexível,
configurável, que permita injeção de
dependências, para que você possa trocar
implementações custosas por alternativas mais
leves (ou ter a possibilidade de obliterar
processos).
45. MVC:
O Ponto Crítico dos Frameworks
A implementação MVC não pode ser um
televisor que não funciona sem controle remoto!
46. MVC:
O Ponto Crítico dos Frameworks
A implementação MVC deve permitir que você
escolha os componentes que realmente
precisa.
Ela deve ser capaz de não fazer nada além do
necessário.
47. MVC:
O Ponto Crítico dos Frameworks
● Cuidado com as unidades de reuso dos
frameworks!
● Bundles e modules, por exemplo, são
reusáveis diretamente apenas por seus
respectivos gerenciadores (Symfony, Zend).
● Bibliotecas são mais reutilizáveis que
estruturas modulares de implementações
MVC!