0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go言語キャッチアップの為に

0
Posted at

はじめに

モダンな環境で開発したい!
という思いはありながらも、個人開発に着手せず遠回りしてました。

とても簡単ではありますが、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
}

上記が実際の修正箇所になります。
とてもシンプルですが、保守性/拡張性を考えると大事な箇所だと思っています。

おわりに

今後はテストソースも書こうと思っているので、また続編ができる予定です。
期間が開くと忘れそうなので早めに更新しようと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?