はじめに メリークリスマス!! みなさんは Go のアプリケーション開発をどのような環境で行っていますか? 弊社ではゲームのアプリケーションサーバに Go を採用しており、開発は macOS で Docker for Mac を利用しています。開発当初はこの構成による不満は特に感じていませんでしたが、1年半ほど経ってプロジェクトの規模が大きくなったことで、無視できないレベルで開発スピードを低下させる要因となってしまいました。 弊社ではアプリケーション開発にソースコードの自動生成を多用しており、その影響もあってかコードベースの Go のコードは 150万行を超える規模になっています。 加えて、ビルドする際は cgo 経由で利用している C++ のコードもそれなりの量絡んでくることもあり、 Docker for Mac を使った Docker コンテナ上でのビルドに要する時間は、 メモリ8GB
![macOSでDockerを使ったGoのアプリケーション開発を爆速にするホットリローダを作った - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/d6ae10b400900fe3389c886273880790ddfccadf/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9bWFjT1MlRTMlODElQTdEb2NrZXIlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElOUZHbyVFMyU4MSVBRSVFMyU4MiVBMiVFMyU4MyU5NyVFMyU4MyVBQSVFMyU4MiVCMSVFMyU4MyVCQyVFMyU4MiVCNyVFMyU4MyVBNyVFMyU4MyVCMyVFOSU5NiU4QiVFNyU5OSVCQSVFMyU4MiU5MiVFNyU4OCU4NiVFOSU4MCU5RiVFMyU4MSVBQiVFMyU4MSU5OSVFMyU4MiU4QiVFMyU4MyU5QiVFMyU4MyU4MyVFMyU4MyU4OCVFMyU4MyVBQSVFMyU4MyVBRCVFMyU4MyVCQyVFMyU4MyU4MCVFMyU4MiU5MiVFNCVCRCU5QyVFMyU4MSVBMyVFMyU4MSU5RiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MTBmYjJhNDc2NzdiM2E0NDUzMDA5NDY4Nzg0YmQwNjY%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBnb2NjeSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YjVhMDg2YjE0ZTllYjM0MjY4ZDkwNzRlYTY3YjRiY2U%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D504a6071013344f330c3454b1e1d5425)