みむらです。結構簡単だったのでぺけぺけ。
1.Visual Studio を立ち上げてプロジェクトを作る。
でけた。
2.Package Manager を起動して、 Twitterizer を入れる。
使い方および起動方法は以前書いた記事を : NuGet で簡単にパッケージを導入する
だん。
3.Twitter にアプリケーションを登録する。
https://dev.twitter.com/apps へアクセス。
画面の右上にある 「Create a new application」 をクリック。
こういう画面が出てきます。
ここでは、次の項目を入力します (なお、各項目は日本語でも問題ありません。):
| 項目名 | 説明 | 例 |
| Name | アプリケーションの名前を入力します。 10文字です。 | やぎ、そしてやぎさん、ゆうびんさん。 |
| Description | どういうアプリケーションかという説明文を入力します。 10文字~200文字です。 | めーと鳴いて、朝と夜を知らせるが、たまに昼間も鳴いてTL を荒らす。 |
| WebSite | ウェブサイトのアドレスを入力します。 | http://mimumimu.net/ |
| Yes, I agree | 上に表示されている、Developer Rules Of The Road に納得できるのであればチェックをします。 | |
| CAPTCHA | 下に表示される2つの文字列を入力します。 |
適当に入力したら、一番下の 「 Create your Twitter application 」 をクリックします。
こんな感じで、アプリケーションが登録されます。
この際、
ページの下の方の OAuth settings に表示されている、
Consumer key と Consumer secret をメモしておいてください。
(なお、このアプリケーションは記事投稿前に削除しているので、Key と Secret は無効です。
4.コードを書く。
Visual Studio に戻ってコードを書きます。
適当に書いてみたのが下記のコード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using Twitterizer;
using Twitterizer.Streaming;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//
// 先ほどメモした ConsumerKey と ConsumerSecret をここに入力。
//
string consumerKey = "GfX2lsqHQAyObh1vPaTUuQ";
string consumerSecret = "ffLnE720PHwBHeZShGSEw6qTj5UQD1KgMoAqT9IhvuQ";
//
// アクセストークンを取得するために、ブラウザを立ち上げて認証ページを表示させる。
//
OAuthTokenResponse req =
OAuthUtility.GetRequestToken(consumerKey, consumerSecret,"oob");
Process.Start(OAuthUtility.BuildAuthorizationUri(req.Token).ToString());
//
// キーを入力させる。
//
Console.Write("YOUR KEY : ");
string pin = Console.ReadLine();
//
// 認証情報を OAuthTokens に格納する。
//
OAuthTokenResponse actToken =
OAuthUtility.GetAccessToken(consumerKey, consumerSecret, req.Token, pin);
OAuthTokens token = new OAuthTokens
{
ConsumerKey = consumerKey,
ConsumerSecret = consumerSecret,
AccessToken = actToken.Token,
AccessTokenSecret = actToken.TokenSecret
};
//
// 第1引数に認証情報、
// 第2引数にクライアント名
// 第3引数に取得に関する条件等を指定(今回は null)
//
var Stream = new TwitterStream(token, "侵略でゲソ", null);
Stream.StartUserStream(null, null,
(x) => { Console.WriteLine("ID : " + x.User.Name + " - " + x.Text); },
null, null, null, null, null);
while (true) { }
}
}
}
ちょっと一言:
この際、プログラムが動作しないようであれば、
大抵が .NET Framework 4.0 Client Profile を利用していることが原因なので、変えておきます。
1.プロジェクトファイルを右クリックして、プロパティを選ぶ。
2.「対象のフレームワーク」を 「.NET Framework 4」に変える。
読み込み直すかどうかのダイアログが出るので、「はい」をクリックします。
5.実行する。
「連携アプリを認証」をクリック。
見づらいですが、表示された番号と同じ物をアプリケーションに入力します。
うまくいくとこのように、ツイートがたらたら流れてきます。
案外知られていない気がする。
Ruby や Python では、パッケージを簡単にインストールして利用する方法があって、
Ruby では gem
Python では easy_install
がこれに該当しますかね。
.NET にも NuGet という同様の仕掛けが存在し、
利用することが出来ます。
.NET開発の新標準「NuGet」入門(前編) - @IT
詳細な解説についてはここのあたりを見ておくと良いかと思います。
注:対象は Visual Studio 2010 以降の Visual Studio に限ります。
分からない人向け:
たとえば、今から Twitter の機能を利用したソフトウェアを作ろうとあなたが思ったとき、
以下の選択肢から一つ選ぶことになると思います。
1.自分で OAuth の認証書いて、アクセスするライブラリを作る。
2.インターネットから既存のライブラリをとってくる。
現代においては、教育目的を除いて 1 を選ぶことは殆ど無いかと思います。
(気に入る形に出来ない場合や、そもそも無い場合は作ることにはなりますが。)
となると、現実的な回答としては、2となりますが、
インターネットから探してきて、インストールして・・っていうのは面倒で、
カタカタっと名前を打ったりして、簡単にインストール出来た方がいいわけです。
インストーラが面倒くさいということも考えられるでしょうし、
そもそも、インストーラが無くて、自分で組み込まなければならない場合は面倒になりますし、
友人に教えながら作業するという場合や、雑誌にやり方を載せる場合などにおいては、
友人や読者にファイルのありかを教えなければなりませんし、
複数台に組み込む時なども・・・・ とまぁ、非常にナンセンスな訳です。
そんなわけで、 Python の easy_install や Ruby の gem
そして、この記事で触れる .NET の NuGet などのパッケージ管理ソフトウェアを用いることにより、
単純明快でかつ高速に、ライブラリを用意して使い始めることが出来ます。
また、ライブラリに更新があった場合、手動で入れた場合はまたインストールをしなければなりませんが、
大抵こういうパッケージ管理ソフトでは、アップデートも簡単に行える仕様が備わっています。
という感じで、長文になりましたが、
導入~更新 まで、ライブラリの利用に関するあらゆることを簡単に使えるようにした物。
それが、パッケージ管理ソフトウェア ということになります。
というわけで本題。
1.導入
http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c
上記URL より、 Download をクリックしてダウンロード、インストーラを起動します。
上のような画面が出ますので、インストールをクリックし、導入を完了させます。
2.開発を始める。
いつものように、ソリューションを開きます。
3.パッケージを導入する。
メニューバーの 「ツール」 → 「Library Package Manager」 → 「Package Manager Console」 をクリックします。
コンソールが立ち上がった。
今回は例として、
http://www.twitterizer.net/
上記URL にて公開している、「Twitterizer」を導入してみます。
Install-Package twitterizer
と打って、Enter で実行。
自動的に依存関係が解決された状態で、参照にライブラリが加わり、使えるようになる。
3.コード書いて動かす。
とりあえずこんな感じ。
というわけで、適当に超基本的なコマンドだけ、対応表にするとこんな感じなのかなぁ。
| コマンド | NuGet | gem | easy_install |
| hoge をインストール | Install-Package hoge | gem install hoge | easy_install hoge |
| hoge を更新 | Update-Package hoge | gem update hoge | easy_install –U hoge |
| 全部更新 | Update-Package | gem update | easy_install –U |
| hoge を削除 | Uninstall-Package hoge | gem uninstall hoge |
NuGet のコマンドについては、
http://www.atmarkit.co.jp/fdotnet/chushin/nuget_01/nuget_01_02.html
上記URL に大体まとまっているかと思います。
そんな感じで。であであ。
どうもみむらです。
とっても見づらいブログ記事で本当に申し訳ございませんでした。
変に改行とかが入って、おそろしく見づらかったことかと思います。
ということで、今回はそれの犯人と、
修正の方法。
原因:
<pre> </pre> 以降の HTML データが上手く処理されず、
テキストデータとして改行がなされたところに <br /> たぐが自動挿入されたため。
対策:
WordPress 内の wpautop というフィルタによって自動挿入されるため、
http://urbangiraffe.com/plugins/disable-wpautop/
上記URL より入手できるプラグインを導入して処理を除去。
結果:
対策前:
上記のように、文と文が離れていて大変読みづらい状況でした。
対策後:
本来、当方が記述した際の正しい記述にて表示が行われ、
段落ごとに文章がまとまり、見やすくなっています。
というわけで、
WordPress で <pre> を利用してコードを記述している方で、
ずたずたにスタイルが崩れてしまった場合、利用してみてはいかがでしょうか。
ちなみに、RSS フィードに対しても wpautop は適用され、
改行が挿入されますが、
このプラグインでは RSS フィードに対しても有効であり、
かつ、Wordpress をアップデートしても有効となるため、かなり有用かと思います。
どうも書いてて、 MVC っぽいようで、MVC っぽくないので調べてみると、
FAQ 全般 — Django v1_0 documentation
http://djangoproject.jp/doc/ja/1.0/faq/general.html
ここいはく、 Model – Template – View ということで、 MTV モデルというんだそうな。
MVC モデルでは、
Model : データとデータに対する手続きを記述。
View : Model のデータをユーザが見られるように表示する。UI への出力。
Controller : ユーザの入力に対して応答する。処理が必要なら Model に依頼し、表示が必要なら View に依頼する。
http://ja.wikipedia.org/wiki/Model_View_Controller
という感じなのですが、
Django を MVC として見ようとすると、
個人的に View のロジックと表現技法が分離されていない印象をうけて、
Controller もDjango 全体をさすようにに見えて、どうも本来扱う部分を超えてしまう。
というように私には見えてしまってしょうがない感じだったのです。
そこで、
最初に示したページにある、 MTV モデルに合わせて考え直してみると、かなりしっくり来て、
Model : Database に格納してあるデータ、および付随する処理(models.Model より提供)
Template : テンプレートファイルによってデザインされた各ページのデザイン
View : リクエストがあった URI ごとに、どのページを見せるかを記述する処理。
ということで、Django を MVC として見て、脳内に疑問符が浮かんだ方は、
公式ウェブサイトで提唱されている、MTV モデル、つまり、
View を Template そして Controller を View とすることで、
Django の設計思想がモデルとしてばしっと来るのではないでしょうか。
最近のコメント