generated at
WiKi
ウォード・カニンガム氏が発明したWebベースの共同編集システム

作るのに結構色々な技術が必要となるので作ってみるのは楽しいと思うkuuote
サーバーを立ち上げるための知識
言語によってはライブラリで用意されているので、それの使い方
HTTP(S)に関する知識
リクエスト、レスポンス、GET、POST、ステータスコードくらい知っておけばなんとかなりそうな気がする
ぼくはアホバカなのでHTTPライブラリしか使ってないけど、フレームワーク使えばこのへんは隠蔽されてそうな気がする
内部構造の設計
データどこに保存するかとか
Wikiのデータ程度ならディレクトリ掘ってプレーンテキストで保管するくらいでもなんとかなるけど、恐らくスケールはしない
Gollumのように構造上、必然的にプレーンテキストで保管するものもある
ちゃんとやるならDBに保管すべき
最近のアーキテクチャだとアプリケーション層はエフェメラルなのが主流のため保存先は分けておくのがベネ
APIどうするか
RESTfulな設計をしておくとルーティングがシンプルになりそう
独自記法のパーサーとレンダラー
個人的にはここが一番作ってて楽しい
Markdownのような既存の記法をそのまま使ってライブラリを使うという手もある
レンダラーが吐き出すのはHTMLなので、必然的にHTMLについて学ぶことになる
クライアントであれこれするならJavaScript
React.jsはいいぞkuuote
MDNはいいぞ