SlideShare ist ein Scribd-Unternehmen logo
PHP at Yahoo! Federico Feroldi Senior Architect Engineer Yahoo! Europe
This presentation Yahoo! numbers and values Yahoo! and PHP: a brief history PHP at Yahoo! today Final notes, QA
Yahoo! Some  numbers
Some numbers about Yahoo! 20 Countries & Languages
Some numbers about Yahoo! 500M Unique visitors per month 238M Active registered users source  comScore March 2007
Some numbers about Yahoo! 3,5B Average daily pageviews source  comScore March 2007
Our Mission
Our Mission To  connect people  to  their  passions , their  communities , and the  world’s knowledge
Our values as a Engineers Security and Privacy High Availability Performance Flexibility and Innovation
Yahoo! and PHP A brief history…
Yahoo! and PHP: a brief history We started in 1994 with custom C/C++ software Because at the time, free technologies were considered too “immature” to run large, complex destinations.
Yahoo! and PHP: a brief history Then we moved to the Open Source software The growth of the Open Source movement has spurred a change in thinking because languages like PHP aid performance and integration.
Yahoo! and PHP: a brief history Circa 1996 The Filo* Web Server was replaced by the Apache web server * David Filo, one of the Yahoo! founders, coded this simple, programmable, high performance web server that powered the first Yahoo! web site.
Yahoo! and PHP: a brief history Circa 1999 We replaced custom flat binary files  with the Open Source MySQL database
Yahoo! and PHP: a brief history Circa 2001 We needed to replace our custom  scripting languages with a modern  language designed for the Web. Custom scripting languages became a “pain in the neck to maintain and use” and was difficult to integrate them with third-party software.
Yahoo! and PHP: a brief history What we needed High Performance Robust, sand boxed environment Modern language features C/C++ extensions Runs on FreeBSD Internationalization support Low training costs
Yahoo! and PHP: a brief history Why we picked PHP Designed for Web scripting High Performance Large Open Source Community Code-in-HTML paradigm Integration, libraries, extensibility Tools: IDE, debugger, profiler
PHP at Yahoo! today
PHP at Yahoo! today Development Methodology Server Architecture Application Layout Dependency Management Security Performance Globalization Open Source Frameworks
Yahoo! PHP: Server Architecture Users Load  Balancers Apache PHP APC, PEAR, PECL, Custom Extensions Custom Apache Extensions FreeBSD 4.x/6.x, Linux 2.6.x MySQL Web Services Ad API User API
Yahoo! PHP: Application Layout HTML PHP HTML Templates /usr/local/share/htdocs/*.php Template Helpers /usr/local/share/htdocs/*.inc Business Logic /usr/local/share/pear/*.inc Data Access, Networking, Crypto C/C++ core code
Yahoo! PHP:  Dependency Management Light base PHP package Basic PHP install includes only XML parser. All extensions disabled by default: ./configure --disable-all +  Avoids unnecessary dependencies +  Smaller Apache memory footprint
Yahoo! PHP:  Dependency Management Self contained extension packages Extensions can be installed separately  with the package management tool. Required dependencies are included  in the installation process.
Yahoo! PHP: Security php.ini settings Always set  open_basedir Insurance against  /etc/passwd  exploits. Set  allow_url_fopen = Off Use  libcurl  instead, avoid open proxy exploits. Set  display_errors = Off However, set  log_errors = On
Yahoo! PHP: Security Input Filtering XSS and SQL Inj. most common attacks Never trust the data coming from the browser. Use  input_filter  hook Sanitize all user-submitted data on each request. Use PECL filter package Derived from our filtering library.
Yahoo! PHP: Performance Opcode Caches Easiest performance boost Cache parsed PHP scripts in shared memory. Runtime optimizations without code modifications. Several products available APC* Zend Performance Suite Turck MMCache * that’s what we use
Yahoo! PHP: Performance Custom PHP Extensions in C/C++ Yahoo! Develops its own extensions Fast and optimized execution speed. Access to custom client libraries. but Longer development (edit, compile, link, debug) Manual memory management (and related issues)
Yahoo! PHP: Performance Applications architecture Avoid PHP sessions (they’re slow) Use cookies to store the user data that you most often need (like userid, profile timestamp, etc…) in an encrypted and signed format.
Yahoo! PHP: Globalization Unicode Yahoo! contributed to PHP Unicode ext. Andrei Zmievski (Yahoo!), Andi Gutmans (Zend) and many members of PHP community.
Yahoo! PHP: Globalization I18N support Generate per intl PHP templates (r3 TMT) Yahoo! has donated to the Open Source his homegrown  Template Management Tool (r3 TMT) . r3  allows developers of web applications to customize and translate their UI for different languages, markets and uses. http://sourceforge.net/projects/rthree
Yahoo! PHP: PHP Frameworks Smarty Not widely used  at Yahoo!. Written in  user-space PHP . Caching lowers  but does  not eliminate  the  run-time overhead on each request .  With Yahoo!'s level of traffic,  this overhead  can be considerable .
Yahoo! PHP: PHP Frameworks Symfony We began to use  Symfony ! (recently) Good for  integrated development ,  testing . Factors out  common patterns . Encourages  good design .
Yahoo! PHP: PHP Frameworks Symfony  (what we kept) Core  MVC Architecture Configuration  system The  View Layer User Security
Yahoo! PHP: PHP Frameworks Symfony  (what we replaced) Model Layer and ORM Doesn’t scale  to our needs Configuration system (extended) More  flexible ,  I18N  support Internationalization Integrated with  r3 TMT
Yahoo! PHP: PHP Frameworks Drupal Usage investigations  going on. Excellent application framework . Not tested yet on Yahoo! production .
Final notes
Yahoo! Developer Network PHP Developer Center Using  PHP  with  Yahoo! Web Services API HowTo Articles  and  Code Samples . Active community . http://developer.yahoo.com/php/
Yahoo! Developer Network Yahoo! Web Services Yahoo! Mail API Integrate your application with  Yahoo! Mail . Yahoo! Maps API Easily build advanced  map based mashups . Flickr API Get access to  milion of pictures . del.icio.us API The number one  tagging and bookmarking tool .
Thank you! - Questions? Yahoo! Developer Network http://developer.yahoo.com/ Federico Feroldi [email_address]
 

Weitere ähnliche Inhalte

Was ist angesagt?

Phalcon overview
Phalcon overviewPhalcon overview
Phalcon overview
Adam Englander
 
Overview of CMS and Joomla!
Overview of CMS and Joomla!Overview of CMS and Joomla!
Overview of CMS and Joomla!
Vishwash Gaur
 
Programming language
Programming languageProgramming language
Programming language
kalasalingam university
 
Introduction to Joomla
Introduction to JoomlaIntroduction to Joomla
Introduction to Joomla
Asif Islam
 
CMS and Joomla
CMS and JoomlaCMS and Joomla
CMS and Joomla
Manish Pharswan
 
PHP
PHPPHP
.Net Development Services VS | PHP Development Services
.Net Development Services  VS | PHP Development Services.Net Development Services  VS | PHP Development Services
.Net Development Services VS | PHP Development Services
Worth Studios Pvt. Ltd.
 
PPT - A slice of cake php
PPT - A slice of cake phpPPT - A slice of cake php
PPT - A slice of cake php
Konstant Infosolutions Pvt. Ltd.
 
Advantages And Disadvantages Of Joomla
Advantages And Disadvantages Of JoomlaAdvantages And Disadvantages Of Joomla
Advantages And Disadvantages Of Joomla
tradocaj
 
Word press
Word pressWord press
Word press
Brian Lucas
 
9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources
iScripts
 
Joomla - CMS
Joomla - CMSJoomla - CMS
Joomla - CMS
Dasun Hegoda
 
Openmeetings
OpenmeetingsOpenmeetings
Openmeetings
hs1250
 
Bri forum advanced web interface customizations
Bri forum   advanced web interface customizationsBri forum   advanced web interface customizations
Bri forum advanced web interface customizations
CCOSTAN
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
Himanshu Jindal
 
CMS Joomla
CMS JoomlaCMS Joomla
CMS Joomla
The eCore Group
 
What's New in Plone 4 - Tim Knapp
What's New in Plone 4 - Tim KnappWhat's New in Plone 4 - Tim Knapp
What's New in Plone 4 - Tim Knapp
knappt
 
Freelance web development
Freelance web developmentFreelance web development
Freelance web development
britadammen
 
Php course with live project training in janakpuri, New Delhi
Php course with live project training in janakpuri, New Delhi Php course with live project training in janakpuri, New Delhi
Php course with live project training in janakpuri, New Delhi
Baluja Institute of Technology & Management
 
Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010
shoesing
 

Was ist angesagt? (20)

Phalcon overview
Phalcon overviewPhalcon overview
Phalcon overview
 
Overview of CMS and Joomla!
Overview of CMS and Joomla!Overview of CMS and Joomla!
Overview of CMS and Joomla!
 
Programming language
Programming languageProgramming language
Programming language
 
Introduction to Joomla
Introduction to JoomlaIntroduction to Joomla
Introduction to Joomla
 
CMS and Joomla
CMS and JoomlaCMS and Joomla
CMS and Joomla
 
PHP
PHPPHP
PHP
 
.Net Development Services VS | PHP Development Services
.Net Development Services  VS | PHP Development Services.Net Development Services  VS | PHP Development Services
.Net Development Services VS | PHP Development Services
 
PPT - A slice of cake php
PPT - A slice of cake phpPPT - A slice of cake php
PPT - A slice of cake php
 
Advantages And Disadvantages Of Joomla
Advantages And Disadvantages Of JoomlaAdvantages And Disadvantages Of Joomla
Advantages And Disadvantages Of Joomla
 
Word press
Word pressWord press
Word press
 
9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources
 
Joomla - CMS
Joomla - CMSJoomla - CMS
Joomla - CMS
 
Openmeetings
OpenmeetingsOpenmeetings
Openmeetings
 
Bri forum advanced web interface customizations
Bri forum   advanced web interface customizationsBri forum   advanced web interface customizations
Bri forum advanced web interface customizations
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
 
CMS Joomla
CMS JoomlaCMS Joomla
CMS Joomla
 
What's New in Plone 4 - Tim Knapp
What's New in Plone 4 - Tim KnappWhat's New in Plone 4 - Tim Knapp
What's New in Plone 4 - Tim Knapp
 
Freelance web development
Freelance web developmentFreelance web development
Freelance web development
 
Php course with live project training in janakpuri, New Delhi
Php course with live project training in janakpuri, New Delhi Php course with live project training in janakpuri, New Delhi
Php course with live project training in janakpuri, New Delhi
 
Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010Advanced Web Interface Customizations - BriForum 2010
Advanced Web Interface Customizations - BriForum 2010
 

Andere mochten auch

.NET 장애 개선 로드맵
.NET 장애 개선 로드맵.NET 장애 개선 로드맵
.NET 장애 개선 로드맵
준일 엄
 
.NET 장애 개선 로드맵
.NET 장애 개선 로드맵.NET 장애 개선 로드맵
.NET 장애 개선 로드맵
준일 엄
 
Introducing symfony
Introducing symfonyIntroducing symfony
Introducing symfony
Wildan Maulana
 
PHP - History, Introduction, Summary, Extensions and Frameworks
PHP - History, Introduction, Summary, Extensions and FrameworksPHP - History, Introduction, Summary, Extensions and Frameworks
PHP - History, Introduction, Summary, Extensions and Frameworks
Royston Olivera
 
Total Respect Management framework
Total Respect Management frameworkTotal Respect Management framework
Total Respect Management framework
BYAZ
 
How PHP works
How PHP works How PHP works

Andere mochten auch (6)

.NET 장애 개선 로드맵
.NET 장애 개선 로드맵.NET 장애 개선 로드맵
.NET 장애 개선 로드맵
 
.NET 장애 개선 로드맵
.NET 장애 개선 로드맵.NET 장애 개선 로드맵
.NET 장애 개선 로드맵
 
Introducing symfony
Introducing symfonyIntroducing symfony
Introducing symfony
 
PHP - History, Introduction, Summary, Extensions and Frameworks
PHP - History, Introduction, Summary, Extensions and FrameworksPHP - History, Introduction, Summary, Extensions and Frameworks
PHP - History, Introduction, Summary, Extensions and Frameworks
 
Total Respect Management framework
Total Respect Management frameworkTotal Respect Management framework
Total Respect Management framework
 
How PHP works
How PHP works How PHP works
How PHP works
 

Ähnlich wie Federico Feroldi Php In Yahoo

Phpyahoo
PhpyahooPhpyahoo
main report on restaurant
main report on restaurantmain report on restaurant
main report on restaurant
Neeraj Kumar
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1
ADARSH BHATT
 
PHP LICTURES ..........
PHP LICTURES ..........PHP LICTURES ..........
PHP LICTURES ..........
Rashid Ahmad
 
Building A Platform From Open Source At Yahoo
Building A Platform From Open Source At YahooBuilding A Platform From Open Source At Yahoo
Building A Platform From Open Source At Yahoo
Dustin Whittle
 
Php unit i
Php unit i Php unit i
Php unit i
prakashvs7
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
Eric Johnson
 
PHP Web Development: Empowering the Digital World
PHP Web Development: Empowering the Digital WorldPHP Web Development: Empowering the Digital World
PHP Web Development: Empowering the Digital World
company
 
PHP Web Development
PHP Web DevelopmentPHP Web Development
PHP Web Development
Sanjida Afrin
 
PHP Web Development.pdf
PHP Web Development.pdfPHP Web Development.pdf
PHP Web Development.pdf
Sonia Simi
 
Training ppt
Training pptTraining ppt
Training ppt
nikita vijay
 
PhP Training Institute In Delhi
PhP Training Institute In DelhiPhP Training Institute In Delhi
PhP Training Institute In Delhi
DivyaSharma84779
 
PHP Course and Training
PHP Course and Training PHP Course and Training
PHP Course and Training
TechedoTechnologiesI
 
Php Training in Chandigarh
Php Training in ChandigarhPhp Training in Chandigarh
Php Training in Chandigarh
TechedoTechnologiesI
 
PHP
PHPPHP
PHP
Potter
 
PHP Training in Coimbatore|PHP training Coimbatore|PHP certification
PHP Training in Coimbatore|PHP training Coimbatore|PHP certificationPHP Training in Coimbatore|PHP training Coimbatore|PHP certification
PHP Training in Coimbatore|PHP training Coimbatore|PHP certification
sathyancegon
 
Applied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptxApplied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptx
voot1
 
Top 10 best PHP frameworks for web development.pdf
Top 10 best PHP frameworks for web development.pdfTop 10 best PHP frameworks for web development.pdf
Top 10 best PHP frameworks for web development.pdf
Moon Technolabs Pvt. Ltd.
 
PHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdfPHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdf
christiemarie4
 
Introduction to PHP (SDPHP)
Introduction to PHP   (SDPHP)Introduction to PHP   (SDPHP)
Introduction to PHP (SDPHP)
Eric Johnson
 

Ähnlich wie Federico Feroldi Php In Yahoo (20)

Phpyahoo
PhpyahooPhpyahoo
Phpyahoo
 
main report on restaurant
main report on restaurantmain report on restaurant
main report on restaurant
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1
 
PHP LICTURES ..........
PHP LICTURES ..........PHP LICTURES ..........
PHP LICTURES ..........
 
Building A Platform From Open Source At Yahoo
Building A Platform From Open Source At YahooBuilding A Platform From Open Source At Yahoo
Building A Platform From Open Source At Yahoo
 
Php unit i
Php unit i Php unit i
Php unit i
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
PHP Web Development: Empowering the Digital World
PHP Web Development: Empowering the Digital WorldPHP Web Development: Empowering the Digital World
PHP Web Development: Empowering the Digital World
 
PHP Web Development
PHP Web DevelopmentPHP Web Development
PHP Web Development
 
PHP Web Development.pdf
PHP Web Development.pdfPHP Web Development.pdf
PHP Web Development.pdf
 
Training ppt
Training pptTraining ppt
Training ppt
 
PhP Training Institute In Delhi
PhP Training Institute In DelhiPhP Training Institute In Delhi
PhP Training Institute In Delhi
 
PHP Course and Training
PHP Course and Training PHP Course and Training
PHP Course and Training
 
Php Training in Chandigarh
Php Training in ChandigarhPhp Training in Chandigarh
Php Training in Chandigarh
 
PHP
PHPPHP
PHP
 
PHP Training in Coimbatore|PHP training Coimbatore|PHP certification
PHP Training in Coimbatore|PHP training Coimbatore|PHP certificationPHP Training in Coimbatore|PHP training Coimbatore|PHP certification
PHP Training in Coimbatore|PHP training Coimbatore|PHP certification
 
Applied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptxApplied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptx
 
Top 10 best PHP frameworks for web development.pdf
Top 10 best PHP frameworks for web development.pdfTop 10 best PHP frameworks for web development.pdf
Top 10 best PHP frameworks for web development.pdf
 
PHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdfPHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdf
 
Introduction to PHP (SDPHP)
Introduction to PHP   (SDPHP)Introduction to PHP   (SDPHP)
Introduction to PHP (SDPHP)
 

Mehr von Federico Feroldi

Project IO - TS-Conf 2019
Project IO - TS-Conf 2019Project IO - TS-Conf 2019
Project IO - TS-Conf 2019
Federico Feroldi
 
Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...
Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...
Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...
Federico Feroldi
 
From 1 to infinity: how to scale your tech organization, build a great cultur...
From 1 to infinity: how to scale your tech organization, build a great cultur...From 1 to infinity: how to scale your tech organization, build a great cultur...
From 1 to infinity: how to scale your tech organization, build a great cultur...
Federico Feroldi
 
A Blueprint for Scala Microservices
A Blueprint for Scala MicroservicesA Blueprint for Scala Microservices
A Blueprint for Scala Microservices
Federico Feroldi
 
From Startup to Exit in 18 months
From Startup to Exit in 18 monthsFrom Startup to Exit in 18 months
From Startup to Exit in 18 months
Federico Feroldi
 
Design and development of an Online Social Network crawler
Design and development of an Online Social Network crawlerDesign and development of an Online Social Network crawler
Design and development of an Online Social Network crawler
Federico Feroldi
 
Scaling web application in the Cloud
Scaling web application in the CloudScaling web application in the Cloud
Scaling web application in the Cloud
Federico Feroldi
 
Innovate, optimize and profit with cloud computing
Innovate, optimize and profit with cloud computingInnovate, optimize and profit with cloud computing
Innovate, optimize and profit with cloud computing
Federico Feroldi
 
Crawling the web for fun and profit
Crawling the web for fun and profitCrawling the web for fun and profit
Crawling the web for fun and profit
Federico Feroldi
 
Cloudify your applications with Amazon Web Services
Cloudify your applications with Amazon Web ServicesCloudify your applications with Amazon Web Services
Cloudify your applications with Amazon Web Services
Federico Feroldi
 
the Picmix experiment
the Picmix experimentthe Picmix experiment
the Picmix experiment
Federico Feroldi
 
Cloudify - Scalability On Demand
Cloudify - Scalability On DemandCloudify - Scalability On Demand
Cloudify - Scalability On Demand
Federico Feroldi
 

Mehr von Federico Feroldi (12)

Project IO - TS-Conf 2019
Project IO - TS-Conf 2019Project IO - TS-Conf 2019
Project IO - TS-Conf 2019
 
Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...
Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...
Una Pubblica Amministrazione Agile, Funzionale e Serverless: si può fare! - C...
 
From 1 to infinity: how to scale your tech organization, build a great cultur...
From 1 to infinity: how to scale your tech organization, build a great cultur...From 1 to infinity: how to scale your tech organization, build a great cultur...
From 1 to infinity: how to scale your tech organization, build a great cultur...
 
A Blueprint for Scala Microservices
A Blueprint for Scala MicroservicesA Blueprint for Scala Microservices
A Blueprint for Scala Microservices
 
From Startup to Exit in 18 months
From Startup to Exit in 18 monthsFrom Startup to Exit in 18 months
From Startup to Exit in 18 months
 
Design and development of an Online Social Network crawler
Design and development of an Online Social Network crawlerDesign and development of an Online Social Network crawler
Design and development of an Online Social Network crawler
 
Scaling web application in the Cloud
Scaling web application in the CloudScaling web application in the Cloud
Scaling web application in the Cloud
 
Innovate, optimize and profit with cloud computing
Innovate, optimize and profit with cloud computingInnovate, optimize and profit with cloud computing
Innovate, optimize and profit with cloud computing
 
Crawling the web for fun and profit
Crawling the web for fun and profitCrawling the web for fun and profit
Crawling the web for fun and profit
 
Cloudify your applications with Amazon Web Services
Cloudify your applications with Amazon Web ServicesCloudify your applications with Amazon Web Services
Cloudify your applications with Amazon Web Services
 
the Picmix experiment
the Picmix experimentthe Picmix experiment
the Picmix experiment
 
Cloudify - Scalability On Demand
Cloudify - Scalability On DemandCloudify - Scalability On Demand
Cloudify - Scalability On Demand
 

Kürzlich hochgeladen

High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
CEPTES Software Inc
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
Edge AI and Vision Alliance
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
Anant Gupta
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Zilliz
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
Steven Carlson
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
Axel Rennoch
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
LINUS PROJECTS (INDIA)
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 

Kürzlich hochgeladen (20)

High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 

Federico Feroldi Php In Yahoo

  • 1. PHP at Yahoo! Federico Feroldi Senior Architect Engineer Yahoo! Europe
  • 2. This presentation Yahoo! numbers and values Yahoo! and PHP: a brief history PHP at Yahoo! today Final notes, QA
  • 3. Yahoo! Some numbers
  • 4. Some numbers about Yahoo! 20 Countries & Languages
  • 5. Some numbers about Yahoo! 500M Unique visitors per month 238M Active registered users source comScore March 2007
  • 6. Some numbers about Yahoo! 3,5B Average daily pageviews source comScore March 2007
  • 8. Our Mission To connect people to their passions , their communities , and the world’s knowledge
  • 9. Our values as a Engineers Security and Privacy High Availability Performance Flexibility and Innovation
  • 10. Yahoo! and PHP A brief history…
  • 11. Yahoo! and PHP: a brief history We started in 1994 with custom C/C++ software Because at the time, free technologies were considered too “immature” to run large, complex destinations.
  • 12. Yahoo! and PHP: a brief history Then we moved to the Open Source software The growth of the Open Source movement has spurred a change in thinking because languages like PHP aid performance and integration.
  • 13. Yahoo! and PHP: a brief history Circa 1996 The Filo* Web Server was replaced by the Apache web server * David Filo, one of the Yahoo! founders, coded this simple, programmable, high performance web server that powered the first Yahoo! web site.
  • 14. Yahoo! and PHP: a brief history Circa 1999 We replaced custom flat binary files with the Open Source MySQL database
  • 15. Yahoo! and PHP: a brief history Circa 2001 We needed to replace our custom scripting languages with a modern language designed for the Web. Custom scripting languages became a “pain in the neck to maintain and use” and was difficult to integrate them with third-party software.
  • 16. Yahoo! and PHP: a brief history What we needed High Performance Robust, sand boxed environment Modern language features C/C++ extensions Runs on FreeBSD Internationalization support Low training costs
  • 17. Yahoo! and PHP: a brief history Why we picked PHP Designed for Web scripting High Performance Large Open Source Community Code-in-HTML paradigm Integration, libraries, extensibility Tools: IDE, debugger, profiler
  • 18. PHP at Yahoo! today
  • 19. PHP at Yahoo! today Development Methodology Server Architecture Application Layout Dependency Management Security Performance Globalization Open Source Frameworks
  • 20. Yahoo! PHP: Server Architecture Users Load Balancers Apache PHP APC, PEAR, PECL, Custom Extensions Custom Apache Extensions FreeBSD 4.x/6.x, Linux 2.6.x MySQL Web Services Ad API User API
  • 21. Yahoo! PHP: Application Layout HTML PHP HTML Templates /usr/local/share/htdocs/*.php Template Helpers /usr/local/share/htdocs/*.inc Business Logic /usr/local/share/pear/*.inc Data Access, Networking, Crypto C/C++ core code
  • 22. Yahoo! PHP: Dependency Management Light base PHP package Basic PHP install includes only XML parser. All extensions disabled by default: ./configure --disable-all + Avoids unnecessary dependencies + Smaller Apache memory footprint
  • 23. Yahoo! PHP: Dependency Management Self contained extension packages Extensions can be installed separately with the package management tool. Required dependencies are included in the installation process.
  • 24. Yahoo! PHP: Security php.ini settings Always set open_basedir Insurance against /etc/passwd exploits. Set allow_url_fopen = Off Use libcurl instead, avoid open proxy exploits. Set display_errors = Off However, set log_errors = On
  • 25. Yahoo! PHP: Security Input Filtering XSS and SQL Inj. most common attacks Never trust the data coming from the browser. Use input_filter hook Sanitize all user-submitted data on each request. Use PECL filter package Derived from our filtering library.
  • 26. Yahoo! PHP: Performance Opcode Caches Easiest performance boost Cache parsed PHP scripts in shared memory. Runtime optimizations without code modifications. Several products available APC* Zend Performance Suite Turck MMCache * that’s what we use
  • 27. Yahoo! PHP: Performance Custom PHP Extensions in C/C++ Yahoo! Develops its own extensions Fast and optimized execution speed. Access to custom client libraries. but Longer development (edit, compile, link, debug) Manual memory management (and related issues)
  • 28. Yahoo! PHP: Performance Applications architecture Avoid PHP sessions (they’re slow) Use cookies to store the user data that you most often need (like userid, profile timestamp, etc…) in an encrypted and signed format.
  • 29. Yahoo! PHP: Globalization Unicode Yahoo! contributed to PHP Unicode ext. Andrei Zmievski (Yahoo!), Andi Gutmans (Zend) and many members of PHP community.
  • 30. Yahoo! PHP: Globalization I18N support Generate per intl PHP templates (r3 TMT) Yahoo! has donated to the Open Source his homegrown Template Management Tool (r3 TMT) . r3 allows developers of web applications to customize and translate their UI for different languages, markets and uses. http://sourceforge.net/projects/rthree
  • 31. Yahoo! PHP: PHP Frameworks Smarty Not widely used at Yahoo!. Written in user-space PHP . Caching lowers but does not eliminate the run-time overhead on each request . With Yahoo!'s level of traffic, this overhead can be considerable .
  • 32. Yahoo! PHP: PHP Frameworks Symfony We began to use Symfony ! (recently) Good for integrated development , testing . Factors out common patterns . Encourages good design .
  • 33. Yahoo! PHP: PHP Frameworks Symfony (what we kept) Core MVC Architecture Configuration system The View Layer User Security
  • 34. Yahoo! PHP: PHP Frameworks Symfony (what we replaced) Model Layer and ORM Doesn’t scale to our needs Configuration system (extended) More flexible , I18N support Internationalization Integrated with r3 TMT
  • 35. Yahoo! PHP: PHP Frameworks Drupal Usage investigations going on. Excellent application framework . Not tested yet on Yahoo! production .
  • 37. Yahoo! Developer Network PHP Developer Center Using PHP with Yahoo! Web Services API HowTo Articles and Code Samples . Active community . http://developer.yahoo.com/php/
  • 38. Yahoo! Developer Network Yahoo! Web Services Yahoo! Mail API Integrate your application with Yahoo! Mail . Yahoo! Maps API Easily build advanced map based mashups . Flickr API Get access to milion of pictures . del.icio.us API The number one tagging and bookmarking tool .
  • 39. Thank you! - Questions? Yahoo! Developer Network http://developer.yahoo.com/ Federico Feroldi [email_address]
  • 40.