SlideShare uma empresa Scribd logo
1 de 26
PHP at Yahoo! http://public.yahoo.com/~radwin/ Michael J. Radwin October 20, 2005
Outline ,[object Object],[object Object],[object Object]
The Internet’s most trafficked site
25 countries, 13 languages
Yahoo! by the Numbers ,[object Object],[object Object],[object Object],[object Object],[object Object]
 
Engineering Values ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
From Proprietary to Open Source 94  95  96  97  98  99  00  01  02  03  04  05  Web Server Apache “ Filo Server” Web Lang yScript DB Flat Files
Choosing a Language How and Why We Selected PHP
Choosing PHP: brief history ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ideal Language Criteria ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Top 10 Language Choices XSLT yScript mod_include
Performance: Requests mod_perl yScript
Performance: Memory mod_perl yScript
Why we picked PHP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PHP at Yahoo! Today
Yahoo!’s Development Methodology ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Architecture User Profile Server web server web server Web Server Scripts Load Balancer Ad Server Web Services Apache
File Layout ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],50% HTML 50% PHP 0% HTML 100% PHP 0% HTML 0% PHP 95% HTML 5% PHP
Dependency Management ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Security: INI Settings ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Security: Input Filtering ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Performance: Opcode Caches ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Performance: PHP Extensions in C++ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Globalization: PHP Unicode ,[object Object],[object Object],[object Object],[object Object],[object Object],+ + = 6 ICU
 

Mais conteúdo relacionado

Mais procurados

Persentation on php summer tranning
Persentation on php summer tranningPersentation on php summer tranning
Persentation on php summer tranningkajal kumari
 
.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 ServicesWorth Studios Pvt. Ltd.
 
Website Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequestWebsite Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequestChen-Tien Tsai
 
Web development with Python
Web development with PythonWeb development with Python
Web development with PythonRaman Balyan
 
Zephir - How to create PHP extension
Zephir - How to create PHP extensionZephir - How to create PHP extension
Zephir - How to create PHP extensionBa Thanh Huynh
 
Building Chrome Extensions
Building Chrome ExtensionsBuilding Chrome Extensions
Building Chrome ExtensionsRon Reiter
 
PHP Interview Questions
PHP Interview QuestionsPHP Interview Questions
PHP Interview QuestionsMaryamAnwar10
 
PHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerPHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerRajiv Bhatia
 
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]Ismail Tasdelen
 

Mais procurados (19)

PHP Project PPT
PHP Project PPTPHP Project PPT
PHP Project PPT
 
Persentation on php summer tranning
Persentation on php summer tranningPersentation on php summer tranning
Persentation on php summer tranning
 
What is PHP?
What is PHP?What is PHP?
What is PHP?
 
LFI to RCE
LFI to RCELFI to RCE
LFI to RCE
 
.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
 
Webtechnologies
Webtechnologies Webtechnologies
Webtechnologies
 
PHP Presentation
PHP PresentationPHP Presentation
PHP Presentation
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)
 
Website Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequestWebsite Auto scraping with Autoit and .Net HttpRequest
Website Auto scraping with Autoit and .Net HttpRequest
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Web development with Python
Web development with PythonWeb development with Python
Web development with Python
 
Zephir - How to create PHP extension
Zephir - How to create PHP extensionZephir - How to create PHP extension
Zephir - How to create PHP extension
 
PHP Presentation
PHP PresentationPHP Presentation
PHP Presentation
 
Php
PhpPhp
Php
 
Building Chrome Extensions
Building Chrome ExtensionsBuilding Chrome Extensions
Building Chrome Extensions
 
PHP Interview Questions
PHP Interview QuestionsPHP Interview Questions
PHP Interview Questions
 
LFI
LFILFI
LFI
 
PHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerPHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP Server
 
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]
 

Destaque

Php Introduction nikul
Php Introduction nikulPhp Introduction nikul
Php Introduction nikulNikul Shah
 
04 slide loops
04 slide loops04 slide loops
04 slide loopshazem15
 
Separata fundamentos
Separata   fundamentos Separata   fundamentos
Separata fundamentos Jeimmy Israel
 
116 misiondelmovimiento 1
116 misiondelmovimiento 1116 misiondelmovimiento 1
116 misiondelmovimiento 1Jeimmy Israel
 
Pp2 f pt_spotkanie_nr_5_zmiany
Pp2 f pt_spotkanie_nr_5_zmianyPp2 f pt_spotkanie_nr_5_zmiany
Pp2 f pt_spotkanie_nr_5_zmianyKN-Progressive
 
The Why - Contracting Must Change and What will Happen if We Don't?
The Why - Contracting Must Change and What will Happen if We Don't?The Why - Contracting Must Change and What will Happen if We Don't?
The Why - Contracting Must Change and What will Happen if We Don't?thempowergroup
 
Инновационная методика преподавания иностранных языков
Инновационная методика преподавания иностранных языковИнновационная методика преподавания иностранных языков
Инновационная методика преподавания иностранных языковsales-training
 
Бизнес симуляций Sti
Бизнес симуляций StiБизнес симуляций Sti
Бизнес симуляций Stisales-training
 
Take Me Out to the Ball Game - Competency Based Talent Management
Take Me Out to the Ball Game - Competency Based Talent ManagementTake Me Out to the Ball Game - Competency Based Talent Management
Take Me Out to the Ball Game - Competency Based Talent Managementthempowergroup
 
Оценка персонала STI
Оценка персонала STIОценка персонала STI
Оценка персонала STIsales-training
 

Destaque (20)

PHP Reset
PHP ResetPHP Reset
PHP Reset
 
Php Introduction nikul
Php Introduction nikulPhp Introduction nikul
Php Introduction nikul
 
Php basics
Php basicsPhp basics
Php basics
 
04 slide loops
04 slide loops04 slide loops
04 slide loops
 
Google
GoogleGoogle
Google
 
Separata fundamentos
Separata   fundamentos Separata   fundamentos
Separata fundamentos
 
116 misiondelmovimiento 1
116 misiondelmovimiento 1116 misiondelmovimiento 1
116 misiondelmovimiento 1
 
Value framework
Value frameworkValue framework
Value framework
 
Pp2 f pt_spotkanie_nr_5_zmiany
Pp2 f pt_spotkanie_nr_5_zmianyPp2 f pt_spotkanie_nr_5_zmiany
Pp2 f pt_spotkanie_nr_5_zmiany
 
The Why - Contracting Must Change and What will Happen if We Don't?
The Why - Contracting Must Change and What will Happen if We Don't?The Why - Contracting Must Change and What will Happen if We Don't?
The Why - Contracting Must Change and What will Happen if We Don't?
 
Sti.2014new
Sti.2014newSti.2014new
Sti.2014new
 
Koyching
KoychingKoyching
Koyching
 
Electrical2
Electrical2Electrical2
Electrical2
 
Close loop Ventilation
Close loop VentilationClose loop Ventilation
Close loop Ventilation
 
Инновационная методика преподавания иностранных языков
Инновационная методика преподавания иностранных языковИнновационная методика преподавания иностранных языков
Инновационная методика преподавания иностранных языков
 
Avon1
Avon1Avon1
Avon1
 
Бизнес симуляций Sti
Бизнес симуляций StiБизнес симуляций Sti
Бизнес симуляций Sti
 
Koyching 2.0
Koyching 2.0Koyching 2.0
Koyching 2.0
 
Take Me Out to the Ball Game - Competency Based Talent Management
Take Me Out to the Ball Game - Competency Based Talent ManagementTake Me Out to the Ball Game - Competency Based Talent Management
Take Me Out to the Ball Game - Competency Based Talent Management
 
Оценка персонала STI
Оценка персонала STIОценка персонала STI
Оценка персонала STI
 

Semelhante a Phpyahoo

Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Francesco Fullone
 
Federico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareRomin Irani
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIvo Jansch
 
The i7 Framework for System-i
The i7 Framework for System-iThe i7 Framework for System-i
The i7 Framework for System-iIvo Jansch
 
Php Frameworks
Php FrameworksPhp Frameworks
Php FrameworksRyan Davis
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHPEric Johnson
 
main report on restaurant
main report on restaurantmain report on restaurant
main report on restaurantNeeraj Kumar
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1ADARSH BHATT
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.pptRonakBothra8
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.pptProjectCexsys
 
Hypertext Mark Up Language Introduction.
Hypertext Mark Up Language Introduction.Hypertext Mark Up Language Introduction.
Hypertext Mark Up Language Introduction.JohnLagman3
 
Basics of HTML.ppt
Basics of HTML.pptBasics of HTML.ppt
Basics of HTML.ppthandu18
 
Unleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformUnleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformSébastien Morel
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtechkaran saini
 

Semelhante a Phpyahoo (20)

Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!
 
Federico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi Php In Yahoo
Federico Feroldi Php In Yahoo
 
Tech talk: PHP
Tech talk: PHPTech talk: PHP
Tech talk: PHP
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web Services
 
The i7 Framework for System-i
The i7 Framework for System-iThe i7 Framework for System-i
The i7 Framework for System-i
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
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 at Yahoo!
PHP at Yahoo!PHP at Yahoo!
PHP at Yahoo!
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Hypertext Mark Up Language Introduction.
Hypertext Mark Up Language Introduction.Hypertext Mark Up Language Introduction.
Hypertext Mark Up Language Introduction.
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Basics of HTML.ppt
Basics of HTML.pptBasics of HTML.ppt
Basics of HTML.ppt
 
Chowdhury-webtech.ppt
Chowdhury-webtech.pptChowdhury-webtech.ppt
Chowdhury-webtech.ppt
 
Unleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformUnleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ Platform
 
Chowdhury webtech
Chowdhury webtechChowdhury webtech
Chowdhury webtech
 

Último

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Último (20)

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

Phpyahoo

Notas do Editor

  1. Abstract: In 2002, Yahoo selected PHP for Web site development and began to phase out its own proprietary server-side scripting language. Three years later, Michael Radwin reflects on how the switch to PHP offered both technical challenges and productivity increases. The first part of the presentation offers a look inside Yahoo's decision-making process to adopt an open-source scripting language. Radwin addresses why Yahoo selected PHP over other languages, focusing on the performance and stability required to serve billions of page views a day. In the second part, Radwin discusses Yahoo's PHP development methodology, which has enabled its engineers to rapidly implement features while still creating software that is maintainable over long periods of time. Biography: Michael J. Radwin is an engineering manager for Yahoo's Infrastructure Software group. His team develops and supports Web platform technologies such as Apache, PHP, and MySQL, and more recently SOAP/REST toolkits. Radwin has been hacking on Apache since 1998 in high-performance environments and his team has been instrumental in helping Yahoo migrate from proprietary to open source software.
  2. Numbers from Q3 2005 Yahoo! Earnings October 18, 2005
  3. Compared PHP 4.1.2, mod_perl, yScript (Yahoo proprietary) Pentium III 800Mhz, 512M RAM, FreeBSD 4.3 (average for early 2002) Sample app: 33K input script, 41K output Included and evaluated 3 other files Header, navbar, footer Arithmetic, regex, echo variables Pseudo-personalization (“Hello, mradwin”) A few calls to C++ extension Fetch user profile from profile server Insert advertisements from adserver
  4. Yahoo property (sports, finance, personals, etc…) Load balancer - which server can most handle requests coming in based on algorithm (round robin, least connections, etc..) Running on server are bunch of PHP scripts. Can make remote calls to relational databases, or to other web services.
  5. Web pages go regular Apache htdocs dir http://login.yahoo.com/config/login?.intl=dk /usr/local/share/htdocs/dk/login.php Business logic goes in PEAR directory /usr/local/share/pear/HTML/Form.php /usr/local/share/pear/Yahoo/Sports/Teams.php
  6. Profile with APD to see where your hot spots are. If you see a function being called 8,000 times on one page, that might be a good candidate to port to C Focus on scripts (or include files) that get hit a lot Don’t bother optimizing a script that only gets called once in a while Examples of candidates for extensions Distributed locking i18n Advertisements UDB (user database) Cookies DBM-like flat files Security Input Filtering