{
    "componentChunkName": "component---src-templates-blog-post-jsx",
    "path": "/post/dockerize-friends-lang/",
    "result": {"data":{"site":{"siteMetadata":{"title":"WEB EGG","author":"Leko - CTO at Yuimedi"}},"markdownRemark":{"id":"ea7e0de9-f301-5749-8936-a963ee83ba17","excerpt":"すごーい！ きみはプログラミング言語を実装できるフレンズなんだね – Qiita こちらの記事と勢いに感銘を受け、フレンズ言語を動かそうとしてみたのですが、 リポジトリを覗いてみるとF#。Releaseで配布されているのはexe。 Windowsだ！ たーのしー！ ということでDockerize…","html":"<blockquote>\n<p><a href=\"http://qiita.com/vain0/items/6d3b75f667d3ec7f1d2a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">すごーい！ きみはプログラミング言語を実装できるフレンズなんだね – Qiita</a></p>\n</blockquote>\n<p>こちらの記事と勢いに感銘を受け、フレンズ言語を動かそうとしてみたのですが、<br>\nリポジトリを覗いてみるとF#。Releaseで配布されているのはexe。<br>\n<strong>Windowsだ！ たーのしー！</strong></p>\n<p>ということでDockerizeしてフレンズ言語をLinuxでもMacでも手軽に動かせるようにしてみました。わーい！</p>\n<!--more-->\n<h2 id=\"結論\" style=\"position:relative;\"><a href=\"#%E7%B5%90%E8%AB%96\" aria-label=\"結論 permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>結論</h2>\n<p><a href=\"https://github.com/vain0/VainZero.Friends/pull/1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PR出してみました</a>。<br>\n2017/03/04 追記：マージされました。</p>\n<p>すごーい！ 最終的なDockerfileはリポジトリをみてね！</p>\n<h2 id=\"大まかな処理の流れ\" style=\"position:relative;\"><a href=\"#%E5%A4%A7%E3%81%BE%E3%81%8B%E3%81%AA%E5%87%A6%E7%90%86%E3%81%AE%E6%B5%81%E3%82%8C\" aria-label=\"大まかな処理の流れ permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>大まかな処理の流れ</h2>\n<p>F#のプロジェクトのインストールは初めてだったので右も左もわからぬ状態から手探りしてました。<br>\n何から何まで初めて触るツールばかりで新鮮でした。</p>\n<ul>\n<li><a href=\"https://ja.wikipedia.org/wiki/Mono_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mono</a>というツールでLinux上からも.exeが実行可能</li>\n<li><a href=\"https://fsprojects.github.io/Paket/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Paket</a>というツールで依存関係の解決をしている\n<ul>\n<li>Paketはインストーラからインストールするのではなく<code>.paket/paket.bootstrapper.exe</code>を実行して入手する</li>\n</ul>\n</li>\n<li><a href=\"http://www.mono-project.com/docs/tools+libraries/tools/xbuild/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">xbuild</a>というツールでプロジェクトをビルドする\n<ul>\n<li><a href=\"https://github.com/tagomoris/xbuild\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">tagomoris/xbuild</a>とは別物なので注意</li>\n</ul>\n</li>\n</ul>\n<p>で、動作結果はこのような感じに。</p>\n<p><img src=\"/fc2e240396468bd662ddae9b9fa08639/l3rEWRHgyB.gif\" alt=\"l3rEWRHgyB\"></p>\n<p>すごーい！ Macでも簡単に実行できるんだね！</p>\n<h2 id=\"dockerizeたーのしー\" style=\"position:relative;\"><a href=\"#dockerize%E3%81%9F%E3%83%BC%E3%81%AE%E3%81%97%E3%83%BC\" aria-label=\"dockerizeたーのしー permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Dockerizeたーのしー！</h2>\n<p>コンテナの技術的な面白みもあるんですが、<br>\n「一度苦労してしまえば、同じ手間に苦しむ人は居なくなる」 というプロビジョニング系ツールの思想あるあるとしても魅力を感じています。</p>\n<p>わー！ IQが溶けて無くなりそうなのでこれくらいで終わります。</p>","timeToRead":2,"frontmatter":{"title":"すごーい！きみはフレンズ言語をDockerizeできるフレンズなんだね！","tags":["Docker","F#","Github","Mac"],"date":"March 06, 2017","featuredImage":{"childImageSharp":null}}}},"pageContext":{"slug":"/dockerize-friends-lang/","previous":{"fields":{"slug":"/how-to-clone-private-repository-in-docker-build/"},"frontmatter":{"title":"Dockerのビルド時にGithubのプライベートリポジトリをcloneする","tags":["Docker","Git","npm"]}},"next":{"fields":{"slug":"/dredd-supports-swagger/"},"frontmatter":{"title":"HTTP APIのテストツールDreddがSwaggerに対応していたので試してみた","tags":["API","AWS API Gateway","Dredd","OpenAPI","Swagger"]}}}},
    "staticQueryHashes": ["2585454260","2954598359"]}