並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 47件

新着順 人気順

"Clean Architecture"の検索結果1 - 40 件 / 47件

  • エンジニアに読んで欲しい技術書90選 - Qiita

    はじめに タイトル通り、読んで欲しい(圧)技術書をたくさん集めてみました。自身の担当から外れる領域に関しては、会社の人に協力を仰ぎ、編集しました。「何を読めばいいかわからない」、「次の読む本を探したい」などのように考えている方の参考になればと思います。 また、大きく、 ・新米エンジニア ・脱新米エンジニア と分けてまとめたので、参考にしてみてください。 技術書のススメ 技術書の紹介の前に、技術書で得られるものについて説明したいと思います。全然読み飛ばしてもらって大丈夫です。この章から本の紹介を行なっていきます。 技術書は体系的な構成となっているため、技術書を読むことで、 ・論理的な思考力が身に付く ・技術の歴史・背景を知れる ・技術の知識、手法を学べる これらを学ぶことができます。論理的な思考力、知識はわかるけど、技術の歴史・背景を知ってどうするんだと思う方もいるかもしれません。しかし、歴

      エンジニアに読んで欲しい技術書90選 - Qiita
    • ソフトウェアエンジニアにおすすめしたい本を100冊選んでみた | gennei's blog

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

        ソフトウェアエンジニアにおすすめしたい本を100冊選んでみた | gennei's blog
      • どうしてあなたの共通化は間違っているのか:目次 - Qiita

        はじめに この連載では共通化とモジュール分割について扱います。この話題においてQiitaで有名な記事のひとつが@MinoDrivenさんの単一責任原則で無責任な多目的クラスを爆殺するでしょう。この記事を未読の方はまずこちらを読むことをお勧めします。本連載では、この記事に書かれているような基礎的な事項については既知であることを前提に、どのようにすれば単一責任原則にそったモジュールの分割を行うことが出来るのかをなるべく 「場合による」という言葉に逃げずに なるべく 網羅的・理論的に 解説します。 いいね、ストックをよろしくお願いします。 対象読者 設計に興味のあるエンジニア 基礎的な設計原則について学んだものの、実際の場面でどのように応用すればいいのかが掴めないエンジニア ミクロな設計についての知識を増やしたい人 ※この記事では、特定のメソッドをどのように作成するべきか、このクラスは複数の処理

          どうしてあなたの共通化は間違っているのか:目次 - Qiita
        • デザインパターン〜とかアーキテクチャ〜〜とか・・・に行く途中の話

          こんにちは、NE会社で働いておりますきんじょう(@o0h_)がお送りします。 弊社ではPHPを用いてアプリケーション開発を行っています(Ruby, Go, Javaも領域によっては利用しております) さて、つい先日のことですが、社内にいるメンバーから「デザインパターンについて、勉強してみてるんだけど・・・」「ちょっとついていくのが難しくて」「どうしたらいいですかね?それとも、先にやっておくべきことが他にありますか?」なんて雑談をしました。 なるほど、コレは頻出質問になりそうだな・・・という気持ちにもなったので、今回はこの場を借りて「デザインパターン[1]、その前に〜個人的に思ったことをツラツラと〜」でお届けしていきたいと思います。 「デザインパターンを(から)勉強してみる」ことの、オススメ/オススメナイ いちおう、今回は「リーダブルコードくらいは読んでいる」「デザインパターンの勉強をしてい

            デザインパターン〜とかアーキテクチャ〜〜とか・・・に行く途中の話
          • 新入社員に向けて私が3年間で読んだ技術書を紹介する - Qiita

            はじめに 今回は私が3年間で読んだ技術書をひたすら紹介します。 私は2021年4月に新卒でSIerに就職し、2024年4月でエンジニア4年目となりました。 そんな私の入社時のスキル感はどうだったかというと... 非情報系学部卒の理系 学部4年生の時に研究室で少しPythonを触ったことがある程度 HTTP?なにそれ? でした。 こんな感じでほぼゼロからのスタートでしたが、3年間でどのくらいのスキル感になったかというと、ざっくりと 基本的に一人称で開発業務ができる 小規模のシステム開発なら技術選定やアーキテクチャの検討も可能 某(若手向け)技術コンテストで入賞経験あり OSSコントリビューション経験あり IT関連の資格7つ取得 くらいには成長することができました。 これから紹介する技術書を読むだけでこのくらいのスキル感になれますという話ではなく、当然日々の業務であったり、その他のインプット/

              新入社員に向けて私が3年間で読んだ技術書を紹介する - Qiita
            • テックリードがどんな活動したらよいのか考えて行動してみた話 - ZOZO TECH BLOG

              2022年6月に、Androidテックリードになった いわたん です。最近、某モンスターを育てたり図鑑を埋めたりするゲームで社内大会をやったらフルボッコにされて涙目でした。悔しくて最近は不思議な力でクラフトしたり空飛んだりして王国を救うゲームやってます。 今回はAndroidテックリードとして1年間やってみた施策の紹介と、それぞれの成果や反省点を紹介したいと思います。これからテックリードになろうとしている方やテックリードをしている方の参考になったり、こんな施策もいいよというアドバイスをもらえたら幸いです。 ZOZOのテックリードの役割と責任 実施した施策 テックリード1on1 読書会 歴史的経緯があるアプリのアーキテクチャ整理へのアプローチ ネーミングセンスを鍛える会の取り組み 案件への関わり方 横断的なコードレビュー 横断的に使う機能の実装 まとめ 最後に ZOZOのテックリードの役割と

                テックリードがどんな活動したらよいのか考えて行動してみた話 - ZOZO TECH BLOG
              • 現実世界の事象から学ぶSOLID原則

                # Object-Oriented Conference 2024 https://fortee.jp/oocon-2024/proposal/e1eb34cf-78ef-43f6-8a03-bb26c996cb62 概要 オブジェクト指向プログラミング (OOP) のコーディング慣例として広く採用される、SOLIDの原則。 コードの保守性、拡張性、再利用性を語る上では共通言語としても使用される一方で、初学者にとっては決して理解のしやすいものではありません。 これらの原則が抽象的であり、実際のコードにどのように適用されるか・適用した際に得られるメリットを理解するのが難しいことが理解を困難にする一因です。 しかし一度理解すると、SOLID原則が現実世界のありとあらゆる場所で適用されていることに気が付くはずです。 「clean architecture 達人に学ぶソフトウェアの構造と設計」にお

                  現実世界の事象から学ぶSOLID原則
                • DDDでプロダクト開発をしたので振り返ってみた - JMDC TECH BLOG

                  みなさん、こんにちは!プロダクト開発部の吉川(@yoshiyu0922)です。 現在、JMDCが保有している医療ビッグデータを活用して生活者や医療に新しい価値を提供する新規プロダクト開発チームのバックエンドを担当しております。 以前に新規プロダクト開発で採用している技術や設計についてこちらの記事で紹介しましたが、Go x GraphQL x DDDでプロダクト開発をしています。今回はプロダクトの開発が一区切りしてこれからリリースするということで、開発してみて良かったことやこうすれば良かったことを振り返りをしました。振り返りの内容は主にDDDに関することです。 DDDとは DDDとは「Domain-Driven Design」の略語でドメイン駆動設計と呼ばれるソフトウェア開発手法の一つです。問題を解決しようとする領域(ドメイン)をモデリングによってソフトウェアの設計や実装に反映させることで、

                    DDDでプロダクト開発をしたので振り返ってみた - JMDC TECH BLOG
                  • なぜDependency Injectionなのか? ~関心の分離と疎結合~

                    本稿は「アーキテクチャを突き詰める Online Conference」における発表「なぜDependency Injectionなのか? ~関心の分離と疎結合~」の登壇原稿となります。 発表時の動画アーカイブは後日公開されたタイミングでリンクを追加いたします。 また、本稿のサンプルコードとPower PointはGitHubで公開しています。 「CC BY-SA 4.0」で公開していますので、気に入っていただけたら営利目的含め、ライセンスの範囲で自由に利用していただいて問題ありません。 https://github.com/nuitsjp/WhyDependencyInjection というわけで、本稿の目指すゴールはこちら。 今日は、この場にいる皆さんが「なぜDependency Injectionを利用するのか?」ということを、理解いただくのが本日のゴールとなります。 というわけで本

                      なぜDependency Injectionなのか? ~関心の分離と疎結合~
                    • goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ

                      【Unit4 ブログリレー6日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 最近まで開発していたm3ラウンジでは、goからRDBを利用していました。 m3ラウンジでは、SQLの組みやすさやテストのしやすさの観点で検討した結果、goquを採用しましたので、 そこで得られた知見とその実装例を紹介します。 これから試してみる方(と将来m3ラウンジの開発に新たに入ることになったメンバー)の参考になるように、サンプルコードも説明も多くなってしまいかなり長いです。 お時間ある時にお読みいただければ。 名古屋城は、日本の城のひとつ。尾張国愛知郡名古屋(現在の愛知県名古屋市中区本丸・北区名城)にある。本文には特に関係ありません。 m3ラウンジ goqu 実例 modelの構造体 mapper mapperの実装 goquのSQLの結果から構造体へのマッピング

                        goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ
                      • TypeScriptでクリーンアーキテクチャを実践する

                        概要 本記事は、スクラムを管理するアプリケーションをクリーンアーキテクチャの考え方で実装し、WebからもCLIからも動かせるようにしたという実践を紹介するものです。学習のための個人開発で作成したサンプルアプリケーションの設計と実装を適宜紹介することで、クリーンアーキテクチャに対する理解を深めることが目的です。 モチベーション なぜ現代の開発現場で定着しているクリーンアーキテクチャのアプリを手元で実装してみようと思ったかというと、私自身Webエンジニアとして働く中で、クリーンアーキテクチャの実践例は入出力をWebに限定したものばかりだったからです。 しかし、「詳細に依存せず抽象に依存すること」と唱えるクリーンアーキテクチャにとって、Webはただの詳細です。そこで、入力元、出力先を問わないアプリケーションはどのような書き味になるのか、自分で確かめてみたくなりました。 例えば、「ドメイン層は独立

                          TypeScriptでクリーンアーキテクチャを実践する
                        • Go言語によるクリーンアーキテクチャの実装例紹介

                          はじめに CastingONEでバックエンドエンジニアをやっている清水です。 この記事ではクリーンアーキテクチャについて学んだけど具体的にどのように実装すれば良いのかという悩みがあったので実装例をまとめてみた記事になります。 クリーンアーキテクチャで実装されたサンプル実装のうちGitHubのスター数が多いリポジトリをピックアップして、設計内容を紹介していきます。 具体的にどこにどんな実装をするべきなのかも含めて紹介していきます。 処理を一部省略して紹介するため実際の処理内容を確認したい場合はGitHubでご確認お願いします。 クリーンアーキテクチャとは クリーンアーキテクチャは、ソフトウェア設計の原則を適用して、依存性の方向性を逆転させ、ビジネスロジックから詳細(フレームワークやデータベース)を分離するアーキテクチャパターンです。これにより、テストしやすく、メンテナンス性が高く、柔軟性のあ

                            Go言語によるクリーンアーキテクチャの実装例紹介
                          • 2022年版実践WPF業務アプリケーションのアーキテクチャ【設計編/後編】 ~ドメイン駆動設計&Clean Architectureとともに

                            今回はいよいよ最終回となります。前回は非機能要件についてアーキテクチャを設計してきました。今回は代表的なユースケースを選定して、アーキテクチャの詳細な設計を蒸留していきます。また、開発者ビューについても設計を行います。利用者側の要件から出てきにくい、開発上に必要となる設計、テスト設計などを実施します。 ソースコード 実際に動作するソースコードは、GitHub上に公開しているので、ぜひご覧ください。ビルドや実行方法については、リンク先のREADME.mdをご覧ください。また、実際に動作させるためには次の2つのライセンスが必要です。 ComponentOne for WPF SPREAD for WPF 4.0J これらは試用ライセンスを発行することができます。 本稿だけで読み進められるように記載していますが、すべてのコードを詳細に解説しているわけではありません。本稿を読んだ後、あらためて動作

                              2022年版実践WPF業務アプリケーションのアーキテクチャ【設計編/後編】 ~ドメイン駆動設計&Clean Architectureとともに
                            • 開発効率を追い求めた実装プラクティス集

                              この記事は MICIN Advent Calendar 2023 の24日目の記事です。 前回はSaneさんの「データ基盤チームで社内インターンをやってみて」でした。 はじめに abekohです。MICINでMiROHAの開発をしております。 本記事では、書籍等から得た設計・実装パターンの知識や、実際にプロダクト開発で試して得られた経験などから編み出した、開発効率向上のためのWeb API開発のプラクティスを紹介します。 筆者が関わっているMiROHAは治験の業務支援を取り扱うプロダクトです。MiROHAの開発における特性として、以下のようなものが挙げられます。 治験業務に関するドメインが特有で複雑 前例が少なく、MVPを追求中。プロダクトのアプローチが頻繁に変わる 外部品質は高い水準が求められる これらの特性を意識して開発を促進させるために日々試行錯誤しております。 複雑なドメインに対す

                                開発効率を追い求めた実装プラクティス集
                              • Clean Architectureを読んだまま実装してみた(TypeScript, Go)

                                Why? Clean Architectureを通読してみたが、抽象論が多いのでやっぱり書いてみないとな、と思った次第。 いろいろな方のClean Architectureの記事があるものの、当方Typescripterなので馴染む言語で写経すると理解が深まるだろう。 Assumption フレームワーク・ライブラリ非依存。Clean Architecture の構造だけ再現するので、サーバフレームワークやORMなどは使用しない。 命名はClean Architectureに出てきたままを心がける。一部、原文でも表現がブレているのは都合よく拝借。 Clean Architecture Overview Clean Architectureといえばこの図。 最重要エンティティであるビジネスロジックを中心に、アプリケーションロジック、インターフェースアダプター、フレームワークやDBの順で依存方

                                  Clean Architectureを読んだまま実装してみた(TypeScript, Go)
                                • ソフトウェア設計思想「SOLID原則」を開発組織設計に適用したらどうなるか? - Qiita

                                  この記事はQiita Engineer Festa 2023参加記事です。 はじめに 今年の4月よりリードエンジニアからエンジニアリングマネジャーになりました。 7年エンジニアをゴリゴリやって、 Android App Developer ↓ Web App Developer ↓ DevOps(Infra/CI/CD) Developer ↓ Scrum Master ↓ Cloud Solution Architect などの領域を経験しました。 その中で様々なプロジェクトで開発サイド、ビジネスサイドにおいて色んな職種の人と一緒に仕事して、 それぞれの考え方や悩みを見て聞いてきました。 (自分も皆さんに大変お世話になって、おかげて成長してこられました。とても感謝です(❁´ω`❁)!) 今度はEMになって開発組織の成長に取り組むチャンスを頂き、責任をもって、皆さんが認める良い開発組織を作

                                    ソフトウェア設計思想「SOLID原則」を開発組織設計に適用したらどうなるか? - Qiita
                                  • フロントエンドの複雑さに立ち向かう / Tackling Complexity of Front-end Software with DDD and Clean Architecture

                                    フロントエンドの複雑さに立ち向かう 〜 DDD と Clean Architecture を携えて 〜 さくらのテックランチvol.6 〜ローストチキンのフロントエンドパスタとクリスマスFigmaケーキ〜 https://sakura-tokyo.connpass.com/event/303232/ YouTube配信アーカイブ https://www.youtube.com/watch?v=usmLmI1bj74&t=472s ドメイン駆動設計(Domain-Driven Design)や Clean Architecture をヨイショもディスもせずフラットな立場で評価し、現実解を探りながらフロントエンドの複雑さに立ち向かった半年間の軌跡

                                      フロントエンドの複雑さに立ち向かう / Tackling Complexity of Front-end Software with DDD and Clean Architecture
                                    • ゲーム開発に所謂なアプリケーション設計パターンを適用するのは難しい - hadashiA

                                      ゲーム開発ひいてはクライアントサイドの開発において「クリーン」かどうかは正直けっこうどうでもよく、設計すべき一番のポイントは「制御フロー」にあります。 じゃあ具体的にどういう設計がいいのか、ていうのは、やはりjs界隈みたいにフレームワークになっていないとなかなか伝わらないようです。そういうのもそのうちつくってみたいなあと最近思ってます。 以下、以前ブログに書いたものの転載。 -- Unityで長らくゲーム開発をやっているけれど、Web界隈などで色々と発達しているアプリケーション設計パターンをおいそれと持ち込めば良いわけではないと感じているので、それについて考えてみようと思う。 ここでいう設計パターンていうのは、たとえばUIとかをつくるフレームワークの競争で発達してきた MVC派生 や ReactとかのElmアーキテクチャに影響を受けたものたち、はたまた、Webサーバ(HTTPサーバ) を書

                                        ゲーム開発に所謂なアプリケーション設計パターンを適用するのは難しい - hadashiA
                                      • freeeカードチームの開発(Go)から得た学びベスト5 - freee Developers Hub

                                        この記事はfreeeアドベントカレンダー2023の19日目の記事です。 こんにちは!freeeカードチームのmattsunです。freeeカードUnlimitedの開発運用をしています。私は1年前にfreeeに入社しfreeeカードチームに所属しています。これまでの自分のエンジニアとしてのキャリア(10年強)を通してみても、今のチームではPRレビューやリファクタなどからの学びが多いなぁと感じます。個人的に学びがあったことやチームとしての知見が深まったもののうち、ベスト5(私の主観)をまとめます。 freeeカードシステムは、フロントエンド(TS,React)・BFF(RoR)・Backend(Go)で構成されており、Goでの開発比率が多いことから、本記事はGoのコードに関する言及が多いです。freee社全体をみるとRailsで開発されたシステムも多いですが、Goで開発しているサービスもある

                                          freeeカードチームの開発(Go)から得た学びベスト5 - freee Developers Hub
                                        • twadaさんによる2023年度版TDDワークショップを開催しました - Pepabo Tech Portal

                                          挨拶 こんにちは。2023年04月に入社した、minne事業部エンジニアの@kazuです。 この度、弊社GMO ペパボ(以下、ペパボ)では2022年に引き続き、今年も日本のTest-Driven Development(TDD) の第一人者である @t_wada さんをお招きしてTDDワークショップを開催しました。前回:『t_wadaさんによるTDDワークショップを開催しました』 なぜTDDワークショップを開催しているのかについては、こちらの記事『ふつうの開発と TDD ワークショップ』で詳しく説明していますのでご覧ください。 さて、それでは今回のTDDワークショップで何をしたのか、どんな気づきがあったのかなどについて、参加パートナーからそれぞれお話ししてまいります。 具体的な研修内容 概要 ワークショップは、事前に各参加パートナーが基調講演/ライブコーディングの動画を予習し、動画内でのラ

                                            twadaさんによる2023年度版TDDワークショップを開催しました - Pepabo Tech Portal
                                          • iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog

                                            こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 MirrativのiOSチームでは、開発効率の最大化を狙い以下に取り組んでいます。 データフローの単方向化 (Fluxアーキテクチャの強制) 宣言的UIによるView実装 (SwiftUIの部分適用) 責務分割 (モジュール分割) 今回の記事では、どのような構成でSwiftUIを適用し始めたか、また、MirrativのiOSプロジェクトの構成やプロダクト特性の課題感からセットでモジュール分割を進めている点を紹介します。 背景 前提となるプロジェクト構成 導入に向けて決めたこと SwiftUIでどこまで実装するか 本体アプリではなくSwiftPackageを活用する 垂直分割するか水平分割するか 方針やTipsを明文化し育てる 新規開発部分のUI開発をFeatureモジュールで行う SwiftPackage: SwiftUI.

                                              iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog
                                            • やってみてわかった クリーンアーキテクチャの勘所 | ドクセル

                                              Findyさんのイベント「アーキテクチャを突き詰める Online Conference」のLT登壇資料です。

                                                やってみてわかった クリーンアーキテクチャの勘所 | ドクセル
                                              • An interface is not an interface - Recent thoughts about clean coding - spacelyのブログ

                                                Introduction Recently I've had to work on code which seemed to be based on clean architecture, but after a while I concluded that it is probably not and it made me think about clean coding in general and the principles of clean architecture in particular. Is it about a set of rules, and we are guaranteed to achieve cleanness as long as we follow them? Or is it about abstract principles, which we c

                                                  An interface is not an interface - Recent thoughts about clean coding - spacelyのブログ
                                                • ZOZOTOWN Androidチームで内定者アルバイトをした話 - ZOZO TECH BLOG

                                                  はじめまして。2023年4月に新卒として株式会社ZOZO(以下ZOZO)に入社しました、財部彰太(たからべ しょうた)と申します。 この記事では、現在私が所属しているZOZOTOWN開発本部ZOZOTOWNアプリ部にて2022年5月から2023年3月までの期間で参加した内定者アルバイトについての話をさせていただきます。参加した理由、結果、そしてアルバイトを通して知った会社・チームの素敵な点を紹介させていただきます。ZOZOに興味がある人、内定後の動きに不安がある人、そもそも新卒でエンジニアとして働くか迷っている人、色々な人に読んでいただけたら幸いです。 内定者アルバイトとは 私が内定者アルバイトに参加した目的 ZOZOでの内定者アルバイトとは 実際にアルバイトをした部署、チームの話 なぜZOZOTOWN Androidチームにしたのか ZOZOTOWN Androidチームはどんなチームな

                                                    ZOZOTOWN Androidチームで内定者アルバイトをした話 - ZOZO TECH BLOG
                                                  • RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)

                                                    結論 お手軽モノリスならAutoIncrementが効率的だしこれでいいよ アプリケーション側で主キーを生成したい場合はLUIDを作る必要があるよ。GUIDで大は小を兼ねよう 主キーでGUIDを使うならULIDよりもUUIDv7がおすすめだよ ただし分散されているエンジンによってはUUIDv4の方が効率的になる場合もあるよ 主キーは原則公開しない方がいいよ UUIDv7やULIDはユニーク性を持ったInstant(timestamp)としても使えるよ 分散されたシステムでは厳密な時系列性を担保することはできないよ、あきらめてロックをかけつつ連番を一か所で生成しよう RDBのPrimary Key(主キー)とは? MySQL、PostgresQLなどのRDBでは各レコードを識別するために一意な値を必要とします。これをPrimary Key(主キー)と呼びます。別のカラムにUNIQUEなInd

                                                      RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)
                                                    • モジュラモノリスを試験運用している話 - ロコガイド テックブログ

                                                      ビジネス開発部のバックエンドエンジニアの伊藤です。主にトクバイのビジネスサイドの開発を担当しています。 Shopify記事の影響もありしばらく前からモジュラモノリスが注目されるようになりました。 我々が開発しているトクバイではモノリシックに構築されており、各機能が密結合になりメンテナンスしづらくなっています。 今回、新機能プロジェクトを担当する上で各機能をモジュール分割・コンポーネント化することを試してみました。 Packwerk PackwerkはShopifyが開発しているGemで、Railsアプリケーションをモジュール分割する手助けをしてくれます。 USAGEに書かれていることを要約すると、大規模なアプリケーションは境界を作り境界間の依存関係をコードレベルで最小にしようということだと考えています。 後述しますが幾つかのエコシステム導入する事で、よりモジュラモノリス化を促すことができま

                                                        モジュラモノリスを試験運用している話 - ロコガイド テックブログ
                                                      • 参考図書 – ピーコックアンダーソン

                                                        オブジェクト指向 ・アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技 すばらしい本です。オブジェクト指向が詰まっています。 ・オブジェクト脳のつくり方―Java・UML・EJBをマスターするための究極の基礎講座 サンプルコードはjavaですが,最初にオブジェクト指向に目覚めるのに最適な本です。 ・Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本 マンガみたいな感じで読めて,オブジェクト指向について学べます。 ・Clean Code アジャイルソフトウェア達人の技 ・Clean Architecture 達人に学ぶソフトウェアの構造と設計 ・Adaptive Code ~ C#実践開発手法 ・.NETのエンタープライズアプリケーションアーキテクチャ ・実装パターン 廃盤のため異常に高くなりすぎなので,様子を見た方がいい気がし

                                                        • インターン中、タスクに付随する予想外のエラーと戦った話 - Mirrativ Tech Blog

                                                          初めまして。9月から10月にかけて、インターンとしてミラティブのバックエンド基盤に関わっていた、logicaと申します。 今回は、期間中に扱っていたある1つのタスクにフォーカスしながら、インターンを振り返りたいと思います。 割り当てられたタスク 背景 すぐに終わる想定だった 検証用環境で問題発生! 管理画面へのログインができない タスクの続行 原因究明 403エラー CSRFトークン セッションの非永続性 対処 そもそもCSRFトークンは永続化するべきか セッション用Clientのみ、一定確率で値を返さなくする対応を止める 今回のタスクを振り返って 終わりに 割り当てられたタスク 比較的簡単な1つ目のタスクを終え会社の雰囲気にも慣れてきた頃、出された次のタスクは「開発環境のみ一定確率でmemcachedの値を返さないようにする」というものでした。 背景 Mirrativのバックエンドは設計

                                                            インターン中、タスクに付随する予想外のエラーと戦った話 - Mirrativ Tech Blog
                                                          • フロントエンドの複雑さに立ち向かう 〜DDDとClean Architectureを携えて〜 | さくらのナレッジ

                                                            自己紹介 さくらインターネットではシニアフロントエンドエンジニアをやっています。代表作は「NES.css」というファミコン風CSSフレームワークで、エイプリルフールには「さくらのINFRA WARS」というゲームの企画開発をしていました。 話さないこと 本記事ではソフトウェア設計ということで、以下の設計・アーキテクチャに関しては話す予定はありません。コンポーネント設計や CSS 設計に関しては過去に記事やスライドを公開していますので、気になる方はそちらを参考にしていただければと思います。 コンポーネント設計 加速するコンポーネント設計入門 / Component Design as an Accelerator コンポーネント指向時代のmargin戦略 / Rethinking the relationship between Components and Margins CSS設計 OO

                                                              フロントエンドの複雑さに立ち向かう 〜DDDとClean Architectureを携えて〜 | さくらのナレッジ
                                                            • やさしいクリーンアーキテクチャ

                                                              SREホールディングス株式会社の松本です。 プロダクトはリリースしてからが始まりで開発し続けることが当たり前の時代、ソフトウェアは変更や拡張に強く設計しなければなりません。クリーンアーキテクチャはそんな設計を実現する方法の1つですが、名前は聞いたことはあるけど実践したことはない、なんだか複雑で難しそう、という印象を持っている人が多いのではないでしょうか。 クリーンアーキテクチャを詳細に説明している記事は数多くありますので、本記事ではクリーンアーキテクチャを触ったことがない方に良さが伝わるように、やさしく噛み砕いて説明してみようと思います。 対象読者 クリーンアーキテクチャをこれから学びたい方 クリーンアーキテクチャとは 機能を実現しているコアな部分をフレームワークやDBなどに依存しない状態(関心事の分離)にすることで、他が変わってもコアな部分への影響をなくし、変更や拡張に強くすることができ

                                                                やさしいクリーンアーキテクチャ
                                                              • ActiveRecordパターンの呪縛を学びほぐして挑むクリーンアーキテクチャへの入り口 | ドクセル

                                                                スライド概要 ActiveRecordパターンに引きづられて設計が歪みがちになるのを学びほぐすことでクリーンアーキテクチャでの開発の良いスタートラインに立てるのではないでしょうか?

                                                                  ActiveRecordパターンの呪縛を学びほぐして挑むクリーンアーキテクチャへの入り口 | ドクセル
                                                                • ゲーム制作するUnityエンジニアのオススメ本 - Qiita

                                                                  ゲーム制作・開発をする上で考えることは沢山あります 設計・サーバー・DB・インフラ・ネットワーク・3DCG・数学・物理・サウンド・AI・セキュリティ・ゲームデザインetc... 僕自身まだ勉強中の身ではありますが、勉強になった書籍を紹介します! 勉強の目的は「汎用的で拡張性・保守性が高くラクに運用・開発したい」「知らない事知りたい」です! 実務でも必要な知識を学べるので、初学者・ゲーム業界に興味がある人は読んでおいて損はないと思います! (随時更新していきます) その他、この本もおすすめだよーってのがあれば教えて頂けると嬉しいです! 設計 Java言語で学ぶデザインパターン入門第3版 Javaですが、デザインパターンの基本・考え方を学べるのでおすすめ 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方 堅牢で具体的なコードと考え方を学べるのでおすすめ 独学で正

                                                                    ゲーム制作するUnityエンジニアのオススメ本 - Qiita
                                                                  • ざっくりDDD・クリーンアーキテクチャにおける各層の責務を理解したい①(ドメイン層・ユースケース層編) - Qiita

                                                                    概要 弊社で開発中のプロダクトは、ドメイン駆動設計とクリーンアーキテクチャを組み合わせた設計となっています。 これまでフロントエンドの開発を担当することが多かった中で、golangでのAPI開発を担当した際に、「この処理はRepositoryに書くべき?」「Usecaseにこの処理を書いたら責務を持たせすぎ?」「Domain ServiceとUsecaseはどう分ける?」など迷うことが多々ありました。 そこで、これら設計に関する考え方を整理するために具体的な実装を踏まえてこの記事を書いています。 この後、インフラストラクチャ層・プレゼンテーション層は別の記事として書く予定です。 DDD(ドメイン駆動設計)とは ドメインの専門家からの入力に従ってドメインに一致するようにソフトウェアをモデル化することに焦点を当てるソフトウェア設計手法である。 ドメイン駆動設計 下の画像のように4つの層に責務を

                                                                      ざっくりDDD・クリーンアーキテクチャにおける各層の責務を理解したい①(ドメイン層・ユースケース層編) - Qiita
                                                                    • NEエンジニアがお薦めする夏の課題図書13選+α

                                                                      みなさんこんにちはー!あすみ(@asumikam)です✨夏楽しんでますかー🌞 夏といえば・・・夏休みですね。 大量の休みと共に、大量の宿題と戦ったあの夏・・・あの頃は辛かったですが、今思うと、懐かしい気持ちと「学生」たるイベントに羨ましくなります(...よね?) その中で「課題図書」というものがありました。お薦めの本リストから本を選んで読書感想文書くやつ。 夏休み、図書館に行って自分に合いそうな本を選んだ記憶があります。 ・・・あれ・・・やりたいッ!また、やりたいッ!!(...ですよね??) ということでー!!NEのエンジニアに「お薦めの課題図書」を聞いてきました🫡 お願いしてその日中に10冊集まりました!素敵👏 そこに、自分のお薦めを3冊追加して、13選を紹介したいと思います! 「夏休み」気分を味わうために、新しい本に出会ってみるのはいかがでしょうか?✨ 「技術部門」「デザイン部門

                                                                        NEエンジニアがお薦めする夏の課題図書13選+α
                                                                      • 食べログiOSアプリのフルリプレース時の問題の原因と解決案をレガシーソフトウェア改善ガイドで考えてみる - Tabelog Tech Blog

                                                                        ※ 本記事は、過去の事例を元により良い改善案を検討したものになります。現在ではすでに改善されている点なども記載されています。 こんにちは。食べログiOSアプリを担当している saten です。 私は食べログシステム本部 アプリ開発部の基盤チームに所属しています。 基盤チームでは機能開発はあまり行わず、リファクタリングや開発環境(IDEやCI/CDなど)の整備、ライブラリ選定、アーキテクチャ設計など、食べログアプリの下支えをしているチームになります。 今回はTabelog Tech Blogで初の(食べログ系の他のiOSアプリを除く)食べログiOSアプリ本体の話だと思いますので、今も影響を与える2017年にあった食べログiOSアプリでフルリプレース時にあった問題の原因とより良い改善案を 書籍「レガシーソフトウェア改善ガイド」 の 「3.4 決断の時(リファクタか、リライトか)」の章 を元に考

                                                                          食べログiOSアプリのフルリプレース時の問題の原因と解決案をレガシーソフトウェア改善ガイドで考えてみる - Tabelog Tech Blog
                                                                        • Modern web application authentication and authorization with Amazon VPC Lattice | Amazon Web Services

                                                                          AWS Security Blog Modern web application authentication and authorization with Amazon VPC Lattice When building API-based web applications in the cloud, there are two main types of communication flow in which identity is an integral consideration: User-to-Service communication: Authenticate and authorize users to communicate with application services and APIs Service-to-Service communication: Auth

                                                                            Modern web application authentication and authorization with Amazon VPC Lattice | Amazon Web Services
                                                                          • Introducing Domain-Oriented Microservice Architecture

                                                                            You’re seeing information for Japan . To see local features and services for another location, select a different city. Show more Introduction Recently there has been substantial discussion around the downsides of service oriented architectures and microservice architectures in particular. While only a few years ago, many people readily adopted microservice architectures due to the numerous benefi

                                                                              Introducing Domain-Oriented Microservice Architecture
                                                                            • 2022年版実践WPF業務アプリケーションのアーキテクチャ【設計編/中編】 ~ドメイン駆動設計&Clean Architectureとともに

                                                                              前回記事では、初期のドメインビュー・ユースケースビューから、アーキテクチャを設計していくための土台となる初期の論理ビュー・実装ビュー・配置ビュー・データビュー・プロセスビューの設計を行い、全体の大まかな設計を行いました。その結果、個別の非機能要件やユースケースを個別に設計できる状態になりました。そこで今回は、ユースケースを設計する前に事前に設計しておいたほうが非機能要件について設計を進めます。具体的には認証・例外・ロギングのアーキテクチャです。これらはユースケースの設計に影響を与えたり、設計に応じた仮実装を進める上で、事前に決められていたほうが扱いやすい要素だからです。 ソースコード 実際に動作するソースコードは、GitHub上に公開しているので、ぜひご覧ください。ビルドや実行方法については、リンク先のREADME.mdをご覧ください。また、実際に動作させるためには次の2つのライセンスが必

                                                                                2022年版実践WPF業務アプリケーションのアーキテクチャ【設計編/中編】 ~ドメイン駆動設計&Clean Architectureとともに
                                                                              • ビジネスロジックとは何か?

                                                                                業務システムの設計/開発/運用の文脈での、ビジネスロジックについて考察してみたいと思います。 ソフトウェア設計についての本やブログ記事などで、「ビジネスロジックは重要である」ということは、何度も何度も言われていて常識になっていて否定する人はほとんど居ないと思います。この点については文字通りの意味で納得するところなのですが、「ビジネスロジック」というのは、何なのでしょうか? 実際のところ ビジネスロジックとは何か?と問われて思いうかべる事は人によって異なるかもしれません。 要件定義書に書かれていることがビジネスロジック? 基本設計書に書かれていることがビジネスロジック? ○○テーブルの××カラムと□□テーブルの△△カラムを同一トランザクションで更新することがビジネスロジック? あるページの○○ボタンをクリックしたら、行を削除するということがビジネスロジック? どうも捉え所が無い感じです。 W

                                                                                  ビジネスロジックとは何か?
                                                                                • 達人出版会

                                                                                  [令和6年度]基本情報技術者 超効率の教科書+よく出る問題集 五十嵐 順子 徹底攻略 データベーススペシャリスト教科書 令和6年度 株式会社わくわくスタディワールド 瀬戸美月 著 徹底攻略AWS認定SysOpsアドミニストレーター - アソシエイト教科書&問題集[SOA-C02]対応 鮒田 文平, 長澤 美波, 日暮 拓也, 奥井 務, 渡辺 樹, 山下 千紗, 伊藤 翼 世界標準MIT教科書 アルゴリズムイントロダクション 第4版 第2巻 高度な設計と解析の手法・高度なデータ構造・グラフアルゴリズム Thomas H. Cormen, Charles E. Leiserson, Ronald L. … 問題解決の教科書  CITA式問題解決ワークブック 市岡 和之 はじめてのType-C電子工作 じがへるつ スッキリわかるJava入門 実践編 第4版 中山 清喬(著), 株式会社フレアリ

                                                                                    達人出版会