問題タブ [paradigms]
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.
model-view-controller - MVCの良い例?
Model-View-Controller パラダイムの非常に正確な例を指摘/提供できる人はいますか? 私は、MVCの原則に完全かつ正確に従っている、理解しやすい言語(VB.NET?)で実装された本当に単純なもの(インチからcmへのコンバーターなど)を意味します。
php - MVC の理解: モデルの「Fat」、コントローラーの「Skinny」の概念は何ですか?
モデルの「ファット」とコントローラーの「スキニー」の概念を理解しようとしています。これまで議論してきたことから、次の例があります(これはfreenodeの議論から取られています):
Q: MVC パラダイムでは、Fat モデル、Skinny Controller と言われています。私がここで考えているのは、CRUD (モデル上) にいくつかの抽象メソッドを使用するメソッド (コントローラー上) がたくさんある場合、モデルの代わりにファット コントローラーを作成しているのでしょうか? または、彼らは、返されて入力されていないものを参照して、太ったモデルと言いますか?それは私が決して理解できなかったことです =) どんなコメントでも大歓迎です! どうもありがとう
OBS1: 私はモデルによって何をしているのではありません。コントローラーでは、モデルに行くものを制御するメソッドを持っているだけです。
OBS2: たとえば、"checkIfEmailExists()" には "john@hotmail.com" がパラメーターとして含まれています。このメソッドは、このパラメーターがテーブルに存在するかどうかを照会するモデル メソッドから戻り値を取得し、ブール値を返します。が 0 の場合、"checkIFemailExists()" は別のモデル メソッドを呼び出します。これは、更新操作を実行する別の抽象メソッドです。
OBS3: 「checkIfEmailExists()」は単なるコントローラーではありませんか? 彼は実際にはCRUDを実行していません。値などを比較しているだけです。私の頭の中ではこれはコントローラーなので、それが私を混乱させます:S
注: これは最良の例ではないと思います。「何かが存在するかどうかを確認してください」と言うと、テーブル操作のクエリのように聞こえるからです。
Q2: もう 1 つ質問があります。たとえば、メール アドレス パラメータの送信元であるビュー フォームがあるとします。ビューがモデルに直接行くと言っていますか?
Q3:コントローラはそれらの間で動作するべきではありませんか? それがパラダイムです
最終注記: 議論は、私が間違っていると言って終了しました。希望は大丈夫です (私は学んでいます)。Q2とQ3の正解は?
ご清聴ありがとうございました
python - Python と相乗効果を発揮する他の言語は? アドバイスが必要
プログラミング言語の基本を知っているので、Python を勉強して、とても気に入りました。私は現在、Pythonの中間部分を勉強しており、すでに概念を理解しています。私はプロジェクトに取り組んでいると同時に、アルゴリズムの使用を実践するコンピューターの問題を解決しています。Python には限界があり、別のプログラミング言語を学ぶことでその限界を補いたいと考えています。
Python と相性の良いプログラミング言語を教えてください。Pythonとそれをうまく補完する言語を使って実際の経験を積むことができる人が欲しいです。「アイアンパイソンまたはjython blah blah blahを試してみてください」のような答えは役に立ちません。長所と短所、成熟度、問題、それで十分です...どうもありがとう
編集- 申し訳ありませんが、これに詳細を追加する必要があると思います。主に Web プログラミングやゲーム開発に Python を使用します。したがって、この言語 A が Python で Web プログラミングに役立つと思われる場合は、それでおしまいです。
programming-languages - プロの開発者にとって不可欠な言語パラダイム
したがって、ほとんどの (全員?) プログラマーは、主に命令型/手続き型プログラミング パラダイムの学習を開始し、おそらくその直後に何らかの形式のオブジェクト指向プログラミングを学習したと思います。関数型プログラミングが同時実行性/並列性を改善するためにますます重要であることを示唆するstackoverflowに関する多くの質問を読みました。また、プログラマーはスキルを向上させ、視野を広げるために多くのパラダイムを学ぶ必要があります。
開発スキルに本当に役立つ他のパラダイム (およびそれを使用する言語) は何ですか?
oop - オブジェクト指向プログラミングの代替案?
OOPは、おそらく今日のソフトウェア設計で最も使用されているプログラミングパラダイムです。私の質問は、他にどのようなパラダイムがそれと競合し、OOPの代わりに立つことができるかということです。その質問を明確にするために、私は他にどのようなパラダイムがあるかについて質問していません。たくさんありますが、どれか知りたいのですが…</ p>
- 理論だけでなく、実際に使用されてきました。
- OOPと競合できるため、最小限の労力で大規模なプロジェクトで使用できます。
- ビジネスロジックやデータベースなどを備えたデスクトップアプリの開発に使用できます。
- OOPと一緒に使用されるのではなく、OOPの代わりとして使用されます。
そして、もしあれば、それの長所/短所は何ですか、それがOOPよりも良い/悪い理由、それを使用するのに最適な言語は何ですか、人気のある言語でそれを使用するのはどうですか、それはどんなデザインパターンを持っていますか、そしてそれはできますかOOPを完全に置き換えますか?
programming-languages - 同時計算の問題例
今日使用されている並行プログラミングのパラダイムと方法は数多くあります。ソフトウェア トランザクション メモリ、アクター、共有状態の同時実行、タプル スペース、その他多数。
ただし、私が不足していると思うのは、並行性に関する興味深いテスト問題のライブラリです。よく知られている例の 1 つは、「食の哲学者問題」です。次に、作業の分散のみを必要とする多くの並列アルゴリズム (行列乗算、レンダリング、一般的なネストされたデータ並列処理) がありますが、実行スレッド間の通信との実際の同時実行は必要ありません。
では、並行性パラダイムの例として使用するのに十分単純な、インタラクティブな、おそらく分散環境でさえも実際の並行性を必要とするいくつかの興味深い問題のセットを誰か教えてもらえますか? 理想的には、同時実行パラダイムの「ラックマス テスト」として機能する一連の問題を見つけたい (または、すべてのパラダイムには長所と短所があるため、それらの違いを強調する)。
どんな助けでも大歓迎です:)
user-interface - UI 要素を非表示または破棄する必要がありますか?
UI 要素を一時的に非表示にする必要がある場合は、それを非表示にするだけで十分なのか (多くのフレームワークでこのオプションが提供されています)、メモリ内のオブジェクトを削除し、必要に応じて後で再作成する必要があるのか 疑問に思っていました (同じパラメータで)。
各ソリューションの長所と短所は何ですか? 要素を非表示にすることで、重要な状態情報を保存し、割り当て時間を節約できるのではないかと考えていたので、短期間非表示にする必要がある要素にはより良い方法かもしれません。しかし、時間が大きくなるとどうなるでしょうか?その後、メモリ内に不要なオブジェクトがずっと残ります。
1 つの例として、私が話している内容を明確に示すと、コンテキストの変化に基づいてボタンを変更するツールバーが考えられます。つまり、通常、ツールバーにはいくつかのボタンが添付されていますが、ユーザーがインターフェイスの他の部分で 1 つのアクションを選択すると、それらのボタンを新しいものに置き換える必要があります (そのうちの 1 つは「完了」ボタンです)。同様に、ユーザーがツールバーの「完了」ボタンを選択すると、初期状態に戻ります。
これがばかげた質問であるかどうかはわかりませんが、時期尚早の最適化のようなことをしている可能性もあります...しかし、すべての回答に感謝します。
programming-languages - 変数や関数の操作に基づかないプログラミング パラダイムはありますか?
私が知っている事実上すべての言語は、基本的にテーマのバリエーションです。変数と関数を作成し、条件やその他の構造を使用してそれらを操作します。関数型プログラミングなどは「伝統的な」言語とは多少異なることは理解していますが、基本的にはほとんど同じです。あなたはまだ変数を扱っており(不変などであっても、ある程度)、関数を作成しています。
現在私たちが使用しがちなものを完全に排除し、まったく異なるアプローチを持つ言語またはシステムはありますか?
api - ライブラリとAPIの間にまだ違いはありますか?
APIとライブラリの違いについて人々に尋ねるたびに、私は異なる意見を受け取ります。APIは仕様であり、ライブラリは実装であると言う人もいます...
このタイプの定義については、APIはマップされた関数の集まりであり、ライブラリはコンパイルされた形式の単なるディストリビューションであると言う人もいます。
これはすべて、Webコード、フレームワーク、およびオープンソースの世界で、実際にはもう実際的な違いがあるのだろうかと思います。jQueryやcURLのようなライブラリはAPIの定義にクロスオーバーできますか?
また、フレームワークはこのカテゴリにまたがっていますか?より「APIに似た」または「ライブラリ風」である可能性のあるRailsまたはZendの部分はありますか?
いくつかの啓発的な考えを本当に楽しみにしています:)
emacs - どの現代の編集者がemacs/viと競合しますか?
Emacsとviは、プログラミングの達人の伝統的な編集者です。しかし、拡張性とテキスト編集の生産性の観点から、現代の編集者はこれら2つを置き換えることができましたか?
Eclipseなどのエディターや商用エディターは、インテリセンスやリファクタリングなどの言語固有の利点を提供することを知っていますが、これは私が探しているものではありません。私の質問は、より一般的なレベルでの革新的なエディターパラダイムに沿ったものであり、多くの異なる言語に使用したり、他のタスクに拡張したりすることができます。