SlideShare a Scribd company logo
1 of 23
Download to read offline
Jenkins

              2011/2/25
                   @yusukey



     http://samuraism.jp/
     @yusukey
Copyright(c) Yusuke Yamamoto All rights reserved.
• Twitter4J
• Jenkins
•
•



              Copyright(c) Yusuke Yamamoto All rights reserved.
Twitter4J



    Copyright(c) Yusuke Yamamoto All rights reserved.
Java Twitter API
 30
•JDK1.4.2
•Google App Engine
• Android

 LOC: 5.3
        Copyright(c) Yusuke Yamamoto All rights reserved.
Twitter4J
        IntelliJ IDEA: github / Jira


        JUnit:


        Maven:


        Jira: issue

            Copyright(c) Yusuke Yamamoto All rights reserved.
Twitter4J
       Maven Central Repository
                                                                2008 6


       Hudson / Jenkins: CI
        2009     3                                    2011 2

       github:
                                                       2009 4

       Sonatype Nexus: Maven
                                                       2010 1

            Copyright(c) Yusuke Yamamoto All rights reserved.
Copyright(c) Yusuke Yamamoto All rights reserved.
Twitter4J
                                                       release:perform
  git push origin master




                                                             oss.sonatype.org
                      service hook
                                                               promote




       CI                       github.com repo1.maven.org
         Copyright(c) Yusuke Yamamoto All rights reserved.
2007
3



    Copyright(c) Yusuke Yamamoto All rights reserved.
2010                   10                     2




  Copyright(c) Yusuke Yamamoto All rights reserved.
• Twitter4J 2.1.5
     • OAuth
401:Authentication credentials were missing or incorrect.




                 Copyright(c) Yusuke Yamamoto All rights reserved.
Copyright(c) Yusuke Yamamoto All rights reserved.
•                                     StringUtil.split()

•                    OAuth
public static String[] split(String str, String separator){
 String[] returnValue;
 int index;
 if(-1 == str.indexOf(separator)){
  returnValue = new String[0];
 }else{
...




     StringUtil.split(“foo,bar”,”,”); » {“foo”, “bar”}

     StringUtil.split(“foobar”,”,”); » new String[0]
                 Copyright(c) Yusuke Yamamoto All rights reserved.
StringUtil.split
  • String#split
  • J2ME String#split(@since JDK1.4)

  • J2ME      JDK                                        JDK1.3(?)
Caused by: java.lang.NoSuchMethodError: java.lang.String: method
split(Ljava/lang/String;)[Ljava/lang/String; not found
 at twitter4j.conf.PropertyConfiguration.setFieldsWithTreePath
(Ljava/util/Properties;Ljava/lang/String;)V
(PropertyConfiguration.java:196)
 at twitter4j.conf.PropertyConfiguration.<init>(Ljava/lang/
String;)V(PropertyConfiguration.java:121)


                    Copyright(c) Yusuke Yamamoto All rights reserved.
Jenkins




     Copyright(c) Yusuke Yamamoto All rights reserved.
Jenkins




     Copyright(c) Yusuke Yamamoto All rights reserved.
•   Twitter         J


•     : 2010            8                 Basic




        Copyright(c) Yusuke Yamamoto All rights reserved.
TestCase

                         TwitterTestUnit
before


              BasicTest                      OAuthTest
         Basic                             OAuth


after
                                                                Maven
                          TwitterTestUnit

                          OAuth

                Copyright(c) Yusuke Yamamoto All rights reserved.
fail

         : Twitter API                                          API


 TwitterTestUnit   AsyncTwitterTest




                           fail


                     Copyright(c) Yusuke Yamamoto All rights reserved.
Copyright(c) Yusuke Yamamoto All rights reserved.
• fail
  •      age




               Copyright(c) Yusuke Yamamoto All rights reserved.
•
    •
    •




        Copyright(c) Yusuke Yamamoto All rights reserved.
Copyright(c) Yusuke Yamamoto All rights reserved.

More Related Content

Similar to Jenkins and Twitter4J documentation

Twitter4jソースコードリーディング
Twitter4jソースコードリーディングTwitter4jソースコードリーディング
Twitter4jソースコードリーディングYusuke Yamamoto
 
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携Yusuke Yamamoto
 
Twitter 研究会2012-1-28 - Twitter APIの紹介
Twitter 研究会2012-1-28 - Twitter APIの紹介Twitter 研究会2012-1-28 - Twitter APIの紹介
Twitter 研究会2012-1-28 - Twitter APIの紹介Yusuke Yamamoto
 
今熱いオープンソース
今熱いオープンソース今熱いオープンソース
今熱いオープンソースYusuke Yamamoto
 
livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介
livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介
livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介Koichi Taniguchi
 
Minou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNET
Minou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNETMinou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNET
Minou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNETMaxime Pawlak
 
Atom Text Editor: Resistance is Futile
Atom Text Editor: Resistance is FutileAtom Text Editor: Resistance is Futile
Atom Text Editor: Resistance is FutileAlessandro Muraro
 
Historef: A Tool for Edit History Refactoring
Historef: A Tool  for Edit History RefactoringHistoref: A Tool  for Edit History Refactoring
Historef: A Tool for Edit History RefactoringShinpei Hayashi
 
地球で一番熱いライブラリ
地球で一番熱いライブラリ地球で一番熱いライブラリ
地球で一番熱いライブラリYusuke Yamamoto
 
SRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdfSRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdfTomoya Fujita
 
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup StockholmIETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup StockholmLorenzo Miniero
 
Life at Twitter + Career Advice for Students
Life at Twitter + Career Advice for StudentsLife at Twitter + Career Advice for Students
Life at Twitter + Career Advice for StudentsChris Aniszczyk
 
An overview of open source in east asia
An overview of open source in east asiaAn overview of open source in east asia
An overview of open source in east asiaMinwoo Park
 
Eclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitEclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitdeepakazad
 
Case Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed StorageCase Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed StorageKota Tsuyuzaki
 
Realities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectRealities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectToshiharu Harada, Ph.D
 

Similar to Jenkins and Twitter4J documentation (18)

Twitter4jソースコードリーディング
Twitter4jソースコードリーディングTwitter4jソースコードリーディング
Twitter4jソースコードリーディング
 
エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携エンタープライズアプリケーション とTwitterの連携
エンタープライズアプリケーション とTwitterの連携
 
Twitter 研究会2012-1-28 - Twitter APIの紹介
Twitter 研究会2012-1-28 - Twitter APIの紹介Twitter 研究会2012-1-28 - Twitter APIの紹介
Twitter 研究会2012-1-28 - Twitter APIの紹介
 
今熱いオープンソース
今熱いオープンソース今熱いオープンソース
今熱いオープンソース
 
livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介
livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介
livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介
 
Minou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNET
Minou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNETMinou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNET
Minou Minou ! Les chat(bot)s continuent leur invasion de l'INTERNET
 
Atom Text Editor: Resistance is Futile
Atom Text Editor: Resistance is FutileAtom Text Editor: Resistance is Futile
Atom Text Editor: Resistance is Futile
 
Historef: A Tool for Edit History Refactoring
Historef: A Tool  for Edit History RefactoringHistoref: A Tool  for Edit History Refactoring
Historef: A Tool for Edit History Refactoring
 
地球で一番熱いライブラリ
地球で一番熱いライブラリ地球で一番熱いライブラリ
地球で一番熱いライブラリ
 
SRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdfSRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdf
 
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup StockholmIETF remote participation via Meetecho @ WebRTC Meetup Stockholm
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
 
Life at Twitter + Career Advice for Students
Life at Twitter + Career Advice for StudentsLife at Twitter + Career Advice for Students
Life at Twitter + Career Advice for Students
 
An overview of open source in east asia
An overview of open source in east asiaAn overview of open source in east asia
An overview of open source in east asia
 
Matcha
MatchaMatcha
Matcha
 
Eclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitEclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGit
 
Java Empowered by Jython
Java Empowered by JythonJava Empowered by Jython
Java Empowered by Jython
 
Case Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed StorageCase Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed Storage
 
Realities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectRealities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux project
 

More from Yusuke Yamamoto

株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokaiYusuke Yamamoto
 
これからはじめるGit、GitHub #stapy
これからはじめるGit、GitHub #stapyこれからはじめるGit、GitHub #stapy
これからはじめるGit、GitHub #stapyYusuke Yamamoto
 
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansanYusuke 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
 
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
 
HerokuでJava7 #herokujp #waza
HerokuでJava7 #herokujp #wazaHerokuでJava7 #herokujp #waza
HerokuでJava7 #herokujp #wazaYusuke Yamamoto
 
2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこるYusuke Yamamoto
 
Twitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hackTwitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hackYusuke Yamamoto
 
Twitter Cards #twtr_hack
Twitter Cards #twtr_hackTwitter Cards #twtr_hack
Twitter Cards #twtr_hackYusuke Yamamoto
 
スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudy
スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudyスローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudy
スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudyYusuke Yamamoto
 

More from Yusuke Yamamoto (20)

株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
株式会社サムライズム 新製品発表会 物理イカリングのご紹介 #gbdaitokai
 
これからはじめるGit、GitHub #stapy
これからはじめるGit、GitHub #stapyこれからはじめるGit、GitHub #stapy
これからはじめるGit、GitHub #stapy
 
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
誰も知らない IntelliJ IDEA凄技100選 #kotlin_sansan
 
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...
 
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
 
HerokuでJava7 #herokujp #waza
HerokuでJava7 #herokujp #wazaHerokuでJava7 #herokujp #waza
HerokuでJava7 #herokujp #waza
 
2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる
 
Twitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hackTwitter API1.1 #twtr_hack
Twitter API1.1 #twtr_hack
 
Twitter Cards #twtr_hack
Twitter Cards #twtr_hackTwitter Cards #twtr_hack
Twitter Cards #twtr_hack
 
スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudy
スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudyスローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudy
スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudy
 

Recently uploaded

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Recently uploaded (20)

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

Jenkins and Twitter4J documentation

  • 1. Jenkins 2011/2/25 @yusukey http://samuraism.jp/ @yusukey Copyright(c) Yusuke Yamamoto All rights reserved.
  • 2. • Twitter4J • Jenkins • • Copyright(c) Yusuke Yamamoto All rights reserved.
  • 3. Twitter4J Copyright(c) Yusuke Yamamoto All rights reserved.
  • 4. Java Twitter API 30 •JDK1.4.2 •Google App Engine • Android LOC: 5.3 Copyright(c) Yusuke Yamamoto All rights reserved.
  • 5. Twitter4J IntelliJ IDEA: github / Jira JUnit: Maven: Jira: issue Copyright(c) Yusuke Yamamoto All rights reserved.
  • 6. Twitter4J Maven Central Repository 2008 6 Hudson / Jenkins: CI 2009 3 2011 2 github: 2009 4 Sonatype Nexus: Maven 2010 1 Copyright(c) Yusuke Yamamoto All rights reserved.
  • 7. Copyright(c) Yusuke Yamamoto All rights reserved.
  • 8. Twitter4J release:perform git push origin master oss.sonatype.org service hook promote CI github.com repo1.maven.org Copyright(c) Yusuke Yamamoto All rights reserved.
  • 9. 2007 3 Copyright(c) Yusuke Yamamoto All rights reserved.
  • 10. 2010 10 2 Copyright(c) Yusuke Yamamoto All rights reserved.
  • 11. • Twitter4J 2.1.5 • OAuth 401:Authentication credentials were missing or incorrect. Copyright(c) Yusuke Yamamoto All rights reserved.
  • 12. Copyright(c) Yusuke Yamamoto All rights reserved.
  • 13. StringUtil.split() • OAuth public static String[] split(String str, String separator){ String[] returnValue; int index; if(-1 == str.indexOf(separator)){ returnValue = new String[0]; }else{ ... StringUtil.split(“foo,bar”,”,”); » {“foo”, “bar”} StringUtil.split(“foobar”,”,”); » new String[0] Copyright(c) Yusuke Yamamoto All rights reserved.
  • 14. StringUtil.split • String#split • J2ME String#split(@since JDK1.4) • J2ME JDK JDK1.3(?) Caused by: java.lang.NoSuchMethodError: java.lang.String: method split(Ljava/lang/String;)[Ljava/lang/String; not found at twitter4j.conf.PropertyConfiguration.setFieldsWithTreePath (Ljava/util/Properties;Ljava/lang/String;)V (PropertyConfiguration.java:196) at twitter4j.conf.PropertyConfiguration.<init>(Ljava/lang/ String;)V(PropertyConfiguration.java:121) Copyright(c) Yusuke Yamamoto All rights reserved.
  • 15. Jenkins Copyright(c) Yusuke Yamamoto All rights reserved.
  • 16. Jenkins Copyright(c) Yusuke Yamamoto All rights reserved.
  • 17. Twitter J • : 2010 8 Basic Copyright(c) Yusuke Yamamoto All rights reserved.
  • 18. TestCase TwitterTestUnit before BasicTest OAuthTest Basic OAuth after Maven TwitterTestUnit OAuth Copyright(c) Yusuke Yamamoto All rights reserved.
  • 19. fail : Twitter API API TwitterTestUnit AsyncTwitterTest fail Copyright(c) Yusuke Yamamoto All rights reserved.
  • 20. Copyright(c) Yusuke Yamamoto All rights reserved.
  • 21. • fail • age Copyright(c) Yusuke Yamamoto All rights reserved.
  • 22. • • Copyright(c) Yusuke Yamamoto All rights reserved.
  • 23. Copyright(c) Yusuke Yamamoto All rights reserved.