SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
HootSuite Dev 2
                             Tatsuhiro Ujihisa
                               May 12, 2011
                               Tokyo, Japan




Thursday, May 12, 2011
Vancouver, B.C.
                            Canada

Thursday, May 12, 2011
Thursday, May 12, 2011
Topics


               • Teamwork
               • My own work

Thursday, May 12, 2011
Tatsuhiro Ujihisa

               • @ujm
               • github.com/ujihisa
               • http://ujihisa.blogspot.com
               • HootSuite Software Engineer
                     since June 2010
Thursday, May 12, 2011
Teams

               • Web (web and keitai)
               • Mobile (iPhone, Android and
                     Blackberry)
               • Design
               • Test
Thursday, May 12, 2011
Web
               • Biggest. Complete.



Thursday, May 12, 2011
Mobile
               • Individuals. Subset. Flexible.



Thursday, May 12, 2011
Design




Thursday, May 12, 2011
Thursday, May 12, 2011
Infrastructure

                          dev
                                         test B

              


                                test A            public




Thursday, May 12, 2011
• SVN
               • PHP with Zend Framework
               •     MySQL, MongoDB, Memcached, and Membase




Thursday, May 12, 2011
• PHPUnit and CruiseControl
               • Selenium
               • Man-power
Thursday, May 12, 2011
Thursday, May 12, 2011
Work


                         • Bike
                         • Rollerskate
                         • Bus
Thursday, May 12, 2011
Background

               • Pattern Recognition (Master's)
               • Ruby&JS programmer
               • Vimmer
               • Osaka → Vancouver
Thursday, May 12, 2011
In HootSuite

               • HootSuite
               • mixi Integration
               • etc
               • Since June 2010
Thursday, May 12, 2011
• PHP
               • JavaScript
               • HTML
Thursday, May 12, 2011
• Vim script
               • Ruby
               • PHP
               • CoffeeScript
               • Haml
Thursday, May 12, 2011
Thursday, May 12, 2011
Vim

               • ~/.vimrc 1412 lines
               • Plugins: 66
               • 1999
               • Good advisers
Thursday, May 12, 2011
Vim in HootSuite


               • phpconceal
               • quickrun
               • shadow
Thursday, May 12, 2011
phpconceal
                          $a = 1;          a=1

                         return $x;        ←x

                         $this->f()        @f()

                array('name' =>
                                      √'name': 'value)
                    'value');
Thursday, May 12, 2011
quickrun

                  <space>r
            • upload files to dev server
            • run its unittest remotely
            • show it permanently
Thursday, May 12, 2011
shadow.vim

             ## cat -n
                                     1 hello
             hello
                                     2 the
             the
                                     3 world
             world



                     hello.txt.shd         hello.txt


Thursday, May 12, 2011
shadow.vim
                                     (function() {
                                       f(x);
             ## coffee -csp            f(function() {
             fx                          return y + z;
             f ->                      });
               y+z                   }).call(this);



                     hello.txt.shd         hello.txt


Thursday, May 12, 2011
(ujihisa.vim)

                  http://cotocoto.jp/event/45772

                  5      14   (   )




                         20




Thursday, May 12, 2011
Ruby in HootSuite

               • a shellscript
               • Rakefile
               • static source code processing
               • spec
               • prototyping
Thursday, May 12, 2011
mixi Integration

               • mixi Voice
               • mixi Voice Comment
               • User Profile
               • Mobile Version
Thursday, May 12, 2011
Thursday, May 12, 2011
Thursday, May 12, 2011

Contenu connexe

En vedette (10)

Agile Web Posting With Ruby / Ruby Kaigi2008
Agile Web Posting With Ruby / Ruby Kaigi2008Agile Web Posting With Ruby / Ruby Kaigi2008
Agile Web Posting With Ruby / Ruby Kaigi2008
 
Hacking Parse.y with ujihisa
Hacking Parse.y with ujihisaHacking Parse.y with ujihisa
Hacking Parse.y with ujihisa
 
How To Use Kagemusha
How To Use KagemushaHow To Use Kagemusha
How To Use Kagemusha
 
vimconf2013
vimconf2013vimconf2013
vimconf2013
 
Hootsuite dev 2011
Hootsuite dev 2011Hootsuite dev 2011
Hootsuite dev 2011
 
2 Million Milestone ~ Infographic
2 Million Milestone ~ Infographic2 Million Milestone ~ Infographic
2 Million Milestone ~ Infographic
 
From Ruby to Haskell (Kansai Yami RubyKaigi)
From Ruby to Haskell (Kansai Yami RubyKaigi)From Ruby to Haskell (Kansai Yami RubyKaigi)
From Ruby to Haskell (Kansai Yami RubyKaigi)
 
Presentacion de trabajos
Presentacion de trabajosPresentacion de trabajos
Presentacion de trabajos
 
A P R E S E N T AÇÃ O C L U B M A X I 24 11 07
A P R E S E N T AÇÃ O  C L U B M A X I 24 11 07A P R E S E N T AÇÃ O  C L U B M A X I 24 11 07
A P R E S E N T AÇÃ O C L U B M A X I 24 11 07
 
Preguntas frecuentes FERIA DE CIENCIAS
Preguntas frecuentes FERIA DE CIENCIASPreguntas frecuentes FERIA DE CIENCIAS
Preguntas frecuentes FERIA DE CIENCIAS
 

Similaire à HootSuite Dev 2

Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
ehuard
 
JS Tooling in Rails 3.1
JS Tooling in Rails 3.1JS Tooling in Rails 3.1
JS Tooling in Rails 3.1
Duda Dornelles
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forward
eug3n_cojocaru
 
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Guillaume Laforge
 
Twitter streamingapi rubymongodbv2
Twitter streamingapi rubymongodbv2Twitter streamingapi rubymongodbv2
Twitter streamingapi rubymongodbv2
Jeff Linwood
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011
Stefane Fermigier
 

Similaire à HootSuite Dev 2 (20)

Java EE and Google App Engine
Java EE and Google App EngineJava EE and Google App Engine
Java EE and Google App Engine
 
Sustainable Theming with Fusion - DCCO 2011
Sustainable Theming with Fusion - DCCO 2011Sustainable Theming with Fusion - DCCO 2011
Sustainable Theming with Fusion - DCCO 2011
 
Caridy patino - node-js
Caridy patino - node-jsCaridy patino - node-js
Caridy patino - node-js
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
 
A Tour Through the Groovy Ecosystem
A Tour Through the Groovy EcosystemA Tour Through the Groovy Ecosystem
A Tour Through the Groovy Ecosystem
 
RunDeck
RunDeckRunDeck
RunDeck
 
Splash
SplashSplash
Splash
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
 
HTML5 & CSS3 in Drupal (on the Bayou)
HTML5 & CSS3 in Drupal (on the Bayou)HTML5 & CSS3 in Drupal (on the Bayou)
HTML5 & CSS3 in Drupal (on the Bayou)
 
Javascript - How to avoid the bad parts
Javascript - How to avoid the bad partsJavascript - How to avoid the bad parts
Javascript - How to avoid the bad parts
 
JS Tooling in Rails 3.1
JS Tooling in Rails 3.1JS Tooling in Rails 3.1
JS Tooling in Rails 3.1
 
To infinity and beyond!
To infinity and beyond!To infinity and beyond!
To infinity and beyond!
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forward
 
PushToTest TestMaker 6.5 Open Source Test Design Document
PushToTest TestMaker 6.5 Open Source Test Design DocumentPushToTest TestMaker 6.5 Open Source Test Design Document
PushToTest TestMaker 6.5 Open Source Test Design Document
 
Node js techtalksto
Node js techtalkstoNode js techtalksto
Node js techtalksto
 
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
 
Twitter streamingapi rubymongodbv2
Twitter streamingapi rubymongodbv2Twitter streamingapi rubymongodbv2
Twitter streamingapi rubymongodbv2
 
Consuming the Twitter Streaming API with Ruby and MongoDB
Consuming the Twitter Streaming API with Ruby and MongoDBConsuming the Twitter Streaming API with Ruby and MongoDB
Consuming the Twitter Streaming API with Ruby and MongoDB
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011
 
The state of drupal 8 - Drupalcamp Gent
The state of drupal 8  - Drupalcamp GentThe state of drupal 8  - Drupalcamp Gent
The state of drupal 8 - Drupalcamp Gent
 

Plus de ujihisa

Keynote ujihisa.vim#2
Keynote ujihisa.vim#2Keynote ujihisa.vim#2
Keynote ujihisa.vim#2
ujihisa
 
vimshell made other shells legacy
vimshell made other shells legacyvimshell made other shells legacy
vimshell made other shells legacy
ujihisa
 
CoffeeScript in hootsuite
CoffeeScript in hootsuiteCoffeeScript in hootsuite
CoffeeScript in hootsuite
ujihisa
 
Ruby Kansai49
Ruby Kansai49Ruby Kansai49
Ruby Kansai49
ujihisa
 
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
ujihisa
 
Ruby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisaRuby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisa
ujihisa
 
All About Metarw -- VimM#2
All About Metarw -- VimM#2All About Metarw -- VimM#2
All About Metarw -- VimM#2
ujihisa
 
Itc2008 Ujihisa
Itc2008 UjihisaItc2008 Ujihisa
Itc2008 Ujihisa
ujihisa
 
From Java To Haskell P
From Java To Haskell PFrom Java To Haskell P
From Java To Haskell P
ujihisa
 
Ruby Monad
Ruby MonadRuby Monad
Ruby Monad
ujihisa
 
進捗報告2007 11 09 15 31 39
進捗報告2007 11 09 15 31 39進捗報告2007 11 09 15 31 39
進捗報告2007 11 09 15 31 39
ujihisa
 
進捗報告2007-09-11
進捗報告2007-09-11進捗報告2007-09-11
進捗報告2007-09-11
ujihisa
 

Plus de ujihisa (20)

KOF2013 Minecraft / Clojure
KOF2013 Minecraft / ClojureKOF2013 Minecraft / Clojure
KOF2013 Minecraft / Clojure
 
Keynote ujihisa.vim#2
Keynote ujihisa.vim#2Keynote ujihisa.vim#2
Keynote ujihisa.vim#2
 
vimshell made other shells legacy
vimshell made other shells legacyvimshell made other shells legacy
vimshell made other shells legacy
 
Text Manipulation with/without Parsec
Text Manipulation with/without ParsecText Manipulation with/without Parsec
Text Manipulation with/without Parsec
 
CoffeeScript in hootsuite
CoffeeScript in hootsuiteCoffeeScript in hootsuite
CoffeeScript in hootsuite
 
Ruby Kansai49
Ruby Kansai49Ruby Kansai49
Ruby Kansai49
 
LLVM Workshop Osaka Umeda, Japan
LLVM Workshop Osaka Umeda, JapanLLVM Workshop Osaka Umeda, Japan
LLVM Workshop Osaka Umeda, Japan
 
RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"
 
Hacking parse.y (RubyConf 2009)
Hacking parse.y (RubyConf 2009)Hacking parse.y (RubyConf 2009)
Hacking parse.y (RubyConf 2009)
 
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
 
Ruby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisaRuby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisa
 
Kof2008 Itll
Kof2008 ItllKof2008 Itll
Kof2008 Itll
 
All About Metarw -- VimM#2
All About Metarw -- VimM#2All About Metarw -- VimM#2
All About Metarw -- VimM#2
 
Itc2008 Ujihisa
Itc2008 UjihisaItc2008 Ujihisa
Itc2008 Ujihisa
 
Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)
 
From Java To Haskell P
From Java To Haskell PFrom Java To Haskell P
From Java To Haskell P
 
Ruby Monad
Ruby MonadRuby Monad
Ruby Monad
 
From Javascript To Haskell
From Javascript To HaskellFrom Javascript To Haskell
From Javascript To Haskell
 
進捗報告2007 11 09 15 31 39
進捗報告2007 11 09 15 31 39進捗報告2007 11 09 15 31 39
進捗報告2007 11 09 15 31 39
 
進捗報告2007-09-11
進捗報告2007-09-11進捗報告2007-09-11
進捗報告2007-09-11
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

HootSuite Dev 2

  • 1. HootSuite Dev 2 Tatsuhiro Ujihisa May 12, 2011 Tokyo, Japan Thursday, May 12, 2011
  • 2. Vancouver, B.C. Canada Thursday, May 12, 2011
  • 4. Topics • Teamwork • My own work Thursday, May 12, 2011
  • 5. Tatsuhiro Ujihisa • @ujm • github.com/ujihisa • http://ujihisa.blogspot.com • HootSuite Software Engineer since June 2010 Thursday, May 12, 2011
  • 6. Teams • Web (web and keitai) • Mobile (iPhone, Android and Blackberry) • Design • Test Thursday, May 12, 2011
  • 7. Web • Biggest. Complete. Thursday, May 12, 2011
  • 8. Mobile • Individuals. Subset. Flexible. Thursday, May 12, 2011
  • 11. Infrastructure dev test B  test A public Thursday, May 12, 2011
  • 12. • SVN • PHP with Zend Framework • MySQL, MongoDB, Memcached, and Membase Thursday, May 12, 2011
  • 13. • PHPUnit and CruiseControl • Selenium • Man-power Thursday, May 12, 2011
  • 15. Work • Bike • Rollerskate • Bus Thursday, May 12, 2011
  • 16. Background • Pattern Recognition (Master's) • Ruby&JS programmer • Vimmer • Osaka → Vancouver Thursday, May 12, 2011
  • 17. In HootSuite • HootSuite • mixi Integration • etc • Since June 2010 Thursday, May 12, 2011
  • 18. • PHP • JavaScript • HTML Thursday, May 12, 2011
  • 19. • Vim script • Ruby • PHP • CoffeeScript • Haml Thursday, May 12, 2011
  • 21. Vim • ~/.vimrc 1412 lines • Plugins: 66 • 1999 • Good advisers Thursday, May 12, 2011
  • 22. Vim in HootSuite • phpconceal • quickrun • shadow Thursday, May 12, 2011
  • 23. phpconceal $a = 1; a=1 return $x; ←x $this->f() @f() array('name' => √'name': 'value) 'value'); Thursday, May 12, 2011
  • 24. quickrun <space>r • upload files to dev server • run its unittest remotely • show it permanently Thursday, May 12, 2011
  • 25. shadow.vim ## cat -n 1 hello hello 2 the the 3 world world hello.txt.shd hello.txt Thursday, May 12, 2011
  • 26. shadow.vim (function() { f(x); ## coffee -csp f(function() { fx return y + z; f -> }); y+z }).call(this); hello.txt.shd hello.txt Thursday, May 12, 2011
  • 27. (ujihisa.vim) http://cotocoto.jp/event/45772 5 14 ( ) 20 Thursday, May 12, 2011
  • 28. Ruby in HootSuite • a shellscript • Rakefile • static source code processing • spec • prototyping Thursday, May 12, 2011
  • 29. mixi Integration • mixi Voice • mixi Voice Comment • User Profile • Mobile Version Thursday, May 12, 2011