並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 922件

新着順 人気順

"Clean Architecture"の検索結果81 - 120 件 / 922件

  • クライアントサイドのモデルとは何か 後編 ~ 単方向データフローと参照透過性 - mizchi's blog

    この記事は クライアントサイドのモデルとは何か 前編 ~ クライアントサイド MVC の死 - mizchi's blog の後編。 前提として、今回の出す例で、「Web フロントエンドで、そこまで複雑な状態を考慮するなんてそもそも間違ってる」という意見があると思う。これに関して、そもそも「SPA というものが、いかに実現可能になったか」という視点の話であり、また、自分の経験上「フロントエンドなんて雑でシンプルでいいでしょ」というものが、複雑な構成を取っていくのを、何度も目にしてきた、という2つの前提がある。 適切な粒度に応じた適切な構成をとるべし、というのは別の話で、今回、対象が複雑なアプリケーションなのは前提とする。 Flux 以前 先の記事で ActiveRecord を前提にしたサーバーサイド ORM をクライアントで輸入しようとすると、クライアントでは Storage 層が存在し

      クライアントサイドのモデルとは何か 後編 ~ 単方向データフローと参照透過性 - mizchi's blog
    • 技術書で平成30年間を振り返ろう。平成技術書史まとめ。 - omuriceman's blog

      最終更新日時2018/05/07 00:15 令和明けましておめでとうございます。新元号になっていかがお過ごしでしょうか。 振り返ってみると平成はITの時代と言っても過言ではなかったでしょう。 今回平成30年間の技術書を年間別にピックアップして形態素解析してみました。各年ごとの技術系のトピックとともに振り返って行きたいと思います。 (「その当時売れた本」ではなく、「現在も売れている当時の本」ですのでご注意ください。) これを機に気になる本など買いあさってみるのもいいかもしれませんね! はじめに ワードクラウドを自分でも体感してみたいかたはこちら サイトを作りましたのでよろしければ遊んでみてください。 平成技術書史 1989年 | 平成元年 この年の出来事 ゲームボーイ発売開始 Bash公開 本の紹介 プログラミング言語C 第2版 ANSI規格準拠 プログラミング言語C 第2版 ANSI規格

        技術書で平成30年間を振り返ろう。平成技術書史まとめ。 - omuriceman's blog
      • Go(Echo), Gorm, Mysql, Docker, Swaggerで、クリーンアーキテクチャなAPIサーバーを作ったメモ

        自分の本業は10年物のMVCプロジェクトなのでClean Architecture忘れがちです。 なので、慣れてるGoでパッとClean Architectureの復習を行ってみました(2年前にPythonでやった事はあるんだけど・・・)。 このスクラップでは単語とか作りどころとかを整理するのですが、また後でRustで作ってそっちは前例がほぼないので記事にします。 Go + Clean Architectureは結構記事あるんですが、Swaggerつけたしたのと自分なりに納得いくディレクトリ構成にオリジナリティを出しました。ちなみにgo-swagger使うと本当は凄く楽に作れるのですが(ついでにフロントはopenapi-generator)、今回はClean Architectureを理解するのが主目的なので、サーバーは手書きでopenapiのyamlも1から自作しました。 ↑ postに

          Go(Echo), Gorm, Mysql, Docker, Swaggerで、クリーンアーキテクチャなAPIサーバーを作ったメモ
        • ソースコードを読むときの3つのステップ - 弥生開発者ブログ

          はじめに はじめまして。お盆明けからMisocaでインターンをしているhmryuです。Misocaにジョインする前は、個人でサービスを作ったり、研究でプログラムを書いたりしていました。 一方で、チームで開発する経験はあまりなく、Misocaにジョインした始めの頃は慣れないことばかりでした。中でも、他人の書いたソースコードを読んで理解することが、一番大変だったかもしれません。 そこで今回は、機能追加・変更を加えるためにソースコード*1を読む上で、僕が大切だと感じた3つのステップについて書きたいと思います。 1. 機能とソースコードの対応を調べる まず、自分が変更を加える機能がどんなもので、どこに実装されているのか理解する必要があります。実際にサービスを動かして、どんな機能なのかを確認します。その後、その機能がソースコードのどの部分に対応するのかを調べます。 例えば、メール送信について調べる場

            ソースコードを読むときの3つのステップ - 弥生開発者ブログ
          • 事業を支える技術選定 / Engineering Decision Making Process For Business - Speaker Deck

            Transcript 事業を支える技術選定 コネヒトマルシェオンライン「事業を支えるWeb開発」@itosho 1 自己紹介 ▪伊藤 翔 @itosho ・コネヒト株式会社 執行役員CTO ・Backend Engineer / PHP, Go ・stand.fm はじめました ・https://stand.fm/channels/5ec2e733f654bbcab4c123a2 Follow me! 今日のテーマ「技術選定」 4 何故、技術選定は難しいのか? ▪正解がない ・判断軸が多岐に渡り、会社の状況によっても変わる ・イデオロギーが対立しやすいトピックであり、合意形成が難しい 難しいからこそ向き合う価値がある ▪今日話すこと ・技術選定をするにあたり、どうやって意思決定をしているか ・正解がないトピックなので一つの考えとして聞いてください ※話のトピック的に、何かを「選ぶ」ので必然

              事業を支える技術選定 / Engineering Decision Making Process For Business - Speaker Deck
            • Clean Architectureにおいてバリデーションはどこでやるべきか

              クリーンアーキテクチャで web アプリケーションを作る際に、バリデーションはどのレイヤの責務なのか?と悩むことが多いため、それについての考察を行ってみる。 あと、バリデーションについて書いてたはずがドメインロジックとアプリケーションロジックの違いについても結構言及せざるを得ない感じになったので、そのへんの話もしてみる。 結論から言うと バリデーションはどのレイヤの責務なのか?という問い自体が間違いであり、レイヤごとにそのレイヤの責務となるバリデーションを行うべき、というのが今のところの結論。 バリデーションという単語は意味があまりに広い。「意図していないもの/ことを防ぐ」ことはすべてバリデーションと呼ばれている節がある。そのことにより、バリデーションというのはあたかも唯一つの責務であるかのように錯覚しがちだが、そうではない。クリーンアーキテクチャではレイヤによって責務を分担しているが、同

                Clean Architectureにおいてバリデーションはどこでやるべきか
              • 「青銀行の勘定系をFirebase前提で構築できるか?」 - たなかこういちの開発ノート

                Firebaseについて、事前知識 Firebaseとは、以下のような機能群を「Serverless」の文脈でバンドルしたものである。「Serverless」として、これらの統合管理コンソールの出来栄えが秀逸。 - Firestore ... Document-oriented KVS - Cloud Functions ... AWSのLambda - Cloud Storage ... AWSのS3 - Hosting ... Web Assetsのデプロイ先の提供、CDN展開サポート - Authentication ... ユーザー管理・統合認証サービスの提供 - Cloud Messaging ... iOS/Android/Web(JS)クライアントアプリへの統合プッシュ通知サービス - その他 いうまでもなく「Serverless」とは「サーバー運用・管理レス」の意味。まさに

                  「青銀行の勘定系をFirebase前提で構築できるか?」 - たなかこういちの開発ノート
                • GoでWebアプリを作ろう 第一回 : Goで簡単なCRUD - Studio Andy

                  こんにちは、Andyです。 普段はフロントエンドチームでJSばかり書いているのですが、せっかくGoの会社に入ったので良い機会だと思いGoに入門してみました。「Goの作法」を知ればより裏側のシステムについての理解が深まり、フロント側も良いプロダクトが作れるんじゃないかなと期待しています。 せっかく新しい言語を学ぶので、学習の中でやった事や詰まった事を文字で残そうというのが本記事の目的。 とてもじゃないですが1回で全てをカバーできないので数回に分けてチャレンジします。 手探りで自分なりのベストプラクティスを模索している最中なのでマサカリ大歓迎です。 現在のスタック 学習を始めるにあたって、自分のエンジニアとしてのスタックはこんな感じ。 Ruby on Rails, ES6 (業務レベル) PHP, Perl, Python (趣味レベル) ちなみにgolangの経験値はA Tour of Go

                    GoでWebアプリを作ろう 第一回 : Goで簡単なCRUD - Studio Andy
                  • The Clean Architecture

                    In the weeks since I started talking about the need to clean up our architecture, I’ve noticed a surprising resistance to the idea. Apparently the notion that it’s a good idea to hide the framework, UI, or database from the application code is not universally accepted. I first blogged about this topic here , I did a whole cleancoders.com episode on the topic. I’ve also done several keynotes on the

                    • 継続的ドキュメンテーション: Github DiscussionsとADRのすすめ - LIFULL Creators Blog

                      こんにちは。テクノロジー本部のyoshikawaです。好きなW3C Recommendation は RDF 1.1 Concepts and Abstract Syntax です。 会議やチャットでのやり取りの決定事項・議事録、アプリケーションや機能の設計書・仕様書、READMEなどなど... LIFULLの開発現場においては、ソースコード以外にもこのように様々な文書の管理・蓄積(=ドキュメンテーション)を実施しています。 多くの開発者・メンバーがドキュメンテーションの重要性やその恩恵は理解はしているものの、なかなかうまく情報の蓄積・管理ができない、 その結果、本質的ではない調査に時間を取られてしまいDeveloper Experienceが下落してしまう。 このような課題を抱えているプロジェクトやチームは世の開発現場において少なからず存在すると思います。 LIFULLの開発現場にもこの

                        継続的ドキュメンテーション: Github DiscussionsとADRのすすめ - LIFULL Creators Blog
                      • JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita

                        事の発端 始まりはこちらのツイートから。 Usecasesレイヤーを充実させていったらVuex Actionsほとんど使わなくなるな笑 — Andy (@andoshin11) 2018年6月15日 それはどういうことだよ・・・ フロントでどう使うんだ・・・? と疑問に思い、自分なりに検証・実装してみたいと思ったのが事の発端です。 Clean Architectureとは? まず根本の理解がほぼなかったので調べることにしました。 こことか https://qiita.com/koutalou/items/07a4f9cf51a2d13e4cdc こことか https://blog.tai2.net/the_clean_architecture.html こことか https://qiita.com/Tueno@github/items/705360b357c2a00c9532 こことか h

                          JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita
                        • お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita

                          お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考えるmodelDDD設計 みなさんは、Modelと言われたときに何をイメージしますか? こんなアレを思い浮かべた方も多いかと思います。 マサカらせてください。やはりお前らのModelは間違っている。 アレをModelと呼ぶと何が不味いのか すみません、早速言い過ぎました。半分は正しいです。MVCの発明者、Trygve Reenskaug氏による1979年の説明によると、 Models represent knowledge. A model could be a single object (rather uninteresting), or it could be some structure of objects. 1 このように「Modelは単体のオブジェクトであっても

                            お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita
                          • Flutterアプリにおける、過不足ない設計の考察🎅

                            Photo by Hush Naidoo Jade Photography on Unsplash「一般的なモバイルアプリ」の設計全般において、特に何に気を付ける必要があるか、あるいは逆にあまり気にしてなくても良いのではと思うことなどを述べていきます。 (…のつもりでしたが、後者含めると1記事に収めるの困難で、最後にさらっと触れつつ別記事で手厚く書きたいところです🤔) ここでの「一般的なモバイルアプリ」は規模観点では以下程度のイメージですが、それを超えるような規模でも通ずる内容も多いと思っています。 コード量: 数万〜十数万行実装者: 一桁人種類としては(スマホ向けの)クライアントアプリコードであり、以下などではないです。 パッケージ・ライブラリではないサーバーサイドではないこの種類によって適切な組み方はけっこう変わり、アプリコードは依存関係の末端側(基本的に依存される側にはならない)な

                              Flutterアプリにおける、過不足ない設計の考察🎅
                            • データ詰め替え戦略 - kawasima

                              このSpring Bootを使ったクリーンアーキテクチャの例は、データの詰め替え過剰にみえる。 https://www.baeldung.com/spring-boot-clean-architecture これだけのモデルと詰め替えが必要なのだろうか? 『Get Your Hands Dirty on Clean Architecture 』にこのマッピング戦略(詰め替え戦略)が書かれている No Mapping (レイヤ間でモデルを共有し、詰め替えをしない) 2-way Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しは上位レイヤが詰め替えの責務を負う) Full Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しには専用のモデルを使う) またこの戦略のどれを選ぶかの基準は『Balancing Coupling in Software Design

                                データ詰め替え戦略 - kawasima
                              • Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由

                                DMM GroupのGoの勉強会「DMM.go」。DMM Groupのエンジニアが現場で培った技術やトレンドについて発表していきます。 2回目の開催となる今回登壇するのは、合同会社EXNOA プラットフォーム開発本部の PFシステム部に所属する岡崎翔悟氏。「Goとクリーンアーキテクチャ」の内容で、実際の現場にいるからわかるGoの開発やクリーンアーキテクチャについて話していきます。関連資料はこちら。 合同会社EXNOAとは 岡崎翔悟氏:今回「Goとクリーンアーキテクチャ」と題しまして、EXNOAの岡崎が発表いたします。 「EXNOAって何だ?」と思われた方が多数いらっしゃると思うので、まずはそちらの説明から。DMM GAMESは2020年4月10日付でEXNOAに社名を変更しました。ただし、一般作品のブランド名として「DMM GAMES」は残っています。一般作品の「DMM GAMES」とR1

                                  Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由
                                • iOSアプリエンジニアのための面接質問集100選 - NSBlogger

                                  はじめに こちらはiOS その2 Advent Calendar 2016の12月24日の記事です。 iOSアプリエンジニアが採用面接時に聞かれることってなんだろうと思い、ひねり出した100個の質問です。 ゼロベースで考えるのはさすがに困難だったので、以下に挙げられている記事をだいぶ参考にしました。 https://github.com/MaximAbramchuck/awesome-interview-questions#ios https://github.com/MaximAbramchuck/awesome-interview-questions#objective-c https://github.com/MaximAbramchuck/awesome-interview-questions#swift これらで紹介されているものは、実際にコードを見て応えるものもありますのでぜひ

                                    iOSアプリエンジニアのための面接質問集100選 - NSBlogger
                                  • AWS Lambdaによる進化的アーキテクチャの構築 | Amazon Web Services

                                    Amazon Web Services ブログ AWS Lambdaによる進化的アーキテクチャの構築 この投稿は、メディアとエンターテインメントのプリンシパルソリューションアーキテクトであるLuca Mezzaliraによって書かれました。 俊敏性により、必要に応じてワークロードを迅速に進化させ、新機能を追加したり、新しいインフラストラクチャを導入したりできます。コードベースでアジリティを実現するための主な特徴は、疎結合コンポーネントと強力なカプセル化です。 疎結合は、テストカバレッジを改善し、一貫したリファクタリングを作成するのに役立ちます。カプセル化を使用すると、実装ロジックを明らかにすることなく、サービスとのやり取りに必要なものだけを公開できます。 進化的なアーキテクチャは、設計の俊敏性を実現するのに役立ちます。「進化的アーキテクチャの構築」という本の中で、このアーキテクチャは「複数

                                      AWS Lambdaによる進化的アーキテクチャの構築 | Amazon Web Services
                                    • 最近のアプリ界隈での「設計」の違和感 - なるようになるかも

                                      アプリ界隈で「設計」の話をするときに MVC / MVP / MVVM のような「設計パターン」だけが語られるようになった気がする。 往々にして、「アプリの規模によってどれを採択すべきかは変わる」みたいなお茶を濁すような結論で終わることが多い。 私的な結論 「設計」と、「設計パターン」は別物だと思う。 「設計」のレベルを上げたい。 アーキテクチャシンドロームから抜け出して、価値のあるものを作りたい。 以下、思うところのメモ。 MVC は古い / 劣ったやり方か? MVC は Model をどう構築するかについてとくに規定していない。 MVC への批判をするときに、FatVC が持ち出されることが多いのですが、FatVC を実装してしまうのは単に実装者の能力不足だと考えていて、MVVM を採用しても FatVM を作るだけだと思っている。 また、比較的新しめの Flux アーキテクチャは、良

                                        最近のアプリ界隈での「設計」の違和感 - なるようになるかも
                                      • iOS新人プログラマーさんに贈るiOSで活躍しているエンジニア - Qiita

                                        これからiOSの開発を始める新人プログラマーさんたちに向けて僕が知っている範囲で大変恐縮ですが、OSS活動やQiita、Blog、Twitter、勉強会、執筆などアウトプットされている方を中心に集めてみました。 ここでご紹介させて頂いたエンジニアはほんのごく一部で、もっともっとたくさんの素晴らしい活動をされている方々がいらっしゃいます。紹介しきれず、本当にごめんなさい。m(_ _)m 各エンジニアのQiitaやBlogの記事を読んだり、OSSへのコントリビュートの活動を見たり、開発されているOSSをコードリーディングすることで視野が広がり、きっと成長の糧になることと思います。また先人の方々の活動のように、ご自身が今後学ばれた知見をアウトプットし、コミュニティで活動されると嬉しく思います。 記事やOSSをリンクまとめにせずエンジニア(人)を軸に紹介しています。誰が書いたり作ったりしているのか

                                          iOS新人プログラマーさんに贈るiOSで活躍しているエンジニア - Qiita
                                        • 現実世界の事象から学ぶ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
                                              • Goを運用アプリケーションに導入する際のレイヤ構造模索の旅路 | Go Conference 2018 Autumn 発表レポート - BASE開発チームブログ

                                                お久しぶりです、BASEでサーバーサイドエンジニアをやっている、東口(@hgsgtk)です。BASE BANKというBASEの子会社にて金融事業の立ち上げを行っています。今回は、BASE BANKで行っているGo言語でのチーム開発について書こうと思います。 なお、このエントリーの内容について、2018年11月25日に開催されたGo Conference 2018 AutumnにてLT登壇してきました。 発表資料については次のURLで公開しています。 https://go-talks.appspot.com/github.com/higasgt/gocon-lt/architecture.slide#1 今回、LTをCFPで2つ提出して、偶然2つ採択いただいたので、併せてDocker開発環境の整備についても次のスライドで発表させていただきました。 https://go-talks.appsp

                                                  Goを運用アプリケーションに導入する際のレイヤ構造模索の旅路 | Go Conference 2018 Autumn 発表レポート - BASE開発チームブログ
                                                • 正しさとGo - Qiita

                                                  はじめに Goの良いところは、最低限の文法を知っていればコードを上から順番に読むことで詳細を容易に理解できることです。 文法の中にシンタックスシュガーや特別な省略が許されていないため多様な表現になることはありません。 そのためGoを書ければGoの本体と標準ライブラリを読むことができます。 しかし以下の原因により、これらの利点を守ることが難しくなることがあります。 DSL フレームワーク 抽象化 これらは設計として新たな制約を課すことで品質向上や実装を容易にするためのものです。 またこれらを採用する論理立てた 正しい 理由が存在します。 DSL DSLを提供するツールとして、DIのための wire があります。 GoでDIを実現するためには多くの実装を必要とするため、実装量を減らすためにもDIツールが求められてきました。 これは 正しい です。 しかし一方でDSLはコードを読む人間に言語以上

                                                    正しさとGo - Qiita
                                                  • ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita

                                                    この記事は クラウドワークスアドベントカレンダー2019 12日目の記事です。 概要 こんにちは、怒り駆動リファクタリングを生業としている @MinoDriven です。 弊社リファクタリング専門チーム「バグハンター」で現在実施中のリファクタリング設計について紹介致します。 ドメイン駆動設計 を用い、Railsレガシーコードに対しViewとControllerを ActiveRecord非依存 に変更する設計です。 状況 弊社ブログの過去エントリにあるように、弊社サービスcrowdworks.jpはサービスインから8年経過し、 30万行 を超えるモノリシックRailsアプリになっています。 開発生産性が低下してきています 。 生産性低下の課題を解決しようにも、大規模な上に複雑かつ密結合な構造になっており、 マイクロサービスへの移行も、リプレイスも困難な制約 があります。 そこで半年前にリフ

                                                      ドメイン駆動設計の比類なきパワーでRailsレガシーコードなど大爆殺したるわあああ!!! - Qiita
                                                    • Goで書くClean Architecture API - Qiita

                                                      Enterprise Business Rules ビジネスルールの為のデータ構造を持ったオブジェクト。 データの実態を表す場所。 Application Business Rules ビジネスルールを操作する場所。 つまりこのアプリケーションで何ができるかを実践します。 Interface Adapter 外部からの入力、データの永続化、表示を担当する場所 Frameworks & Drivers Webフレームワーク、DB操作の実際に担うソース、 フロントエンドのUIなどがここに所属しています。 外側のレイヤーの要素を直接参照してはならない 上記の図におけるこの矢印は依存を表しており、 内側のレイヤーから外側のレイヤーの要素への依存を禁じます。 ここでいう依存とは要素(構造体、変数など)への直接参照をさせないということです。 では外側のレイヤー要素を参照せざる得ないは、どうするのでしょ

                                                        Goで書くClean Architecture API - Qiita
                                                      • React で作る中規模 SPA のレイヤードアーキテクチャ - GiXo Ltd.

                                                        TAG : Advent Calendar | Firebase | Firestore | React | Refeed | TypeScript | トチカチ | フロントエンド AUTHOR :   ギックス POSTED :  2020.12.23 08:25 この記事は GiXo アドベントカレンダー の 23 日目の記事です。 昨日は、少人数の開発で Kubernetes を活用するための設計戦略 でした。 MLOps Div. の堀越です。本記事では、React と TypeScript で SPA の実装を行う際に採用しているレイヤードアーキテクチャについてご紹介します。 レイヤードアーキテクチャというとクリーンアーキテクチャや DDD が有名ですが、弊チームフロントエンド の場合はクリーンアーキテクチャから SPA にマッチする箇所を部分的に取り入れた簡易版のレイヤードア

                                                          React で作る中規模 SPA のレイヤードアーキテクチャ - GiXo Ltd.
                                                        • 人の作ったWebアプリケーションのコードを見るときに注目しているところ - Runner in the High

                                                          普段見ているものをなんとなく書き出してみた。 インターフェイス あえてやってないとか、レイヤ的にやる必要がないというケースもある。しかし、ある程度の規模のソフトウェアには大抵インターフェイスが現れる。インターフェイスがないコードはユニットテストもないことが多い。したがって、インターフェイスが現れないコードは責務分離が行われてない可能性を感じたりする。 言語機能上インターフェイスがない動的型付け言語の場合には、ダックタイピングを意識したコードが書かれているかをチェックする。ダックタイピングでなくとも、例えばRubyだったら抽象クラスと実装クラスの分離が行われているかを見たりする。 バリデーションロジック すべてのバリデーションが、フレームワークの機能で実装されてたりしないかをチェックする。MVCとかクリーンアーキテクチャ的な実装であれば、それぞれのレイヤでどういうバリデーションをしているのか

                                                            人の作ったWebアプリケーションのコードを見るときに注目しているところ - Runner in the High
                                                          • Rust についてカジュアル面談で頻繁に訊かれる質問と、それに対する個人的な回答 - CADDi Tech Blog

                                                            エンジニアリングマネージャーの村上 (@mura_mi) です。採用関連で面談に出ることが多いのですが、大体7割くらいの確率で 「なんで Rust 使ってるのですか?」「Rust 使っててどうですか」と聞かれるので先回りして書いておこうと思った記事です。 なんで Rust を選んだの Rust をエンジニアリングチームの武器の中心に据える意思決定がされたのは私の入社前ですが、伝え聞いている話しと自分の解釈を混ぜ合わせた話を書きます。 「データ指向アプリケーションを堅牢に作るのに必要な型システムを求めたこと」と、「キャディがもともと C++ の会社だったこと」の2つが、キャディが Rust を使っていることの背景にあったのだと理解しています。 後述しますが、キャディが 原価計算システム やサプライチェーン・マネジメントシステム を Rust を使って開発しはじめたのは、2019年の中頃だった

                                                              Rust についてカジュアル面談で頻繁に訊かれる質問と、それに対する個人的な回答 - CADDi Tech Blog
                                                            • Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                              Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について ナイル株式会社メディアテクノロジー事業本部の工藤さんにMVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について解説いただきました。 こんにちは、ナイル株式会社メディアテクノロジー事業本部で開発マネージャをしています工藤@ta99toです。 今回は大規模で複雑度の高い開発をMVCフレームワークベースで構築する際に僕が課題と捉えているポイントやその具体的な解決手法について解説させていただきたいと思います。 「MVC以上の責任分離イメージがつかないよ!」 「DDDとかクリーンとかオニオンとかあのへんの設計パターンの導入モチベーションが不明」 「どうやっても最終的には複雑になって追加開発や修正開発が怖い状態になっちゃう」 ↑このような悩みを持った方に対して

                                                                Laravel大規模開発入門!MVC分離のFatModel問題に対する責任分離と依存管理、その設計と考え方について|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                              • 達人出版会

                                                                探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                                                  達人出版会
                                                                • Clean Architectureなにもわからないけど実例を晒して人類に貢献したい - エムスリーテックブログ

                                                                  こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 これまでは、中村の記事で宣言した 「医師版Stack Overflow」(12/16に正式名称Docpediaとしてリリースされました) の技術的チャレンジの 記事を続けて書いていたのですが、今回はここで宣言しなかったClean Architectureについて書きます。 浪江駅(なみええき)は、福島県双葉郡浪江町にある、東日本旅客鉄道(JR東日本)常磐線の駅。本文には特に関係ありません。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ) 作者:Robert C.Martin,角 征典,高木 正弘出版社/メーカー: ドワンゴ発売日: 2018/08/01メディア: Kindle版 なぜ書くのか 参考にできる実例を増やしたい Tech Blogはそのままドキュメ

                                                                    Clean Architectureなにもわからないけど実例を晒して人類に貢献したい - エムスリーテックブログ
                                                                  • 【Swift, Firebase】究極の瞑想アプリを作った話 - Qiita

                                                                    - json - github “SwiftyJSON/SwiftyJSON” - reactive - github “SwiftBond/Bond” - setting - github “nickoneill/PermissionScope” ~> 1.0 - ui - github “ninjaprox/NVActivityIndicatorView” - github “SVProgressHUD/SVProgressHUD” - github “airbnb/lottie-ios” - github “xmartlabs/Eureka” ~> 4.0 - github “danielgindi/Charts” ~> 3.0.5 - github “kaandedeoglu/KDCircularProgress” - github “ChiliLabs/CHIPageContro

                                                                      【Swift, Firebase】究極の瞑想アプリを作った話 - Qiita
                                                                    • 実践クリーンアーキテクチャ │ nrslib

                                                                      YouTube での解説 YouTube にて Java コードをベースに解説を行いました。 コードの雰囲気は C# とほとんど同じなので参考になるかと思います。 もしよければご覧ください。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/ その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 Qiita 版 Qiita に CUI や GUI 向けのクリーンアーキテクチャの記事を書きました。 ボブおじさんのクラス図を模したものです。 Web とはまた異なった実装になるので、もしよければ合わせてご参照ください。 https://qiita.com/nrslib/items/a5f902c4defc83bd46b8 さらに PHP の Laravel 版も作ってみました。 https://qi

                                                                        実践クリーンアーキテクチャ │ nrslib
                                                                      • 阿部寛を超えるための技術: はてなブログからNuxtに移行した話

                                                                        旧サイト(はてなブログ)からのパフォーマンスの伸びが顕著ですね。 Performanceは言わずもがなですが、はてなブログでPWA対応がほとんどされていないのが気になりました。Service Workerのような標準化しつつある仕様に追従できていないのは痛いところ。 Nuxt + Contentfulでやっていき 今回の実装にあたってはフレームワークに依存せずSPAを作成することも検討しましたが、SEOなどを考えるとSSRの仕組みが必須です。またSSRもスクラッチで組もうとすると中々ハードルが高く(Storeのハイドレーション、Render hooksのAPI設計等)、今回は業務でも利用した事のあるNuxt.jsを利用しました。 Embedded content: https://nuxtjs.org/ 詳細は後述しますが、Nuxt communityの提供しているModule群がものすご

                                                                          阿部寛を超えるための技術: はてなブログからNuxtに移行した話
                                                                        • ヤフーのクリエイターが読んでいる技術・デザイン書 〜 技術活動費用補助制度のデータから見る興味関心

                                                                          ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Developer Relations アドボケイトの山本です。 ヤフーにはエンジニアやデザイナーといったクリエイターの活動を支援する制度「My Polaris」があり、その中の1つにクリエイターが常に自身の技術力向上を図れるよう学習活動を支援するための「技術活動費用補助制度」というものがあります。 本記事ではこの制度の紹介と、この制度の活用状況のデータを集計してヤフーのクリエイターの興味関心を可視化します。 技術活動費用補助制度とは? 冒頭でも触れましたが、エンジニアやデザイナーといったクリエイターの学習活動を支援する制度で、半年間で6万円を上限に、書籍、アプリ、デバイスなどの購入、セミナーや勉強会への参加、英語学習

                                                                            ヤフーのクリエイターが読んでいる技術・デザイン書 〜 技術活動費用補助制度のデータから見る興味関心
                                                                          • 機械学習APIでWebサイトの改善点を提案するサービスを作った話 - Qiita

                                                                            まえがき アクセシビリティーの観点からWebサイトを診断し、AIプラットフォームを利用して得た情報をもとにベストプラクティスを提案してくれるオープンソースのWebサービス「Visible」を開発しました。 WebサイトURL: https://visi.dev GitHubリポジトリ(Starください!): https://github.com/visible/visible GoogleのLighthouseなど、Webサイトの診断を行ってくれるサービスは以前からありましたが、診断だけではなく改善点の提案も行う新しいサービスになっています。また、アクセシビリティーに関する理解を深めてもらえるように工夫をした設計にしていたり、コマンドライン版ではスタンドアロンで実行可能なようになっています。 2020年度の「独創的アイデアと卓越した技術を持つ小中高生クリエータ支援プログラム」未踏ジュニアに

                                                                              機械学習APIでWebサイトの改善点を提案するサービスを作った話 - Qiita
                                                                            • 各社のエンジニア研修で探る、新人エンジニアに必要な技術と駆け出しエンジニアの成長論 - このすみノート

                                                                              新人研修の内容を検討しているのですが、それにあたり各社の新人研修を調査しました。 なお本記事は、@gcchaan氏のGitHub Gistにある「研修資料まとめ」を参考に作成しております。 @gcchaan氏の「研修資料まとめ」はとても素晴らしいまとめで、これを見ると各社がどのように新人エンジニアを育成しているのか見てとれたり、新人エンジニアがどのような研修を経て成長していくのか垣間見えます。 DMM.com(2019) DMM.comの研修で紹介されている技術書 GMOペパボ(2019) LINE(2018) Spee(2016) Wantedly(2019) ウエディングパーク(2019) エムスリー(2018) 研修概要 KAYAC(2017) クックパッド(2016) GREE(2014) ぐるなび(2017) LEMPについて サイバーエージェント(2019) エンジニア研修がど

                                                                                各社のエンジニア研修で探る、新人エンジニアに必要な技術と駆け出しエンジニアの成長論 - このすみノート
                                                                              • 実践 Clean Architecture

                                                                                Scala福岡 2019 https://scala-fukuoka.org/ https://github.com/yoshiyoshifujii/scala-clean-architecture-example

                                                                                  実践 Clean Architecture
                                                                                • あえてGo言語でClean Architectureを学ぶ

                                                                                  はじめに 最近巷で話題のGoらしさって話があると思いますが、 ここはあえてGoらしからぬClean ArchitectureをGoで学んでいこうという記事です。 対象 Go言語をある程度読めて、Clean Architectureに興味がある方 注意 ここでいうClean Architectureとは、依存性のルールに従った円を指しています。 Clean Architectureを採用しましょうって話ではありません。 各言語には思想があるので、その言語らしい書き方に沿うべきだと思っています。 ざっくりとしたアーキテクチャの目的 システムの関心の分離を行い、選択肢を残す(決定を遅らせる)ことが目的です。 またユースケースを中心として開発するため、フレームワークやツールに依存しません。 Clean Architectureとは Robert Martin がブログで提唱したアーキテクチャの解説

                                                                                    あえてGo言語でClean Architectureを学ぶ