プログラミング

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

4
JPAとHibernateのpersist()とmerge()の違いは何ですか?
Hibernateのpersist()とmerge()の違いは何ですか? persist() UPDATE&INSERTクエリを作成できます。例: SessionFactory sef = cfg.buildSessionFactory(); Session session = sef.openSession(); A a=new A(); session.persist(a); a.setName("Mario"); session.flush(); この場合、クエリは次のように生成されます。 Hibernate: insert into A (NAME, ID) values (?, ?) Hibernate: update A set NAME=? where ID=? そのため、persist()メソッドは挿入と更新を生成できます。 今とmerge(): SessionFactory sef = cfg.buildSessionFactory(); Session session = sef.openSession(); Singer singer = new Singer(); singer.setName("Luciano …
119 java  hibernate  jpa  orm  entity 

9
C ++ヘッダーでの「名前空間の使用」
すべてのc ++コースでは、すべての教師が常にsのusing namespace std;直後にファイルを配置#includeしてい.hます。そのヘッダーを別のプログラムに含めることにより、おそらくそれを実現、意図、または希望せずに名前空間をプログラムにインポートすることになるので、これは危険に思えます(ヘッダーの組み込みは非常に深くネストされる可能性があります)。 だから私の質問は二重です:using namespaceヘッダーファイルで使用してはいけないことは正しいのでしょうか? //header.h using namespace std { . . . } 同じラインに沿ってもう一つ質問:万一のヘッダーファイル#includeすべてのヘッダーそれが対応だと.cppファイルのニーズを、のみヘッダー定義のために必要であるとしましょう.cppファイル#include休息、またはそれとして必要なしと宣言すべてをextern? 質問の背後にある理由は上記と同じ.hです。 また、私が正しい場合、これはよくある間違いですか?実際のプログラミングとそこにある「実際の」プロジェクトのことです。 ありがとうございました。

27
Cで整数の最上位セットビット(msb)を見つけるための最速/最も効率的な方法は何ですか?
整数nがあり、最上位ビットの位置を知りたい場合(つまり、最下位ビットが右側にある場合、1である左端のビットの位置を知りたい)、見つけるための最も速く/最も効率的な方法は何ですか? 私はPOSIX ffs()が最初のセットビットを見つけるためにstrings.hのメソッドをサポートしていることを知っていますが、対応するものがないようですfls()メソッド。 これを行うための本当に明らかな方法はありますか? 移植性のためにPOSIX関数を使用できない場合はどうですか? 編集:32ビットと64ビットの両方のアーキテクチャで機能するソリューションについてはどうですか(多くのコードリストは32ビットの整数でしか機能しないように見えます)。

20
C ++列挙型を文字列に簡単にマップする方法
私が使用しているいくつかのライブラリヘッダーファイルに一連の列挙型があり、列挙値をユーザー文字列に、またはその逆に変換する方法が必要です。 「ユーザー文字列」は列挙よりも読みやすくする必要があるため、RTTIはそれを行いません。 ブルートフォースソリューションはこのような関数の束になるでしょうが、私はそれが少しCに似すぎていると感じています。 enum MyEnum {VAL1, VAL2,VAL3}; String getStringFromEnum(MyEnum e) { switch e { case VAL1: return "Value 1"; case VAL2: return "Value 2"; case VAL1: return "Value 3"; default: throw Exception("Bad MyEnum"); } } テンプレートを使用したエレガントな解決策があると直感しますが、それでもまだ頭が十分ではありません。 更新:提案をありがとう-列挙型がサードパーティのライブラリヘッダーで定義されていることを明確にすべきだったので、列挙型の定義を変更する必要はありません。 今の私の直感は、テンプレートを避けて次のようなことをすることです: char * MyGetValue(int v, char *tmp); // implementation is trivial #define ENUM_MAP(type, …
119 c++  templates  enums 


6
React / Reduxと多言語(国際化)アプリ-アーキテクチャ
複数の言語とロケールで利用できるようにする必要があるアプリを作成しています。 私の質問は、純粋に技術的なものではなく、アーキテクチャと、人々がこの問題を解決するために実際に本番で使用しているパターンについてです。そのための「クックブック」はどこにも見つからなかったので、お気に入りのQ / A Webサイトに移動します:) ここに私の要件があります(それらは本当に「標準」です): ユーザーは言語を選択できます(簡単です) 言語を変更すると、インターフェースは自動的に新しく選択された言語に翻訳されます 現時点では、数値や日付などのフォーマットについてあまり心配していません。文字列を翻訳するだけの簡単な解決策が欲しいのですが ここに私が考えることができる可能な解決策があります: 各コンポーネントは個別に翻訳を処理します つまり、各コンポーネントには、翻訳された文字列と一緒に、たとえばen.json、fr.jsonなどの一連のファイルがあります。また、選択した言語に応じて値を読み取るのに役立つヘルパー関数。 プロ:Reactの哲学を尊重し、各コンポーネントは「スタンドアロン」です 短所:すべての翻訳をファイルに一元化することはできません(たとえば、誰かに新しい言語を追加させるため) 短所:すべての流血のコンポーネントとその子供に、現在の言語を小道具として渡す必要があります 各コンポーネントは、小道具を介して翻訳を受け取ります したがって、彼らは現在の言語を認識していません。たまたま現在の言語と一致する小道具として文字列のリストを取得します プロ:これらの文字列は「上から」来るため、どこかに集中させることができます 短所:各コンポーネントが翻訳システムに関連付けられているため、コンポーネントを再利用するだけではなく、毎回正しい文字列を指定する必要があります。 小道具を少しバイパスし、おそらくコンテキストの事を使用して現在の言語を伝えます プロ:それはほとんど透過的で、現在の言語や翻訳をプロップを介して常に渡す必要はありません 短所:使用するのが面倒に見える 他にアイデアがあれば、言ってください! どうやってやるの?

5
Javaのnull参照の静的フィールド
staticJavaのメンバー(staticフィールドまたはstaticメソッド)は、このクラスのオブジェクトではなく、それぞれのクラスに関連付けられています。次のコードは、null参照の静的フィールドにアクセスしようとします。 public class Main { private static final int value = 10; public Main getNull() { return null; } public static void main(String[] args) { Main main=new Main(); System.out.println("value = "+main.getNull().value); } } main.getNull()戻ってnull、それが動作して表示value = 10。このコードはどのように機能しますか?
119 java  static 

2
PHPエラー処理:die()とtrigger_error()と例外のスロー
PHPのエラー処理に関して-私の知る限り、3つのスタイルがあります。 die()またはexit()スタイル: $con = mysql_connect("localhost","root","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } throw Exception スタイル: if (!function_exists('curl_init')) { throw new Exception('need the CURL PHP extension. Recomplie PHP with curl'); } trigger_error() スタイル: if(!is_array($config) && isset($config)) { trigger_error('Error: config is not an array or is not set', E_USER_ERROR); …

7
ブラウザーがリクエストをキャンセルしたときのASP.NET Web API OperationCanceledException
ユーザーがページを読み込むと、ASP.NET Web API 2コントローラーにヒットする1つまたは複数のajax要求が行われます。ユーザーが別のページに移動した場合、これらのajaxリクエストが完了する前に、リクエストはブラウザーによってキャンセルされます。次に、ELMAH HttpModuleは、キャンセルされたリクエストごとに2つのエラーをログに記録します。 エラー1: System.Threading.Tasks.TaskCanceledException: A task was canceled. at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext() --- End of stack …

5
データベースのバックエンドとしてのgitリポジトリの使用
私は構造化文書データベースを扱うプロジェクトをやっています。カテゴリのツリー(〜1000カテゴリ、各レベルで最大〜50カテゴリ)があり、各カテゴリには数千(たとえば、最大〜10000)の構造化ドキュメントが含まれています。各ドキュメントは、いくつかの構造化された形式で数キロバイトのデータです(私はYAMLを好みますが、JSONまたはXMLでもかまいません)。 このシステムのユーザーは、いくつかのタイプの操作を行います。 IDによるこれらのドキュメントの取得 内部のいくつかの構造化属性でドキュメントを検索する ドキュメントの編集(つまり、追加/削除/名前変更/マージ); 各編集操作は、コメント付きのトランザクションとして記録する必要があります 特定のドキュメントの記録された変更の履歴を表示する(誰が、いつ、なぜドキュメントを変更したか、以前のバージョンを取得したり、要求に応じてこのバージョンに戻したりすることを含む) もちろん、従来の解決策は、この問題にある種のドキュメントデータベース(CouchDBやMongoなど)を使用することでしgitた。このアプリケーションのデータベースバックエンド? 一見すると、次のように解決できます。 カテゴリ=ディレクトリ、ドキュメント=ファイル IDによるドキュメントの取得=>ディレクトリの変更+作業コピーのファイルの読み取り コメントを編集してドキュメントを編集する=>さまざまなユーザーによるコミット+コミットメッセージの保存 履歴=>通常のgitログと古いトランザクションの取得 search =>これは少しトリッキーな部分です。検索を許可する列のインデックス付けを使用して、カテゴリをリレーショナルデータベースに定期的にエクスポートする必要があると思います このソリューションには他によくある落とし穴はありますか?そのようなバックエンドを実装しようとした人はいますか(つまり、一般的なフレームワーク-RoR、node.js、Django、CakePHP)。このソリューションは、パフォーマンスや信頼性に影響を与える可能性がありますか?つまり、gitが従来のデータベースソリューションよりもはるかに遅くなるか、スケーラビリティ/信頼性の落とし穴があることが証明されていますか?お互いのリポジトリをプッシュ/プルするそのようなサーバーのクラスターは、かなり堅牢で信頼できるはずだと思います。 基本的に、私に言うならば、このソリューションが動作すると、なぜそうなるか、しないだろうか?


3
Android仮想デバイスをダウンロードできるリポジトリはありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 7年前休業。 この質問を改善する ベンダーが提供している場合、または市場に既存のAndroidデバイス用のAVDプロファイルをダウンロードできるサイトがあり、エミュレーターでアプリを実行し、基本的にそれらのデバイスでどのように実行されるかを確認できるサイトがあるかどうか、誰か知っていますか? 新しいデバイスを作成するのはかなり簡単ですが、各デバイスの構成ファイルをダウンロードして実行できればすばらしいと思います。
119 android  avd 

12
Androidで着信音/アラーム音を再生する方法
私はどこでもAndroidで着信音/アラーム音を再生する方法を探していました。 ボタンを押して着信音/アラーム音を鳴らしたい。簡単でわかりやすいサンプルは見つかりませんでした。はい、私はすでに目覚まし時計のソースコードを見ましたが、簡単ではなく、コンパイルできません。 私はこれを機能させることができません: Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(this, alert); final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) { player.setAudioStreamType(AudioManager.STREAM_ALARM); player.setLooping(true); player.prepare(); player.start(); } 私はこのエラーを受け取ります: 04-11 17:15:27.638: ERROR/MediaPlayerService(30): Couldn't open fd for content://settings/system/ringtone したがって、デフォルトの着信音/アラームの再生方法を誰かが知っている場合は、私に知らせてください。 ファイルをアップロードしない方がいいです。デフォルトの着信音を再生するだけです。



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