P
なるとのクラス図を書いてみる。*1 あと、脳内にある設計を記録としてちゃんと残してみる。 NarutoClass*2 InitializerModule*3 BaseAccessorClass*4 AgentObject*5 MixiModule*6 FriendClass*7 CommunityClass*8 その他、多数のオブジェクトを用意する Twit…
またまたまた再設計です。オブジェクト指向ライクにしようと思いました。 bot = Naruto.new(Mixi, id, password) bot.agent.get_friend_profile #=> {:name=>"たろう",:age=>22,...} というのもいいんだけど。 bot = Naruto.new(Mixi, id, password) friend …
先日から見直しているのだけど、やはりどこかで妥協しないと設計する>やり直すの繰り返しになってしまう。 当初のものよりは大分スマートなコードになっているような気がする反面、もうちょっとシンプルにできるような気もする。 今日、明日でさらに進める…
なるとのコードをもう一度書き直す(何度めだろう……) 理由 美しくない メンテナンスしづらい たぶん、重くなる 書き直した部分 全体的なクラス構成 こんな感じ。Naruto 大したことはやっていないけどInitializerモジュールも作ってみた configファイルに依…
mixiアクセス用のlib作っていた途中だったので、ちょっとしたダメージを受ける。 また解析しなおしですよー。
mixiやらミニブログやらにアクセスする為のエージェントとして、なるとという名前のライブラリをつくっています。 WWW::Mechanizeでスクレイピングしたり、やミニブログサービスが提供しているWebAPIを利用したりして、サイトにアクセスする処理を簡易化した…
mixiめだか >コードの最適化*1 feecleめだか >会話機能を実装、学習機能を実装。 Haruめだか >会話頻度の向上、自分のとこのコメントにレスする、動画貼り付け機能*2 某所めだか >機能がHDDごと全部ふっとんだのでゼロからの再開発。バックアップしときゃよ…
先日から不思議な挙動をしていたので、もっと早く処置をすべきだった。 玄箱だと、サーバとしてはいささかパワー不足、安定感に欠ける。 mac miniを自宅鯖にしたいなぁ。。いやいや、環境を言い訳にせず、貧弱貧弱ゥゥゥ!!な鯖でも元気に動くスマートなコ…
feecleっていう国産ミニブログでは、公開されていないけれどAPIっぽいものがあります。 つぶやきについたコメント一覧を取得するAPI "http://www.feecle.jp/blog/ajax/comment.list.ajax.php" 上記のURLに対して。 b = USER_ID(ユーザID) p = UPDATE_NO(つぶ…
転職してからというものの、自分のためのプログラミングや学習をする時間がやや減ってしまいました。 さて、ひさびさにめだかのメンテをしました。 巡回頻度の調整 サーバ周り feecle.jp対応を少しずつ開始 Haru.fm向けのメンテ少しずつ mixi向けのメンテ少…
先日、社内勉強会でAPIについての話題があがってとても面白かった。 それでいて、CTOな人から「Railsでも、ActiveResourceでAPIクライアント/サーバができるよ」って教えていただきました。 これはすごい! 面白そうなので、いろいろと調べてみる。どうやら…
自宅での学習用に、と。 MacBookにRuby on Railsをセットアップしました。 環境 Ruby::Version 1.8.6[i686-darwin8.10.1] RubyGems::Version 0.9.4 Rails::Version 1.2.3 PostgreSQL::Version 8.2.4 マニュアル本を片手に、夜な夜な独習しようと思います。
Haru.fmで、友人のつぶやきにコメントを付けることができるようになりました。かなり独特な構造だったため、コメント投稿の仕組みを解析するのに手間がかかってしまいました。 もう少し、微調整をしつつ、次はHaru.fm独自の機能も取り込みたいと考えています…
めだかの近況をかるくまとめてみる。 ハードウェア サーバ: めだかハウス1号(解体中) テスト専用環境 めだかハウス2号 Web巡回系サービスとして稼動中 めだかハウス3号 リアルタイムチャット系サービスとして稼動中 サービス mixi 日記投稿 自分の日記…
Timelog.jpさんは、APIの公開に併せて、TimelogAPIコンテストを開催されています。 特別賞の「豪華なおやつ」が欲しい僕は、APIコンテスト出展用のアプリケーション(またはサービス)を考えていました。 構想がまとまってからも、開発は進めております。 しゃ…
TimelogAPIコンテスト出品用にとても良いアイディアが浮かんだので ひらめきと勢いが衰えないうちに、新鮮なうちにアイディアを 形にしようと思います!一度、ある程度動くアプリケーションができたらそれを改良すれば 良い話なのです。某誌でもは○ちちゃん…
苦手意識があって避けてきたGUIですが。 この度、重い腰をあげてやってみることにしました。 目的: GUIデザインを作るということに慣れる TimelogAPIを利用したWindowsクライアントアプリケーションを作る 設計案 ActiveScriptRubyをいんすこ VisualRubyライ…
Timeline.jpに続いて、Twitterライクなサービス「mogo2.jp(もごもご)」へめだかを登録しました。 もごもご http://mogo2.jp/めだか@人工無脳(もごもご) http://mogo2.jp/member/show/3010 まだまだ挙動が不安定な部分もありますが、記事を投稿したり 友人…
TimelogAPIを利用する場合の、サンプルコードをアップします。sample1. パブリックタイムラインを取得する場合 #!/usr/bin/ruby -Ke require 'net/http' require 'uri' require 'kconv' require 'rexml/document' $KCODE = 'EUC' doc = nil count = '20' for…
何が面白いのかいまいちよくわかっていないが Twitterをやってみようと思った。 RubyForgeにTwitter.gemがある。で。 こんなことができるらしい。 Twitterの何してる?をnadokaでIRCにうpする http://mono.kmc.gr.jp/~yhara/d/?date=20070421 面白そうね。 …
mixi.jpを巡回する人工無脳システム「めだか@人工無脳」の構成を Perl+Ruby型から、純Ruby型へとシフトし、安定稼動させることが できました。従来はCPANモジュールWWW::Mixiを使用し、mixi.jpを巡回していたのですが mixi.jpの画面構成が変わるたびにWWW:…
スクレイピングについて興味を抱いているという日記を書いたら。 名探偵くん@人工無能のお父様、ちゃさんから「スパイダリング」という テクノロジーの概念を教えていただきました。 ふむふむ。 クローラー+スクレイピングかぁ。。。 メモ! http://mikila…
メモメモ http://gooddays1.blog37.fc2.com/blog-entry-289.html http://gooddays1.blog37.fc2.com/blog-entry-290.html http://d.hatena.ne.jp/secondlife/20060922/1158923779 使ってみないことにはなんともいい難いが、 scRUBYt!が、もし『前評判通りの柔…
メモメモ。 Webの情報をWWW::MechanizeとHpricotでアクセスして、 HTMLをXMLとして取得するのか。 WebスクラッピングWebスクレイピングというのか。面白そう。
心なしか敬遠してきたRuby on Railsにも興味が湧いてきました。 教本を見つけて導入サイトでも探そうかな。
動かしたはいいが… mixiなどの実サイトへアクセスさせるプログラムの場合、 ローカル環境でのテストには限界があります。 実際、「よし、でけた!」と思っていたコードも実行してみると 「ありゃま」なありさまでゴンス。 現状 できること ログイン/ログアウ…
WWW::Mechanizeいいね コツを掴んだら、結構使いやすいデスヨ。 従来方式(WWW::Mixi)でやっていた処理の8割が実装できました。 巡回ルートの一部をfileとして一時記憶させて、巡回速度の向上を計ろうと 企んでみます。 この方式なら、はてなや他のウェブサ…
WWW::Mechanize(ruby)はとっつきやすい。 Hpricotはややとっつきにくい。 予想通り、mixi.jpをパースする部分で苦戦。 目標、来週前半での実働テスト稼動! 12:15 :追記 参考にしたサイト http://d.hatena.ne.jp/hake/20070301/p1 http://mono.kmc.gr.jp/~yh…
Debianとくんずほぐれずの格闘 私の開発環境はDebianなわけですが、ここにRubyGemsをインスコして さらにHpricotとWWW::Mechanizeを.gemからインスコしようと考えたわけです。 しかし、Debianのapt-lineがstableだったため、導入に苦戦。 apt-get install ru…
いろいろと理由があって、再設計してます。 要件 巡回速度(頻度)の向上*1 コメント認識精度の向上 悪質ユーザ対策 メンテナンス性の向上 付加機能*2 今までは、巡回ルートごとに個別にアプリケーションを組んでいましたが 規模の拡大*3に伴い、メンテナンス…