Tools:
Rake - Create/migrate database, clear web session data.
WEBrick - Web server for hosting Rails web applications.
SQLite - A simple database system.
Rack Middleware - Standardized interface for interaction between web server and web application.
rails new hello_www
cd hello_www
rails server (start a web server)
Under hello_www (Rails root):
app: models, views, and controllers code
bin: helper scripts (bundle, rails, rake)
config: App, database and route configuration
db: database schema and migrations
Gemfile: specify the required gems
lib:
log: application logging directory
pulic: webroot of the application
test: Tests - Agile development
Tuesday, May 17, 2016
Popular web application frameworks
- Ruby on Rails (Ruby)
- Play (Java and Scala)
- ASP.NET MVC (Microsoft)
- Django (Python)
- Sinatra (Ruby) (very light-weight)
- Symfony (PHP)
- Sails.js (Node.js, JavaScript)
Content management systems (CMSs):
WordPress, Drupal, Joomla!
The MVC Design pattern
Model-View-Controller model
- Decouples data (model) and presentation (view)
- A controller handles requests, and coordinates between the model and the view
- More robust applications, easier to maintain
MVC control flow:
1. User interface (view) awaits user input
2. User provides input, e.g., clicks a button
3. Controller handles the input event -> some action (handler or callback) understandable by the model
4. Controller notifies the model, possibly changing the model's state
5. Controller notifies the view (if it needs to be updated). Back to step 1.
- Play (Java and Scala)
- ASP.NET MVC (Microsoft)
- Django (Python)
- Sinatra (Ruby) (very light-weight)
- Symfony (PHP)
- Sails.js (Node.js, JavaScript)
Content management systems (CMSs):
WordPress, Drupal, Joomla!
The MVC Design pattern
Model-View-Controller model
- Decouples data (model) and presentation (view)
- A controller handles requests, and coordinates between the model and the view
- More robust applications, easier to maintain
MVC control flow:
1. User interface (view) awaits user input
2. User provides input, e.g., clicks a button
3. Controller handles the input event -> some action (handler or callback) understandable by the model
4. Controller notifies the model, possibly changing the model's state
5. Controller notifies the view (if it needs to be updated). Back to step 1.
Tuesday, May 10, 2016
PriorityQueue
Operations:
add O(logn), find largest O(1), remove largest O(log(n))
Application:
scheduling long streams of actions to occur at various future times.
useful for sorting.
Common implementation is Heap.
Heap:
max-heap is a binary tree that:
Both labels in both children of each node are less than node's label
So node at the top has largest label.
add O(logn), find largest O(1), remove largest O(log(n))
Application:
scheduling long streams of actions to occur at various future times.
useful for sorting.
Common implementation is Heap.
Heap:
max-heap is a binary tree that:
Both labels in both children of each node are less than node's label
So node at the top has largest label.
Subscribe to:
Posts (Atom)