SlideShare uma empresa Scribd logo
1 de 36
Pingooo (COSCUP team) 2010-08-15 COSCUP / GNOME.Asia 2010 A Beautiful Mistake What was learned about App Engine with the registration system
Disclaimer (legal) The content of this talk is the speaker's personal opinion and is not the opinion or policy of his employer or COSCUP Team.
The Growth of COSCUP
The Growth of COSCUP ?
總召 Jouston:   「話說回來,若是可以辦到 700 人以上, 我就在 2010 慶功宴上 倒立做伏地挺身 。」 —  2009/08/24
行銷組的使命 「讓更多人知道COSCUP、      注意COSCUP、      報名COSCUP」
其實:讓 Jouston 倒立做伏地挺身
行銷組的努力 流了好多汗: ,[object Object]
98次噗浪
10次社群聚會宣傳
2份EDM,寄給2000多人
其實:讓 Jouston 倒立做伏地挺身
Decided to open up 610 slots
Traffic estimate ,[object Object]
Peak time 2x = 6.66/min
A small piece of cake
Flow of Registration ,[object Object]
The web site produces a URL containing a confirmation code and send it to the e-mail address.
Recipient of the e-mail clicks the URL to complete the registration process.
Really a small piece of cake. Any computer science student can do it.
Other Requirements ,[object Object]
Reservation code: for important community members that can't go online when the registration opens. (different flow)
Questionnaire: collect data for marketing team and program committee.
Nothing but a small piece of cake.
App Engine i18n ,[object Object]
Internationalize messages in templates
Translation of message files
Browser language preference detection
Enable i18n in App Engine More than one solutions ,[object Object]
Django: built-in, just enable the configuration ,[object Object]
make-messages.py -l zh_TW  # updates django.po
vim conf/locale/zh_TW/LC_MESSAGES/django.po
compile-messages.py  # makes django.mo
“ Template Method” design pattern
Load the i18n module “ Template Method” design pattern
Load the i18n module “ Template Method” design pattern

Mais conteúdo relacionado

Semelhante a COSCUP 2010 Registration System Built on Google App Engine Faced Quotas and Task Queues

Real World ChatOps
Real World ChatOpsReal World ChatOps
Real World ChatOpsVictorOps
 
Bonita Open Solution: What, Why & How
Bonita Open Solution: What, Why & HowBonita Open Solution: What, Why & How
Bonita Open Solution: What, Why & HowBonitasoft
 
Super feats of integration x pages with symphony sharepoint and office
Super feats of integration  x pages with symphony sharepoint and officeSuper feats of integration  x pages with symphony sharepoint and office
Super feats of integration x pages with symphony sharepoint and officeJohn Head
 
COSCUP 2018 opening @ NTUST (2018.08.10)
COSCUP 2018 opening @ NTUST (2018.08.10)COSCUP 2018 opening @ NTUST (2018.08.10)
COSCUP 2018 opening @ NTUST (2018.08.10)Lihan Chen
 
Feeding the Bots: Preparing Content for the Intelligent Assistant Revolution
Feeding the Bots: Preparing Content for the Intelligent Assistant RevolutionFeeding the Bots: Preparing Content for the Intelligent Assistant Revolution
Feeding the Bots: Preparing Content for the Intelligent Assistant Revolutionjgelb
 
IRJET - A Locomotive Voice-Based Assistant using Raspberry Pi
IRJET -  	  A Locomotive Voice-Based Assistant using Raspberry PiIRJET -  	  A Locomotive Voice-Based Assistant using Raspberry Pi
IRJET - A Locomotive Voice-Based Assistant using Raspberry PiIRJET Journal
 
Pythonistaの使い方
Pythonistaの使い方Pythonistaの使い方
Pythonistaの使い方Yusuke Muraoka
 
Houston_June_23 Kore_SL_FINAL
Houston_June_23 Kore_SL_FINALHouston_June_23 Kore_SL_FINAL
Houston_June_23 Kore_SL_FINALSam Lakkundi
 
Home Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev EnablementHome Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev EnablementAnthony McCulley
 
ECナビ Lightning Talk(s)
ECナビ Lightning Talk(s)ECナビ Lightning Talk(s)
ECナビ Lightning Talk(s)moai kids
 
Stopango 2.0 for iPhone
Stopango 2.0 for iPhoneStopango 2.0 for iPhone
Stopango 2.0 for iPhoneStopango
 
Bonita Open Solution
Bonita Open SolutionBonita Open Solution
Bonita Open SolutionCh'ti JUG
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyPrasanna Gautam
 
TTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpressTTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpressDylan Jay
 
非同期処理の通知処理 with Tatsumaki
非同期処理の通知処理 with Tatsumaki非同期処理の通知処理 with Tatsumaki
非同期処理の通知処理 with Tatsumakikeroyonn
 
The Plone is dead, long live the Plone!
The Plone is dead, long live the Plone!The Plone is dead, long live the Plone!
The Plone is dead, long live the Plone!Alexander Loechel
 
[eeLine]company profile 140922(eng)
[eeLine]company profile 140922(eng)[eeLine]company profile 140922(eng)
[eeLine]company profile 140922(eng)Miima Mizuno
 

Semelhante a COSCUP 2010 Registration System Built on Google App Engine Faced Quotas and Task Queues (20)

Real World ChatOps
Real World ChatOpsReal World ChatOps
Real World ChatOps
 
Bonita Open Solution: What, Why & How
Bonita Open Solution: What, Why & HowBonita Open Solution: What, Why & How
Bonita Open Solution: What, Why & How
 
2010 And Beyond
2010 And Beyond2010 And Beyond
2010 And Beyond
 
Super feats of integration x pages with symphony sharepoint and office
Super feats of integration  x pages with symphony sharepoint and officeSuper feats of integration  x pages with symphony sharepoint and office
Super feats of integration x pages with symphony sharepoint and office
 
COSCUP 2018 opening @ NTUST (2018.08.10)
COSCUP 2018 opening @ NTUST (2018.08.10)COSCUP 2018 opening @ NTUST (2018.08.10)
COSCUP 2018 opening @ NTUST (2018.08.10)
 
Feeding the Bots: Preparing Content for the Intelligent Assistant Revolution
Feeding the Bots: Preparing Content for the Intelligent Assistant RevolutionFeeding the Bots: Preparing Content for the Intelligent Assistant Revolution
Feeding the Bots: Preparing Content for the Intelligent Assistant Revolution
 
IRJET - A Locomotive Voice-Based Assistant using Raspberry Pi
IRJET -  	  A Locomotive Voice-Based Assistant using Raspberry PiIRJET -  	  A Locomotive Voice-Based Assistant using Raspberry Pi
IRJET - A Locomotive Voice-Based Assistant using Raspberry Pi
 
Pythonistaの使い方
Pythonistaの使い方Pythonistaの使い方
Pythonistaの使い方
 
Houston_June_23 Kore_SL_FINAL
Houston_June_23 Kore_SL_FINALHouston_June_23 Kore_SL_FINAL
Houston_June_23 Kore_SL_FINAL
 
Home Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev EnablementHome Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev Enablement
 
ECナビ Lightning Talk(s)
ECナビ Lightning Talk(s)ECナビ Lightning Talk(s)
ECナビ Lightning Talk(s)
 
Stopango 2.0 for iPhone
Stopango 2.0 for iPhoneStopango 2.0 for iPhone
Stopango 2.0 for iPhone
 
Bonita Open Solution
Bonita Open SolutionBonita Open Solution
Bonita Open Solution
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure Confidently
 
Introduction to python scrapping
Introduction to python scrappingIntroduction to python scrapping
Introduction to python scrapping
 
TTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpressTTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpress
 
非同期処理の通知処理 with Tatsumaki
非同期処理の通知処理 with Tatsumaki非同期処理の通知処理 with Tatsumaki
非同期処理の通知処理 with Tatsumaki
 
Yu info 2015 final jg
Yu info 2015 final jgYu info 2015 final jg
Yu info 2015 final jg
 
The Plone is dead, long live the Plone!
The Plone is dead, long live the Plone!The Plone is dead, long live the Plone!
The Plone is dead, long live the Plone!
 
[eeLine]company profile 140922(eng)
[eeLine]company profile 140922(eng)[eeLine]company profile 140922(eng)
[eeLine]company profile 140922(eng)
 

COSCUP 2010 Registration System Built on Google App Engine Faced Quotas and Task Queues