Upload
anderson-casimiro
View
1.041
Download
2
Embed Size (px)
DESCRIPTION
Princípios, técnicas e ferramentas para o desenvolvimento web eficaz. Tópicos estes que levam o aprendiz à maestria
Citation preview
duodraco - 2009duodraco - 2009
Mastering Web DevelopmentMastering Web DevelopmentPHP Conference '09PHP Conference '09
duodraco - 2009duodraco - 2009
Anderson “Duodraco” CasimiroAnderson “Duodraco” Casimiro
● Zend Certified EngineerZend Certified Engineer● Coordenador do PHPSPCoordenador do PHPSP● Desenvolvedor Web desde 2002Desenvolvedor Web desde 2002
● Atuando em diversas áreasAtuando em diversas áreas
● Team Leader na IntelectasTeam Leader na Intelectas
duodraco - 2009duodraco - 2009
Objetivos
duodraco - 2009duodraco - 2009
PrincípiosPrincípios
duodraco - 2009duodraco - 2009
PrincípiosPrincípios
● DisciplinaDisciplina● Conhecer seu progressoConhecer seu progresso● Usar as armas certasUsar as armas certas● Conhecer seus errosConhecer seus erros● MelhorarMelhorar● Aplicar todos os conceitosAplicar todos os conceitos
duodraco - 2009duodraco - 2009
DisciplinaDisciplina
duodraco - 2009duodraco - 2009
DisciplinaDisciplina
● Configuração de ambienteConfiguração de ambiente● Design PatternsDesign Patterns● FrameworksFrameworks● Padrão de codificaçãoPadrão de codificação● DocumentaçãoDocumentação●
duodraco - 2009duodraco - 2009
Configuração de AmbienteConfiguração de Ambiente
● PHPPHP● ExtensõesExtensões● PEAR / PECLPEAR / PECL● php.iniphp.ini
● ApacheApache● VhostsVhosts
● Banco de DadosBanco de Dados● Criação de usuáriosCriação de usuários
duodraco - 2009duodraco - 2009
Design PatternsDesign Patterns
● Ou Padrões de ProjetoOu Padrões de Projeto● PadronizaçãoPadronização● DesenvolvimentoDesenvolvimento● ComunicaçãoComunicação
duodraco - 2009duodraco - 2009
FrameworksFrameworks
● Zend FrameworkZend Framework● SymfonySymfony● CakePHPCakePHP● KohanaKohana
● CodeIgniterCodeIgniter
● ORMORM● DoctrineDoctrine● PropelPropel
duodraco - 2009duodraco - 2009
Padrão de codificaçãoPadrão de codificação
● classclass Xpto{ Xpto{functionfunction dividir( dividir($v1$v1,,$v2$v2){){ifif(($v2$v2 == 0) == 0)returnreturn null; null;elseelsereturnreturn $v1$v1//$v2$v2;;}}}}
duodraco - 2009duodraco - 2009
Padrão de codificaçãoPadrão de codificação
● /**/** * Utilities for system * Utilities for system * @package util * @package util * *//classclass Util{ Util{ / /**** * Divide $val by $by * Divide $val by $by * @param int $val * @param int $val * @param int $by * @param int $by * @return int * @return int */ */ functionfunction divide( divide($val$val,,$by$by)) { { ifif(($by$by == 0){ == 0){ returnreturn null; null;
} } elseelse { { returnreturn $val$val / / $by$by;; } } } }}}
duodraco - 2009duodraco - 2009
Padrões de codificaçãoPadrões de codificação
● PEARPEAR● ZendFrameworkZendFramework● PHPCSPHPCS● ......
duodraco - 2009duodraco - 2009
DocumentaçãoDocumentação
● In codeIn code● PHPDOC, DoxygenPHPDOC, Doxygen
● DocumentosDocumentos● PHPDocumentorPHPDocumentor● Documentos de TextoDocumentos de Texto
– Descrição de casos de uso, Tickets, etc …Descrição de casos de uso, Tickets, etc …● Mapas MentaisMapas Mentais● MER, UMLMER, UML
duodraco - 2009duodraco - 2009
Conhecer seu progressoConhecer seu progresso
duodraco - 2009duodraco - 2009
Conhecer seu progressoConhecer seu progresso
● VersionamentoVersionamento● CentralizadoCentralizado
– CVS (NÃO), SubversionCVS (NÃO), Subversion● DistribuídoDistribuído
– Git, Mercurial, Bazaar, ...Git, Mercurial, Bazaar, ...
● Task ManagerTask Manager
duodraco - 2009duodraco - 2009
Usar as armas certasUsar as armas certas
duodraco - 2009duodraco - 2009
Usar as armas certasUsar as armas certas
● IDEIDE● Zend Studio, PDT, AptanaZend Studio, PDT, Aptana● NetbeansNetbeans● KomodoKomodo● Visual Studio PHPVisual Studio PHP● KdevelopKdevelop
● EditoresEditores● Vim, notepad++, textmate, kate, geditVim, notepad++, textmate, kate, gedit
duodraco - 2009duodraco - 2009
Conhecer seus errosConhecer seus erros
duodraco - 2009duodraco - 2009
Conhecer seus errosConhecer seus erros
● DebuggingDebugging● Xdebug, PHP_DebugXdebug, PHP_Debug
● Unit Testing / TDDUnit Testing / TDD● PHPUnit, Lime, SimpleTest, PHPSpecPHPUnit, Lime, SimpleTest, PHPSpec
● Más PráticasMás Práticas● PHPCPD, Code Sniffer, PHPMD, PdependPHPCPD, Code Sniffer, PHPMD, Pdepend
● BugtrackingBugtracking
duodraco - 2009duodraco - 2009
MelhorarMelhorar
duodraco - 2009duodraco - 2009
MelhorarMelhorar
● PesquisarPesquisar● SitesSites● RSSRSS● LivrosLivros
● RefatorarRefatorar● Buscar gargalosBuscar gargalos
duodraco - 2009duodraco - 2009
Aplicar todos os conceitosAplicar todos os conceitos
duodraco - 2009duodraco - 2009
Aplicar todos os conceitosAplicar todos os conceitos
● Integração ContínuaIntegração Contínua● Hudson + PhingHudson + Phing● PHPUnderControlPHPUnderControl● XincXinc
● Project ManagerProject Manager● Task Manager e BugtrackerTask Manager e Bugtracker
duodraco - 2009duodraco - 2009
MantrasMantras
duodraco - 2009duodraco - 2009
DRYDRYDon't Repeat YourselfDon't Repeat Yourself
duodraco - 2009duodraco - 2009
KISSKISSKeep It Simple StupidKeep It Simple Stupid
duodraco - 2009duodraco - 2009
RTFMRTFMRead The FUCKING ManualRead The FUCKING Manual
duodraco - 2009duodraco - 2009
Conclusão
duodraco - 2009duodraco - 2009
Perguntas???
duodraco - 2009duodraco - 2009
Obrigado!!!
duodraco - 2009duodraco - 2009
http://joind.in/1196http://joind.in/1196
● [email protected]@phpsp.org.br● [email protected]@duodraco.com● @duodraco@duodraco● facebook.com/duodracofacebook.com/duodraco● duodraco.comduodraco.com● phpsp.org.brphpsp.org.br