Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introducing Mint Source
Search
Andy Appleton
November 24, 2011
Technology
1
380
Introducing Mint Source
Talk given at the lnug meetup on 23rd November 2011
Andy Appleton
November 24, 2011
Tweet
Share
More Decks by Andy Appleton
See All by Andy Appleton
Done is better than perfect
appltn
0
480
Rage against the state machine
appltn
1
390
Modular UI with (Angular || Ember)
appltn
0
100
Building web apps with Express
appltn
4
460
The Modern JavaScript Application
appltn
5
530
Object Creation Pattern Performance
appltn
1
670
Other Decks in Technology
See All in Technology
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
1k
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.4k
UIコンポーネント Vue3マイグレーション体験記
lycorptech_jp
PRO
0
110
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
340
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
510
ServiceNow Knowledge Learning Rise up
manarobot
0
210
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
web-application-security
matsuihidetoshi
0
160
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
250
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
560
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
Featured
See All Featured
Designing with Data
zakiwarfel
96
4.8k
The Language of Interfaces
destraynor
151
23k
What's in a price? How to price your products and services
michaelherold
237
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
BBQ
matthewcrist
80
8.8k
Optimizing for Happiness
mojombo
370
69k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Design by the Numbers
sachag
274
18k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
A better future with KSS
kneath
231
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Transcript
MINT SOURCE
None
Andy Appleton @appltn http://mintdigital.com
What, why?
Node.js - Redis - Heroku CoffeeScript - Socket.IO
Simple Heroku deploy $ git clone
[email protected]
:mintdigital/mint-source.git $ heroku create
appname --stack cedar $ git push heroku master $ heroku ps:scale web=1 $ heroku addons:add redistogo:nano $ heroku config:add NODE_ENV=production
Optional HTTP Auth $ heroku config:add AUTH_ENABLED=true $ heroku config:add
AUTH_USER=chunky $ heroku config:add AUTH_PASS=bacon
http://github.com/user/project/admin/hooks
{ "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d", "repository": { "url": "http://github.com/mint-digital/mint-source", "name": "mintdigital", "description":
"A simple Node.js status board showing github commits and more.", "watchers": 5, "forks": 2, "private": 1, "owner": { "name": "mintdigital" } }, "commits": [ { "id": "41a212ee83ca127e3c8cf465891ab7216a705f59", "url": "http://github.com/mintdigital/mint-source/commit/41a212ee83ca127e3891ab7216a705f59", "author": { "email": "
[email protected]
", "name": "Andrew Appleton" }, "message": "Devs love bacon", "timestamp": "2011-11-15T14:57:17-08:00", "added": ["filepath.rb"] POST http://appname.herokuapp.com/github_prh
None
Jenkins CI http://jenkins-ci.org/
Notification Plugin (post build hooks for Jenkins) https://wiki.jenkins-ci.org/display/JENKINS/Notification+Plugin
$ heroku config:add JENKINS_ENABLED=true http://your-ci-box/job/project-name/configure
{ "name":"bacon", "url":"http://devslovebacon.com", "build":{ "number":1, "phase":"FINISHED", "status":"FAILURE", "url":"job/project/5", "fullUrl":"http://your-ci-box/job/project/5" }
} POST http://appname.herokuapp.com/jenkins_pbh
None
no HTTP auth support, so Jenkins box IP whitelisting $
heroku config:add JENKINS_IP=60.70.80.90
Discretion $ redis-cli > lpush Discretions "{\"orig\":\"secret\", \"subs\":\"public\"}"
None
Last.fm http://www.last.fm/api
POST http://appname.herokuapp.com/github_prh $ heroku config:add LASTFM_ENABLED=true $ heroku config:add LASTFM_KEY=12345...
$ heroku config:add LASTFM_USER=mintdigital Last.fm API credentials
Polling on the server, send data to clients via Socket.IO
What’s next?
app.get('/javascripts/:resource.js', (req, res) -> # Compile and serve client side
CoffeeScript on the fly filePath = "./public/javascripts/#{req.params.resource}.coffee" fs.readFile(filePath, 'utf-8', (err, data) -> res.writeHead(200, {'Content-Type': 'application/javascript'}) res.write(coffee.compile(data)) res.end() ) ) CS > JS Caching
Server Sent Events (Possibly)
More Services Tweets, Foursquare checkins Generic notification endpoint
Available now on Github https://github.com/mintdigital/mint-source
http://devslovebacon.com