rumo à certificação php

Post on 16-Apr-2017

561 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Rumo à certificação PHPAri Stopassola Junior

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

Histórico

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

Logotipo para empresas que desejam contratar profissionais ZCPE

Desconto na compra de vouchers acima de 10 unidades: sales@zend.com

Preço e cupons de desconto

http://www.softwarediscountcodes.com/zend-phpcertification.htmlhttp://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.00http://shop.zend.com/en/php-certification.html$195.00

7 a 10%

Zend Education Advisory Board

Fonte: http://www.zend.com/services/certification/php-5-certification/education-advisory-board

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

Eraseable board<?phpinterface 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;?>

|

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…

Ansiedade

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

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.

FAIL

“Certification Exam Retakes”. Para mais informações escreva:

certification@zend.com

CONGRATULATIONS

Relatório emitido no ato

Diploma físico

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

Alguns assuntos tem mais peso que outros

Ênfase maiorFundamentos do PHP, Programação Orientada à Objetos e Segurança

Ênfase médiaFunções, Recursos Web, Arrays e Strings e Padrões

Ênfase menorBanco de Dados, Formato de dados e tipos e I/O (Entrada e Saída)

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)

Resposta: escolha única

LEFT JOIN

SELECT names.name,emails.emailFROM namesLEFT 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).

Resposta: escolha múltipla

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.

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

Freetext

abstract

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

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

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

Quiz

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

Inconsistências: underscore

Com underscore Sem underscorejson_decodebase64_decode

urldecodegzdecode

error_get_lastfunc_get_arg

fgetcsvgethostname

str_padstr_splitstr_replacestr_getcsv

strlenstrptimestrrevstristr

Inconsistências: case insensitive – i versus case

Case sensitive Case insensitive strpos striposstr_replace str_ireplacestrcmp strcasecmp

Inconsistências: verbo versus objeto

Objeto/verbo Verbo/objetosocket_readldap_read

readdirreadfile

date_parsexml_parse

parse_strparse_url

imap_checkpspell_check

checkdnsrrcheckdate

timezone_version_getrealpath_cache_getini_get

getheadersgetcwdgetenv

Ordem de parâmetros

• Ordem dos argumentos discrepante:array_map(callback, array)enquanto quearray_filter(array, callback)

• Anomalias na nomenclatura:bindtextdomain(domínio, diretório)bind_textdomain_codeset(domínio, codeset)

Quiz<?phpif("um"==0){

echo "Verdadeiro";}else {

echo "Falso";}?>

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)

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

Tela de revisão

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

ZCE (PHP 5.3) ZCPE (PHP 5.5)

• Opcode Cachezend_extension=opcache.soopcache.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 tabelatry {

escreve no banco de dados

desbloqueia tabela}catch exceção {

reporta problemasdesbloqueia tabela

}

Códi

go re

dund

ante

bloqueia tabelatry {

escreve no banco de dados}catch exceção {

reporta problemas}finally {

desbloqueia tabela}

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 Do

ug B

iere

r

Disciplina

Lista de discussão:Rumo à certificação PHPwww.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

Ari e

Gus

tavo

– no

v/20

13 e

m O

sasc

o (S

P)

Recomendada pela própria Zend!

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 Novateccoming soon…

Ari e Cyrille – jul/2014 em Gramado (RS)

App para Android - autoria de Fabricio Bedeschi: fabricio.bedeschi@gmail.com

https://play.google.com/store/apps/details?id=com.quiz.phphttps://github.com/fabriciobrag/android-quiz-php

TCC de graduação em Informática

por João Paulo Cercal jpcercal@gmail.com

http://zcpe.cekurte.com

Logotipo feito cordialmente pelo francês Vincent Pontier –

criador do elePHPant (mascote oficial do PHP)

@Elroubio

Pasta compartilhada no DropBox e GoogleDrive

Pedidos diretamente ao nosso "guardião" das pastas compartilhadas:

Gustavo Pereira <gustavoper@gmail.com>

Dicas de quem já é certificado

https://www.youtube.com/watch?v=GE0d3rkkLmYhttps://www.youtube.com/watch?v=LOupOxdSWtohttps://www.youtube.com/watch?v=RuSZfeLpiv8

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

Simulados e Apps

Saindo do forno…Livro inédito sobre o assunto (principalmente em português) com a autoria de Matheus Marabesi e Michael Douglas Barbosa Araujo

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

E-mail: arijunior@gmail.comTwitter: @stopassolaSkype: stopassolaLinkedIn: http://pt.linkedin.com/in/stopassolaFacebook: http://www.facebook.com/arijuniorSites:

http://www.perito.inf.brhttp://www.certificamp.com http://www.rumoacertificacaophp.com

Contatos

top related