Minegems
-
Upload
jodosha -
Category
Technology
-
view
2.551 -
download
0
description
Transcript of Minegems
![Page 1: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/1.jpg)
Luca GuidiRuby Social Club – Rome, Mar 4th 2011
Tuesday, March 8, 2011
![Page 2: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/2.jpg)
WHO?
Tuesday, March 8, 2011
![Page 3: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/3.jpg)
@jodosha
Tuesday, March 8, 2011
![Page 4: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/4.jpg)
Tuesday, March 8, 2011
![Page 5: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/5.jpg)
WHAT?
Tuesday, March 8, 2011
![Page 6: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/6.jpg)
Private hosting for your hidden gems.
Tuesday, March 8, 2011
![Page 7: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/7.jpg)
It helps to protect and distribute your closed
source code.
Tuesday, March 8, 2011
![Page 8: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/8.jpg)
Itʼs useful for private gem forking.
Tuesday, March 8, 2011
![Page 9: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/9.jpg)
It allows to get ride of Rails plugins.
Tuesday, March 8, 2011
![Page 10: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/10.jpg)
WHY?
Tuesday, March 8, 2011
![Page 11: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/11.jpg)
I tried to solve my own problem.
Tuesday, March 8, 2011
![Page 12: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/12.jpg)
WHEN?
Tuesday, March 8, 2011
![Page 13: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/13.jpg)
I developed this project in my spare time.
Tuesday, March 8, 2011
![Page 14: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/14.jpg)
Having less time enforces you to focus on your
goals.
Tuesday, March 8, 2011
![Page 15: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/15.jpg)
Itʼs all about efficacy, rather than efficiency.
Tuesday, March 8, 2011
![Page 16: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/16.jpg)
HOW?
Tuesday, March 8, 2011
![Page 17: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/17.jpg)
It works like RubyGems.
Tuesday, March 8, 2011
![Page 18: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/18.jpg)
You can use as global gem source..$ gem sources -a \
http://user:[email protected]
Tuesday, March 8, 2011
![Page 20: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/20.jpg)
It uses internal namespacing.
Tuesday, March 8, 2011
![Page 21: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/21.jpg)
It can solve internal and external dependencies.
Tuesday, March 8, 2011
![Page 22: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/22.jpg)
ARCHITECTURE
Tuesday, March 8, 2011
![Page 23: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/23.jpg)
Itʼs a Rails application which hosts a Sinatra one.
Tuesday, March 8, 2011
![Page 24: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/24.jpg)
All the gems are hosted in a private Amazon S3
bucket.
Tuesday, March 8, 2011
![Page 25: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/25.jpg)
Tuesday, March 8, 2011
![Page 26: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/26.jpg)
Tuesday, March 8, 2011
![Page 27: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/27.jpg)
Tuesday, March 8, 2011
![Page 28: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/28.jpg)
Tuesday, March 8, 2011
![Page 29: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/29.jpg)
Tuesday, March 8, 2011
![Page 30: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/30.jpg)
Tuesday, March 8, 2011
![Page 31: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/31.jpg)
Tuesday, March 8, 2011
![Page 32: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/32.jpg)
Tuesday, March 8, 2011
![Page 33: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/33.jpg)
Tuesday, March 8, 2011
![Page 34: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/34.jpg)
Tuesday, March 8, 2011
![Page 35: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/35.jpg)
Tuesday, March 8, 2011
![Page 36: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/36.jpg)
Tuesday, March 8, 2011
![Page 37: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/37.jpg)
Tuesday, March 8, 2011
![Page 38: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/38.jpg)
Tuesday, March 8, 2011
![Page 39: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/39.jpg)
Tuesday, March 8, 2011
![Page 40: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/40.jpg)
The actual workflow is slow because of the double download.
Tuesday, March 8, 2011
![Page 41: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/41.jpg)
The next step is to bypass the server at the response
time.
Tuesday, March 8, 2011
![Page 42: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/42.jpg)
In order to make the indices access faster,
it uses GridFS.
Tuesday, March 8, 2011
![Page 43: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/43.jpg)
Tuesday, March 8, 2011
![Page 44: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/44.jpg)
Tuesday, March 8, 2011
![Page 45: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/45.jpg)
Tuesday, March 8, 2011
![Page 46: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/46.jpg)
Tuesday, March 8, 2011
![Page 47: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/47.jpg)
Tuesday, March 8, 2011
![Page 48: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/48.jpg)
Tuesday, March 8, 2011
![Page 49: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/49.jpg)
Tuesday, March 8, 2011
![Page 50: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/50.jpg)
Tuesday, March 8, 2011
![Page 51: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/51.jpg)
It uses Devise for authentication.
Tuesday, March 8, 2011
![Page 52: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/52.jpg)
Devise is a Warden customization, which is
build on top ofRack-Mount.
Tuesday, March 8, 2011
![Page 53: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/53.jpg)
The Rails app uses session based authentication.
Tuesday, March 8, 2011
![Page 54: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/54.jpg)
The Sinatra app uses HTTP based
authentication.
Tuesday, March 8, 2011
![Page 55: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/55.jpg)
The authorization part is delegated to a custom
Rack middleware which uses Redis.
Tuesday, March 8, 2011
![Page 56: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/56.jpg)
It grants access to the underline structure and
itʼs responsible for routing policies.
Tuesday, March 8, 2011
![Page 57: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/57.jpg)
WHATʼS NEXT?
Tuesday, March 8, 2011
![Page 58: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/58.jpg)
Private beta testing.
Tuesday, March 8, 2011
![Page 59: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/59.jpg)
Command line interface gem.
Tuesday, March 8, 2011
![Page 60: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/60.jpg)
Q&A
Tuesday, March 8, 2011
![Page 61: Minegems](https://reader033.fdocuments.us/reader033/viewer/2022052823/55517f5bb4c9057f478b5314/html5/thumbnails/61.jpg)
http://minege.mshttp://about.me/jodosha
Tuesday, March 8, 2011