タグ付けされた質問 「frameworks」

フレームワークは、プログラミング言語とそれぞれのコンパイラに追加されるツールのセットです。時にはそれは必須です。場合によってはオプションであり、アプリケーションの開発を支援します。

7
Springフレームワークは何をしますか?使用すべきですか?なぜですか?
そのため、私はJavaで新しいプロジェクトを開始し、Springの使用を検討しています。なぜ春を検討するのですか?多くの人が私にSpringを使うべきだと言っているからです!真剣に、私は人々にSpringが何であるか、それが何であるかを説明するように試みたときはいつでも、彼らは私にまっすぐな答えを与えることはできません。SpringSourceサイトでイントロを確認しましたが、それらは非常に複雑であるか、本当にチュートリアルに焦点を当てています。いずれも、私がそれを使用する理由、またはそれが私の生活を楽にする方法について良いアイデアを与えてくれません。時々、人々は「依存性注入」という用語をまき散らしますが、これは私をさらに混乱させるだけです。なぜなら、その用語の意味が違うと思うからです。 とにかく、私の背景とアプリについて少し説明します。 しばらくJavaで開発しており、バックエンドWeb開発を行っています。はい、私は大量の単体テストを行っています。これを容易にするために、私は通常、(少なくとも)2つのバージョンのメソッドを作成します。1つはインスタンス変数を使用し、もう1つはメソッドに渡される変数のみを使用します。インスタンス変数を使用する方は、もう一方を呼び出して、インスタンス変数を提供します。単体テストの時間になると、Mockitoを使用してオブジェクトをモックアップし、インスタンス変数を使用しないメソッドを呼び出します。これは私が常に「依存性注入」であると理解してきたことです。 私のアプリは、CSの観点からは非常にシンプルです。小規模なプロジェクト、1〜2人の開発者。主にCRUDタイプの操作で、大量の検索がスローされます。基本的には、一連のRESTful Webサービスに加えて、Webフロントエンド、そして最終的には一部のモバイルクライアントです。フロントエンドをストレートHTML / CSS / JS / JQueryで行うことを考えているので、JSPを使用する予定はありません。HibernateをORMとして使用し、Jerseyを使用してWebサービスを実装します。 私はすでにコーディングを始めており、デモを手に入れたいと思っています。したがって、明らかに時間が重要です。Springには学習曲線がかなりあることを理解していますが、それに加えて、多くのXML構成が必要なように見えますが、通常はペストのように避けるようにしています。しかし、それが私の生活を楽にすることができ、そして(特に)それが開発とテストをより速くすることができるなら、私は弾丸を噛んで春を学ぼうと思っています。 だからお願い。私を教育してください。Springを使用する必要がありますか?なぜですか?

20
「決して車輪を再発明しない」というフレーズは、学生に適していますか?
SOに関する質問をすると、「車輪を再発明しないでください」または「車輪を再発明しないでください」という表現に常にぶつかります。いくつかのフレームワークまたは既存のパッケージを使用するように指示されます。他の人がすでに解決したことに時間を浪費するのは賢明ではないので、私はこの態度がどこから来たのかを知っています。それともそうですか? 学生として、私は問題を解決するために他の人が書いたいくつかのコードを使用することによって、私が望んでいるほど多くを学ぶことができず、より少ない洞察を得ます。そして時々、私はそのフレーズは、私のような学生ではなく、主に締め切りに直面している働くプログラマーのためのものだと思います。 「車輪を再発明する」ことは悪いことですか?たぶん私は間違っていると思っていますか?車輪の再発明を避けながら、同時に多くのことを学ぶことができる方法がありますか?

15
開発者は不可能な要件をどのように拒否すべきですか?[閉まっている]
私が直面している問題は次のとおりです。 プロジェクトマネージャーからの引用: こんにちはSparkさん、多くの異なるiOSアプリケーションに使用できるフレームワークを開発するタスクを割り当てています。要件は次のとおりです。 UIの操作に使用されている親指または指の太さを検出できる必要があります。 この情報を使用して、UIのすべての要素を自動的に配置およびサイズ調整する必要があります。 親指を大きくするには、要素を画面の中央近くに配置する必要があります。 親指を小さくするには、要素を画面の角に近づけて配置する必要があります。 親指を大きくするには、すべてのフォントを小さくする必要があります。(この場合、大人を想定しています。) 親指を小さくするには、すべてのフォントを大きくする必要があります。(この場合、若い人を想定しています。) 概要: このフレームワークは、ユーザーフレンドリーなユーザーインターフェイスをプログラムで作成するために必要です。フレームワークは、必要な数のプロジェクトで使用できるように開発される必要があるため、開発者にとっても使いやすいものでなければなりません。 私はこのタスクを与えられた開発者なので、私の質問は次のとおりです。 これらの要件が少しばかげていることをどのように説明できますか? 実際のプロジェクトの開発に専念する方が良いと説明するにはどうすればよいですか? これが可能であったとしても、そのようなものを開発することはお勧めしません。 このプロジェクトに礼儀正しく、優しく、敬意を持ってノーと言うにはどうすればいいですか? 3年の経験を持つ開発者であっても、これは不可能かもしれないことをどのように説明できますか?

4
次のSOLIDは、技術スタックの上にフレームワークを書くことにつながりますか?
私はソリッドが好きで、開発中にそれを使用して適用するように最善を尽くします。しかし、SOLIDアプローチがコードを「フレームワーク」コードに変えるように感じざるを得ません。つまり、他の開発者が使用するフレームワークまたはライブラリを作成する場合に設計するコードです。 私は通常、2つのプログラミングモードを練習しました-要件とKISS(通常のプログラミング)で要求される内容を多かれ少なかれ作成するか、他の開発者が必要とする柔軟性を提供する非常に一般的で再利用可能なロジック、サービスなどを作成します(フレームワークプログラミング) 。 もしユーザーが本当にアプリケーションにxとyのことをしたいだけなら、SOLIDに従って抽象化のエントリーポイントの全体を追加するのは理にかなっています。と?これらの抽象化のエントリポイントを追加する場合、ユーザーの要件を本当に満たしていますか、それとも既存のフレームワークと技術スタックの上にフレームワークを作成して将来の追加を容易にしますか?どちらの場合、顧客または開発者の利益に貢献していますか? これはJava Enterpriseの世界では一般的なことのように思われますが、ユーザーのUXに焦点を当てるのではなく、開発者にとってより良いUXになるようにJ2EEまたはSpringの上に独自のフレームワークを設計しているように感じますか?
70 frameworks  solid 

16
プログラマーは、言語とフレームワークをどの程度自由に選択できますか?
私は主にC#指向の会社で働き始めました。JavaとJRubyが好きな人は数人いますが、ここではC#が好きなプログラマーの大部分です。私が雇われたのは、Webアプリケーションの構築に多くの経験を持ち、JRuby on Railsやnodejsのような新しいテクノロジーに傾倒したためです。 私は最近、短時間で多くのことを成し遂げることに重点を置いて、Webアプリケーションを構築するプロジェクトに着手しました。ソフトウェアリーダーは、レールの代わりにmvc4を使用するよう指示しています。私はmvc4を知らない、C#を知らない、そしてWebアプリケーションサーバーとフロントエンドUIを作成する責任があるのは私だけである以外は、それは大丈夫かもしれません。 mvc4を使用する代わりに、私がすでに非常によく知っているフレームワーク(Rails)を使用することは意味がありませんか?この決定の背後にある理由は、技術リーダーがJruby / railsを知らず、コードを再利用する方法がないことでした。 カウンター引数: 彼はコードに貢献することはなく、率直に言って、 このプロジェクトには必要ありません。そのため、彼がJRuby / railsを知っているかどうかは重要ではありません。 JRubyがコードをプルしたり、その逆を行うことができる多くのJavaアプリがあるため、実際にコードを再利用できます。実際、彼はJavaライブラリをJRuby on Railsアプリで実行するだけでなく、JavaライブラリをC#に変換するためのリソースをいくつか用意しています。彼はJavaやJRubyが好きではないからです 多くのWebアプリケーションを作成しましたが、なじみのないものを使用するとスピンアップが発生し、今までのように短時間で素晴らしいアプリケーションを作成することができません。これは問題ありません。この分野では新しい技術を学ぶことが重要です。問題は、このプロジェクトでは、多くのことを迅速に行う必要があるということです。 開発者はどの時点でツールを選択できますか?これは会社に依存していますか?私の会社は嫌ですか、これは正常と考えられていますか?環境に優しい牧草地はありますか?私はこれを間違った方法で見ていますか?

6
フレームワークを使用しない場合[終了]
今日、ほぼすべての言語に対応するフレームワークを見つけることができ、ほぼすべてのプロジェクトに適合します。最新のフレームワークのほとんどは(一般的に言えば)かなり堅牢であり、1時間ごとのテスト、ピアレビューされたコード、優れた拡張性を備えています。 ただし、コミュニティとしてのプログラマーが選択したフレームワークに依存するようになり、基盤となる動作を理解できなくなったり、新しいプログラマーの場合は基盤となる動作を決して学んだりしないという点で、フレームワークにはマイナス面があると思いますで始まる。「PHPプログラマー」ではなく、「Drupalプログラマー」であるという程度まで専門化するのは簡単です。 誰が気にしますか?フレームワークがあります!「手作業で行う」方法を知る必要はありません!右? この基本的なスキルの喪失の結果(フレームワークを使用しないプログラマーが「時代遅れ」と見なされる程度まで)は、必要または適切でないフレームワークを使用するのが一般的な慣行になることです。特徴フレームワークの促進が基本言語でできることと混同し羽目になる。開発者はフレームワークを使用して最も基本的なタスクを達成するため、かつては初歩的なプロセスと見なされていたものに、独自の癖、バグ、依存関係を持つ大きなライブラリが含まれるようになりました。かつて20行で達成されていたことが、20,000行のフレームワークを含め、フレームワークを使用するために20行を書くことで達成されました。 逆に、車輪の再発明は望まないでしょう。基本的な一般的な小さなタスクを達成するためのコードを書いている場合、フレームワークXYZが私が望んでいるすべての機能を提供していることを知っていると、時間を無駄にしているように感じるかもしれません。「もっともっと」の部分はまだ心配していますが、多くの人がもうそれを検討しているようにも思えません。 フレームワークを使用するのが適切かどうかを判断するには、適切なメトリックが必要です。しきい値は何だと考えますか、フレームワークをいつ使用するか、または使用しないかをどのように決定しますか。
38 frameworks 

8
プログラミングでDAG(Directed Acyclic Graph)を使用する場合
私は最近ectoという名前のフレームワークを見つけました。 このフレームワークでは、「plasm」という名前の基本コンポーネントは、ecto Directed Acyclic Graphです。ectoでは、plasmはectoスケジューラーで操作できます。 このメカニズムの利点は何ですか、また他のどのような状況でDAGの概念を活用できますか?

3
Entity Framework Code Firstは、本番環境では少し意味がありません/役に立たないのですか?
私は最近Entity Framework 4.1 Code Firstでプログラミングをしており、開発にそれを愛していますが、最終計画と急速に変化する機能リストだけで、アプリケーションのニーズに合わせてクラス/データベースを常に変更しています。 開発では、ライブデータはなく、データベース全体を簡単に削除できるので、新しいスキーマで再作成されますが、ライブ時には明らかに、これは非常に悪いです! 私が見ることができる唯一の解決策は、メタデータテーブルを削除して手動でデータベースの同期を維持するか、基本的に削除して再シードすることです。 個人的には、データを再作成して移行するよりも列/テーブルを追加する方がはるかに簡単だと思うため、最初の方法を好みますが、何かを見逃していない限り、これはCode Firstから完全に離れています。 質問は本当に、最初の開発についてのCode Firstだけであり、実稼働環境でEFを管理するための優れた戦略は何ですか?

4
特定のMVVMアプリケーションでフレームワーク(Caliburn.Microなど)を使用しないことを選択する方法は?
私はかつてMVVM / WPFプロジェクトを開始しました。このプロジェクトは最終的に構築および展開され、そのためにCaliburn.Micro MVVMフレームワークの多くを学びました。実際のところ、私はそのためにCaliburn.Microを使用せず、自分でMVVMの概念をいくつか実装しました(具体的には、ViewModelBaseとRoutedCommandクラスのみ)。 今、私は同じ行に沿ってやや大きなプロジェクトに割り当てられました:「シングルユーザーリッチクライアントオフラインデスクトップアプリケーション」、と言うことで、私はCaliburn.Microを使用することにしました。それが私の「問題」の始まりです。 私はこの有名なブログ記事で、タイトルに「MVVMを使用している場合、フレームワークが必要」と書かれています。 「フレームワークなしでMVVMのようなことをしようとすると、膨大な作業が必要になります。大量のコードを複製し、車輪を再発明し、考え方を変えるように人々を再訓練します。 少なくともフレームワークを使用すれば、コードの重複を避け、できれば車輪を再発明する必要がなく、人々の再訓練に集中できるようになります。通常、再トレーニングの部分は避けられませんが、フレームワークは配管コードと構造を提供し、プロセスを容易にします。」 最初に読むことに同意しますが、実際のアプリケーションでのCaliburn.Micro(CM)での実際の経験は、無知で見当識障害です。つまり、フレームワークはプロセスをまったく簡単にしませんでした。まったく逆です。むしろ、(あまりにも)非公式マニュアルにロブ・アイゼンバーグが提供する絶えず繰り返し実施例を読むこと、そして物事が動作するように設計されているように見える畳み込まれて、サンプル、およびその全く間接的なクラスとインタフェースの関係から、使用パターンを推測しようとしているベースの上を副作用は、あなたがベテランの天才でない限り、人間的には不可能だと思われます(暴言はごめんなさい。 任意の上記の些細なシナリオことは言うまでもありません私が働いたことがない何かである、IoCコンテナを伴うように思われ、どのように見える私も持っていないかもしれない問題を解決。私の問題やアプリケーションの領域について考えるのではなく、これらのことを学ぶためにプロジェクトにもっと時間を費やすつもりはありません。バナナが欲しかったのですが、CMはバナナのバスケットを持ったゴリラ(IoC)をくれました。 私が実際に実装したい少数のMVVM固有のクラスのみで構成される自作MVVMフレームワークに戻ることを検討しているので、ここで何かを失った場合に備えて、少なくともCMにチャンスを与えたいと思います。まったくの未経験と無知から「間違った方法で」物事を行うだけです。そして質問は次のとおりです。 「フレームワークは物事をより簡単に、より自然にする」というコンセンサスが広まっていますが、もし私がまったく逆になっているのであれば、フレームワークを使うべきではないということですか、それとも間違った方法で学習しようとしていますか?そもそもフレームワークを使用するべきではないという手がかりはありますか?または、単純なMVVM開発でCMを使用する方法を理解するための「正しい」方法はありますか
28 frameworks  wpf  mvvm 

4
.NETの最適な単体テストフレームワークとは何ですか?[閉まっている]
誰もが他のオプションを考慮せずにNUnitを使用しているように思えます。私はこれが理由だと思う: 誰もがすでにそれをよく知っているので、新しいAPIを学ぶ必要はありません。 NUnitで動作するように、継続的インテグレーションサーバーで既にセットアップされています。 私はこれについて間違っていますか? 最近、自分のプロジェクトの1つでxUnitを使用することにしました。それは私にとって非常に理にかなっており、概念的にはNUnitからの明確な一歩のように思えます。 どのフレームワークが実際に最良であるかについて意見を聞きたいと思います-それを学習したり、自動テストを再構成したりすることを考慮しません。


10
ノキアとマイクロソフトのパートナーシップに照らしたQtの未来[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 あなたがそれを見逃した場合、Qtフレームワークに悪い影響を与える可能性のある多くのことが過去2日間に起こりました。:-(それは確かにいくつかの、おそらく現在認められていない方法でモバイル部門に影響を与えます。 昨日、NokiaのCEOであるStephen Elopの社内書簡で、Nokiaが燃えているプラ​​ットフォームの上に座っており、ビジネスにおける大きな積極的なシフトの必要性を描いています。 翌日、ノキア世界会議で、NokiaはMicrosoftとの提携を発表しました瞬間に、ノキアは、Windowsの携帯電話7プラットフォームと開発環境を採用し、道路に沿ってシンビアンをダンプとしてMeeGoにタグを付けるに再開し、R&D(かなり危険ifキーワードをMaemo / N900シリーズに関しては、さようなら、さようならです。私はあなたが何を考えているか知っていますが、いいえ、QtはWindow Phoneプラットフォームに移植されません。そして私もこれが怖いです。Elop&Ballmer共同プレスリリースはこちらでご覧いただけます。 今、読んだ後に、この巨大なスレッドを、私は助けることが不思議ではないことはできQtの金利メーリングリストでは、NokiaのQtのの未来は(すべてでは?)彼らが集中されていないことを、今、何Qtの上ではもう(覚えフルフォーカスを10月にノキア製品すべて(Symbianを含む)のメイン開発フレームワークとしてQtをオンにしますか?)。 私はQtが大好きです。私の意見では、それは唯一の真のクロスプラットフォームアプリケーション開発フレームワークであり、C ++開発を(可能な限り)喜びにする数少ないものの1つであり、Nokiaの下で良いフレームワークとかなりの勢いが起こりました。したがって、この後、ノキアでQtがゆっくりと死ぬ可能性はどのくらいあるのでしょうか?はい、KDE.orgとQtが簡単に生成できるという事実を知っていますが、それでも不安を感じます。 また、SymbianおよびOvi Store Symbian / Qtのコンテンツとビジネスのすべてに参入したNokiaの従業員またはサードパーティのすべての努力にとって、恐ろしいものでなければなりません。大規模なレイオフも計画されていますが、Symbianの技術者とQtを疑っていますか? これに関するご意見をお聞かせください。Qtの将来の安全性は保証されていますか? LE:質問は徐々に改訂され、改善され、よりよく参照されているので、見逃したものを確認するためにすばやく読み直した方がよいかもしれません。

9
依存性注入:フレームワークを使用する必要がありますか?
私は最近、依存関係の注入を頻繁に行うPythonプロジェクトに取り組みました(アプリをテスト可能にするために必要なため)が、フレームワークは使用しませんでした。すべての依存関係を手動で接続するのは少し面倒ですが、全体的にはうまくいきました。 オブジェクトを複数の場所で作成する必要があった場合、実稼働インスタンスを作成する関数(場合によってはそのオブジェクトのクラスメソッド)が必要でした。この関数は、そのオブジェクトが必要になるたびに呼び出されました。 テストでは、同じことを行いました。オブジェクトの「テストバージョン」を複数回作成する必要がある場合(つまり、モックオブジェクトに裏付けられた実際のインスタンス)、この「テストバージョン」を作成する機能がありました。クラスで、テストで使用されます。 私が言ったように、一般的にこれはうまくいきました。 私は現在、新しいJavaプロジェクトに参加しています。DIフレームワークを使用するか、DIを手動で実行するかを決定しています(前のプロジェクトのように)。 DIフレームワークでの作業がどのように異なり、手動の「バニラ」依存性注入よりも優れているか悪いかを説明してください。 編集:私も質問に追加したいと思います:フレームワークなしで手動でDIを行う「プロレベル」プロジェクトを目撃しましたか?

8
フレームワークは抽象化しすぎていますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私は1年弱のプログラミングを行っており、企業/組織向けのシステムアプリケーション、Webアプリ、およびスクリプトの記述経験があります。ただし、Django、Rails、Zendなどのフレームワークを使用することは、私が実際にやったことがありません。 Djangoフレームワークを見ると、フレームワークでどれだけ抽象化されているかに少しイライラしています。私はDRYと最小限のコードの中核的な目標を理解していますが、さまざまなモジュールへの過度の依存とコア機能の重い抽象化の一部は次のように感じます。 モジュール/フレームワークの絶えず変化する性質のため、プログラムの日付を非常に速くします。 多数のフレームワークとモジュールが利用可能であり、すべての特異性があるため、コードを理解しにくくします。 すべてのドキュメントを読んでいない限り、コードを論理的にしません。つまり、リストの内包表記と条件付きロジックを読んでプログラムの動作を理解することができますが、任意の文字列と辞書を渡す必要がある関数を見ると、すでに第一人者でない限り、物事を理解するのは少し難しくなります指定されたモジュール。そして: フレームワークを切り替えるのが難しく、面倒です。言語の切り替えはすでに課題ですが、その中核となる機能/哲学を十分に理解している場合は管理しやすくなります。フレームワーク間の切り替えは、暗記の問題であるように思われます。これは、いくつかの点で、これらのフレームワークが排除するように設計された非常に非効率性を助長するようです。 MySQLクエリのような単純なものの上に50層の抽象化を実際に配置する必要がありますか?準備されたステートメント/入力テストは処理されますが、普遍的に理解可能なSQLクエリは依然として関数の一部であるPHPのPDOインターフェイスのようなものを使用しないのはなぜですか? これらの抽象化は本当に便利ですか?機能が肥大化することで無駄になり、フレームワークを使用せずに作成された同様のアプリケーションと比較して、アプリケーションが難しくなりませんか?

2
内部使用Webサイト:SQLiteに対して説得力のある事例はありますか?
FlaskやDjangoなどの多くのWebフレームワークは、デフォルトのデータベースとしてSQLiteを使用します。 SQLiteはPythonに含まれており、管理オーバーヘッドが非常に低いため、魅力的です。 ただし、トラフィックの多い公共の本番サイトのほとんどは、mySQL、Oracle、またはpostgresqlなどのより重いデータベースを使用しています。 質問: 仮定: サイトのトラフィックは中程度であり、データベースへの同時読み取り/書き込みアクセスが発生します SQLite書き込みロックでSQLAlchemyを使用します(ただし、このコメントは少し緊張しますが) データベースにはおそらく60,000レコードが含まれます データ構造は、より重いデータベースにある高度な機能を必要としません 中程度のトラフィックの社内企業ツールとして機能するWebサイトで、SQLiteの同時実行に対して説得力のある事例はありますか?もしそうなら、どのような条件がSQLiteに並行性の問題を引き起こしますか? 一般的な恐怖/根拠のない指差しではなく、既知の特定の根本原因を探しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.