Tag Archives: PHPSPCast

Resultado “O PHPSPCast quer que você se certifique !”

Há algumas semanas iniciamos uma promoção e chegou o momento, grande para alguns e nem tanto para outros, do resultado. Antes de mais nada, gostaríamos de salientar duas coisas:

  • O objetivo da promoção e das perguntas não era desmotivar ninguém a nada, nem provar nada a ninguém. Nossa primeira intenção é – e sempre foi – sermos os mais fiéis ao teste de certificação quanto possível. Nossa segunda intenção (que acredite, não era consciente até alguns dias depois da promoção ter início) era mostrar que, às vezes, você pode conhecer muito uma determinada parte do PHP, mas pode ignorar a existência de muitas outras;
  • Procuramos ser os mais justos quanto possível na correção, justos e imparciais. Corrigimos cada submissão, prestando atenção às respostas e sendo flexíveis em relação a elas, sendo imparciais quanto às regras, somente;

Dito isso, e depois de uma odisséia de correções, temos os resultados. Mas por que não discutir as perguntas e as respectivas respostas antes?

Correção e Comentário do Questionário

Usando Streams, que função usaria para que seu script continue rodando sem parar e esperar uma resposta do stream?

Bom, Streams – como cita o manual – é um grupo de coisas que se enquadra num comportamento que permita escrita e leitura de maneira linear. Exemplos disso são basicamente as coisas que você pode fazer com o conjunto de funções fopen(). Escrever, ler arquivos; buscar informações de URLs, escrever diretamente em FTPs, etc. Com elas, por exemplo, você pode criar um novo tipo de Stream para escrever de forma nativa arquivos de Excel passando somente Arrays para a fwrite().

Agora, o que significa o “esperar uma resposta do stream”? Exatamente isso. Suponhamos o uso das funções fgets() ou fread(), é natural que, se usamos algumas delas, queremos que algum dado seja retornado, certo? Errado. Isso é o que geralmente ocorre, mas, em algumas ocasiões – principalmente quando os dados não existem ainda na fonte e são gerados de forma ocasional -, você não pode esperar isso. Se não houver nada, simplesmente não me retorne nada e não espere um “EOF” que nunca virá.

Pra explicitarmos esse comportamento, usamos a função stream_set_blocking(). Aceitamos como resposta aqui também, as funções set_socket_blocking() e socket_set_blocking() que foram depreciadas. Uma pena, mas, só com essa pergunta, mais da metade das pessoas que participaram já estavam fora da promoção por terem errado a resposta. E lembrando que não importa como você escreveu a resposta: por termos corrigido manualmente, se você acertou o nome de alguma das funções, sua resposta foi considerada certa.

Resposta: stream_set_blocking().

Qual o resultado do código <? echo (int) 013 +1; ?>?

Ficamos felizes de saber que quase ninguém errou esta questão. No fim, não importa se é porque a pessoa sabia o motivo da resposta ser 12 ou se porque ela executou o código. Importa que agora ela sabe, entendendo o motivo ou não, que coisas estranhas podem acontecer no paraíso.

Coisa estranha? Não. Bug? Não também. Não neste caso. No PHP, os números inteiros (caso acima) podem ser representados em três notações diferentes: decimal (nossa velha conhecida), hexadecimal e octal. Para representar um inteiro usando a notação hexadecimal, o número precisa começar com 0x (zero, xis) e em octal, começar com 0 (zero). Olhemos de novo o código acima então. O inteiro “013” começa com zero, logo ele é um octal que convertido para decimal vira 11. Logo, a resposta é 12 mesmo. =]

Resposta: 12.

Qual dos itens abaixo não é uma funcionalidade adicionada no PHP 5.3?

Trecho do Manual do PHP

Essa não tem muito o que discutir.  A única opção que não foi adicionada na versão 5.3 é a função spl_object_hash(), que foi adicionada na versão 5.2 do PHP e teve contribuição do nosso amigo e colega de comunidade Guilherme Blanco na sua implementação. O Phar se tornou parte integrante do PHP na versão 5.3. Para as anteriores (versão 5.2 ou superior) ela pode ser instalada através da PECL. Portanto, repare que antes da versão 5.3 ela ainda não era uma funcionalidade do próprio PHP. Garbage Collector, Namespaces e o SplFixedArray são todos recursos novos adicionados na versão 5.3 e tidos como grandes novidades. Nós mesmos, aqui do PHPSP, cansamos de mencionar esses três recursos durante meses.

Mas como você pode saber a partir de qual versão determinado recurso existe? Acho que é óbvio que a resposta está no manual, mas como? Toda entrada de função ou método no manual possui, logo abaixo do título, a seguinte informação entre parênteses: (<Major PHP Version> <operator> <Minor PHP Version> ). Dúvidas? Olhe a screenshot ao lado:

Como você pode ver através da screenshot, a função spl_object_hash() está disponível somente para versões do PHP 5 maiores ou iguais que 5.2.0. Logo, ela foi introduzida na versão 5.2. Entre nos links das demais funcionalidades que colocamos nesta explicação e procure essa informação por você mesmo. Saber a partir de qual versão determinado recurso está disponível é essencial no seu dia a dia.

Resposta: spl_objct_hash().

Quais dos itens abaixo possuem implementações para manipulação de XML no PHP?

Essa era chata de acertar. A resposta correta era marcar todas as opções, ou seja: SimpleXML, SaX, DOM e XSL. Chata porque precisava de um pouco mais do que uma olhada superficial pela documentação do PHP, mas nada de outro mundo – não mais do que 30 min navegando pela seção de XML do manual você mataria a resposta correta.

Vamos dar uma passada rápida sobre cada alternativa a resposta:

  • SimpleXML: implementação do PHP que converte um XML em um objeto. Vantagens disso? Ora, um objeto pode ser facilmente manipulado, validado e utilizado por outros objetos. Comparar um objeto com uma string é uma sacanagem que não vou fazer. De todas as implementações existentes, pessoalmente, acho essa a mais simples e direta de se utilizar. Talvez seja mesmo e, quem sabe, não é por isso que ela levou esse nome?!
  • SaX: Essa deve ter sido difícil de achar. Quando XML ainda não era moda e o Java já era velho e cheio de coisa, existia uma implementação para interpretação e manipulação de XML em Java chamada “Simple API for XML“. Ela foi tão largamente utilizada que acabou virando um padrão e recebeu implementações em diversas outras linguagens. No PHP não foi diferente, ele recebeu algumas funções que estão bem escondidas no manual (assim como o Goto). Estão escondidas porque são coisas que precisam ser esquecidas. Existem jeitos muito melhores de se trabalhar com XML, mas se você tiver curiosidade, olhe. Aprender nunca é demais. Diferente do DOM e do XSL, o SaX não é um padrão e não existe nenhum documento ou órgão que regulamente como sua interface deve ser aplicada;
  • DOM: A Document Object Model é uma API de manipulação de conteúdo que hoje é mantida pelo W3C (sim, o mesmo do HTML, CSS, etc) e possui basicamente duas implementações no PHP. A DOM (para PHP5) e a DOM XML (para PHP 4). Se você conhece um pouco de JavaScript, sabe como funciona a DOM dos objetos HTML. A implementação do PHP é bem parecida com a do JavaScript ou ECMAScript. Uma vantagem em relação às demais é que ela trabalha internamente só com encoding UTF-8 enquanto as demais (por causa do próprio funcionamento de Strings do PHP) trabalham com ISO-8859-1;
  • XSL: Da mesma forma que o CSS transforma a apresentação do HTML, podemos dizer que o XSL (Extensible Stylesheet Language) transforma a apresentação de um XML. Ok, não é tão semelhante assim, mas se você não faz idéia do que é XSL, agora provavelmente já tenha uma noção do que seja. XSL é basicamente outro XML que descreve o que fazer com o conteúdo de um XML, permitindo adicionar ou esconder seu conteúdo. Também podem ser chamados de XSL Transformations ou XSLT, cujo padrão também é estabelecido pelo W3C;

Resposta: SimplesXML, SaX, DOM e XSL.

Supondo as configurações do php.ini abaixo (e que elas sejam mantidas) e a versão 5.3.2 do PHP. O que deveria haver no local do comentário no código para que nenhum erro/notice fosse exibido e o script não seja interrompido? <?php /* algo */ echo date(‘Y-m-d’); ?>

error_reporting = -1 e display_errors = On

Essa aqui foi o terror para o pessoal, assim como a questão sobre Streams. Vamos primeiro entender a pergunta:

Temos a última versão do PHP (5.3.2) com exibição de todos os tipos de erro habilitados e queremos executar o código acima sem que nenhum erro seja exibido. Mas será que algum erro é exibido? A resposta é sim. O manual da função date() nos informa no changelog da função que a partir da versão 5.1.0 erros relacionados a timezone passam a ser gerados sob a forma de E_STRICT e E_NOTICE. Erros de timezone podem ser:

  • Nenhuma timezone definida pelo usuário
  • Timezone desconhecida definida
  • O PHP atribui a timezone através da variável TZ do sistema operacional (Só feito antes do PHP 5.3)

Caso você não saiba o que é uma timezone, sugiro a você que estudo MUITO sobre internacionalização. Caso você queira saber um pouco mais sobre isso, eis uma breve introdução só sobre timezones, caso contrário, pule o parágrafo abaixo:

A Terra possui diferentes fuso horários baseados no posicionamento do sol (ele não está no centro do céu ao mesmo tempo em todos os lugares do mundo). Os britânicos foram os primeiros a se organizar nas viagens marítimas e manter um cronômetro em sincronia com o relógio de Greenwich, assim podiam calcular sua longitude (lógico que o marco zero era o próprio observatório de Greenwich) e sincronizar encontros de carga e descarga com mercadores de outros países em um horário comum (lembra que o sol não está na mesma posição pra todo mundo?!). Hoje ainda isso é usado (mas com updates frequentes) e o nosso timezone pode ser representado como GMT-03:00, pois estamos três horas atrás do marco zero. Na verdade hoje não se usa mais o GMT, e sim o UTC. O que é o UTC? A mesma coisa que o GMT com a diferença que o UTC sofre alterações constantes acompanhando a posição exata do sol para cada timezone, o porquê disso é interessante mas não vou alongar mais. Sorry. A única coisa que é válida saber também é que UTC e GTM só são iguais se você desconsiderar os segundos de alteração que o UTC sofre por causa da rotação da terra enquanto o GTM se mantém inalterado. O UTC é a base de timezone e fusos para o mundo todo, mas não se importe muito se você vir pessoas usando GTM ao invés de UTC, agora você sabe um pouco mais que elas :P (Sugerimos que de uma olhada no livro de Derick Rethans: Guide to Date and Time Programming)

A partir do PHP 5.3 o PHP tenta determinar o timezone na seguinte prioridade:

  1. Utilizar o timezone estabelecido pela função date_default_timezone_set()
  2. Ler a entrada date.timezone do php.ini

Antes do PHP 5.3, o PHP tentava ler a variável TZ da shell antes de buscar no php.ini, mas isso deu problemas demais e optou-se por forçar os desenvolvedores a realmente entender e definir uma timezone. Logo, se você não definir, um erro é jogado na tela. Você pode definir isso através de um ini_set() ou através da date_default_timezone_set(). A título de curiosidade nosso timezone é “America/Sao_Paulo”.

Existe uma função também, a date_timezone_set(), mas ela não é aceita como resposta a esta questão. Ela define uma timezone a um objeto DateTime, como a função date() não tem relação direta com o objeto DateTime não resolveria o problema do código da questão.

A resposta correta, então, para essa questão seria date_default_timezone_set(), que pouca gente acertou. A grande maioria tentou como resposta alterar o nível de error_reporting ou usar o @ para suprimir o erro. Não aceitamos respostas que modificassem as configurações do php.ini (portanto ini_set() foi descartado também) e muito menos formas de supressão de erro, como o @, uma vez que suas práticas são péssimas e desencorajadas sob pena de morte se encontrarmos alguém fazendo isso. Erros existem para ser interpretados, e não ignorados. Pense nisso.

Resposta: date_default_timezone_set().

Quais das classes abaixo não existem?

Vamos discutir opção por opção:

  • SplFixedArray: Implementação da SPL de um array de tamanho fixo. Esta implementação é mais rápida e usa menos memória que a implementação de Array nativa do próprio PHP, foi adicionada na versão 5.3.0;
  • SplInt: Uma das implementações de SplType que estão sendo feitas no PHP através de uma extensão PECL. Apesar de não serem nativas do PHP, essa classe existe dentro do contexto oficial do PHP. Tanto é que todas as implementações podem ser encontradas no manual;
  • UnexpectedValueException: Uma das Exceptions padrão implementadas na SPL desde a versão 5.1 no PHP de forma nativa;
  • InfiniteIterator: Implementação de um Iterator que fica infinitamente varrendo algo iterável (um array ou um objeto que implementa a interface de Iterator) sem a necessidade de se chamar o rewind() no final do mesmo;
  • SplFileInfo: Esta classe oferece informações detalhadas de um determinado arquivo;
  • DateTime: Classe introduzida no PHP 5.2, praticamente inteira feita pelo Derick Rethans, para se trabalhar com data e hora;
  • SplObject: É, fui criativo no nome da classe e até que ela tem um nome bonito. Mas não existe;
  • StdClass: Por incrível que pareça, essa existe. É uma classe padrão e vazia que o PHP utiliza em determinados casos. Exprimente executar isso e veja você mesmo: <?php var_dump((object) ‘a’) ?>;

Resposta: SplObject.

Quais destes são benefícios de se usar a programação orientada a objetos?

Vamos lá, essa não era difícil. A única opção errada aqui era “Maior rapidez e performance na execução”. Apesar de isso ser discutível de uma forma geral, um mesmo código Orientado a Objetos contra um Procedural irá ter um mínimo de perda de performance. Num conceito global, muitas vezes um sistema inteiro OO é muito mais rápido e leve do que um Procedural, mas, em linhas gerais, OO é mais lento que Procedural.

A resposta correta então era marcar todas as 3 opções que não a “Maior rapidez e performance na execução”. Respostas parciais foram tidas como incorretas como em qualquer outra questão.

A palavra ________ é usada para impedir que sub-classes possam alterar um método?

Essa também é bem simples. O que podemos fazer para explicitar que determinado método não pode ser modificado pelas classes que herdarem as propriedades e métodos de outra classe? A palavra “final“. Repare que essa palavra reservada simplesmente impede que o método seja reescrito, mas não altera em nada as propriedades de visibilidade daquele método. Aliás, qualquer resposta que tenha algo relacionado com visibilidade aqui estava errada.

Portanto a resposta correta é: “final”.

Quais funções seriam necessárias para converter “i love PHP 5″ em “5 PHP EVOL I”?

Outra mamata para o pessoal. Era só saber quais funções existiam e executá-las para obter o resultado final. A diferença entre a string final e a inicial é que a final está inteira em letras maiúsculas e revertida. A prova de certificação possui diversas questões semelhantes e esta, mostrar nomes de funções a fim de confundir você.

A resposta correta é: strtoupper(), strrev().

Considerando este trecho de código (http://pastie.org/1015157), qual será a saída?

Ok, nossas orelhas arderam. Quase todos tivemos problemas de saúde e passamos por um inferno astral enorme. E todos astrólogos, tarólogos, etc nos falaram que foi por causa desta questão. Vamos lá, ela era chata. Fato. Mas não é tão difícil assim. É só ter paciência e usar a caneta e o papel que você ganha ao entrar na sala para fazer o exame de certificação, não tem choro nem vela. O jeito pra resolver essa é interpretar o código mesmo.

A resposta correta para esta questão é: “312211”.

Quais métodos podem ser usados para evitar o SQL Injection?

Mais uma questão que vamos comentar item a item:

  • Prepared Statements: Comentamos no PHPSPCast de segurança que eles contribuem contra alguns ataques de SQL Injection e isso é verdade. Eles já procuram escapar todo conteúdo prejudicial ao banco utilizando funções nativas do driver do próprio banco, mas, como qualquer medida de segurança, não deve ser considerada como 100% eficaz e deve ser utilizada em conjunto com outras;
  • Conexões persistentes: Bom, a vantagem de conexões persistentes é que elas estão sempre disponíveis e a aplicação não vai perder o tempo de abrir a conexão com o banco de novo. Mas você precisa saber como trabalhar com elas. Enfim, não têm nada com questões de segurança;
  • Unbuffered Queries: Quando usadas, o banco envia os resultados para o PHP assim que o primeiro registro é encontrado e o PHP, por sua vez, não faz um pré-processamento do que está recebendo: ele libera os resultados automaticamente pra uso. Isso economiza memória e é mais rápido. Porém você não pode usar funções que dependam da análise desse resultado, como número de linhas retornado ou ir diretamente para um determinado registro;

A resposta portanto para essa questão era: “Prepared Statementes”.

Qual a saída do código: <? echo count (“123″) ?>?

A última das moicanas. E uma bela de uma pegadinha. Qual o detalhe que vocês deveriam ter notado, ou notaram e a pegadinha é tão cretina que nem certo deu: count() serve para contar arrays e objetos iteráveis, ele não é a strlen(). Ok, e por que ele retorna 1 (um) se nós não passamos nenhum array para a função?

Simples: por esperar um array, o PHP converte automaticamete o valor passado para um; é o mesmo que executar <?php echo count((array) “123”); ?>. Experimente dar um var_dump() no lugar do count() e você verá que o resultado é um array de uma posição contendo o valor “123”.  Caso você esperava um erro pela falta do “;” no final da função, repare o fechamento de tag do PHP. O fechamento de tag implicitamente é encarado como um “;” também, tornando-o desnecessário. Sim, fizemos de propósito.

A resposta correta então para última questão é 1 (um).

O resultado da promoção

Como falamos, o objetivo da promoção é preparar vocês pra encarar a prova de forma séria, saber lidar com o tempo e com os diferentes tipos de questões que podem surgir, por isso a promoção foi baseada em quem terminava primeiro, para dar este sentimento de estar fazendo a prova com o tempo contra você.

Dito isso, ao longo do tempo tivemos alguns problemas na prova, como um erro de digitação em uma das questões então fomos bem atenciosos ao fato, embora não concordemos com a mentalidade de “vou procurar um erro” ao invés de encarar a prova com algo honesto, quem apontou o erro ou foi alertado para sua correção ou foi aceito sua nova resposta antes do prazo de 3h entre cada resposta.

Conforme o combinado iríamos aceitar apenas quem acertasse todas as questões, mas percebemos que fomos extremamente perversos e isso não se tornou realidade, portanto ordenamos por número de acertos, tempo de entrega e consideramos as questões com maiores reclamações, assim, sem mais delongas, aqui estão os vencedores da promoção:

  1. Thiago Rigo (ZCE + Livro + php|arch)
  2. Alexandre dos Santos Andrade (ZCE + Livro + php|arch)
  3. Alexandre Gomes Gaigalas (ZFC  + php|arch)
  4. Silvano Girardi Jr. (ZFC  + php|arch)
  5. Luís Otávio Cobucci Oblonczyk (php|arch)

Parabéns aos vencedores! Entraremos em contato com vocês para dar andamento na entrega.

Esta promoção contou com o apoio de:
Zend
e php|arch

Promoção “O PHPSPCast quer que você se certifique!”

Se você está vendo este post, existem dois motivos:

  • Você sabe da promoção e está correndo para garantir seu prêmio
  • Você não sabe da promoção e não sabe o que está perdendo

Caso você esteja no primeiro grupo, saiba que as regras são as seguintes:

  1. Você deve responder todas as perguntas corretamente  para ser considerado um “possível ganhador”
  2. Os prêmios serão distribuídos na ordem descrita abaixo para cada “possível ganhador” na ordem em que o registro das respostas for feito. Respondeu primeiro, e tudo certo, têm grande chance de ganhar
  3. Não são permitidos envios de respostas consecutivas (responder o formulário duas vezes seguidas), deve haver um número razoável de participações de outras pessoas entre duas repostas da mesma pessoa. Caso sejam consideradas consecutivas, será utilizada o primero conjunto de respostas enviadas
  4. Somente um prêmio por ganhador

A ordem da distribuição dos prêmios é a seguinte:

  1. 1 voucher de ZCE + 1 Study Guide + 1 Assinatura de 12 edições da PHP Architect
  2. 1 voucher de ZCE + 1 Study Guide + 1 Assinatura de 12 edições da PHP Architect
  3. 1 voucher de ZCF + 1 Assinatura de 12 edições da PHP Architect
  4. 1 voucher de ZCF + 1 Assinatura de 12 edições da PHP Architect
  5. 1 Assinatura de 12 edições da PHP Architect

Se você esta no segundo grupo e não sabe do que estamos falando, é extremamente recomendável que escute o PHPSPCast sobre certificação clicando aqui

 

 

Updates:

  • As submissões de respostas estão CANCELADAS a partir de 26/07/2010 às 16:00
  • Você ainda pode acessar as questões através do formulário do Google Docs
  • O post com o resultado da promoção e resposta para as questões é este aqui

 

 

Esta promoção conta com o apoio de nossos parceiros: Zend e php|architecht

PHPSPCast #7: ZCE e ZFC – PHP de papel passado

Depois de muito tempo sem um PHPSPCast voltamos com a bola toda. O assunto da vez é sobre certificação PHP. O que é ela, ela faz diferença? Como é o processo de certificação, qual os tipos de pergunta que caem na prova? Falamos também sobre a certificação de Zend Framework, o bam-bam-bam do momento.

Pra este assunto, nenhum convidado melhor do que uma pessoa certificada. E porquê não, também o primeiro e um dos únicos certificados de Zend Framework do Brasil? Se você se interessa por certificação já sabe de quem estamos falando, se você não sabe, aí vai um nome que você deve guardar: Adler Merdrado.

E tem mais, tanto tempo sem um PHPSPCast, nós não podíamos simplesmente vir “só″ com o podcast. Então … não viemos! Tem promoção nele galera, e que promoção! Corremos atrás de muitas pessoas, empresas e conseguimos uma promoção que achamos muito interessante. Mas todo grande prêmio, precisa de um bom desafio e dessa vez a gente não vai pegar leve!

Continue reading

PHPSPCast #5b: PEAR e PECL – Pêras e Pepinos

O PHPSPCast volta desta vez com um episódio duplo! Convidamos Igor Feghali para nos ajudar a desvendar os mistérios e a motivação do PEAR e PECL as bibliotecas de classes e extensões do PHP. Seguimos em frente agora na segunda parte falando sobre o PECL e suas extensões mais interessantes.

Durante os recados saiba porque 2009 foi otimo e quais os planos do PHPSP para 2010!

Continue reading

PHPSPCast #5a: PEAR e PECL – Pêras e Pepinos

PHPSPCast-5aO PHPSPCast volta desta vez com um episódio duplo! Convidamos Igor Feghali para nos ajudar a desvendar os mistérios e a motivação do PEAR e PECL as bibliotecas de classes e extensões  do PHP. Nesta primeira parte conheca melhor a PEAR e os seus diferenciais de outros sites de classes, veja como você pode criar classes para o PEAR e como pode usar ela no seu dia a dia e até para roubar em joguinhos online!

Não perca na próxima semana a segunda parte de cast que tembém marca o sorteio da caneca do PHPSP, veja detalhes abaixo.

Continue reading

PHPSPCast #4: PHP Conference 2009

PHPSPCast #4O PHPSPCast volta em edição extraordinária para falar sobre o maior evento de PHP da América Latina, o PHP Conference Brasil 2009. Após algum atraso decidimos convidar de volta o nosso amigo Er Galvão, diretor de conteúdo da conf, para nos contar um pouco sobre o evento. Como o evento é a causa da falta de tempo que ocasiona o atraso no lançamento dos casts, por que não aproveitar e unir ambos em um episódio completamente diferente, gravado ao em tempo real e com participação ao vivo de diversos palestrantes da Conference que compartilharam conosco um pouco de suas opiniões e de suas palestras.

Se você está na duvida se deve ou não ir ao PHP Conference Brasil, não deixe de escutar este episodio e conhecer informações ainda não divulgadas, em primeira mão! E aproveite para curtir uma trilha sonora escolhida especialmente para a ocasião.

Continue reading

PHPSPCast #3: Des-sobrinhação, PHP pra gente grande

PHPSPCast #3: Des-sobrinhação: PHP para gente grande!O PHPSP continua na sua eterna batalha para acabar com os sobrinhos no PHP! Você é um sobrinho? Não sabe? Então acompanhe o quarteto do PHPSP com seu convidado Alex Piaz enquanto discutimos o que é um sobrinho, e como deixar de ser um. Vamos conversar sobre diversos assuntos ligados ao trabalho profissional com PHP, conheça termos como KISS, DRY, aprenda sobre ambientes de desenvolvimento, controle de versão, frameworks e tudo mais que faz parte da jornada do PHP no mundo Enterprise.

Ao final do cast se tiver interessado em saber mais sobre os assuntos discutidos, nao deixe de participar do Seminário PHP que ira tratar exatamente do mesmo assunto.

Mas se tudo isso não te interessa, escute o cast ao menos para saber o problema do skype no linux e da relação de “Ruth do sanduiche-iche” com nosso colega Anderson Casimiro-iro

Continue reading

PHPSPCast #2: Segurança, não programe sem ela!

PHPSPCast #2: Segurança

Após um longo periodo de turbulencia estamos de volta com um cast repleto de informações. Desta vez nos reunimos com Er Galvão Abott, líder do PHPBR e Diretor de Conteudo da PHP Conference Brasil para comentar um assunto chave para qualquer desenvolvedor, Segurança. Acompanhe enquanto comentamos estatisticas de segurança da internet, formas diferentes de atacar/defender sites, novas estratégias de segurança e revemos os 2 mandamentos de segurança do PHP.

Continue reading

PHPSPCast #1: PHP5.3 – O bom, o mal e o Namespaces!

PHPSPCast #1

Estamos de volta mais uma vez com um episódio hilário e informativo sobre PHP 5.3. Desta vez, Rafael Dohms, Augusto Pascutti e nosso convidado Guilherme Blanco discutem sobre as novidades da nova versão do PHP, quais as novidades boas, ruins, como surgiram as polêmicas.. e pizza? Só ouvindo para entender!

Continue reading