Amon2でブログを作成するまで(設計編)
前:
Amon2でブログを作成するまで(環境構築) - 君は牛を二頭持っている
ギッハブ:https://github.com/AKdozum/Amon2_blog
このあたりから,公式のチュートリアルを大いに参考にしてます
http://amon.64p.org/bbs_tutorial.html
DBとか設計する感じです
DB
一応今のところこんな感じですが,もしかすると変わるかもしれません
PRAGMA foreign_keys=ON; #https://www.sqlite.org/foreignkeys.html
CREATE TABLE IF NOT EXISTS member (
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(255)
);CREATE TABLE IF NOT EXISTS entry (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
body TEXT not null,
created DATETIME,
FOREIGN KEY(id) REFERENCES member(id)
);CREATE TABLE IF NOT EXISTS comment (
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(255),
body TEXT not null,
created DATETIME,
FOREIGN KEY(id) REFERENCES entry(id)
);
sqlite3 db/development.db
で,開発環境用のDBをセットアップ完了
API設計
backbone.jsとか見てると,最近はPUTとかDELETEとかのHTTPのメソッドで分けるのが良いのかな?とか思うけど,Amon2のソースぱっと見たところ,PUTが対応してるのかどうかよく分からなかったので,POSTとGETで以下のような感じに.
- 閲覧 GET /entry/[id]
- 投稿 POST /entry/post
- 編集 POST /entry/edit/[id]
- 削除 POST /entry/delete/[id]
- コメント投稿 POST /comment/post
- コメント削除 POST /comment/delete/[id]
実装の前に
テストを書かないといけないので,Amon2でのテストのやり方を調べて次に書きます
Amon2でブログを作成するまで(環境構築)
前:Amon2でブログを作成するまで(前提の話) - 君は牛を二頭持っている
ギッハブ:https://github.com/AKdozum/Amon2_blog
本記事,ご確認頂きたく
環境とか
- Perl 5.16.2
- MacBook (13 inch, 2010 Mid.)
- RAM:4GB
- CPU:Intel Core 2 Duo 2.4GHz
- MacOS X 10.8
- Homebrewとかは使ってない
- Perlbrew, plenvとかも使わない
ステップ1 cpanmインストール
- cpanm(App::cpanminus)とは
Perlのパッケージ管理ツールのcpanを色々便利にしたり綺麗な設計にしたりしたやつ.つよい
どれぐらいつよいかと言うと
らしいです
- インストール方法
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
sudoを使わずにユーザのディレクトリにインストールすることもできます.
これだけ
Amon2のインストール
cpanm Amon2 -n
- -nオプションの意味
cpanmがモジュールをインストールする前に行うテストをスキップするように指示します.
テストもスペックしょぼいとそれなりに遅くなる + 今回はテストが一部通らないモジュールがあったので,やむなくスキップします.
製品開発時には,テスト通らなかったモジュールがある場合どうするんだろう.やはり自分でパッチ当てるしかないのかな.つらそう.
アプリケーションのセットアップ
amon2-setup.pl blog(アプリケーション名)
これでアプリケーションのディレクトリと,必要なファイル一覧が展開されます
そのディレクトリに移動して
carton install
で多分大丈夫なはず.
Amon2でブログを作成するまで(前提の話)
作業状況はGitHubに随時pushしてます
https://github.com/AKdozum/Amon2_blog
春休み入って,少しだけ時間ができたのでAmon2でちょっとしたブログを作ってみます
Amon2 is 何
Perlで実装されたWAF(Web Application Framework)です.
公式サイト:http://amon.64p.org/
特徴とかはよく分からんけど,ドキュメントちょっと見た感じ,機能が色々ありそう.
作りたいもの
名前:ブログ
機能(優先度順):
- 記事の投稿
- 記事の編集
- 記事の削除
- XSS対策
- コメント機能
- ユーザ認証
その他:AngularJSとか使いたいけど、今回は最低限の機能の実装だけでフロントエンドは全く触らない感じで行く予定
参考文献
- 開発者の人のブログ http://blog.64p.org/
- 6.00のドキュメント http://amon.64p.org/docs.html
卒業論文を発表しました
卒業エントリ書きたかったけど、まだ結果分からないので書けなかったし,近況報告的な内容.
今日は,朝から異常な降雪にも関わらず,9時から卒論発表会があったので,頑張って発表してきた.
一つの区切りとして,やっぱり人前で成果を話すって言うのは良い機会だったけど,結局7分間にまとめ切れなかった部分に関しては非常に後悔が残った.
今後は,渋谷近辺の部屋探し,引っ越し,信学会の総合大会(3月21日発表で,19日午後から新潟に居ます)の3つのタスクが残ってるので,総合大会に向けて,今回の反省十分に活かしていきたい.
全く技術関係なかったけど,多分休み中はしばらくそういう話増える気がする.
2014年の抱負、その他予定とかメモとか
早くも2014年開始から2週間が経とうとしていますし、この3連休はこういうの書く最後のチャンスだと思うので
抱負
いくつかあるので、まだ具体化させていない抽象的なものから順番に
- 新しい環境で,常に挑戦を忘れないでいきたい
研究室では今まで触ったことのない分野をテーマにしたし,環境が大幅に変わってもビクビクしないで積極的に
チャレンジします.特にITとは関係ない部分での挑戦を増やしていかないとなあと思ってます
- アウトプットの機会をもっと自分で作る
学習,訓練の一環としてアウトプットしないとという気持ちと,色々な場で自分の知識を共有していくと新しい出会いにも繋がって良いというイメージ
- 一人暮らしの基盤を固める
今年4月から初一人暮らしが始まるので,仕事と並行して東京での暮らしに早く慣れると嬉しい
- 応用情報技術者取る
まだ取ってないです。春か秋かに取ります
- Androidの位置情報取得機能使ってみる
本当は去年の夏ぐらいにやりたかった(結局卒検が進まなくてできなかった).
精度がどのくらい出るのか確かめてみて,サービスの中で活用する時に出てくる諸問題を確認しておく
大雑把な予定
- 2週間後までに
卒論のベータ版書きます
- 3週間後までに
卒論提出 & 発表スライド作成
- 2ヶ月後までに
東京に引越し完了(ネット環境に関してはまだ未調査)
- 3ヶ月後までに
とりあえず東京で健康を第一目標に,ウェッブエンジニャーとして活動開始する
メモ
Amon2,良い
最後に
4月から就職します。東京行くのでみなさん仲良くして下さい
一人暮らしするにあたって,「こういうのあったらいいよ!!」的なアドバイス超待ってます