しばらくブログのテーマ(デザイン)の移行作業の為、デザインその他がコロコロ変わります

表題の通りなんですが、WordPressを9月初旬にV2.8台からV3.2.1にアップデートした所、ちと問題が発生しています。カテゴリや月別のアーカイブの2ページ目以降へリンクを辿って遷移出来ません。

テーマを変更した事もあり、しばらくは見た目もコロコロ変わるかもしれませんが、今しばらくお時間を頂けたらと思います。

久々にWindowsのプログラミングなどを ~Twitterクライアント作り~

ここ数日、暇…ではなくて時間的余裕があった関係で、Windowsのプログラミングの勉強がてらC#でアプリ?を作っていた。

組み込み系のプログラムはデバッグ用に作る機会が結構あるが、Windowsのプログラムとなると普通に仕事をしている上ではほとんど機会がないので、実の所ほとんど作った事がない。

数ある言語の中で何でC#を選んだかなのだが、同じ職場のArduino好きな方とツイッターのとある方が「C#はシリアルの制御が出来る」と言っていたのを聞いたのと、昔々ちょこっと使った時に、大量に用意されているメソッドがえらく便利だなぁ…という印象を持っていたからです。組み込み系はそもそもOSが無かったりもする世界なのでどうしたって泥臭くなりますが、Windowsの開発は出来る限りカプセル化された楽な環境でやりたいなんて思ったって事もあるかなぁ。

で、久々にフォームの上にテキストボックスやらボタンを配置して、ファイル構成を思い出したりしながら作ったのがこちらの関数電卓ならぬ16進・10進・2進変換電卓的なもの。

卓上の関数電卓も含めて、わざわざモードを切り替えたり、何で一々入力する○進数と出力する△進数を指定しなければいけないのか疑問だった。別に難しい話をしたい訳ではなく、単に「面倒」だなぁと。

で作ったのがこちら。入力欄が(HEX)(DEC)(BIN)と最初から3つあるので、該当部分に値を入れると全ての形式の値が表示される。計算開始キー的な物もないから、数値入力しか必要としない。

一応「ALL CLEAR」ボタンは付けてはみたが、クリアなんぞ押すくらいならBack spaceキーで消せばいいのだ。

「AC」ボタンなんて飾りです。偉い人にはそれが…

さすがに単なる関数電卓の出来損ないなので飽きるのも早く、違う物を作りたくなって作り始めたのが発言専用Twitterクライアント。何やらOAuth認証というアプリ自体の認証関連がややこしいらしい。そんな訳でC#のプロジェクトごと圧縮されている便利なサンプルプログラムを探してきて、ローカル環境に展開。

Twitterのアプリ登録画面で「tujitter」などというふざけたアプリ名で登録したりして各種Keyコードをゲット。サンプルソースに先程の各種Keyコードを埋め込んで、ビルド&実行。テキストボックスに「TEST」と入力してTweetボタンを押してみたところ…見事に成功。他のアプリで見てもちゃんと表示されてるし、投稿の最後に「from tujitter」なんて表示もされている。余裕じゃん!ここまでで大変だったことと言えば、登録画面でロボット避けによく使われる「歪んだローマ字」を読み取って入力する部分くらいかな。歪みすぎてて何が書いてあるのかホントに読み取れなかったんだよ(笑)

わざわざ作るまでもなく発言専用Twitterクライアントが出来上がってしまったので、普通に使ってみようとするとエラーになる。はて?何ででしょう?という事で最終的にWiresharで送信パケットを見てみたところ、どうやら2Byte文字のエンコードがおかしいみたい。どうやら元のコード自体が2Byte文字を考慮して出来ていないのが原因だそうでして、対処法を紹介しているページの方法を試してみるとあっさり日本語が使えるようになったのであった。

今回お世話になった参照先のサイトはこちら。

C#のプロジェクトごとと言う便利なファイルをダウンロードしたサイト。
Coding the Wheel

ブログ形式のコメント欄の少し上の方にある「The Source Code」の「You can download the complete source code~」のリンクからダウンロード出来ます。

OAuth認証時の文字化けに関してはこちらのブログ「観測気球」の「C# で OAuth」という記事を参考に(というかそのまんま…)させて頂きました。

これでめでたく発言専用Twitterクライアント自体は出来上がったんだが、いくらなんでも自分で手を入れた部分が少なすぎる(入手したKeyコードを入力しただけな気が…)ので、Time Lineの表示位はしてみようと再調査開始。
どうやらTwitter APIと呼ばれるurlに各種パラメータを渡すことで、指定した形式(XML・JSON・RSS)のデータが帰ってくる仕組みらしい。仕組み自体は結構簡単なので、XML形式を指定してTime Lineを取得してみたところ、日本語と思われる文字列がエンコードされた状態ではあるがXMLの取得に成功。

System.Web.HttpUtility.HtmlDecodeのメソッドで日本語部分のデコードが出来ることをツイッターで教えて頂きまして試してみると…おおっ見事日本語に!

こうなると、とりあえず必要なTagの情報を引き抜いて表示させればOKなので、「screen_name」と「text」を表示するようにして、ついでにprofile_image_urlといういわゆる各自のアイコンも表示できるようにして、ザックリながらも一応完成。

実はデータに半角の&が使われているとGetElementsByTagNameというメソッドでエラーになってしまうので、当初半角の&は全角の&に置換してしまうという乱暴なエラー回避の仕方をしていたが…XMLでは半角の&は「&」と表現する事をwikiで知り、ようやくまともに半角の&を表現できるようになったりしている…(汗)ここいら辺の業界の常識?を理解していないあたりが頂けないなぁ。

大体雰囲気は掴めたので、後は機能の作り込み(返信機能とか)だぁね。Twitter APIは、さほど凝った機能を実装している訳では無いみたいなんですが、Time Lineを見ているだけでは分からない情報を得るAPIもそう多くはありませんが有ります。

例えばこちら、retweetes_of_me(http://api.twitter.com/1/statuses/retweets_of_me.xml)

自分が投稿した発言のうち(自分以外の)誰かによって retweetされたものの一覧を取得する。確かにこれは、APIの機能を使わずには調べられないよな。それじゃぁ試しにやってみよう。カタカタカタ…

「データが存在しません」

…が~ん。。。(涙)

久々にブログ自体のネタなどを

健康診断でバリウムを飲んだ関係で定時上がり&自宅へ直行で時間があるので、かなり久々にこのブログ自体のネタなどを。

こちらはアクセス解析用に使っている「Google Analytics」の、国内における各地からのアクセス数のイメージ地図。古いバージョンだが、こちらの方がイメージが掴みやすそうだったのであえて。

このブログに記事として存在する地域とアクセスがあった地域をデジタル的に0/1で見てみると、確かに何となく一致しているような気はするなぁ。

ただ、ここから地域毎のアクセス回数の多さを見比べながら実際にどの地域からのアクセスが多いのかを見極めるのは…実は困難を極めるのです。小さなCATVのインターネットサービスならいざ知らず、会社や大きなプロバイダだったりすると「代表者」の住所からのアクセス扱いになってしまう事がこの世界の常識だから。

ただまぁ…さすがに言語処理が専門のgoogleなんで「IPアドレスの割り当て情報」<「ドメインの地域名と思われる情報」で処理していると思うので、それなりにマシなデータなんだとは思っていますが…どうなんでしょうねぇ。

~この後は私のブログの5/13~6/12の実データです~

1・アクセス元地域第一位は「水戸」

これ…いきなり怪しいんです。実はこのブログ水戸方面の記事はあんまり無く、水戸関連の検索キーワードでこのブログへやってくる事がほとんどありません。

予想としては、大手プロバイダの茨城各地のアクセス元表示先が「水戸」なんだろうと思います。

2・アクセス元地域第二位は「横浜」

これも実は微妙です。横浜関連で検索されているキーワードもあんまり無いんです。とは言うものの絶対的な住民数が多いので、色んな検索を発している可能性はありますが。

3・アクセス元地域第三位は「札幌」

これは結構真実味があります。札幌で書いた記事の検索キーワードでかなりのアクセスがありますので。「ひつじのつの」と「北海道大学 中央食堂」を検索キーワードに頻繁にやってくるのは嬉しい限りです。

4・アクセス元地域第四位は「新宿」

これは完全にプロバイダの住所表記が理由なだけだと思うなぁ。大都市だけど記事の中にはほとんど出て来ない地域。

5・アクセス元地域第五位は「つくば」

悩む所ではあるが… これも怪しいです。大手プロバイダの茨城各地のアクセス元表示先が「つくば」なんだろうと思います。

何というか「Google Analytics」の情報、良い情報なのは確かなんだけど、多少の頭脳労働をした後でないと信じちゃいけないんだよ…という話でした。

そう言えばもちろんアクセスログを全部見ていた訳ではないけれど、個人的に気になったこのブログに対する歴代検索キーワードはこれだな。

1・第一位は「yahooにyahooブログがインデックスされない」

ああ…マジで涙なしでは語れない事態だったよなぁ(涙)

2・第二位は「仙台 野宿 おすすめ」

このブログのかなり初期にやってきたキーワード。俺は何やってるんだ…と思ったよ。

3・第三位は「qyn01674」

2011年の正月休み明け、無事に青春18きっぷを使い切った余韻に浸りながら正月の事を記事にしていたら、このアクセスがやってきた。

最初は誰かにハッキングされてるのかぁ?!と思ったが…どうやらそうではないらしい。色々思い起こすと…ある一人の方の顔と世界地図が思い浮かんだ。そっかぁ…見てくれているんだ…と今日まで思い続けた俺はやっぱり大嘘つきかな。

ま、アクセス解析を充実させるより、記事自体を充実させるべきなんでしょうな。