CodeIgniterにJobboardを組み込む3-Another Codeigniter CMS (ci-cms)を軽く動かして拡張箇所を想像してみる-その2(良い点悪い点微妙な点)
こんにちは!
今日はCI-CMSの良い点・悪い点(微妙な点)を挙げていきます。
前回エントリーの画面ダンプのおまけの内容とあまり変わらないかも。
これをベースに魔改造して、使えるモノが出来るかな?
という視点で以下ずらずら感想をば。
良い点:
良い点1:モジュール機構がxoopsライクに、MatchBoxのモジュール設置→インストール→アクティべートを経て使う仕組みである。上手にMatchBoxを使って、モジュールのインストールの仕組み・更新の仕組み・管理の仕組みを構築している。これだけでも、これをベースにモジュールを作ろうかな?という気になります。
モジュール機構(インストール・アクティベート)を作るところから始めるのはしんどいので、これは助かります。
モジュール管理の仕組みを自力で作ろうとすると、
■インストーラー
- DBにテーブル作成
- マスタデータ挿入
- 有効無効の仕組み
■アップデーター
- DBのテーブル定義更新
- マスタデータ挿入・更新
■モジュール毎のURLルーティング
■モジュール毎の専用ファンクション(プラグイン的なもの)
■モジュール毎の言語ファイル
■モジュール毎の管理画面
等々基本の表側の動き以外に考えることが沢山あるのですが、
既にモジュール管理の仕組みが出来ているので、
ソース量の少ない手頃なモジュール(newsとかsearchとかのモジュール)を解析して
そのやり方にならって、モジュールを作っていけば良いと思います。
仕組みが分かってしまえば、ディレクトリ丸ごと複製→ソースコピペレベルから試し始められるのでこれは楽。
Xoopsのモジュールの仕組みや、Drupalのモジュールの仕組みを読み解くのに苦労した人ならば、
CodeIgniterの楽さが分かると思います。
フレームワークのベースの仕組みを理解しモジュールを作るところまでに到達するのが大変だと、
その時点でやる気をなくす+工数に含まれない調査工数が必要になってしまう+作る人が決まらないのに機能構成表と工数計算ばかりやり直して、資料が出来たらなんとなく仕事が終わった気になる。
といった羽目に陥りがちなのですが、CIならばこれを避けることができます。たぶん。
ちなみにCakePHPは覚えるのが嫌い&勉強のための勉強が嫌い&既存ソースとのキメラ化が大好きな私の性に合いませんでした。CodeIgniterは分からなかったらすぐ該当ソースを直感で探せて弄って改造できる構成だと思います。
大人数での開発は知りません。そもそもPHPで大人数で作る時点で半分間違って(ry
良い点2:モジュール毎の権限設定が出来る(っぽい)
用途によっては微妙な点(そこまでは不要な点)にも含まれるのですが、登録ユーザー毎&モジュール毎に権限設定が出来ます。
アクセス不可・閲覧・追加・編集・削除のレベルを設定出来るようです。
複数の管理者(スタッフ)にCMSの管理をさせる時に使い道がありそう。
例えば、今回のエントリーの様に求人情報モジュールを新設すると仮定して、
- 表側のコンテンツ作成担当者=ホームページ担当
- 求人情報モジュール上で求人データ登録を行う人間=データ入力担当
- 求人情報モジュール上に貯め込まれた応募データを取り扱う人間=業務担当
毎にレベル設定をするとか。
良い点3:デフォルトで多言語対応が出来る
多言語対応(複数言語+複数言語毎に別コンテンツの作成)が出来ます。
後でさわりだけ書きますが、
英語版 http://example.com/home や http://example.com/about 等のページと、
日本語版 http://example.com/home や http://example.com/about 等のページを、
完全に別物として作成出来ます。(URLは一緒)
また、管理画面(バックエンド)側のナビゲーション管理メニューや、ページ管理メニューも、言語毎に管理が分かれます。
日本語だろうが、英語だろうが、フランス語だろうが
http://example.com/home
http://example.com/policy
http://example.com/hogehoge
がデフォルトで使えるのはなかなか良いかな。(使用言語は閲覧者毎に切り替え可能)
ちなみに下の画面ダンプでは、日本語化の翻訳を行わずにpoファイル(後述)を使い回している&英語版ページにも日本語文章を記述しているので何が違うのか分かりにくいと思いますが、そのへんは脳内で補完してください。
(多言語対応のテスト例)
1e:英語版ホームページ:(といいつつ日本語書いているけど)
2e:英語版aboutページ:
2j:日本語版aboutページ:
3e:英語版ナビゲーション管理画面:(英語版はメニュー多め)
3j:日本語版ナビゲーション管理画面:(日本語版はメニュー少なめ)
良い点4:サインアップ・ユーザー管理のベースソースがある
良い点2と被りますが、ベースソースがあってほぼ出来上がっているので、改造は楽でしょう。
以前のエントリーで挙げたdx_authを使って作る手もありますが、既に全体像が出来上がっているので、
ci-cmsの仕組みをそのまま使った方が楽。
良い点5:ajax(jquery)での画像アップロード処理のソースが既にある。
調べるのが面倒なので流用してしまいましょう。jqueryのサンプルになりそうなソースもあるので、楽かな。
ちなみに私はxajax中心でゴリゴリやってきたクチなのでjqueryはサワリ程度しか知りません。
良い点6:tinymceが既に使える状態にある
これも調べるのが面倒なので流用してしまいましょう。
流用ばっかりですねw。実現したい事を最短で実現できるので良しとしましょう。
(成果を一部でもコミットできれば良いかなと思いますが、まずは一連の仕組みを手元に引き寄せるところから。)
良い点は他にもありそうですが、疲れたのでこのくらいで。
また気づいたらその都度書きます。
悪い点(微妙な点)
書いていて飽きてきたので列挙のみ1)モジュール機構がHMVCベースじゃなくてMatchBox
HMVCをこれまで使ってたので慣れていない。
2)多言語構成には、ja.poファイル等poファイルを作らないといけない。
多言語対応には、modules/hoge/locale/ja.po とか、 modules/hoge/locale/fr.po とかが必要になります。
多言語対応するところは、
<?=__("Text to search", "search")?>
みたいな感じで書くとxxx.poファイルから翻訳したテキストを表示してくれます。
poファイルの編集には、Poeditを使います。vimのプラグインとかもあったっけ?
CI標準のlanguage/japanese/hoge_lang.phpじゃないのがちょっと気に入らないです。
( MMRT daily lifeさんのPoedit 取扱説明書 http://wp.mmrt-jp.net/plugin-japanization-project/poedit/ 等を参照)
3)テーマは自作か他から移植しないと微妙にダサイ
タダで使わせてもらってダサイゆーなって気もしますが、
デフォルトだと微妙なのでどうにかしないといけません。
今回は、MOONGIFTさんの所で紹介されていた「Web App Theme」をベースに使ってみようと思います。
http://www.moongift.jp/2009/06/web_app_theme/
http://github.com/pilu/web-app-theme/tree/master
すっきりしていて改造しやすそうで良い感じ。
4)これまでの俺俺ソースと融合するマージ作業が面倒
これは仕方がありません。基本的にファイルコピーレベルで済むと思いますが(多分8割方それでOK)、WinMergeで目視確認しながらしこしこ移植していきます。過去の資産は使わなきゃね。
懸念事項としてはjquery周りか。確かxajax(prototype.js)と共存させるときにはおまじないが必要だったような記憶が。
5)日本語翻訳ファイルが無い
ja.poファイルを作って翻訳していく必要があります。
ただ、多言語対応がそもそも必要なければ、新規作成モジュールに関してはべた書きでいいかも。
海外に進出する要件でもないのに多言語対応する意味がありません。
必要になった時に急いでやれば良いだけ。
多分ならないので、時間を使ってまで流儀に従うこともないかと。
無駄な儀式は省略していきましょう。
良い点で挙げた通り、仕組み上は多言語対応出来ているので、
後回しにしていても後で手を入れる箇所は少なくて済むでしょう。
同様のことはモジュールのインストーラーのDDL文にも言えるかも。
6)ci-cmsのバージョンがまだ0.9
今回は開発のベースにするだけで別物になるので気にしませんが、気になる人はなるかな。
7)携帯対応しなくちゃいけない
こればかりはしょうがないですね。なんとかしないと。
携帯サイトなんてものがが無くなれば一番いいのですが。
てゆーか、Cookieが使えるようになればいいのだけど。
Cookie不可だのRFC違反のメアドだのバリバリ独自仕様なのが開発者にとって邪魔です。
というわけで今回はここまで。
次回からは開発中に書き留めたメモ等をだらだらと挙げていく予定です。
twitterボットもボットレベルに進化させたいのですがそちらも追々書いていきます。
ではでは!
CodeIgniterにJobboardを組み込む2-Another Codeigniter CMS (ci-cms)を軽く動かして拡張箇所を想像してみる
こんにちは!
今日は前回のJobboardエントリーの素材として選んだ、
Another Codeigniter CMS (http://code.google.com/p/ci-cms/)
を標準状態で軽く動かしてみます。軽くという割に延々と長いですが。
この一連エントリーだけ文体がなぜか微妙に丁寧型でいつもと違いますが、気にしないでください。
ちなみにまだソースは見ていない段階です。
軽く動かして、現状の作り・拡張ポイントを想像している段階。
とりあえず動き出した画面はこんな感じ。
寂しいのでひまわりを追加してみました。
プログラマ以外がスグに気軽に使えるCMSとして普及させるためには、このへんの充実度合いも重要だと思うけど、今回は素材としての利用なので全く問題ありません。
モジュール管理機構・ページ管理機構が実装されているメリットの方が大きいです。
公開してくれている作者さんに感謝。
インストール関連
改造・拡張する前提でのエントリーなので、インストール手順は省略します。
CodeIgniterのファイル構成等については以前のエントリー等をご覧ください。
インストール時のポイントは、
- application/config/config.php application/config/database.phpを環境に合わせる。
- 空のDBを作成する。(DB名 DBのユーザー名、パスワードは上記のファイルで設定済)
- http://(設置URL)/install を開いてインストールする。
- ドキュメントルート/index.phpのerror_reporting(E_ALL);を、とりあえずerror_reporting(0);にして、初っぱなにNOTICE警告が出て残念な気分にならないようにする。
位です。
まずはディレクトリ構成(applicationフォルダ等の場所)は弄らずに、
ダウンロードしたソースの標準状態のままインストールします。
インストーラーは現状シンプル。
ファーストインプレッション
結論だけ先に書いておくと、
CMSとして:
DrupalやConcrete5等と比べると完成度はまだちょっとですが、これから期待出来るかも。
色々実装されていてやる気を感じます。試す人が増えるといいな。
改造ベースとして:
CodeIgniterで作られている+既にある程度の機能が構築済みなので、
ゼロから何か作るよりは大幅に時間短縮出来そう。
私の中では、
- CIベースのCMSを改造してCIでモジュールを作っていく。
- 足りないところはZend Frameworkを使わせてもらう。
というのが構造を追いやすい+ある程度の柔軟性を兼ね備えていて今のところ理想型です。
他のCMSだと拡張する前にその流儀を覚えるところが非常にしんどいし、
使わない機能がふくらみすぎて構成を見通せないのが嫌なので。
今日はここまで。長い&眠いので次回に続きます。
次回はこれをベースに魔改造して使えるモノが出来るかな?という視点で、このCMSの良い点・まだ足りない点を挙げていきます。
画面ダンプのおまけ
おまけの画面ダンプとメモを載せておきます。
フロントよりバックエンドの画面の方が綺麗です。
ベースとして必要な機能がある程度揃っています。
どの画面も似ているので若干自分の居場所に戸惑う所がありますが(今何の管理をしているのか分かりにくい)、一度キメを作ってしまえばそうそう変わらないので、当初は気にしないで新設Jobbordモジュール側に注力します。
(2:ログイン直後のダッシュボード)
最新のお知らせが右側に出ている。
ソースは見てないけど、この感じだと外につないでRSSでも取得しているのかな?違ったらスンマセン。
ココを流用して外部から何らかのインフォメーションを、スタッフ・業務に流せそう。
(3:ログイン直後のダッシュボード+いくつかのモジュール追加時)
画面上部のタブの数が増えて、モジュール毎の初期設定が可能になる。
(4:モジュール一覧)
モジュールのインストール・有効無効・順序の設定が出来る。(モジュール拡張はMatchBoxを使用)
(6:モジュール毎ユーザー毎の権限設定画面)
ちょっと操作が分かりにくい。権限設定が煩雑。
(7:ユーザー追加画面)
サインアップ画面がフロント側にあるが、これはバックエンド側での追加画面。項目数が少ないので必要ならば要拡張。
(10:ページ構成一覧(ナビ))
左ナビと上ナビの並び順等の変更。上位ページの下にサブページも設置できるようだ。(フロントエンド側ナビでの表示については今日の段階では不明)
(11:ページ編集画面その1)
リッチテキストエディタで編集可能。URL指定、親ページの選択、発行する・しないの指定が可能。
(12:ページ編集画面その2)
画像の参照アップ後に画像名リンクをクリックすると、本文に画像が挿入される。
複数画像の順次アップ可(一括アップではない)。
画像の参照アップは画面リロード無し。jqueryのajax経由でアップロード。
リッチテキストエディタの操作性が微妙。(眠かったからor慣れていなかったからかも)
(13:ログイン状態でのフロントエンド側ページ)
ログイン状態&編集可能権限のあるユーザーだとそこから編集画面に飛べる。
(14:ページ一覧)
URL・元ページの表示・ページ編集・削除・ページビュー表示等
(16:全般設定)
サイト名・サイト共通メタタグ・キャッシュ使用制御・デバグ用プロファイラの使用制御。
これを見る感じだと、ページ毎にメタタグは設定出来ないみたい。(ページ編集画面にはメタタグ項目が無い。)
(16:テーマ選択)
テーマはデフォルトで2種類だけど微妙。他のテーマを漁って移植するので良しとしましょう。
(17:ニュース一覧)
ニュースモジュールを有効にすると出てくる。ニュースモジュール自体は未調査。
この他にも写真アルバムモジュール等があるみたいですが、ちょっと入れてみただけではよく分からなかったので調査は後回し。
ではでは!
CodeIgniterの学習 71 - 30分位で始められる(かもしれない)Twitterボットの制作(その1、卵くらい)
(2010/08/26 追記)
OAuth対応してなくてベーシック認証のままなので、今となっては参考になりません。
(2010/08/26 追記終わり)
(以下原文)
こんにちは!
今日は Twitter API CodeIgniter Library - http://www.haughin.com/code/twitter/
を使って、CodeIgniterでTwitterのAPIを呼び出すボットを作り始めてみる。
(Jobboard関連のエントリーも同時進行します。今日はなんとなくこっちの気分。日報エントリー関連は一時停止中)
動作画面
こんな感じ、まだまだ赤ん坊段階。これから少しずつガメラレベルに育てる(かも)。
A) http://pizw.com/twitterbot
(OAuth対応していないので停止しました。2010/08/28)
↓
B) http://twitter.com/null_nikki
がおみくじを呟く。まだそれだけ。
寒いとはいわないで。
実験のために、A)のURLを呼び出すと無条件に呟く様にしているが、
本来は http://d.hatena.ne.jp/dix3/20081203/1228237872 等でバッチとしてA)を実行できるようにするか、
別のTwitterアカウントから、@付きでnull_nikki側がコールされた後にA)を起動して返答するように育てていく必要がある。(まだボットとは言えないレベル。)
環境
ぐらいか。curlについてはググるべし。FedoraやUbuntuならyum/aptitude一発で簡単に使える。(レン鯖・Windowsは知らん。)
レン鯖ならcurlで躓くかな?まーいいや。自宅開発鯖で試してちょ。
Twitterへのアカウント登録
http://twitter.com/を開いて、「今すぐ登録」に沿っていくだけなので説明省略。見れば分かると思う。
ソース
環境面でクリアしているならば、ソースはごく単純。上記のライブラリーを使うといろいろ複雑なことが出来るが、とりあえずベーシック認証経由で「いまなにしてる?」を更新するだけ。
エラー処理も無し。(実験なので後回し)(Oauthとか認証にもいろいろあるけどそれは後で)
手順1:ライブラリ(application/libraries/Twitter.php の設置 )
Twitter API CodeIgniter Library - http://www.haughin.com/code/twitter/
からダウンロードしたソース内のファイルを、application/libraries/以下に設置。
(同梱されているhome.phpのサンプル等はひとまず設置しない。)
手順2:1のファイルの微修正
1のファイル Twitter.phpの一部がバグっているので微修正する。
(ライブラリ配布サイトのコメント欄で言及されている。)
<?php //(上略) public function call($method, $params = array()) { //(中略) //if ( $auth === TRUE && ( $this->_conn->authed() || $this->oauth === NULL) ) //ここがバグってる if ( $auth === TRUE && ! ( $this->_conn->authed() || $this->oauth === NULL) ) //(下略) } ?>
を上記の様に変更する。これでベーシック認証経由で呟ける様になる。
手順3:コントローラー(application/controllers/twitterbot.php)の新設
こんな感じ。キモはtwitt()メソッド内でTwitterライブラリのauthを呼んで、callでデータを投げている部分だけ。
<?php if ( !defined( 'BASEPATH' ) ) exit( 'No direct script access allowed' ); // 本当はバッチから実行時のみ許可するようにする。 // 参考 CodeIgniterの学習 52 - CodeIgniterをバッチとして呼び出せるようにする // http://d.hatena.ne.jp/dix3/20081203/1228237872 /** * Twitter APIを使ってみるテスト(ボット実験用) * @author : dix3 * @link http://d.hatena.ne.jp/dix3/ */ class Twitterbot extends Controller { // コンストラクタ function twitterbot() { parent :: Controller(); $this -> load -> model( 'Mod_twitterbot' ); //モデルのロード $this -> load -> library( 'twitter' ); //ライブラリのロード } // デフォルトインデックス function index() { // 色々処理振り分けたいけど、あとで $this -> twitt(); } function twitt() { //とりあえずベーシック認証を使用 Oauthや認証OKNG判定は後で $this -> twitter -> auth( $this -> Mod_twitterbot -> conf['consumer_key'], $this -> Mod_twitterbot -> conf['consumer_key_secret'] ); //いまなにしてる?にデータを投げる $ret = $this -> twitter -> call( 'statuses/update', array( 'status' => $this -> Mod_twitterbot -> get_status() ) ); // エラー判定無し、後で追加する。 // var_dump($ret); echo 'いまなにしてるを更新完了!→ <a href="http://www.twitter.com/null_nikki">twitterのnull_nikkiを開く</a>'; exit; } } /** * End of file twitterbot.php */ /** * Location: ./application/controllers/twitterbot.php */ ?>
手順4:モデル(application/models/mod_twitterbot.php)の新設
こんな感じ。設定ファイルを読み込んで、
arrayヘルパのrandom_element()を使って、ランダムに占い結果を返しているだけ。
<?php if ( !defined( 'BASEPATH' ) ) exit( 'No direct script access allowed' ); /** * Twitter APIを使ってみるテスト(ボット実験用) * @author : dix3 * @link http://d.hatena.ne.jp/dix3/ */ class Mod_twitterbot extends Model { var $conf; // コンストラクタ function Mod_twitterbot() { parent :: Model(); $this -> load -> helper( 'array' ); //配列ヘルパのロード(ランダム抽出用) $this -> _init(); //初期化 } // 初期化 function _init() { $this -> conf = $this -> load -> config( 'twitterbot_config', true ); //初期設定ファイルのロード } // おみくじのありがたいお言葉を引く function get_status() { return $this -> conf['bot_words_head'] . random_element( $this -> conf['bot_words_body_arr'] ) . $this -> conf['bot_words_foot']; //お言葉を返す } } //endofclass /** * End of file mod_twitterbot.php */ /** * Location: ./application/models/mod_twitterbot.php */ ?>
手順5:設定ファイル(application/config/twitterbot_config.php)の新設
設定ファイル系。特に難しいところは無いはず。
おみくじの配列は、arrayヘルパのrandom_element()でどれかが選ばれるように大吉中吉等を適当にちりばめている。
<?php if ( ! defined( 'BASEPATH' ) ) exit( 'No direct script access allowed' ); /** * Twitter APIを使ってみるテスト(ボット実験用) * @author : dix3 * @link : http://d.hatena.ne.jp/dix3/ */ $config['consumer_key'] = 'twitterのユーザー名'; //id $config['consumer_key_secret'] = 'twiterのパスワード'; //password $config['bot_words_head'] = '今日のぼくの運勢は…【'; $config['bot_words_body_arr'] = array('大吉','大吉','大吉','大吉','大吉','ヘブン状態','中吉','中吉','中吉','中吉','中吉','中吉','小吉','小吉','小吉','小吉','小吉','吉','吉','吉','吉','吉','末吉','小凶','凶','中凶','大凶'); //DB周り作るの面倒なので配列でだらだら $config['bot_words_foot'] = '】だってさ [おみくじver0.00001]'; /* End of file twitterbot_config.php */ /* Location: ./application/config/twitterbot_config.php */ ?>
dix3は勝手にしゃべる亀(会話能力ゼロ)を手に入れた!
今日はここまで。ではでは!
※アクセス数は大した事無いと思っているけど、万が一亀が大量に呟いているようなら停止します。ソースをコピペして実験する時はお持ちのアカウントが大量ポストしないようにご注意を。
CodeIgniterにJobboardを組み込む1-素材の選定(ソース無し)
こんにちは!
ブログ更新を復活するために少しずつ書いていきます。
これまでのCodeIgniterの学習 エントリーとは、
ちょっと趣向が変わると思いますのでご了承ください。
(ソースの記述よりも、概念的なものが多くなる予感。)
jobboard を CodeIgniterに組み込む事にする
ちょっとした仕事のネタでやろうとしている事をネタバレ。
CodeIgniterで、jobboard(要は求人システム)を作ろうとしています。
携帯対応+(PC対応)です。
求人の少ない今時何故か必要になったので仕方なく作ります。(テンションわりと低め。)
競合もいなそうだし(求人システム自体が既に導入済みが多くて枯れた分野だと思うので)、
バラしたところで今更需要自体がたいして見込めない&大がかりなモノにはならないので (;´Д`) 。
残念ながら作成したソースは仕事の関係上公開出来ませんが
(自前で設置/管理してサービスを提供する形態)、
仕事の合間にネタ・ポイントを部分的にでも公開出来ればいいかなと思っています。
素材の準備
素材として、- Another Codeigniter CMS - http://ci-cms.blogspot.com/ , http://code.google.com/p/ci-cms/
- jobberBase - http://www.jobberbase.com/
- CodeIgniter1.7.1 - http://www.codeigniter.com/
を使います。
素材の用途
ざっくりとこんな感じ。ソースはあまり見てないけど、多分これから嫌と言うほど見るのでなんとかなるでしょう。
1:Another Codeigniter CMS - http://code.google.com/p/ci-cms/
コンテンツ作成・求人データ登録等のバックエンド機能として、
Another Codeigniter CMSを用います。
詳細まではまだ把握していないけれど、
Matchboxを使いモジュール化対応しているCMSの様です。(ライセンスはGPL2)
2:jobberBase - http://www.jobberbase.com/
php製のオープンソースジョブボードシステムのようです。
これを、1のモジュールとして改造します。(ライセンスはMIT)
CMSにジョブボードモジュールを組み込んで使う。という方向です。
フルスクラッチではありませんが、
魔改造で素材を跡形無くベコベコにする予定。
携帯側からは閲覧のみ。
古すぎる携帯を使う人は今回の求人にはまず応募してこないので、要件から切り捨てます。
(全部に対応しろとかは即時却下。)
携帯周りはなるべく避けてきたので、
(特にdocomoの仕様がやる気を削いでくれるので、携帯は見なかったことにしたいという一心で)
これまであまり真剣に取り組んで無いので、これから苦しむ事が予想されます。
今日はここまで。ではでは!
CodeIgniter1.7.1のチートシート
このブログも気合いを入れずに更新していけるように小ネタ。
中ネタ大ネタは時間を見てまたやります。
twitterのフォロー先追ってたらこんなのがあった。
元サイトはこちら
http://code.google.com/p/codeigniter-1-7-1-quick-reference-cheatsheet/
プリントアウトすれば初学の助けになるのかな?
いままでチートシート集めて、活用したことがないorz。
試しにプリントアウトして机に置いておくか。
ではでは!
tumblrとtwitterに移動実験中
お久しぶりです。
長い文章とソースの更新がつらくて、このブログが半ば放置状態になっています。
(捨ててはいませんが、やりかけの日報エントリーは放置状態)
今はこっちに移動しようかと思っています。(ブログも自作系に移行しようかと思案中)
基本独り言系であまり外に出たがり・名前を出したがりではありませんが、
もしよろしければフォローしてくださいな。
http://twitter.com/mataga … 独り言毒垂れ流し系、2年前くらいにアカウント取って放置状態でしたが再活用模索中。
http://mataga.tumblr.com … 写真付きライフブログ実験系、エロ無し。CodeIgniter系&開発メモを脈略無く垂れ流す予定。まだiphoneで遊んだ写真を適当にアップしているだけ。何が出来るかの実験の位置づけです。
ではでは!
09/07/26追記:
twitterはこんな感じ
tumblrはこんな感じ
趣味の部屋と化してる。まだほとんど技術系無し。iphoneのカメラで遊ぶ部屋。