並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 1830件

新着順 人気順

アーキテクチャの検索結果41 - 80 件 / 1830件

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

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

      技術選定/アーキテクチャ設計で後悔しないためのガイドライン - Qiita
    • React を深く知るための入り口

      Reactに対する見方をアップデートする 国内外の優れた開発者の方による React の各論の記事は枚挙にいとまがありません。しかし、React の入門を一通り終えた方に向けの浅く広い総論はあまり見かけません。 React の公式ドキュメントのトップページに掲載されている短い3つの文章があります。この React の本質を表現した文章を掘り下げることが、初学者のステップアップにつながるのではないかと考え、各章に対して注釈を加えました。 React について少し深く知ることで、さらに React を好きになったという方を一人でも多く増やしたい。その思いから本記事を執筆しました。 本記事は React の考え方を知ることで、React に対する見方をアップデートすることを目的としています。 Reactとは何か。それはUIを構築するためのJSライブラリである React公式ドキュメントの一文 R

        React を深く知るための入り口
      • はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog

        はてなブログでSREをやっているid:cohalzです。 2019年12月頃からid:utgwkkやid:onkとともに、はてなブログにおけるキャッシュ周りの改善を行いました。その結果、次のような成果が得られました。 ブログ記事のキャッシュヒット率が、1日平均で8%から58%に向上 アプリケーションサーバの台数を、以前の半数以下に削減 DBに届くリクエスト数が、以前の3分の2まで減少 レスポンスタイムの平均が、以前の8割まで減少 この記事では、実際にどういった改善を行ったのか、その際に気をつけたことや大変だったことを紹介します。 はてなブログがVarnishを導入した経緯と課題 開発合宿をきっかけに問題が明らかになる 進め方をまず考える ホストのメモリをできるだけたくさん利用する メモリを積んだホストでなぜかレイテンシが悪化 キャッシュが分散しないようVaryヘッダを使う デバイス情報を適

          はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog
        • 設計・ソフトウェアアーキテクチャを学べるGitHubリポジトリ 16選

          はじめに 今回の記事では、設計やソフトウェアアーキテクチャを学べるGitHubリポジトリを16個紹介する。 対象とする読者 設計やソフトウェアアーキテクチャに興味関心があるエンジニア GitHubをエンジニアリングの情報収集に活用したいエンジニア タイトルで気になった人 Architectural Patterns システムの基本的な構成を理解するためのパターンやテンプレートを提供している。これらのパターンを学ぶことで、システムの構造やコンポーネントの関連性、相互作用を理解できる。これが開発者にシステムをより効率的かつ効果的に設計・実装する能力をもたらす。 Design Patterns for Humans 設計パターンを人間が理解しやすい形で説明している。デザインパターンは特定の問題に対して再利用可能なソリューションを提供する。これによって、開発者はより効率的にコードを記述でき、メンテ

            設計・ソフトウェアアーキテクチャを学べるGitHubリポジトリ 16選
          • Kubernetesをゲーム感覚で腕試しできるサイト「Game of PODs」で遊ばないと年を越せない・2021冬

            この記事はFixer Advent Calendar 9日目の記事です。 はじめに 最近CKADの受験して一旗上げようと画策しているなむゆです。 Kubernetesについて学ぶ中で、腕試しに使えそうな面白そうなサイトを見つけたので紹介してみようという回です。 Game of PODsとは Game of PODsとは、無料で遊べるKubernetesの問題集です。 Kubernetesクラスターにアプリケーションを展開したり、クラスターで起きている問題を解決することを通してそれらの方法を学ぶことができます。 この問題集はKodeKloudというサービスに提供されている教材のひとつで、KataKodaという教材用環境サービス内でホストされている仮想環境にアクセスしてハンズオン形式で課題を解くことができることが特徴です。 問題の内容としては、あるアーキテクチャが与えられて、「このアプリケーシ

              Kubernetesをゲーム感覚で腕試しできるサイト「Game of PODs」で遊ばないと年を越せない・2021冬
            • マイナンバーとマイナンバーカードの歴史 似て非なる2つの仕組みを理解する

                マイナンバーとマイナンバーカードの歴史 似て非なる2つの仕組みを理解する
              • React ステート管理 比較考察 - uhyo/blog

                こんにちは。Reactの話題の中でもかなりの部分を占めるのがステート管理、さらに言えば各種のステート管理ライブラリです。今さらながら、Reactにおけるステート管理の手法やいくつかのステート管理ライブラリを比較考察して記事にまとめました。 useState + バケツリレーReactにおける基本的なステート管理はuseStateです。ひとつのコンポーネント内で完結するようなステートならばuseStateは非常に適しており、他の選択肢はほぼ無いと言っても構わないでしょう。 ステートをアプリケーションの広範囲で使いたい場合が問題です。次の画像に例示されるように、分岐したコンポーネントツリーの末端のコンポーネント(使用者)で同じステートを参照したい場合を考えます。 useStateと組み合わせる場合、もっとも原始的な方法はpropsのバケツリレーによるものです。propsは親コンポーネントから子

                  React ステート管理 比較考察 - uhyo/blog
                • 個人開発を7年以上続けて分かった技術選択のコツ

                  技術革新に適応しようとするイヌさんInkdropというMarkdownノートアプリを作り続けて7年になる。 お陰さまでその売上でずっと生活できている。 これまで個人開発でどう継続していくかについて「ユーザの退会理由をあれこれ考えない」とか「アプリの売上目標を立てるのをやめました」とか、ビジネス面あるいはメンタル面からいろいろ書いてきた。 今回は、技術面にフォーカスして、どう継続して開発していくかについてシェアしたい。 TL;DR最初はとにかく最速でリリースする事を最優先する迷ったら「ときめく方」を選べ程よいところで切り上げて開発を進める使っているモジュールがdeprecatedされるなんてザラだと覚悟する古いから悪いとは限らないシンプルにしていく老舗から継続の秘訣を学ぶ運ゲー要素は排除しきれない最初はとにかく最速でリリースする事を目標に技術選定する開発計画とビジネス計画は切っても切り離せな

                    個人開発を7年以上続けて分かった技術選択のコツ
                  • Linuxコンテナの「次」としてのWebAssembly、の解説

                    はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

                      Linuxコンテナの「次」としてのWebAssembly、の解説
                    • ソフトウェアアーキテクチャの基礎

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

                        ソフトウェアアーキテクチャの基礎
                      • ブラウザで動くサービスを作るときの技術選定

                        はじめに 私の仕事は、新規サービスをまるっといい感じに開発するのを委託されることがほとんどです。最近はネイティブアプリを作ることよりもブラウザで動くWebサービスを開発することが多いのですが、案件の規模感や要求によって技術選定を少し変えるようにしています。「こういうときはこう」みたいに一概には言えないのですが、普段使う構成を紹介します。誰かの参考になれば幸いです。 2022/02/10 現在での内容です。 前提 開発を委託される場合の運用費をどうするの問題があります。クライアントにクレカ登録をしてもらうか、こちらで支払って毎月請求するかになります。僕は毎月やるのがめんどくさいのでできるだけ前者に倒している関係上、あまりいろいろなSaaSを組み合わせて作ることをなるべく避けています。 規模感によらず使っているもの 私の場合、以下が使えるとめちゃくちゃ効率よく開発できます。 GCP 好きだから

                          ブラウザで動くサービスを作るときの技術選定
                        • プログラムの可読性を上げるための条件分岐を減らす方法7個 - Qiita

                          Help us understand the problem. What is going on with this article?

                            プログラムの可読性を上げるための条件分岐を減らす方法7個 - Qiita
                          • 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
                              • この書籍について · JavaScript Plugin Architecture

                                JavaScript Plugin Architecture この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャについて見ていくことを目的としたものです。 次の形式で読むことができます。 Web版 PDF形式 ePub形式 Mobi形式 この書籍のソースコードは、次のGitHubリポジトリに公開されています。 azu/JavaScript-Plugin-Architecture: JavaScriptプラグインアーキテクチャの本 Twitterのハッシュタグは#js_plugin_book 更新情報はRSSやリリースノートから見ることができます。 はじめに JavaScriptの世界では1つの大きなライブラリよりも小さなライブラリを組み合わせていくようなスタイルが多く見られます。小さなものを組み合わせて作るためには、プラグインと呼ばれる拡張の仕組みが必要とな

                                • 今さら聞けないログの基本と設計指針 - Qiita

                                  はじめに 皆さんのログに対する理解はどんなものでしょうか?仕組みから設計方法まで完璧に理解しているエンジニアもいれば、なんとなく使用しているエンジニアも多いことでしょう。 ログとは、システムに着いてエラーや障害の発生、利用者による操作や設定の変更、外部との通信などを時系列に記録したものです。ログに関する理解を深めることで、複雑なシステム開発や運用が可能となります。また、AWS、Azure、GCPなどのクラウドサービスを利用している場合はシステムの開発が可能になるだけでなく、経費削減に繋がる可能性も考えられます。 本記事では、ログの基本を押さえるためにその設計方法について解説します。少しでも自信がない方は、ご一読ください。 ログを出力する理由は? ログの基本や、ログの設計について解説する前にそもそもログを出力する理由を押さえましょう。大きく4つの理由が考えられます。 ・問題が発生した時に調査

                                    今さら聞けないログの基本と設計指針 - Qiita
                                  • サーバレスアーキテクチャによる有料ライブ配信サービスの構築

                                    ライブ配信を支える技術 2019年10月4日(金)〜6日(日)開催の「水曜どうでしょう祭2019」では<昼の部>の有料ライブ配信を実施。その技術サイドのお話をいたします。社内外の多くの方のご協力があってほぼほぼ内製で構築することができました。今回の構築をざっくりですが、残しておきたいと思います。 全体のざっくり構成図 会場からクラウドにあげるまで Media Services API橋渡し(DRM)(決済・認証) ネットワーク フロントエンド プロジェクト管理 1.会場からクラウドにあげるまで テレビ中継車から会場のビジョンに出しているものを中継します。 今回はHTB本社で放送用に受けた映像を分岐してもらいました。 この映像をSDIからHDMIに変換してLiveShellPro2台を用いてRTMPでAWSであげます。 AWSまではNTT東日本さんのCloudGateway Applipac

                                      サーバレスアーキテクチャによる有料ライブ配信サービスの構築
                                    • なぜマイクロサービスは失敗するのか? - kawasima

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

                                        なぜマイクロサービスは失敗するのか? - kawasima
                                      • なぜMACアドレスとIPアドレスは両方必要なのか?

                                        この記事は,ネットワークの学習の序盤につまずくポイントである 「MACアドレスとIPアドレスってどっちか片方だけじゃだめなの?」「レイヤ2と3って結局何が違うの?」 という疑問について,私なりの回答をまとめた記事です。世に不正確な記事が出回っているように見受けられるので,正確な回答をまとめたく、長文になってしまいました。とはいえ,初学者向けにかなり初歩的なところから書いたつもりですので是非読んでみてください。 この記事について この記事を読むと何が分かるか MACアドレスとIPアドレスの役割の差が分かる レイヤ2(=同一サブネットの通信)とレイヤ3(=サブネット間の通信)の仕組みが分かる ネットワーク設計時にレイヤ2・レイヤ3のいずれで設計すべきか判断できる なお,教科書的な説明ではなく,概念や捉え方の説明となっていますので,試験勉強には役立ちません。実務としてネットワーク設計を行う方の役

                                          なぜMACアドレスとIPアドレスは両方必要なのか?
                                        • ググり時間をぶった切る。AWSを最速で攻略するサイト13選 - Qiita

                                          はじめに 自分がAWSをこれっぽっちも知らない頃、 ググって出てきたどこか知らんサイトからだと、「欲しい情報はこれじゃない」ってのが多くあった。 そんなこと繰り返していると エラー、トラブル時に即対応できない 間違って構築したせいで運用時に悪化してしまう 古いソースコードでエラーがでて動かない これで無駄な時間を過ごすことになる。 要は「ググって得たその情報で、作ったものは正しいのか?」 AWSは常にアップデートされ続ける 欲しい情報を手に入れるまで調べる時間を割くなら、 公式展開してるサイトから得たほうが正確である。 ということで、最速でAWSを攻略するサイトをまとめる。 この記事をブックマークでもしておくと、ググる手間も省けるだろう。 目次 AWSドキュメンテーション AWSサービス別資料 トレーニングライブラリ AWSブログ アーキテクチャーセンター ワークショップをする よくある質

                                            ググり時間をぶった切る。AWSを最速で攻略するサイト13選 - Qiita
                                          • 5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO

                                            「最近、モダンモダンすげぇ聞くけどモダンってなに?」 「人の数だけモダンはあるんだよ…」 近年、パブリッククラウドを主軸としたアプリケーション開発文脈の中で「モダンアプリケーション」という言葉をよく聞くようになりました。自分もMAD(Modern Application Development)事業部の部長を去年やっていたりして、モダンという言葉には人一倍敏感だったりします。 そんなおり、そのモダンアプリケーションについて真正面から解説する本を、著者の落水さんから献本いただいたので、僭越ながら書評という形でご紹介させていただきます。 モダンがなにかようやくわかるの…!? ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 丸わかりやで。 書籍の概要「AWSで実現するモダンアプリケーション入門」 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイ

                                              5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO
                                            • Suicaの新改札システムはようやっとキタ感が強いよねって話とか何ができるようになるのかとか耐障害性の話。 - O-Lab +Ossan Laboratory+

                                              あー、やっとアーキテクチャ(システムの構造、の意)が完全に変わるんだ。っていう感想。 私が交通系ICカード開発の仕事に関わってたのがもう20年近く前で(正確には15〜6年前)その頃から今日まで全くアーキテクチャの基本構造が変わってなかったんですよ。 www.watch.impress.co.jp www.itmedia.co.jp 20年変わらないってのも、なかなかすごいよね。ある意味、完成された構造だったわけですけども。 とはいえ通信速度が向上したら、ネットワークの信頼性が向上したら、いずれこの形になるのは想定されてました。 逆に言うと20年経ってようやく「新しい形式に移行できるぜ!」ってなったわけで、検証もこの間に重ねられてきてたって事だと思います。 思いつきで移行なんかしないですよ、鉄道会社の方々って。 だって障害発生したらニュースになるんだものw 私は過去に下記のようなブログとかも

                                                Suicaの新改札システムはようやっとキタ感が強いよねって話とか何ができるようになるのかとか耐障害性の話。 - O-Lab +Ossan Laboratory+
                                              • デジタル庁のデータ分析基盤「sukuna」|デジタル庁

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

                                                  デジタル庁のデータ分析基盤「sukuna」|デジタル庁
                                                • ChatGPT - LLMシステム開発大全

                                                  ChatGPTとLLMシステム開発について纏めた187ページ資料です。 2024/04 名称を改め資料を大幅にアップデートしました! 今後も随時更新していきます。 データサイエンティスト協会での発表動画はこちら。 https://youtu.be/l9fpxtz22JU Build Japanでの発表はこちら。 https://youtu.be/UEZzx6a005g?si=Ot8EO2bv8yhQQEcy 2023/7/28 体裁修正、余計なページを削除 2023/12/12 RAG、API仕様、モデルのページを追加。また情報を最新化。 2024/04 名称を改め資料を大幅にアップデートしました! 1. LLM - GPTの全体像 LLM - GPT とは何なのか ~チャットAIを例にした動作イメージ~ 大規模言語モデル(LLM)が持つ基礎能力 デジタルツールとLLMの連携 GPTに関す

                                                    ChatGPT - LLMシステム開発大全
                                                  • Microservices における認証と認可の設計パターン

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

                                                      Microservices における認証と認可の設計パターン
                                                    • Micro Frontends Architecture Patterns

                                                      本書は、Micro Frontends Architecture Patternsというタイトルを付けていますが、モノリスからJAMstack、Micro Frontendsまで、Webフロントエンドを包括した様々なアーキテクチャパターンの詳細を体系的に紹介しています。 ソフトウェアとしてのアーキテクチャ全体を俯瞰し、他のシステムとのやりとりを設計するような考え方が役に立つことは多いです。フロントエンド観点で、様々なアーキテクチャパターンをまとめることで、Web開発の助けになればと考えています。 また、アーキテクチャの歴史と変遷を知ることで「Micro Frontends」への理解を深めることができると筆者は考えました。Micro FrontendsはThoughtWorksのTechnology RadarではすでにADOPTとなり、海外で多くの事例が存在します。Micro Fronte

                                                        Micro Frontends Architecture Patterns
                                                      • 「問題から目を背けず取り組む」 �一休の開発チームが6年間で学んだこと

                                                        Developer Summit 2020 発表資料 #devsumi

                                                          「問題から目を背けず取り組む」 �一休の開発チームが6年間で学んだこと
                                                        • 日米でエンジニアの育成戦略が正反対だと気付いた話 - メソッド屋のブログ

                                                          今週は、Thanksgiving はお休みムードなので考える時間や、自分の本についてディスカッションしている バンクーバーのえんじに屋さんのPodcast なんかを聞かせていただいたりしてるうちに、思い出したことがあって、記録に残してみることにした。それは、エンジニアの育成方針でこれはめっちゃくちゃ違うことに気づきましたので、シェアさせていただきたいと思います。 日米でエンジニアの育成戦略が正反対だと気付いた話 採用の段階での違い 良く知られているように、新卒のケースで考えると、こちらの場合は「コンピュータサイエンス」の学位を出ていることが前提で、中途採用の場合も、「コンピュータサイエンス」の学位を出ている、もしくはそれ相当する知識が求められる。だから、新人でも少なくともプログラムが結構組めることを期待されます。 一方、日本では文系でも理系でもプログラマになれます。採用されたときに「スキル

                                                            日米でエンジニアの育成戦略が正反対だと気付いた話 - メソッド屋のブログ
                                                          • ソフトウェアアーキテクトに必要なシステム設計知識を学んだ17冊 - yoshikipom Tech Blog

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

                                                              ソフトウェアアーキテクトに必要なシステム設計知識を学んだ17冊 - yoshikipom Tech Blog
                                                            • Twitter を作るのはなぜ難しいのか

                                                              Fumihiko Shiroyama @fushiroyama 父、博士課程 Senior Software Engineer @Microsoft 👨🏻‍💻 / ex-@amazon All opinions are my own. note.com/fushiroyama/ Fumihiko Shiroyama @fushiroyama Twitterみたいな緩いつながり、TLひとつ実装するだけでも普通のウェブシステムみたいなクエリでは取れなくてちょっと考えれば非常に複雑なシステムであることは明白だし、システムアーキテクチャの試験の定番トピックだったりするので「誰でも作れる」とか「簡単」みたいなのはご指摘申し上げたくなる 2022-11-22 02:16:50 Fumihiko Shiroyama @fushiroyama 昔つぶやきましたが例えばこの記事を読むと分かりやすいです

                                                                Twitter を作るのはなぜ難しいのか
                                                              • 100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順 - エンジニアHub|Webエンジニアのキャリアを考える!

                                                                100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順 マイクロサービスの導入事例を、中の人が徹底的に語ります。クックパッドでは、100万行オーバーの超巨大なRuby on Railsアプリのマイクロサービス化に挑みました。アプリをいかに分離し、連携できるようにするか、など、同社が採ったマイクロサービス化の戦略を聞きました。 Ruby on Railsのバージョンアップに1年かかっていた 【マイクロサービス化戦略】まずはコードを減らすことから 【マイクロサービス化戦略】アプリ固有のバッドノウハウを減らす 【マイクロサービス化戦略】まずは分離しやすい部分からお試しで 【マイクロサービス化戦略】データベースが切れていればサービスも切りやすい 【マイクロサービス化戦略】インフラ構成を標準化する 【マイクロサービス化戦略】サービスメッシュを入れて通信の課題をクリ

                                                                  100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順 - エンジニアHub|Webエンジニアのキャリアを考える!
                                                                • 電子情報学特論:Chromiumのアーキテクチャを解き明かす

                                                                  電子情報学特論: Chromium のアーキテクチャを解き明かす 〜 EEIC の授業が生きるプロダクトの世界〜 Kentaro Hara 2022 April (๑>ᴗ<๑) * * * *

                                                                    電子情報学特論:Chromiumのアーキテクチャを解き明かす
                                                                  • プロジェクトX、出演NGなのでは。あるいは富士通半導体の敗北の歴史

                                                                    富士通に忖度してるとか言ってるけど、あれ、普通に取材NGだったんじゃないかな。 当時の経緯を知ってると「私の名前は出さないでください」ってなったとしても不思議じゃないと思う。そうなれば当然NHKも富士通も触れないし、本人が拒否したんですなんて発表するわけもないし(例え親族が声を上げたとしても) 京コンピュータって、富士通半導体の最後の打ち上げ花火だったんだよ。 当時の話京の開発が進み、実際に生産されるころは、経営方針として富士通は半導体撤退をするかどうかで揉めていたころだった。 京コンピュータは、富士通が自社工場で作った最後のスパコンであると同時に、国のトップ開発のHPCにおいて、富士通が単体で作り上げた初めてのHPCでもあった。 これは、富士通が優れている、というよりも、逃げ遅れたと表現してもよいかもしれない。HPCのプロジェクトからは、NECと東芝が次々と撤退していたのだ。 当時半導体

                                                                      プロジェクトX、出演NGなのでは。あるいは富士通半導体の敗北の歴史
                                                                    • 機械学習システムの設計パターンを公開します。

                                                                      メルカリで写真検索とEdge AIチームに所属している澁井(しぶい)です。機械学習のモデルを本番サービスに組み込むための設計やワークフローをパターンにして公開しました。 GithubでOSSとして公開しているので、興味ある方はぜひご笑覧ください! PRやIssueも受け付けています。私の作ったパターン以外にも、有用なパターンやアンチパターンがあれば共有してみてください! GitHub:https://github.com/mercari/ml-system-design-pattern GitHub Pages:https://mercari.github.io/ml-system-design-pattern/README_ja.html なぜ機械学習システムのデザインパターンが必要なのか 機械学習モデルが価値を発揮するためには本番サービスや社内システムで利用される必要があります。そのた

                                                                        機械学習システムの設計パターンを公開します。
                                                                      • システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers

                                                                        Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について論じた論文の内容について説明したもので、ユーザベースのSaas Productでのテック発表の一つとしてプレゼンしたものを、ブログとして再度まとめたものです。プレゼン自体は25分くらいでしたので、おそらくこの記事の方がプレゼンよりも詳しいと思います。 ソフトウェア危機 ソフトウェアは本質的に複雑 ソフトウェアの複雑さはどこから来るのか? 複雑さは、別の複雑さを産む 複雑さを分類する 本当に必要な複雑さと、そうでないものがある どうやって複雑さを扱うのか

                                                                          システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers
                                                                        • サーバーレスアーキテクチャ再考 - ゆううきブログ

                                                                          2014年にAWS Lambdaが登場し、Functionを単位としてアプリケーションを実行する基盤をFunction as a Service(以下、FaaS)と呼ぶようになった。 そして、同時にサーバーレスアーキテクチャ、またはサーバーレスコンピューティングと呼ばれる新しいコンセプトが普及するに至った。 当初、そのコンセプトが一体何を示すかが定まっていなかったために議論が巻き起こり、今現在では一定の理解に着地し、議論が落ち着いているようにみえる。 しかし、サーバーレスという名付けが悪いということで議論が着地したようにみえていることにわずかに疑問を覚えたために、2019年の今、これらの流れを振り返ってみて、サーバーレスアーキテクチャとは何かを改めて考えてみる。 サーバーレスとの個人的関わり サーバーレスアーキテクチャという名を僕がはじめて耳にしたのはAWS Lambdaが登場した2015

                                                                            サーバーレスアーキテクチャ再考 - ゆううきブログ
                                                                          • 『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - snoozer05's blog

                                                                            翻訳を担当した書籍『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』(オライリー・ジャパン)が3月8日に発売されます。本書は、2020年1月に出版されたMark Richards, Neal Ford著『Fundamentals of Software Architecture』(O'Reilly Media)を全訳したものです。 www.oreilly.co.jp ソフトウェアアーキテクチャとは、ソフトウェアシステムの成功に欠かせない重要な土台です。そのためソフトウェア開発者には、効果的なアーキテクチャを実現するスキルが求められます。本書は、そうした効果的なアーキテクチャを設計、構築、維持するアーキテクトになるために必要なスキルや知識を、現代的な視点から整理して包括的に解説する書籍です。 ソフトウェアアーキテクチャの定義から、アーキテクトの役割、モジュールや

                                                                              『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - snoozer05's blog
                                                                            • Linux システムコール 徹底入門

                                                                              Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

                                                                                Linux システムコール 徹底入門
                                                                              • Value Objectについて整理しよう - Software Transactional Memo

                                                                                Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

                                                                                  Value Objectについて整理しよう - Software Transactional Memo
                                                                                • Microservices分割大全 - kawasima

                                                                                  Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティでの分割 https://microservices.io/patterns/decomposition/decompose-by-business-capability.html 現在の業務機能にしたがってサービスを分割する。 したがって、コンウェイの法則にしたがった分割とされる。 サブドメインでの分割 https://microservices.io/patterns/decomposition/decompose-by-subdomain.html DDDのサブドメ

                                                                                    Microservices分割大全 - kawasima