はじめに
モダンな環境で開発したい!
という思いはありながらも、個人開発に着手せず遠回りしてました。
とても簡単ではありますが、Go言語が動かせる環境をDocker内に作成しチュートリアルをやってみました。
実際のコードはこちら
追加点やこだわり
チュートリアルの内容を忠実に再現しながら、デザインを追加したり工夫した点を紹介します。
- tailwindを使って少し暗めなデザインにしてみました
- テキスト保存するファイルがルートディレクトリに量産される設計だったので、ページが増えてもルートディレクトリが汚れないようdataフォルダを作成し、その配下に作成するよう修正しました
main.go
func (p *Page) save() error {
filename := "data/" + p.Title + ".txt" // dataフォルダの中に入れる
return os.WriteFile(filename, p.Body, 0600)
}
func loadPage(title string) (*Page, error) {
filename := "data/" + title + ".txt" // 読み込み先も合わせる
body, err := os.ReadFile(filename)
if err != nil {
return nil, err
}
return &Page{Title: title, Body: body}, nil
}
上記が実際の修正箇所になります。
とてもシンプルですが、保守性/拡張性を考えると大事な箇所だと思っています。
おわりに
今後はテストソースも書こうと思っているので、また続編ができる予定です。
期間が開くと忘れそうなので早めに更新しようと思います。