SlideShare a Scribd company logo
1 of 42
Download to read offline
@nightsailer
•
    •
    •
•
    •
•
    •
    •
    •
    •
•
    •
    •
    •
    •   99%

    •
•
    •
    •
        •
        •
    •       OO   /CSS
•
    •                 HTML/CSS)

        • Pagespeed
    •                      image

    •
•
    •
        •
    •
    •
        •
•
    •
    •
    •
•
    •
    •
    •
    •
•
    •       PBP

        • Perl Best Practices
    •                UTF-8

        •         css,   @charset
• Git
   •
   •         branch/rebase/stash


   •           GUI

        • gitx/git-tower for mac
   •
   • Rebase          Merge
•
        • PHP-fpm
        • PECL
        • Nginx
    •
• MongoDB/Installation
 •
 • 32bit OS 2G
     64bit
 •
• MongoDB/Model
 •         DoggyX_Model_Mongo_Base

 •       CRUD           method

 • proxy method
   • proxy_method like: add_user($name,
     $age...)
• DoggyX_Model_Mongo_Base
 • _id       3

   • MONGO_ID_NATIVE
   • MONGO_ID_SEQ
   • MONGO_ID_CUSTOM
• MONGO_ID_NATIVE
 •       new MongoID

• MONGO_ID_SEQ
 •           auto-increment

• MONGO_ID_CUSTOM
 •                  _id
• Don’t use MongoDateTime, it’s suck!
• Timestamp
   • protected $created_timestamp_fields
     = array('created_on','updated_on');
   • $updated_timestamp_fields = array
     ('updated_on');
 • auto_update_timestamp
•        Create/Insert
    created_timestamp_fields
•           model save/update*
          updated_timestamp_fields

•
•       Event/Hook     model

    • before_save(&$data)
    • before_update(&$data)
    • after_save
    • validate
     •
     • return false
        • Doggy_Model_ValidateException
• Session
 • DoggyX_Session_Service(         )

   • on_service_init
   • on_service_stop
   • load_visitor
   • bind_session_to_action($action)
 •                   ,         Interceptor
• Session
 • DoggyX_Interceptor_XSession
   • check_session_auth($service,
       $invocation)
   •                      session
• Session
   •               Session_Servie
            session,     session cookie

   •                      ,     session
       is_login=true, visitor->id       id

   •        visitor

   •      destroy          session
       mongodb session
• Session
   • Session             state,


   • Session != Cache!
   • Session Clean       Perl service
•
•        Redmine

    •                /Milestone

    •
    • Issues Track
• Issue Track / Roadmap
 •
 •
 •
    •
 •
 •
•
•
•
    •
    •   debug

•
•
•
    •                       cookie

        • css/javascript/images
    • Javascript
    • Css
    • Image        ,    css spirit
•        /Exipres

    • Cache
    •           query        Cache

    • Url-rewrite
      • /css/v0.0.9-b200910/base.css
        • => /css/base.css
      •                css/
•
    •
        •
    •        Gearman

    •        Perl        PHP   Worker

        • PHP is suck!
    • Warm Cache!
• PHP
   •
     •
   •     IO

     •     IO

• Gearman Job
• MongoDB
   • Query
    • Type cast: (int) $user_id
   • Query sort
    •
    •
•         vmstat
•
            copy&paste

•   Bench

•
•
•
    •
    •
•
    •
    •
•
•       Scale-out

•
    •     GUI

    •
•
    •
    •         MongoDB RS

•
    •
    • Gearman+VPN
• C10K
 •                 C10K      3


 • Nginx
• How?
 • Starman is good, but
   • Prefork          C10K
• Quick work around:
 • Evented IO, Twiggy!
   • AnyEvent based
 • Archive PSGI         AE

   • Must keep non-blocking IO
 • Nginx upstream balance!
• Works fine, Nginx upstream balance!
         upsteam xiaba {
      server 127.0.0.1:9001;
      server 127.0.0.1:9002;
               ....
                }

• TODO
 • Nginx-Lua/Nginx-Misc/Echo
 • Low latency!

More Related Content

What's hot

Maximize your Cache for No Cash
Maximize your Cache for No CashMaximize your Cache for No Cash
Maximize your Cache for No CashYorick Phoenix
 
"Vendor Everything" still applies
"Vendor Everything" still applies"Vendor Everything" still applies
"Vendor Everything" still appliesRyan McGeary
 
Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with GruntLadies Who Code
 
Optimizing Your Site
Optimizing Your SiteOptimizing Your Site
Optimizing Your Sitertvenge
 
Chef at WebMD
Chef at WebMDChef at WebMD
Chef at WebMDadamleff
 
Put a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going FastPut a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going FastOSCON Byrum
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Racksickill
 
Upstate CSCI 450 WebDev Chapter 1
Upstate CSCI 450 WebDev Chapter 1Upstate CSCI 450 WebDev Chapter 1
Upstate CSCI 450 WebDev Chapter 1DanWooster1
 
JavaScript performance patterns
JavaScript performance patternsJavaScript performance patterns
JavaScript performance patternsStoyan Stefanov
 
Building a Line of Business Enterprise Web App with Play, Scala, and Akka
Building a Line of Business Enterprise Web App with Play, Scala, and AkkaBuilding a Line of Business Enterprise Web App with Play, Scala, and Akka
Building a Line of Business Enterprise Web App with Play, Scala, and AkkaKevin Hoffman
 
Working With Rails
Working With RailsWorking With Rails
Working With RailsDali Wang
 
Node workShop Basic
Node workShop BasicNode workShop Basic
Node workShop BasicCaesar Chi
 
Django rest framework tips and tricks
Django rest framework   tips and tricksDjango rest framework   tips and tricks
Django rest framework tips and tricksxordoquy
 

What's hot (20)

The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY Protocol
 
Maximize your Cache for No Cash
Maximize your Cache for No CashMaximize your Cache for No Cash
Maximize your Cache for No Cash
 
"Vendor Everything" still applies
"Vendor Everything" still applies"Vendor Everything" still applies
"Vendor Everything" still applies
 
Node JS
Node JSNode JS
Node JS
 
The Environment Restaurant
The Environment RestaurantThe Environment Restaurant
The Environment Restaurant
 
Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with Grunt
 
Chef Dialects
Chef DialectsChef Dialects
Chef Dialects
 
Optimizing Your Site
Optimizing Your SiteOptimizing Your Site
Optimizing Your Site
 
Liking performance
Liking performanceLiking performance
Liking performance
 
Chef at WebMD
Chef at WebMDChef at WebMD
Chef at WebMD
 
Week6
Week6Week6
Week6
 
Put a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going FastPut a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going Fast
 
Wakeme Presen
Wakeme PresenWakeme Presen
Wakeme Presen
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Rack
 
Upstate CSCI 450 WebDev Chapter 1
Upstate CSCI 450 WebDev Chapter 1Upstate CSCI 450 WebDev Chapter 1
Upstate CSCI 450 WebDev Chapter 1
 
JavaScript performance patterns
JavaScript performance patternsJavaScript performance patterns
JavaScript performance patterns
 
Building a Line of Business Enterprise Web App with Play, Scala, and Akka
Building a Line of Business Enterprise Web App with Play, Scala, and AkkaBuilding a Line of Business Enterprise Web App with Play, Scala, and Akka
Building a Line of Business Enterprise Web App with Play, Scala, and Akka
 
Working With Rails
Working With RailsWorking With Rails
Working With Rails
 
Node workShop Basic
Node workShop BasicNode workShop Basic
Node workShop Basic
 
Django rest framework tips and tricks
Django rest framework   tips and tricksDjango rest framework   tips and tricks
Django rest framework tips and tricks
 

Viewers also liked

History of Food Service Industry
History of Food Service IndustryHistory of Food Service Industry
History of Food Service IndustryEkta Dugar
 
Food service industry
Food service industryFood service industry
Food service industrykellimccabe
 
F&b service operation(week2)
F&b service operation(week2)F&b service operation(week2)
F&b service operation(week2)nyc_naomi
 
The Food Service Industry
The Food Service Industry The Food Service Industry
The Food Service Industry razbribriga
 
Principles of food beverage and labor cost controls
Principles of food  beverage  and labor cost controlsPrinciples of food  beverage  and labor cost controls
Principles of food beverage and labor cost controlslibfsb
 
WHAT’S ON THE MENU IN 2017: Global Food and Beverage Trends
WHAT’S ON THE MENU IN 2017: Global Food and Beverage TrendsWHAT’S ON THE MENU IN 2017: Global Food and Beverage Trends
WHAT’S ON THE MENU IN 2017: Global Food and Beverage TrendsEdelman
 
Food and-beverage-service-management
Food and-beverage-service-managementFood and-beverage-service-management
Food and-beverage-service-managementAMARESH JHA
 
FOOD & BEVERAGE MANAGEMENT
FOOD & BEVERAGE MANAGEMENTFOOD & BEVERAGE MANAGEMENT
FOOD & BEVERAGE MANAGEMENTLawiex21
 
Banquet and catering operations
Banquet and catering operationsBanquet and catering operations
Banquet and catering operationsSachinKumbla
 
HOSPITALITY FOOD & BEVERAGE SERVICE
HOSPITALITY FOOD & BEVERAGE SERVICE HOSPITALITY FOOD & BEVERAGE SERVICE
HOSPITALITY FOOD & BEVERAGE SERVICE Brahmas Pandey
 
Types of food and beverage services
Types of food and beverage servicesTypes of food and beverage services
Types of food and beverage servicesAmaresh Kumar
 

Viewers also liked (13)

History of Food Service Industry
History of Food Service IndustryHistory of Food Service Industry
History of Food Service Industry
 
Food service industry
Food service industryFood service industry
Food service industry
 
F&b service operation(week2)
F&b service operation(week2)F&b service operation(week2)
F&b service operation(week2)
 
The Food Service Industry
The Food Service Industry The Food Service Industry
The Food Service Industry
 
F & b service
F & b service  F & b service
F & b service
 
Principles of food beverage and labor cost controls
Principles of food  beverage  and labor cost controlsPrinciples of food  beverage  and labor cost controls
Principles of food beverage and labor cost controls
 
food service industry
food service industryfood service industry
food service industry
 
WHAT’S ON THE MENU IN 2017: Global Food and Beverage Trends
WHAT’S ON THE MENU IN 2017: Global Food and Beverage TrendsWHAT’S ON THE MENU IN 2017: Global Food and Beverage Trends
WHAT’S ON THE MENU IN 2017: Global Food and Beverage Trends
 
Food and-beverage-service-management
Food and-beverage-service-managementFood and-beverage-service-management
Food and-beverage-service-management
 
FOOD & BEVERAGE MANAGEMENT
FOOD & BEVERAGE MANAGEMENTFOOD & BEVERAGE MANAGEMENT
FOOD & BEVERAGE MANAGEMENT
 
Banquet and catering operations
Banquet and catering operationsBanquet and catering operations
Banquet and catering operations
 
HOSPITALITY FOOD & BEVERAGE SERVICE
HOSPITALITY FOOD & BEVERAGE SERVICE HOSPITALITY FOOD & BEVERAGE SERVICE
HOSPITALITY FOOD & BEVERAGE SERVICE
 
Types of food and beverage services
Types of food and beverage servicesTypes of food and beverage services
Types of food and beverage services
 

Similar to 下吧开发总结

RSpec on Rails Tutorial
RSpec on Rails TutorialRSpec on Rails Tutorial
RSpec on Rails TutorialWen-Tien Chang
 
MongoDB使用技巧
MongoDB使用技巧MongoDB使用技巧
MongoDB使用技巧mysqlops
 
サーバー・クライアントの ボトルネック調査と高速化
サーバー・クライアントの ボトルネック調査と高速化サーバー・クライアントの ボトルネック調査と高速化
サーバー・クライアントの ボトルネック調査と高速化Sugawara Genki
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Railsjduff
 
BDD for Rails Legacy Code
BDD for Rails Legacy CodeBDD for Rails Legacy Code
BDD for Rails Legacy CodeWei Jen Lu
 
Caching your rails application
Caching your rails applicationCaching your rails application
Caching your rails applicationArrrrCamp
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料Shinichi Ogawa
 
视觉中国的MongoDB应用实践(QConBeijing2011)
视觉中国的MongoDB应用实践(QConBeijing2011)视觉中国的MongoDB应用实践(QConBeijing2011)
视觉中国的MongoDB应用实践(QConBeijing2011)Night Sailer
 
Performance and scalability with drupal
Performance and scalability with drupalPerformance and scalability with drupal
Performance and scalability with drupalRonan Berder
 
MongoDB开发应用实践
MongoDB开发应用实践MongoDB开发应用实践
MongoDB开发应用实践iammutex
 
Padrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraPadrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraStoyan Zhekov
 
CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009Jason Davies
 
Rails Performance Tricks and Treats
Rails Performance Tricks and TreatsRails Performance Tricks and Treats
Rails Performance Tricks and TreatsMarshall Yount
 
Selenium Tips & Tricks - StarWest 2015
Selenium Tips & Tricks - StarWest 2015Selenium Tips & Tricks - StarWest 2015
Selenium Tips & Tricks - StarWest 2015Andrew Krug
 
Breaking vaults: Stealing Lastpass protected secrets
Breaking vaults: Stealing Lastpass protected secretsBreaking vaults: Stealing Lastpass protected secrets
Breaking vaults: Stealing Lastpass protected secretsMartin Vigo
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Rhio Kim
 
Cache on Delivery
Cache on DeliveryCache on Delivery
Cache on DeliverySensePost
 
Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in schoolMichael Galpin
 
ITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cbormITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cbormOrtus Solutions, Corp
 

Similar to 下吧开发总结 (20)

RSpec on Rails Tutorial
RSpec on Rails TutorialRSpec on Rails Tutorial
RSpec on Rails Tutorial
 
MongoDB使用技巧
MongoDB使用技巧MongoDB使用技巧
MongoDB使用技巧
 
サーバー・クライアントの ボトルネック調査と高速化
サーバー・クライアントの ボトルネック調査と高速化サーバー・クライアントの ボトルネック調査と高速化
サーバー・クライアントの ボトルネック調査と高速化
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Rails
 
BDD for Rails Legacy Code
BDD for Rails Legacy CodeBDD for Rails Legacy Code
BDD for Rails Legacy Code
 
Caching your rails application
Caching your rails applicationCaching your rails application
Caching your rails application
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料
 
视觉中国的MongoDB应用实践(QConBeijing2011)
视觉中国的MongoDB应用实践(QConBeijing2011)视觉中国的MongoDB应用实践(QConBeijing2011)
视觉中国的MongoDB应用实践(QConBeijing2011)
 
Performance and scalability with drupal
Performance and scalability with drupalPerformance and scalability with drupal
Performance and scalability with drupal
 
MongoDB开发应用实践
MongoDB开发应用实践MongoDB开发应用实践
MongoDB开发应用实践
 
Padrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraPadrino - the Godfather of Sinatra
Padrino - the Godfather of Sinatra
 
CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009CouchDB for Web Applications - Erlang Factory London 2009
CouchDB for Web Applications - Erlang Factory London 2009
 
Rails Performance Tricks and Treats
Rails Performance Tricks and TreatsRails Performance Tricks and Treats
Rails Performance Tricks and Treats
 
Selenium Tips & Tricks - StarWest 2015
Selenium Tips & Tricks - StarWest 2015Selenium Tips & Tricks - StarWest 2015
Selenium Tips & Tricks - StarWest 2015
 
Top ten-list
Top ten-listTop ten-list
Top ten-list
 
Breaking vaults: Stealing Lastpass protected secrets
Breaking vaults: Stealing Lastpass protected secretsBreaking vaults: Stealing Lastpass protected secrets
Breaking vaults: Stealing Lastpass protected secrets
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
 
Cache on Delivery
Cache on DeliveryCache on Delivery
Cache on Delivery
 
Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in school
 
ITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cbormITB2017 - Slaying the ORM dragons with cborm
ITB2017 - Slaying the ORM dragons with cborm
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

下吧开发总结

  • 2.
  • 3.
  • 4.
  • 5. • • • •
  • 6. • • • •
  • 7. • • • • 99% •
  • 8. • • • • • OO /CSS
  • 9. • HTML/CSS) • Pagespeed • image •
  • 10. • • • • •
  • 11. • • •
  • 12. • • • •
  • 13. • PBP • Perl Best Practices • UTF-8 • css, @charset
  • 14. • Git • • branch/rebase/stash • GUI • gitx/git-tower for mac • • Rebase Merge
  • 15. • PHP-fpm • PECL • Nginx •
  • 16. • MongoDB/Installation • • 32bit OS 2G 64bit •
  • 17. • MongoDB/Model • DoggyX_Model_Mongo_Base • CRUD method • proxy method • proxy_method like: add_user($name, $age...)
  • 18. • DoggyX_Model_Mongo_Base • _id 3 • MONGO_ID_NATIVE • MONGO_ID_SEQ • MONGO_ID_CUSTOM
  • 19. • MONGO_ID_NATIVE • new MongoID • MONGO_ID_SEQ • auto-increment • MONGO_ID_CUSTOM • _id
  • 20. • Don’t use MongoDateTime, it’s suck! • Timestamp • protected $created_timestamp_fields = array('created_on','updated_on'); • $updated_timestamp_fields = array ('updated_on'); • auto_update_timestamp
  • 21. Create/Insert created_timestamp_fields • model save/update* updated_timestamp_fields •
  • 22. Event/Hook model • before_save(&$data) • before_update(&$data) • after_save • validate • • return false • Doggy_Model_ValidateException
  • 23. • Session • DoggyX_Session_Service( ) • on_service_init • on_service_stop • load_visitor • bind_session_to_action($action) • , Interceptor
  • 24. • Session • DoggyX_Interceptor_XSession • check_session_auth($service, $invocation) • session
  • 25. • Session • Session_Servie session, session cookie • , session is_login=true, visitor->id id • visitor • destroy session mongodb session
  • 26. • Session • Session state, • Session != Cache! • Session Clean Perl service
  • 27. • • Redmine • /Milestone • • Issues Track
  • 28. • Issue Track / Roadmap • • • • • •
  • 30. • • debug • •
  • 31. • cookie • css/javascript/images • Javascript • Css • Image , css spirit
  • 32. /Exipres • Cache • query Cache • Url-rewrite • /css/v0.0.9-b200910/base.css • => /css/base.css • css/
  • 33. • • • Gearman • Perl PHP Worker • PHP is suck! • Warm Cache!
  • 34. • PHP • • • IO • IO • Gearman Job
  • 35. • MongoDB • Query • Type cast: (int) $user_id • Query sort • • • vmstat
  • 36. copy&paste • Bench • •
  • 37. • • • • •
  • 38. • • Scale-out • • GUI •
  • 39. • • MongoDB RS • • • Gearman+VPN
  • 40. • C10K • C10K 3 • Nginx • How? • Starman is good, but • Prefork C10K
  • 41. • Quick work around: • Evented IO, Twiggy! • AnyEvent based • Archive PSGI AE • Must keep non-blocking IO • Nginx upstream balance!
  • 42. • Works fine, Nginx upstream balance! upsteam xiaba { server 127.0.0.1:9001; server 127.0.0.1:9002; .... } • TODO • Nginx-Lua/Nginx-Misc/Echo • Low latency!

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n