並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 1021件

新着順 人気順

アーキテクチャの検索結果201 - 240 件 / 1021件

  • Kubernetesネットワーク 徹底解説

    Kubernetesのネットワークの構築要件に対して、世の中には様々なアプローチがあります。 本書ではTCP/IPは知っているけれど、Kubernetesのネットワークの実現方法は知らない人向けに、メジャーな実現アプローチについてできるだけ噛み砕いてステップバイステップで体系的に説明します。

      Kubernetesネットワーク 徹底解説
    • macOSのM1とx86-64におけるベンチマーク比較の考察

      世間ではAppleの新しい製品に使われるARM64 CPUであるM1の話題でもちきりだ。ただし、日本語を話す記者というのは極めて非科学的かつ無能であり、M1の現物を手にしても、末端のソフトウェアを動かして、体感で早いだの遅いだのと語るだけだ。そういう感想は居酒屋で酒を片手に漏らすべきであって、報道と呼ぶべきシロモノではない。 と思っていたら、Phoronixがやってくれた。M1とi7で動くmacOSでベンチマークをしている。 これを考察すると、M1のMac Miniは、一世代前のi7のMac Miniに比べて、メモリ性能とI/O性能が高く、演算性能は低いようだ。このことを考えると、M1の性能特性としては、動画のエンコードやソフトウェアレイトレーシングをするには不向きだが、その他の作業は遜色ないだろう。 問題は、仮想化とRosettaを組み合わせることができないという点だ。x86-64のユー

      • 1000万ユーザに耐えるサーバを作ってみた

        概要 スケーラビリティが高く1000万ユーザに耐えるAPIサーバを作成しました。TwitterのようなSNSです。実装はGitHubで公開しています。 開発環境は次の通りです。 Node 16.14 Express 4.17.3 DynamoDB 2012-08-10 機能要件は次の通りです。 ツイート機能 ツイートに対してコメント機能 フォロー機能 タイムライン機能 導入 Facebook、Amazon、Youtubeのような数億人のユーザを抱えるサービスでは大量のトラフィックを捌く必要があります。大量のトラフィックを捌くためのアプローチとして一般的に使われるのはスケールアップではなくスケールアウトです。スケールアップは性能の高い機器を使うためにコストが高いです。また、1つのサーバで運用するためにパフォーマンスの限界が存在します。 スケールアウトについて考えます。アプリケーションは大きく

          1000万ユーザに耐えるサーバを作ってみた
        • エンジニアを分類する、3つのタイプ|山本 正喜 / Chatwork CEO

          エンジニアのタイプは、技術が好きか、プロダクトが好きか、組織が好きかの3つに大きく分類できる。技術の人は技術の本質を追求しテックリード/アーキテクト、プロダクトの人は技術を手段と割り切りフルスタックエンジニア/PdM、組織の人は開発生産性を高めようとEM/PMOを目指すことが多い — 山本 正喜 / Chatwork CEO (@cwmasaki) February 9, 2022 思っていた以上の反響をいただいて、いろいろと「このケースはどうなんだろ」というコメントも多数いただくので、この分類にいたった背景や考察などを、しっかり記事にしてみようと思います。140文字だと伝えきれない・・! エンジニアとしての志向性を技術・プロダクト・組織のどれが好きかで分類すると、目指すキャリアパスを考えやすいよねという話で、私がよくエンジニアの若手に話している内容をツイートしたものでした。 3つのタイプ

            エンジニアを分類する、3つのタイプ|山本 正喜 / Chatwork CEO
          • Kubernetes-nativeなアーキテクチャ導入の手引き 先進的なクラウド環境を最強テストベッドで体験|ハイクラス転職・求人情報サイト AMBI(アンビ)

            Kubernetes-nativeなアーキテクチャ導入の手引き 先進的なクラウド環境を最強テストベッドで体験 Kubernetes-nativeなエコシステムを実現する最強テストベッド環境です。さまざまなミドルウェアを運用したマイクロサービスをフルgRPCなサービス間通信で実現するだけでなく、CI/CDと開発環境も用意しています。 こんにちは。株式会社サイバーエージェントのAI事業本部でインフラエンジニアをしている青山真也(@amsy810)と漆田瑞樹(@zuiurs)です。今回は、Kubernetesが好きな2人が考える最強のKubernetes-nativeなお試し環境を構築してみました。記事公開時点で、総コミット数が900に迫るリポジトリになっています。 現在、Kubernetesとそれを取り巻くエコシステムは急速に発達しており、便利なツールやミドルウェアが日々生まれています。これは

              Kubernetes-nativeなアーキテクチャ導入の手引き 先進的なクラウド環境を最強テストベッドで体験|ハイクラス転職・求人情報サイト AMBI(アンビ)
            • 安く早く開発するための個人開発アーキテクチャ

              はじめに 最近趣味で個人開発をしながらアーキテクチャの検討を行なっていたのですが、自分なりにいい感じの結論に辿り着いたので今回はそのアーキテクチャの紹介しようと思います! インフラ、バックエンド、フロントエンドの各セクションに自分が使用しているテンプレートのリポジトリのリンクを載せてあるので興味のある方は参考にしてください。 また今回紹介するアーキテクチャはあくまで一例なので、間違いや不備などがあればご指摘いただければ幸いです。 前提条件 個人開発で使用するアーキテクチャを考える上で、自分の中でいくつか前提条件があります。 ランニングコストを抑える いくつか前提条件がある中で、個人的に一番重要な要素になります。 バズるサービスを作りたいという気持ちはありますが、そのためにいくらでもコストをかけられるかと言われるとそうではありません。むしろ個人開発となると、抑えられるコストはできる限り抑えた

                安く早く開発するための個人開発アーキテクチャ
              • マイクロサービスに次に来るかもしれない言葉について - arclamp

                2021年9月18日に開催されたXP祭り2021で「マイクロサービスに至る歴史とこれから」という講演をしました。資料は次の通りです。本来は75分ぐらいかかるのを45分で話そうとして、余裕で時間オーバーしてすみませんでした。 テクノロジーとテクニックによる進化の流れ テクノロジーやテクニックは、ITの改善サイクルを向上させるために進化を続けています。「技術そのもの」であるところのテクノロジーに対して、テクニックというのは「人による技術の活かし方」を示します。なので、基本的にはテクノロジーが生まれ、それを使いこなしたテクニックが登場することになります。 テクノロジーとテクニックの進化の歴史現在、進化中のテクノロジーであるCloud NativeやServerlessを前提としたテクニックを示す用語、つまり、マイクロサービスに次に来るかもしれない言葉というのは、時間軸からすると再来年ぐらいに出て

                  マイクロサービスに次に来るかもしれない言葉について - arclamp
                • Atomic Designをやめてディレクトリ構造を見直した話|食べログ フロントエンドエンジニアブログ

                  こんにちは。フロントエンドチームの金野と申します。 食べログでは現在、React+TypeScriptでフロントエンドのリプレースを進めています。 以前の記事で、食べログではAtomic Designをどのように取り入れているかの紹介をしました。 しかし、最近のリプレース作業では、Atomic Designとは異なるディレクトリ構造を採用しています。 今回の記事では、「なぜAtomic Designをやめたのか」という理由と、「どのようなディレクトリ構造にしたのか」を紹介します。 Atomic Designを導入したねらいと導入した結果 上記の記事で言及した通り、当初Atomic Designを導入したねらいは以下になります。 1. コンポーネントの責務がより明確になる 2. 見た目の粒度だけでなく、ロジックの責務も明確にできる 3. 「ドメインが入るか/入らないか」。「抽象的か/そうでな

                    Atomic Designをやめてディレクトリ構造を見直した話|食べログ フロントエンドエンジニアブログ
                  • https://twitter.com/at_sushi_/status/1592673880313057280

                      https://twitter.com/at_sushi_/status/1592673880313057280
                    • 本当に倒すべきだったのは jQuery ではなくテンプレートエンジンだった - fsubal

                      そうはっきり言ったほうが良かった。いや言わなくても伝わる現場は良かったんだけど、伝わらないままごく一部だけをコンポーネントに移行、それ以外はただ生 DOM API に変えて終わり(あるいは他は jQuery のまま)みたいな「モダン化」で済ます余地を与えたのは発信の失敗だった……という10年代の振り返り。 テンプレートエンジンはなぜ倒された方が(…といって悪ければ、変わったほうが)良いのかは端的に指摘できて、それは初回レンダリングしか考慮してないからだということになる。 Web の UI には状態変化がつきもの(になったのは実は最近の話)だが、テンプレートエンジンは1回目のレンダリングだけを担当し、変化した後の2回目以降の見え方は JavaScript が担当するというパラダイムを構成する。

                        本当に倒すべきだったのは jQuery ではなくテンプレートエンジンだった - fsubal
                      • 【2024年版】ChatGPT APIを社内利用する時に採用すべきアーキテクチャを考えた - Qiita

                        結論 社内システム上の多数のアプリケーションがChatGPT APIを活用しているというシチュエーションを想定し、AI共通基盤が持つべき機能とアーキテクチャを検討しました。 ポイントは以下の3つです。 社内システム上のあらゆるアプリケーションにChatGPT APIが組み込まれる未来が想定される アプリケーションごとに必要な実装は重複するため共通化が可能 Proxyサーバを社内に配置しそこで共通的な処理を行い、各アプリケーションはAPI呼び出しのみを行う 背景 -ChatGPT APIの2024年を予想する- 2023年5月現在のChatGPT APIの活用状況 2023年3月1日にChatGPT APIであるGPT3.5-turboがリリースされ、あらゆるプレイヤーによってこぞって活用方法が模索されています。 現在の活用状況について知見を深めたかったため、TwitterにてChatGPT

                          【2024年版】ChatGPT APIを社内利用する時に採用すべきアーキテクチャを考えた - Qiita
                        • 個人開発を加速させる効率アップ戦術

                          参考記事: https://www.bannerbear.com/blog/why-you-should-do-50-coding-and-50-marketing-as-a-solo-tech-founder/ ポストック: https://postock.app/

                            個人開発を加速させる効率アップ戦術
                          • Appleが、PowerPCとインテルを見捨てた理由

                            Tediumより。 AppleがPowerPCからIntel CPUに移行した時を振り返り、なぜ今、インテルが15年前のPowerPCと同じ立場にあるのかを考えてみよう。 アーニー・スミス Today in Tedium: おそらく、今日私が状況を説明しようとしている待望の瞬間は、ある意味で完全に避けられないでしょう。何年もの間、AppleはARMプロセッサ・アーキテクチャの知識を利用してデスクトップやノートパソコンにARMを持ち込むという噂がありました。来週の仮想ワールドワイド・デベロッパーズ・カンファレンスで、iPhoneの巨人がまさにそれを行うことを期待されています。もちろん、多くの人は失敗したパートナー、つまりAppleの垂直統合への動きにつながったビジネスの失恋相手であるインテルに焦点を当てることでしょう。しかし、私は、インテルがAppleを買収する途中で打ち負かしたプラットフォ

                              Appleが、PowerPCとインテルを見捨てた理由
                            • Vue___Vuex_のアーキテクチャ完全に理解した.pdf

                              PickGo_for_Partnerの移行方法から学ぶ_既存のネイティブアプリをFlutterへリプレイスする方法_.pdf

                                Vue___Vuex_のアーキテクチャ完全に理解した.pdf
                              • アーキテクチャオタクが Twitter の内情について妄想を垂れ流す

                                Yuta Okamoto @okapies Twitter のような巨大な分散システムが、どのくらいの人員がサボタージュしたら壊れるかなんて外からは分からないし、何だったら中の人間にだって分かってないかも。イーロン・マスクも含めてね。色々な可能性を考慮しつつ推移を見守るしかない。 twitter.com/100poisha/stat… 2022-11-19 17:38:11 ざんねん @100poisha Twitterのコア開発者が辞めたのでTwitter終了←まちがい Twitterのコア開発者が辞めたので代わりの開発者を雇わないと数年で終了←せいかい ソフトウェアは腐りますけど、だからといってメンテナンスしないと1日で腐り果てるほど脆くないんですよ。そのせいでメンテナンスせずに数年経って腐り文字数 2022-11-18 14:47:09

                                  アーキテクチャオタクが Twitter の内情について妄想を垂れ流す
                                • AWSをイチから学ぶには? AWSジャパンが最新勉強法を公開 学生や営業職にも

                                  アマゾン ウェブ サービス ジャパンが、AWS初学者向けの勉強方法を公式ブログにて紹介している。4月8日に公開されたもので、AWSを勉強する理由から、AWSが公開している資料やハンズオン、最新情報のキャッチアップ方法など、6つのステップに分けて学習の進め方をまとめている。 同記事は2022年に書かれた記事を最新の情報にアップデートしたもので、技術職だけでなく営業担当者や学生にも最適という基礎的な内容から、中級レベルを目指す人向けの学習方法を解説している。 基礎編として、AWSの導入事例などを通して「なぜ自分はAWSを勉強するのか」「ビジネス上の課題をAWSでどのように解決していくのか」を理解するための学習からスタート。基礎レベルの無償のオンライン講座や、定期的に開催している学習イベントを紹介。 勉強した内容を実践して身につけるため、AWSをRPGゲーム感覚で無料で学べる「AWS Cloud

                                    AWSをイチから学ぶには? AWSジャパンが最新勉強法を公開 学生や営業職にも
                                  • 僕とDDDとClean ArchitectureとやっぱりDDD - kenfdev’s blog

                                    2022/04/21更新 ふりかえってみて、この記事は手段と目的をごっちゃにしちゃった自分がよくわかる記事です。 DDDは「どうやってコードを書くか」が問題ではありません。その点を勘違いしちゃってるエンジニアの話として、続きを読みたい人は読んでください🙏 DDD(Domain Driven Design)って難しいですよね。難しい難しいとばかり考えていた僕もようやく最近になって少しずつわかってきた気がします。そのきっかけとなった書籍と僕のストーリーを本記事で紹介できたらと思います。 TL;DR Clean Architectureはなんとなくわかる DDDは難しい と感じている人は「Domain-Driven Design in PHP」を読むと道が拓けるかもしれない。 leanpub.com 僕とDDD DDDといえばEvansのドメイン駆動設計: エリック・エヴァンスのドメイン駆動設

                                      僕とDDDとClean ArchitectureとやっぱりDDD - kenfdev’s blog
                                    • それはYAGNIか? それとも思考停止か?

                                      DevLOVE X Day1 C-5のセッションです。 ITの活用範囲の広がりとともに、費用・品質よりもデリバリを優先するプロジェクトも増えてきました。しかし「しっかり考えるよりも、作ってリリースしちゃおうぜ、正解なんて誰にも分からないんだから」というマントラを唱えながら、返済見込みの立たない大量の技術的負債を抱える。それが最善の選択なのか、もう少しだけ立ち止まって考えてみませんか? YAGNIという言葉を便利に使いすぎてはいませんか? コードを書きなぐるのと、ちょっと考えて設計して作るのとで、そんなに開発スピードに違いがありますか? 考えてみたいと思います。 Read less

                                        それはYAGNIか? それとも思考停止か?
                                      • 🏗️ ドメイン駆動設計と依存性逆転の原則

                                        社内LTにて、ドメイン駆動設計と依存性逆転の原則を布教しましたʕ◔ϖ◔ʔ はてなブックマークのコメントもどうぞ! なお、ドメイン駆動設計を理解するためには、依存についても知る必要があります。 是非、依存関係と依存オブジェクト注入もご参照ください👍🏻

                                          🏗️ ドメイン駆動設計と依存性逆転の原則
                                        • Webフロントエンドの開発効率を高く保つための考え方

                                          これまでいろんな現場でWebフロントエンド開発をしてきて、メンテナンスしやすく効率の高いWebフロントエンド開発をする上で重要になる考えが自分なりにまとまってきたので記事にしてみます。 Worse is Betterという考え方 自分が見てきた中でWebフロントエンドの開発効率が落ちてしまう一番の要因は、きれいで理論的には優れているアーキテクチャを構築しようとしてそれ自体がもたらす複雑性を支えきれないというパターンです。 少し前にフロントエンドにClean Architecture(以下CA、あの同心円の図を指すのは誤用に近いですがここではそれに乗ります)を導入する記事が流行ったと思いますがあんな感じです。ああいったクラスベースでDIが重要となる設計手法はサーバーサイドのJavaでSpringを使うのとは違ってReactがサポートしているものではないため、CAの実現自体に高い設計スキルが必

                                            Webフロントエンドの開発効率を高く保つための考え方
                                          • SREやクラウドエンジニアが読むと良さげな本まとめ - Qiita

                                            一年半ぐらい前にアプリケーションエンジニアからSREにコンバートした筆者が、いま役に立ってるなぁっていう本を紹介します。アプリケーションコードを書いてるときは下のレイヤの技術に興味なかったんですが、改めて勉強してみると楽しいです。 コンピュータシステム クラウド全盛とはいえ、コンピュータの仕組みはおさえておくと役立ちます。コレ系の本はわりと小難しいものが多いですが、個人的に楽しく読めた本を紹介します。 Raspberry Piで学ぶコンピュータアーキテクチャ Raspberry Piと銘打たれてますが、コンピュータアーキテクチャの歴史的な背景も踏まえて解説されています。プロセッサ・メモリ・ストレージ・ネットワーク・OS・プログラミングなど、コンピュータ単体の基本的な知識を学べます。 歴史をあわせて知ることができるため、知的好奇心がおおいに刺激され、楽しく読むことができます。この本が難しく感

                                              SREやクラウドエンジニアが読むと良さげな本まとめ - Qiita
                                            • 小さいプロダクト開発におけるGCP利用の勘どころ - 個人的なプロダクトを三日でローンチした話 - Lean Baseball

                                              私個人の話なのですが. 最近は仕事でAWSやGCPのサーバレスアーキテクチャにふれる機会が増えた*1と同時に, 自分が気になる世の中のニュース(グルメとかいろいろ)だけをいい感じに集めてまとめて読みたい その中でも特に⚾, 速報とかいい感じに通知させたい という怠け者欲ライフハック欲が高まってきたので, GCP(とちょっとしたPythonスクリプト)でSlack Botを作りました. 趣味開発で雑にはじめた結果, 三日程度でできちゃった*2のでその知見をメモ代わりに残します. おしながき おしながき TL;DR 対象読者 作ったもの GCPをフル活用して実質三日でBotをローンチした Bot本体の開発 GCPの何を使うかで試行錯誤 プランA「GCEを使う」 プランB「Cloud Run + Cloud Scheduler」 採用した構成「Cloud Functions + Cloud Sc

                                                小さいプロダクト開発におけるGCP利用の勘どころ - 個人的なプロダクトを三日でローンチした話 - Lean Baseball
                                              • 初代iMacの写真を若者に見せたら「すごい!昭和ですね!」と言われた

                                                リンク Wikipedia IMac iMac(アイマック)は、1998年8月15日(日本語版は8月29日)に発売されたパーソナルコンピュータ、およびMacのディスプレイ一体型デスクトップ機のシリーズに付けられた名称。 デザインや内部アーキテクチャは当初のものから大きく変化しているが、2021年時点でもディスプレイ一体型デスクトップ機として販売されており、ノートタイプのMacBookとともに、Apple社の主軸をなす商品である。 スティーブ・ジョブズが1997年9月16日にiCEO(Interim CEO)として復帰した後のApple社は、i 25

                                                  初代iMacの写真を若者に見せたら「すごい!昭和ですね!」と言われた
                                                • M1 Mac ってなに? ぼくにも使える?

                                                  「x86 か x64 か選べって言われてもな...?? でかい方が強いのかい?」 「amd64 と arm64 の違い...?? 使ってる文字はだいたい一緒だね!」 くらいの知識の人が「強そうとか字面が似てるとかで判断するのはまずいかもしれない。ここはひとつ M1 Mac をいじりながらこんぴゅーたぁの勉強をしよう。」と思い調べたことをまとめました。 この本は M1 Mac やコンピュータの基礎の基礎の一部を超ざっくりと理解し、普段使っていてふと壁に当たったときに「ダイジョブ イマノオレナラ チョットワカル」という気持ちになれることを目的としています。 逆にこの本はコンピュータ発展の歴史を解説したり、画一的な用語の定義を議論したり、おすすめ設定集を紹介するものではありません。 M1 Mac を買おうか迷っている人や買ってみた人の参考になれば嬉しいです。

                                                    M1 Mac ってなに? ぼくにも使える?
                                                  • ソフトウェア設計原則は変更容易性に通ず - Shin x Blog

                                                    色々な原則や方法論はあれど、つまるところいかに変更容易性を確保するかと言う話に帰結するのでは。極論すれは、正しく動いていて変更する必要が無ければどのような作りになっていても構わない。一方、Web アプリケーションを稼働し続ける上で全く変更しなくて良いということもない。— Masashi Shinbara (@shin1x1) 2021年5月30日 ソフトウェア設計、開発には多くの原則や方法論がある。例えば、DRY 原則や SOLID 原則、デザインパターンにレイヤードアーキテクチャ、クリーンアーキテクチャなどある。さらに DDD にも多くの原則や方法論が含まれている。これらを変更容易性を高めるための手段として原則や方法論を捉えるというのが本エントリの論旨である。 原則や方法論の捉え方 変更容易性 本質的な変更と副次的な変更 外部変更容易性と内部変更容易性 原則を適用する指針 さいごに 原則

                                                      ソフトウェア設計原則は変更容易性に通ず - Shin x Blog
                                                    • 2020年に立ち上げたWebフロントエンド構成の振り返り

                                                      こんにちは、よしこです。 株式会社ナレッジワーク というスタートアップで、2020年4月の創業時から一人目のフロントエンドエンジニアをしています。 初期に考えて組み上げたスタックで1年半ほど開発・運用してみて、なかなか快適に日々開発ができているので 新規開発のプロダクト立ち上げ時にどのようにフロントエンドを構築したのか? 立ち上げから1年以上開発・運用を続けてきた今、それらの選択はどうだったのか? を記事にして振り返り、公開したいなと思いました。 (プロダクトの内容はステルスで進めていてあまり対外的な発信ができないので、かわりに技術的なところはどんどんオープンにしていきたいなという気持ちがあります) いろいろな項目ごとに振り返りたいので、この記事は各項目を横断するindexとして項目ごとの概要を簡単に説明し、深堀りは項目ごとに追って詳細な記事を書いていく予定です! 前提 プロダクトとしての

                                                        2020年に立ち上げたWebフロントエンド構成の振り返り
                                                      • Gメール利用のネット出願で不具合 認証コード届かず 神奈川 | 毎日新聞

                                                        神奈川県内の公立高校入試の出願に必要なインターネットの手続きで、志望校への出願が始まった24日、Gメール(@gmail.com)を利用している志願者に出願システムに入るためのメールが届かないなどの不具合が生じていることが分かった。県教育委員会が同日、発表した。 県教委によると、今年からインターネットによる出願が義務付けられた。志望校への出願の準備としてメールを事…

                                                          Gメール利用のネット出願で不具合 認証コード届かず 神奈川 | 毎日新聞
                                                        • モダンなソフトウェア設計の書籍 - kawasima

                                                          型駆動設計から始まるフォーマルなアプローチもカバーしているが、フォーマルな方法の簡単な紹介も含まれているもの。

                                                            モダンなソフトウェア設計の書籍 - kawasima
                                                          • フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記

                                                            モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装結果 Binary Translation実行を高速化するための様々なテクニック BasicBlock分まで複数命令をまとめて変換 TCG Block Chainingの実装 評価結果 TB Lookup and Jumpの実装 評価結果 まだ完成していないところ 一部の最適化はまだ未実装となっている ゲストアーキテクチャがx86のみとなっている。TCGによる複数プラットフォーム対応として、まずは環境のそろ

                                                              フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記
                                                            • Atomic Architecture

                                                              すえなみチャンス暑気払い 2019夏で話した、設計要素を分解して理解してみようという話です。 Simplicity makes easy to understand.

                                                                Atomic Architecture
                                                              • クリーンアーキわからんかった人のためのクリーンじゃないけどクリーンみたいなオニオンに見せかけたSOLIDの話

                                                                依存関係逆転則含む諸原則に苦しめられた方々,いかがお過ごしでしょうか. 今回はアプリ設計の話です.と言っても,前回「クリーンアーキわからんかった人のためのオニオンアーキテクチャ」というZenn記事を書いて,反響が大きかったのでリメイクしたいなという気持ちになり執筆することにしました. 前回同様,調べていく上で誤解していた部分や理解しにくかった部分を語った上で,オニオンアーキテクチャという,クリーンじゃないけどクリーンみたいな玉ねぎについて紹介するのですが,今回はわかりやすい図解であったり,実際にどのような実装をしていくべきなのかを話の話題として加えていければ良いかな?って思っています. これは前回の記事である「クリーンアーキわからんかった人のためのオニオンアーキテクチャ」の記事の裏話的な話を一つさせてください. 今年の11月初め頃に,サポーターズという企業の学生が登壇できるLT会があり,私

                                                                  クリーンアーキわからんかった人のためのクリーンじゃないけどクリーンみたいなオニオンに見せかけたSOLIDの話
                                                                • SaaS系スタートアップのリアルなAWSアーキテクチャ設計

                                                                  概要 AI革命のインフラを目指すSaaS系スタートアップのFastLabel(最近資金調達しました!記事はこちら)で働いているが、今までGCPで動かしていたインフラを訳あってAWSに基盤を載せ替えることになった。 スタートアップは何よりスピードが求められるが、だからといってセキュリティやモニタリング、可用性を疎かにはできないし、大きなインフラコストに耐えられるほど体力もない。 アプリケーション要件を満たしつつ、以下を実現するアーキテクチャを設計する。 シンプルな構成・構築の容易さ スピーディな開発・適用 可用性の担保 セキュリティの担保 最低限のモニタリング 低コスト(リソース・運用) ここで紹介するアーキテクチャは実際に運用まで行っており、問題なく稼働しているし、先日AWSの方にレビューしてもらったが、「なかなかイケてる」というお言葉をもらい、特に改善点も指摘されなかった。 結論(アーキ

                                                                    SaaS系スタートアップのリアルなAWSアーキテクチャ設計
                                                                  • マイクロサービス化は本当に難しい

                                                                    はじめに この記事は、AEON Advent Calendar 2023の21日目です🎉 イオンスマートテクノロジー株式会社(通称AST)のCTO室TechLeadチームの@t0doroki_takaです。弊社ではSREチームの発信に勢いがありますが、アプリケーションレイヤーよりの話題も積極的に発信していければと思います。 自分の敗戦の振り返り 以前、大規模ECシステムのリプレース案件に関わった時(そして敗戦したとき)の振り返りです。 今回取り上げるケーススタディは、システム全体(連係するシステム含む)としては段階的移行ではありましたが、主ターゲットとなるシステムは、全EC機能を包括する大規模なシステムで、それをフルスクラッチでリプレースするものでした。 巨大なモノリス構造であったため、マイクロサービスアーキテクチャに移行することで、サービス提供のアジリティを確保することが目的の一つでし

                                                                      マイクロサービス化は本当に難しい
                                                                    • ウォーターフォールを殺しにきている書籍「継続的デリバリーのソフトウェア工学」を読んだ - 勘と経験と読経

                                                                      読むのがホネな(積みがちな)技術書やビジネス書を取り上げて2週間の読書期限を課して読んでアウトプットする仮想読書会「デッドライン読書会」の第52回。常時、けっこうな量の積読があるのだけれども、知り合いと読書期日を約束することによって消化が捗るという仕組み。過去5回分のログはこんな感じ。 #51 V字モデルの深淵を覗き込んで反省する:「単体テストの考え方(UTPPP)」を読む(後編) - 勘と経験と読経 #50 V字モデルの深淵を覗き見た気分:UTPPPを読む(前編) - 勘と経験と読経 #49 「デジタルトランスフォーメーション・ジャーニー」でDXできる? #デッドライン読書会 - 勘と経験と読経 #48 頭を良くしたいので「哲学思考トレーニング」を読んだ #デッドライン読書会 - 勘と経験と読経 #47 いまさら「マスターアルゴリズム」読んだ #デッドライン読書会 - 勘と経験と読経 さ

                                                                        ウォーターフォールを殺しにきている書籍「継続的デリバリーのソフトウェア工学」を読んだ - 勘と経験と読経
                                                                      • 12のソフトウェア・アーキテクチャの落とし穴とその避け方

                                                                        これは、多数派が支配すべきだという意味ではない。委員会によって設計されたアーキテクチャは、肥大化し、焦点が定まらない傾向がある。私たちの経験では、理想的なバランスとは、多様な経験と視点を持つ数人の仲間が、より良い情報に基づいた決定を下すために、主張に異議を唱えることである。 再利用の目標が誤った決定を左右するようなことがあってはならない。その代わり、再利用は理にかなった場合のみ行うこと。 コード、コンポーネント、設計、あるいはコンフィギュレーションの再利用は、最初は良いアイディアのように聞こえる。経営陣は、再利用によってコストが削減され、納期が短縮され、品質が向上すると信じて、このコンセプトを推進したがる。チームは、MVPをより早く提供するために既存のアプリケーションの大部分を再利用することを決定するかもしれないし、かなり成功した製品を提供するために作成された既存のアーキテクチャを再利用す

                                                                          12のソフトウェア・アーキテクチャの落とし穴とその避け方
                                                                        • 「ソフトウェアアーキテクチャの基礎」読書感想

                                                                          2010年代を乗り越えてきた経験者が読むと良さそうという噂を聞いたので読んでみた。 内容まとめではなく感想です。各章のタイトルだけは丸々記載してますが、目次として上記ページで全て公開されているものです。 ちなみにこれ書いている私はソフトウェアアーキテクトではなく、フロントエンドアプリケーションの設計を担当するテックリードぐらいのレイヤーです。この書籍の中でいう「開発者」です。 業務ではフロントエンドアプリケーションの設計・実装をしています。 全体的な感想 1章(イントロダクション)、22章(効果的なチームにする)、23章(交渉とリーダーシップのスキル)が特によかった。 やっぱ "結局人" の部分が刺さってしまう。 心に書きとめておきたい3つを挙げるとしたら以下。 ソフトウェアアーキテクチャとは「構造」「アーキテクチャ特性」「アーキテクチャ決定」「設計指針」の4つから成る 「一見どう見えよう

                                                                            「ソフトウェアアーキテクチャの基礎」読書感想
                                                                          • クラウドのアーキテクチャ図作成ツール「CloudSkew」、Webブラウザから無料で利用可能。AWS/Azure/GCP/Kubernetes/Oracle Cloudなどマルチクラウド対応

                                                                            クラウドのアーキテクチャ図作成ツール「CloudSkew」、Webブラウザから無料で利用可能。AWS/Azure/GCP/Kubernetes/Oracle Cloudなどマルチクラウド対応 クラウドのアーキテクチャ図を作成するためのWebアプリケーション「CloudSkew」が公開されています。 AWS/Azure/GCP/Kubernetes/Oracle Cloud/HashiCorp/Alibaba Cloudなど人気のクラウドやツールのアイコンがあらかじめ用意されており、Webアプリケーションとして提供されているためインストール不要で、誰でも無料で利用可能です。 操作は一般的なドローツールと同じように、左側からアイコンを選んで真ん中の図に置き、アイコン同士を矢印でつなげていくことでアーキテクチャ図が作成されていく、という感じです。 開発しているのは、元マイクロソフトのエンジニアを

                                                                              クラウドのアーキテクチャ図作成ツール「CloudSkew」、Webブラウザから無料で利用可能。AWS/Azure/GCP/Kubernetes/Oracle Cloudなどマルチクラウド対応
                                                                            • 「しずかなインターネット」の技術スタックを調べる - laiso

                                                                              ポエム特化のZenn2との噂の「しずかなインターネット」を使いはじめたので、ユーザーとしてどんな技術が使われているのかを確認していく。 sizu.me おもむろにbuiltwith.comにかけてみる。 builtwith.com ここで分かる情報はブラウザのDevTools眺めてても得られるのであまり収穫はない。 前段にCloudflareのCDNサーバーがいて Next.jsで生成されたレスポンスを返している ことがわかる。 この時点ではキャッシュのみCloudflareなのか、Pages/WorkersでNext.jsのSSRごと動かしているのかは判断できない。 認証 Set-Cookie: __Secure-next-auth.session-token=が含まれているのでNextAuth.jsを使っているのが分かる。 next-auth.js.org Emailでサインアップする

                                                                                「しずかなインターネット」の技術スタックを調べる - laiso
                                                                              • ソフトウェアエンジニアにおすすめしたい本を100冊選んでみた | gennei's blog

                                                                                Adobe Firefly で生成PdMむけの記事でこのような記事がある。 「プロダクトマネージャーこそ、戦略的に読書せよ!」── 最短で成果を出すための読書地図 (1/6)|ProductZine(プロダクトジン) これのエンジニア向けの記事がないかなと思っていたがなさそうだったので作ろうと思った。しかし客観的な視点でこれがおすすめというのは難しいので自分が参考になったと思った本を家の本棚を見ながらまずは100冊リストアップしてみた。 紹介する本は10年読まれていたり、近年発売のものであれば10年後にも読まれているだろうというものを選ぶようにしている。個別のプログラミング言語やフレームワークなどの本はバージョンアップに追随ができないことが多いので選んでいない。 入門本プリンシプル オブ プログラミングリーダブルコード定番中の定番。おそらくこの2冊はあちらこちらで紹介されている。とりあえず

                                                                                  ソフトウェアエンジニアにおすすめしたい本を100冊選んでみた | gennei's blog
                                                                                • WebAPIを構築する際にAPI Gateway+Lambdaを選択するべきか?

                                                                                  はじめに このツイートに結構反響があったので、雑になるがとにかく自分の考えをダンプする。もともと書いていた記事はうっかりやらかしてデータロストした、泣きたい。 話をわかりやすくするために、ALB+ECS(Fargate)を使ってWebAPIと対比して説明しているが現実はもっと複雑である。 引用リツイートをもらえた部分などについてもアンサーっぽいことも書いていく。 AWS利用費と人件費の話 AWS上にWebAPIを構築する際に、AWS利用費の削減をモチベーションとしてApiGW+Lambda構成が、採用されることがある。確かにAWS利用費は下がるがApiGW+Lambda構成を設計〜運用するためにはAWSに関する知識の中でもとくに専門的な知識が必要になる。こういった人材を雇用または外部へ発注し続けることは人件費に跳ね返ってくる。 ApiGW+LambdaがWebAPIのための構成として唯一無

                                                                                    WebAPIを構築する際にAPI Gateway+Lambdaを選択するべきか?