Golang
はじめに どんな記事? どんな人に読んでほしい 実際にやったこと 1. A Tour of Go 2. 実践 個人的おさえておくべきポイント 変数定義の省略記法「:=」 「型 変数名」ではなく「変数名 型」の順番 構造体 関数とメソッドの違い パッケージ(pkg) どこから読め…
はじめに Dockerfileを用いてBuild Dockerfileを使用せずにコードでBuild Dockerfileを用いないMulti-Stage Build さいごに ACS事業部のご紹介 はじめに こんにちはACS事業部の谷合です。 みなさんDaggerなるツールをご存じでしょうか? Daggerとは、数か月前…
はじめに こんにちは、コンテナソリューショングループの髙井です。 Azureの更新フィードを見ていたらApp ServiceでGolangのネイティブ対応がPublic previewになっていました。 azure.microsoft.com せっかくなのでちょっと試してみます。 Golangをインスト…
はじめに 先進サービス開発事業部の山岡です。 重み付き乱択アルゴリズムとは結果に偏りのある抽選の事で、身近な例でいえばソシャゲのガチャでしょうか。ガチャはアイテムの抽選結果に偏りがあり、一般にそのアイテムの有用性が高いほど入手確率が低く設定…
今回はちょっと趣向を変えて、テーマはDockerです! kubernetesのソースコードからは少々離れてしまいますが、 コンテナランタイムもkubernetesの重要なコンポーネントの1つなので知っておいて損はないはず…! アジェンダは以下になります。 コンテナ仮想化…
はじめに 先進サービス開発事業部の山岡です。 小ネタですがgrpcweb *1 の検証をしている時にCORSエラーでハマったので対処法をメモしておきます。 *1:https://github.com/improbable-eng/grpc-web/tree/master/go/grpcweb
はじめに 先進サービス開発事業部の山岡です。 仕事で使う機会がありそうなのでgRPC *1 に入門しました。まずは定番のHello, Worldからやってみたのでその内容を共有したいと思います。 *1:https://grpc.io/
はじめに 先進サービス開発事業部の山岡です。 Go言語は標準でかなり強力なネットワーク用のライブラリーがありますが、GoPacket *1 を使うと更に細かいところをイジれるようになります。 仕事でパケットをごにょごにょしたところ結構面白かったのでここで紹…
前回、前々回に引き続き、社内kubernetes勉強会が開催されました。 今回のテーマはkube-scheduler! アジェンダはこちらです。 kube-schedulerの概要 kube-schedulerの実装 Predicateの実装 Prioritizeの実装 Scheduler Extender 「要件に合った自分好みのSc…
はじめに 第1回のざっくりまとめ 第2回のまとめ client goでCLIツールを作ろう kube-budilerでCustomController入門 リファレンス実装で学ぶInformer Framework 聞いた感想 はじめに コンテナグループの安藤 @chataro0です。 5月から隔週で有志とコンテナ/Ku…
はじめに 先進サービス開発事業部の山岡です。 Go ModulesはGo1.11から実験的にサポートされ1.13から正式ツール(デフォルトで有効)となる予定である依存関係管理機能です *1 。これは export GO111MODULE=on することで使えるようになり、詳細は省きますが…
はじめに 先進サービス開発事業部の山岡です。 Google App Engine(GAE)は所謂PaaSでサーバーやネットワークの管理を気にせずアプリの開発に集中することができます。 最近これに関するホットな話題として2nd Generationへの移行がありますが、色々と情報が飛…
はじめに 先進サービス開発事業部の山岡です。 GAE/Goは1.6, 1,8, 1.9, 1.11, 1.12(beta)と随時新しいGolangバージョンに対応してきていますが、1.11からはGAEのバックエンドがgVisorベースの2nd Generationとなり大きな変更点が複数ありました。 *1 1.11で…
はじめに 先進サービス開発事業部の山岡です。 今日はいつもと趣向を変え、先日参加させて頂いたmercari.go #6のレポートを書きたいと思います。 ※資料は後日公開されるとのことなので公開されたらそちらへもリンクを貼ります JavaとGo言語を比較した話 @ken…
始めに 先進サービス開発事業部の山岡です。 GAE/Goでは goapp test を使うことでローカル環境に仮のGAEを再現しDatastoreのアクセスや非同期処理の挙動を確認することができますが、テスト終了後にその環境は自動で破棄されてしまいDatastoreがどのような状…
先進サービス開発事業部の山岡です。 Golangには他のプログラミング言語と同様関数があり、これに引数として値を渡すことで見通し良く様々な機能を作ることができます。しかし関数に複数の引数を渡す場合、時折順番間違いが問題となることがあります。 例え…
始めに 先進サービス開発事業部の山岡です。 GAEにはローカルでクラウドの環境をそこそこ再現できるSDKが用意されており、疑似的にDB(Datastore)等が再現され動作確認を行うことができます。実環境へのアップには1,2分はかかり、ちょくちょくアップしながら…
先進サービス開発事業部の山岡です。 GCP DatastoreのバックアップにはImport/Exportというサービスを使いますが、これには結果をレポートする機能が無く運用する上で不便です。今回APIをポーリングしSlackにレポートする仕組みを作りましたのでその知見を共…
先進サービス開発事業部の山岡です。 例えばGAEでバッチ処理を行う際に、商用環境では必ず実行・それ以外の検証環境等では手動起動でのみ実行したいという要件があった時のことを考えてみましょう。 どの環境であるかは appengine.AppID(ctx) でProjectのID…