2017-01-15 3 views
0

を解析/これまでのすべての良いサービス提供のためのベストプラクティスが何であるか、私が見つかりました。私はシングルを作成することができないことバイナリで、go-bindataのようなパッケージを使用してすべての静的ファイルを含む単一のファイルを展開します。埋め込みデータやなど、私は変数を置き換える、テンプレートを解析し、動的なHTMLコンテンツを提供するため<a href="https://golang.org/" rel="nofollow noreferrer">go</a>を使用し始めています動的コンテンツ

パフォーマンスに関しては、ベストプラクティスは何ですか?

私が正しいとすれば、すべての静的コンテンツが埋め込まれた1つのバイナリを持つと、サイズが大きくなります。

起動時にテンプレートを解析する必要がある/依存するバイナリを持つと、サイズが小さくなる可能性がありますが、すべての静的コンテンツとともに出荷する必要があります。

スペースが唯一の違いである場合は、バイナリを1つにすると、より快適な方法があるように見えますが、トピックの専門家ではありません。パフォーマンス。

答えて

0

私は、あなたは、彼らが唯一の起動時に解析され、グローバルスコープで

var templates = template.Must(template.ParseGlob("templates/*.html")) 

のようなものを追加します。

あなたには、いくつかのサーバー上にアプリをアップロードして実行すると、あなたは最後のアップロード以降に変更されていないアップロードファイルを避けるためにrsyncを使用することができますので、その後、おそらく別のファイルを持つことがより便利です。

ダウンロードする実行ファイルを1つだけ配布する場合は、すべてを1つのファイルにまとめると処理が簡単になります。

関連する問題