タグ

ブックマーク / future-architect.github.io (9)

  • 本当に使ってよかったOpenAPI (Swagger) ツール | フューチャー技術ブログ

    サードパーティ製のツール家からは上述のツールが提供されていますが、サードバーティ製の様々なツールが世の中には存在します。 エコシステムが成熟しているのもSwaggerを利用するメリットの1つですね。 https://openapi.tools/ 冒頭のとおり、このサードパーティ製のツールの中で実際に利用して良かったツールを3つご紹介したいと思います。 Stoplight Studiohttps://stoplight.io/studio/ 1つ目のツールは「Stoplight Studio」というAPI仕様を記載するためのGUIエディタとなります。 今までSwagger Editorを利用してYAMLを書いていたそこのみなさん、YAML筋力はもう必要ありません。 Design APIs 10x faster の謳い文句どおり、Stoplight Studioを使えばGUIで直感的に、高速

    本当に使ってよかったOpenAPI (Swagger) ツール | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2020/09/10
  • GoでWebアプリ開発時にあるあるだったレビューコメント | フューチャー技術ブログ

    The Gopher character is based on the Go mascot designed by Renée French. はじめにTIG DXユニット 1の真野です。 コードレビューについては3,4年ほど前に、コードレビューにおけるレビュアー側のアンチパターン って記事を書いたりもしました。当時はレビュアーの伝え方って大事だよなって話をしてました。いつしかレビュイーからレビュアーに比重が変わることが増えてきました。相互レビューは当たり前にしていますがが、比較的こうしたらもっと良くなるんじゃないかな?と提案される回数より、自分が提案する回数の方が増えてくるタイミングってありますよね? そういうわけで、最近Goで主にバックエンドのWebAPIや、AWS Lambdaで動くETLアプリ、たまにCLIツールを開発する時に、2回以上同じ指摘したコメントをまとめてます。Go言語

    GoでWebアプリ開発時にあるあるだったレビューコメント | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2020/07/09
  • チームで機能設計するためのPlantUML標準化 | フューチャー技術ブログ

    はじめに現在所属しているプロジェクトではWeb APIやバッチ処理の設計の一環としてPlantUMLを利用しています。効率よく品質高くアウトプットを出すためには、プログラミング言語に対してコーディング規約があるように、UMLに対してもチームで設計するにあたり一定のルールを決める必要があります。 そこでプロジェクト内のPlantUMLを使用するうえでのガイドラインやルールをまとめる機会があり、せっかくなのでそれを記事化します。 記事のゴール シーケンス図設計におけるPlantUMLの標準化 必要最低限のルールだけに絞ってチーム設計の生産性と品質を上げる 記事の前提 ルールの想定の利用シーン: チームで大量生産する業務機能の処理フローを表現するために使う場合を想定。 また、この記事に記載されているルールはRDBを中心的に使用したAPI処理やバッチ処理等を念頭に置き決められたものです。 ルールの

    チームで機能設計するためのPlantUML標準化 | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2020/06/21
  • あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ

    2023.10.5追記: Goチームからプロジェクトの目的に応じたディレクトリ構造についてのドキュメントが公式に公開されています。 https://go.dev/doc/modules/layout Goプロジェクトのフォルダ構成どうしよう、とググると見つかるStandard Go Project Layout。とはいえ、これはかなりコード量を増やしてしまう恐れがありますので、導入する場合のデメリットも考えておく方が良いです。 特に、プログラマーは、最初にみたプログラミング言語のフォルダ構成を親だと思う特性があり、Javaや.NETに影響されるとかなり細かくフォルダを切りたくなったり、package privateなど細かく可視性を制御しようとしたりして、なおかつ「privateのテストってどうすべきなんですか?」とか議論を始めたりもしますが、Go先生によればこれぐらいは1パッケージにフ

    あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2020/05/28
  • Go Tips 連載7:【golangci-lint】lint issueを新たに作り出さないためのTips | フューチャー技術ブログ

    Go Tips連載の第6弾です。 Gopherの佐藤です。今回はgolangci-lintの軽めのGoTipsネタを取り上げます。 Goのコード品質のベースラインを上げる目的でgolangci-lintというlintアグリゲーターを利用されているかたも多いかと思います。 コードベースがlint issue(Linterにより検出された問題)がないクリーンな状態に保たれていることが望ましいのですが、必ずしもそういった状態を維持できるとはかぎりません。 例えば以下のような場合、コードベースにlint issueが大量に存在している状態で、golngci-lintを利用していかなければなりません。 既にあるコードベースにgolangci-lintを新たに適用しようとした場合 何らかの理由でbaseブランチ(develop, master etc…)にlint issueが大量に混入してしまった場

    Go Tips 連載7:【golangci-lint】lint issueを新たに作り出さないためのTips | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2020/05/25
  • Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ

    Real World HTTP 第2版が2020/04/20出版されました。第2版が出版されるというのは、初版をみなさまが買ってくださったおかげです。どうもありがとうございます。紙媒体は先行入荷する書店さんではすでに入っているようです。オライリーのウェブサイトから電子版を購入することもできます。 4/17新刊『Real World HTTP 第2版 歴史とコードに学ぶインターネットとウェブ技術』オライリー(978-4-87311-903-8)渋川よしき 著◆「オライリー」棚にて展開中!Webテクノロジーの基礎となるHTTPの仕様を網羅的に学べる学習書が内容を充実させて改訂! pic.twitter.com/k86zXGaHe9 — 書泉ブックタワーコンピュータ書 (@shosen_bt_pc) April 17, 2020 Real World HTTPの初版の執筆時にも、ネットで見かける

    Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2020/04/22
  • JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ

    JavaプログラマーのためのGo言語入門こちらはJava to Go in-depth tutorialの日語訳です 原文の著者に許諾を得て翻訳・公開いたします。 このチュートリアルは、JavaプログラマーがすばやくGo言語にキャッチアップできるようにすることを目的としています。 目次 Hello stack 主な違い シンタックス(文法) 定数 構造体 ポインタ スライス 値の作成 メソッドとインターフェース エラー PanicとRecover ゴルーチンとチャネル Hello server Hello stack 1まずはじめに簡単な例を見ていきましょう。この例ではシンプルな抽象データ型をGoで実装しています。 // collectionパッケージはstring型を格納できるスタックを実装している package collection // Stackのゼロ値はすぐに使用できる空のス

    JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2020/03/11
  • Go Cloud#1 概要とBlobへの活用方法 | フューチャー技術ブログ

    概要TIG DX Unit所属の多賀です。今回は、Go Cloudシリーズとしていくつか Go Cloudに関する記事をリレー形式で書いていきたいと思います。 第一弾としては、Go Cloud についての概要と、案件でも活用した Blob を利用したサンプルについて解説します。また、認証系の情報の扱いについても記載します。 Go Cloud記事はこちらもご参考ください。 Go Cloud#1 概要とBlobへの活用方法(この記事です) Go Cloud#2 Pub/Subの概要紹介 Go Cloud#3 Go CloudのDocStoreを使う Go Cloud#4 URLを編集するパッケージ Go Cloud#5 AWSのローカルモック環境であるLocalStackを活用する Go Cloud#6 GCPのローカルエミュレータを活用する Go Cloud#7 PubSubドライバー(pu

    Go Cloud#1 概要とBlobへの活用方法 | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2019/11/11
  • Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ

    他の言語になれた人が、初めてGoを書いた時にわかりにくいな、と思った部分はどのようなところがあるのか、難しいポイントはどこか、という情報を自分の経験や、会社の内外の人に聞いたりしてまとめてみました。まだまだたくさんあるのですが、多すぎるのでまずはこんなところで。コンテナで開発することがこれからますます増えていくと思われますし、その時にコンテナとの相性が抜群なGoをこれから使い始める人もどんどん増えていくと思います。 Goは特に言語のコアをシンプルに、何かを実現するときはそのシンプルな機能を組み合わせて実現しよう、というコンセプトです。つまり、他の言語で実現したいこと・できていることに比べて、Goは組み合わせ(イディオム)でカバーする領域が広くなります。そのあたりのとっかかりになる情報を提供することが、これからGoを触る人にとってつまずきを減らすことになると思います。 Go Conferen

    Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ
    sgykfjsm
    sgykfjsm 2019/07/14
  • 1