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
91
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
68
The Rise of AI Copilots
metaskills
0
160
Real-World AI Automation with Lambda & Bedrock
metaskills
0
120
The Lambda Sidecar Pattern for Event-Driven Kubernetes
metaskills
0
390
The Case for Rails on Lambda v1
metaskills
0
710
Learn to Program The Cloud with Ruby & AWS Lambda
metaskills
0
87
Full-Stack to Functions & Back Again
metaskills
0
330
AWS Lambda & Ruby/Rails with SAM
metaskills
1
4.5k
Turbo Applications - Winning with Ajax + pushState + Rails
metaskills
0
300
Other Decks in Technology
See All in Technology
slog.Handlerのよくある実装ミス
sakiengineer
4
210
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
エラーとアクセシビリティ
schktjm
1
1.3k
はじめてのOSS開発からみえたGo言語の強み
shibukazu
1
330
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
120
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
150
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
Agile PBL at New Grads Trainings
kawaguti
PRO
1
440
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
440
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
420
Featured
See All Featured
Making Projects Easy
brettharned
117
6.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
4 Signs Your Business is Dying
shpigford
184
22k
Done Done
chrislema
185
16k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Facilitating Awesome Meetings
lara
55
6.5k
We Have a Design System, Now What?
morganepeng
53
7.8k
How to Ace a Technical Interview
jacobian
279
23k
The Cult of Friendly URLs
andyhume
79
6.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
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