株式会社ウェリコで、お客さんのスマートフォンでメニューの閲覧・注文・決済ができるスマートレストランを作ったときに、gqlgenとRelay Modernを使ってGraphQLを採用した話Read less
![スマートレストランでGraphQL を採用した話](https://cdn-ak-scissors.b.st-hatena.com/image/square/9a769588be8dca25f3b536dbd5e8ea57400553a7/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Flt-190705050837-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
株式会社ウェリコで、お客さんのスマートフォンでメニューの閲覧・注文・決済ができるスマートレストランを作ったときに、gqlgenとRelay Modernを使ってGraphQLを採用した話Read less
Google Cloud Platformのマネージドサービスを使ってGraphQL APIを開発してみました。GraphQLについては初心者でしたので、実装しながらGraphQLについて学んだことを記録します。 利用した技術 App Engine SE Go 1.11 Go 1.11が11月にβリリース 2nd genと呼ばれる次世代ランタイム Cloud Datastore スケーラビリティの高いNoSQLデータベース Stackdriver Stackdriver Trace for Goを使いたかったため使用 個人で使う分には無料でいけます。動作も速い!! GAEの2nd genではプラットフォームのことはあまり意識することなく普通にサーバーを実装すればよいです。 にもかかわらず、必要な時、必要な分だけ高速に起動するので最高です。 主なライブラリ 使用した主なライブラリは以下のとお
今回の記事について Circle CI2.0用の設定の基礎的な部分のメモ。 今回の記事は、単純な設定をCircle CI 2.0 で行うことを目的としているため、基礎的な設定のみを行い、Workflow等の設定は行わない。 ※ Workflowの記事は別で書きたいと思っている。 また、サンプルとして、GAE/Goの設定を行う。 別にCircle CI1.0のことを知らなくても読めるはず。 Circle CI 1.0とCircle CI 2.0の機能的な違いなどについては、ここでは行わないので、以下を参考にするといいと思われる。 CircleCI 2.0に移行して新機能を活用したらCIの実行時間が半分になった話 - クラウドワークス エンジニアブログ CircleCI 2.0を使うようにするだけで、こんなに速くなるとは夢にも思わなかった! | Tokyo Otaku Mode Blog 基本
稼働中のWebサービスを継続プロファイリングする by Stackdriver Profiler(GAE/SE Go 1.11)GoGAEプロファイラstackdriverStackdriverProfiler ※この記事は LOB のアドベントカレンダー の17日目の記事になります。 こんにちは。 LOBで開発業務を手伝わせてもらっている大久保です。 最近はGCP触ったりRailsを触ったりと、インフラとアプリの境で彷徨ってる精進してるのですが、今後の開発でもGoでWebアプリを開発したりGCPでSRE的なタスクを進めたりといった業務が増えそうなので、Goの学習も兼ねて最近リリースされたStackdriver Profilerについて調査しました。 Stackdriver Profilerとは Stackdriver Profilerの管理画面 Stackdriver Profilerは
Go Advent Calendar 2018 2日目の記事です。1日目はtenntennさんの「実装して理解するスライス #golang」でした。 せっかくなので実益に繋がる話を書くべきだと思っておりまして、今回はGoConでGAE/Go 2nd genに対して注目が集まっていたのもあり、「GAE/Goでの運用コスト最適化」について書こうと思います。 (とはいえ、この分野だとGCPUG界隈のsinmetalさんやvvakameさん、apstndbさんあたりが圧倒的に詳しく、僕が書くことに関してはやや恐縮するのですが) どれくらいコストを減らしたかサービスを運営する中で、クライアントからAPIが叩かれるだけでなく、クローラー等による大量のアクセスがある場合、いくら小規模でもかなり費用が可算できます。そしてそれは安いと評判であるGAEでも例外ではありません。 お財布が困窮していたわけではない
Note: Go 1.11 has reached end of support on January 30, 2024. Your existing Go 1.11 applications will continue to run and receive traffic. However, App Engine might block re-deployment of applications that use runtimes after their end of support date. We recommend that you migrate to the latest supported version of Go.
golang tokyo #5 の LT資料です。 golangtokyo.connpass.com Datastore/Go のデータ設計と struct の振る舞いについて from pospome 以下のような感想をいただいたり・・・ 参考になる #golangtokyo— コキチーズ🔥フレンズ (@k2wanko) 2017年4月27日 AppEngine for Go ならではのやり方でおもしろいね #golangtokyo— 真 (@sinmetal) 2017年4月27日 Scopeに併せてstruct切るのは確かに良さそうかもしんない #golangtokyo— わかめ@TypeScript味 (@vvakame) 2017年4月27日 #golangtokyo DBの要素のチョイスがわかりやすくていい。— 邑 (@nhiro78) 2017年4月27日 こういう対戦ロジ
GAE/Go SEで運用しているPJで、aetest.NewInstanceをキャッシュした結果50本くらいあるテスト実行時間が全体で5倍速くらいになったので共有します。 背景と概要 GoのWebサーバを立ち上げる時GAE/Goを選択する人は多いのではないでしょうか。 ただエンドポイントのテストを書こうとaetestを利用し始めると途端に問題が発生します。aetestを利用してテストを書くと、裏でPythonサーバを立ち上げるため1リクエストのテスト実行に2-3秒掛かり極めて遅いのです。 そこでaetest.NewInstanceのキャッシュ化に取り組み実行時間を改善することにしました。 singletonパターンでキャッシュを実装 Singleton Pattern in Go を読みながら実装してみました var instance *singleton var once sync.On
完全にアドベントカレンダーの存在を忘れて遅れてしまいました。 関係者各位様本当に申し訳ございません。。。。 ということで。 今年のAdvent CalenderはGAE/Goネタが多いですね、とても素敵です。 願わくば早くβの文字が外れてほしい限りです。 今回はGAE/GoのDatastore周りを楽にするgoonの紹介をしたいと思います。 ちょこちょこ昔書いたQiitaにも登場させているのですがあまーつ使っている人を見たことがないので... GAE/Goの標準Datastoreパッケージとちょっとした不満 GAE/GoのDatastore周りは、appengine SDKのdatastoreパッケージが結構素敵で、 structを定義すればかなり簡単にDatastoreを扱うことができます。 //GAE/Goのdatastore周り //https://cloud.google.com/
はじめに メルペイ エキスパートチームの@tenntennです。 この記事は技術書典4で頒布した"こうして僕らは、書籍を売るアプリを作った 2.0.1"の一部を少し改定したものです。 Google App Engine for Go (GAE/Go)で開発する上で付き合っていかないといけない問題として、GAEのSDKのバージョンやそこで使用されるGo自体のバージョンアップが挙げられます。 GAE/Goはクラウドサービスであるため、SDKや言語のバージョンアップは必ず追従して行く必要のある問題です。 バージョンアップしなくても、一定期間はそのまま使えることが多いでしょう。 しかし、場合によっては非推奨になり、その後使えなくなる可能性もあり得ます。 そのため、特に大きな問題がない場合は積極的にバージョンアップをしていくとよいでしょう。 Goのバージョンを上げることによって、次のような恩恵を受け
ソウゾウ社の社内勉強会Go Friday 第60回用の資料です。 本来Go Fridayでは資料作ったりとかの事前準備はせんでええわいということになってるんですが素手で「ええやんこれ〜〜」という感想を引き出せる気がしなかったので作りました。 go.mercari.io/datastoreの話です。 今日話すこと なぜ最強なのか。いかにして最強なのか。これからの最強。 ほしい理由 解決方法 実装方法(めんどいのでGo Friday中で口頭で説明) 設計上の判断と移行の注意点 これから実装する機能 Datastoreって何? Googleのやつ。 appengineユーザなら誰しもお世話になってるはず。 ラッパがほしい理由 つらいこととかめんどくさいこととかが色々ありそれを解消したい。 →よろしい!ならば自分でラッパーを作るしかない! つらポイント1 type PropertyLoadSave
GAE/Go+glide的な構成での環境構築とローカルサーバの起動までの手順備忘録 プロジェクト構成 この解説では、最終的に以下のようなディレクトリ構成になる。 $GOPATH ├── app │ ├── app.yaml <= app.yamlはsrcディレクトリの外に配置 │ └── main.go └── src ├── glide.yaml <= glide.yamlはsrc直下 ├── glide.lock ├── {package} <= 基本的なソースコードはsrc以下のパッケージに └── vendor <= アプリで利用する外部パッケージ GAE/Goの仕様でapp.yamlが配置されているディレクトリ以下のコードが全てビルドされてしまう。 この仕様のため、vendoringを使用して外部ライブラリを利用しようとすると、ほぼ間違いなくビルドでこけてしまうのでapp
[GAE/Go] Gin で 作成した Web アプリを Google App Engine 上で動作させる (環境構築編:direnv + glide)GoGAEGoogleAppEnginegin Go 製 Web フレームワーク Gin を使って簡単な Web アプリケーションを作成する過程で、色々と問題点が出てきてちょっとハマりました。 ググったところ、通常の Go と GAE/Go の開発環境が混在するとビルドやデプロイ時に不都合が生じることが分かりましたので、今回「direnv + glide」を使って GAE/Go 専用の開発環境を構築し直しました。以下、自分用手順メモになります。 なお、GAE/Go 専用の開発環境の必要性については、下記記事にてとてもわかりやすく説明されておりますので、そちらをご覧いただければと思います。 Google App EngineでGoを動かすと
僕の Datastore の記事は Cloud Datastore/AppEngine Datastore 時代のものなので、現在の Firestore の Datastore mode だと一部の内容が正しくないと思うので注意してください。(´・ω・`)— pospome (@pospome) March 24, 2021 Datastoreを使っていて、 ある程度コツとか注意点みたいなものが分かってきたので、 まとめてみました。 継続的に追記していく予定です。 間違っているところがあれば コメント or twitter で教えてください。 Datastoreの entity, kind などの用語は理解している前提です。 ParentKeyに気をつける Go では Filter による OR, IN 検索ができない 文字列に対する LIKE 検索がない 結局どんなクエリが発行できるのか
This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く