Known Knowns, Known Unknowns, Unknown Unknowns: The predicament of evidence-based policy
Approaching unknown unknowns: CMF for the masses
-
Upload
alessandro-nadalin -
Category
Technology
-
view
1.394 -
download
0
description
Transcript of Approaching unknown unknowns: CMF for the masses
Approaching unknown unknowns- CMF for the masses -
The problem™
The problem™Too much work
The problem™Too much work
The solution™
The problem™Too much work
The solution™Work less
Be lazy
Don't reinvent the wheel
Technologic stack:php
mysqlapache
symfony 1.4
Why not Symfony2?
Why not Symfony2?
Sf2 is not ready for production.
We are
N customers express theirselves in one
way:
The Web
So you need a tool to express N domains into the web.
That is called CMF.
How do the CMF and the customer
domain (DSL) talk?
How does the CMF is bound with the DSL?
There is a hierarchycal Tree.Containing N Pages.Pages use nested sets.
Every page containing N Boxes.Each box containing its Content.
How does the CMF is bound with the DSL?
Dependency inversion:the CMF doesn't know anything about the DSL
How does the CMF is bound with the DSL?
Each box has a content:the content is an instance of ConcreteBox
The system is pluggable.
Permissions are an example:
Abstraction over abstraction over abstraction over abstraction over
abstraction....
So our well-dressed CMF will finally look like...
Solution:a spaghetti coder +
memcached V2.0 +
ANSI C
=
RedisA fast in-memory key-value storage engine written in ANSI-C.Supports clustering, stores data like PHP arrays, writes to disk.
Instead of memcached 2.0 we can call it memcache 100.0
F***YEAH!
We have NoSQL, we're on the edge!
MySQL talks to Redis
Cross-DBMS transactions
Redis is gently asked by the front-end
So this...
...becomes this...
F***YEAH!²
We use NoSQL, and we have a reason!
A few other points:
Intensive loggingIf a transaction fails, we
need to know if it has failed due to MySQL or Redis.
And then why.
REST vs SEOGET /products/1
orGET /products/ferrari-f3000
REST vs SEOGET /products/1
orGET /products/ferrari-f3000
MIX'EM! GET /products/ferrari-f3000-1
Still REST, still SEO!
Thanks!Alessandro Nadalinodino.orgtwitter.com/_odino_
Last but not least!
Creditshttp://www.flickr.com/photos/whatknot/13198827/sizes/o/in/photostream/
http://www.flickr.com/photos/donnagrayson/195244498/sizes/o/in/photostream/http://www.flickr.com/photos/sakechaud/4452392482/sizes/o/in/photostream/http://www.flickr.com/photos/gamergates/3461154165/sizes/o/in/photostream/
http://www.flickr.com/photos/14060551@N06/3050235141/sizes/l/in/photostream/http://www.flickr.com/photos/33246833@N00/4353212216/sizes/o/in/photostream/
http://www.flickr.com/photos/jurvetson/36572011/sizes/o/in/photostream/http://www.flickr.com/photos/htcfloorsystems/4008090894/sizes/o/in/photostream/
http://www.flickr.com/photos/mlleglass/491378611/sizes/o/in/photostream/http://www.flickr.com/photos/rhymereverie/2253533697/sizes/l/in/photostream/http://www.flickr.com/photos/spunkinator/3050946547/sizes/o/in/photostream/
http://www.flickr.com/photos/725/3524480344/sizes/l/in/photostream/