Home > アーカイブ > 2009-08

2009-08

シンプルなTwitter検索「findTwitter」を作りました&ソース公開

この記事の所要時間: 326

AutoPagerize対応したシンプルなTwitter検索「findTwitter」を作りました。

findTwitter

Twitterのつぶやきを検索

機能はシンプルです。テキストボックスに検索したいキーワードを入力して、「検索する」ボタンをクリックするとキーワードに合致したつぶやきを表示します。

「shin1x1」で検索

find_twitter_screen

検索パターンとしては以下のような組み合わせが可能です。

  • 単語で検索。(ex. [CakePHP])
  • スペースで単語を連結してAND検索。(ex. [PHP カンファレンス])
  • 「OR」で単語を連結してOR検索。(ex. [shin1x1 OR msng])

仕組み

TwitterAPIを叩いているだけ

仕組みはごくごく単純でTwitterの検索APIを叩いてるだけです。

検索結果はAPIの挙動に依存しているので、検索漏れや古いつぶやきが検索対象にならないなど現象があります。

CakePHP

CakePHP1.2.4を利用しています。上記のようにAPIを叩いてるだけなのでDBは使っていません。

レンタルサーバで動作

ごく普通のレンタルサーバに置いているだけです。

ソースを公開

このサービスの本質はこちらです。

findTwitterのソースコードはgithubにて公開しています。

動作環境は、PHP5以上でCakePHPが動けば問題無いと思います。ライセンスはCakePHPに習ってMITライセンスにするので、ご自由にご利用下さい。

githubは分からない方にはZIPアーカイブも用意しています。下のリンクからもダウンロードして下さい。

CakePHPで動くサンプルを

CakePHPはフレームワークとしては多くの導入事例があるのですが、CakePHPを利用したオープンソースシステムが公開されている例は実はあまりありません。

最近では、私も(いちおう)参加しているPHP版Redmine「candycane」があるですが、これはRedmineという開発のプロが実務で利用しているシステムの移植ということで、これからCakePHPを使いたい人が参考するには大きいかな、という印象があります。

そこで全体は小さいものの、一つのシステムとして稼働するサンプルとしてfindTwitterを作りました。

WebサービスAPIを使ったシステムということで、手軽にサービスを作ってみたい人にはサンプルとして参考になるかと思います。

フレームワークを除いたソースは少しだけなので、特に難しいところは無いと思うのですが、いずれblogで解説を書くなり、発表するなりしたいと思います。findTwitterをベースにWebサービスを作る勉強会なんかも良いですね:-D

フレームワークだけで

こういった主旨なのでCakePHPの機能だけで作りました。

普段は自社で蓄えているプラグインやライブラリを活用しているのですが、今回は素のCakePHPだけで作っています。まあ、findTwitterは仕様も単純ですし、もともとCakeは機能が揃っているので特に困りませんでした。

また、どこでも動くようにということでfind-twitter.inはレンタルサーバ(チカッパ!)に設置しています。

レンタルサーバに設置するだけで動くCakePHPの良さを再認識しました:-D

楽しさを

Webサービスを作るのは大変なこともありますが、本当に楽しいものです。特にTwitterがある今ではユーザさんからリアルに反応を貰うことができます(もちろん非難もありますが><)。自分が作ったサービスで誰かがわくわくしているかもと思うと、ニヤニヤが止まりません:-D

findTwitterをきっかけに新たなWebサービスが生まれて、その楽しさを皆で享受できれば嬉しいです。

ドキュメント作成に参考になる公開ドキュメント集

この記事の所要時間: 233

Webシステムにてドキュメントを作る際に参考になる公開されているドキュメントを集めてみました。

見た限りはどれも無償で利用可能なようですが、実際に利用される際は規約等をご確認下さい。

発注者ビューガイドライン

http://sec.ipa.go.jp/reports/20080710.html
形式:[PDF]

IPAが公開しているドキュメント作成ガイドラインです。

発注者とSIerの間で意思疎通を図ることを目的としているので、内容も詳細でかつ分かりやすいです。分量がかなり多いのですが、JavaでおなじみのPet Storeを題材に具体的なドキュメントが載っているので、ざっと見てみるだけでも参考になると思います。

ただ小規模案件だと、このガイドラインどおりに全てのドキュメントを揃えるのはムリがあると思うので、使えそうな部分だけ上手く利用するのが良いでしょう。

関連書籍も出ているようなので、興味があればこちらもどうぞ。


「発注者ビューガイドラインに学ぶ失敗しない外部設計」

ComponentAA開発標準

http://segroup.fujitsu.com/sdas/technology/develop-guide/
形式:[PowerPoint/Word/Excel]

FUJITSUが公開しているドキュメントです。

ComponentAAというFUJITSUのプロダクトを利用することが前提なので、汎用的では無いですが、書式などは参考になると思います。

EC-CUBE

http://www.ec-cube.net/download/document.php
形式:[Visio/Excel/Wiki]

オープンソースECサイトとしてお馴染みのEC-CUBEのドキュメントです。

何と言っても実際に動くシステムとドキュメントが揃っているので内容がイメージしやすいのが良いです。特に私のようなWebシステム開発の人間からはとても身近な教材です。

また、Visioでドキュメントが作られているのも特徴ですね。Visioは日頃から良く使うのですが、図表を書くのみで最終的にはWordやPowerPointに貼ることが多かったので、これは参考になりました。

PocketDOC

http://pocket9.net/pocketdoc_01.html
形式:[Excel/Word]

pocket9にて公開されているドキュメントテンプレート集です。

内容はまさにテンプレート集で、仕様書系のものから、見積書ルや納品書、個人情報取扱い管理票などシステムにまつわる様々なテンプレートが用意されています。

ドキュメント勉強会で

これはドキュメント勉強会用に仕込んでいたネタだったのですが、時間の関係で落としました。こういったドキュメントが公開されていることを知らない方もいたので載せておきます。

他にもあれば追加していくので、是非教えて下さい-。

follow ok 登録ユーザ数とタグTOP20を追加しました

この記事の所要時間: 23

follow okに登録ユーザ数とタグTOP20を追加しました。

follow-ok

follow okのトップページを見て、新規登録されている方を見るのがすっかり日課となっています。

さて、少しづつ登録ユーザさんが増えてきましたので、登録ユーザ数とタグTOP20を追加しました。

タグTOP20

follow_ok_tag20

2009/8/11時点のタグTOP20は以下です。iPhoneが一位で、ゲーム、アニメと続いています。

PHPやCakePHPが上位に来ているなど、今は私をフォローして頂いている人の傾向が出ているのですが、今後ユーザさんが増えるとどういった傾向になるか楽しみですね。

登録数 タグ
76 [iPhone]
62 [ゲーム]
48 [アニメ]
43 [web]
42 [PHP]
37 [Mac]
35 [写真]
28 [大阪]
28 [漫画]
24 [follow_ok]
23 [映画]
23 [オタク]
21 [CakePHP]
21 [twitter]
21 [読書]
20 [東京]
20 [ニコニコ動画]
19 [イラスト]
19 [音楽]
18 [デザイン]

地道に機能追加を進めていますので、今後ともよろしくお願いします:-D

ドキュメント勉強会がアツく終了しました

この記事の所要時間: 449

ドキュメント勉強会が無事に終了しました。

event_document

参加された皆さんお疲れ様でした。

いつもの技術系勉強会とはテーマが異なるうえ、「となりのドキュメント」のようなこれまでやったことの無い企画もあったので、始まる前は正直少し不安がありました。

しかしそんな不安が吹き飛ぶほどの盛り上がりとなり、ひとまず胸をなで下ろしています。

一参加者としては、色々なドキュメントと考え方を一度に見聞きできたのはとても面白かったです。(自画自賛っぽいですが:-D)

では以下つらつらと。

ドキュメントって?

  • shin1x1
  • ドキュメントに対する考えをぶちまけました:-D
  • ドキュメントは只の技術なんで、難しく考えない。
  • これに気づいてからは自分はドキュメント書くのが少し楽になりました。
  • ご意見お待ちしていますm(_ _)m

となりのドキュメント

「Poken販売サイト」をテーマに7人がドキュメントを作成して、発表するという企画です。申し合わせたわけではないのですが、どの発表もバラエティに富んでいてとても面白い内容となりました。

shin1x1

  • 企画の説明とサンプル設計書を。
  • Visioの良さを知って頂ければ:-D
  • 皆さんに画面の書き方を教えて頂きました!
  • => Visioで書く派
  • => Excelで書く派
  • => デザイン先おこし派(慣れると早い!)
  • => デザイナーさん先派
  • => 似たサイトを参考にする派

shinoiさん

  • ドキュメント書きがお好きなだけあって、丁寧で綺麗なドキュメント。
  • ExcelでDB設計書は王道ですね。
  • プログラマには嬉しいドキュメントでした:-D
  • 社外にも十二分に出せるドキュメントだと思います。

loungepさん

  • Twitterアイコンでお馴染み:-D
  • 実地で培われたドキュメントの説明から営業ノウハウまで。
  • 読む人を考えた内容にする、というのはとても納得しました。
  • 費用面や手続きを意識するのは、お客さんと対峙するなら必ず必要ですね。

お団子タイム

  • まっちゃさんメソッドで休憩時間に甘味を:-D
  • 今回はslywalkerさん仕込みのみたらし団子です。
  • 冒頭の写真はこれです:-D
  • ほんのり温かくて旨かった-。
  • みんながほっこりした後に発表って良いね(by @msng)。

msngさん

  • コミュニケーションツールとしてのドキュメント。
  • Poken販売サイト全く関係無い:-D
  • でも大事なドキュメントの話満載。
  • 資料は3回作る。(過去2回作成分は宝探しの旅に。。。)

slywalkerさん

  • Redmineでドキュメント
  • Redmineを知っている人が大多数。さすがドキュメント勉強会。
  • 試行錯誤の過程が:-D
  • 必要性が出てこないと中々真剣に書けないですね。。。

whosaysniさん

  • reStructuredTextで書くドキュメント。
  • plainテキストでドキュメントが書ける。
  • 生成したドキュメントはPDFで、レイアウトはWordで書いたっぽい。
  • これがテキストが書けるのはスゴイ!
  • ASCIIアートは辛そうなので、ここは画像の方が楽かも。
  • なんせplainテキストだから、ソースを一緒にリポジトリに入れとけば、diffもカンタンに取れるし、vimで書けるのも嬉しい。
  • これは是非試したい!

yabumaruさん

  • 本番ドキュメントをインスパイヤ:-D
  • デプロイ経路図は勉強になるなー
  • 一番カッチリとしたドキュメント。勉強になった人も多いかと。
  • 今回もサービス満点な内容でした。

懇親会

slywalkerさんの仕切りで、沖縄料理屋さんで。

  • Poken祭り:こちらのテーブルは完全にPoken祭りでした:-D (12個Pokenがついに完売しましたm(_ _)m)
  • iPhone祭り:Poken祭りを冷ややかな目で見ていた某氏から「My Name is E」を教えて貰いました。
  • このUI、アクションは面白い:-D
  • PokenのデータをMy name is Eのアプリで交換できると嬉しいかも
  • とても大事なオフショア話
  • 上海がアツい
  • 次回(があれば)発表頂ける方多数!
  • 勉強会ではインスピレーションを持って帰る
  • 各所で盛り上がっている様子だったので、気兼ねなく奥で騒いでました:-D

横串の面白さ

ドキュメント勉強会ということで、一つの技術ではなく、色々な分野の方が参加されていたのが印象的でした。今回は発表のお題がWeb系だったのですが、次回がもしあれば、違う形(業務系とか、制御系とか、ゲーム系とか、もしくはお題の範囲を狭めるとか)を模索して、他分野の方にも発表頂ければと思います。

いつもながらバタバタしましたが、参加頂いた皆さん本当にありがとうございました。また発表者、運営スタッフの皆さんお疲れ様でした!いやあ楽しかった:-D

参加された方のレポートです

Twitter フォローokな人を探す「follow ok」を作りました

この記事の所要時間: 31

Twitterでフォローokな人を探すサービスを作りました。

follow-ok

誰をフォローすれば?

ある時、ふとTwitterでフォローする人を増やしたいなと思い立ちました。そこでふと湧いた疑問が2点。

1. フォローする人をどうやって探す?
まず誰をフォローしようかと。フォローする人リストはあちこちのサイトにあるので、そこからフォローするのが早いです。(ちなみにPHPな人ならこんなリストがあります。)
ただこういったリストに入っている人は有名人な分野が偏っていたりで、多様な人をフォローしたいというニーズには合いません。また有名人系はそもそもフォローしてたりするので、さらに増やすとなると他で探す必要があります。
フォローするためにユーザ一覧が欲しいな
2. この人フォローしてもok?
何とかフォローしたい人は見つけたとして、いざフォローしようとした際、フォロー/フォロワーが20人以下のユーザだと何となく気が引けませんか?
もちろんTwitterではprotectedな人以外はフォロー自由なので、特に気にする必要は無いのですが、フォローする人のフォロー/フォロワーが少ないと「身内だけで楽しんでいるのかな?」といらぬ気を遣って、何だかフォローするのをためらってしまいます。
フォローしてもokなことを表明してくれるとフォローしやすいな

follow ok

という流れで作ったのが 「follow ok」 です。

「follow ok」では、二つの機能があります。

1. ユーザを探す

フォローしたいユーザを探します。このサービスではユーザが自ら登録を行っているので、安心してフォローすることができます。

1-1. キーワードを入力して検索

follow_ok_textbox

登録ユーザは自分のキーワード(タグ)を登録してるので、キーワードを指定することにより、該当するユーザを検索することができます。

1-2. キーワード(タグ)をクリックして検索

follow_ok_user

ユーザ表示の下部にはそのユーザが登録したキーワード(タグ)が表示されています。これをクリックすると同じキーワードを登録しているユーザが表示されます。

2. 自分を登録する

自分自身もフォローokなら「follow ok」に登録しましょう!

登録はTwitterから「@follow_ok」につぶやくだけでokです。

follow_ok_twit

つぶやいて数分経つと 「follow ok」 に表示されます。

キーワード(タグ)を登録する

つぶやく時はキーワード(タグ)を指定しましょう。登録したいキーワードを[]で囲んで下さい。上の画面例なら[cakephp][iphone][大阪]の4つがキーワードとして登録されます。

@follow_ok」につぶやけば何度でもキーワードを登録することができます。キーワードは毎回上書きされるので、最後につぶやいたものが登録されます。

下のアイコンをクリックするとそのまま@follow_okにつぶやけますよ:-D

follow_ok_register

follow okからのフォローも

Twitterでリリースをつぶやいて、100人超の方に登録頂けました(ありがとうございます!)。Twitterだと反応が直ぐに貰えるので、とても嬉しいです。中には「follow okからフォローしてもらえたよ」と言って頂ける方もいらっしゃいました。

今後も何か気になることがあれば「@shin1x1」までつぶやいて下さいm(_ _)m

フォローする相手を探す方も、フォロワーを募りたい方も、活用して頂ければ嬉しいです。

よろしくお願いします!

ドキュメント勉強会は次の木曜日です

この記事の所要時間: 117

ドキュメント勉強会は8/6(木)開催です。

ドキュメント勉強会 : ATND

多数の方にお申し込み頂きありがとうございますm(_ _)m あまりIT系勉強会では取り扱わないテーマということで、数人でまったり行こうかなと思っていたのですが、嬉しい誤算となりました:-D

ドキュメントについて、もやもやしている人が多いということで、今回の勉強会ではいつもと少し趣向を変えようと思います。

今回は発表は2つだけなのですが、2つ目がミソです。

タイトルは「となりのドキュメント」です。

となりのドキュメント

8人の発表者がお題の仕様について、それぞれドキュメントを書いてきて、それを発表しようという試みです。発表時間は一人10分程度なので、LT感覚ですね。

発表者一同、誠意作成中です。書く形式も人それぞれで、PPTやExcelなどベーシックなものから、wikiやreStructuredTextなどもあって、バラエティに富んだラインナップになりそうです。

同じ仕様について様々なドキュメントを見ることができるので、これはなかなか面白くなりそうです:-D(私自身が一番楽しみにしてるかも。)

会場への入り方に注意

勉強会会場ですが、水道局内にあり、夜間は正面入り口横の通用口?のみ出入り可能となっています。はじめて来る人だと若干分かりづらいので、ご注意を。(ダメそうならTwitterでつぶやいて下さい。)

では、参加者の皆さん、発表者の皆さん、よろしくお願いします!

Home > アーカイブ > 2009-08

検索
フィード
メタ情報

Return to page top