Web Developing In Search

1,061 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,061
On SlideShare
0
From Embeds
0
Number of Embeds
249
Actions
Shares
0
Downloads
9
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Web Developing In Search

  1. 1. Web Developing in Search 文河 Frontend Engineer @Taobao @yyfrankyy f2e.us March 3, 2011 . . . . . .
  2. 2. Agenda. . . . . .
  3. 3. Products商品搜索 s.taobao.com产品搜索 s.taobao.com/product商业搜索 s8.taobao.com 一淘 www.etao.com开放搜索 open.s.taobao.com 排行榜 top.taobao.com 地图购垂直市场 ... . . . . . .
  4. 4. Its Simple . . . . . .
  5. 5. Its SimpleIts all about listing and sorting. . . . . . .
  6. 6. But, Its Not That Easy . . . . . .
  7. 7. But, Its Not That Easy• 260,000,000 pageviews. . . . . . .
  8. 8. But, Its Not That Easy• 260,000,000 pageviews.• 10 requirements per week at least. . . . . . .
  9. 9. But, Its Not That Easy• 260,000,000 pageviews.• 10 requirements per week at least.• module integrations of 4+ products. . . . . . .
  10. 10. But, Its Not That Easy• 260,000,000 pageviews.• 10 requirements per week at least.• module integrations of 4+ products.• 20 buckets * 2 of (s|s8).taobao.com. . . . . . .
  11. 11. But, Its Not That Easy• 260,000,000 pageviews.• 10 requirements per week at least.• module integrations of 4+ products.• 20 buckets * 2 of (s|s8).taobao.com.• Something really old . . . . . .
  12. 12. But, Its Not That Easy• 260,000,000 pageviews.• 10 requirements per week at least.• module integrations of 4+ products.• 20 buckets * 2 of (s|s8).taobao.com.• Something really old• Lots of incoming systems . . . . . .
  13. 13. But, Its Not That Easy . . . . . .
  14. 14. But, Its Not That EasyStable • Testable • Less bugs • No accident . . . . . .
  15. 15. But, Its Not That Easy Stable • Testable • Less bugs • No accidentMaintainable Forward/Backward campatible • Easy doing experiments . . . . . .
  16. 16. But, Its Not That Easy Stable • Testable • Less bugs • No accidentMaintainable Forward/Backward campatible • Easy doing experimentsPerformance Fast response for end-users . . . . . .
  17. 17. EnvironmentsSplit into three: . . . . . .
  18. 18. EnvironmentsSplit into three: .. Development 1 . . . . . .
  19. 19. EnvironmentsSplit into three: .. Development 1 .. Test / Co-Work 2 . . . . . .
  20. 20. EnvironmentsSplit into three: .. Development 1 .. Test / Co-Work 2 .. Publish 3 . . . . . .
  21. 21. Version Control(Git + Subversion) . . . . . .
  22. 22. Git For Development• More Lightweight• More Flexible . . . . . .
  23. 23. Git For Development• More Lightweight• More Flexible• Easy Branching • master • prepub • development . . . . . .
  24. 24. Git For Development• More Lightweight• More Flexible• Easy Branching • master • prepub • development• Thats not what SCM should do! . . . . . .
  25. 25. Subversion For Publish• Permission Control• Easy Management . . . . . .
  26. 26. Subversion For Publish• Permission Control• Easy Management• Thats what SCM should do! . . . . . .
  27. 27. Directory-based Timestamp• search/110303/search.js . . . . . .
  28. 28. Directory-based Timestamp• search/110303/search.js• Fix dependencies conflict on publishing . . . . . .
  29. 29. Directory-based Timestamp• search/110303/search.js• Fix dependencies conflict on publishing• Easy rollback . . . . . .
  30. 30. Control EverythingHTML Demo Center • mock everything onlineAssets Split them into pieces • js,css,external,mhtml,images . . . . . .
  31. 31. Control Everything HTML Demo Center • mock everything onlineAssets Split them into pieces • js,css,external,mhtml,imagesScripts Control automation tools . . . . . .
  32. 32. Building System(Ant + Bash) . . . . . .
  33. 33. Building System(Ant + Bash) .. Concat 1 .. Code Handles 2 • Clean Debug Codes • Handle DataURI • ... 3 .. Compress .. 4 Handle Timestamp 5 .. Sync with Subversion . . . . . .
  34. 34. Building System(Ant + Bash) .. Concat 1 .. Code Handles 2 • Clean Debug Codes • Handle DataURI • ... 3 .. Compress .. Handle Timestamp 4 .. Sync with Subversion 5(a building system need to be..) • Easy Run/Use • Configurable . . . . . .
  35. 35. Assets Handler(PHP + nginx) . . . . . .
  36. 36. Assets Handler(PHP + nginx) • CDN Combo Handler • Local Assets Combo . . . . . .
  37. 37. Quarity• gjslint.vim• JavaScriptLint.vim• reviewboard . . . . . .
  38. 38. Summaries• Control everything• Automatic jobs• Easy coding, Careful testing . . . . . .
  39. 39. Whats Next?• Frontend Config/Building server• Git hooks for easier building(post-receive)• Connect PHP with assets• Orderless CSS concat• UnitTest coverage(for regression testing) . . . . . .
  40. 40. Any Questions? . . . . . .
  41. 41. Thank you! . . . . . .

×