タグ

2017年12月11日のブックマーク (7件)

  • Goでマイクロサービスやってみる〜gokit〜 - Qiita

    はじめに 最近Goを使っているので、自分の興味分野であったマイクロサービスをGoでどうやって実現できるか調べてみました。といってもそんなに深い内容ではありません。gokitのチュートリアルに毛が生えた程度です。すごい簡単なアプリが出てきますが、かなりいい加減なので先に謝っておきます。真似しないように。 それではつらつらと。 Gokitについて A toolkit for microservices と書いてありましたのでその通りなんだと思います。 他にもマイクロサービス用のライブラリはあるらしいですが、スターの数が8500(2017年12月)と圧倒的ぽかったので、触ってみました。 今回作ってみたサンプルアプリについて すごくシンプルなアプリです。 全ソースコード https://github.com/miya-masa/go-micro-sample UserServiceとProduct

    Goでマイクロサービスやってみる〜gokit〜 - Qiita
  • GoのためのMakefile入門 - Qiita

    Goのエントリを見ているとたまにMakefileが出てくるけど何それ?という方に。 Makefileってなに? Wikipediaに A makefile is a file containing a set of directives used with the make build automation tool. とあるように、主な目的はプログラムのビルドをするための命令群を書いたファイルということになります。CやC++の界隈でよく使われているそうです。 Makefileはそもそもmakeコマンドに渡して実行させるためのものです。makeコマンドの実体は普通GNU makeというソフトウェアだそうで、MacLinuxなら標準で使えます。

    GoのためのMakefile入門 - Qiita
  • GoでHTTPクライアントを書く時のURLの組み立て方 - Qiita

    この記事は、Go2 Advent Calendar 2017 の10日目の記事です。 外部API用のHTTPクライアント/HTTPリクエストを書いていて、URLの組み立て方で気付いた細かいこと。 サンプル yyoshiki41/go-instagram-profile 題の前に instagram には、 https://www.instagram.com/natgeo/?__a=1 のようにユーザーのプロフィール情報が jsonで返ってくるエンドポイントがあります。 # example $ curl "https://www.instagram.com/natgeo/?__a=1" | jq .user.biography "Experience the world through the eyes of National Geographic photographers."

    GoでHTTPクライアントを書く時のURLの組み立て方 - Qiita
    y_yuki
    y_yuki 2017/12/11
  • 設定ファイルとしての main.go — KaoriYa

    「設定ファイルとしての main.go」というポリシーを解説し、 そのポリシーを適用した自作のツールカタログ koron/gtc の事例を紹介します。 この記事は Go Advent Calendar 2017 (その1) 10日めの参加記事です。 なお Go Advent Calendar 2017 はその4まであります。 設定ファイルとしての main.go golang を書かれる皆さんは、 golang でツールを書いた際にその設定ファイルはどうしているでしょうか? オーソドックスに JSON でしょうか? 可読性高く YAML? はたまた TOML でしょうか。 この記事では「設定ファイルとしての main.go」というポリシーを紹介します。 英語で書くと main.go as a configuration ですかね。 なので以下では仮に MaaC と表記します。 このポリシー

  • Go で書かれた API Gateway "KrakenD" - tchsskのブログ

    これは Go3 Advent Calendar 2017 の 10 日目の記事です。 小さな役割を持つサービス群でアプリケーションを構成する、いわゆる Microservices が流行して久しいですね。サービスが細かく分割されるとき、それらを取りまとめるサービスが必要になることがあります。一般に API GatewayAPI Aggregator と呼ばれるものです。 そんな API Gateway のひとつに Go で書かれた KrakenD というものがあります。 KrakenD - Open source API Gateway 今回はこれを試してみます。 仕様 複数のバックエンド API を集約 (aggregate) する動きを見るため、以下のような仕様でサービスを構築してみます。 バックエンドに GitHub と Qiita の Web API を使用する Kraken

    Go で書かれた API Gateway "KrakenD" - tchsskのブログ
  • ドメインモデルの根拠とドメインモデル貧血症の対策について - Chatwork Creator's Note

    ChatWork Advent Calendar 2017の10日目の記事です。 こんにちは。かとじゅん([Twitter:@j5ik2o]) です。 何を書こうかと悩んだのですが、社内で意見を聞いたところ、やはりDDD関連がよいとなりました。 Scalaコードでわかった気になるDDD この記事も、もう四年前ですっかり古くなりました。最近どういう観点で実践しているかまとめてみます。(DDD初級者という方は、まず上の記事を読むことをお勧めします) DDDを実践するにあたっての個人的な問題点は2つあります。ひとつは、「いきなりドメインモデルを作ることができない」という問題。もうひとつは、ドメインモデルを作り上げても実装コードに役に立つ振る舞いが思いつかず、いわゆる「ドメインモデル貧血症*1」になりやすいという問題です。このような問題は、僕がコミュニティで関わった多くのエンジニアから耳にします。

    ドメインモデルの根拠とドメインモデル貧血症の対策について - Chatwork Creator's Note
  • Dockerで最小のGoのイメージを作成する(cgo編) - Qiita

    「最小のNode.jsのDockerイメージを目指すスレ」、「JavaでもDockerでマルチステージビルド」というエントリーでは、Node.jsとJavaを使ったアプリケーションのイメージをなるべく小さくするトライアルをしました。 今度はGoでやってみます。ただし、Pure Goで最小というのはすでに方法があって、scratchという何も含まれないイメージを元に、静的リンクしたバイナリを配置するという方法です。 Building Minimal Docker Containers for Go Applications Goを使う場合に、一部cgoで使われたパッケージを利用したいこともあるでしょうし、雑にコマンドラインを利用することもあるだろう、ということで、今回も、できることを減らさずに(やりたいことにしたがって細かく作戦を微調整する必要がない)、なるべく小さく、という方針でいきたいと

    Dockerで最小のGoのイメージを作成する(cgo編) - Qiita