SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Twitter4J                  Scala

                               #scala_kaigi

                                          2011/8/28

                            Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
@yusukey

                        Scala                                  4

                        Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Twitter4J
      •                             Twitter API

      • Pure Java
      •                       Twitter API

      • 100             Twitter API




                        Copyright(c) Yusuke Yamamoto All rights reserved.   3
Sunday, August 28, 11
Twitter4J

        • Twitter API:           100

        • Twitter4J:                                               4       5
           http://api.twitter.com/1/statuses/user_timeline.json

       ResponseList<Status>   getUserTimeline(String screenName, Paging paging)
       ResponseList<Status>   getUserTimeline(long userId, Paging paging)
       ResponseList<Status>   getUserTimeline(String screenName)
       ResponseList<Status>   getUserTimeline(long userId)
       ResponseList<Status>   getUserTimeline()
       ResponseList<Status>   getUserTimeline(Paging paging)




                              Copyright(c) Yusuke Yamamoto All rights reserved.   4
Sunday, August 28, 11
Twitter4J




                100 x 5 = 500

                            Copyright(c) Yusuke Yamamoto All rights reserved.   5
Sunday, August 28, 11
Copyright(c) Yusuke Yamamoto All rights reserved.   6
Sunday, August 28, 11
Copyright(c) Yusuke Yamamoto All rights reserved.   7
Sunday, August 28, 11
Twitter4S
      •                             Pure Scala Twitter4J




                        Copyright(c) Yusuke Yamamoto All rights reserved.   8
Sunday, August 28, 11
Scala
                         •
                         •




                             Copyright(c) Yusuke Yamamoto All rights reserved.   9
Sunday, August 28, 11
https://github.com/yusuke/twitter4s
                               Copyright(c) Yusuke Yamamoto All rights reserved.   10
Sunday, August 28, 11
fork

                        https://github.com/yusuke/twitter4s
                               Copyright(c) Yusuke Yamamoto All rights reserved.   11
Sunday, August 28, 11
Copyright(c) Yusuke Yamamoto All rights reserved.   12
Sunday, August 28, 11
Copyright(c) Yusuke Yamamoto All rights reserved.   13
Sunday, August 28, 11
Copyright(c) Yusuke Yamamoto All rights reserved.   14
Sunday, August 28, 11
2009           4
        http://www.artima.com/scalazine/articles/twitter_on_scala.html
       Steve Jenson, Alex Payne                     Robey Pointer
                                                             Scala            !
                          Copyright(c) Yusuke Yamamoto All rights reserved.       15
Sunday, August 28, 11
Copyright(c) Yusuke Yamamoto All rights reserved.   16
Sunday, August 28, 11
Objective-C C++ Python



                                   2 111
                           3 Jav

                                   Ot
                                       he
                                       r
                                aS
                                   c rip
                                         t
                        7 Java                                 Scala 24

                              Ruby
                               9
                              Copyright(c) Yusuke Yamamoto All rights reserved.   17
Sunday, August 28, 11
Web
  flockdb




                                     flockdb



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  flockdb | gizzard




                                      gizzard



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  flockdb | gizzard
                        Rowz



                                          Rowz

                         gizzard



                               Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  flockdb | gizzard | haplocherius
                        Rowz



                               haplocherius

                Redis



                               Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  flockdb | gizzard | haplocherius | Finagle
                        Rowz



                                        Finagle

                                                              RPC



                               Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  flockdb | gizzard | haplocherius | Finagle
                        Rowz                          schmemcached



                           schmemcached

                    Memcached                        /



                               Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  flockdb | gizzard | haplocherius | Finagle | snowflake
                        Rowz                          schmemcached



                                 snowflake



                               Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  joauth




                                        joauth

                         OAuth

                                         OAuth1.0a / 2.0
                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  joauth | killdeer




                                     killdeer
                                                                  netty




                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  joauth | killdeer | naggati2




                                       nagatti2

                        netty   Scala



                                 Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  scala-zookeeper




                         scala-zookeeper

                         ZooKeeper



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  scala-zookeeper | ostrich




                                      ostrich



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  standard-project




                            standard-project

                        scala



                                Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  standard-project | scala-build




                                 scala-build

                        scala



                                Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  standard-project | scala-build | xrayspecs




                                xrayspecs

                              scala specs



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  standard-project | scala-build | xrayspecs | configgy




                                       configgy

                              /



                                  Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  standard-project | scala-build | xrayspecs | configgy
  sbt-scrooge



                              sbt-scrooge

                          scoorage sbt



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  standard-project | scala-build | xrayspecs | configgy
  sbt-scrooge | scoorage-runtime



                           scrooge-runtime

                        scoorage



                               Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  querulous




                               querulous

                                     JDBC



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  querulous | rpc-client




                                   rpc-client

                        thrift



                                 Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  querulous | rpc-client | chainsaw




                                  chainsaw

                              SLF4J             Scala



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  querulous | rpc-client | chainsaw | scala-json




                                scala-json

                              JSON



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  querulous | rpc-client | chainsaw | scala-json | streamyj




                                   streamyj

                               Jackson



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Web
  querulous | rpc-client | chainsaw | scala-json | streamyj
  util




                                               util

    Jakarta-commons                                      Twitter-commons



                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
flockdb | gizzard | haplocherius | Finagle
                        snowflake | Rowz | schmemcached

 Web                    joauth | killdeer | naggati2
                        scala-zookeeper | ostrich


                        standard-project | scala-build | xrayspecs
                        configgy | sbt-scrooge | scoorage-runtime


                        querulous | rpc-client | chainsaw
                        scala-json | streamyj | util
                              Copyright(c) Yusuke Yamamoto All rights reserved.
Sunday, August 28, 11
Twitter API
     •




                        http://amzn.to/twtr-ref
                            Copyright(c) Yusuke Yamamoto All rights reserved.   43
Sunday, August 28, 11

Weitere ähnliche Inhalte

Mehr von Yusuke Yamamoto

誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansanYusuke Yamamoto
 
JetBrains IDEハンズオン
JetBrains IDEハンズオンJetBrains IDEハンズオン
JetBrains IDEハンズオンYusuke Yamamoto
 
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Java Küche 2016 LT 在室状況自動通知ボット #JavaKuecheJava Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Java Küche 2016 LT 在室状況自動通知ボット #JavaKuecheYusuke Yamamoto
 
Java Küche 2016 #JavaKueche
Java Küche 2016 #JavaKuecheJava Küche 2016 #JavaKueche
Java Küche 2016 #JavaKuecheYusuke Yamamoto
 
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...Yusuke Yamamoto
 
WebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jkWebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jkYusuke Yamamoto
 
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug Yusuke Yamamoto
 
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...Yusuke Yamamoto
 
カジュアルにスレッドダンプ - @yusuke #javacasual
カジュアルにスレッドダンプ - @yusuke #javacasualカジュアルにスレッドダンプ - @yusuke #javacasual
カジュアルにスレッドダンプ - @yusuke #javacasualYusuke Yamamoto
 
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
Excel方眼紙アプリケーションサーバと侍の新機能 #jjugExcel方眼紙アプリケーションサーバと侍の新機能 #jjug
Excel方眼紙アプリケーションサーバと侍の新機能 #jjugYusuke Yamamoto
 
Twitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hackTwitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hackYusuke Yamamoto
 
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai 株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai Yusuke Yamamoto
 
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjugBotを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjugYusuke Yamamoto
 
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpTwitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpYusuke Yamamoto
 
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4Yusuke Yamamoto
 
貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujp貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujpYusuke Yamamoto
 
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4Yusuke Yamamoto
 
JavaScript時代のJava #kansumiB7 #kansumi
JavaScript時代のJava #kansumiB7 #kansumiJavaScript時代のJava #kansumiB7 #kansumi
JavaScript時代のJava #kansumiB7 #kansumiYusuke Yamamoto
 
テンプレートエンジンの話 #jjug
テンプレートエンジンの話 #jjugテンプレートエンジンの話 #jjug
テンプレートエンジンの話 #jjugYusuke Yamamoto
 
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計  #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring 失敗から学ぶAPI設計  #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring Yusuke Yamamoto
 

Mehr von Yusuke Yamamoto (20)

誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
 
JetBrains IDEハンズオン
JetBrains IDEハンズオンJetBrains IDEハンズオン
JetBrains IDEハンズオン
 
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Java Küche 2016 LT 在室状況自動通知ボット #JavaKuecheJava Küche 2016 LT 在室状況自動通知ボット #JavaKueche
Java Küche 2016 LT 在室状況自動通知ボット #JavaKueche
 
Java Küche 2016 #JavaKueche
Java Küche 2016 #JavaKuecheJava Küche 2016 #JavaKueche
Java Küche 2016 #JavaKueche
 
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
JavaOne2016 #CON5929 Time-Saving Tips and Tricks for Building Quality Java Ap...
 
WebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jkWebStormから始まる快適Web開発ワークフロー #html5jk
WebStormから始まる快適Web開発ワークフロー #html5jk
 
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
データクラスから始めるKotlin / JetBrainsに行ってきました #kotlin_kansai #jkug
 
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
Troubleshooting Slowdowns, Freezes, Deadlocks : Introduction to Thread Dump #...
 
カジュアルにスレッドダンプ - @yusuke #javacasual
カジュアルにスレッドダンプ - @yusuke #javacasualカジュアルにスレッドダンプ - @yusuke #javacasual
カジュアルにスレッドダンプ - @yusuke #javacasual
 
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
Excel方眼紙アプリケーションサーバと侍の新機能 #jjugExcel方眼紙アプリケーションサーバと侍の新機能 #jjug
Excel方眼紙アプリケーションサーバと侍の新機能 #jjug
 
Twitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hackTwitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hack
 
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai 株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
株式会社サムライズム@samuraismがcoincheck for ECを使ってビットコイン決済に対応した話 #gbdaitokai
 
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjugBotを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
Botを使った業務効率化 / Java8を使ったBot実装効率化 @yusuke #jjug
 
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpTwitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
 
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
 
貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujp貧乏人のHeroku活用術 #herokujp
貧乏人のHeroku活用術 #herokujp
 
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
リーンスタートアップ x Java #jjug #jjug_ccc #ccc_h4
 
JavaScript時代のJava #kansumiB7 #kansumi
JavaScript時代のJava #kansumiB7 #kansumiJavaScript時代のJava #kansumiB7 #kansumi
JavaScript時代のJava #kansumiB7 #kansumi
 
テンプレートエンジンの話 #jjug
テンプレートエンジンの話 #jjugテンプレートエンジンの話 #jjug
テンプレートエンジンの話 #jjug
 
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計  #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring 失敗から学ぶAPI設計  #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
失敗から学ぶAPI設計 #ccc_h4 #jjug #jjug_ccc JJUG CCC 2013 Spring
 

Kürzlich hochgeladen

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Kürzlich hochgeladen (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Twitter4JとScalaと何か

  • 1. Twitter4J Scala #scala_kaigi 2011/8/28 Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 2. @yusukey Scala 4 Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 3. Twitter4J • Twitter API • Pure Java • Twitter API • 100 Twitter API Copyright(c) Yusuke Yamamoto All rights reserved. 3 Sunday, August 28, 11
  • 4. Twitter4J • Twitter API: 100 • Twitter4J: 4 5 http://api.twitter.com/1/statuses/user_timeline.json ResponseList<Status> getUserTimeline(String screenName, Paging paging) ResponseList<Status> getUserTimeline(long userId, Paging paging) ResponseList<Status> getUserTimeline(String screenName) ResponseList<Status> getUserTimeline(long userId) ResponseList<Status> getUserTimeline() ResponseList<Status> getUserTimeline(Paging paging) Copyright(c) Yusuke Yamamoto All rights reserved. 4 Sunday, August 28, 11
  • 5. Twitter4J 100 x 5 = 500 Copyright(c) Yusuke Yamamoto All rights reserved. 5 Sunday, August 28, 11
  • 6. Copyright(c) Yusuke Yamamoto All rights reserved. 6 Sunday, August 28, 11
  • 7. Copyright(c) Yusuke Yamamoto All rights reserved. 7 Sunday, August 28, 11
  • 8. Twitter4S • Pure Scala Twitter4J Copyright(c) Yusuke Yamamoto All rights reserved. 8 Sunday, August 28, 11
  • 9. Scala • • Copyright(c) Yusuke Yamamoto All rights reserved. 9 Sunday, August 28, 11
  • 10. https://github.com/yusuke/twitter4s Copyright(c) Yusuke Yamamoto All rights reserved. 10 Sunday, August 28, 11
  • 11. fork https://github.com/yusuke/twitter4s Copyright(c) Yusuke Yamamoto All rights reserved. 11 Sunday, August 28, 11
  • 12. Copyright(c) Yusuke Yamamoto All rights reserved. 12 Sunday, August 28, 11
  • 13. Copyright(c) Yusuke Yamamoto All rights reserved. 13 Sunday, August 28, 11
  • 14. Copyright(c) Yusuke Yamamoto All rights reserved. 14 Sunday, August 28, 11
  • 15. 2009 4 http://www.artima.com/scalazine/articles/twitter_on_scala.html Steve Jenson, Alex Payne Robey Pointer Scala ! Copyright(c) Yusuke Yamamoto All rights reserved. 15 Sunday, August 28, 11
  • 16. Copyright(c) Yusuke Yamamoto All rights reserved. 16 Sunday, August 28, 11
  • 17. Objective-C C++ Python 2 111 3 Jav Ot he r aS c rip t 7 Java Scala 24 Ruby 9 Copyright(c) Yusuke Yamamoto All rights reserved. 17 Sunday, August 28, 11
  • 18. Web flockdb flockdb Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 19. Web flockdb | gizzard gizzard Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 20. Web flockdb | gizzard Rowz Rowz gizzard Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 21. Web flockdb | gizzard | haplocherius Rowz haplocherius Redis Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 22. Web flockdb | gizzard | haplocherius | Finagle Rowz Finagle RPC Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 23. Web flockdb | gizzard | haplocherius | Finagle Rowz schmemcached schmemcached Memcached / Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 24. Web flockdb | gizzard | haplocherius | Finagle | snowflake Rowz schmemcached snowflake Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 25. Web joauth joauth OAuth OAuth1.0a / 2.0 Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 26. Web joauth | killdeer killdeer netty Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 27. Web joauth | killdeer | naggati2 nagatti2 netty Scala Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 28. Web scala-zookeeper scala-zookeeper ZooKeeper Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 29. Web scala-zookeeper | ostrich ostrich Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 30. Web standard-project standard-project scala Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 31. Web standard-project | scala-build scala-build scala Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 32. Web standard-project | scala-build | xrayspecs xrayspecs scala specs Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 33. Web standard-project | scala-build | xrayspecs | configgy configgy / Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 34. Web standard-project | scala-build | xrayspecs | configgy sbt-scrooge sbt-scrooge scoorage sbt Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 35. Web standard-project | scala-build | xrayspecs | configgy sbt-scrooge | scoorage-runtime scrooge-runtime scoorage Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 36. Web querulous querulous JDBC Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 37. Web querulous | rpc-client rpc-client thrift Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 38. Web querulous | rpc-client | chainsaw chainsaw SLF4J Scala Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 39. Web querulous | rpc-client | chainsaw | scala-json scala-json JSON Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 40. Web querulous | rpc-client | chainsaw | scala-json | streamyj streamyj Jackson Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 41. Web querulous | rpc-client | chainsaw | scala-json | streamyj util util Jakarta-commons Twitter-commons Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 42. flockdb | gizzard | haplocherius | Finagle snowflake | Rowz | schmemcached Web joauth | killdeer | naggati2 scala-zookeeper | ostrich standard-project | scala-build | xrayspecs configgy | sbt-scrooge | scoorage-runtime querulous | rpc-client | chainsaw scala-json | streamyj | util Copyright(c) Yusuke Yamamoto All rights reserved. Sunday, August 28, 11
  • 43. Twitter API • http://amzn.to/twtr-ref Copyright(c) Yusuke Yamamoto All rights reserved. 43 Sunday, August 28, 11