mysql対応が終わったので今日はHerokuにSpikaをデプロイしてみよう。うごくかなー
— cloverstudio (@cloverstudio1) 2014, 1月 20
Spika-Server の MySQL対応が終わったということなのでコードを見てみた。
cloverstudio/Spika-Server at develop
MySQL対応 の関連処理
init.php
src/Spika/Db/MySql.php
- 【追記】DB接続まわりは Doctrine/dbal が使われている。
- 一部のメソッド
createUser
やaddContact
等で SQLではなく配列を渡してINSERT文を発行している。
- 一部のメソッド
雑感
DB関連
- お仕事や個人プロジェクトでも、DBを使うときはORMやクエリビルダ的なものを使うことが多かったので、SQL文を直書きしているのが(自分にとっては)斬新だった。
- それが悪いという意味ではなく、SQLでぱっと見何をしたいメソッドなのかわかりやすかったので、これはこれで良いと思う。
- DBアクセスを1ファイルに集約
- 今後ファイルが肥大化して管理が大変そう。
- 見通しも悪くなってしまう。
その他
- クラスやメソッドのコメントが殆ど無い
- 特に個人プロジェクトで、集中して一気に作っているとやってしまいがち。
- とはいえ数カ月後の自分にグーパンチされないためにも、(オープンソースで公開するならなおさら)コメントはできるだけ書いたほうが良いと思う
- インデントがバラバラ クラス毎、メソッド毎というわけでもなく、1行の中でタブとスペースのインデントが混在しているのは、統一したほうが良い
- PHPUnitのインストールが重複
- composer を使ってインストールするのであれば、
Vagrantfile
に書かれたセットアップ用シェルスクリプトに書かれている pear でのインストール処理は無くても良さそう - インストーラー画面ができてる、イイネ!
初期のサーバー側ソースコードが酷くて話題になってたプロジェクトだけど、その後のフレームワーク導入やMySQL対応、インストーラー作成など、対応早い。この調子で頑張って欲しい。手伝えるとこあったらPR送るかも。
昨日、布団の中で見つけてgithub上でソースコードを眺めながら寝落ち、今会社でお昼休みに書いてるのでまだ動かしてみてない。今晩時間が取れたら動かしてみよう。
[メモ]
Spika 作者の @cloverstudio1 さんにこのブログが見つかってツイートされてた。大したこと書いてないのに申し訳ない、、、、。
http://t.co/L2SKMfhdX7
Spikaのバックエンドの動きに関してまとめています。純粋にうれしいですね。
— cloverstudio (@cloverstudio1) 2014, 1月 14