Successfully reported this slideshow.
Your SlideShare is downloading. ×

Rumo à Certificação PHP

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Doctrine for Dummies
Doctrine for Dummies
Loading in …3
×

Check these out next

1 of 59 Ad

Rumo à Certificação PHP

Download to read offline

Apresentação realizada no dia 22/03/2016 na PHP Experience 2016 promovido pelo iMasters (no Hotel Tivoli Mofarrej).
Versão compactada, em decorrência dos 30 minutos disponíveis.
http://phpexperience2016.imasters.com.br

Apresentação realizada no dia 22/03/2016 na PHP Experience 2016 promovido pelo iMasters (no Hotel Tivoli Mofarrej).
Versão compactada, em decorrência dos 30 minutos disponíveis.
http://phpexperience2016.imasters.com.br

Advertisement
Advertisement

More Related Content

Recently uploaded (20)

Advertisement

Rumo à Certificação PHP

  1. 1. Rumo à certificação PHP Ari Stopassola Junior
  2. 2. Vantagens • Prestígio e reconhecimento junto a comunidade • Processo rigoroso de aprovação • Demonstra maturidade e proficiência na linguagem • Permissão para uso dos logotipos oficiais nos cartões de visita • Ganha uma licença perpétua do editor Zend Studio (versão vigente) • Visibilidade internacional através da “Zend Certified Engineer Directory”, antigamente conhecida como “Yellow Pages” • Diferencial e bonificações salariais • Descontos em conferências Zend • O título ZCE/ZCPE não expira! • Acesso a grupos exclusivos • Oportunidades de outsourcing
  3. 3. Histórico
  4. 4. Estatísticas: Yellow Pages Até o momento (março/2016) há somente 450 profissionais certificados ZCE/ZCPE no Brasil: http://www.zend.com/en/services/certification/zend-certified-engineer-directory http://www.zend.com/en/yellow-pages/ZEND004019
  5. 5. Logotipo para empresas que desejam contratar profissionais ZCPE Desconto na compra de vouchers acima de 10 unidades: sales@zend.com
  6. 6. Preço e cupons de desconto http://www.softwarediscountcodes.com/zend- phpcertification.html http://www.softwarevouchers.com/zend-phpcertifications.html http://www.retailmenot.com/view/zend.com • Havia um bug no site onde o preço nos EUA (atribuído em dólar) era o mesmo valor da Europa (porém em euros, mais oneroso) http://shop.zend.com/eu/php-certification.html €170.00 http://shop.zend.com/en/php-certification.html $195.00 7 a 10%
  7. 7. Zend Education Advisory Board Fonte: http://www.zend.com/services/certification/php-5-certification/education-advisory-board
  8. 8. Itens permitidos • Eraseable board (quadro apagável) • Protetor auricular • Sua conduta é monitorada o tempo todo • Qualquer suspeita de irregularidade, sua prova é invalidada Fonte: http://www.gedtestingservice.com/testers/noteboards
  9. 9. Eraseable board <?php interface i1 {} interface i2 extends i1 {} interface i3 {} class c1 {} class c2 extends c1 {} class c3 extends c2 implements i2, i3 {} $c3 = new C3(); echo $c3 instanceof c1; echo $c3 instanceof c2; echo $c3 instanceof c3; echo $c3 instanceof i1; echo $c3 instanceof i2; echo $c3 instanceof i3; ?> |
  10. 10. Reagendamento • Pode-se reagendar quantas vezes quiser durante UM ano, através do site http://www.pearsonvue.com • No mínimo 48 horas de antecedência • Sem custo adicional • Porém, há um efeito colateral…
  11. 11. Ansiedade
  12. 12. Estrutura do exame • 70 perguntas randômicas • Limite de 90 minutos para respondê-las • ≅1 minuto e 17 segundos por questão! • Caráter neutro • Jamais se repetem • Distribuídas entre os dez tópicos • Tem mesmo peso • Respostas incorretas não geram penalidades
  13. 13. O que NÃO cai Classes ou extensões externas provenientes da PEAR/Pyrus ou PECL (CodeSniffer, PhpDocumentor, xDebug, profiler, GD, Phing, fPDF), ou vindo de outros repositórios como a PHPUnit, Composer (gerenciador de dependências), Suhosin (sistema de segurança em PHP), sistemas para controle de versão (CVS, Subversion, Git, Mercurial), empacotamento PHAR, procedimentos para Integração Contínua com Jenkins (e seus módulos como PHPMD-MessDetector, DRY-Copy&Paste Detector, PHP_Depend), sistema de templates (Smarty e Twig), PHP-GTK, Frameworks (CakePHP, CodeIgniter, Symfony, ZendFramework, YII, Prado), CMS (Typo3, Wordpress, Joomla!, Drupal), sistemas especializados (Magento, SugarCRM ou phpMyAdmin), editores (ZendStudio, NetBeans, PDT, Aptana, PhpED), mecanismos de cache (APC, Memcache e Gearman), ORM (Propel ou Doctrine), funções SQL específicas de algum banco de dados (que não sejam ANSI SQL), bases NoSQL e ferramentas Zend como Zend Optimizer+, Zend Java Bridge, Zend Guard Loader e outros.
  14. 14. FAIL “Certification Exam Retakes”. Para mais informações escreva: certification@zend.com
  15. 15. CONGRATULATIONS
  16. 16. Relatório emitido no ato
  17. 17. Diploma físico
  18. 18. Dez tópicos • Fundamentos do PHP • Funções • Formato de dados e tipos • Recursos Web • Programação Orientada à Objetos • Segurança • I/O (Entrada e Saída) • Strings e Padrões • Banco de Dados • Arrays
  19. 19. Alguns assuntos tem mais peso que outros Ênfase maior Fundamentos do PHP, Programação Orientada à Objetos e Segurança Ênfase média Funções, Recursos Web, Arrays e Strings e Padrões Ênfase menor Banco de Dados, Formato de dados e tipos e I/O (Entrada e Saída)
  20. 20. Enunciados • Não há syntax highlight • O algoritmo é sempre na linguagem PHP – não exibem pseudocódigos • Podem conter imagens para ilustrar (geralmente alguma tabela de BD, diagrama UML etc) • Independem de Sistema Operacional e Sistema Gerenciador de Banco de Dados (SGBD) • O teste também aborda, indiretamente, HTTP e SQL (Structured Query Language), XML (XPath) e JSON • Nem sempre eles estarão em blocos terminados em ?>, a menos que haja HTML (ou JavaScript) embedded • Pode fazer referência ao Apache (servidor de aplicação)
  21. 21. Resposta: escolha única ✓
  22. 22. LEFT JOIN SELECT names.name,emails.email FROM names LEFT JOIN emails ON emails.id=names.id; names emails Prioriza a tabela da “esquerda”, que foi referenciada primeiro. Ou seja: permite que uma das tabelas (names) retorne linhas mesmo que não haja equivalência na outra tabela (emails).
  23. 23. Resposta: escolha múltipla ✓ ✓
  24. 24. Quiz Preencha o espaço em branco com o nome adequado. A função _____________ chama automaticamente os recursos necessários sempre que um usuário tenta instanciar uma classe inexistente. __autoload() Nomes de funções devem ser escritas em caixa baixa (lowercase), sem espaços em branco, nem explicações ou comentários. Com ou sem parênteses.
  25. 25. Resposta: campo aberto • É um tipo de pergunta menos frequente • Recebe: – Nomes de funções/métodos/classes – Conteúdo de variáveis – Saída de código – Pequenos trechos (snippets) – Tipos de erro: Notice, Warning ou Fatal error – Nome de constantes – Cláusula do php.ini
  26. 26. Freetext abstract
  27. 27. Comentar questão • Se você detectar algo estranho na questão, é possível fazer um comentário • Dificilmente vai ocorrer alguma resposta dúbia, enunciado mal construído, falta de dados… • O cronômetro continua correndo, portanto use com moderação • Seus comentário serão enviados diretamente para a Zend
  28. 28. Cláusulas padrão do php.ini • register_globals = Off • magic_quotes_gpc = Off • error_reporting = E_ALL • display_errors = On Lembrando que as diretivas podem ser indicadas por 1 e 0, respectivamente On e Off. Ex.: asp_tags = 0 (representa “Off”, desligado). Removidas na versão 5.4
  29. 29. 5 MIL funções Devo memorizar todas elas? E a ordem dos respectivos parâmetros? O foco do teste é em análise de algoritmos ou invés de memorização
  30. 30. Quiz ✓
  31. 31. Armadilhas: "to" versus "2" • cal_to_jd • ftok • idn_to_ascii • idn_to_unicode • idn_to_utf8 • strtok • strtolower • strtotime • strtoupper • bin2hex • deg2rad • hex2bin • image2wbmp • ip2long • jpeg2wbmp • ldap_dn2ufn • ldap_err2str • long2ip • nl2br • png2wbmp • px_date2string • px_timestamp2string • rad2deg
  32. 32. Inconsistências: underscore Com underscore Sem underscore json_decode base64_decode urldecode gzdecode error_get_last func_get_arg fgetcsv gethostname str_pad str_split str_replace str_getcsv strlen strptime strrev stristr
  33. 33. Inconsistências: case insensitive – i versus case Case sensitive Case insensitive strpos stripos str_replace str_ireplace strcmp strcasecmp
  34. 34. Inconsistências: verbo versus objeto Objeto/verbo Verbo/objeto socket_read ldap_read readdir readfile date_parse xml_parse parse_str parse_url imap_check pspell_check checkdnsrr checkdate timezone_version_get realpath_cache_get ini_get getheaders getcwd getenv
  35. 35. Ordem de parâmetros • Ordem dos argumentos discrepante: array_map(callback, array) enquanto que array_filter(array, callback) • Anomalias na nomenclatura: bindtextdomain(domínio, diretório) bind_textdomain_codeset(domínio, codeset)
  36. 36. Quiz <?php if("um"==0){ echo "Verdadeiro"; } else { echo "Falso"; } ?>
  37. 37. Type Juggling • PHP é uma linguagem fracamente tipada • Teste com == não compara os tipos de dados, diferentemente do === (idêntico) • Implicitamente o PHP realiza casting automático • converte a string “um” em integer, resultando em inteiro 0 • Consequentemente o teste 0==0 é verdadeiro. Ex.: var_dump(intval("um")); //int(0) var_dump(intval(0)); //int(0)
  38. 38. Marcar para revisão • Priorize as questões mais curtas • Antes de realizar o teste de mesa, verifique se as chamadas de função estão com a sintaxe correta • Marque para revisão
  39. 39. Tela de revisão
  40. 40. ZCE (PHP 5.3)  ZCPE (PHP 5.5) • Built-in web server: php -S localhost:8080 • Cronômetro de alta precisão: $_SERVER['REQUEST_TIME_FLOAT'] • Novas formas de manipulação de arrays $array2 = [1,2,3,4]; echo ObtemArray()[1]; • Class member access on instantiation: echo (new DateTime)->getTimestamp(); • http_response_code(404); • Traits • Formato binário: $bin = 0b11001; • Status de sessão: session_status(); • $this e use em Closures • Progresso de upload: session.upload_progress.enabled = On PHP 5.4
  41. 41. ZCE (PHP 5.3)  ZCPE (PHP 5.5) • Opcode Cache zend_extension=opcache.so opcache.enable=1 • Iteração com generators (yield ) • API para hashing de senha: password_hash("senha", PASSWORD_BCRYPT); • try, catch e finally: PHP 5.5 bloqueia tabela try { escreve no banco de dados desbloqueia tabela } catch exceção { reporta problemas desbloqueia tabela } Código redundante bloqueia tabela try { escreve no banco de dados } catch exceção { reporta problemas } finally { desbloqueia tabela }
  42. 42. Preparatório oficial da Zend • Zend PHP 5.3 Certification Training ministrado pelo instrutor Doug Bierer: http://static.zend.com/topics/videos/training/php-5-3-cert- introduction/ • Test Prep: PHP Certification - online (9 encontros de 2 horas cada) http://www.zend.com/en/services/training/php-5-cert US$ 1.000 • Test Prep: PHP Certification - recorded Sessions (7 horas no total) http://www.zend.com/en/services/training/php-certification-course US$ 499 DougBierer
  43. 43. Disciplina
  44. 44. Lista de discussão: Rumo à certificação PHP www.rumoacertificacaophp.com • Criada em 31/07/2010 • Atualmente com 1.600 membros • Ficou conhecida pela “Pergunta do dia” • Hoje, dia 22/março, foi publicada a pergunta de nº 2.045 • Grupo no Facebook: http://www.facebook.com/groups/434330716587436/ Primeiro logo, criado por Gustavo Pereira ArieGustavo–nov/2013emOsasco(SP)
  45. 45. Recomendada pela própria Zend!
  46. 46. Livros • Rumo à Certificação PHP por Kinn Coelho Julião <kinncj@php.net> https://leanpub.com/rumoacertificaophp • Certification PHP 5.5: Zend Certified PHP Engineer por Cyrille Grandval e Julien Charpentier • Em breve, pela editora Novatec coming soon… Ari e Cyrille – jul/2014 em Gramado (RS)
  47. 47. App para Android - autoria de Fabricio Bedeschi: fabricio.bedeschi@gmail.com https://play.google.com/store/apps/details?id=com.quiz.php https://github.com/fabriciobrag/android-quiz-php
  48. 48. TCC de graduação em Informática por João Paulo Cercal jpcercal@gmail.com http://zcpe.cekurte.com
  49. 49. Logotipo feito cordialmente pelo francês Vincent Pontier – criador do elePHPant (mascote oficial do PHP) @Elroubio
  50. 50. Pasta compartilhada no DropBox e GoogleDrive Pedidos diretamente ao nosso "guardião" das pastas compartilhadas: Gustavo Pereira <gustavoper@gmail.com>
  51. 51. Dicas de quem já é certificado https://www.youtube.com/watch?v=GE0d3rkkLmY https://www.youtube.com/watch?v=LOupOxdSWto https://www.youtube.com/watch?v=RuSZfeLpiv8
  52. 52. Roteiro • Livro “PHP Programando com Orientação a Objetos” do autor Pablo Dall'Oglio:http://www.novatec.com.br/livros/phpobjetos2/ • Vídeo-aulas da Lynda, Udemy e iMasters • Analisar todas as "Perguntas do dia" da lista "Rumo à Certificação PHP" http://rumoacertificacaophp.com/ Tempo US$ 19,95
  53. 53. Simulados e Apps
  54. 54. Saindo do forno… Livro inédito sobre o assunto (principalmente em português) com a autoria de Matheus Marabesi e Michael Douglas Barbosa Araujo
  55. 55. Certificamp • Inspirado no http://www.bignerdranch.com • "Acampamento" de estudos para a certificação PHP • Curso itinerante, presencial e de imersão • Preparatório para o exame "Zend Certified PHP Engineer" https://www.facebook.com/certificamp https://www.twitter.com/certificamp
  56. 56. E-mail: arijunior@gmail.com Twitter: @stopassola Skype: stopassola LinkedIn: http://pt.linkedin.com/in/stopassola Facebook: http://www.facebook.com/arijunior Sites: http://www.perito.inf.br http://www.certificamp.com http://www.rumoacertificacaophp.com Contatos

Editor's Notes

  • Estratégias
  • Pertencer a grupos de elite restritos a ZCEs.
    Certifica competência técnica e não comportamental. Requer maturidade na linguagem.
  • Em média, a cada 3 anos.
  • Auxilia os empregadores a predizer se o profissional conseguirá aplicar a tecnologia PHP 5.5 em problemas reais no desenvolvimento de software e de negócio. É uma garantia de que o desenvolvedor possui padrões mínimos de experiência e conhecimento
  • Variam de 7% a 10% de desconto e uso ilimitado. Experimentem acessar o site da Zend, simule uma compra qualquer (no link "Store"), digite (e aplique) o ID do cupom onde diz "Discount Codes" e observem.
    Certifique-se da data limite do cupom. Dica marota
  • Para os testes de mesa
  • Resposta: 111111
  • Imagem extraída de: http://blog.placeboeffect.com/natural-anxiety-relief/
  • No caso de “Fail”, o sistema gera um relatório do nível de conhecimento apresentado nas diferentes áreas de estudo. É um tanto vago, pois mostra apenas uma barra de progressão e não informa exatamente os erros e acertos.
  • http://www.pearsonvue.com/athena/static/finish/index.asp
  • A partir desse momento você já começa a desfrutar das vantagens de ser um profissional certificado.
    Recomendo atualizar seus dados no site da Zend (principalmente o endereço de correspondência) e aguardar a chegada do certificado “físico”, uma carta de boas-vindas com a assinatura em punho do Training Program Manager da Zend e um adesivo exclusivo.
  • Atualize seus dados no site da Zend para que chegue corretamente
  • Abrangência
  • Inclusive o ZF estimula que a tag PHP de fechamento seja omitida. Alternativas iguais, mas perguntas diferentes.
  • Resposta: B (5)
  • Teoria dos conjuntos – oitava série do ensino médio
  • A: OK, B: REST suporta JSON, mas também XML e HTML (portanto não), C: SOAP só usa POST (e não GET), portanto também não. http://www.soapui.org/Best-Practices/testing-the-other-verbs.html D: faz sentido
  • Classes abstratas e interfaces são as assinaturas das classes, o esqueleto de como elas devem ser implementadas. As abstratas suportam implementação, enquanto que as interfaces não.
  • Fracamente tipada
  • Fonte: http://www.pearsonvue.com/athena/static/review/flag_for_review.asp
  • $_SERVER['REQUEST_TIME_FLOAT']
  • Pseudo-código
  • Cronograma
  • Área administrativa: http://192.241.145.236:9000/ 
  • Existia a Vulcan

×