O documento discute várias maneiras de contribuir com o PHP, incluindo documentação PHPDoc, testes de framework, relatórios de bugs, código-fonte interno PHP e PHPUnit. Ele também explica brevemente como o código-fonte PHP é estruturado.
O que é software livre? Tem diferença entre software livre e open source? Como devo iniciar um projeto de software livre em PHP? Qual licença devo utilizar em meu projeto? Como garantir a qualidade do meu código?
Conheça mais sobre Composer, a ferramenta que trouxe uma das maiores revoluções para o PHP. Composer vai muito além de instalação de dependências, aprenda a poupar dias e meses de trabalho e passe a ser um dev feliz focado em trazer as melhores soluções técnicas para as necessidades do negócio.
Conheça mais sobre Composer, a ferramenta que trouxe uma das maiores revoluções para o PHP. Composer vai muito além de instalação de dependências, aprenda a poupar dias e meses de trabalho e passe a ser um dev feliz focado em trazer as melhores soluções técnicas para as necessidades do negócio.
O que é software livre? Tem diferença entre software livre e open source? Como devo iniciar um projeto de software livre em PHP? Qual licença devo utilizar em meu projeto? Como garantir a qualidade do meu código?
Conheça mais sobre Composer, a ferramenta que trouxe uma das maiores revoluções para o PHP. Composer vai muito além de instalação de dependências, aprenda a poupar dias e meses de trabalho e passe a ser um dev feliz focado em trazer as melhores soluções técnicas para as necessidades do negócio.
Conheça mais sobre Composer, a ferramenta que trouxe uma das maiores revoluções para o PHP. Composer vai muito além de instalação de dependências, aprenda a poupar dias e meses de trabalho e passe a ser um dev feliz focado em trazer as melhores soluções técnicas para as necessidades do negócio.
Slides da minha palestra sobre a evolução do PHP, a linguagem mais utilizada na web.
Nesta palestra eu mostro como o PHP tem evoluído e melhorado, falo sobre a padronização e a união da comunidade para ter ferramentas melhores.
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Jonathan Prates
Migração de Banco de Dados - Oracle para MongoDB - TDC2014 - Trilha Python.
Como o TerraTV migrou sua plataforma de C# para Python e Oracle para MongoDB. Mostramos algumas abordagens e ferramentas utilizadas para essa migração.
Apresentação sobre Golang para iniciantes, cobrindo um pouco da história da linguagem e aspectos curiosos da API. Foi realizada no DevFest Norte 2014, em Belém/PA.
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012Rogerio Prado de Jesus
Palestra apresentada na PHP Conference Brasil, o maior evento de PHP da América Latina, edição 2012.
Mais informações:
- http://www.phpconference.com.br/
- https://joind.in/talk/view/7764
Clean Code: Por um mundo com códigos melhores - SETI 2017Thiago Barradas
Palestra apresentado no SETI - UFLA (Lavras MG) de 2017, um evento que aborda diversas tecnologias. A palestra foi uma apresentação sobre código limpo, como melhorar e manter o padrão do seu código e com isso fazer do mundo um lugar melhor, com códigos melhores.
Revisão de Código - Uma prática que depende da culturaLeandro Parazito
Nesta palestra, Leandro identificará algumas das melhores práticas a serem seguidas. Ele falará sobre o que é realmente importante em uma revisão de código, definirá algumas diretrizes a serem seguidas a fim de maximizar o valor da revisão de código e fornecer feedback construtivo no tempo mais rápido possível.
Slides da minha palestra sobre a evolução do PHP, a linguagem mais utilizada na web.
Nesta palestra eu mostro como o PHP tem evoluído e melhorado, falo sobre a padronização e a união da comunidade para ter ferramentas melhores.
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Jonathan Prates
Migração de Banco de Dados - Oracle para MongoDB - TDC2014 - Trilha Python.
Como o TerraTV migrou sua plataforma de C# para Python e Oracle para MongoDB. Mostramos algumas abordagens e ferramentas utilizadas para essa migração.
Apresentação sobre Golang para iniciantes, cobrindo um pouco da história da linguagem e aspectos curiosos da API. Foi realizada no DevFest Norte 2014, em Belém/PA.
Be Happy With Semantic Versioning And Git Flow - PHP Conference Brasil 2012Rogerio Prado de Jesus
Palestra apresentada na PHP Conference Brasil, o maior evento de PHP da América Latina, edição 2012.
Mais informações:
- http://www.phpconference.com.br/
- https://joind.in/talk/view/7764
Clean Code: Por um mundo com códigos melhores - SETI 2017Thiago Barradas
Palestra apresentado no SETI - UFLA (Lavras MG) de 2017, um evento que aborda diversas tecnologias. A palestra foi uma apresentação sobre código limpo, como melhorar e manter o padrão do seu código e com isso fazer do mundo um lugar melhor, com códigos melhores.
Revisão de Código - Uma prática que depende da culturaLeandro Parazito
Nesta palestra, Leandro identificará algumas das melhores práticas a serem seguidas. Ele falará sobre o que é realmente importante em uma revisão de código, definirá algumas diretrizes a serem seguidas a fim de maximizar o valor da revisão de código e fornecer feedback construtivo no tempo mais rápido possível.
Intro to open source telemetry linux con 2016Matthew Broberg
Abstract
As part of the team delivering Snap, an open telemetry framework, I've run through dozens of use cases where gathering disparate metrics from services can roll up into meaningful diagrams for operations engineers and developers alike. We will use Snap's plugin model to collect, process and publish these measurements into meaningful graphs using open source tools. By joining this session, you can follow along and install industry-standard open source projects, deploy them and then use Snap to collect, process and visualize these metrics.
Audience
Anyone with an operations-background (or future ahead of them) that wants to see the breadth of available open source tooling around telemetry. This proposal is designed for the hands-on user, who is comfortable running containers or virtual machines locally.
Experience Level
Intermediate
Benefits to the Ecosystem
By joining this session, you can follow along and install industry-standard open source projects, deploy them and then use Snap to collect, process and visualize these metrics. This empowers users within the Linux ecosystem to see their knowledge as powerful when visualized next to other layers of the datacenter.
How to Hook Customers with Habit-forming ProductsWrike
https://www.wrike.com/blog/interview-with-nir-eyal-hooked/ - Engaging products don't happen by mistake. We interviewed Nir Eyal, author of Hooked: How To Build Habit-Forming Products. His background in advertising and gaming has led him to write about consumer psychology principles that change customers' behavior. He explains how to create engaging products using the Hook model.
As artificial intelligence sweeps across the technology landscape, NVIDIA unveiled today at its annual GPU Technology Conference a series of new products and technologies focused on deep learning, virtual reality and self-driving cars.
In the changing age of internet, businesses and job routines every business owner or recruiter has their own personal beliefs and preferred strategies for hiring. We take a look at the history of jobs and hiring and introduce a Neo-Social concept of hiring with Arbunize in the modern social age. Try our recruiting solutions when the regular search process becomes stale.
Painel: HHVM x Zephir x PHPNG - com Anderson Casimiro, Levi Ferreira e Luiz Gustavo Gavinho no InterCon PHP 2014.
Confira outras apresentações em: http://interconphp.imasters.com.br/
O InterCon PHP aconteceu no dia 19 de Julho de 2014 no Hotel Intercontinental São Paulo
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
Essa apresentação faz parte do minicurso Zend Framework 2, onde apresentamos suas principais características e como fazer a instalação deste framework web de ponta.
2. 2/49 Be Free. KDE
About me
@marcosptf
pytero
phpzero
javero
3. 3/49 Be Free. KDE
o que é open source?
Distribuição livre
A licença não deve restringir de nenhuma maneira a venda ou distribuição do
programa gratuitamente, como componente de outro programa ou não.
Código fonte
O programa deve incluir seu código fonte e deve permitir a sua distribuição.
Integridade do autor do código fonte
A licença deve explicitamente permitir a distribuição do programa construído a
partir do código fonte modificado.
8. 8/49 Be Free. KDE
php - contribuindo
php-doc
Framework Tests
Bugs reporting
php-src internals
phpunit
php hacker guide
9. 9/49 Be Free. KDE
php-doc
http://doc.php.net/tutorial/structure.php
svn checkout
https://svn.php.net/repository/phpdoc/modules/
doc-{LANG} phpdoc
->corrigir documentação
->criar documentação
->traduzir para o portugues
10. 10
/49
Be Free. KDE
php-doc - Files Structure
/phpdoc/{LANG}/reference/extension_name/
book.xml - acts as the container for the
extension and contains the preface. Other files
(like examples.xml) are included from here.
setup.xml - includes setup, install and
configuration documentation
constants.xml - lists all constants that the
extension declared.
11. 11
/49
Be Free. KDE
php-doc - Files Structure
configure.xml - usually this information is in
setup.xml, but if the file exists it is magically
included into setup.xml
examples.xml - various examples
foo.xml - example, foo can be anything specific
to a topic. Just be sure to include via book.xml.
12. 12
/49
Be Free. KDE
php-doc - Files Structure
reference.xml - container for the functions,
rarely contains any info
functions/ - folder with one XML file per function
that the extension declares
classname.xml - container for the methods
defined by the class, contains also basic info
about it
classname/ - folder with one XML per method
that the class declares.
13. 13
/49
Be Free. KDE
php-doc - Files Structure
{LANG}/language-defs.ent - contains local
entities used by this language. Some common
ones are the main part titles, but you should
also put entities used only by this language's
files here.
{LANG}/language-snippets.ent - longer often
used XML snippets translated to this language.
Including common warnings, notes, etc.
24. 24
/49
Be Free. KDE
como funciona php-src?
TSRM - Thread Safe Resource Manager
É uma API onde as extensões devem interagir para que possam atender
requisições em paralelo sem restrições ou interferencias.
ex:
mysqli
curl
enchant
exif
pdo
25. 25
/49
Be Free. KDE
como funciona php-src?
ZEND - Zend Memory Manager
Este é o gerenciador de memoria onde tenta reduzir o uso de alocação e
sobrecarga.
Quando habilitado, permite selecionar entre "malloc" e "emalloc" em tempo de
execução e permite ultilizar a memoria interna e externa e depuradores sem
recompilação.
26. 26
/49
Be Free. KDE
como funciona php-src?
build - instalação e compilação
Neste diretorio ficam os scripts ultilizados quando é realizado algum comando de instalação
ou compilação como:
./configure
make
make install
27. 27
/49
Be Free. KDE
como funciona php-src?
ext - extensões
Neste diretorio ficam as extenções que fazem parte do core php
diretorio onde ficam as extenções:
github/php-src/ext/
diretorio onde fica o codigo fonte das extenções:
github/php-src/ext/<nome-da-extenção>/
diretorio onde ficam os testes de integração
github/php-src/ext/<nome-da-extenção>/testes/
28. 28
/49
Be Free. KDE
como funciona php-src?
main - funcionalidades principais
Neste diretorio ficam as validações e funcionalidades principais do php
aqui por exemplo, ele verifica se a variavel criada em php, realmente é valida:
github/php-src/main/php_variables.c#L56
diretorio onde fica o codigo fonte da conexao php com redes via socket
github/php-src/main/network.c
29. 29
/49
Be Free. KDE
como funciona php-src?
netware - novell
Itens para manter compartibilidade com os componentes da novell.
30. 30
/49
Be Free. KDE
como funciona php-src?
pear - php extension and application
repository
Itens para manter compartibilidade com as extenções do pear.
31. 31
/49
Be Free. KDE
como funciona php-src?
sapi - Server API
É o mecanismo que controla a interação entre o "mundo exterior" e o mecanismo
PHP/Zend.
O SAPI é um aplicativo interface de programação (API)
fornecido pelo servidor web para ajudar outros desenvolvedores em estender o web server
recursos.
O PHP tem uma interface direta do módulo chamada SAPI para servidores web diferentes.
No caso de PHP 5 e Apache 2.0 no Windows, ele é fornecido na forma de um arquivo DLL
chamado php5apache2.dll.
Existem diferentes tipos de SAPIs para várias extensões de servidor web, como por
exemplo, outro dois SAPIs para a linguagem PHP são Common Gateway Interface (CGI) e
interface de linha de comando (CLI).
32. 32
/49
Be Free. KDE
como funciona php-src?
scripts - config
são scripts de configuração para o projeto.
33. 33
/49
Be Free. KDE
como funciona php-src?
tests
onde ficam alguns testes relacionados ao core do php
github/php-src/tests
lembrando que os testes de extensões ficam aqui:
github/php-src/ext/<nome-da-extenção>/testes/
35. 35
/49
Be Free. KDE
como funciona php-src?
win32 - scripts e configurações para
ambientes microsoft.
36. 36
/49
Be Free. KDE
PHPUnit *.phpt
Os arquivos escritos em .phpt são usados
para fazer testes de integração
-Testes de Integração:
É a Fase que os modulos são testados em
grupo.
- Testes de Unitarios:
Os Modulos são testados individualmente