mastering web development

Post on 18-May-2015

1.041 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Princípios, técnicas e ferramentas para o desenvolvimento web eficaz. Tópicos estes que levam o aprendiz à maestria

TRANSCRIPT

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

● duodraco@phpsp.org.brduodraco@phpsp.org.br● anderson@duodraco.comanderson@duodraco.com● @duodraco@duodraco● facebook.com/duodracofacebook.com/duodraco● duodraco.comduodraco.com● phpsp.org.brphpsp.org.br

top related