読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

パブリックマン宣言

<スポンサーリンク>

ツイッターのアカウント。
身内だけのプライベートアカウントなのだが、いずれはブログと連携させたり、公に使いたいということで、過去のツイートを全部消そうかと思い立った。
なにせプライベートアカウントは身内ネタばかりなので、パブリックに見せるにはちょっと苦しいからだ。
しかし、2000件近くのツイートがあったので、いちいち手で消していては面倒臭い。
かと言って、たかだかツイートを消すだけのプログラムに時間もかけたくない。

ということで、15分くらいでささっとツイートを消していくJavaを書いた。
デザインパターンを勉強しているにも関わらず、保守性とか拡張性は全く考慮していない。

明日には使わなくなる予定だからだ。
まずは、5分でコンシューマーキーやアクセストークンをゲットする。
twitter dev」でググれば開発者用のサイトが1番上に出てくるので、その中でアクセストークンなんかは取得できる。

で、こんな感じのコードを書く。

package cleanMyTwitter;

import java.util.ArrayList;
import java.util.List;

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;

public class CleanMyTwitter {
	public static void main(String[] args) {
		Twitter twitter = new TwitterFactory().getInstance();
		
		String consumerKey = "RRRRRR";
		String consumerSecret = "XXXXX";
		String accessToken = "YYYYY";
		String accessTokenSecret = "MMMMM";
		
		twitter.setOAuthConsumer(consumerKey, consumerSecret);
		twitter.setOAuthAccessToken(new AccessToken(accessToken,accessTokenSecret));
		List<Status> list = new ArrayList();
		try {
			list = twitter.getUserTimeline();
			if (list.size() <= 1) {
				System.out.println("Exit!");
				System.exit(0);
			}
			for (int i = 0; i < list.size(); i++) {
				Status status = list.get(i);
				if (status != null) {
					long l = status.getId();
					System.out.println("delete tweet id =" + l);
					twitter.destroyStatus(l);
				}
			}
		} catch (TwitterException e) {
			System.out.println(e.getMessage());
		}
	}
}

それで、これをjarにして出力して、

crontab -e
*/15 * * * * java -jar /var/www/cleanTwitter/CleanTwitter.jar

みたいに設定すればOK。
15分に20件ずつツイートを消していってくれる。
寝て起きて会社行って、帰ってきたらきっと、ツイートは1件になってるはず。
たぶん。

感謝のプログラミング

今回で感謝のプログラミングは【306時間目】
10000時間まで、あと【9694時間】