PHP Conference Brasil 2008 – Descrição das palestras em Inglês
Dezembro 3, 2008
Christopher Jones, da Oracle, me pediu que colocasse a descrição em inglês das palestras que apresentei no PHP Conference Brasil 2008. Veja o post no Blog do Chris aqui.
Abaixo, segue o resumo de ambas apresentações.
Short Descriptions of Presentations – PHP Conference Brazil 2008
Christopher Jones, from Oracle, asked me to put a brief description of lectures in English on the blog. Below follows a summary of both presentations. See the original post here.
Presentation 1 – Coding Standards and Refactoring with PHP
In this presentation held in PHP Conference Brazil 2008, I showed it is possible to develop PHP code with quality, focusing on best practices standards and refactoring techniques of code. For this, equivalent tools which have existed for some time in technologies like Java and .NET can be also used for PHP. These tools are:
PHP Tool Java Equivalent
PHPUnit JUnit
PHP Code Sniffer CheckStyle
PHPUnit PMD/CPD PMD/CPD
PHPUnit Code Coverage Cobertura
IDE Eclipse PDT IDE Eclipse
PHPDocumentor JavaDoc
Apache ANT Apache ANT
phpUnderControl CruiseControl
In addition to the techniques demonstrated, I discussed values and practices of Agile Software Methodologies, with a focus on Lean, SCRUM and XP. It’s been very interesting to see the public receptivity for Agile Methodologies and PHP.
Presentation 2 – Applying Patterns of Enterprise Architecture with PHP
PHP is a language known for developing programs more focused on the WEB. People are used to hearing about in PHP for development of WEB sites. Soon development of enterprise applications using PHP comes. In this presentation, I gave concepts of Software Architectures, Design Patterns, SOA, Web Services and Enterprise Applications. In addition to these concepts, I also showed the types of Enterprise Patterns used in most applications (also involving other technologies like Java and .NET). After this introduction, the content was directed to patterns of architecture and enterprise applications addressed by Martin Fowler. In the end, I showed a case study of a corporate application developed in PHP, using a set of patterns of architecture.
Aplicando Padrões de Arquitetura Corporativas com PHP
Dezembro 1, 2008PHP é uma linguagem conhecida de desenvolvimento de programas mais focado na WEB. As pessoas estão acostumadas a ouvir falar em PHP para desenvolvimento de sites. Pouco se fala em desenvolvimento de aplicações corporativas usando PHP. Nesta apresentação, apresento conceitos sobre Arquiteturas de Software, Padrões (Patterns), SOA, Web Services e Aplicações Corporativas. Além destes conceitos, é mostrado também os tipos de Enterprise Patterns mais usados em aplicações (envolvendo também outras tecnologias como Java e .NET). Após estas introduções, o conteúdo é direcionado para padrões de arquitetura de aplicações corporativas abordados pelo Martin Fowler (www.martinfowler.com). No final, mostro um estudo de caso de uma aplicação corporativa desenvolvida em PHP, usando um conjunto de padrões de arquitetura.
Padrões de Codificação e Refactoring com PHP
Dezembro 1, 2008Nesta apresentação realizada no PHP Conference Brasil 2008, mostro que é possível sim desenvolver código com qualidade em PHP, focando em boas práticas de padrões de codificação e técnicas de refactoring de código. Para isso, se pode utilizar ferramentas existentes para PHP e que já existem há um certo tempo para tecnologias como Java e .NET. Estas ferramentas são:
Para PHP Equivalente em Java
PHPUnit JUnit
PHP Code Sniffer CheckStyle
PHPUnit PMD/CPD PMD/CPD
PHPUnit Code Coverage Cobertura
IDE Eclipse PDT IDE Eclipse
PHPDocumentor JavaDoc
Apache ANT Apache ANT
phpUnderControl CruiseControl
Além das técnicas demonstradas, abordo valores e práticas das Metodologias Ágeis de Software, com foco em Lean, SCRUM e XP. Está sendo muito interessante a receptividade do público em relação às Metodologias Ágeis com PHP.
PHP Conference Brasil 2008
Dezembro 1, 2008Neste final de semana, aconteceu em SP o PHP Conference Brasil 2008, principal evento de Tecnologia PHP da América Latina. Neste evento, ministrei duas palestras.
- Padrões de Codificação e Refactoring com PHP
- Aplicando Padrões de Arquitetura Corporativas com PHP
Minha intenção é mostrar que PHP é muitas que linguagem para escrever forms e páginas WEB.
Em breve estarei postando os slides aqui no Blog.
Descobrindo as Metodologias Ágeis
Agosto 12, 2008Para iniciar os artigos no meu Blog, eu gostaria de relatar um pouco da minha experiência com desenvolvimento de software e sua relação com as Metodologias Ágeis. Descobri o desenvolvimento de software por acaso, através de um curso profissionalizante Técnico em Processamento de Dados (TPD) que iniciei em 1993, seguindo alguns amigos. No início, eu não estava muito interessado, até conhecer o universo da Programação. Descobri que aquilo me fascinava e, de certa forma, me desafiava também. Comecei a fazer fluxogramas, algoritmos até o meu primeiro programa em BASIC. Aquela experiência foi decisiva para a definição da minha carreira profissional.
Dali em diante, depois do uso de quase duas dezenas de linguagens de programação, alguns cursos e muito aprendizado e softwares desenvolvidos, estou aqui para compartilhar com vocês um pouco destas experiências.
A primeira e mais inusitada foi a descoberta das metodologias ágeis. Em 1996, eu era bolsista em uma Universidade, tinha entrado no Curso Superior, cheio de expectativas e anseios. No setor onde trabalhava (Assessoria Especial de Planejamento/Apoio Técnico Pedagógico), basicamente digitava textos. Em horários de folga, estudava novas tecnologias e procurava novos desafios. Em outubro deste mesmo ano, vi que os chefes do setor criaram uma espécie de questionário de avaliação, denominado Avaliação Institucional, que seria aplicado a professores e alunos. Esta era também uma exigência do MEC.
Quando olhei aqueles formulários, pensei diretamente no desenvolvimento do software. Muita empolgação, pouca experiência…
Inicialmente, este projeto seria desenvolvido pelo CPD da Instituição, onde trabalhavam grande parte dos professores. Quando disse que tinha condições de desenvolver o projeto, os chefes ficaram apreensivos, mas compraram a idéia. Para iniciar o projeto, precisei chamar um colega meu de TPD e de faculdade, que poderia trabalhar meio turno comigo. Fizemos uma reunião inicial com o coordenador do projeto (chefe do CPD) e conversas diárias com os chefes do setor de Planejamento.
A minha sala era muito pequena, razão pela qual tinha apenas uma máquina (486 DX2 66 Mhz) e uma impressora matricial IBM 132 colunas. Combinei com este meu colega de trabalharmos juntos pela manhã no projeto e a tarde eu desenvolvia mais algumas funções do software além do trabalho do setor, que não podia parar.
A tecnologia que utilizamos na época era Clipper, versão 5.2.
Pegamos aqueles formulários e após algumas análises preliminares, conseguimos esboçar um modelo conceitual. Como havia apenas um computador, trabalhamos juntos, ora eu pilotando, ora ele. Tivemos que realizar alguns trabalhos de importação, parte da base COBOL da Instituição e outra parte de uma base ZIM, do Recursos Humanos.
Foi muito interessante o nosso aprendizado, pois conseguimos produzir um código muito enxuto, cada vez mais otimizado e sem gerar desperdício, pois o cliente estava ali na sala ao lado para acompanhar e direcionar as funcionalidades do projeto. Cada vez que percebíamos uma oportunidade de melhoria, realizávamos. Procurávamos ter versões diárias, sempre verificando e validando informações com os usuários/clientes. Concluímos esta versão em dois meses. A primeira versão compreendia funcionalidades básicas de operação e módulo de digitação para professores e alunos. Ficou para depois o desenvolvimento de relatórios gerenciais, até porque o pessoal do setor não os tinha definido. Este software funcionou em 8 Campi Universitários, fazendo o registro de questionários de mais de 9 mil alunos. Nos anos seguintes, exigiu pouquíssima manutenção.
Até onde sei, este sistema funcionou até 2002, pois saí da Instituição em 2000.
Algumas práticas importantes:
· Padrões nas práticas de trabalho e de codificação
· Inspeções/Revisões de Código
· Projeto simplificado ao extremo
Em 1997, comecei a trabalhar com OO e Smalltalk. Programei por dois anos nesta linguagem, onde tomei conhecimento de alguns trabalhos e pessoas envolvidas com a tecnologia, entre eles o de Kent Beck.
Passaram-se alguns anos e, em 2001, através de conversas com o Klaus Wuestefeld, fiquei sabendo um pouco mais sobre eXtreme Programming. Quando vi o nome de Kent Beck e qual era o objetivo deste processo, tive certeza que funcionava. Foi paixão a primeira leitura. Quanto mais eu estudava, mais eu lembrava do projeto de Avaliação Institucional que, através do sucesso obtido e da satisfação do cliente, foi um degrau muito importante na minha vida. Embora já tivesse estas convicções, decidi que iria desenvolver software focado na comunicação efetiva, simplicidade, feedback e respeito do cliente, tendo como base os princípios ágeis.
Escrito por Guilherme Lacerda
Escrito por Guilherme Lacerda
Escrito por Guilherme Lacerda