SlideShare a Scribd company logo
Folk Programming
    with Ruby
    ( Web Application )




        mootoh
Folk ?
Fork




×      by tetzl
Fork Ball




×           by capn madd matt
Forksuke




×  http://foxkeh.jp/downloads/materials/
Folk Programming !

•Like Folk Song
• Programming
 Casually

                      by Rich Moffitt
Importance


• Introduced at
• see DK
 •   http://blog.livedoor.jp/dankogai/archives/51052844.html
More
Folks !
Folkish Trends
  BASIC              CGI
                                       Web
                                     Application
10 PRINT “Ruby”   #!/usr/bin/ruby    % rails ruby_web_app
20 END
                  require ‘cgi’
                  cgi = CGI.new
                  cgi.print “Ruby”




                                         Present
But...
Yet Another Fun
       in
none Web App !
Why
 none
Web App ?
Everyone playing in
    Web App




            by cobalt123
Diversity
Explore
     Rich
User Experience
Fun for Me !




           by allfr3d
My
Recommendation
Plug-in


     by Darren Hester
Why Plug-in ?




          by imjustincognito
Easier than
 creating
Great App
Like Remora
Lower
Hurdle
But...
Seems difficult...




          by an untrained eye
No!
Use Ruby !
4 Examples
Safari
       +
Hatena Bookmark

              RubyCocoa++
def addEntry(entry)
    bmk = OSX::NSEntityDescription.objc_send(
      :insertNewObjectForEntityForName, 'Bookmark',
      :inManagedObjectContext, @context_)

    # title
    title = entry.elementsForName('title').first.stringValue
    bmk.setValue_forKey(title, 'title')

    # id
    eid = entry.elementsForName('id').first.stringValue.to_s
    pos = eid.rindex('-')
    eid = eid[pos+1,eid.size]
    bmk.setValue_forKey(eid, 'eid');

    # links
    entry.elementsForName('link').each do |url|
      if
url.attributeForName('rel').stringValue.compare('related')
        siteUrl = url.attributeForName('href').stringValue
        bmk.setValue_forKey(siteUrl, 'siteUrl')
      else
        bookmarkUrl = url.attributeForName('href').stringValue
        bmk.setValue_forKey('bookmarkUrl', 'bookmarkUrl')
      end
    end
QuickSilver
    +
 Twitter

              RubyCocoa+++
class TwitterPluginAction < OSX::QSActionProvider
  # reload itself
  def reload
    Shared.logger.info('reloading ' + __FILE__)
    load(__FILE__)
  end

 # get screenName:password from PreferencePane
 def name_pass
   dict = OSX::NSUserDefaultsController.
     sharedUserDefaultsController.values;
   screen_name = dict.valueForKey("TwitterPreference.screenName")
   password    = dict.valueForKey("TwitterPreference.password")
   screen_name.to_s + ':' + password
 end
Aren’t they Web App ?
Quartz Composer
       +
     Gainer

              RubyCocoa++++
def execute_atTime_withArguments(context, time, args)
  unless @initialized
    4.times do |i|
      @gio.ain(i).on Funnel::PortEvent::CHANGE do |event|
        @ain[i] = event.target.value
      end
      @gio.din(i).on Funnel::PortEvent::CHANGE do |event|
        @din[i] = event.target.value
      end
    end
    @initialized = false
  end

 4.times do |i|
   setValue_forOutputKey(@ain[i], "ain_" + i.to_s)
   setValue_forOutputKey(@din[i], "din_" + i.to_s)
 end
Vim + Refe
function! s:RubyRefe2(args)
  ruby << EOR
  bitclust_path = VIM::evaluate("s:bitclust_path")
  db_path       = bitclust_path + '/../db-1_9_0'
  args          = ['-d', db_path, VIM::evaluate("a:args")]
  $LOAD_PATH << bitclust_path + '/lib'

 require 'stringio'
 old_stdout = $stdout
 $stdout = StringIO.new

 require 'bitclust/searcher'
 require 'kconv'
 refe = BitClust::Searcher.new('refe.rb')
 refe.parse args
 refe.exec nil, args
 str = $stdout.string.toutf8

 buf = VIM::Buffer.current
 while buf.count > 1
   puts buf.count
   buf.delete 1
 end
 buf.delete 1

 str.split(/n/).each do |line|
   buf.append buf.count, line.toutf8
Why Ruby ?
Nice Glue.


    Between
Different Worlds.




                        by St. Murse
Debuggability

• Dynamic !
 • reload from plugin itself   def reload
                                 load ‘./itself.rb’


 • no need to restart app
                               end
Conclusion
Create Something
Useful for You !
and Us !
out of Browser !
with Ruby !
Thank you.
                                                           mootoh@gmail.com
                                                           http://deadbeaf.org/
Any pictures in these slides have their license.
Follow their links to see the original ones.
                                                           @mootoh

More Related Content

PDF
Mojolicious: what works and what doesn't
Cosimo Streppone
 
PDF
Mojolicious. Веб в коробке!
Anatoly Sharifulin
 
PDF
Mojolicious, real-time web framework
taggg
 
KEY
Mojolicious - A new hope
Marcus Ramberg
 
ODP
Mojolicious on Steroids
Tudor Constantin
 
PPTX
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Dotan Dimet
 
ZIP
Mojolicious
Marcus Ramberg
 
PDF
4Developers: Michał Papis- Publikowanie gemów
PROIDEA
 
Mojolicious: what works and what doesn't
Cosimo Streppone
 
Mojolicious. Веб в коробке!
Anatoly Sharifulin
 
Mojolicious, real-time web framework
taggg
 
Mojolicious - A new hope
Marcus Ramberg
 
Mojolicious on Steroids
Tudor Constantin
 
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Dotan Dimet
 
Mojolicious
Marcus Ramberg
 
4Developers: Michał Papis- Publikowanie gemów
PROIDEA
 

What's hot (20)

PDF
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
Shengyou Fan
 
PPTX
Node.js Express
Eyal Vardi
 
PDF
Mojolicious and REST
Jonas Brømsø
 
PDF
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
 
PDF
My Adventures In Objective-C (A Rubyists Perspective)
abdels
 
PDF
RESTful web services
Tudor Constantin
 
KEY
Sprockets
Christophe Porteneuve
 
KEY
About Data::ObjectDriver
Yoshiki Kurihara
 
PDF
Mojolicious lite
andrefsantos
 
KEY
jQuery Plugin Creation
benalman
 
PDF
Mojolicious
Marcos Rebelo
 
PPTX
Word Play in the Digital Age: Building Text Bots with Tracery
Sarah Sexton
 
PPTX
Getting Started with Microsoft Bot Framework
Sarah Sexton
 
PDF
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Brian Sam-Bodden
 
KEY
Rails Presentation (Anton Dmitriyev)
True-Vision
 
PDF
Your JavaScript Library
Dmitry Baranovskiy
 
PDF
Webinar: Getting Started with Ruby and MongoDB
MongoDB
 
PPTX
Building Web Apps with Express
Aaron Stannard
 
ODP
Ruby on Rails
Aizat Faiz
 
PDF
Voyage by example
Esteban Lorenzano
 
[PHP 也有 Day] 垃圾留言守城記 - 用 Laravel 阻擋 SPAM 留言的奮鬥史
Shengyou Fan
 
Node.js Express
Eyal Vardi
 
Mojolicious and REST
Jonas Brømsø
 
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
 
My Adventures In Objective-C (A Rubyists Perspective)
abdels
 
RESTful web services
Tudor Constantin
 
About Data::ObjectDriver
Yoshiki Kurihara
 
Mojolicious lite
andrefsantos
 
jQuery Plugin Creation
benalman
 
Mojolicious
Marcos Rebelo
 
Word Play in the Digital Age: Building Text Bots with Tracery
Sarah Sexton
 
Getting Started with Microsoft Bot Framework
Sarah Sexton
 
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)
Brian Sam-Bodden
 
Rails Presentation (Anton Dmitriyev)
True-Vision
 
Your JavaScript Library
Dmitry Baranovskiy
 
Webinar: Getting Started with Ruby and MongoDB
MongoDB
 
Building Web Apps with Express
Aaron Stannard
 
Ruby on Rails
Aizat Faiz
 
Voyage by example
Esteban Lorenzano
 
Ad

Similar to Ruby Kaigi 2008 LT (20)

PDF
Etiene Dalcol - Web development with Lua Programming Language - code.talks 2015
AboutYouGmbH
 
PDF
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Alberto Perdomo
 
PDF
The goodies of zope, pyramid, and plone (2)
Dylan Jay
 
PDF
Ruby on Rails 3.1: Let's bring the fun back into web programing
Bozhidar Batsov
 
PDF
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Fabio Akita
 
PPTX
2018 RubyHACK: put git to work - increase the quality of your rails project...
Rodrigo Urubatan
 
PDF
How Does Nick Compare to Plone, Plone Conference 2024
Rob Gietema
 
PPTX
2018 the conf put git to work - increase the quality of your rails project...
Rodrigo Urubatan
 
KEY
PSGI/Plack OSDC.TW
Tatsuhiko Miyagawa
 
PDF
Monkeybars in the Manor
martinbtt
 
PPTX
JavaScript performance patterns
Stoyan Stefanov
 
PPTX
Intro to Rails
lvrubygroup
 
KEY
A tour on ruby and friends
旻琦 潘
 
KEY
Practical Use of MongoDB for Node.js
async_io
 
PDF
우리가 모르는 노드로 할 수 있는 몇가지
Rhio Kim
 
PPTX
Reasons To Love Ruby
Ben Scheirman
 
KEY
plackdo, plack-like web interface on perl6
Nobuo Danjou
 
PDF
Node azure
Emanuele DelBono
 
KEY
Wider than rails
Alexey Nayden
 
PDF
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Etiene Dalcol
 
Etiene Dalcol - Web development with Lua Programming Language - code.talks 2015
AboutYouGmbH
 
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Alberto Perdomo
 
The goodies of zope, pyramid, and plone (2)
Dylan Jay
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Bozhidar Batsov
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Fabio Akita
 
2018 RubyHACK: put git to work - increase the quality of your rails project...
Rodrigo Urubatan
 
How Does Nick Compare to Plone, Plone Conference 2024
Rob Gietema
 
2018 the conf put git to work - increase the quality of your rails project...
Rodrigo Urubatan
 
PSGI/Plack OSDC.TW
Tatsuhiko Miyagawa
 
Monkeybars in the Manor
martinbtt
 
JavaScript performance patterns
Stoyan Stefanov
 
Intro to Rails
lvrubygroup
 
A tour on ruby and friends
旻琦 潘
 
Practical Use of MongoDB for Node.js
async_io
 
우리가 모르는 노드로 할 수 있는 몇가지
Rhio Kim
 
Reasons To Love Ruby
Ben Scheirman
 
plackdo, plack-like web interface on perl6
Nobuo Danjou
 
Node azure
Emanuele DelBono
 
Wider than rails
Alexey Nayden
 
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Etiene Dalcol
 
Ad

More from Motohiro Takayama (7)

PDF
近未来的並列 LL
Motohiro Takayama
 
PPT
並カン (CM カット版)
Motohiro Takayama
 
ZIP
Rurimaphone
Motohiro Takayama
 
ZIP
Vim M #1
Motohiro Takayama
 
PDF
Rubigraph
Motohiro Takayama
 
ZIP
Why You Should be a RubiKaigi Staff
Motohiro Takayama
 
近未来的並列 LL
Motohiro Takayama
 
並カン (CM カット版)
Motohiro Takayama
 
Rurimaphone
Motohiro Takayama
 
Why You Should be a RubiKaigi Staff
Motohiro Takayama
 

Recently uploaded (20)

PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Software Development Methodologies in 2025
KodekX
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
The Future of Artificial Intelligence (AI)
Mukul
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 

Ruby Kaigi 2008 LT

Editor's Notes

  • #2: Ruby&amp;#x3067;&amp;#x697D;&amp;#x3057;&amp;#x3080;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30AF;&amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30DF;&amp;#x30F3;&amp;#x30B0; Web&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3058;&amp;#x3083;&amp;#x306A;&amp;#x3044;&amp;#x3088;&amp;#x7DE8;
  • #3: &amp;#x305D;&amp;#x3082;&amp;#x305D;&amp;#x3082;Folk&amp;#x3063;&amp;#x3066;&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;
  • #4: &amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30AF;&amp;#x3058;&amp;#x3083;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x306D;&amp;#x3002;
  • #5: &amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30AF;&amp;#x30DC;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x3082;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x3002;
  • #6: &amp;#x3082;&amp;#x3061;&amp;#x308D;&amp;#x3093;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30AF;&amp;#x30B9;&amp;#x30B1;&amp;#x3067;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;
  • #7: &amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30AF;&amp;#x30BD;&amp;#x30F3;&amp;#x30B0;&amp;#x307F;&amp;#x305F;&amp;#x3044;&amp;#x306B;&amp;#x3001;&amp;#x8DA3;&amp;#x5473;&amp;#x3067;&amp;#x6C17;&amp;#x8EFD;&amp;#x306B;&amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30DF;&amp;#x30F3;&amp;#x30B0;&amp;#x3092;&amp;#x697D;&amp;#x3057;&amp;#x3080;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002;
  • #8: &amp;#x3053;&amp;#x306E;&amp;#x524D;&amp;#x306E;YAPC::ASIA&amp;#x306E;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x305F;&amp;#x3044;&amp;#x305B;&amp;#x3064;&amp;#x3055;&amp;#x304C;&amp;#x8A71;&amp;#x984C;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002; &amp;#x8A73;&amp;#x3057;&amp;#x304F;&amp;#x306F;&amp;#x3001;see &amp;#x30C0;&amp;#x30F3;&amp;#x30B3;&amp;#x30AC;&amp;#x30A4; &amp;#x3067;&amp;#x3002;
  • #9: &amp;#x6C17;&amp;#x8EFD;&amp;#x306B;&amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30DF;&amp;#x30F3;&amp;#x30B0;&amp;#x3092;&amp;#x306F;&amp;#x3058;&amp;#x3081;&amp;#x3066;&amp;#x307F;&amp;#x3088;&amp;#x3046;&amp;#x3088;!
  • #10: &amp;#x6B74;&amp;#x53F2;&amp;#x3092;&amp;#x632F;&amp;#x308A;&amp;#x304B;&amp;#x3048;&amp;#x3063;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;BASIC&amp;#x2192;CGI&amp;#x2192;&amp;#x3001;&amp;#x3044;&amp;#x307E;&amp;#x306F;Web&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x304C;&amp;#x5168;&amp;#x76DB;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;
  • #12: &amp;#x4ECA;&amp;#x65E5;&amp;#x3044;&amp;#x3061;&amp;#x3070;&amp;#x3093;&amp;#x8A00;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x3001;&amp;#x300C;Web&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3058;&amp;#x3083;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x3053;&amp;#x306B;&amp;#x3082;&amp;#x697D;&amp;#x3057;&amp;#x3044;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x305F;&amp;#x304F;&amp;#x3055;&amp;#x3093;&amp;#x3042;&amp;#x308B;&amp;#x3088;&amp;#x300D;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002;
  • #14: &amp;#x307F;&amp;#x3093;&amp;#x306A;Web&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x308B;&amp;#x3057;&amp;#x3001;&amp;#x3044;&amp;#x3063;&amp;#x3057;&amp;#x3087;&amp;#x306E;&amp;#x3053;&amp;#x3068;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x9762;&amp;#x767D;&amp;#x304F;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x3088;&amp;#x306D;&amp;#x3002;
  • #15: &amp;#x591A;&amp;#x69D8;&amp;#x6027;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;
  • #16: &amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x30A4;&amp;#x30F3;&amp;#x30BF;&amp;#x30FC;&amp;#x30D5;&amp;#x30A7;&amp;#x30A4;&amp;#x30B9;&amp;#x306E;&amp;#x5B9F;&amp;#x9A13;&amp;#x3068;&amp;#x304B;&amp;#x3002;
  • #17: &amp;#x305D;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x306E;&amp;#x3063;&amp;#x3066;&amp;#x697D;&amp;#x3057;&amp;#x304F;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x304B;?
  • #18: &amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x307C;&amp;#x304F;&amp;#x306E;&amp;#x304A;&amp;#x3059;&amp;#x3059;&amp;#x3081;&amp;#x306F;
  • #19: &amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3065;&amp;#x304F;&amp;#x308A;&amp;#x3067;&amp;#x3059;&amp;#x3002;
  • #20: &amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;
  • #21: &amp;#x30A4;&amp;#x30C1;&amp;#x304B;&amp;#x3089;&amp;#x3059;&amp;#x3054;&amp;#x3044;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3092;&amp;#x3064;&amp;#x304F;&amp;#x308B;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x624B;&amp;#x8EFD;&amp;#x3060;&amp;#x304B;&amp;#x3089;&amp;#x3002;
  • #22: &amp;#x5C0F;&amp;#x5224;&amp;#x30B6;&amp;#x30E1;&amp;#x307F;&amp;#x305F;&amp;#x3044;&amp;#x306B;&amp;#x3001;&amp;#x89AA;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x306B;&amp;#x5BC4;&amp;#x751F;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x3089;&amp;#x3048;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x3002;
  • #23: &amp;#x3064;&amp;#x307E;&amp;#x308A;&amp;#x3001;&amp;#x6577;&amp;#x5C45;&amp;#x304C;&amp;#x4F4E;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002; &amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30DF;&amp;#x30F3;&amp;#x30B0;&amp;#x3092;&amp;#x59CB;&amp;#x3081;&amp;#x308B;&amp;#x306B;&amp;#x306F;&amp;#x3060;&amp;#x3044;&amp;#x3058;&amp;#x306A;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002;
  • #25: &amp;#x305D;&amp;#x3046;&amp;#x306F;&amp;#x3044;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x96E3;&amp;#x3057;&amp;#x3044;&amp;#x3093;&amp;#x3058;&amp;#x3083;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3001;&amp;#x3068;&amp;#x601D;&amp;#x308F;&amp;#x308C;&amp;#x308B;&amp;#x304B;&amp;#x3082;&amp;#x3057;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;
  • #26: &amp;#x3044;&amp;#x3048;&amp;#x3044;&amp;#x3048;&amp;#x3002;&amp;#x3061;&amp;#x304C;&amp;#x3046;&amp;#x3088;&amp;#x5168;&amp;#x7136;&amp;#x3061;&amp;#x304C;&amp;#x3046;&amp;#x3088;&amp;#x3002;
  • #27: &amp;#x305D;&amp;#x3053;&amp;#x3067;Ruby&amp;#x3067;&amp;#x3059;&amp;#x3088;&amp;#x3002;
  • #28: &amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x4F8B;&amp;#x3092;&amp;#x3002;
  • #31: HTTP&amp;#x3084;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x51E6;&amp;#x7406;&amp;#x306F;Ruby&amp;#x3067;&amp;#x6163;&amp;#x308C;&amp;#x3063;&amp;#x3053;&amp;#x3067;&amp;#x3059;&amp;#x3088;&amp;#x306D;&amp;#x3002;
  • #32: QSTwitter
  • #34: &amp;#x30D5;&amp;#x30A9;&amp;#x30ED;&amp;#x30EF;&amp;#x30FC;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x4FDD;&amp;#x5B58;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x306B;&amp;#x3001;Marshal.dump&amp;#x3092;&amp;#x3064;&amp;#x304B;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002; &amp;#x3068;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x304A;&amp;#x624B;&amp;#x8EFD;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;
  • #36: &amp;#x30D3;&amp;#x30B8;&amp;#x30E5;&amp;#x30A2;&amp;#x30EB;&amp;#x3067;&amp;#x30D5;&amp;#x30A3;&amp;#x30B8;&amp;#x30AB;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;
  • #38: Ruby&amp;#x304C;Gainer&amp;#x306E;&amp;#x5236;&amp;#x5FA1;&amp;#x3068;QuartzComposer&amp;#x3068;&amp;#x3092;&amp;#x3064;&amp;#x306A;&amp;#x3052;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;
  • #39: Refe2.vim
  • #41: Vim&amp;#x304B;&amp;#x3089;Ruby&amp;#x30B9;&amp;#x30AF;&amp;#x30EA;&amp;#x30D7;&amp;#x30C8;&amp;#x3067;BitCluset&amp;#x3092;&amp;#x76F4;&amp;#x63A5;&amp;#x547C;&amp;#x3093;&amp;#x3067;&amp;#x307E;&amp;#x3059;&amp;#x3002; VimScript&amp;#x3092;&amp;#x3042;&amp;#x307E;&amp;#x308A;&amp;#x899A;&amp;#x3048;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x3082;&amp;#x6E08;&amp;#x307F;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;
  • #46: &amp;#x3042;&amp;#x306A;&amp;#x305F;&amp;#x304C;&amp;#x697D;&amp;#x3057;&amp;#x3044;&amp;#x3001;&amp;#x306A;&amp;#x306B;&amp;#x304B;&amp;#x3092;&amp;#x3064;&amp;#x304F;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;