How To Build Website
Upcoming SlideShare
Loading in...5
×
 

How To Build Website

on

  • 652 views

organic the expertise's idea together for reference

organic the expertise's idea together for reference

Statistics

Views

Total Views
652
Views on SlideShare
651
Embed Views
1

Actions

Likes
2
Downloads
10
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

How To Build Website How To Build Website Presentation Transcript

  • ORGANIC IDEAS: TO BUILD A LARGE-SCALE WEBSITE Oliver Cai
  • EXPERTISE SAY:
    • Think of big picture, start small thing.
    • Separate, separate, and separate
    • Does not reinvent the wheel
  • WEB2.0 CONCEPTS
    • Blog
    • Wiki
    • Social network
    • PodCast
    • RSS
    • API (RESTful)
    • Mashup
    • Widget (Gadget)
    • AJAX
  • WEBSITE PROCEDURE
    • Requirements and features
    • Information Architecture
    • Technical Architecture & Framework
    • Development Architecture
    • Test & Deploy
    • Fine-tuning, support & maintenance
  • INFORMATION + ARCHITECTURE
    • I: The communication or reception of knowledge or intelligence
    • Text, Images, Music, Video
    • A: The art or science of building
    • Design, Structure, Space,Function
  • IA DELIVERABLES
    • Page Flow Diagram
      • Interaction diagram
      • Flow chart
    • Wireframe
      • Mockup
      • Paper Prototype
  • TECHNICAL ARCHITECTURE CONSIDERATION
    • Partition everything
      • – “ you eat an elephant only one bite at a time”
      • – “ If you can’t split it, you can’t scale it”
      • Decouple, Separate, Granularity
    • Asynchrony for everywhere
      • – “ Good things come to those who wait”
    • Automate everything
      • – “ Automation will save time and eliminate human errors…”
    • Assume everything fails
      • – “ Be Prepared”
  • BIG DIFFERENCES FOR A LARGE-SCALE
    • No Database Transactions
      • – To guarantee availability and partition-tolerance, trade off consistency (Brewer’s CAP Theorem)
      • Functional Segmentation
      • – Segment databases into functional areas – user, item, transaction, product, account, feedback
      • Horizontal Split
      • Absolutely no session state
    • – Transient state maintained by URL, Cookie, Scratch database
  • ASPACTS OF TECH ARCHITECTURE
      • Static Content
      • Image Servers
      • Database (Agnostic)
      • Cache
      • Mirror
      • Load Balance
  • TIPS
    • Try and incorporate Horizontal DB partitioning by value from the beginning into your design
    • Loosely couple all modules
    • Implement a REST-ful framework for easier caching
    • Perform application sizing ongoing to ensure optimal utilization of hardware
  • DEV TEAM INFRASTRUCTURE
    • A development methodology
    • Coding standards & name rules
    • Source Code Management Systems
    • Bug Tracking Systems
    • Internal Documentation
    • Unit Test & Functional Test
    • Tie it all together to create a semi-automated development
    • infrastructure to save your developers from boring and
    • repetitive tasks.
  • DEV TEAM INFRASTRUCTURE
      • Automation 1: Changelog Emails
      • Use your source code management(SVN, CVS, GIT) “post-commit” hook to send an email to your dev team mailing list whenever a commit is made.
      • Automation 2: Bug Closures On Commit
      • When developers commit new code to the repo it often fixes a bug, so then the bug itself has to be closed or tagged in the Bug tracking system(Mantis, Bugzilla).
      • Automation 3: Rebuilding Docs
      • Put your automatically generated internal documentation on a web server somewhere that can be accessed by your dev team.
      • Automation 4: Automatic Unit Testing
      • Set up test mechanism that can check specific functionality of your code on a test server, then have it triggered on a post-commit hook that updates a local working copy before running the tests
      • Automation 5: Release Management
      • pull all these things together into an overall workflow management system that controls how your code moves from developers to testing to release.
  • TESTING ECOSYSTEM Different tests, different objectives
  • MOVE TO AGILE
    • 􀁹 Before
      • 􀁹 Marketing driven releases
      • 􀁹 Big feature promises up-front
      • 􀁹 Committed release date that always slipped
    • 􀁹 Now
      • 􀁹 No committed release date
      • 􀁹 Technical Community Previews (TPC)
      • 􀁹 Incorporating customer feedback
    Iterative incremental steps for changeable requirement.
  • SCRUM (CHICKEN AND PIGS)
    • Team roles
      • 􀁹 Product Owner
      • 􀁹 Scrum Master
      • 􀁹 Team
    • Managing requirements
      • 􀁹 Product backlog
      • 􀁹 User stories