プログラミング

プロおよび熱狂的プログラマーのためのQ&A


8
ToList()を呼び出すとパフォーマンスに影響がありますか?
を使用する場合ToList()、考慮する必要があるパフォーマンスへの影響はありますか? 私はディレクトリからファイルを取得するためのクエリを作成していました、それはクエリです: string[] imageArray = Directory.GetFiles(directory); しかし、List<>代わりに一緒に仕事をしたいので、私は中に入れることにしました... List<string> imageList = Directory.GetFiles(directory).ToList(); それで、このような変換を行うことを決定するときに考慮すべき、または多数のファイルを処理するときにのみ考慮すべき、ある種のパフォーマンスへの影響がありますか?これは無視できる変換ですか?
139 c#  arrays  performance  list 

10
Angular JSディレクティブのレンダリング後コールバックはありますか?
次のように、テンプレートに要素を追加するためのテンプレートをプルするディレクティブを取得しました。 # CoffeeScript .directive 'dashboardTable', -> controller: lineItemIndexCtrl templateUrl: "<%= asset_path('angular/templates/line_items/dashboard_rows.html') %>" (scope, element, attrs) -> element.parent('table#line_items').dataTable() console.log 'Just to make sure this is run' # HTML <table id="line_items"> <tbody dashboard-table> </tbody> </table> DataTablesというjQueryプラグインも使用しています。その一般的な使用法は次のとおりです:$( 'table#some_id')。dataTable()。JSONデータをdataTable()呼び出しに渡してテーブルデータを提供できます。または、データをページ上に既に持っていて、残りの処理を実行できます。私は後者を行っており、行は既にHTMLページ上にあります。 しかし問題は、DOMの準備が整った後でtable#line_itemsのdataTable()を呼び出さなければならないことです。上記のディレクティブは、テンプレートがディレクティブの要素に追加される前にdataTable()メソッドを呼び出します。追加後に関数を呼び出す方法はありますか? ご協力ありがとうございました! アンディの答えの後の更新1: linkメソッドがページ上にすべてある場合にのみ呼び出されるようにしたいので、少しテストのためにディレクティブを変更しました。 # CoffeeScript #angular.module(...) .directive 'dashboardTable', -> { link: (scope,element,attrs) -> console.log …
139 angularjs 

22
Bashを使用して最後のコマンドの出力を変数に自動的にキャプチャしますか?
最後に実行したコマンドの結果を後続のコマンドで使用できるようにしたい。例えば、 $ find . -name foo.txt ./home/user/some/directory/foo.txt ここで、エディタでファイルを開いたり、ファイルを削除したり、他のことを実行したりしたいとします。たとえば、 mv <some-variable-that-contains-the-result> /some/new/location どうすればできますか?多分いくつかのbash変数を使用していますか? 更新: 明確にするために、私は手動で物事を割り当てたくありません。私が求めているのは、組み込みのbash変数のようなものです。 ls /tmp cd $_ $_前のコマンドの最後の引数を保持します。同様のものが欲しいのですが、最後のコマンドの出力が必要です。 最終更新: セスの答えはかなりうまくいきました。心に留めておくべきこと: touch /tmp/x初めてソリューションを試すときに忘れないでください 結果は、最後のコマンドの終了コードが成功した場合にのみ保存されます
139 linux  bash  command-line 

2
WebページからPHPスクリプトにパラメーターを渡すにはどうすればよいですか?
Webページが読み込まれるたびにPHPスクリプトを呼び出しています。ただし、PHPスクリプトを実行するために必要なパラメーターがあります(通常、スクリプトをテストするときにコマンドラインを介して渡します)。 ページが読み込まれたときにスクリプトが実行されるたびにこの引数を渡すにはどうすればよいですか?
139 php  parameters 

3
このランダムな値に50/50ではなく25/75の分布がある理由
編集:基本的に私が書こうとしているのはの1ビットのハッシュですdouble。 私はマッピングするdoubleにtrueまたはfalse50/50チャンスと。そのために、いくつかの乱数を選択するコードを書きました(例として、規則性のあるデータでこれを使用し、それでも50/50の結果を取得したい)、最後のビットをチェックし、y1であるかn、それが0。 ただし、このコードでは常に25%yと75%になりnます。なぜ50/50ではないのですか?そして、なぜこのように奇妙だが単純な(1/3)分布なのか? public class DoubleToBoolean { @Test public void test() { int y = 0; int n = 0; Random r = new Random(); for (int i = 0; i < 1000000; i++) { double randomValue = r.nextDouble(); long lastBit = Double.doubleToLongBits(randomValue) & 1; if (lastBit == 1) { …

9
なぜswitch文は中断を​​必要とするように設計されたのですか?
単純なswitchステートメントがあるとします switch (int) { case 1 : { printf("1\n"); break; } case 2 : { printf("2\n"); } case 3 : { printf("3\n"); } } ケース2にbreakステートメントがない場合、ケース3のコード内で実行が継続されることを意味します。これは偶然ではありません。そのように設計されました。なぜこの決定がなされたのですか?これには、ブロックの自動ブレークセマンティックを使用する場合と比べて、どのような利点がありますか?理論的根拠は何でしたか?
139 c  language-design 

8
Gitサーブ:シンプルにしたい
Mercurialのhgサーブのように、http経由で簡単に公開する方法を知りたいです。Windows /ワークボックスでこれを行います: git serve そしてLinuxボックスで簡単に行く: git clone http://project project 終了しました。
139 windows  git  mercurial 

9
Angular JSを使用してドロップダウンリストコントロールの選択したオプションを設定する方法
Angular JSを使用していて、ドロップダウンリストコントロールの選択したオプションをAngular JSを使用して設定する必要があります。これがばかげている場合は許してくださいが、私はAngular JSの初心者です これが私のhtmlのドロップダウンリストコントロールです <select ng-required="item.id==8 && item.quantity > 0" name="posterVariants" ng-show="item.id==8" ng-model="item.selectedVariant" ng-change="calculateServicesSubTotal(item)" ng-options="v.name for v in variants | filter:{type:2}"> </select> それが入力された後、私は得る <select ng-options="v.name for v in variants | filter:{type:2}" ng-change="calculateServicesSubTotal(item)" ng-model="item.selectedVariant" ng-show="item.id==8" name="posterVariants" ng-required="item.id==8 && item.quantity > 0" class="ng-pristine ng-valid ng-valid-required"> <option value="?" selected="selected"></option> <option value="0">set of …


6
「import os.path」または「import os」を使用する必要がありますか?
公式ドキュメントによると、os.pathはモジュールです。したがって、それをインポートする好ましい方法は何ですか? # Should I always import it explicitly? import os.path または... # Is importing os enough? import os 「os作品のインポート」には答えないでください。私も知っています。Python2.6の時点では、現在も動作しています。私が知りたいのは、この問題に関する公式の勧告です。したがって、この質問に答える場合は、参考文献を投稿してください。

21
リレーショナルデータベースを使用しない正当な理由は?
代替のデータストレージツールを指摘して、古き良きリレーショナルデータベースの代わりにそれらを使用する十分な理由を教えていただけませんか?私の意見では、ほとんどのアプリケーションがSQLの全機能を使用することはめったにありません。SQLフリーのアプリケーションを構築する方法を見るのは興味深いでしょう。
139 sql  database  nosql 

5
jQueryの `click`、` bind`、 `live`、` delegate`、 `trigger`、` on`関数(例を含む)の違いは?
私はで各関数のドキュメントを読みました jQuery official websiteが、以下の関数の間にはそのような比較リストはありません。 $().click(fn) $().bind('click',fn) $().live('click',fn) $().delegate(selector, 'click', fn) $().trigger('click') // UPDATED $().on('click', selector ,fn); // more UPDATED 参照リンクは避けてください。 上記のすべての機能はどのように正確に機能し、どの状況でどちらを優先する必要がありますか? 注:同じ機能またはメカニズムを持つ他の機能がある場合は、詳しく説明してください。 更新 $.trigger機能も見ました。上記の機能と同様に機能しますか? その他の更新 今v1.7.onで追加され、これは何らかの形で上記のすべての機能要件を一緒にカバーすると思います。
139 javascript  jquery 


30
なぜエンティティオブジェクトが必要なのですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する 現在受け入れられているエンタープライズアプリケーション設計パラダイムのメリットについて、正直で思慮深い議論が必要です。 エンティティオブジェクトが存在する必要があるとは思いません。 エンティティオブジェクトとは、「個人」、「アカウント」、「注文」など、アプリケーションのために構築する傾向がある典型的なものを意味します。 私の現在の設計哲学はこれです: すべてのデータベースアクセスは、ストアドプロシージャを介して実行する必要があります。 データが必要なときはいつでも、ストアドプロシージャを呼び出して、SqlDataReaderまたはDataTableの行を反復処理します (注:Java EEを使用してエンタープライズアプリケーションも構築しました。Javaの人は、.NETの例を同等のものに置き換えてください) 私は反OOではありません。エンティティではなく、さまざまな目的で多くのクラスを作成します。私が書くクラスの大部分は静的ヘルパークラスであることを認めます。 私はおもちゃを作っていません。複数のマシンに展開された大規模で大量のトランザクションアプリケーションについて話している。Webアプリケーション、Windowsサービス、Webサービス、b2bインタラクション、という名前を付けます。 ORマッパーを使用しました。いくつか書いた。私はJava EEスタック、CSLA、および他のいくつかの同等のものを使用しました。私はそれらを使用しただけでなく、本番環境でこれらのアプリケーションを積極的に開発および保守しました。 私は、エンティティオブジェクトは、私たちの邪魔になっていることを戦いテストされたという結論になってきた、と私たちの生活は次のようになりますので、それらなしではるかに簡単。 この単純な例を考えてみましょう。正しく機能していないアプリケーションの特定のページに関するサポートコールがあり、フィールドの1つが本来のように永続化されていない可能性があります。私のモデルでは、問題を見つけるために割り当てられた開発者がちょうど3つのファイルを開きます。ASPX、ASPX.CS、およびストアドプロシージャを含むSQLファイル。この問題は、ストアード・プロシージャー呼び出しのパラメーターが欠落している可能性があるため、解決に数分かかります。しかし、どのエンティティモデルでも、必ずデバッガを起動し、コードをステップ実行し始めると、Visual Studioで15〜20個のファイルが開かれることになります。スタックの一番下に降りるまでに、開始した場所を忘れてしまいました。頭の中にあるのは、一度に多くの物だけです。ソフトウェアは、不要なレイヤーを追加することなく、非常に複雑です。 開発の複雑さとトラブルシューティングは、私の不満の片側にすぎません。 次に、スケーラビリティについて話しましょう。 開発者は、データベースと対話するコードを作成または変更するたびに、データベースへの正確な影響を徹底的に分析する必要があることを理解していますか?開発コピーだけでなく、本番を模倣しているので、オブジェクトに必要な追加の列が現在のクエリプランを無効にし、1秒で実行されていたレポートが2分で完了していることがわかります。選択リストに単一の列を追加したためですか?そして、現在必要なインデックスが非常に大きいため、DBAがファイルの物理レイアウトを変更する必要があることがわかりました。 抽象化によって物理データストアから離れすぎてしまうと、拡張が必要な​​アプリケーションで大混乱が発生します。 私は熱狂的ではありません。Linq to Sql、ADO.NET EF、Hibernate、Java EEなどへの強いプッシュがあるので、私が間違っていると私は確信している可能性があります。それが何であるか、なぜ私は自分の考えを変える必要があるのか​​を本当に知りたいのです。 [編集] この質問が再び突然アクティブになったようです。新しいコメント機能が追加されたので、いくつかの回答に直接コメントしました。お返事ありがとうございます。これは健全な議論だと思います。 おそらく、私がエンタープライズアプリケーションについて話していることをもっと明確にすべきでした。たとえば、誰かのデスクトップやモバイルアプリで実行されているゲームについてはコメントできません。 いくつかの同様の答えに対応して私がここで一番上に置かなければならないことの1つは、エンティティ/ ORMに移行する理由として、直交性と懸念の分離がよく引用されます。ストアドプロシージャは、私が考えることができる懸念の分離の最良の例です。ストアドプロシージャ以外のデータベースへのアクセスをすべて許可しない場合は、理論的にはデータモデル全体を再設計し、ストアドプロシージャの入力と出力を維持している限り、コードを壊さないようにすることができます。これらは契約によるプログラミングの完璧な例です( "select *"を避けて結果セットを文書化する限り)。 業界に長く住んでいて、長命のアプリケーションを扱ってきた人に聞いてください。データベースが存続している間に、アプリケーションとUIのレイヤーがいくつ消えてしまったのでしょうか。データを取得するためにSQLを生成する4つまたは5つの異なる永続化レイヤーがある場合、データベースのチューニングとリファクタリングはどれほど難しいですか?何も変更できません!ORMまたはSQLを生成するコードは、データベースを完全にロックします。
139 sql  database  orm  entities 

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