SlideShare a Scribd company logo
tDiary             Ruby1.9


                Our tDiary's policy and strategies to support Ruby
                             1.9 and our future plan.


                                        (tDiary.org)
                          SHIBATA Hiroshi (tDiary.org)



2009   7   19                                                        1
2009   7   19   2
• SHIBATA Hiroshi a.k.a hsbt (hsbt.org)
                •
                • 1981
2009   7   19                                             3
Ruby

                •     4     id:gotoken



                • tDiary   Web




2009   7   19                            4
• Administrator of developer team for
                  tDiary.org

2009   7   19                                           5
RubyKaigi2009
                          /


2009   7   19                   6
2009   7   19   7
Agenda
                •
                • tDiary-2.3.2           (Ruby 1.9
                         )

                • Ruby 1.9
                • tDiary-2.3.3~ future
2009   7   19                                        8
2009   7   19   9
tDiary
                         ?


2009   7   19                10
tDiary




2009   7   19            11
tDiary   …




2009   7   19                12
tDiary

                • feed reader            (ry

                • tDiary                       (ry

                •
                      (ry



2009   7   19                                        13
tDiary
                • Tsukkomi oriented Diary system
                • before Rails               (25   )

                • Ruby
                 •                      Ruby




2009   7   19                                          14
tDiary
                Ruby

2009   7   19               15
2009/01/30
                Ruby 1.9 Release!


2009   7   19                       16
Ruby 1.9
                           ?


2009   7   19                  17
RubyKaigi2009
                          /


2009   7   19                   18
tDiary   Ruby
                   1.9

2009   7   19                   19
tDiary                 Ruby 1.9

                • Ruby 1.9

                • tDiary     Ruby 1.9



                •                       Ruby 1.9



2009   7   19                                      20
Agenda

                •
                • tDiary-2.3.2           (Ruby 1.9   )

                • Ruby 1.9
                • tDiary-2.3.3~ future

2009   7   19                                            21
tDiary-2.3.2
                  (Ruby 1.9    )



2009   7   19                      22
2009   7   19   23
orz
2009   7   19         24
by kakutani


2009   7   19                 25
…


2009   7   19       26
2009   7   19   27
2008   12




2009   7   19               28
2009   7   19   29
Ruby 1.9
                •

                •

2009   7   19              30
Ruby 1.9

                •   1.8   1.9


                •   magic comment


2009   7   19                       31
Ruby 1.9
                •   ruby       --encoding


                •

2009   7   19                               32
Agenda

                •
                • tDiary-2.3.2           (Ruby 1.9   )

                • Ruby 1.9
                • tDiary-2.3.3~ future

2009   7   19                                            33
Ruby 1.9


2009   7   19              34
1


  (core/misc/lib/compatible.rb)

2009   7   19                     35
compatible.rb

                •                     machu

                • 1.8 1.9
                  • for 1.9: String.each_line, String.to_a ...
                  • for 1.8: String.force_encoding,
                     String.bytesize ...



2009   7   19                                                    36
2


                (magic comment ru)

2009   7   19                        37
•   *.rb   1


                •   shebang
                      2

2009   7   19                  38
1




2009   7   19       39
sed                        !
       gsed -i "1s/.*/# -*- coding: utf-8; -*-n&/" **/*.rb




2009   7   19                                                   40
3
                ruby --encoding=utf-8


2009   7   19                           41
ruby --encoding=utf-8
                • ruby      --encoding



                • tDiary      index.rb   update.rb
                  shebang

                 •

2009   7   19                                        42
4




2009   7   19       43
•        open( file, ‘r:utf-8’)


                •   Ruby 1.8.6

                •
2009   7   19                                    44
default_external      !

       Encoding::default_external = ‘UTF-8’




2009   7   19                                 45
RUBY_VERSION




2009   7   19                  46
2009   7   19   47
• cgi.cookies   ASCII-8BIT
                encoding

            •                         map    Enumerator
                                      to_a

            • get               nil




2009   7   19                                             48
…



2009   7   19       49
2009   7   19   50
…



2009   7   19       51
eval     SecurityError



2009   7   19                   52
eval   SecurityError




2009   7   19                     53
[BUG]
           • $SAFE= 1   eval [BUG]

           •




2009   7   19                        54
ruby-1.9.1p129   bug fix



2009   7   19                         55
• Ruby   [BUG]

            • Ruby   [BUG]



                •       (ry



2009   7   19                 56
2009/05/08
                tDiary-2.3.2


2009   7   19                     57
2009   7   19   58
hsbt.org




2009   7   19              59
Agenda

                •
                • tDiary-2.3.2           (Ruby 1.9   )

                • Ruby 1.9
                • tDiary-2.3.3~ future

2009   7   19                                            60
tDiary-2.3.3~ future


2009   7   19                          61
tDiary-2.3.3~ future

                • testing framework
                  • rspec
                  • cucumber
                • CGI Rack
                •
2009   7   19                            62
testing framework

                •    (          C       )   :



                •
                •    : rspec cucumber



2009   7   19                                   63
rspec
                •plugin

                • contrib       core




2009   7   19                          64
cucumber
                •
                • testable_tdiary




2009   7   19                       65
testable_tdiary!!


2009   7   19                       66
2009   7   19   67
SapporoRubyKaigi01




2009   7   19                        68
…

                •     tDiary     01



                • http://kakutani.com/20081025.html#p01


2009   7   19                                             69
testable_tdiary



2009   7   19                 70
github




                http://github.com/hsbt/tdiary/tree/testable_merge

2009   7   19                                                       71
•script/server (pure webrick)
                • rackup -s webrick tdiary.ru
                • cucumber -l ja features
                 •
2009   7   19                                   72
tDiary



2009   7   19            73
tDiary   cgi.rb

                         webrick
                                   cgi.rb

                         rack      webrick

                                   passenger



2009   7   19                                  74
/
            • cache          cache



            • XMLRPC
            • mod_ruby           fcgi

            • Ruby 1.9
2009   7   19                           75
2009   7   19   76
2009   7   19   77
• tDiary   Ruby

                •            : tDiary Ruby1.9



                •            : tDiary 2.3.3




2009   7   19                                   78
2009   7   19   79
Q&A



2009   7   19         80

More Related Content

PDF
The advanced usage of heroku client
PDF
Middleware as Code with mruby
PDF
Sapporo Ruby Kaigi01
PDF
tDiary Party 2.1
ODP
Snow in December in Springfield, VA
PDF
『予想どおりに不合理』4章「社会規範のコスト」
PPT
Guia argentina de tratamiento de la EPOC
PDF
241 Maddox Mb1.Indd
The advanced usage of heroku client
Middleware as Code with mruby
Sapporo Ruby Kaigi01
tDiary Party 2.1
Snow in December in Springfield, VA
『予想どおりに不合理』4章「社会規範のコスト」
Guia argentina de tratamiento de la EPOC
241 Maddox Mb1.Indd

Viewers also liked (13)

PPTX
March 2014 video webinar (2)
PDF
3 28 Rop
PPTX
FACEBOOK FAN PAGE TIPS AND TRICKS – PART 1
DOC
PPS
PDF
KIS Programma - Social Media Training 10-11-2011
PDF
Groovy and Grails
DOC
andrea
PDF
My Designer Desserts
PDF
Marcy Coffee Print
PDF
5 myths whitepaper
PDF
Ouvidoriabacen
March 2014 video webinar (2)
3 28 Rop
FACEBOOK FAN PAGE TIPS AND TRICKS – PART 1
KIS Programma - Social Media Training 10-11-2011
Groovy and Grails
andrea
My Designer Desserts
Marcy Coffee Print
5 myths whitepaper
Ouvidoriabacen
Ad

Similar to RubyKaigi2009 Presentation Slide (20)

KEY
tDiary annual report 2009 - Sapporo Ruby Kaigi02
PDF
Charla ruby nscodermad
PDF
Kon nichi wa_ruby
PDF
Edo Cabinet
PDF
What's new in Ruby 2.0
PDF
Rails testing environment, 2009 fall
PDF
Ruby Kansai #35 About RubyKaigi2009 ujihisa
PDF
RoR_2_Ruby
PDF
The last decade of RWiki and lazy me.
PDF
09年11月 イケテルシリコンバレー報告会
PDF
Ruby on Windows (RubyConf.tw 2011)
KEY
Introducing Ruby
PDF
MacRuby on Rails
PDF
IJTC%202009%20JRuby
PDF
IJTC%202009%20JRuby
PDF
Ruby an overall approach
KEY
Translating ruby OSS
PDF
Learning Ruby
DOCX
Page List & Sample Material (Repaired)
PPTX
Ruby -the wheel Technology
tDiary annual report 2009 - Sapporo Ruby Kaigi02
Charla ruby nscodermad
Kon nichi wa_ruby
Edo Cabinet
What's new in Ruby 2.0
Rails testing environment, 2009 fall
Ruby Kansai #35 About RubyKaigi2009 ujihisa
RoR_2_Ruby
The last decade of RWiki and lazy me.
09年11月 イケテルシリコンバレー報告会
Ruby on Windows (RubyConf.tw 2011)
Introducing Ruby
MacRuby on Rails
IJTC%202009%20JRuby
IJTC%202009%20JRuby
Ruby an overall approach
Translating ruby OSS
Learning Ruby
Page List & Sample Material (Repaired)
Ruby -the wheel Technology
Ad

More from Hiroshi SHIBATA (20)

PDF
Introduction of Cybersecurity with Ruby at RedDotRubyConf 2024
PDF
Introduction of Cybersecurity with OSS at Code Europe 2024
PDF
Long journey of Ruby Standard library at RubyKaigi 2024
PDF
Long journey of Ruby standard library at RubyConf AU 2024
PDF
Deep dive into Ruby's require - RubyConf Taiwan 2023
PDF
How resolve Gem dependencies in your code?
PDF
How resolve Gem dependencies in your code?
PDF
Ruby コミッターと歩む Ruby を用いたプロダクト開発
PDF
Why ANDPAD commit Ruby and RubyKaigi?
PDF
RailsGirls から始める エンジニアリングはじめの一歩
PDF
How to develop the Standard Libraries of Ruby?
PDF
The details of CI/CD environment for Ruby
PDF
Dependency Resolution with Standard Libraries
PDF
Roadmap for RubyGems 4 and Bundler 3
PDF
The Future of library dependency management of Ruby
PDF
Ruby Security the Hard Way
PDF
OSS Security the hard way
PDF
The Future of library dependency manageement of Ruby
PDF
The Future of Dependency Management for Ruby
PDF
The Future of Bundled Bundler
Introduction of Cybersecurity with Ruby at RedDotRubyConf 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby standard library at RubyConf AU 2024
Deep dive into Ruby's require - RubyConf Taiwan 2023
How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Why ANDPAD commit Ruby and RubyKaigi?
RailsGirls から始める エンジニアリングはじめの一歩
How to develop the Standard Libraries of Ruby?
The details of CI/CD environment for Ruby
Dependency Resolution with Standard Libraries
Roadmap for RubyGems 4 and Bundler 3
The Future of library dependency management of Ruby
Ruby Security the Hard Way
OSS Security the hard way
The Future of library dependency manageement of Ruby
The Future of Dependency Management for Ruby
The Future of Bundled Bundler

Recently uploaded (20)

PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
The various Industrial Revolutions .pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
STKI Israel Market Study 2025 version august
PPTX
Benefits of Physical activity for teenagers.pptx
DOCX
search engine optimization ppt fir known well about this
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
August Patch Tuesday
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPT
What is a Computer? Input Devices /output devices
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Unlock new opportunities with location data.pdf
PPT
Geologic Time for studying geology for geologist
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
observCloud-Native Containerability and monitoring.pptx
Taming the Chaos: How to Turn Unstructured Data into Decisions
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
The various Industrial Revolutions .pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
DP Operators-handbook-extract for the Mautical Institute
STKI Israel Market Study 2025 version august
Benefits of Physical activity for teenagers.pptx
search engine optimization ppt fir known well about this
Univ-Connecticut-ChatGPT-Presentaion.pdf
August Patch Tuesday
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
What is a Computer? Input Devices /output devices
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Unlock new opportunities with location data.pdf
Geologic Time for studying geology for geologist
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Zenith AI: Advanced Artificial Intelligence
Final SEM Unit 1 for mit wpu at pune .pptx
Getting started with AI Agents and Multi-Agent Systems

RubyKaigi2009 Presentation Slide