MJHD

エモさ駆動開発

Golang製wikiを作った

Golangで何か作りたい何か作りたいとずっと思っていたので、少しは使えるものを作った。

Devlion Center f:id:wait0000:20150823200652p:plain

このサイトは、Golangで作ったwikiシステムをCMS的に使っている。現在はまだ試験運用だが、将来的にはここに自分の作品を並べていきたいと思っている。

今まで作った動的なWebサイトは、例えばCakePHPだったりRailsだったり、フレームワークを使って割と表面に近い部分をコーディングしていた。

今回は、Golangの標準ライブラリに含まれているhttpというモジュール(?)を使って、割と根元に近い部分から書くことができ、理解が深まった。フレームワークを使っているだけだと、例えばコントローラの記述ルールだとか、ディレクトリ構造だとか、あらかじめ用意されているものは丸暗記で、あ、こういうものか、と利用していくばかりであったが、きちんと自分で低レベルな部分から書くと、最終的にはとても手になじむ感覚があった。

このWikiの最大の特徴は、その編集画面。Ghostというブログシステムの編集画面を参考、というかもろパクリした、 Markdownのリアルタイムプレビューf:id:wait0000:20150823200706p:plain

また、画像ファイルのドラッグアンドドロップでのアップロードにも対応している。 f:id:wait0000:20150823200714p:plain

現在は、Wikiシステムに必要な、会員登録機能が完全にはできていない状況なので、新規登録は禁止しているが、そのうち対応するつもりである。メールアドレスの認証って割と面倒くさいことを初めて知った。

Golangはこの手軽さでコンパイルできるんだから、全くすごいよなぁと常々思う。しばらくは、Golangの学習と、このWikiの完成度を上げる作業に取り組みたい。