タグ

qiitaとgolangに関するlax34のブックマーク (8)

  • GolangでCognito認証をしてトークンをjwt形式にする - Qiita

    できること 認証はuserPool、認可はIdentitiyPoolで行われ、それぞれ別のリソース 認証 Cognitoで管理されているユーザー情報で認証ができる 外部プロバイダー(Azure、Google、Facebook)と連携が可能 ユーザー認証が成功すると、トークンが発行され、アプリケーション側でトークンの検証を行うことで認証機能をつくることができる UserPoolで行われる 認可 一時的な権限を与える チケットを渡すイメージ Cognitoではグループや属性ごとにIAMRoleを割り振ったりすることができる IndentityPoolで行われる Cognito設定 ALLOW_ADMIN_USER_PASSWORD_AUTHにチェックが必要 AppClient作成時に、ClientSecretを使うのチェックを外す サンプルコード package main import ( "

    GolangでCognito認証をしてトークンをjwt形式にする - Qiita
  • [golang] オーケストレーションベースのサーガパターンに優しく入門する - Qiita

    この記事は Voicy Advent Calendar 2020 の 18 日目の記事です。 先日は, @tamo_hory さんの AndroidアプリにVisual Regression Test導入を目指す 第一回 Instrumented testで自動でスクショを撮る でした。明日は, @miyukiaizawa さんの ~ です。 はじめに マイクロサービスパターンの db は, サービス毎のモジュール性を担保するため, database per service というパターンを当てはめ 「1サービスあたり1db」 となっています。 そのため従来の単一 db に対する 2PC (begin...commit) だけだとデータの整合性の面で問題が残ります。 その時, 結果整合性を保つのに有効となるパターンが Saga と呼ばれるパターンです。 今回はそんな Saga パターンに優

    [golang] オーケストレーションベースのサーガパターンに優しく入門する - Qiita
  • Go言語+gRPCの解説 [ハンズオン] - Qiita

    はじめに この記事は、海外サイトhttps://tutorialedge.net/golang/go-grpc-beginners-tutorial/ の内容をベースに一部修正を加えたものです。この記事を読み進めることでGoでシンプルなgRPCクライアントとサーバーを構築することができるようになります。 ※gRPC公式より抜粋(また、以下の説明でも一部参考にしています。) gRPCとは? gRPCGoogleによって開発されたRPCフレームワークです。 RPCはRemote Procedure Callの略で、逐語的に訳すと「遠隔手続呼び出し」となります。これはすなわち、「あるプログラムがネットワーク上の異なる場所に配置されたプログラムを呼び出して実行すること」と読み取れます。 公式による定義 サービス定義 多くのRPCシステムと同様に、gRPCはサービスを定義するという考えに基づいてお

    Go言語+gRPCの解説 [ハンズオン] - Qiita
  • インタフェースを埋込む #golang - Qiita

    当はGoGo日に書きたかったけど、ビール飲んで寝てしまったの今日(Go月6日)になりました。 Goのインタフェースは、明示的に実装する必要がなく、インタフェースが定義するメソッドリストをその型が持っていれば、そのインタフェースとして振る舞えます。 構造体に埋め込んだ型が持つメソッドについても、埋込み先の構造体のメソッドの一部としてみなすことができるため、インタフェースの実装の頭数に入れることができます。 インタフェースの実装と埋込みの関係についてはインタフェースの実装パターンという記事に詳しく書いているのでそちらを参考にしてください。 さて、埋込みによって構造体にインタフェース実装させるパターンは思ったよりも使えます。なぜなら、埋込みは単なる匿名フィールドに対して、インタフェースは実装を隠し、型を抽象化ができるからです。このパターンは、共通部分を抜き出して、それを複数の型で使う場合に非

    インタフェースを埋込む #golang - Qiita
  • Dockerfileの書き方 ~Multi Stage Build~ - Qiita

    Dockerfileとは Dockerイメージの中身を定義する設定ファイルになります. Vagrantを利用した方がある方は,Vagrantfileを思い出して頂くとイメージしやすいかも知れません. 題材 https://github.com/tozastation/gRPC-Training-Golang を使って説明していきます.APIサーバのイメージ作りです. Dockerfileに記載する流れ ベースとなるイメージの指定 プログラムを動作するのに必要なパッケージの導入 ポート開放 プログラム起動コマンド Dockerfile(Multi Stage Build) 以下Dockerfileの例になります. FROMが2箇所あると思います. イメージを2個取得していることになりますが,これには理由があります. golang:latestというイメージの中にはGoの実行環境が入ってる訳だ

    Dockerfileの書き方 ~Multi Stage Build~ - Qiita
  • go-playground/validator リクエストパラメータ向けValidationパターンまとめ - Qiita

    概要 go-playground/validatorを用いたバリーデーションパターンをREST APIのリクエストパラメータでよく使われそうなケース別にまとめてみたのでご参考ください。 validatorはプリミティブな変数単位でも使用できますがここではリクエストパラメータを想定した構造体をメインに書いています。 go-playground/validatorとは https://github.com/go-playground/validator バリデーションに特化したgolangのOSS。 バリデーション対象の構造体にvalidateタグを付けてちょっとしたDSLっぽくバリデーション内容が書けるのが特徴的。 チェックできる内容は必須パラメータの有無、数値、文字数の範囲、任意のフォーマット等々。 validateで定義されている予約語についてGoDocを参照 自分でバリデーション用の予

    go-playground/validator リクエストパラメータ向けValidationパターンまとめ - Qiita
  • Goで書くClean Architecture API - Qiita

    Enterprise Business Rules ビジネスルールの為のデータ構造を持ったオブジェクト。 データの実態を表す場所。 Application Business Rules ビジネスルールを操作する場所。 つまりこのアプリケーションで何ができるかを実践します。 Interface Adapter 外部からの入力、データの永続化、表示を担当する場所 Frameworks & Drivers Webフレームワーク、DB操作の実際に担うソース、 フロントエンドUIなどがここに所属しています。 外側のレイヤーの要素を直接参照してはならない 上記の図におけるこの矢印は依存を表しており、 内側のレイヤーから外側のレイヤーの要素への依存を禁じます。 ここでいう依存とは要素(構造体、変数など)への直接参照をさせないということです。 では外側のレイヤー要素を参照せざる得ないは、どうするのでしょ

    Goで書くClean Architecture API - Qiita
  • [Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita

    シンデレラがGoで書かれていたら。 という妄想です。 少し長いですがお付き合いください。 TL;DR ソースはここにおいてます https://github.com/lboavde1121/cinderella あらすじ 以下あらすじ。 シンデレラは、継母とその連れ子である姉たちに日々いじめられていた。 あるとき、城で舞踏会が開かれ、姉たちは着飾って出ていくが、シンデレラにはドレスがなかった。 舞踏会に行きたがるシンデレラを、不可思議な力(魔法使い、仙女、ネズミ、母親の形見の木、白鳩など)が助け、準備を整えるが、魔法は午前零時に解けるので帰ってくるようにと警告される。 シンデレラは、城で王子に見初められる。 零時の鐘の音に焦ったシンデレラは階段にを落としてしまう。 王子は、を手がかりにシンデレラを捜す。 姉2人も含め、シンデレラの落としたは、シンデレラ以外の誰にも合わなかった。 シン

    [Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita
  • 1