demo

(from "humongous")
What is it?
an open-source document database, and the leading NoSQL database.
Written in C++
Show me?
nosql Database types
-
Document databases pair each key with a complex data structure known as a document.
-
Graph stores are used to store information about networks, such as social connections. Graph stores include Neo4J and HyperGraphDB.
-
Key-value stores are the simplest NoSQL databases. Some key-value stores, such as Redis, allow each value to have a type, such as "integer", which adds functionality.
-
Wide-column stores such as Cassandra and HBase are optimized for queries over large datasets, and store columns of data together, instead of rows.
mongo Features
-
Document-Oriented Storage: JSON-style documents with dynamic schemas
-
Full Index Support: Index on any attribute
-
Replication & High Availability
-
Auto-Sharding: Scale horizontally
-
Querying: Rich, document-based queries.
-
Fast In-Place Updates: Atomic modifiers for contention-free performance.
-
Map/Reduce: Flexible aggregation and data processing.
-
GridFS: Store files of any size without complicating your stack.
http://www.mongodb.org/about/production-deployments/
learn

part 2: meteor
Meteor, an ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework
What is spa?
Single Page Application (Buzzword)
what is meteor?
Meteor helps you build a single page app without thinking about the infrastructure
Bio
- Same JavaScript API on client and server
- Automatic updating of pages
- Eliminates need for REST APIs
- Latency Handling
- Self-contained application bundles
technology



support
-
Mac (Official)
-
Linux (Official)
-
Windows (Support coming soon)
installation
$ curl https://install.meteor.com | /bin/sh
hello meteor
-
Create our first app
-
What is in it?
how meteor works

how meteor works
-
Rendering Function
-
You create templates (Handlebars)
-
Document Fragment
-
Meteor watches data for you, regenerates the fragment
- Observer Pattern, Knockout etc
app structure
- /client - runs on client only
- /server - runs on client only
- /private - assets for server code only
- /public - fonts, images, static assets
- /lib - runs before everything else
- /test - doesn't run anywhere
- (anything else) - runs on client and server
- main.* - runs after everything else
packages
All apps use standard application package
Login with Facebook or Twitter
Coffeescript instead of JS
Bootstrap
Atmosphere
Demo List / Add / Remove
demo
Todo Lists
Wordplay
ddp - distributed data protocol
-
Publish and Subscribe
-
RPC
- Easy to read, uses EJSON
- Leaderboard Demo
our own app
Breaths Counter
A totally useless app!
Inspired by: http://breathapp.com/
publishing
By default auto-publish publishes all collections from the server to the client
Not very efficient and a security issue
Turn it off, pub-sub-manually (meteor remove autopublish)
improve the app
- Login
- Change user information
- Use session to remember last value entered
- Run "add breaths" code on the server
- Experiment with latency
- Permissions
deck
By divan
deck
- 469


