タグ

2020年11月22日のブックマーク (4件)

  • 【Go + レイヤードアーキテクチャー】DDDを意識してWeb APIを実装してみる

    更新(2019年10月30日)初回投稿から3ヶ月経ちました。 この3ヶ月で新しく得た知見を基に、内容を一部アップデートしました。 今回やることGoのディレクトリ構成についていろいろと調べる中で、 こちらの資料 がとても分かりやすかったので、 今回はこちらを参考にGoでWeb APIを作っていきたいと思います。 加えて、プロジェクトでは、DDD と レイヤードアーキテクチャー を取り入れます。 (内容はほぼレイヤードアーキテクチャになってしまいましたが…) DDD については、「DDD を Go とレイヤードアーキテクチャでやるなら、こんな感じかな?」という個人の見解レベルです。 パッケージ構成の参考になれば幸いです。 (ですので、ドメインモデルは重度のドメイン貧血症に陥っていますw) 釣りタイトルみたいになっちゃっててすみません🧝‍♀️ 環境MacOS Mojave 10.14.6Go

  • コンパイルが速くて、スクリプト言語的に書ける言語が欲しかった グーグル ソフトウェアエンジニア 鵜飼 文敏氏 - インタビュー:ITpro

    GoGoogleが中心となってオープンソースで開発が進んでいるプログラミング言語です。いろいろなプログラミング言語の良いところを採り入れたGoは、様々な“顔”を持っています。Go言語の生まれた背景や特徴などについて、グーグルのソフトウェアエンジニアである鵜飼文敏氏にお話を伺いました。 Goが生まれた経緯や背景について教えてください。 Googleの中には検索エンジンや「Google App Engine」など、様々なサーバーがたくさんあるのですが、その中でスピードを要求する部分ではC++を使っています。ただ、C++は実行速度は速いのですが、ビルドに非常に時間がかかります。社内では分散コンパイル環境を作っていますが、仮に検索エンジンのサーバーを1台のマシンでビルドしようとすると、1日くらいの単位で時間を見ておかなければなりません。CPUなどが速くなっているのにコンパイルが遅いというのは何か

    コンパイルが速くて、スクリプト言語的に書ける言語が欲しかった グーグル ソフトウェアエンジニア 鵜飼 文敏氏 - インタビュー:ITpro
  • 変更に強いアーキテクチャについてIT業界19年目の僕が超ザックリ説明する - Qiita

    この記事は、設計・アーキテクチャ Advent Calendar 2018 の第7日目の記事である。 はじめに この記事では、IT業界19年目の僕が実践している変更に強いアーキテクチャについて、出来るだけ難しい表現を避け、教科書的なありきたりな内容ではなく現場の肌感覚に近い切り口で「超ザックリ」な解説を試みてみようと思う。 普段自分がよく用いている実装パターンの紹介ともいうべきかも知れない。 この記事で説明すること いざ「変更に強いアーキテクチャとは」とズバリ訊かれても、一概に「これだ!」という答えはない。 プログラミング言語や、フレームワークによっても条件が異なるし、利用可能な技術や開発チームの特性、業務要件や運用要件の特性によっても様々であるし、インフラや開発プロセスまで含めて考えると考慮すべきことは無限にある。 ここでは主にソフトウェアの構造という観点から、"変更に強い" ということ

    変更に強いアーキテクチャについてIT業界19年目の僕が超ザックリ説明する - Qiita
  • Goはオブジェクト指向言語だろうか? | POSTD

    “オブジェクト指向”の意味を当に理解するには、この概念の始まりを振り返ることが必要です。最初のオブジェクト指向言語はSimulaという言語で、1960年代に登場しました。オブジェクト、クラス、継承とサブクラス、仮想メソッド、コルーチンやその他多くの概念を導入した言語です。おそらく最も重要なのは、データとロジックが完全に独立したものであるとする、当時では全く新しい考え方をもたらしたことでしょう。 Simula自体には馴染みがない方も多いかもしれませんが、Simulaからインスピレーションを得たとされるJavaC++、C#、Smalltalkといった言語は皆さんよくご存知でしょう。さらにそこからインスピレーションを得たものとしてObjective-CやPythonRubyJavaScriptScalaPHPPerlなど様々な言語があり、Simulaは現在使用されているポピュラーな

    Goはオブジェクト指向言語だろうか? | POSTD