問題タブ [design-decisions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - Azure アプリ - 分散アーキテクチャ - 1 つの API レイヤーと 2 つの API レイヤー - 設計上の決定
背景 Azure App Service チュートリアルで API アプリと ASP.NET の使用を開始する ( https://azure.microsoft.com/en-gb/documentation/articles/app-service-api-dotnet-get-started/)、本日、To Do リスト アプリケーション API レイヤーを中間層 API アプリとデータ層 API アプリに分割するために行われた設計上の決定に関して、アーキテクチャに関する問題が発生しました。
分散アーキテクチャを使用してアプリケーションを構築する場合、API レイヤーでこの種の分離をいつ行う必要があるかを理解するために、どのような考慮事項を行う必要がありますか?
この質問をする別の方法は、アプリケーションを構築するときに中間層 API レイヤーとデータ層 API アプリを分離することの長所と短所は何ですか?
その他の質問Web アプリ アーキテクチャに関する記事 を読みました: 1 または n API に関する質問(次のリンクを参照)。中間層 (ロジック) とデータ層に個別の API レイヤーを持つ単一のドメインについて話しています。
scala - Why can't you create a setter without getter in scala?
私はScala で見つけました: getter なしで setter を書くことはできませんか? ゲッターなしではセッターを作成できないこと:
単純変数 x = e への割り当ての解釈は、x の定義によって異なります。x が変更可能な変数を表す場合、代入によって x の現在の値が式 e の評価結果に変更されます。e の型は x の型に適合することが期待されます。 x が何らかのテンプレートで定義されたパラメーターなしの関数であり、同じテンプレートにセッター関数 x_= がメンバーとして含まれている場合、代入 x = e はそのセッター関数の呼び出し x_=(e ) として解釈されます。 同様に、パラメーターなしの関数 x への代入 fx = e は、呼び出し f.x_=(e ) として解釈されます。'=' 演算子の左側に関数適用を伴う代入 f(args) = e は、 f.update(args, e ) として解釈されます。つまり、 f によって定義された更新関数の呼び出しです。
そのため、ゲッターなしでセッターを許可しないのは設計上の決定です。しかし、なぜ?実装するのが難しいだけですか、それとも基本的に不可能ですか?
このシンタックス シュガーを使用しないと、プロジェクトのどこでも同じ構文を持つことができなくなる (やや複雑な) セッターとして使用することで、有効な使用例があります。
git - Git ブランチとローカル変更
変更をコミットしたり隠したりしないと、Git でブランチを切り替えることはできません。この背後にある全体像は何ですか? また、Linus が Git を設計する際にこのアプローチを採用したのはなぜですか?
ブランチを切り替えるとローカルの変更がブランチ全体に表示される場合、ブランチは孤立して機能することが期待されるため、ブランチのポイントは何ですか?
java - Java で Integer オブジェクトが null の場合、Integer オブジェクトをプリミティブ int と比較すると null ポインター例外がスローされる理由
以下のコードが null ポインター例外をスローするのはなぜですか? 私は同等性が単に偽であることを期待します。内部で何が起こっているのか、この設計上の決定の理由を説明できる人はいますか?