Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dominion Enterprises _H@<k@th0n_
Search
Ken Collins
April 11, 2012
Technology
1
94
Dominion Enterprises _H@<k@th0n_
Dominion Enterprise Hackathon Inspiration.
Ken Collins
April 11, 2012
Tweet
Share
More Decks by Ken Collins
See All by Ken Collins
Experts.js @ Norfolk.js
metaskills
0
82
The Rise of AI Copilots
metaskills
0
170
Real-World AI Automation with Lambda & Bedrock
metaskills
0
130
The Lambda Sidecar Pattern for Event-Driven Kubernetes
metaskills
0
400
The Case for Rails on Lambda v1
metaskills
0
730
Learn to Program The Cloud with Ruby & AWS Lambda
metaskills
0
100
Full-Stack to Functions & Back Again
metaskills
0
350
AWS Lambda & Ruby/Rails with SAM
metaskills
1
4.6k
Turbo Applications - Winning with Ajax + pushState + Rails
metaskills
0
310
Other Decks in Technology
See All in Technology
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
初めてのDatabricks AI/BI Genie
taka_aki
0
180
SREには開発組織全体で向き合う
koh_naga
0
340
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
260
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.4k
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
380
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
500
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
520
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
770
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
200
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
160
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Being A Developer After 40
akosma
91
590k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
A better future with KSS
kneath
240
18k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
Ken Collins metaskills.net _H@<k@th0n_ Monday, September 12, 11
Who Am I Again? ? Monday, September 12, 11
Who Am I Again? @MetaSkills Monday, September 12, 11
Who Am I Again? @MetaSkills Monday, September 12, 11
Who Am I Again? @MetaSkills Monday, September 12, 11
Who Am I Again? @MetaSkills Monday, September 12, 11
Who Am I Again? @MetaSkills ... Monday, September 12, 11
Sr. Software Engineer @ Decisiv Monday, September 12, 11
Monday, September 12, 11
JavaScript Monday, September 12, 11
Monday, September 12, 11
Blog @ MetaSkills.net Monday, September 12, 11
Freetime @ HomeMarks.com Monday, September 12, 11
Advocate @ 757rb.org Monday, September 12, 11
HTML5 CSS3 Monday, September 12, 11
Divitis <div id="post"> <div id="header"> <span class="pubdate"> <span class="day">27</span> <span
class="month">Dec</span> <span class="year">2010</span> </span> <h1>My New Blog</h1> </div> ... <div id="disqus_thread"> ... </div> </div> Monday, September 12, 11
Semantic <article id="post"> <header> <time pubdate datetime="2010-12-27T00:00:00-05:00"> <span class="day">27</span> <span
class="month">Dec</span> <span class="year">2010</span> </time> <h1>My New Blog</h1> </header> ... <footer id="disqus_thread"> ... </footer> </article> Monday, September 12, 11
Dive Into HTML5 http:/ /diveintohtml5.org/semantics.html#new-elements Monday, September 12, 11
CSS3 Monday, September 12, 11
CSS3 Selectors Monday, September 12, 11
CSS3 Selectors Borders (images, radius, shadows) Monday, September 12, 11
CSS3 Selectors Borders (images, radius, shadows) Colors (rgba, hsla, opacity)
Monday, September 12, 11
CSS3 Selectors Borders (images, radius, shadows) Colors (rgba, hsla, opacity)
Text (wrap, overlay, shadows) Monday, September 12, 11
CSS3 Selectors Borders (images, radius, shadows) Colors (rgba, hsla, opacity)
Text (wrap, overlay, shadows) Backgrounds (gradients, clip, origin) Monday, September 12, 11
CSS3 Selectors Borders (images, radius, shadows) Colors (rgba, hsla, opacity)
Text (wrap, overlay, shadows) Backgrounds (gradients, clip, origin) Media Queries & Fonts Monday, September 12, 11
Transitions, Transforms, Animations Monday, September 12, 11
Transitions, Transforms, Animations Monday, September 12, 11
jQuery “Mobile” Monday, September 12, 11
Encapsulate Your JavaScript http:/ /metaskills.net/2011/09/06/how-do-you-encapsulate-your-javascript/ Monday, September 12, 11
Leveraging API's In Ruby Monday, September 12, 11
Data Format (JSON & XML) Monday, September 12, 11
Data Format (JSON & XML) Always Use Object Notation Monday,
September 12, 11
Data Format (JSON & XML) { "id":8, "email":"
[email protected]
", "posts":[ {"id":30,
"title":"First Post", "body":"Some text..."}, {"id":73, "title":"Second Post", "body":"More text..."} ] } Monday, September 12, 11
<user> <id type="integer">8</id> <email>
[email protected]
</email> <posts type="array"> <post> <id type="integer">30</id> <title>First
Post</title> <body>Some text...</body> </post> <post> <id type="integer">73</id> <title>Second Post</title> <body>More text...</body> </post> </posts> </user> Data Format (JSON & XML) Monday, September 12, 11
Data Format (JSON & XML) Always Use Object Notation Rails
has #to_json and #to_xml Define #as_json for obj primitive. Monday, September 12, 11
Data Format (JSON & XML) Always Use Object Notation Rails
has #to_json and #to_xml Define #as_json for obj primitive. New objects using #from_json and #from_xml methods. Monday, September 12, 11
json = '{ "id":8, "email":"
[email protected]
", "posts":[ {"id":30, "title":"First Post", "body":"Some
text..."}, {"id":73, "title":"Second Post", "body":"More text..."} ] }' user = User.new.from_json(json) user.email # =>
[email protected]
user.posts.size # => 2 user.post.first.title # => "First Post" Data Format (JSON & XML) Monday, September 12, 11
Representation State Transfer (REST) Monday, September 12, 11
Representation State Transfer (REST) CREATE READ UPDATE DELETE DB HTTP
INSERT SELECT UPDATE DELETE POST GET PUT DELETE Monday, September 12, 11
Representation State Transfer (REST) CREATE READ UPDATE DELETE DB HTTP
INSERT SELECT UPDATE DELETE POST GET PUT DELETE Monday, September 12, 11
Representation State Transfer (REST) CREATE READ UPDATE DELETE DB HTTP
INSERT SELECT UPDATE DELETE POST GET PUT DELETE Monday, September 12, 11
Representation State Transfer (REST) GET /users {:controller=>"users", :action=>"index"} POST /users
{:controller=>"users", :action=>"create"} GET /users/:id {:controller=>"users", :action=>"show"} PUT /users/:id {:controller=>"users", :action=>"update"} DELETE /users/:id {:controller=>"users", :action=>"destroy"} Monday, September 12, 11
HTTP Clients Monday, September 12, 11
HTTP Clients In Ruby Monday, September 12, 11
HTTP Clients In Ruby Many choices! Monday, September 12, 11
HTTP Clients In Ruby Many choices! Ruby’s core lib Net::HTTP
looks more like wizardry vs idiomatic Ruby. Monday, September 12, 11
HTTP Clients In Ruby Many choices! Ruby’s core lib Net::HTTP
looks more like wizardry vs idiomatic Ruby. Research and pick one that works best for you. Monday, September 12, 11
HTTP Clients In Ruby http:/ /ruby-toolbox.com/categories/http_clients.html Monday, September 12, 11
Typhoeus https:/ /github.com/dbalatero/typhoeus High Speed! Built On Top Of libcurl
Simple RESTful Request Parallel Requests Memoization & Caching Monday, September 12, 11
hydra = Typhoeus::Hydra.new request = Typhoeus::Request.new("http://localhost/posts/1.json") request.on_complete do |response| json
= JSON.parse(response.body) post = Post.new.from_json(json) # Do crazy callback stuff... end hydra.queue request hydra.run # This is a blocking call that # returns once all requests are complete. Typhoeus Monday, September 12, 11
SOAP Monday, September 12, 11
xml = Builder::XmlMarkup.new(:indent=>2) xml.user do xml.id 8, :type => 'integer'
xml.email "
[email protected]
" xml.posts :type => 'array' do xml.post {...} end end xml.target! # => # <user> # <id type="integer">8</id> # <email>
[email protected]
</email> # <posts type="array"> # <post> # ... # </post> # </posts> # </user> Pragmatic Use Of Builder http:/ /builder.rubyforge.org/ Monday, September 12, 11
If You Embrace SOAP http:/ /savonrb.com/ https:/ /github.com/unwire/handsoap Savon Handsoap
Monday, September 12, 11
Thanks! Ken Collins metaskills.net Monday, September 12, 11