32
duodraco - 2009 duodraco - 2009 Mastering Web Development Mastering Web Development PHP Conference '09 PHP Conference '09

Mastering Web Development

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

Page 1: Mastering Web Development

duodraco - 2009duodraco - 2009

Mastering Web DevelopmentMastering Web DevelopmentPHP Conference '09PHP Conference '09

Page 2: Mastering Web Development

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

Page 3: Mastering Web Development

duodraco - 2009duodraco - 2009

Objetivos

Page 4: Mastering Web Development

duodraco - 2009duodraco - 2009

PrincípiosPrincípios

Page 5: Mastering Web Development

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

Page 6: Mastering Web Development

duodraco - 2009duodraco - 2009

DisciplinaDisciplina

Page 7: Mastering Web Development

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●

Page 8: Mastering Web Development

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

Page 9: Mastering Web Development

duodraco - 2009duodraco - 2009

Design PatternsDesign Patterns

● Ou Padrões de ProjetoOu Padrões de Projeto● PadronizaçãoPadronização● DesenvolvimentoDesenvolvimento● ComunicaçãoComunicação

Page 10: Mastering Web Development

duodraco - 2009duodraco - 2009

FrameworksFrameworks

● Zend FrameworkZend Framework● SymfonySymfony● CakePHPCakePHP● KohanaKohana

● CodeIgniterCodeIgniter

● ORMORM● DoctrineDoctrine● PropelPropel

Page 11: Mastering Web Development

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;;}}}}

Page 12: Mastering Web Development

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;; } } } }}}

Page 13: Mastering Web Development

duodraco - 2009duodraco - 2009

Padrões de codificaçãoPadrões de codificação

● PEARPEAR● ZendFrameworkZendFramework● PHPCSPHPCS● ......

Page 14: Mastering Web Development

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

Page 15: Mastering Web Development

duodraco - 2009duodraco - 2009

Conhecer seu progressoConhecer seu progresso

Page 16: Mastering Web Development

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

Page 17: Mastering Web Development

duodraco - 2009duodraco - 2009

Usar as armas certasUsar as armas certas

Page 18: Mastering Web Development

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

Page 19: Mastering Web Development

duodraco - 2009duodraco - 2009

Conhecer seus errosConhecer seus erros

Page 20: Mastering Web Development

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

Page 21: Mastering Web Development

duodraco - 2009duodraco - 2009

MelhorarMelhorar

Page 22: Mastering Web Development

duodraco - 2009duodraco - 2009

MelhorarMelhorar

● PesquisarPesquisar● SitesSites● RSSRSS● LivrosLivros

● RefatorarRefatorar● Buscar gargalosBuscar gargalos

Page 23: Mastering Web Development

duodraco - 2009duodraco - 2009

Aplicar todos os conceitosAplicar todos os conceitos

Page 24: Mastering Web Development

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

Page 25: Mastering Web Development

duodraco - 2009duodraco - 2009

MantrasMantras

Page 26: Mastering Web Development

duodraco - 2009duodraco - 2009

DRYDRYDon't Repeat YourselfDon't Repeat Yourself

Page 27: Mastering Web Development

duodraco - 2009duodraco - 2009

KISSKISSKeep It Simple StupidKeep It Simple Stupid

Page 28: Mastering Web Development

duodraco - 2009duodraco - 2009

RTFMRTFMRead The FUCKING ManualRead The FUCKING Manual

Page 29: Mastering Web Development

duodraco - 2009duodraco - 2009

Conclusão

Page 30: Mastering Web Development

duodraco - 2009duodraco - 2009

Perguntas???

Page 31: Mastering Web Development

duodraco - 2009duodraco - 2009

Obrigado!!!

Page 32: Mastering Web Development

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