O documento discute conceitos avançados de PHP orientado a objetos (OOP) em 3 frases:
1) Apresenta técnicas de tratamento de erros como exceptions, error_log() e debug_backtrace();
2) Discute serialização e desserialização para armazenar e recuperar objetos;
3) Propõe um projeto de leitor RSS que aplica o modelo three-tier e OOP em PHP.
Palestra na PHP Conference 2016 onde mostro novidades do PHP7 e PHP7.1 mostrando dicas que podem ser aplicadas imediatamente, entre nessa onda do PHP 7.
Palestra que ministrei no II PHP Day do Espírito Santo na FAESA. Essa palestra tem como objetivo alertar aos PHPzeiros a importância de se conhecer a linguagem, ler mais a documentação e tomar cuidado ao codificar.
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
Assincronia no .NET 4.5, Task-based Asynchronous Pattern (TAP), async e await, Cancelamento com CancellationTokenSource e CancellationToken e progresso com a interface System.IProgress de um tipo T genérico e a classe System.Progress de um tipo genérico T.
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
A linguagem PHP é conhecida por ser utilizada no desenvolvimento de aplicações web. Essa palestra visa apresentar o outro lado do desenvolvimento. Poucos sabem que é possível utilizar a linguagem para desenvolver tarefas agendadas, ferramentas multi-thread e diversas outras aplicações que rodam em terminal. Nessa palestra exploraremos o mundo do PHP-CLI.
Palestra de Rafael Jaques (@rafajaques)
Palestra na PHP Conference 2016 onde mostro novidades do PHP7 e PHP7.1 mostrando dicas que podem ser aplicadas imediatamente, entre nessa onda do PHP 7.
Palestra que ministrei no II PHP Day do Espírito Santo na FAESA. Essa palestra tem como objetivo alertar aos PHPzeiros a importância de se conhecer a linguagem, ler mais a documentação e tomar cuidado ao codificar.
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
Assincronia no .NET 4.5, Task-based Asynchronous Pattern (TAP), async e await, Cancelamento com CancellationTokenSource e CancellationToken e progresso com a interface System.IProgress de um tipo T genérico e a classe System.Progress de um tipo genérico T.
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
A linguagem PHP é conhecida por ser utilizada no desenvolvimento de aplicações web. Essa palestra visa apresentar o outro lado do desenvolvimento. Poucos sabem que é possível utilizar a linguagem para desenvolver tarefas agendadas, ferramentas multi-thread e diversas outras aplicações que rodam em terminal. Nessa palestra exploraremos o mundo do PHP-CLI.
Palestra de Rafael Jaques (@rafajaques)
Pretendo apresentar o que a Zend solicita na certificação sobre segurança de aplicações PHP, iremos gerar juntos algumas simples invasões em um pequeno sistema e pretende com o exemplo explicar como podemos nos defender com alguma técnicas que serão ensinadas e que são pedidas na prova da Zend.
O padrão <strong>IAsyncResult Pattern</strong> ou <strong>Asynchronous Programming Model (APM)</strong> foi introduzido no .NET Framework 1.0, em fevereiro de 2002. Também conhecido como <strong>Begin/End Pattern</strong>, num nível básico, o padrão se baseia em dois métodos relacionados para representar uma operação assíncrona: <strong>Begin</strong><em>NomeOperacao</em> e <strong>End</strong><em>NomeOperacao</em>.
O padrão Event-based Asynchronous Pattern (EAP) corresponde a uma evolução do padrão IAsyncResult Pattern ou Asynchronous Programming Model (APM) para programação assíncrona na plataforma .NET.
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei uma introdução à linguagem de programação <strong>JavaScript</strong>, sua evolução, sua padronização de acordo com a especificação <strong>ECMA-262</strong> (linguagem <strong>ECMAScript</strong>), principais usos da linguagem, alguns dos principais conceitos da linguagem, programação orientada a objetos com JavaScript e algumas das novidades da <strong>ECMAScript 5</strong>. Além disto, eu também apresentei estatísticas de uso dos 5 principais browsers da atualidade e o suporte dos principais browsers do mercado ao ECMAScript 5.
Palestra apresentada no THT - Things Hacker Team.
Foi apresentado as facilidades de utilização do GULP e também as diferenças entre o GRUNT e o Gulp.
Também foi demostrado como criar algumas tarefas inicias utilizando o GULP.
Pretendo apresentar o que a Zend solicita na certificação sobre segurança de aplicações PHP, iremos gerar juntos algumas simples invasões em um pequeno sistema e pretende com o exemplo explicar como podemos nos defender com alguma técnicas que serão ensinadas e que são pedidas na prova da Zend.
O padrão <strong>IAsyncResult Pattern</strong> ou <strong>Asynchronous Programming Model (APM)</strong> foi introduzido no .NET Framework 1.0, em fevereiro de 2002. Também conhecido como <strong>Begin/End Pattern</strong>, num nível básico, o padrão se baseia em dois métodos relacionados para representar uma operação assíncrona: <strong>Begin</strong><em>NomeOperacao</em> e <strong>End</strong><em>NomeOperacao</em>.
O padrão Event-based Asynchronous Pattern (EAP) corresponde a uma evolução do padrão IAsyncResult Pattern ou Asynchronous Programming Model (APM) para programação assíncrona na plataforma .NET.
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei uma introdução à linguagem de programação <strong>JavaScript</strong>, sua evolução, sua padronização de acordo com a especificação <strong>ECMA-262</strong> (linguagem <strong>ECMAScript</strong>), principais usos da linguagem, alguns dos principais conceitos da linguagem, programação orientada a objetos com JavaScript e algumas das novidades da <strong>ECMAScript 5</strong>. Além disto, eu também apresentei estatísticas de uso dos 5 principais browsers da atualidade e o suporte dos principais browsers do mercado ao ECMAScript 5.
Palestra apresentada no THT - Things Hacker Team.
Foi apresentado as facilidades de utilização do GULP e também as diferenças entre o GRUNT e o Gulp.
Também foi demostrado como criar algumas tarefas inicias utilizando o GULP.
Escrevi este mini curso de PHP que abrange desde o nível inicial básico até o intermediário/avançado. Este mini curso foi apresentado durante o evento WISM 2013, organizado pela PUC Minas Poços de Caldas, MG.
Pauta:
1. Introdução ao PHP;
2. Configuração do ambiente para desenvolvimento;
3. Variáveis em PHP;
4. Comandos Condicionais e Controle de fluxo;
5. Controle de fluxo: Switch;
6. Controle de fluxo: Laços de repetição;
7. Arrays em PHP;
8. Funções em PHP;
9. PHP e Banco de Dados MySQL;
10. PHP Orientado a Objetos;
11.Visão Geral: Frameworks PHP;
Preparando-se para a prova da Certificação Zend PHP 5.3klaussilveira
A palestra tem como objetivo mostrar os perigos e desafios da nova prova, como se preparar para ela, além de mostrar os benefícios da certificação. Com o crescimento do PHP como linguagem, seu sucesso e popularidade, o mercado para desenvolvedores PHP está bastante fértil. Infelizmente, pela linguagem ter uma barreira de entrada muito pequena, temos muitos desenvolvedores de araque.
Um do maiores diferenciais do Java não está na linguagem e sim na JVM. Conheça um pouco mais sobre esse “motor”, seu funcionamento e sua arquitetura para tirar melhor proveito da JVM em suas aplicações.
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Luís Cobucci
Sabe aquele arquivo com 5000000 linhas e que você tem que acender umas velas pra abrir ele? Então, aqui te daremos as armas corretas para exterminá-lo e para NUNCA MAIS criar monstros como ele!
What exactly are Web APIs? Why are Web APIs so popular and widely used? This presentation explores what APIs are and how they have evolved into what we call Web APIs. To learn more, read the "What are Web APIs" article on Medium: https://hackernoon.com/what-are-web-apis-c74053fa4072
Presented at IronHack, in Barcelona, on January 2018.
How can you grow your business revenue by using APIs? In this presentation, you will understand the concept of “Integrated Product” and how it can help you reach product-market fit and generate revenue. You will also learn how to effectively measure the success of your API and its integrations with multiple third parties. By the end, you’ll be able to identify which parts of your API need improvement, which are the ones driving revenue, and the ones that should be deprecated.
Learn how to create your whole product by integrating other products' features and growing your business
Presented at Beta-i, in Lisbon, on March 2017.
Learn how to create your whole product by integrating other products' features and growing your business.
Presented at the Barcelona Product Meetup in itnig, on March 2017.
APIdays Mediterranea 2016 Presentation exploring the relationship between APIs, chat bots and how people use chat.
Hitch API Assistant has been announced with a demo near the end of the presentation. More information about it is available at http://apiassistant.com
Talk given at Typeform for the Barcelona Bug busters meetup.
How to Automate API Testing guides you through a possible API Testing workflow for API Functional Testing exploring different tools and approaches.
Nodeconf Barcelona 2015 presentation exploring several ways of building microservices in an asynchronous way. Presented the concept of a broker as an alternative to a multiple point-to-point architecture.
My presentation at APIdays Mediterranea 2014, in Barcelona.
Here's a great summary: http://saasinsights.getapp.com/war-over-online-identities-power-of-me/
Bridging the Gap Between APIs and CustomersBruno Pedro
I start with a question: "Who's using your API?" The single, most important thing you want to understand about your API is how you can generate revenue from it. It all depends on who are your customers and how they can obtain value through your API. We'll go through several examples of what can be done to deliver that value directly to your customers.
Slides from a talk I gave at IBWAS'10 in Lisbon, Portugal.
Abstract:
Is the OAuth protocol really secure? Even though the OAuth authorization protocol has been published as the RFC 5849 and is being widely adopted by large Internet companies, it's important to stress out its possible security vulnerabilities.
This talk will focus on the OWASP Top 10 Application Security Risks and how OAuth is affected by them.
While some of the security risks are mitigated by OAuth, developers need to take some action to prevent other risks from affecting their implementations.
A presentation given at Codebits 2010 about everything related to OAuth.
I didn't go into any deep technical details as I tried to cover most OAuth related topics.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
4. PHP Advanced
error_log()
• Captura um erro e envia os seus detalhes
para um destino específico:
• logs do servidor Web
• Endereço de e-mail
• Debugger remoto
• Um ficheiro arbitrário
OOP 4
5. PHP Advanced
set_error_handler()
• Define qual a função que vai gerir todos os
erros:
• Útil quando se pretende executar código
antes de um erro ser apresentado
• Errors críticos e de interpretação não
são capturados (E_PARSE, E_ERROR,
E_CORE)
OOP 5
6. PHP Advanced
trigger_error()
• Gera um erro de aplicação e passa o
controlo à gestão de erros:
• É possível definir uma mensagem de erro
específica
• Só é possível gerar erros do tipo E_USER
OOP 6
7. PHP Advanced
debug_backtrace()
• Gera um array associativo com informação
de backtrace:
• Nomes de funções
• Números de linhas
• Nomes de ficheiros
• Nomes de classes
• ...
OOP 7
8. PHP Advanced
Exceptions
• Geração e gestão de erros simplificada
• Filosofia orientada a objectos
• Extensível
• Simples de implementar
• Afasta a gestão de erros da lógica da
aplicação
OOP 8
17. PHP Advanced
Captura de erros
• Fazer com que o default error handler possa
gerar excepções
OOP 17
18. PHP Advanced
Captura de erros
• Mais tarde, é possível capturar os erros
OOP 18
19. PHP Advanced
Automatismos
• É possível definir um default exception
handler que será chamado sempre que for
gerada uma excepção
• A execução será terminada sempre que
uma excepção for gerada fora de um bloco
try
OOP 19
21. PHP Advanced
Serialização
• Representação storable de um valor
• literais, arrays e até mesmo objectos
• os valores serializados são na verdade
strings
• Permite gravar o conteúdo de uma variável
para posterior utilização
• Bastante usado em gestão de sessões
OOP 21
22. PHP Advanced
serialize()
• Devolve uma representação serializada de
um determinado valor
OOP 22
24. PHP Advanced
unserialize()
• Converte uma string serializada na
respectiva variável PHP
OOP 24
25. PHP Advanced
Serialização de objectos
• Serializa todos os atributos
• Não grava ligações a bases de dados nem
ficheiros abertos
• Não executa tarefas de limpeza de objectos
• Não executa o destructor do objecto
OOP 25
27. PHP Advanced
De-serialização de objectos
• Cria um objecto PHP com todos os
atributos que foram serializados
• Não executa o constructor do objecto
OOP 27
33. PHP Advanced
Aplicações
• Utilização de um objecto como parâmetro
de um Web Service
• Recepção de um objecto como parâmetro
POST
• ...
OOP 33
34. PHP Advanced
Modelo three-tier
• Separação da aplicação em três camadas:
• Apresentação
• Lógica
• Acesso aos dados
OOP 34
35. PHP Advanced
Modelo three-tier
• Vantagens:
• Modularização da aplicação
• Fácil actualização de qualquer uma das
camadas
• Divisão do trabalho por equipas
diferentes
• Divisão de responsabilidades
OOP 35
36. PHP Advanced
Projecto
• Objectivo
• Criação de um leitor RSS Web
• Aplicação multi-utilizador
• Permite a gestão dos feeds RSS
• Grava estado dos itens já lidos
OOP 36
37. PHP Advanced
Discussão
• Por onde começar?
• O que se deve definir?
• Como implementar as funcionalidades?
• Existe código já feito que ajude?
OOP 37
38. PHP Advanced
Resumo
• Gestão de erros
• Excepções e gestão automática de erros
• Serialização e de-serialização
• Modelo three-tier
• Discussão sobre o projecto
OOP 38