blogPHPでWEB+DBシステムの開発をやっています。3分26秒AutoPagerize対応したシンプルなTwitter検索「findTwitter」を作りました。テキストボックスに検索したいキーワードを入力して、「検索する」ボタンをクリックするとキーワードに合致したつぶやきを表示します。検索パターンとしては以下のような組み合わせが可能です。[CakePHP])スペースで単語を連結してAND検索。カンファレンス])「OR」で単語を連結してOR検索。msng])仕組みTwitterAPIを叩いているだけ仕組みはごくごく単純でTwitterの検索APIを叩いてるだけです。検索結果はAPIの挙動に依存しているので、検索漏れや古いつぶやきが検索対象にならないなど現象があります。CakePHPCakePHP1.2.4を利用しています。上記のようにAPIを叩いてるだけなのでDBは使っていません。レンタルサーバで動作ごく普通のレンタルサーバに置いているだけです。ソースを公開このサービスの本質はこちらです。findTwitterのソースコードはgithubにて公開しています。http://github.com/shin1x1/findTwitter/tree/master動作環境は、PHP5以上でCakePHPが動けば問題無いと思います。ライセンスはCakePHPに習ってMITライセンスにするので、ご自由にご利用下さい。githubは分からない方にはZIPアーカイブも用意しています。下のリンクからもダウンロードして下さい。findTwitterCakePHPで動くサンプルを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がある今ではユーザさんからリアルに反応を貰うことができます(もちろん非難もありますが><)。自分が作ったサービスで誰かがわくわくしているかもと思うと、ニヤニヤが止まりません:-DfindTwitterをきっかけに新たなWebサービスが生まれて、その楽しさを皆で享受できれば嬉しいです。2分33秒Webシステムにてドキュメントを作る際に参考になる公開されているドキュメントを集めてみました。見た限りはどれも無償で利用可能なようですが、実際に利用される際は規約等をご確認下さい。発注者ビューガイドラインhttp://sec.ipa.go.jp/reports/20080710.html形式:[PDF]IPAが公開しているドキュメント作成ガイドラインです。発注者とSIerの間で意思疎通を図ることを目的としているので、内容も詳細でかつ分かりやすいです。Storeを題材に具体的なドキュメントが載っているので、ざっと見てみるだけでも参考になると思います。小規模案件だと、このガイドラインどおりに全てのドキュメントを揃えるのはムリがあると思うので、使えそうな部分だけ上手く利用するのが良いでしょう。関連書籍も出ているようなので、興味があればこちらもどうぞ。「発注者ビューガイドラインに学ぶ失敗しない外部設計」ComponentAA開発標準http://segroup.fujitsu.com/sdas/technology/develop-guide/形式:[PowerPoint/Word/Excel]FUJITSUが公開しているドキュメントです。ComponentAAというFUJITSUのプロダクトを利用することが前提なので、汎用的では無いですが、書式などは参考になると思います。EC-CUBEhttp://www.ec-cube.net/download/document.php形式:[Visio/Excel/Wiki]オープンソースECサイトとしてお馴染みのEC-CUBEのドキュメントです。何と言っても実際に動くシステムとドキュメントが揃っているので内容がイメージしやすいのが良いです。私のようなWebシステム開発の人間からはとても身近な教材です。Visioでドキュメントが作られているのも特徴ですね。Visioは日頃から良く使うのですが、図表を書くのみで最終的にはWordやPowerPointに貼ることが多かったので、これは参考になりました。PocketDOChttp://pocket9.net/pocketdoc_01.html形式:[Excel/Word]pocket9にて公開されているドキュメントテンプレート集です。い管理票などシステムにまつわる様々なテンプレートが用意されています。ドキュメント勉強会でこれはドキュメント勉強会用に仕込んでいたネタだったのですが、時間の関係で落としました。いったドキュメントが公開されていることを知らない方もいたので載せておきます。他にもあれば追加していくので、是非教えて下さい-。okに登録ユーザ数とタグTOP20を追加しました。okのトップページを見て、新規登録されている方を見るのがすっかり日課となっています。登録ユーザさんが増えてきましたので、登録ユーザ数とタグTOP20を追加しました。タグTOP202009/8/11時点のタグTOP20は以下です。iPhoneが一位で、ゲーム、アニメと続いています。PHPやCakePHPが上位に来ているなど、今は私をフォローして頂いている人の傾向が出ているのですが、今後ユーザさんが増えるとどういった傾向になるか楽しみですね。4分49秒ドキュメント勉強会が無事に終了しました。参加された皆さんお疲れ様でした。いつもの技術系勉強会とはテーマが異なるうえ、「となりのドキュメント」のようなこれまでやったことの無い企画もあったので、始まる前は正直少し不安がありました。そんな不安が吹き飛ぶほどの盛り上がりとなり、ひとまず胸をなで下ろしています。一参加者としては、色々なドキュメントと考え方を一度に見聞きできたのはとても面白かったです。(自画自賛っぽいですが:-D)では以下つらつらと。ドキュメントって?shin1x1ドキュメントに対する考えをぶちまけました:-Dドキュメントは只の技術なんで、難しく考えない。これに気づいてからは自分はドキュメント書くのが少し楽になりました。_)mとなりのドキュメント「Poken販売サイト」をテーマに7人がドキュメントを作成して、発表するという企画です。申し合わせたわけではないのですが、どの発表もバラエティに富んでいてとても面白い内容となりました。shin1x1企画の説明とサンプル設計書を。似たサイトを参考にする派shinoiさんドキュメント書きがお好きなだけあって、丁寧で綺麗なドキュメント。ExcelでDB設計書は王道ですね。プログラマには嬉しいドキュメントでした:-D社外にも十二分に出せるドキュメントだと思います。loungepさんTwitterアイコンでお馴染み:-D実地で培われたドキュメントの説明から営業ノウハウまで。読む人を考えた内容にする、というのはとても納得しました。費用面や手続きを意識するのは、お客さんと対峙するなら必ず必要ですね。お団子タイムまっちゃさんメソッドで休憩時間に甘味を:-D今回はslywalkerさん仕込みのみたらし団子です。冒頭の写真はこれです:-Dほんのり温かくて旨かった-。msngさんコミュニケーションツールとしてのドキュメント。Poken販売サイト全く関係無い:-Dでも大事なドキュメントの話満載。(過去2回作成分は宝探しの旅に。)slywalkerさんRedmineでドキュメントRedmineを知っている人が大多数。試行錯誤の過程が:-D必要性が出てこないと中々真剣に書けないですね。whosaysniさんreStructuredTextで書くドキュメント。plainテキストでドキュメントが書ける。生成したドキュメントはPDFで、レイアウトはWordで書いたっぽい。これがテキストが書けるのはスゴイ!ASCIIアートは辛そうなので、ここは画像の方が楽かも。plainテキストだから、ソースを一緒にリポジトリに入れとけば、diffもカンタンに取れるし、vimで書けるのも嬉しい。勉強になった人も多いかと。今回もサービス満点な内容でした。懇親会slywalkerさんの仕切りで、沖縄料理屋さんで。E」を教えて貰いました。上海がアツい次回(があれば)発表頂ける方多数!勉強会ではインスピレーションを持って帰る各所で盛り上がっている様子だったので、気兼ねなく奥で騒いでました:-D横串の面白さドキュメント勉強会ということで、一つの技術ではなく、色々な分野の方が参加されていたのが印象的でした。今回は発表のお題がWeb系だったのですが、次回がもしあれば、違う形(業務系とか、制御系とか、ゲーム系とか、もしくはお題の範囲を狭めるとか)を模索して、他分野の方にも発表頂ければと思います。いつもながらバタバタしましたが、参加頂いた皆さん本当にありがとうございました。「ドキュメント勉強会」に参加ドキュメント勉強会に参加してきました。3分1秒Twitterでフォローokな人を探すサービスを作りました。誰をフォローすれば?ある時、ふとTwitterでフォローする人を増やしたいなと思い立ちました。そこでふと湧いた疑問が2点。フォローする人をどうやって探す?まず誰をフォローしようかと。フォローする人リストはあちこちのサイトにあるので、そこからフォローするのが早いです。(ちなみにPHPな人ならこんなリストがあります。)ただこういったリストに入っている人は有名人な分野が偏っていたりで、多様な人をフォローしたいというニーズには合いません。有名人系はそもそもフォローしてたりするので、さらに増やすとなると他で探す必要があります。この人フォローしてもok?何とかフォローしたい人は見つけたとして、いざフォローしようとした際、フォロー/フォロワーが20人以下のユーザだと何となく気が引けませんか?もちろんTwitterではprotectedな人以外はフォロー自由なので、特に気にする必要は無いのですが、フォローする人のフォロー/フォロワーが少ないと「身内だけで楽しんでいるのかな?」といらぬ気を遣って、何だかフォローするのをためらってしまいます。ok」では、二つの機能があります。ユーザを探すフォローしたいユーザを探します。このサービスではユーザが自ら登録を行っているので、安心してフォローすることができます。登録ユーザは自分のキーワード(タグ)を登録してるので、キーワードを指定することにより、該当するユーザを検索することができます。キーワード(タグ)をクリックして検索ユーザ表示の下部にはそのユーザが登録したキーワード(タグ)が表示されています。これをクリックすると同じキーワードを登録しているユーザが表示されます。ok」に登録しましょう!登録はTwitterから「@follow_ok」につぶやくだけでokです。キーワード(タグ)を登録するつぶやく時はキーワード(タグ)を指定しましょう。登録したいキーワードを[]で囲んで下さい。上の画面例なら[cakephp][iphone][大阪]の4つがキーワードとして登録されます。「@follow_ok」につぶやけば何度でもキーワードを登録することができます。キーワードは毎回上書きされるので、最後につぶやいたものが登録されます。okからのフォローもTwitterでリリースをつぶやいて、100人超の方に登録頂けました(ありがとうございます!)。Twitterだと反応が直ぐに貰えるので、とても嬉しいです。okからフォローしてもらえたよ」と言って頂ける方もいらっしゃいました。_)mフォローする相手を探す方も、フォロワーを募りたい方も、活用して頂ければ嬉しいです。1分17秒ドキュメント勉強会は8/6(木)開催です。IT系勉強会では取り扱わないテーマということで、数人でまったり行こうかなと思っていたのですが、嬉しい誤算となりました:-Dドキュメントについて、もやもやしている人が多いということで、今回の勉強会ではいつもと少し趣向を変えようと思います。今回は発表は2つだけなのですが、2つ目がミソです。タイトルは「となりのドキュメント」です。となりのドキュメント8人の発表者がお題の仕様について、それぞれドキュメントを書いてきて、それを発表しようという試みです。書く形式も人それぞれで、PPTやExcelなどベーシックなものから、wikiやreStructuredTextなどもあって、バラエティに富んだラインナップになりそうです。同じ仕様について様々なドキュメントを見ることができるので、これはなかなか面白くなりそうです:-D(私自身が一番楽しみにしてるかも。勉強会会場ですが、水道局内にあり、夜間は正面入り口横の通用口?のみ出入り可能となっています。来る人だと若干分かりづらいので、ご注意を。(ダメそうならTwitterでつぶやいて下さい。