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
Dominion Enterprises _H@<k@th0n_
Search
Ken Collins
April 11, 2012
Technology
1
85
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
28
The Rise of AI Copilots
metaskills
0
54
Real-World AI Automation with Lambda & Bedrock
metaskills
0
69
The Lambda Sidecar Pattern for Event-Driven Kubernetes
metaskills
0
310
The Case for Rails on Lambda v1
metaskills
0
620
Learn to Program The Cloud with Ruby & AWS Lambda
metaskills
0
64
Full-Stack to Functions & Back Again
metaskills
0
250
AWS Lambda & Ruby/Rails with SAM
metaskills
1
4.3k
Turbo Applications - Winning with Ajax + pushState + Rails
metaskills
0
270
Other Decks in Technology
See All in Technology
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
120
What to do after `laravel new`
mattstauffer
0
140
Windows Autopilot Deployment by OSD Guy
tamaiyutaro
0
320
DatabricksにおけるLLMOpsのベストプラクティス
taka_aki
4
1.6k
AIチャットボット開発への生成AI活用
ryomrt
0
140
製造現場のデジタル化における課題とPLC Data to Cloudによる新しいアプローチ
hamadakoji
0
210
Postmanの日本市場におけるDevRel (的) 活動 / Postman's DevRelish activities in Japan
yokawasa
1
130
TinyGoを使ったVSCode拡張機能実装
askua
2
200
音声×Copilot オンコパの世界
kasada
1
110
全社横断データ活用推進のコツと その負債とのつき合い方
masatoshi0205
0
170
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
0
160
SREの前に
nwiizo
11
2.7k
Featured
See All Featured
Optimizing for Happiness
mojombo
376
69k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
A Philosophy of Restraint
colly
203
16k
How to Ace a Technical Interview
jacobian
276
23k
Code Review Best Practice
trishagee
64
17k
A Tale of Four Properties
chriscoyier
156
23k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
15
2k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
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