並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 1708件

新着順 人気順

アーキテクチャの検索結果81 - 120 件 / 1708件

  • 『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - 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
          • 「SPAのタブ永遠に開きっぱなし問題」を更新ボタンを設置せず解決した - 橋本商会

            こんにちは。強いUIはボタンを捨てるをスローガンにScrapboxを開発しています。shokaiですshokai.icon Helpfeel Advent Calendar 2022の5日目の記事です 昨日はHelpfeelエンジニアのyado.iconさんでした 採用面接中にチャーハン・ピラフ判定器とスタバ警察botで盛り上がる会社に入った | 株式会社Helpfeel ヨコハマハウスフラペチーノがエンジニア採用の役にたった?みたいで良かったです <a>タグの挙動を工夫する事で、Scrapboxからみたいなボタンをなくしました 更新ボタンの役割は2つ 更新がある事を教える 押すとアプリが更新される Scrapboxも昔こういうメニューがあった 今はもう無い では解説ですshokai.icon SPAのタブ永遠に開きっぱなし問題とは? SPAとstaticなwebサイトの違い static

              「SPAのタブ永遠に開きっぱなし問題」を更新ボタンを設置せず解決した - 橋本商会
            • ウェブの進化とウェブブラウザ開発の最前線

              学部 3, 4 年生向けの特別講義で『ウェブの進化とウェブブラウザ開発の最前線』というタイトルで話をしてきました。 ウェブの進化の歴史を知ることで現在のトレンドについて理解し、またウェブブラウザというグローバルで大規模なソフトウェアの開発の一端を垣間見ることで、ウェブやウェブブラウザの開発に少しでも興味を持ってくれたら良いなぁという気持ちで話をしてきました。 なお歴史観については私の事実誤認も含まれると思うので、間違いを見つけたら教えて下さい :-) 追記 (随時) たくさんの反応を頂きありがとうございます!次回同じような資料を作るときの参考にできるよう、ここにメモしていきます。ウェブは無限に話せる話題があって楽しいですね! ウェブ以前のハイパーテキストの歴史も取り入れるべきでは? ありがとうございます!おっしゃるとおりで、ウェブの進化史と言いつつウェブが公開されてからの話しかしていないの

                ウェブの進化とウェブブラウザ開発の最前線
              • しずかなインターネットの技術構成

                こんなWebサービスをリリースしたので、技術的な話をまとめておこうと思います。 元々このサービスは、趣味の延長線のような感じで開発を始めました。競合にあたるnoteやはてなブログなどのサービスが確固たる地位を築いているということもあり、「お金にはならないだろうけど、自分の趣味を詰め込んだものにしよう」というゆるい気持ちで開発を続けています(楽しい)。 選定の方針 趣味と言っても文章投稿サービスなので、ユーザーが少数であったとしても長期間運営しなければなりません。そのため、ユーザー数が少なければランニングコストが数千円/月以下、ユーザー数が増えたときは段階的にコストが上がるように選定を行いました。 アプリケーション フルスタックNext.jsアプリケーションをCloud Runにデプロイしています。各APIエンドポイントはNext.jsのAPI Routesで生やしています。 Next.js

                  しずかなインターネットの技術構成
                • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

                  PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実

                    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
                  • オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling

                    Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui

                      オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling
                    • なぜもっとたくさんのコアを搭載したCPUを作らないのでしょうか?2000コアのGPUなんかそこら辺にありますが、なぜCPUでは同じようにできないのでしょうか?

                      回答 (9件中の1件目) 質問に間違いがありますね。 2000個のコアが入ったGPUなんかありません。企業の広報は違った(間違った)方法で計算して数字を大きく見せています。 Radion 6900XTの本当のコア数(DCU)は、5120個ではなく、40個です。こちらでダイの写真を確認でき、4*5のコアが2グループあります。 各コア(DCU)には32レーンのSIMDユニットが4つあり、各コアには並列に動作する32 bitの浮動小数点演算ユニット(FMA)が128個あり、チップ全体としては32 bitのFMAが5120個同時に動きます。 Zen2とZen3のCPUコアはどちらも256...

                        なぜもっとたくさんのコアを搭載したCPUを作らないのでしょうか?2000コアのGPUなんかそこら辺にありますが、なぜCPUでは同じようにできないのでしょうか?
                      • 良い設計と悪い設計の違い

                        2022年11月7日(月) 「現場で役立つシステム設計の原則 - Forkwell Library #9」 発表資料

                          良い設計と悪い設計の違い
                        • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

                          こんにちは。ソウゾウの Software Engineer (CTO) の @suguru です。連載:「メルカリShops」プレオープンまでの開発の裏側の1日目を担当させていただきます。 7月末にメルカリShopsという新しいサービスが公開されました。メルカリShops は、2021年1月にメルカリのグループ会社として設立したソウゾウが新たに立ち上げたサービスです。 この記事では、メルカリShops を作るにあたり、どういった技術、アーキテクチャを選定したのか、その背景と意思決定をまとめて共有したいと思います。 monorepo まず最初にプロジェクトをスタートしたときに、サービスのリポジトリを作るのですが、迷わず monorepo による構成を選択しました。monorepo は、システムを構成する複数のコンポーネントの独立性を保ちつつ、全ての構成を1つのリポジトリで管理する手法です。今

                            メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
                          • AWS 導入事例: ニンテンドーシステムズ株式会社 | AWS

                            ニンテンドーアカウント、ゲームニュースなど、任天堂が展開するネットワークサービスの開発・運用を担うニンテンドーシステムズ。インターネット経由でソフトウェアのダウンロードや追加コンテンツなどを購入できるオンラインショップ『Nintendo eShop』は、同社が手がけるサービスの 1つです。 Nintendo eShop は 2011 年に始まり、現在は世界中で 1 億 3,000 万台以上の販売実績を持つ Nintendo Switch に対して、40 か国以上の国に 24 時間 365 日の体制でサービスを提供しています。任天堂のデジタルコンテンツの総売上は 2017 年から 2023 年にかけて 10 倍以上となり、現在はゲームソフトの売上高全体に占めるデジタル比率は 50% 近くに達しています。 Nintendo eShop の基盤は当初オンプレミスで運用してきましたが、利用者が急増

                              AWS 導入事例: ニンテンドーシステムズ株式会社 | AWS
                            • 5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ

                              この記事は Laravel Advent Calendar 2020 - Qiita 最終日の記事です。 TL;DR DDD や "真の" クリーンアーキテクチャは, Web 業界における大抵の現場ではオーバースペックだし,導入しても全員がついてこれるとは限らない app/UseCases ディレクトリだけ切って,ドメインごとに単一責務なクラスを置くと使いやすいよ ActiveRecord 指向のフレームワークで Repository パターンを無理に導入すると死ぬので, UseCase で Eloquent Model の機能を使うことを恐れるな はじめに Zenn では初投稿です。日本の Laravel コミュニティではもうお馴染みのようで実はあまり顔を出していない(?) @mpyw と申します。オンラインサロンの火付け役となった Synapse が最初の仕事でしたが,就職後すぐ会社が

                                5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ
                              • AWS全資格の概要と主な学習コンテンツをまとめてみた | DevelopersIO

                                本ブログは、2021 AWS Partner Ambassadors で構成するアドベントカレンダー Japan APN Ambassador Advent Calendar 2021 の 24 日目のエントリです。 こんにちは。CX事業本部MAD事業部のYui(@MayForBlue)です。 年の瀬も迫った12/24ですが、みなさん資格勉強してますか?(挨拶 さて、IT系の資格の中でも人気の高いAWSの資格ですが、数も多いし何から取ったらいいのかわからない・・・という方も多いのではないでしょうか。 この記事ではAWSの全資格を紹介するとともに、2021 ALL AWS Certifications Engineers ホルダーとして資格取得やAWSの学習に有用なコンテンツをまとめてみました。 本ブログをご一読いただくことでAWSの資格取得の一歩を踏み出していただければ幸いです。 想定読者

                                  AWS全資格の概要と主な学習コンテンツをまとめてみた | DevelopersIO
                                • ヤフー全社横断「Webパフォーマンス改善」の取り組み (Core Web Vitalsスコアの向上)

                                  ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、第11代黒帯(ヤフー内のスキル任命制度/Webフロントエンド領域)の浜田(@narirow)です。今回はヤフー全社で実施してきた、「Webパフォーマンス改善プロジェクト」についてお話ししたいと思います。 長期に渡る活動の結果、多くのサービスのWebパフォーマンスが徐々に向上しています。この記事では、取り組みの経緯や、多くのサービス分析を通してわかったコスパの良い施策(比較的簡単に実施できてスコアも上がりやすい施策)などをご紹介します。 全社横断でWebパフォーマンス改善を実施する経緯 さかのぼること2021年、Googleから以下のような案内がありました。 「Core Web VitalsがGoogle検索の検索順位に

                                    ヤフー全社横断「Webパフォーマンス改善」の取り組み (Core Web Vitalsスコアの向上)
                                  • エンジニアを目指す君たちはどう生きるか ~ソフトウェアアーキテクトのすゝめ~

                                    技育祭2023秋 DAY1 HALL C 14:30 - 15:15 「エンジニアを目指す君たちはどう生きるか ~ソフトウェアアーキテクトのすゝめ~」 の登壇資料です。 https://talent.supporterz.jp/geeksai/2023autumn/information/#1021-1430-HallC

                                      エンジニアを目指す君たちはどう生きるか ~ソフトウェアアーキテクトのすゝめ~
                                    • 状態、結合、複雑性、コード量の順に最適化する - valid,invalid

                                      There’s No Such Thing as Clean CodeのHacker Newsコメント経由でコードやシステム設計・最適化についての良いコメントを見つけた。どうやらHacker Newsで何度も引用されているらしいが日本語で言及された記事が見つからなかったので取り上げてみる。 コメントは2016年のSandi MetzのThe Wrong Abstractionに関するもので、発言者のcurun1rいわく「私は設計の優先順位をこの順序で学習することで、優れた開発者になれた」。*1 4つの基準と優先順位のガイドライン 状態 > 結合 > 複雑性 > コード量 私は状態 (state)、結合 (coupling)、複雑性 (complexity)、コード量 (code) の順に削減することでコードを最適化する。 コードがよりステートレスになるなら、結合を増やすこともいとわない 結

                                        状態、結合、複雑性、コード量の順に最適化する - valid,invalid
                                      • 最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita

                                        TL;DR 最近の設計志向はイベント駆動がかなり中心になっている とくにDDD界隈がここまでイベント駆動一本槍だとは思わなかった ストーリーを出発点にイベント駆動で設計を組み立てる「イベントストーミング」がかなり多くの場所で事例として取り上げられている はじめに 最近、洋書や動画の講演資料などいくつか海外の情報源に当たることがおおくなり、その中で「結構日本でやられている取り組みとちがうなー」と考えることが多く、一旦そのあたりの差分をまとめておこうかと思いました。 ただの出羽守(あるいは鹿鳴館精神)ではなく、一つの潮流としてこんなのがあるってのを記述できればなと思います イベントが設計の基本線となりつつある、、、のか? まず1つ目に驚いたのが、イベントが設計の中心になっている、そう感じる機会が多かったこと。 ここで言うイベントは、実践ドメイン駆動設計の中でも「ドメインイベント」として実装パタ

                                          最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita
                                        • 君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita

                                          Help us understand the problem. What is going on with this article? メリークリスマス! この記事はFirebase Advent Calendar 2019の25日目の記事です。 これはなに? この1年、本を書いたり勉強会で登壇したりいろいろやってみた結果を振り返ってみると、本当に多くの人がFirebaseにふれるようになったなぁと思います。圧倒的な開発者体験の良さをもってバックエンドの関心事を一手に引き受け、アプリケーション開発を劇的に高速化してくれるソリューションとして、Webアプリでもモバイルアプリでもバックエンド第一の選択肢として確固たる地位を確立しつつあるのではないでしょうか。 それ自体はとてもいいことなのですが、Firebaseの強さを活かすためのアーキテクチャに関するアイデアはあまり表に出てきていないのではな

                                            君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita
                                          • とりあえずWebサービス作る時の私の技術選定ポイント@2022/02

                                            はじめに inspired mogaさんのブラウザで動くサービスを作るときの技術選定が素晴らしい記事だったので、自分も書いてみる事にしました。 幸いにも技術選定からのお仕事をする機会が多くて、自分の中でパターンが大体決まってきているので言語化してみます。前提が同じサービスは無いので絶対的な正解は無いですが、なんかしらの参考になれば幸いです。 ※2022/02時点 私/よくあるお仕事について Web系のサービスなんかいい感じにするマンとして、フリーランスとして働いています。 準委任という形でスタートアップ企業をお手伝いする事が多いです。 MVPを作りたい、もしくはMVPは行けたのでちゃんと作り直したい、という要望があって参画して、まるっと作ってそのまま運用をします。作って終わりではなくて、運用や拡張性を考えてやってます(サービスに必要なのはもちろん、運用する自分が楽だから)。 前提 エンジニ

                                              とりあえずWebサービス作る時の私の技術選定ポイント@2022/02
                                            • アーキテクトを目指すエンジニアの最短ルート - エス・エム・エス エンジニア テックブログ

                                              介護や医療、ヘルスケア、シニアライフなどの4つの領域で高齢社会の情報インフラを構築している株式会社エス・エム・エスで、技術責任者をしている @sunaot です。2015年2月に入社して以来、技術責任者として開発組織の構築や開発基盤の整備をリードしてきました。 今まで私がソフトウェアエンジニア(以下、エンジニア)の採用面談を延べ800件ほど担当してきた経験を振り返ると、ソフトウェアアーキテクト(以下、アーキテクト)をキャリアのゴールに据えているエンジニアも多いようです。ただ、アーキテクトを目指している一方で、実際にアーキテクトになるためには、どういった会社組織でどのような経験をしたらいいのか分からないというケースも見受けられました。 今回は、アーキテクトを目指したいエンジニアの方向けに、アーキテクトになるために必要な4つの経験や、それが経験できる会社組織について紹介します。 アーキテクトと

                                                アーキテクトを目指すエンジニアの最短ルート - エス・エム・エス エンジニア テックブログ
                                              • 次世代Web通信プロトコル「HTTP/3」がついに標準化 ~有志による無償解説本が話題に/PDF形式の電子書籍がGitHubで公開中! 今後も更新される模様【やじうまの杜】

                                                  次世代Web通信プロトコル「HTTP/3」がついに標準化 ~有志による無償解説本が話題に/PDF形式の電子書籍がGitHubで公開中! 今後も更新される模様【やじうまの杜】
                                                • コンピュータサイエンスで1冊ずつ本を上げるとしたら何になりますか?就職前にバイブル的な本を勉強したいと思いました。 -コンピュータアーキテクチャ -データベース -os -アルゴリズムとデータ構造 -セキュリティ -ネットワーク -プログラミング -仮想化技術 | mond

                                                  大学の情報工学科に入学時に教科書として指定されたいわゆるパタへネを推します。 コンピュータの構成と設計 第5版 CPUの構造と基本は現代ではかなり複雑になりましたがこの本に書かれている基本を知っているかどうかで込み入った問題にぶち当たった場合の解像度が違います。 由緒正しいDBの読本というとオンラインで読めるRedbookとなりそうですがここは敢えて データ指向アプリケーションデザイン いわゆるイノシシ本を推します。名前からしてアプリケーションの話のように見えますし、分散システムに関する話が多いのですが最終章まで通して読むと「アプリケーションとデータベースの境界とは本来存在せず、入力されたデータを『いつ』『いかに』『安全に』加工・保存・出力するかがアプリケーションであり、その目的に対する最善手をフラットに考えるとある意味でアプリケーション全体が既にひとつのデータベースであってその仕事の一部

                                                    コンピュータサイエンスで1冊ずつ本を上げるとしたら何になりますか?就職前にバイブル的な本を勉強したいと思いました。 -コンピュータアーキテクチャ -データベース -os -アルゴリズムとデータ構造 -セキュリティ -ネットワーク -プログラミング -仮想化技術 | mond
                                                  • 銀行の基幹系システムはなぜ古臭いのか?|つっちーさん

                                                    タイトル詐欺である。今回も反省せずに続きといきたい。 前回も示したが、ざっくりとした銀行の基幹系システムは「勘定系」「情報系」「チャネル系」の三つの構成になっているという図が上である。ざっくりとしたものなので、実際にはもっと複雑(特にメガバンクでは)だし、これがあるのにアレがない、とかいったものはある。細かいところを気にしすぎると禿げるぞ。 今回は、銀行の基幹系がなぜ古臭いのかという話をしたい。古臭いと言ってもいろいろあって、特にエンジニア界隈からは「メインフレームを使ってる」とか「COBOLみたいなカビの生えた古代言語を使ってる」とか、とにかくイケてないシステムの代表例のように言われることが多い。対して、預金者の側からはネットとの親和性だとかサービス面の不満からくるイケてないという話が多いと思うのだが、これはどちらかというとシステムの話ではなくて、サービス設計とかその背景になるビジネスモ

                                                      銀行の基幹系システムはなぜ古臭いのか?|つっちーさん
                                                    • Apple・AMD・テスラ・Intelを渡り歩いた天才エンジニアのジム・ケラー氏へのインタビューが公開中、Intelで一体何をしていたのか?

                                                      AMDのAthlonやZenマイクロアーキテクチャ、Apple A4など数々のチップ開発に携わり、「天才エンジニア」と高い評価を受けるジム・ケラー氏は2021年1月にIntelを突如退職し、記事作成時点ではAIチップのスタートアップであるTenstorrentの社長兼最高技術責任者を務めています。そんなケラー氏に、技術系ニュースサイトのAnandTechがインタビューを行っています。 An AnandTech Interview with Jim Keller: 'The Laziest Person at Tesla' https://www.anandtech.com/show/16762/an-anandtech-interview-with-jim-keller-laziest-person-at-tesla なお、ジム・ケラー氏の経歴は以下の通り。 入社退職年企業肩書き関与した製

                                                        Apple・AMD・テスラ・Intelを渡り歩いた天才エンジニアのジム・ケラー氏へのインタビューが公開中、Intelで一体何をしていたのか?
                                                      • マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                        マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ マイクロサービスにおける通信方式の選択について、おおた(ota42y)さんが、GraphQL・gRPC・OpenAPIといった主なWeb APIスキーマの管理の利点と使い分けを解説します。 近年流行しているマイクロサービスアーキテクチャにおいては、「どういった通信方式を選ぶか」が開発の効率やサービスの信頼性、パフォーマンスを大きく左右します。この記事では、GraphQL・gRPC・OpenAPIそれぞれの利点と適切な使い分けについて解説します。 マイクロサービスにおけるWeb API管理の重要性 Schema First DevelopmentとWeb API 人ではなくプログラムが処理できるよう管理する Web APIのインタフェース定義手法の比較 OpenAPI ─ R

                                                          マイクロサービスにおけるWeb APIスキーマの管理 ─ GraphQL、gRPC、OpenAPIの特徴と使いどころ|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                        • 設計を学びたいときに読みたい本一覧 - Qiita

                                                          これは何 の参加記事です。 エンジニアとして開発をしていく以上、設計についての知識を身につけていくことはとても重要です。 とはいえ設計という言葉からは何を勉強するべきかがいまいちピンときません。 この記事では、僕が読んできた設計に関するおすすめの本を網羅的に紹介しています。 これから設計を勉強する方の役に立てれば幸いです。 おすすめの本一覧 おすすめの本を紹介していきます。 他にもおすすめがあればぜひ編集リクエストをください! オブジェクト指向設計実践ガイド 設計を始めに学ぶならこれ、という一冊です。 エンジニアとして開発を行なっている中で、オブジェクト指向設計は一番汎用的に使う設計知識なのではないでしょうか? オブジェクト指向設計を学ぶことで、いわゆる「におう実装」と「良い実装」を見極めることができるようになると思います。 知らなかったら読んだほうが良いキーワード SOLID原則 Cle

                                                            設計を学びたいときに読みたい本一覧 - Qiita
                                                          • DMMはAWS“から”オンプレミス“に”切り替える サーバーとネットワークのコストから見直す適切な環境選び

                                                            DMM. comのITインフラ本部が今期に注力している取り組みについて、事例を紹介しつつ話す「DMM meetup #31 ~DMMのインフラを支えるITインフラ本部の取り組み紹介~」。ここでSRE部の松浦氏が登壇。WebRTCの配信システムについてと、配信サーバーをAWSからオンプレミスに切り替える理由を紹介します。 AWS“から”オンプレミス“に” 松浦庸介氏(以下、松浦):SRE部の松浦から「WebRTCの配信システムをAWSからオンプレミスに切り替えている話」ということで発表したいと思います。 まず、簡単に自己紹介をしたいと思います。2020年の5月に入社して、それ以来WebRTCのリアルタイム配信システムの開発や運用を担当している、松浦と言います。本日はよろしくお願いします。 まずこのタイトル、みなさん「AWS“から”オンプレミス“に”」というところ、気になってる方がいるんじゃな

                                                              DMMはAWS“から”オンプレミス“に”切り替える サーバーとネットワークのコストから見直す適切な環境選び
                                                            • データベースの仕組み(アーキテクチャ)をざっくり理解する

                                                              フリーランスエンジニアをしているrevenue-hackです! 普段はGo言語でバックエンドを中心にやっています〜 ↓登壇したときの資料です! より図を入れて詳しく書いております! 今回はデータベースの特にRDBの仕組み(アーキテクチャ)についてざっくり理解して、なにかに役立てようぜ〜 というような内容になります。 ↓記事はこちらに移しました!↓

                                                                データベースの仕組み(アーキテクチャ)をざっくり理解する
                                                              • shiodaifuku.io

                                                                Webエンジニアのブログです。

                                                                  shiodaifuku.io
                                                                • Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた - Qiita

                                                                  Chrome 79以下や他ブラウザのデフォルト値。 Chrome 80からこの値を設定する場合、Secure属性も必須となる。 Aサイトに対し、Bサイトからどのようなリクエストがあっても、発行したサイトでCookieヘッダーに含める (Cookieを使用する) 図にすると以下のようになります。 Strict 外部サイトからのアクセスではCookieを送らない。 Lax 外部サイトからのアクセスはGETリクエストのときだけCookieを送る。 None 従来通りの動き。 【追記】なおChrome 80以降でSecure属性を付けずSameSite=Noneを指定した場合、set-cookie自体が無効になります。 セキュリティ上の効果 CSRF対策になります。 CSRF (クロスサイト・リクエスト・フォージェリ) とは、 WEBサイトがユーザー本人の意図した動作であることを検証していないため

                                                                    Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた - Qiita
                                                                  • Re: Rails を主戦場としている自分が今後学ぶべき技術について

                                                                    この記事は、 Rails を主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ についてのアンサー記事です。 うなすけ君が Ruby on Rails で育ってきたように、僕も JavaScript とともに育ってきたという自覚があります。なので、これについて書くことは、ポジショントークは避けられない、という感覚があります。 冷静に比較しようとも思いましたが、やっぱり開き直って思いっきりポジショントークをすることにしました。そっちのほうが面白いと思うので。 自分の基本的な主張は、こちらの記事にあるとおりです。 Frontend Study #1: 基調講演 - Frontend 領域を再定義する 自分と Ruby on Rails 僕は、キャリアとしては Rails の会社で JavaScript を書いてきたことが多かったです。学生の頃は socket.io

                                                                      Re: Rails を主戦場としている自分が今後学ぶべき技術について
                                                                    • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

                                                                      アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

                                                                        「ビジネスロジック」とは何か、どう実装するのか - Qiita
                                                                      • 桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita

                                                                        この記事は「データ構造とアルゴリズム Advent Calendar 2020」16日目の記事です。 15日目の記事はyurahunaさんの「木分解上の動的計画法」で、 17日目の記事はtsukasa__diaryさんの「Lawler の K-Best 列挙アルゴリズム」です。 この記事内で使用しているプログラムやそのテストプログラムは全て以下のGitHubリポジトリで閲覧可能です。プログラムの詳細に興味がある方はこちらをご覧ください(ついでにStarを押していってくれると喜びます🙂)。 Github: ashiba/Imprementation_of_IKERUKANA: Momotaro Dentetsu is a game. 変更履歴 2020/12/21に「最終的に貧乏神が付かない移動方法 ~貧乏神持ちの場合~」, 「最終的に貧乏神が付かない移動方法 ~貧乏神がついていない場合~

                                                                          桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita
                                                                        • WEB アプリケーション設計入門 / Introduction to web application design

                                                                          PHP Conference Japan 2020 トーク前提の資料です。そのため、トークがないと理解が難しいかもしれません。 https://youtu.be/UTKJ-Lgn3aI?t=36 ※冒頭音声が小さいです。マイクを手に持ってから聞こえやすくなると思います。 資料中の ADOP については下記を参照ください。 https://nrslib.com/adop/ # Abstract https://fortee.jp/phpcon-2020/proposal/da5b9d99-e5a6-4f51-adea-1f1c10d99020 # Ref https://github.com/nrslib/scrum-app-sample-php https://github.com/nrslib/repository-support-php # URL Togetter: https://

                                                                            WEB アプリケーション設計入門 / Introduction to web application design
                                                                          • Apple iPod touch の生産終了により飲食業界に打撃か

                                                                            5月10日(現地時間)、「Apple(アップル)」が生産終了を発表したiPod。音楽を聴く端末として2001年から発売された本シリーズのうち唯一生き残っていたiPod touchだが、『M&A Online』によると、このモデルの生産打ち切りにより、意外にも飲食業界が打撃を受けてしまいそうだというのだ。 飲食業界のどのシーンで利用されているかわからないという方も少なくはないと思うが、レストランやカフェ、居酒屋などの飲食店で、店員がオーダーを受ける際にスマートフォンのような“ハンディ”を使用している姿を見かけたことはあるだろうか。“電話機能のないiPhone”として親しまれていた4インチディスプレイ搭載のiPod touchは、CPUにiPhone 7シリーズと同様のA10 Fusionを採用しており、最新のOSにも対応。先述した通り、電話機能を備えていないため、iPhoneと比較して約3万

                                                                              Apple iPod touch の生産終了により飲食業界に打撃か
                                                                            • エンジニアとして今の自分を形成した本を5冊紹介する - パンダのプログラミングブログ

                                                                              エンジニアとして今の自分を形成した本5冊 エンジニアとして働くにあたって自分が大きく影響を受けた本を考えてみた。もちろん他にもあるが、今回は以下の5冊に絞って紹介する。 Clean Coder(クリーンコーダー) Team Geek Clean Architecture(クリーンアーキテクチャ) テスト駆動開発 LeanとDevOpsの科学 この記事の対象者としては、独学でプログラムを書き始めた人やエンジニアスクールを卒業したばかりの方というよりは、実務経験を1~3年くらい積んでいるけど次に何を学べば良いかわからず、自分でイマイチ伸び悩んでいると感じている人を主に想定している(かつての自分がそうだった)。 特にチーム開発、オブジェクト指向言語でのコーディング、テストコードを書いた経験がある人が読んで、本に書いてあることを実践すると自分の成長を実感するだろう。 「Clean Coder」、「

                                                                                エンジニアとして今の自分を形成した本を5冊紹介する - パンダのプログラミングブログ
                                                                              • なぜ僕が「SPAはコストが高い」と考えているのか

                                                                                どうもみなさんこんばんは ちょっと前に「個人開発者やスタートアップの初期からSPAで開発するのはコスト高いっすよね」みたいな事を書いたらフロントエンドエンジニアの皆様からバチバチに叩かれた僕です 彼らには彼らの考えがあるのでそれはどうでもいいのですが、どういう理由があってその発言をしたのか~と言う部分が気になっている方もいたようなので説明しておこうと思います ちなみに今でも全く意見は変わっておらず、この発言に同意できるかできないかは単純に視点の違い、規模の違い、スキルの違いだと思ってます 追記: もちろんSPAじゃないと実現できないようなサービスを作りたい場合はSPA一択ですし(インタラクティブにHPつくるサービスとか。でも世の中の95%くらいのサービスはそうじゃないと思います)、サイトの利用はログインした人にだけ提供するような業務系ツールなどはまた話が別です 前提の話 こういう記事ではコ

                                                                                  なぜ僕が「SPAはコストが高い」と考えているのか
                                                                                • 個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita

                                                                                  結論 「アジリティ」「コスト最適化」「スモールな構成」「開発スピード」という観点でWebアプリケーションのアーキテクチャを考えてみました。 ServerlessFrameworkを使い倒す フロントエンドはS3 hosting + CloudFrontで。SSRもLambda@Edgeでできます データベースはRDSは使わずにDynamoDBで APIは基本的にGraphQL。必要に応じてRESTも簡単に追加できるよ。 補足(2022/04/12) 最近個人開発しているこちらのWebサービスはこのアーキテクチャに沿って作られています。 このアーキテクチャでどんなものができるのよ、という視点で見ていただくと面白いかもしれません。 ↓ 背景 アーキテクチャに絶対の正解はない アーキテクチャには絶対の正解はありません。 なぜなら、プロダクトやフェーズによって求められる要件が異なり、それに適したア

                                                                                    個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita