並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 3192件

新着順 人気順

terraformの検索結果1 - 40 件 / 3192件

  • ScaleOut | Supership

    「ミライリアルの幸せを、デジタルの力で創る」ことを目指すSupershipグループの社内報です。日々の出来事、メンバーの働く様子や声、未来への想いなど、Supershipグループの”Be Super”なストーリーをみんなでシェアしていきます。

      ScaleOut | Supership
    • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

      Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.

        物理サーバを選定する際のポイント – Eureka Engineering – Medium
      • ソシオメディア | UIデザインパターン

        ソシオメディアが独自に提供するUIデザインパターン集。これを使えばUI設計を効率化できます。

          ソシオメディア | UIデザインパターン
        • 東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。

          QDくん⚡️AI関連の無料教材紹介 @developer_quant 金融技術職/ChatGPT等の生成AI,機械学習,データサイエンス,プログラミングの勉強に役立つ情報を発信/良質な無料教材,スライド,動画,サイトを紹介/金融工学x機械学習ブログ運営700記事 quantcollege.net /C++/Python/Julia/Rust/Amazonアソシエイト参加中 note.com/quantdeveloper QDくん⚡️AI関連の無料教材紹介 @developer_quant 東工大が無料公開しているPython解説サイト chokkan.github.io/python/index.h… 初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。 基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。

            東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。
          • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

            この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

              マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
            • 「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

              scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false

                「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
              • オブジェクト指向スクリプト言語 Ruby

                Ruby 3.3.0 リリース Ruby 3.3.0 が公開されました。Ruby 3.3ではPrismという新しいパーサーの追加、新しいパーサージェネレーターであるLramaによるBisonの置き換え、RJITという新たなJITの仕組みを追加、YJITの高速化など様々な改善が行われています。 もっと読む... Posted by naruse on 25 Dec 2023 Ruby 3.3.0-rc1 リリース Ruby 3.3.0-rc1 が公開されました。Ruby 3.3ではPrismという新しいパーサーの追加、新しいパーサージェネレーターであるLramaによるBisonの置き換え、RJITという新たなJITの仕組みを追加、YJITの高速化など様々な改善が行われています。 もっと読む... Posted by naruse on 11 Dec 2023

                • フロントエンドのデザインパターン

                  本書は、Lydia Hallie 氏 と Addy Osmani 氏らによる Learning Patterns (https://www.patterns.dev/) の日本語訳です。原著は大きく 3 つのセクションに分かれていますが、本書は、その最初のセクションである Design Patterns を訳したものとなります。

                    フロントエンドのデザインパターン
                  • Reactベストプラクティスの宝庫!「bulletproof-react」が勉強になりすぎる件

                    Reactアプリケーションのアーキテクチャの一例として公開されているGitHubリポジトリ「bulletproof-react」が大変勉強になるので、私自身の見解を交えつつシェアします。 ※2022年11月追記 記事リリースから1年ほど経過して、新しく出てきた情報や考え方を盛り込んだ続編記事を書いていただいているので、こちらも併せて読んでいただければと想います(@t_keshiさんありがとうございます!)。 ディレクトリ構造が勉強になる まずはプロジェクトごとにバラつきがちなディレクトリ構造について。 ソースコードはsrc以下に入れる bulletproof-reactでは、Reactに関するソースコードはsrcディレクトリ以下に格納されています。逆に言えば、ルートディレクトリにcomponentsやutilsといったディレクトリはありません。 たとえばCreate Next Appで作成

                      Reactベストプラクティスの宝庫!「bulletproof-react」が勉強になりすぎる件
                    • 一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?

                      回答 (5件中の1件目) この質問にかなり先行して2015年、Quora(本家)で投げかけられた質問として、 Why do some functional programmers criticize design patterns in OOP languages as a sign of language deficiency, while Monad is also a design pattern? なぜ、関数型プログラマらは、オブジェクト指向(OOP)言語のデザインパターンを、言語の欠陥の象徴だと批判するのでしょうか?モナドもデザインパターンじゃないんですか? があります。...

                        一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?
                      • Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 - エンジニアHub|Webエンジニアのキャリアを考える!

                        Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 Rubyコミッター・園田裕貴(Yugui)さんが、長年の経験で体得したソースコードに書くべき「コメントの技法」を教えてくれました。 プログラミングにおいて、どんな初心者でも書けるけれど、適切に書くのは上級者でないと難しいもの。それがコメント(=ソースコードに書かれている注釈やメモ)です。 不適切なコメントをつけても、プログラムの動作には影響しません。しかし、書き方の巧拙によって、コードの可読性や理解のしやすさには雲泥の差が出ます。良質なコメントが良質なコードをつくるのです。 今回はRubyコミッターでありgrpc-gatewayの開発者でもあるSupership株式会社の園田裕貴(Yugui)さんに、優れたエンジニアがどんな観点を持ち、どんなコメントを書いているのかを聞きました。 園田 裕貴(そのだ・

                          Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 - エンジニアHub|Webエンジニアのキャリアを考える!
                        • ダイソーが6年でIT内製化、マイクロサービス化、サーバレスに成功した理由

                          大創産業は1972年、家庭用品を販売する商店として創業された。今やよく知られた『100円SHOPダイソー』を運営する事業者である。ダイソーの展開に着手したのは1987年。2019年には国内3367店舗を数え、海外ではアジア、北米を中心に28の国、地域で2175店舗を構えるほどのグローバル展開を果たしている。 キッチン用品や文具、衣服やコスメ、食品やガーデン用品など、幅広い商品展開もダイソーの魅力の一つだ。商品数は7万点を超え、売れ筋の電池は1秒間に5本、ネクタイも15秒に1本、“つけまつげ”は1.3秒に1つ売れる勢いとのことだ。 取り扱う商品が多く、また尋常ではない速度で売れていくことは、それだけデータ管理の難しさが増すということでもある。アイティメディアが2019年9月17日に開催した「ITmedia DX Summit 2019年秋・ITインフラ編」に登壇した大創産業 情報システム部

                            ダイソーが6年でIT内製化、マイクロサービス化、サーバレスに成功した理由
                          • ITエンジニアが投票した「ITエンジニア本大賞2022」ベスト10発表。「シェル・ワンライナー160本ノック」「モノリスからマイクロサービスへ」「恐れのない組織」など

                            ITエンジニアが投票した「ITエンジニア本大賞2022」ベスト10発表。「シェル・ワンライナー160本ノック」「モノリスからマイクロサービスへ」「恐れのない組織」など 「ITエンジニア本大賞」は、仕事の役に立った本、初学者におすすめの本、ずっと手元に置いておきたい本など、おすすめの本をITエンジニアがWeb投票で選ぶイベントです。 主催は翔泳社ですが、対象となる書籍は出版社を問わず技術書、ビジネス書全般となっています。刊行年も関係なく、これまで大賞に選出された書籍を除き、この1年を振り返っておすすめしたい書籍が対象となります。 今回発表されたのは技術書部門とビジネス書部門それぞれのベスト10です。現時点では50音順に並んでいます。 このなかから特に投票の多かった技術書3冊、ビジネス書3冊について、同社が2月17日と18日に開催する「Developers Summit 2021(デブサミ20

                              ITエンジニアが投票した「ITエンジニア本大賞2022」ベスト10発表。「シェル・ワンライナー160本ノック」「モノリスからマイクロサービスへ」「恐れのない組織」など
                            • Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する - エンジニアHub|Webエンジニアのキャリアを考える!

                              Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する Androidアプリの開発において悩ましいアーキテクチャの選定。本記事では選定する意味を改めて整理し、 MVP・Clean Architecture・MVVM・Fluxといった最新の実例を紹介します。 はじめまして。Androidエンジニアの藤原聖(ふじわら・さとる/@satorufujiwara)です。 現在は株式会社サイバーエージェントで、エンジニアリングマネージャーを兼任しています。2017年で35歳になり、定年を迎えました(プログラマの定年については「体型を支える技術」などを参照)。 Androidアプリ開発には2010年から携わっていますが、今現在の関心事は何といっても公式開発言語に採用されたKotlin。そしてもう一つが、Androidの

                                Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する - エンジニアHub|Webエンジニアのキャリアを考える!
                              • コンテナのデザインパターンを学べる論文「Design patterns for container-based distributed systems」を読んだ - kakakakakku blog

                                2016年に USENIX Conference で発表された論文「Design patterns for container-based distributed systems」を読んだ.タイトルの通り,コンテナのデザインパターンがまとまっていて,これからコンテナ設計をする人も,既にコンテナを運用している人も,デザインパターンを学べるのは価値があると思う.一部ミスリードをしているかもしれない. Design patterns for container-based distributed systems 論文も公開されている. https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/45406.pdf パターン一覧 Single-container management pattern

                                  コンテナのデザインパターンを学べる論文「Design patterns for container-based distributed systems」を読んだ - kakakakakku blog
                                • 2018年なぜ私達はコンテナ/Dockerを使うのか | iret.media

                                  2017年にもうコンテナの未来・一つのカタチはもう確定したと言え、今更感があるものの、改めてDockerとコンテナについて。 今更こんなことを書くのは、情報が溢れてくる今こそ、正しく理解し、正しい順序で学習することが重要だと切に思うから。 内容についてのお断り How Toはかきません あくまでも2018年時点の私見 目新しい情報はない、2016年頃に書けたレベル Dockerをこう使えとか、こうするのがいいとかの話ではなく、コンテナとDockerに関して大きな視点で現時点で私の考えを書きます。また、私自身はかなりのコンテナ推進派です。 Dockerをよくわかっている人には意味のない記事となります。 コンテナ(Docker)のメリット 何故コンテナがいいのか、コンテナをある程度の学習コストを払ってでもやる理由 コンテナとDocker コンテナ技術はDockerが生まれる前から存在する技術で

                                    2018年なぜ私達はコンテナ/Dockerを使うのか | iret.media
                                  • 連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)

                                    IBM Related Japanese technical documents - Code Patterns, Learning Path, Tutorials, etc. Please open new issue/pull requests in either English or Japanese if you would have any feedback or you would like to contribute this repo. We provide mainly "Japanese contents" by markdown text. IBM Developerの最新情報は https://developer.ibm.com/ にアクセスし、英語のコンテンツを参照してください。 このリポジトリは、IBM Developer Japan Webサイトで公開していた

                                      連載: IBM Watson Workspace #鬼わか アプリケーション開発: 第 7 回: IBM Watson Workspace で AI を利用したアプリ連携の実現 #鬼わか 解説(前編)
                                    • Kubernetes、やめました | 外道父の匠

                                      最近 Kubernetes 全然触ってねーなって思ってたところに、『6年ぶりぐらいにクラウド使った結果、Kubernetes以外のマネージドサービスとか基本要らなくない?となった話 – データエンジニアの酩酊日記』を見つけて、自分と異なる立場によるコンテナシステムへの感想を興味深く読ませていただきました。 Kubernetes を推す人がいる一方で、ここには昨夏『Kubernetes、はじめました』と言っておきながら今年に入って全然触らず、ECSを使ったシステムばっか手掛け、Kubernetes いらなくね?って思う人もいるわけで。これはいったいどういうことでしょう、と雑感タイムです。 どうしてコンテナシステムで迷うのか 最初に断っておきたいのは、以下 Kubernetes を否定したり腐すような意図は全くなく、なんでやろ?って自身に問いかけた私見です。やめました、と言ってもウチで今も使っ

                                        Kubernetes、やめました | 外道父の匠
                                      • 趣味で作ったソフトウェアが海外企業に買われ分野世界一になるまでの話 - knqyf263's blog

                                        2年前の2019年8月に以下のブログを書きました。 knqyf263.hatenablog.com 今回はその続きです。前回のブログは多くの人に読んでもらうことを意識して書きましたが、今回はそうではないです。特に得た学びを書くわけでもなく何で作り始めたのか?とかどんなことがあったのか?とか思い出話を書いているだけなので、言ってしまえば自己満足の記事です。それで構わない人や前回の記事を見てその後どうなったか気になった人だけが読んでもらえますと幸いです。 誰かのためになるわけでもない過去の出来事について語るのは老人感が強くて基本的に好きではないのですが、自分の中で一番大きかった目標を達成したので節目として書いています。 英語版の記事も会社のブログから公開しています。英語版のほうが簡潔で良い可能性もあります。日本語版は誤った解釈をされると嫌だからもう少し詳細に書こう、を繰り返していつも長くなりす

                                          趣味で作ったソフトウェアが海外企業に買われ分野世界一になるまでの話 - knqyf263's blog
                                        • Vagrant CloudのVagrant Shareを試してみたら凄すぎて鼻血出た - 憂鬱な世界にネコパンチ!

                                          Vagrant 1.5がリリースされたと思ったら、Vagrant Cloudなんてのが登場してますね! で、Vagrant Cloudの中にVagrant Shareってのがあるんだけど、試してみたらとんでもなかったので、早速やり方をシェアするよ! Vagrant Cloudにユーザ登録 Vagrant Cloudのページにアクセスして、まずはユーザ登録しよう。 迷うことはないと思うけど、「JOIN VAGRANT CLOUD」ってボタンをクリックすれば登録ページに飛べる。 次に、ユーザ名、メールアドレス、パスワードを入力したらユーザ登録は完了だ。 Vagrant1.5のインストール Macの場合は普通にダウンロードページからdmgファイルを落として、ダブルクリックでインストール。 念のため、確認。 $ vagrant -v Vagrant 1.5.0 Vagrantfile作成&仮想マシ

                                            Vagrant CloudのVagrant Shareを試してみたら凄すぎて鼻血出た - 憂鬱な世界にネコパンチ!
                                          • 業務でAWSを利用する時に知っておくべきポイント10選 - Qiita

                                            2024年1月時点のAWSベストプラクティスに従って作成しました 好評でしたら続編も検討します 1. 環境ごとにアカウントを分離する 本番、検証、開発ごとにアカウントを分割しましょう ✕良くない例 ◎良い例 最初にアカウント分割しておかないと、後で分割するのはとても大変です アカウントを分割することで「検証と思って作業したら、実は本番だった」のような事故を減らすことができます コストがアカウント単位で集計されるため、環境ごとのコストを簡単に算出することができます AWS Organizationsを使用することで、各環境に応じた権限設定が簡単にでき、ガバナンスを強化することができます AWSアカウントはAWS Control TowerのAccount Factoryを使用することで、クレジットカード情報を都度入力することなく簡単にアカウントの払い出しが可能です また、AWS Contro

                                              業務でAWSを利用する時に知っておくべきポイント10選 - Qiita
                                            • 分散キューという名の苦しみ - Software Transactional Memo

                                              TL;DR 分散システムにおいてキューを導入する場合、本当にキューが必要なのか再考すべき。そこが地獄の入り口だから。 システムの抽象 コンピュータの世界は、本来は0と1の信号の羅列が飛び交う無機質なものである。でも人類は信号だけですべてを語らず、様々な喩えを定義してきた。それはデスクトップ・ウィンドウ・マウスカーソルといったグラフィカルな表現に留まらず、パケットやカプセル化といった用語にロック・キュー・リスト・木などのアルゴリズムやデータ構造の世界にも自然に溶け込んでいる。これらはすべて人間の理解を助けるための喩え話に過ぎず、この喩えこそが人間のより直感的な理解をもたらす一方で、発想の制約を生み出してきた。 人間が大きなシステムを作るときも何らかの喩えを用いてシステム全体を整理する。アーキテクチャの「ポンチ絵」を描いて情報共有をするのは企業に勤めていれば経験した人も多いだろう。パワーポイン

                                                分散キューという名の苦しみ - Software Transactional Memo
                                              • 技術選定/アーキテクチャ設計で後悔しないためのガイドライン - Qiita

                                                はじめに 本稿は、ソフトウェア開発を進める際に直面する様々な技術的な意思決定やライブラリ・フレームワーク・XaaS等を選択し正しく活用していくのかについての考え方をサポートすることを目的としています。「すべてにおいてこのようなワークフローを通じて検討すべきである」という主張ではありません。読者の抱える問題領域に応じて、必要な箇所を取捨選択するための1種の考え方を提供するものです。 そもそもアーキテクチャ・技術選定に時間をかけるべきか まず第一に伝えておきたいことは、技術選定やアーキテクチャ設計に常に慎重であるべきではないということです。ソフトウェアの規模やライフサイクルに応じて、そもそも時間をさく必要がないということも多くあります。書き捨てのシェルスクリプトにも読みやすいコードを求めて書くことは非常に重要ですが、だからといって組織だって議論・検討するようなものでもないのです。一方で、5年も

                                                  技術選定/アーキテクチャ設計で後悔しないためのガイドライン - Qiita
                                                • ソフトウェアアーキテクチャの基礎

                                                  ソフトウェアアーキテクチャとは、ソフトウェアシステムの成功に欠かせない重要な土台です。そのためソフトウェア開発者には、効果的なアーキテクチャを実現するスキルが求められます。本書は、そうした効果的なアーキテクチャを設計、構築、維持するアーキテクトになるために必要なスキルや知識を、現代的な視点から整理して包括的に解説する書籍です。 ソフトウェアアーキテクチャの定義から、アーキテクトの役割、モジュールや結合、アーキテクチャスタイルといったアーキテクチャ設計の基礎、チームやステークホルダーと効果的にコラボレーションしていくために必要なソフトスキルまで、さまざまなトピックについて実践的な例とともに説明します。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正

                                                    ソフトウェアアーキテクチャの基礎
                                                  • ソースコードを公開したソフトウェアで収益を得ている会社

                                                    ソースコードを公開したソフトウェアで収益を得ている会社をまとめる。いわゆる「オープンソースソフトウェア(OSS)」という有名な言葉を使わなかったのは、OSS の定義に当てはまらない、またはその可能性があるものが含まれているため。 この記事では "OSS" の定義に当てはまらないものも含め、主要な事業を構成するソフトウェアを一定のライセンスの下で公開している会社をまとめていく。このようにソースコードを公開して利用者やフィードバックを集めるビジネスモデルは open core とか COSS: Commercial Open Source Software と呼ばれているようだ。 企業が「ソースコードが公開されているソフトウェア」を利用するメリットとしては、主に以下の2つがあると考えられる。 コア機能の開発に集中できる 自社のビジネスの核となるソフトウェアの開発に集中し、それ以外の機能的・非機

                                                      ソースコードを公開したソフトウェアで収益を得ている会社
                                                    • SpotifyがミスによりKubernetesの本番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか?

                                                      SpotifyがミスによりKubernetesの本番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか? 今年、2019年5月20日から3日間にわたりスペイン バルセロナで開催されたKubeCon+CloudNativeCon Europe 2019の基調講演では、SpotifyがミスによってKubernetesのクラスタを消去してしまった経験を振り返るという非常に興味深いセッション「Keynote: How Spotify Accidentally Deleted All its Kube Clusters with No User Impact - David Xia」(基調講演:SpotifyはいかにしてKubernetesクラスタの全削除というミスにもかかわらず顧客への影響を引き起こさなかったのか?)が行われました。 障害が起こることをあらかじめ計画とし

                                                        SpotifyがミスによりKubernetesの本番クラスタを二度も削除。しかし顧客へのサービスにほとんど影響しなかったのはなぜか?
                                                      • ITエンジニアが投票した「ITエンジニア本大賞2023」発表。AWSの知識地図/ソフトウェアアーキテクチャの基礎/プロになるJava/チームトポロジーなど

                                                        ITエンジニアが投票した「ITエンジニア本大賞2023」発表。AWSの知識地図/ソフトウェアアーキテクチャの基礎/プロになるJava/チームトポロジーなど ITエンジニア本大賞2023 技術書・ビジネス書の各ベスト10と、 大賞を決めるプレゼン大会へ参加する書籍6タイトルが決定しました!https://t.co/0F4WrzoiKX プレゼン大会は2/9デブサミ内で開催します。#itbookaward pic.twitter.com/wrIKNzdRni — ITエンジニア本大賞 (@ITbookaward) January 16, 2023 「ITエンジニア本大賞」は、仕事の役に立った本、初学者におすすめの本、ずっと手元に置いておきたい本など、おすすめの本をITエンジニアがWeb投票で選ぶイベントです。 主催は翔泳社ですが、対象となる書籍は出版社を問わず技術書、ビジネス書全般となっていま

                                                          ITエンジニアが投票した「ITエンジニア本大賞2023」発表。AWSの知識地図/ソフトウェアアーキテクチャの基礎/プロになるJava/チームトポロジーなど
                                                        • ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab

                                                          この記事は ドメイン駆動設計 Advent Calendarの記事です。 今年の9月にログラスというスタートアップに転職しました。 ログラスは元々DDDについて講師として勉強会をさせてもらっていた会社であり、DDD自体は社として取り組んでおりある程度進んでいました。ですが、講師ではなく中の人になったからこそできる色々な取り組みがあり、3ヶ月である程度形になりました。 本記事では、DDDを広めるための取り組みについて、極力再現性がある形を意識しつつ、ご紹介したいと思います。 入社時の状況 なにをしたか テストの話が多い理由 実施内容詳細 TDD Boot Campの@t_wadaさんの基調講演観賞会を行った Serviceクラスを1パブリックメソッドにした レイヤーごとのオブジェクトの依存関係を整理 レイヤーごとのテスト方針 クラス名の重要性 参照実装を作成した 「責務」と「テスト」の重要性

                                                            ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab
                                                          • エンジニアを増やしていけば、うまくいくと思っていた––メルカリCTO名村卓氏が語る、開発組織の今とこれから

                                                            2019年9月24日、株式会社メルカリにて、エンジニア向けイベント「Mercari Bold Challenge ~CTOとエンジニアが赤裸々に語る 変化と挑戦~」が開催されました。社員数は1,800人を超え、40ヵ国以上の国から多様な人材が集まり急成長を続けるメルカリ。一方で、急成長に伴って新たな課題も生まれています。そこで今回は「Bold Challenge(大胆な挑戦)」というテーマで、メルカリのエンジニア組織の変化と挑戦について、そのリアルを語ります。プレゼンテーション「メルカリのエンジニア組織の今とこれから」に登場したのは、執行役員CTOの名村卓氏。講演資料はこちら CTO名村氏が語るメルカリのエンジニア組織の今 名村卓氏:こんにちは。CTOの名村です。僕からは、メルカリのエンジニア組織の話をさせていただきます。「今とこれから」ということで、これまでのことと、今抱えている課題と、

                                                              エンジニアを増やしていけば、うまくいくと思っていた––メルカリCTO名村卓氏が語る、開発組織の今とこれから
                                                            • なぜマイクロサービスは失敗するのか? - kawasima

                                                              Eberhard Wolffさんのこのプレゼンの要約です https://www.youtube.com/watch?v=B3O-qYM-Kkw 共通のデータモデル 共通のデータモデルを通信に使う 各サービスで必要となるデータの内部モデルは異なるかもしれない データモデルが、共通ライブラリと同じ意味合いになる すべてのサービスが、最新のライブラリを使わなくてはならない 共通データモデルの変更は、す

                                                                なぜマイクロサービスは失敗するのか? - kawasima
                                                              • デジタル庁のデータ分析基盤「sukuna」|デジタル庁

                                                                はじめまして。デジタル庁ファクト&データユニット所属、データエンジニアの長谷川です。 本記事ではデジタル庁内でデータ活用を推進するための組織と分析基盤についてご紹介します。 これまでのデジタル庁noteと比べると、技術寄りの話題が多い記事となりますが、庁内のデータ活用に興味のある方はぜひご覧ください。 デジタル庁のデータ活用組織「ファクト&データユニット」ファクト&データユニットとはデジタル庁の特徴の一つに、デジタル分野において各種の専門性をもつ「民間専門人材」が多く所属していることが挙げられます。 民間の専門人材は、デザイン、プロダクトマネジメント、エンジニアリングなど、領域ごとに「ユニット」と呼ばれる組織を構成しており(参考:デジタル庁 - 組織情報)、必要に応じてさまざまなプロジェクトにアサインされて業務を遂行する、人材プールのような役割を果たしています。 ファクト&データユニットも

                                                                  デジタル庁のデータ分析基盤「sukuna」|デジタル庁
                                                                • なぜMicroservicesか?

                                                                  現職においてMonolithアーキテクチャからMicroservicesアーキテクチャへの移行とその基盤の構築に関わって2年近くが経った.未だ道半ばであるがこれまでの経験や日々のインプットをもとにいろいろ書いておこうという気持ちになった.本記事ではそもそもMicroservicesアーキテクチャとは何かを整理し,なぜやるべきか?・なぜ避けるべきかを整理する. Microservices? Microservicesアーキテクチャとは「Single purpose,High cohesion,そしてLoosly Couploedなサービスを組み合わせてシステムを構築する」アーキテクチャ手法である.それぞれの原則をまとめると以下のようになる. Single purpose: 一つのことに集中しておりそれをうまくやること Loose coupling: サービスは依存するサービスについて最小限の

                                                                  • ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog

                                                                    はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフトウェア設計について扱っています。 本書籍をベースに、「A Philosophy of Software Design を30分でざっと理解する」というお題で社内ランチ勉強会が開催されました。本記事執筆者である岩瀬(@iwashi86)が発表者であり、勉強会資料は以下のとおりです。 スライド P.4 に記載したとおり、本書籍は John Ousterhout 教授の意見が強く反映されており、ソフトウェアエンジニアであれば、議論を呼ぶ箇所があります。実際、勉強会の実況Slackでは、「これはどうな

                                                                      ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog
                                                                    • Microservices における認証と認可の設計パターン

                                                                      マイクロサービスにおける認証と認可の、一般論としての設計パターンを調べたところ、Web 上の複数の記事で似たようなパターンが登場していた。ここでは、まず認証と認可が実現したい一般的な要件と、そのマイクロサービスでの難しさを整理し、認証と認可に分けて調査したパターンをまとめた。 あくまで “一般論” なので、実際には個々のドメインにあわせてアレンジが必要 往々にしてこの “アレンジ” に価値が宿るものだが、まずはセオリーを知っておきたいというモチベーションで調査した Web 上の記事を読んでまとめただけなので、手を動かしての確認はしておらず、理解が甘い部分はご容赦ください 具体的な通信方式やサービス間通信のセキュリティといった具体論までは踏み込めていない。このへんはサービスメッシュやゼロトラストネットワークといったトピックが登場すると思われる これらは次回以降の Todo としています その

                                                                        Microservices における認証と認可の設計パターン
                                                                      • ソフトウェアアーキテクトに必要なシステム設計知識を学んだ17冊 - yoshikipom Tech Blog

                                                                        はじめに アーキテクチャ・デザイン全般 ソフトウェアアーキテクチャの基礎 Clean Architecture 達人に学ぶソフトウェアの構造と設計 Design It! ソフトウェアシステムアーキテクチャ構築の原理 データ指向アプリケーションデザイン マイクロサービス マイクロサービスアーキテクチャ マイクロサービスパターン 実践的システムデザインのためのコード解説 ソフトウェアアーキテクチャ・ハードパーツ ドメイン駆動設計 エリック・エヴァンスのドメイン駆動設計 ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本 現場で役立つシステム設計の原則 要件定義 はじめよう!プロセス設計 ~要件定義のその前に はじめよう! 要件定義 ~ビギナーからベテランまで はじめよう!システム設計 ~要件定義のその後に Web, Web API Webを支える技術 プロになるためのWeb技術

                                                                          ソフトウェアアーキテクトに必要なシステム設計知識を学んだ17冊 - yoshikipom Tech Blog
                                                                        • ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か | Social Change!

                                                                          「プログラミング経験のない人がソフトウェアの設計をすること」の是非について、どう考えますか? もしかしたら、このブログの読者であれば、プログラミングが出来ないのにソフトウェア設計をするなんてありえない!という意見の方が多いかもしれません。私もそういう意見ではあったのですが、色々な人と話をするにつけ、どこか違和感を感じていました。 その違和感の正体を探るべく、ソフトウェア設計とプログラミングについて考えてみました。そこでわかったことは「ソフトウェア設計」について、人それぞれに捉え方が違うために、話が通じないことがあることから産まれた違和感だったということです。 この記事では、私の考える「ソフトウェア設計とは何か」について書きました。 ソフトウェア開発はすべてが「設計」である モノづくりにおいて、大きく工程を2つに分けるとしたら「設計」と「製造」に分けることが出来ます。何をどう作るかを決めるこ

                                                                            ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か | Social Change!
                                                                          • 運用に自動化を求めるのは間違っているだろうか

                                                                            Masahito ZembutsuEngineer / Technology Evangelist at SAKURA Internet, Inc.

                                                                              運用に自動化を求めるのは間違っているだろうか
                                                                            • なぜ脱OSSが増えているのか?

                                                                              はじめに TerraformやVaultを開発するHashiCorpは自社製品をOSSのMPL(Mozilla Public License v2.0) から、ソースコードは公開するも一部の利用に制限があるBSL(Business Source License) への変更をアナウンスしました。 これは2018年のRedisを皮切りにMongoDBやCockroachDB、ElasticSearchなど多くのプロダクトで進められている脱OSSの流れです。商用のオープンソース[1]と言われてしまうこともある最近のこの動きの理由は何故なのか? という点を以下の動画で解説しました。 動画中では尺の都合で端折った個所も多いので、こちらの記事の方にもまとめておきたいと思います。 OSSとは? OSSの定義 まず、OSS(オープンソース)とはなんでしょうか? これはRMSのフリーソフトウェアを源流とする

                                                                                なぜ脱OSSが増えているのか?
                                                                              • 上級プログラマってどんな本読んでるの?中堅プログラマがマウンティング取られないための名著8選 - 世界が幸せで在ります様に

                                                                                この記事を読もうと思ったということは,あなたはそこそこできるプログラマ,あるいは社内でも自他ともに優秀と認められるほどの実力者かもしれません. ただし,そんな状況でも業界で名が知られる優秀な人や社内の上級プログラマと対峙した時身構えてしまい相手の不思議な理論に屈服してしまう経験はありませんか?本気でプログラミングをすれば互角,あるいは言語によっては自分の方が明らかに上だと自負できる状況にもかかわらず. そんな中,そこまで優秀そうに見えないのにうまくマウンティングを回避しているプレーヤーを見たことはないでしょうか? 彼らと自分は何が違うのか? 簡単に言えば,知ってるコンピュータ科学の量と,何らかの物事に対して同調するのではなく先駆者的にそれを宣言することです.それを少しでも発揮できる名著をこれからご紹介します. ※安心してください,日本語の書籍だけ紹介します. Coders at Work

                                                                                  上級プログラマってどんな本読んでるの?中堅プログラマがマウンティング取られないための名著8選 - 世界が幸せで在ります様に
                                                                                • オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena

                                                                                  某所でオブジェクト指向についていろいろ書いたのでまとめておく。 問題意識としては初学者がなにかというと「オブジェクト指向できるようになりたい」のようなことを言うけどそこまでの優先順位でがんばるものではないんでは、というところです。 まず前提として、オブジェクト指向は1980-2000年くらいに流行って発達したものの、それ以降は時代にあわせた進歩はしていない20年以上前の技術ってのがあります。 そのころは今だとCPUのキャッシュにも満たないようなメモリをやりくりしてプログラムを書く必要があったので、オブジェクト指向はメモリ上のデータをコピーすることなくうまく使いまわせるようなプログラム技術になっています。 そしてオブジェクト指向にはそこから目だった更新はなく、タイトルに書いたように、カメラがやっとついたくらいのガラケーのような古い技術という感じがします。 オブジェクト指向について、アプリケー

                                                                                    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだのHatena