並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 524件

新着順 人気順

ソフトウェアデザインの検索結果281 - 320 件 / 524件

  • 10分で完成!WEBサイトパフォーマンス計測基盤 ver.2019 - dely Tech Blog

    はじめに 本記事は dely Advent Calendar 2019 の15日目の記事です。 昨日は開発部サーバサイドエンジニアの高橋くんが「Rails6の複数データベースの仕組みと実装時にハマったところ」という記事を書きましたので是非読んでみてください。 tech.dely.jp こんにちは!dely開発部SREの井上です。 本記事ではWEBサイトのパフォーマンスを定期的に計測する仕組みについて紹介をしたいと思います。 実は去年のAdvent Calendarでも同じような記事を書いたのですが、時代背景に沿って計測するツールをsitespeed.ioからLighthouseに変更したので理由も含めて紹介させてください。 基盤の構築においては下記のサービスやツールを利用しています。 AWS CodeBuild S3 Athena Terraform Lighthouse 前置きはいいから

      10分で完成!WEBサイトパフォーマンス計測基盤 ver.2019 - dely Tech Blog
    • オブジェクト指向プログラミングとドメイン駆動設計を学ぶのに適切な書籍とおすすめの読む順番 - Qiita

      オブジェクト指向プログラミングが学べる書籍たち もし私が今から最初から学ぶならこの順番でこの本読むだろうという紹介です。 新人プログラマの方々は右も左も分からないというところからスタートとなるため、オブジェクト指向プログラミングを学ぶときに何から学べば良いか全くわからないという状況かと思います。 オブジェクト指向プログラミングを学んでいると自然と出会うドメイン駆動設計についても同様です。 そうした方々が書籍から学ぼうとした場合に、少しでも効率良く進められる順番を示してあげられれば良いなと思って紹介します。ただし、各書籍についての詳細な説明は書いていません(というか結構忘れててかけない)…。 なお、前提言語はJavaで言語構文にも十分詳しいことが大前提です。 以降、オブジェクト指向プログラミングはOOPと略します。 現場で役立つシステム設計の原則 OOPらしさの雰囲気がわかります 入り口に最

        オブジェクト指向プログラミングとドメイン駆動設計を学ぶのに適切な書籍とおすすめの読む順番 - Qiita
      • 組織でナレッジを共有できる新プロダクト「Strap」 その開発技術に「TypeScript」「Firebase」「PixiJS」「React」を選んだ理由

        Goodpatch主催のイベント「のぞき見企画!ICS×Goodpatch Anywhere合同勉強会」で、Goodpatchのエンジニアマネージャーである西山氏が、自社プロダクトStrapの目指すものと開発技術について紹介しました。 Goodpatchのエンジニアマネージャー 西山雄也氏:先日Goodpatchの新しいプロダクトとしてβ版をリリースしたStrapの紹介と、あとはそれにまつわるナレッジの紹介をもう1人の黄から発表します。 僕はGoodpatchのProduct Div.という自社プロダクト開発の部署でエンジニアマネージャーをやっています。プロトタイピングツール『Prott』とクラウドワークスペースツール『Strap』の開発責任者です。フルスタックエンジニアからフロントエンドエンジニアになり、今はGoodpatchに入ってマネージャーをやっているという経歴です。 僕はいわゆる

          組織でナレッジを共有できる新プロダクト「Strap」 その開発技術に「TypeScript」「Firebase」「PixiJS」「React」を選んだ理由
        • AWSマネージドサービス+Terraformを活用してDBオペレーションをより安全&簡単に(pt-oscの例) - freee Developers Hub

          おはこんばんちは、Database Reliability Engineerの橋本です。 以前、freee Developers Hubにて、MySQLのスキーマ変更をオンラインで実施するためのpt-online-schema-changeの導入に関する検討記事を書かせていただきました。こちらはカラムの型変更のようなテーブルロックがかかりオンラインで実施できないような変更や、オンラインで実施できても完了までに長時間かかるようなケースで用いています*1。 運用の都合上、pt-online-schema-changeをそのまま用いるのではなく、以下の4つのフェーズにそれぞれ作業を分割し、個別に実行できるようにしています。前回の記事を要約すると次の流れとなります: pt-online-schema-change コマンドを実行し、スキーマ変更済みテーブルを新規作成し、pt-online-sche

            AWSマネージドサービス+Terraformを活用してDBオペレーションをより安全&簡単に(pt-oscの例) - freee Developers Hub
          • Firebase Realtime DatabaseとFirestoreを使い分けていこうなという話 - KAYAC engineers' blog

            こんにちは、今年もあっというまでしたね〜@fnobiです。この記事はTech KAYAC Advent Calendarの12日目になります。 毎年アドベントカレンダーでは、その時お世話になった技術の話をしているんですが、今回は去年に引き続きfirebaseで行かせていただきます。いちおう専門はWebフロントのはずなんですが、最近WebフロントエンジニアというよりはFirebaseエンジニアです。 Firebase Realtime DatabaseとFirestore そもそもfirebaseとはなんぞや?という話は去年も書いたのでよろしければ読んでみてください。 さて現在Firebaseでは、データベースとしての機能がRealtime DatabaseとFirestoreの2種類提供されています。いちおう公式でも並列に扱われていたり、比較を書いてくれたりしているんですが、全体を通してな

              Firebase Realtime DatabaseとFirestoreを使い分けていこうなという話 - KAYAC engineers' blog
            • 技術的負債で悩む人たちを救いたい。苦渋を味わったシステム設計から私が逃げ出さない理由 - Findy Engineer Lab

              READYFORでアプリケーションアーキテクトを務め、システム設計やリファクタリングについて第一線で発信をする仙塲大也さん。ネット上ではミノ駆動(@MinoDriven)の名前で活動しています。 著書の『良いコード/悪いコードで学ぶ設計入門』は、2022年4月の発売から10カ月で3万部を超え、「ITエンジニア本大賞2023」の技術書部門大賞を受賞しました。 そのプレゼン大会でミノ駆動さんは、「みんなで強くなる」「昔の自分を助けに行く」という思いで本を執筆したと語り、大賞受賞スピーチでは感極まって涙する場面もありました。 エンジニアになった頃は会社の技術的負債に忙殺される日々で、「システム設計」という概念すら知らなかったというミノ駆動さんは、いかにしてリファクタリングのスペシャリストになったのでしょうか。 激動のキャリアと設計への思いについてお聞きしました。 技術的負債を解消するシステム設計

                技術的負債で悩む人たちを救いたい。苦渋を味わったシステム設計から私が逃げ出さない理由 - Findy Engineer Lab
              • Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog

                paild 社でお手伝いをしている yuki です。前回に引き続き Dependency Injection 略して DI の話題を書いていきたいと思います。今回は Rust における DI についていろいろと考えてみました。今回紹介する実装はかなり単純な例を用いたもので、この記事からさらにみなさんのアプリケーションの実装状況に合わせていくつか工夫は必要になるかもしれません。ただ、とっかかりとしては十分なものになっていると思うので、DI でお困りの方はぜひ参考にしてみてください。 今回実装したいアプリケーションのお題について 今回紹介する技法の種別について コンストラクタインジェクション 静的ディスパッチを用いたもの 動的ディスパッチを用いたもの 静的ディスパッチと動的ディスパッチの利点・欠点 shaku (DI コンテナ)を用いたインジェクション shaku の利点・欠点 余談: DI

                  Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog
                • データ指向アプリケーションデザインから見るGraphQL

                  グラフモデルとSoEとGraphQL / TECH STAND #7 GraphQL 2022/03/03 に行われた stand.fmさん主催の TECH STAND #7 にて上記のタイトルで登壇しました。 今回の内容は GraphQLの採用を検討するにあたって、RESTとの違い、BFFとの違いをデータの観点から言語化したかった Hasuraが良いという意見と, Apolloやgraphql-ruby, gqlgenなどのハンドライティングなGraphQLが良いという意見の違いがどこから生まれているかの考察がしたかった データ指向アプリケーションデザイン(2017年リリース)にSoEやGraphQLへの言及がないため, 今だとこういう内容が書かれているんじゃないかという考察がしたかった をモチベーションに調査・検討しました。 発表のハイライトはこちらです。 以下発表内容です。一部発表時

                    データ指向アプリケーションデザインから見るGraphQL
                  • Infrastructure as Codeのつらみの原因を探れ 恐怖症による負のサイクルを断ち切る“予測可能性”

                    ソフトウェア開発、ITインフラ運用、そしてその境界線上にあるトピックをカバーし、特にDevOpsを実現するための自動化、テスト、セキュリティ、組織文化にフォーカスした「DevOpsDays」。ここでソフトウェアエンジニアのチェシャ猫氏が「Infrastructure as Code の静的テスト戦略」をテーマに登壇。まずはInfrastructure as Codeについてと、そのつらみから発生する“オートメーション恐怖症”を防止する方法を紹介します。 「コード化の“つらみ”をいかにうまく防ぐか」が今日のテーマ チェシャ猫氏:チェシャ猫と言います。Twitterは@y_taka_23の名前でやっているので、よろしくお願いいたします。今日は「Infrastructure as Code の静的テスト戦略」をテーマに選びました。Infrastructure as Codeはここ数年で、非常にメ

                      Infrastructure as Codeのつらみの原因を探れ 恐怖症による負のサイクルを断ち切る“予測可能性”
                    • Terraform 公式がスタイルガイドを出したので読んで要約した - Qiita

                      3/30 に X で Terraform がトレンド入りしていて何事かと思ったら Terraform が公式ドキュメントとしてスタイルガイドを出したようです。 Terraform Style Guide いままで Terraform のスタイルに関して信頼できるドキュメントといえば Google Cloud の Terraform を使用するためのベスト プラクティス ぐらいしか知らなかったのですが、 Terraform 公式がようやく出してくれてありがたい限りです。 これでわざわざ社内の Terraform 規約を設けずとも「公式ドキュメントに従いましょう。」の一言で済みます。 ということで一通り読んだのでまとめました。 原文だと構文の簡単な使い方なども書いてありますが以下の要約ではだいたい省略しています。 詳細は原文を読んで確認してください。 要約 スタイルガイドについて コードのスタ

                        Terraform 公式がスタイルガイドを出したので読んで要約した - Qiita
                      • next.js + vercel + firebase authentication で JWT の検証を行う + Graphql

                        今個人で作ってるアプリの 認証 + Graphql の部分を抜き出して GitHub に公開した。 mizchi/next-boilerplate-20200727 next.js + vercel + firebase は (パーツを良く選べば) 最高 next.js はルーティングを持つページを作るには最高で、サーバー、静的サイト、JAM スタック、AMP と必要に応じて選択できる。React ベースならこれ一択。 認証サーバーの実装は毎度疲れるし、Firebase Athunetication はこの点においては OAuth Secret を置くだけ + Custom Provider も作れるので、最高。 それと比べて firestore は、ちょっと前に firestore べったりでアプリを試作したことがあったのだが、型がないためにかなり扱いづらく、また読み書きの速度が遅くパフ

                          next.js + vercel + firebase authentication で JWT の検証を行う + Graphql
                        • Terraform import のススメ 〜開発効率化編〜 - LayerX エンジニアブログ

                          こんにちは、LayerX で主にインフラを担当している高江です。 今回は、一見地味ではありますが実はとても役に立つ機能である Terraform import についてお話したいと思います。 Terraform import とは 公式サイトでは次のように説明されています。 Terraform is able to import existing infrastructure. This allows you take resources you've created by some other means and bring it under Terraform management. 要するに、AWS 等のサービスプロバイダー上に既に存在する、Terraform 管理されていないリソースの情報を取得して Terraform 管理下に置く(tfstate ファイルに import する)

                            Terraform import のススメ 〜開発効率化編〜 - LayerX エンジニアブログ
                          • サーバーレス時代のKubernetesワークロード:アーキテクチャ、プラットフォーム、トレンド

                            SOAは優れた原則に基づいており、その大半はまだ有効です。それは契約優先開発、疎結合、構成可能、ステートレスなサービスであり、自律的で再利用可能です。 ESBフレームワークは、プロトコル変換、テクノロジーコネクタ、ルーティングおよびオーケストレーションメカニズム、エラー処理、高可用性プリミティブなどの優れた機能セットを提供しました。 分散アーキテクチャの進歩 SOAとESBの主な問題は、アーキテクチャと組織の両方の観点からの集中化でした。SOAの重要な原則は、サービスとコンポーネントの再利用でした。これにより、再利用を可能にするが、緊密なアーキテクチャ上のサービスカップリングを引き起こす階層化サービスアーキテクチャが作成されました。組織的には、ESBは単一のチームによって所有されていました。それによって、ミドルウェアは、スケーラビリティの観点で、さらに重要なことに急速な進化の観点で技術的お

                              サーバーレス時代のKubernetesワークロード:アーキテクチャ、プラットフォーム、トレンド
                            • 今後は「データ指向アプリケーションデザイン」を考えよう(Red Hat Forum講演フォローアップ記事) - 赤帽エンジニアブログ

                              Red Hatの須江です。 本記事は赤帽エンジニア Advent Calendar 2019の10日目です。 子供を皮膚科に連れて行ったりなんだりで、気づいたら12/11になってますが、細かいことは気にせず進めます。 セッション資料と動画 redhat.lookbookhq.com redhat.lookbookhq.com 「データ指向アプリケーションデザイン」をメインテーマに選んだわけ デジタルトランスフォーメーション(DX)がバズワード化して久しいですが、自分は常に「DXは目的ではなく手段なので、DXしたあとにどうありたいかのビジョンを持ち、そこから逆算していまやることを考える」ことが重要だと考えています。 ビジョンを持つためには、まずDX後の世界がどうなっているのかをイメージできるようになる必要があります。 そこで、2019/6/20に開催された「DX&Open Hybrid Cl

                                今後は「データ指向アプリケーションデザイン」を考えよう(Red Hat Forum講演フォローアップ記事) - 赤帽エンジニアブログ
                              • CI/CD環境のTerraform versionを最新に保つと幸せになれる

                                複数プロダクトを管理する AWS Organizations における AWS IAM Identity Center を GitHub x Terraform でいい感じに運用したい

                                  CI/CD環境のTerraform versionを最新に保つと幸せになれる
                                • CloudFrontだけで短縮URLサービス作ってみた。 - Qiita

                                  はじめに 短縮URLは、オンラインの情報共有において欠かせない存在になっています。 しかし、その便利さの裏でセキュリティ上の問題も指摘されていることがあります。 例えば、QRコードを介した不正サイトへの誘導事例などが報告されています。 原因は「短縮URL」か? QRコードから不正サイトへ誘導される事例が相次ぐ オートバックスセブン、学習院大学も こういったこともあり、エンジニアの皆様は自作されることも多いのではないでしょうか? 自作短縮URLサービスに関して様々なアーキテクチャがある中、CloudFront大好きな私は、エッジロケーションで完結するのでは?と考えました。 そう、CloudFront KeyValueStore + CloudFront Functionsならね。 URLの実態をCloudFront KeyValueStoreに保存し、CloudFront Functions

                                    CloudFrontだけで短縮URLサービス作ってみた。 - Qiita
                                  • Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ

                                    はじめにこんにちは、TIG DXユニット 1の木村です。 入社以降ずっと触ってきたTerraformですが、巷ではWorkspace派だったり、module派だったり、ディレクトリ完全分離派だったり、様々な流派(プラクティス)が乱立しているのを目にします。私自身ベストな構成を模索していく中で辿り着いた結論は、ケースバイケースで全てのデザインパターンに対応できる万能なものは存在しないのかな (当たり障りないですね..)ということです。 そんなわけで、様々なTerraformの流派を紹介し、各流派がどのようなパターンに向いているのか(はたまた不向きなのか)の個人的見解をまとめてみました。 ※本記事中のサンプルコードはすべて Terraform 0.12、 provider google cloud で解説してます Terraformとは?当社過去記事に解説があります。Terraformの概要や

                                      Terraformのベストなプラクティスってなんだろうか | フューチャー技術ブログ
                                    • TerraformのStateやModuleに関する設計 - tom-256.log

                                      概要 名前付け 抽象度 インフラアーキテクチャ図 チーム 認証情報 変更(デプロイ)のライフサイクル DRYの誤用 コードの検索性 モジュール間の依存 アプリケーションレイヤーとの違い まとめ 概要 TerraformのStateやModuleに関する設計に関する考慮点をざっくり書く 名前付け ユビキタス言語とディレクトリ名や変数名を合わせて認知不可を下げる リソース名でなく役割・機能ベースのディレクトリ名にして認知不可を下げる プロダクトのコードネームはユビキタス言語なのでディレクトリ名にしても問題ない ModuleやStateのREADME.mdを書く https://github.com/terraform-docs/terraform-docs を使う うまく説明が書けない場合は設計に問題がある可能性がある チームメンバーが利用できるように考慮する いつどのようなときに使えばいいか

                                        TerraformのStateやModuleに関する設計 - tom-256.log
                                      • Scala で書いたマイクロサービスを Go で書き直した話 - JX通信社エンジニアブログ

                                        この記事はJX通信社 Advent Calendar 2019 2日目の記事です。 昨日は、たっちさんの「Kubernetes Admission Webhookでリソース作成を自在にコントロールする」でした。 こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 今回は長年動かしてた Scala のマイクロサービスのリビルドを行った話をしようと思います。 TL;DR 新しい言語を投入するのにマイクロサービスは便利 Scala で感じていた問題点を解消しつつ Go へ移行できた 消費メモリが大きく減って安定稼働できるようになった 予防線を貼っておきますと、Scala より Go のほうがいいよね、といった本旨ではありません。 Scala で書いたマイクロサービス 弊社のマイクロサービスの一つにカテゴリ分類専用のサービスが存在します。 カテゴリやキーワードを登録しておくとル

                                          Scala で書いたマイクロサービスを Go で書き直した話 - JX通信社エンジニアブログ
                                        • モノリシックなアプリケーション開発から小さなアプリケーション開発へ(Software Design連載 2022年3月号:設計方針から変えていく、 モノリシックなアプリの過去と未来) - MonotaRO Tech Blog

                                          この記事の初出は、Software Design2022年3月号「設計方針から変えていく、モノリシックなアプリの過去と未来(最終回)」で、加筆修正されています。過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか - MonotaRO Tech Blog 第2回 Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog 第3回 Software Design連載 2021年10月号 スナップショットテストの可能性を追求する - MonotaRO Tech Blog 第4回 Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する - MonotaRO Te

                                            モノリシックなアプリケーション開発から小さなアプリケーション開発へ(Software Design連載 2022年3月号:設計方針から変えていく、 モノリシックなアプリの過去と未来) - MonotaRO Tech Blog
                                          • データエンジニア / Analytics Engineer向けの権限管理のためのTerraform紹介 - yasuhisa's blog

                                            これは何? 背景: 権限管理とTerraform 権限管理の対象 誰に権限を付与するのか どのスコープで権限を付与するのか どの強さで権限を付与するのか Terraformについて Terraformの概要: 権限管理でTerraformを使うと何がうれしいのか 例: roles/bigquery.jobUserを付与してみる コラム: どこでTerraformを実行するか Terraformでの権限管理の例 例: データセットの作成 例: データセットに対する権限付与 サービスアカウントの管理 iam_member関連の注意点: AdditiveとAuthorativeを意識する Terraformで管理されていなかったリソースをTerraform管理下に置く: terraform import Terraformの登場人物 terraform planやterraform applyの

                                              データエンジニア / Analytics Engineer向けの権限管理のためのTerraform紹介 - yasuhisa's blog
                                            • pull_request_target で GitHub Actions の改竄を防ぐ

                                              本記事では GitHub Actions で pull_request event の代わりに pull_request_target を用い、 workflow の改竄を防いでより安全に CI を実行する方法について紹介します。 まずは前置きとして背景や解決したいセキュリティ的な課題について説明した後、 pull_request_target を用いた安全な CI の実行について紹介します。 本記事では OSS 開発とは違い業務で private repository を用いて複数人で開発を行うことを前提にします。 長いので要約 GitHub Actions で Workflow の改竄を防ぎたい GitHub の branch protection rule や codeowner, OIDC だけでは不十分なケースもある pull_request event の代わりに pull_r

                                                pull_request_target で GitHub Actions の改竄を防ぐ
                                              • SaaSがオワコン化した2023年

                                                過去最速のスピードでユーザーも売上も獲得したChatGPTは、SaaSのGTM通念を根本から覆した。当ニュースレター含め、業界の老害たちは「いやいやProduct Led Growthとかカッコイイけどね、結局はエンタープライズをやるなら営業組織を作らな…えええFortune 500企業の9割がもうChatGPT使ってるの⁉︎」と泡を食うこととなった。 そんなChatGPTにもハプニングがあった。製造元OpenAIが11月に前代未聞のお家騒動を引き起こし、コーポレートガバナンス的アキレス腱を露呈した。キッシンジャー元米国国務長官も、11月末大往生する直前までAIが孕む地政的リスクを懸念していたが、技術の製品化スピードに、それ以外の側面が追いついていないことは明々白々である。EUはいち早くAIを規制する包括的法案を可決したが、その保守的すぎる姿勢は、引き続きシリコンバレーにおいて嘲笑の的とな

                                                  SaaSがオワコン化した2023年
                                                • ZOZOTOWN マイクロサービスプロジェクトにおける継続的な改善を支えるCI/CD戦略 - ZOZO TECH BLOG

                                                  ZOZOテクノロジーズ SRE部の川崎(@yokawasa)です。ZOZOTOWNのアーキテクチャをマイクロサービスで再設計してリプレイス化を推進するチームに所属しております。 本記事では、このZOZOTOWNのマイクロサービスプロジェクトで実践している継続的インテグレーション/継続的デリバリー(以下、CI/CD)についてご紹介します。 はじめに まずはじめに、本記事に登場する中心的なキーワードであるCI/CDと、Infrastructure as Code(以下、IaC)について簡単に説明します。 IaCとは、インフラ構成をコード化して、そのプロビジョニングを自動化する手法です。コード化されたファイルはコードリポジトリで管理することが多く、また、IaCを実現するためのツールやサービスの利用が不可欠になります。 CI/CDは、その名の通り、CI(継続的インテグレーション)とCD(継続的デリ

                                                    ZOZOTOWN マイクロサービスプロジェクトにおける継続的な改善を支えるCI/CD戦略 - ZOZO TECH BLOG
                                                  • Kubernetesはまだ成功していない - orangeitems’s diary

                                                    Kubernetesの読み方 Kubernetesと書いて、どう読むでしょうか。 登場時には、クーベルネイティスと読む人やクーベネティスと読んだり、いったいなんて読むのが正解なんだろうと悩んだままなんとなくクーベルネティスがいいかななんて思っていました。 今日、日経にこんな記事が出ました。 www.nikkei.com ・・・その主役は、グーグルが開発した仮想化ソフトの運用ツール「クバネティス」・・・ クバネティス!!!。また新しい呼び方ですが、日経に出たということは今後は経営層はクバネティスと言ってくるはずなので、少なくとも日本国内では、く・・くばねてぃす・・と呼ぶことにしようと思います。 Kubernetesはまだ成功していない 国内のメディア記事を読む限り、結構たくさんのワークロードがKuberenetesで動くようになってきたように思います。特に大量のコンテナで分散処理する必要があ

                                                      Kubernetesはまだ成功していない - orangeitems’s diary
                                                    • Terraformアンチパターン(2019年版) - Qiita

                                                      はじめに Infrastructure as Code(以下IaCと略します)って最近では当たり前のように実践されてますよね。特にterraformはかなりユーザが多く、開発のスピードも速い印象です。 IaCを実現できたインフラエンジニアの皆さんの多くが次に直面する問題はコードの保守運用に関する事柄ではないでしょうか? terraformもコードなので、アプリケーションのコードと同じように保守性(テスト容易性、理解容易性、変更容易性)を意識する必要があります。ただコード化しただけでは属人性を排除したとは言えないと思います。 保守性の高いterraformって具体的にどう書けばいいの?と周りに聞いてみても、巷には「ぼくのかんがえた最強のterraformベストプラクティス」が乱立していて、自転車置き場の議論になりがちです。 また、v0.12前後でterraformの記法が大きく変わったので、

                                                        Terraformアンチパターン(2019年版) - Qiita
                                                      • ドメイン駆動設計の源流のPofEAAを読んでみる | フューチャー技術ブログ

                                                        最近、ドメイン駆動設計(以下DDD)とかそのあたりを読みこんでいる人から、DDD本の読み方を教えてもらいました。ここではDDD本はエリック・エヴァンスのドメイン駆動設計の方を参照しました。 @katzchang さんから教わったのは「DDDはパターンランゲージの形式を意識してるよ」ということでした。ただし、きちんとしたパターンランゲージの形式になっておらず、記述が著者のものになってるので、読者は注意して読む必要があるのかもとのことです。 @ryoaitaさんから教わったのは「DDDはエンタープライズアプリケーションアーキテクチャパターン(以下PofEAA)を下敷きにしている本だよ」ということでした。 DDDももう時代的にはかなり古い本です。自分で読んだ限りは全然好きになれなくて、でもきっと何かあるはずだと3-4冊読んでみましたが感想は変わらずでした。ユビキタス言語も「当たり前のものを先頭に

                                                        • Best practices for using the Terraform AWS Provider - AWS Prescriptive Guidance

                                                          Michael Begin, Senior DevOps Consultant, Amazon Web Services (AWS) May 2024 (document history) Managing infrastructure as code (IaC) with Terraform on AWS offers important benefits such as improved consistency, security, and agility. However, as your Terraform configuration grows in size and complexity, it becomes critical to follow best practices to avoid pitfalls. This guide provides recommended

                                                          • 50自治体システム障害続報、不具合は米デルのストレージで発生

                                                            2019年12月4日に発生した50自治体のシステム障害について2019年12月10日、不具合を起こした日本電子計算がIaaS「Jip-Base」で利用していたのは米デルテクノロジーズ(Dell Technologies)のストレージ装置「Dell EMC Unity 500」であることが分かった。 日本電子計算によると、このストレージ装置の特定のバージョンのファームウエアを使い、さらに高速に読み書きするための並列処理機能を使う条件がそろったときに不具合が発生したと見ている。不具合を解消するためにストレージメーカーからの修正ファームウエアを適用したが、12月10日午前11時時点で復旧には至っていない。 日本電子計算の広報担当者は、「データの一部は読み書きできるようになったが、いまだに読み書きできない部分も発生している」とコメントした。修正ファームウエアを適用したのになぜ読み書きできないデータ

                                                              50自治体システム障害続報、不具合は米デルのストレージで発生
                                                            • ゲーム開発 に所謂なアプリケーション設計パターンをおいそれと適用するのは難しい - @hadashiA

                                                              アドベントカレンダーでもなんでもない記事 0日目です。 Unityで長らくゲーム開発をやっているけれど、Web界隈などで色々と発達しているアプリケーション設計パターンをおいそれと持ち込めば良いわけではないと感じているので、それについて考えてみようと思う。 ここでいう設計パターンていうのは、たとえばUIとかをつくるフレームワークの競争で発達してきた MVC派生 や ReactとかのElmアーキテクチャに影響を受けたものたち、はたまた、Webサーバ(HTTPサーバ) を書くときに 「良し」とされている 、DDD的な考え方の上での、抽象レイヤと実装レイヤの分け方を教条化するクリーンアーキテキクチャとかなんかそういうの。 追記: ゲームでも「ドメインロジックとプレゼンテーションの分離」はした方が良いと思っている。全体としては狭義でのMVPとかは自分もやってる。 こういった者達は、先人のアイデアや言

                                                                ゲーム開発 に所謂なアプリケーション設計パターンをおいそれと適用するのは難しい - @hadashiA
                                                              • マイクロサービスが開発・運用コストの削減にどう貢献するか考えてみた件 - Qiita

                                                                はじめに 世の中的に企業のデジタルトランスフォーメーション(以降DXと略)にどう取り組むべきか?というプレッシャーが日々高まっている昨今、皆様いかがお過ごしでしょうか。 DXに取り組むためには、システムのアジリティ(いわゆる俊敏性)を高める必要があると言われており、世の中的にはそれに求められるナレッジが確立されつつあります。その代表格である「マイクロサービスアーキテクチャ」が2014年に提唱され、そろそろ日本でも普及期に入る段階であると理解しています。 マイクロサービスアーキテクチャは最近までデジタルネイティブな企業が使いこなす道具という認識でしたが、2018年3月にコンテナオーケストレーションツールの KubernetesがCNCFを卒業した ことに伴って、エンタープライズ市場にもマイクロサービスアーキテクチャ採用の機運が高まりだしているように思います。 マイクロサービスアーキテクチャは

                                                                  マイクロサービスが開発・運用コストの削減にどう貢献するか考えてみた件 - Qiita
                                                                • 「Firebase Authentication 7つの落とし穴」のリスクを再整理する

                                                                  https://twitter.com/kuwahara_jsri のやってる朝活Twitterスペースで以下の記事を知りました。 もちろんこういったリスクを列挙、検討するのは重要なことなのですが、 Firebase Authentication関係ない話では あれ、仕様に関して勘違いしてる? というのがいくつかあったので、再整理していきます。リスクは列挙することには業務上あまり意味はなく、評価され、リスクを受け入れるか外すかを判断するところが重要なので。 IDaaSは脆弱性を生み出すか IDaaS を導入することにより、逆に脆弱性が生まれることもあります。(中略) Firebase Authentication は他の IDaaS と比べて設定項目が少ないという特徴があります。 もちろんここに書かれてることは間違いではありません。ただ、少し実装にフォーカスが寄りすぎていると思っています。

                                                                    「Firebase Authentication 7つの落とし穴」のリスクを再整理する
                                                                  • Windows / Visual Studio 使いが WSL 2 / Visual Studio Code で環境構築した時の手順 - しばやん雑記

                                                                    基本的には Windows と Visual Studio を使って Azure Functions や GitHub で公開しているアプリケーションとライブラリを書いていますが、最近は Python や Go を書く必要がちょいちょい出てきたので、色々と観念して WSL 2 の環境を構築して使っています。 特に Python は Azure Functions だと Linux のみ対応となるので、Windows 上での開発は難しくなっています。他にも個人的に PR を投げている Terraform Provider for Azure も Windows 上では一部のテストが通らなくなっているので、WSL 2 を使わないと難しい状況です。 環境構築系はメモっておかないと後ではまるので、自分が必要な範囲で手順を残します。 基本的な WSL 2 環境構築 Visual Studio Cod

                                                                      Windows / Visual Studio 使いが WSL 2 / Visual Studio Code で環境構築した時の手順 - しばやん雑記
                                                                    • Infrastructure as Codeに関する技術書籍を執筆しました - How elegant the tech world is...!

                                                                      Overview タイトルの通りですが、技術書博5向けにInfrastructure as Code (IaC)に関する技術書を執筆しました。 gishohaku.dev 一応、僕がそれなりにAWS x IaCにどっぷり浸かっていることもあり、題材のクラウドはAWSを主軸にしています。 TerraformやPulumiに関しては、別にAWSに限らずAzureやGoogleCloud利用者の方々にも通ずる部分があると思います。 執筆に至ったモチベーション 僕自身、IaCサービスに関してはCloudFormation 数ヵ月、terraform 2年、Pulumi 8ヶ月ほど経験しており、 それぞれの特徴も知れてきたのでナレッジを形にしたいなと思い、同僚と執筆しました。 ※ちなみに、共著の同僚である@HorseVictoryはAWS Top Engineersの一人です。 クラウドネイティブな

                                                                        Infrastructure as Codeに関する技術書籍を執筆しました - How elegant the tech world is...!
                                                                      • マッチングアプリ強者を体験できる PWA 開発で、Web プッシュ通知を理解しよう - Qiita

                                                                        どうも、親からもらったお年玉でマッチングアプリを始めるも、いいね 0 件のまま 3 ヶ月で退会した@sadnessOjisan です。 今日はタイトルの通り、マッチングアプリ強者を体験できる PWA を開発します。具体的には、いいね 通知がたくさん届くアプリを開発します。なおこのアプリは「通知止まらん www」を体験できるアプリを作ったの影響を深く受けました。ただし、これから作る push 通知体験アプリでは、通知の疑似体験ではなく本当に通知が届きます シンプルにプッシュを送るだけのコード: https://github.com/sadnessOjisan/simple-push マッチングアプリ っぽいUIがついたコード: https://github.com/sadnessOjisan/simple-push-ui 書いた動機 この記事では Firebase を使った web push

                                                                          マッチングアプリ強者を体験できる PWA 開発で、Web プッシュ通知を理解しよう - Qiita
                                                                        • Terraform構成をビジュアライズできるツール Pluralithを使ってAWS構成図を自動作成してみる | DevelopersIO

                                                                          CIに組み込むことで真価を発揮するツールかと思うので、Localは検証・実運用はCIといった使い分けをするのが良さそうです。 やってみた 今回はLocalで試してみます。 Pluralith CLIのインストール 利用にはユーザー登録が必要です。 以下のページからユーザー登録します。 Pluralith サインインができたら以下のページに遷移します。 Localで試したいため、Local Setupを選択します。 Download CLIでバイナリをダウンロードして、macの場合は以下のコマンドでcliを利用できるようにします。 mv pluralith_cli_darwin_amd64_v0.2.2 pluralith mv pluralith /usr/local/bin/ chmod +x /usr/local/bin/pluralith ブラウザで表示されているAPI Keyを使っ

                                                                            Terraform構成をビジュアライズできるツール Pluralithを使ってAWS構成図を自動作成してみる | DevelopersIO
                                                                          • N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ

                                                                            この記事は、ドワンゴ Advent Calendar 2022の8日目の記事です。 N予備校では、過去の記事でも触れた通りAWS CodeBuildを日常に利用しています。 この記事では、導入した経緯や実際の利用例などについてご紹介できればと思います。 AWS CodeBuildを導入した経緯 開発当初についてはGo製のCIツールであるDroneを利用しており、v0.5からv0.8まで利用していました。 Droneを利用していた際にはたびたび以下のような事象に遭遇しました。 サーバーがなんらかの理由でやたら停止してしまう cacheがよく壊れる エージェント数が十分に確保できておらずビルド開始まで待たされる 構築したインフラ起因での問題も多数ありましたが、開発を進める上で障害にはならないもののやや開発者体験を損なうという、なかなかイマイチな環境の中で開発していたかと思います。 Drone自

                                                                              N予備校で利用しているAWS CodeBuildについて - ドワンゴ教育サービス開発者ブログ
                                                                            • GitHub ActionsからAWS APIへアクセスキーなしでリクエストする仕組みをTerraformで構築する - BOOK☆WALKER inside

                                                                              こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では、GitHub ActionsとAWS IAMをOpenID Connectを使って連携させ、AWSのAPIをアクセスキーなしで操作する利点と、その仕組みをTerraformで構築する手順についてお話します。 訂正とお詫び(2022/3/22) GitHub Actionsのワークフローを作成するの項において、ワークフロー単位のpermissionsとジョブ単位のpermissionsの関係について正しくない記述がありましたので訂正しました。 正しくない内容を記述してしまったことについて訂正してお詫びします。 GitHub Actio

                                                                                GitHub ActionsからAWS APIへアクセスキーなしでリクエストする仕組みをTerraformで構築する - BOOK☆WALKER inside
                                                                              • SaaSなのにほぼノーコードで2億円調達した話|Kotaro Harada | HQ

                                                                                今回は昨日発表されたCoral Capitalさん等からの資金調達におけるプロダクト開発の裏側を書こうと思います。特にソフトウェア領域での新規サービス立ち上げや起業を検討している方に参考になれば何よりです。 本文の前提についてさて、本題に入る前に今回の調達リリース記事にまつわる事実を列挙します。 リリースの内容はこちら 2021年3月: 株式会社HQ創業 2021年5月: kotaroがプロダクトマネージャーとしてジョイン(当時ソフトウェアエンジニアは0人) 2021年9月: トライアルでサービス提供開始 2021年11月: 正式ローンチ 2021年12月: 利用ユーザー200名突破 2022年3月: 利用ユーザーが5倍(1000名)に成長 2022年3月: Coral Capital等からプレシリーズAで約2億円を調達 まだまだ(x100)なのは大前提として、創業1年経過のスタートアップ

                                                                                  SaaSなのにほぼノーコードで2億円調達した話|Kotaro Harada | HQ
                                                                                • 大規模アプリケーション開発運用をマルチテナント方式のGKEクラスタで実現した話 - MonotaRO Tech Blog

                                                                                  こんにちは。EC基盤グループの宮口(@smiyaguchi)と池田(@progrhyme)です。 モノタロウではKubernetesのマネージドサービスであるGoogle Kubernetes Engine(以下、GKE)を利用しています。 このKubernetesですがとても便利な反面、管理が大変で開発者がアプリケーションの開発とKubernetesの運用を同時に行うのは負荷が高くなりあまり好ましくありません。 そこでモノタロウでは開発と運用を分離できるように、社内でGKE共通環境と呼んでいるマルチテナント方式のクラスタによるアプリケーションの実行基盤を構築しました。 今回はその紹介をします。 マルチテナント・シングルテナントとは? なぜマルチテナントのGKE環境を作ることにしたのか 全体概要 前提・環境情報 GKE共通環境の特徴 Namespace・ノードプールの分離 RBACによる権

                                                                                    大規模アプリケーション開発運用をマルチテナント方式のGKEクラスタで実現した話 - MonotaRO Tech Blog