Golangで何か作りたい何か作りたいとずっと思っていたので、少しは使えるものを作った。
このサイトは、Golangで作ったwikiシステムをCMS的に使っている。現在はまだ試験運用だが、将来的にはここに自分の作品を並べていきたいと思っている。
今まで作った動的なWebサイトは、例えばCakePHPだったりRailsだったり、フレームワークを使って割と表面に近い部分をコーディングしていた。
今回は、Golangの標準ライブラリに含まれているhttpというモジュール(?)を使って、割と根元に近い部分から書くことができ、理解が深まった。フレームワークを使っているだけだと、例えばコントローラの記述ルールだとか、ディレクトリ構造だとか、あらかじめ用意されているものは丸暗記で、あ、こういうものか、と利用していくばかりであったが、きちんと自分で低レベルな部分から書くと、最終的にはとても手になじむ感覚があった。
このWikiの最大の特徴は、その編集画面。Ghostというブログシステムの編集画面を参考、というかもろパクリした、 Markdownのリアルタイムプレビュー。
また、画像ファイルのドラッグアンドドロップでのアップロードにも対応している。
現在は、Wikiシステムに必要な、会員登録機能が完全にはできていない状況なので、新規登録は禁止しているが、そのうち対応するつもりである。メールアドレスの認証って割と面倒くさいことを初めて知った。
Golangはこの手軽さでコンパイルできるんだから、全くすごいよなぁと常々思う。しばらくは、Golangの学習と、このWikiの完成度を上げる作業に取り組みたい。