by @nyarla

AppEngine/Go で dep を使って vendoring する時の構成

について、雑にメモ。

結論から先に書く

と、おおよそ、今の構造はこんな感じになっている:

{appname}/    → アプリケーションの root directory
dist/         → deploy する際の directroy
assets/       → 静的 assets
gopath/       → env GOPATH=/path/to/gopath する為の directory
  src         → ../../vendor への symlink
  app.yaml    → appengine の app.yaml
  main.go     → AppEngine/Go の main.go
src/
  {sources}   → AppEngine/Go で使う実装の中身
vendor/
  {appname}   → ../src への symlink
  {deps}      → github 等から dep で取ってきたファイル類

それで実際に開発している最中では、


とりあえず、僕は今、こういうディレクトリ構造で開発しているけど、これで困った事が今のところ無いので、 割と良い感じの構造になっているのでは? と個人的に思っています。

ただ、Application の source code の割り振り方については、とりあえず DDD(ドメイン駆動開発)とか、 そういう感じのヤツを参照した方が良いかもしれないじゃね? と思ってはいますが、僕がその辺り詳しくないので、

なんとなく、こういう感じで良いんじゃね?

的な構造でやっています。まぁ今現在の開発の進み具合から言って、MVC の内の View と Controller を事始めしたぐらいで、 Model のところまで辿り付いてないっつーのも有るのですけれどもね、この辺りについては。

あとはまぁ、僕は今回、 GopherJS で React + Redux っぽい何かを自前で実装していたりもしており、 かつ HTML は Golang 側の DSL でなんとかする、という方針を取っているため、 HTML とか JavaSscript とかを、 まったくもって直接は書いてない、と言う感じになっています。ただ、 CSS については、その SCSS で書いていたりもしますが。


まぁ、最近の 開発 している感じだと、そういう感じだよって話でした。はい。