You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
こんにちは、まちいろの工藤です。 まちいろでは開発フレームワークに Rails を採用していますが、最近の新規案件では Go 言語を採用してみています。この記事では、Go で開発を始めるにあたって行ったライブラリ選定の中身を紹介したいと思います。 選定にあたっては、awesome-go や Qiita などの記事を参考にしました。 ModulesGo 1.11 から Go modules が導入されたとのことで、素直に Go modules を利用することにしました。特にハマることもなく利用ができています。 Web Application FrameworkgRPC + grpc-gateway or grpc-web ・https://github.com/grpc/grpc-go ・🙆proto でスキーマ駆動開発が可能 ・🙅♂️REST API を提供する場合は grpc-ga
はじめに 最近Goを使っているので、自分の興味分野であったマイクロサービスをGoでどうやって実現できるか調べてみました。といってもそんなに深い内容ではありません。gokitのチュートリアルに毛が生えた程度です。すごい簡単なアプリが出てきますが、かなりいい加減なので先に謝っておきます。真似しないように。 それではつらつらと。 Gokitについて A toolkit for microservices と書いてありましたのでその通りなんだと思います。 他にもマイクロサービス用のライブラリはあるらしいですが、スターの数が8500(2017年12月)と圧倒的ぽかったので、触ってみました。 今回作ってみたサンプルアプリについて すごくシンプルなアプリです。 全ソースコード https://github.com/miya-masa/go-micro-sample UserServiceとProduct
どうも、Gunosyの新規事業開発室エンジニア、高橋(@__timakin__)です。 先日行われたgolang.tokyo#9にて、GoのAPIサーバーの設計についてトークをする機会を頂いたので、いってきました。 スライドはこちらです。全編英語となっておりますが、ご覧頂けると幸いです。 speakerdeck.com 概要 アジェンダの前の序文にも書いてあるのですが、GoのAPIが大企業で試験的に導入するというフェーズを超え、スタートアップなどでも「Goって最近トレンドだよね」という声が聞こえ、小規模のチームでも積極的に登用されるようになってきたように感じます。 あくまで個人の観測範囲での話なのでバイアスがあるとは思いますが、「試してみた」というトークが界隈でも最近少なくなったように思います。 そんな中、参考例となるGoのAPIのOSSは非常に少ないため、新規に始めるハードルは、学習コス
Go 1.9 Release Party in Tokyo での発表資料です by @__timakin__
When consuming a REST API it's a good practice to write an API Client (API Wrapper) for yourself or your own REST API, so other users could more easily access it. Fortunately, Go provides everything we need out of the box. The net/http library combined with other Go base libraries is all we need to write our own API Clients. The Basics Let's start with the basics. The package should be the named a
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
サーバサイドエンジニアの @b4b4r07 です。この記事は Go Advent Calendar 2016 の 19 日目です。今回は Go (Revel フレームワーク) で書かれていた API サーバをフルスクラッチで書き直したお話をします。 Revel とは A high productivity, full-stack web framework for the Go language 公式の説明にあるように、Revel は高機能でフルスタックな Web フレームワークです。 複雑なルーティングや、パラメータのパーシング、テンプレート機能など、Web アプリケーションを作ろうとなったときに必要な手段はたいてい兼ね揃えているようです。公式ドキュメントに詳しく書かれています。 Revel 以外にも Go 製の Web フレームワークは多数あり、有名どころだと以下のようなものが挙げられ
特定のAPIを利用するコマンドラインツールやサービスを書く場合はClientパッケージ(SDKと呼ばれることも多いが本記事ではClientと呼ぶ)を使うことが多いと思う.広く使われているサービスのAPIであれば大抵はオフィシャルにClientパッケージが提供されている.例えば以下のようなものが挙げられる. https://github.com/aws/aws-sdk-go https://github.com/Azure/azure-sdk-for-go https://github.com/PagerDuty/go-pagerduty https://github.com/hashicorp/atlas-go 特別使いにくい場合を除けば再実装は避けオフィシャルに提供されているものを使ってしまえばよいと思う(まともなものなら互換性などをちゃんと考慮してくれるはずなので).一方で小さなサービ
タイトル長い。 LambdaでGoが正式サポートされるのを首を長くして待ちつつ、Apex で Go を実行しています。 先日、API Gatewayで受けたすべてのリクエストをLambdaに丸投げすることができるようになりました。 Amazon API Gateway に API 設定を簡素化する 3 つの新機能を追加 Amazon API Gatewayが非常に便利なHTTPプロキシとして進化したらしいので使ってみた - Qiita これまではAPI Gatewayでいちいちマッピング定義を作るのが面倒で、いまいち普通のWebAPI的なものをLambdaで作る気がしなかったわけですが、これで行けるのでは…? と思って、catch all されたリクエストとレスポンスを net/http.Request と net/http.ResponseWriter で扱えるようにする ridge と
担当するプロジェクトでGoでAPIを実装予定で、 利用するフレームワークの検証した際のメモです。 以下候補ですが、APIなのでシンプルで高速なもの&開発も活発なEchoを試してみました。 フレームワーク 最終コミット日 Latest release スター その他メモ Martini 2016/2/15 2014/5/20 8,248 ・モジュール形式のウェブアプリケーション/サービスを作成するパッケージ ・パフォーマンスはあまり良くない ・今後の開発が怪しい? Revel 2015/9/12 2015/03/25 6,457 ・RailsやPlayのようなfull stack web framework Gin 2016/1/30 2015/5/23 5,842 ・Martiniライクでパフォーマンスが良い ・今後の開発が怪しい? Negroni 2015/3/20 2014/3/31
Simple, flexible and testable architecture Light-weight server component Easy to replace components with your own library of choice (router, database driver, etc) Guaranteed thread-safety for each request: uses gorilla/context for per-request context Uses dependency-inversion principle (DI) to reduce complexity and manage package dependencies. Not a framework More like a project to quickly kick-st
Go その2 Advent Calendar 2015 2日目です。 今日書くこと APIを提供するためのコード APIを利用するためのコード マイクロサービス (・∀・)ィィイイ!! かもしれない やれなかった / この記事には書いていないこと 以下サンプルで利用するコードは こちら。 お手元で起動する1 ための手順は READMEをご覧ください。 APIを提供するためのコード Go言語には APIのためのよさげなフレームワークはありますが、 今回はそれらを使わずともかんたんに APIサーバが作れることをお伝えしたく。 ベースとなっている元ネタは A RESTful Micro-Framework in Go これなのですが ここから、やりたいことができるように変えていった結果をサンプルに、 どうすれば APIサーバが書けるのかを記します。 まず、APIのエンドポイントが実装すべきインタ
こんにちは!白ヤギの開発者、森本です。 白ヤギではいま API サーバーを Go 言語で開発しています。 皆さんも Go の話題をよく見聞きするようになっていると思います。今回は白ヤギの業務でどんな風に Go を使って開発しているかの一端を紹介します。 余談ですが、先日、大学の先生とお話ししたときにこんな話を伺いました。その先生は学生にプログラミングを教えているそうですが、何割かの学生は及第点に届かないそうです。しかし、そういった学生がプログラミングの素養がないかというとそういう訳ではなく、プログラミングを学ぶ上でその学生にとって何が理解を促すのかが違うだけなのだと仰っていました。教える側として全ての学生が習得できるプログラミング教育というのを見つけられていないのが悔しいといった話をされていました。 何かを学ぶというのを一般論では語るのは難しいということかもしれません。そのため、私はこうい
Golangで開発する上でライブラリの依存関係解決どうするとか、Object Relational Mapping(ORM)どうするとか、hot deployしながら開発するのどうするとかあると思うんですがその辺りを軽く書きながらAPI作っていきたいと思います。 Docker使って開発するあたりの解説は以前のブログを参照されたい。 takasing104.hateblo.jp できること Golangで依存ライブラリの管理(と現場言っていいものかは微妙) ORMを使ったDBアクセス Mac上でソースコードを変更した際、Dockerコンテナに修正が反映されてフレームワークがリロードされる Webフレームワークを利用したAPI開発 ツールと環境 Mac OSX 10.9.5 Mavericks Vagrant 1.7.2 Fresh (c4a501e4002c78dfd6bd519001a58
grpc-gateway という gRPC からJSON APIへの変換プロキシ生成機を書いた。 これを使えばシステム内部ののmicroservicesはgRPCで通信しつつ公開APIはJSON APIで提供する、みたいなことが簡単になる。 なお、gRPCそのものについては mattnさんの記事 が参考になる。 背景 gRPCの良い点はいくつもある。 データはデフォルトでprotocol buffersで直列化される。ベストではないにせよ十分にコンパクト且つ高速だし、サイズで言えばJSONとは比べるべくもない。 簡単に複数の言語でサーバーのテンプレートやクライアントを生成できる。通信の詳細はgRPCにまかせて開発者はサーバーロジックの実装に注力できる。 design by Googleという安心感。 gRPCの素晴らしさは認めるものの、一方では欠点もある。まず、クライアントライブラリの多く
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く