プログラミング

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


4
Entity Framework 4-AddObjectとAttach
私は最近Entity Framework 4を使用していて、ObjectSet.AttachとObjectSet.AddObjectをいつ使用するかについて少し混乱しています。 私の理解から: エンティティがシステムにすでに存在する場合は、「アタッチ」を使用します 新しいエンティティを作成するときに「AddObject」を使用します したがって、新しいPersonを作成する場合は、これを行います。 var ctx = new MyEntities(); var newPerson = new Person { Name = "Joe Bloggs" }; ctx.Persons.AddObject(newPerson); ctx.SaveChanges(); 既存のPersonを変更する場合は、次のようにします。 var ctx = new MyEntities(); var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name = "Joe Bloggs" }; existingPerson.Name = "Joe Briggs"; ctx.SaveChanges(); これは非常に簡単な例です。実際には、Pure POCO(コード生成なし)、リポジトリパターン(ctx.Personsを扱わない)、および作業単位(ctx.SaveChangesを扱わない)を使用しています。しかし、「カバーの下」では、上記は私の実装で何が起こるかです。 さて、私の質問 -私はAttachを使用しなければならなかったシナリオをまだ見つけていません。 …

4
データベースダイアグラムまたはテーブルを設計するためのバックエンドバージョンはサポートされていません
SQL Server Management Studioを使用して、新しく作成したデータベースにテーブルを追加しようとしています。しかし、私はエラーを受け取ります: データベースダイアグラムまたはテーブルを設計するためのバックエンドバージョンはサポートされていません 現在インストールされているバージョンを確認するには、SSMSでクリックすると、次のようになります。 ここで何が問題になっていますか?
132 sql  sql-server  database  ssms 

6
Javaではどの並行キュー実装を使用する必要がありますか?
JavaDocsから: A ConcurrentLinkedQueueは、多くのスレッドが共通のコレクションへのアクセスを共有する適切な選択です。このキューはnull要素を許可しません。 ArrayBlockingQueueは、固定サイズの配列がプロデューサーによって挿入され、コンシューマーによって抽出された要素を保持する、古典的な「境界付きバッファー」です。このクラスは、待機中のプロデューサースレッドとコンシューマースレッドを注文するためのオプションの公平性ポリシーをサポートします LinkedBlockingQueueは、通常、アレイベースのキューよりもスループットは高くなりますが、ほとんどの並行アプリケーションでは予測できないパフォーマンスになります。 私には2つのシナリオがあります。1つは、1つのコンシューマーで多くのプロデューサー(それを使用するスレッド)をサポートするキューを必要とし、もう1つはその逆です。 使用する実装がわかりません。誰かが違いを説明できますか? また、「オプションの公平性ポリシー」とはArrayBlockingQueue何ですか?


10
参照されたdll(pdbを持つ)をデバッグする方法
私のワークスペースには、AとBの2つのソリューションがあります。 ソリューションAは、以前にコーディングを終えた古いプロジェクトです。ソリューションBでは、ソリューションAのいくつかのクラスを使用する必要があります。これを行うには、ソリューションAのプロジェクトの1つのDLLへの参照を追加します。 問題は、デバッグしようとしたときです。私もAのコードに足を踏み入れたいと思っています。Visual Studioはこれらのクラスのコードを読み込むことができず(「現在の場所に使用できるソースコードがありません。」)、逆アセンブリのみを表示できるため、役に立ちません。 ソリューションAからクラスをデバッグする唯一の方法は、ソリューションBを実行し、すべてのプロセスを([デバッグ]メニュー項目で)デタッチし、ソリューションAからプロセスをアタッチすることです。 ただし、これは非常に不便であり、AまたはBを一度にしかデバッグできません。 参照されているdllのコードにステップインできるようにする方法はありますか(ソースコードがあります)? 解決策:私の間違いは、プロジェクトは単一のソリューションの一部にしかならないと思っていたことです。実際、プロジェクトはさまざまなソリューションの一部になることができます。 古いプロジェクトを参照する必要がある場合は、プロジェクトをソリューションに追加するだけです。これは、ソリューションエクスプローラー>追加>既存のプロジェクトで新しいソリューションを右クリックして行います。 その後、プロジェクト参照を追加できます。他の人が書いたように、自分のコード(または、変更とデバッグが必要になる可能性のある他のコード)へのdll参照の使用を完全に回避する必要があります。 ソリューションの設計方法に関する非常に優れたリファレンスは、MSDNにあります。

4
ASP.NET MVC:@sectionの目的は何ですか?[閉まっている]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 ASP.NET MVCアプリケーションについては、このブログ記事を参照しました。著者ScottGuが@sectionIndex.cshtmlに追加します。 いくつか質問があります(上記の記事を参照): Index.cshtmlは共有ビューですか? コード例@sectionでは、特定のビューのコードを使用しています。どうして? @sectionビューで使用する理由と時期を誰かが説明できますか?
132 asp.net-mvc 


4
ブール、条件演算子、オートボクシング
なぜこれがスローされるのですか NullPointerException public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on this line. System.out.println(b); } public static Boolean returnsNull() { return null; } これはしませんが public static void main(String[] args) throws Exception { Boolean b = true ? null : false; …

4
Google Pagespeedの「スクロールせずに見えるコンテンツ」とは何ですか?
最近まで、私のサイト(www.heatexchangers.ca)はGoogle Page Speedで98%のスコアを付けていました。Webフォントのクエリ文字列など、私が何もできないことがいくつかありました。これが私にできることすべてを表していたので、私はこれにとても満足していました。 最近、Googleはページ速度のスコアに影響を与える何か他のものを追加しました、そして私は今ページ速度で89%だけを得て、この提案を得ます: スクロールせずに見えるコンテンツで、外部のレンダリングをブロックするJavaScriptとCSSを排除します。 これを修正するための提案には、すべての.cssファイルと.jsファイルを調べ、それらの一部を分離して、それらをhtmlにインラインで追加することが含まれるようです。私はできるだけ多くのJSとCSSをHTMLから除外する必要があるという印象を受けていたので、これは私にいくつかの混乱を引き起こしています。 「フォールドの上」のコンテンツとは正確には何ですか?フォント、背景色などのいくつかのスタイルの場合。そうすれば、インラインに含めるにはそれほど大きな取引ではないかもしれません。これが正確に何であるかのリストを見つけることができませんでした。

6
Xcodeは変更されていないストーリーボードとXIBファイルを変更します
ストーリーボードは、複数の人が共同で作業しているときのgitワークフローの観点から見るとかなり重要な問題です。たとえば、.storyboardファイル内のXMLの開始<document>タグtoolsVersionとsystemVersion属性は、最新のファイルマニピュレータが実行している構成によって変更されます。全員のXcodeバージョンを同期することはに役立つようですtoolsVersionがsystemVersion、開発者が実行している特定のMacやOS Xのバージョンに応じて、何が変わっても変わります。 これはばかげていますが、ほとんど無害です。しかし、心配なのは、他の場合には、他の変更がの後に開くだけで自動的にストーリーボードに加えられることgit pullです。つまり、アリスはストーリーボードに変更を加え、コミットしてリポジトリにプッシュします。次に、ボブはアリスの変更をプルし、ストーリーボードを開いてさらに変更を加えます。彼がストーリーボードを開くと、ファイルのアイコンはすぐに変更されたが保存されていない状態にgit status変わり、変な変更がいくつも発生したことが示されます。ボブが何かを変更したり、ファイルを自分で保存したりせずに、これらすべてが行われました。 私たちが目にしている最も一般的な自動化された変更<classes>は、ストーリーボードファイルの終わり近くにあるタグ階層全体の消失または再出現です。何が原因なのかはわかりません。さまざまな.lprojディレクトリにローカライズされたストーリーボードのバージョンがいくつかあり、それらをInterface Builder内で開くと、クラス階層が一部から自発的に削除されて他に追加されるか、一部が単独で残る場合があります。これにより、で多くのノイズが発生しますがgit diff、実際には機能が損なわれることはありません。多くの場合、gitのインデックスに実際に加えた変更を選択的に追加し、それらをコミットしてから、自然発生的な無意味なだけを破棄します<classes>変更。これは、コミットを本来あるべき状態に保つためです。しかし、最終的には、Xcodeが変更を再実行し続け、誰かが他のいくつかのものと一緒に激しくコミットするので、煩わしくなりすぎます...他の誰かのXcodeがそれらを元に戻して変更しないことを決定するまでは問題ありません明らかな理由。(私たちのコミット履歴には、これについて多くの悪口があります。) 他の誰かがこの動作を見ていますか?これは、Xcodeのバグですか、それとも1つ以上の開発者用Macの構成の問題ですか?XIBファイルを使用して共同作業するとき、いくつかの同様の動作を見てきましたが、ストーリーボードの方が影響を受けやすいようです。

10
プログラムでAndroidの画面サイズを取得するにはどうすればよいですか?
タッチイベントとビュー測定/レイアウトで使用される単位で、プログラムで画面サイズを確認するにはどうすればよいですか?言い換えれば、私はタッチイベントで使用される座標系では、画面の右下隅の座標をしたい getRawX()/getRawY()とView.getLocationOnScreen()。 私の携帯電話にはさまざまなモードの「ピクセル」の概念がいくつかあり、それらが一貫したストーリーになっていないため、目的のイベント/ビューユニットを「ピクセル」と呼ぶのをためらっています。 私はこれがstackoverflowや他の場所で多く尋ねられて答えられているのを見ますが、答えはどれも実際に私の携帯電話(droid 4、android 4.1.2)ですべてのモードで機能しません: Androidアプリでプログラムによって画面の幅を確認できますか? AndroidでScreenSizeをプログラムで取得する方法 Androidは、画面サイズに基づいてプログラムでビューの可視性を設定します Androidで画面の高さを取得するにはどうすればよいですか? Androidで画面の高さを取得する https://groups.google.com/forum/#!topic/android-developers/IpxnfvDFrpc http://shuklaxyz.blogspot.com/2012/02/how-to-programmatically-figure-out.html http://coderock.net/how-to-determine-screen-resolution-programmatically/ http://www.codeproject.com/Tips/313848/Get-actual-screen-size-for-the-application-layout Androidおよびdp単位でプログラム的に幅と高さを設定する http://www.simplecodestuffs.com/how-to-get-screen-dimensions-programmatically-in-android/ http://www.androidsnippets.com/get-size-and-orientation-of-the-screen http://grokbase.com/t/gg/android-developers/127aatfqb6/how-to-determine-screen-resolution-programmatically (ワオ!) これは、アプリが「画面互換モード」(つまり、マニフェストでtargetSdkVersion <= 10)であるかどうかに関係なく機能する必要があるライブラリコード用であり、位置、サイズについても想定しません。 、またはステータスバーまたはその他の同様の画面装飾の存在。 事実は次のとおりです。 私の電話(android 4.1.2を実行しているdroid 4)には、540x960の物理ピクセルがあります。 タッチイベントの表示と測定値の表示から求められる単位での画面のサイズは、アプリが画面互換モードの場合は360x640、画面互換モードでない場合は540x960です。これらは私がプログラムで見つける必要のある数値であり、それらを見つけるためにタッチイベントやビューを操作する必要はありませんが、これらの数値を返すAPIを見つけるのは非常に困難です。 さまざまな方法で取得されたDisplayオブジェクトとDisplayMetricsオブジェクトはすべて、画面サイズが540x960 "ピクセル"(画面互換モードかどうかに関係なく)であると主張しています。具体的には、次の例では常に540x960と表示されます:DisplayMetrics。{width、height} Pixels、Display.getSize()、Display.getRealSize()、Display.get {Width、Height}()、 さまざまな方法で取得された構成オブジェクトは、すべてscreen {Width、Height} Dp = 360x614(画面互換モードかどうかに関係なく)と言います。アスペクト比が間違っているので、画面全体を表すとは思いません。(それは画面全体からステータスバーを引いたものだと思います。画面全体が必要です。)画面全体が360x640 dpであると言っても安全ですが、640を返すAPIはわかりません。 さまざまな方法で取得されたDisplayMetricsは、「密度」が画面互換モードの場合は1.0f、画面非互換モードの場合は1.5fであると言います。 アクティビティ getWindow().getAttributes().{width,height} は通常MATCH_PARENT 実際のサイズではなく含まれているため、役に立ちません。しかし、私は明らかにアクティビティから望ましい答えを得ることができます getWindow().getDecorView().getMeasured{Width,Height}() (アクティビティのウィンドウのdecorViewが画面全体を占めているように見えないため、これは実際には意外です。それは、画面からステータスバーを引いたように見えます)。しかし、これに依存したくないのは、ウィンドウのサイズが変更された場合(ソフトキーボードが表示された場合、誰かがwindow.setAttributes()を呼び出した場合、またはアクティビティにまったく参加していない場合)、これが明らかにすべてになるためです。違う。 ピクセル= dp *密度画面互換モードでない場合、報告されたすべての数値(上記の(3)、(4)、(5))と一致するようです:540x960 = …
132 android 

1
TWIGの文字列から部分文字列を検索
文字列の部分文字列を検索するか、Twigを使用してそのような部分文字列がないかどうかを確認します。言葉で言えば、phpで「strstr」または「strpos」の類似物が必要です。私はグーグル検索してこの問題をstackoverflowで検索しましたが、何も見つかりませんでした。誰かがこの問題を解決する方法を知っていますか?

17
JavaScriptでの複数の継承/プロトタイプ
JavaScriptである種の初歩的な多重継承が必要になるところまで来ました。(これが良いアイデアであるかどうかについて話し合うためにここにいるわけではないので、それらのコメントはご自分で保管してください。) 私は誰かがこれを試みて成功したかどうかを知りたいのですが、彼らはどうやってそれをやりましたか? それを要約すると、私が本当に必要なのは、複数のプロトタイプチェーンからプロパティを継承できるオブジェクトを持つことができることです(つまり、各プロトタイプは独自の適切なチェーンを持つことができます)。チェーンを検索して、最初の定義を探します。 これがどのように理論​​的に可能であるかを示すために、プライマリチェーンの最後にセカンダリチェーンを接続することで実現できますが、これは以前のプロトタイプのすべてのインスタンスに影響し、それは私が望むものではありません。 考え?

6
C ++:boolが8ビット長なのはなぜですか?
C ++では、ブール型が8ビット長(システム上)であり、ブール値を保持するのに1ビットだけで十分なのはなぜでしょうか。 以前はパフォーマンス上の理由であると信じていましたが、32ビットまたは64ビットのマシンで、レジスターが32ビットまたは64ビット幅である場合、パフォーマンスの利点は何ですか? それとも、これらの「歴史的な」理由の1つにすぎませんか?
132 c++  boolean  size 

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