プログラミング

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

29
文字列からHTMLタグを削除する
Java文字列からHTMLを削除する良い方法はありますか?のような単純な正規表現 replaceAll("\\<.*?>","") は機能し&ますが、正しく変換されず、2つの山括弧の間の非HTMLは削除されます(つまり.*?、正規表現内のは表示されなくなります)。
422 java  html  parsing 

15
JavaScriptオブジェクトを反復する方法は?
JavaScriptにオブジェクトがあります。 { abc: '...', bca: '...', zzz: '...', xxx: '...', ccc: '...', // ... } forループを使用してそのプロパティを取得したいと考えています。そして、それを部分的に反復したいと思います(一度にすべてのオブジェクトプロパティではありません)。 単純な配列を使用すると、標準forループでそれを行うことができます。 for (i = 0; i < 100; i++) { ... } // first part for (i = 100; i < 300; i++) { ... } // second for (i = 300; i < …

4
完璧なJPAエンティティを作成する[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 私はしばらくの間JPA(実装Hibernate)を使用しており、エンティティを作成する必要があるたびに、AccessType、不変のプロパティ、equals / hashCodeなどの問題に悩まされています。 そこで、私は各問題の一般的なベストプラクティスを見つけ出して、個人用に書き留めることにしました。 しかし、誰かがそれについてコメントしたり、どこが間違っているかを教えたりしても構わないと思います。 エンティティークラス Serializableを実装する 理由:仕様では、そうする必要があると記載されていますが、一部のJPAプロバイダーはこれを強制していません。JPAプロバイダーとしてのHibernateはこれを強制しませんが、Serializableが実装されていない場合は、ClassCastExceptionで胃のどこかで失敗する可能性があります。 コンストラクタ エンティティのすべての必須フィールドを持つコンストラクタを作成します 理由:コンストラクターは、作成されたインスタンスを常に正常な状態にしておく必要があります。 このコンストラクターのほかに、パッケージのプライベートデフォルトコンストラクターがある 理由:Hibernateでエンティティを初期化するには、デフォルトのコンストラクターが必要です。プライベートは許可されますが、ランタイムプロキシの生成とバイトコードインスツルメンテーションなしの効率的なデータ取得には、パッケージプライベート(またはパブリック)の可視性が必要です。 フィールド/プロパティ 一般的にフィールドアクセスを使用し、必要に応じてプロパティアクセスを使用する 理由:どちらか一方について明確で説得力のある引数がないため、これはおそらく最も議論の余地のある問題です(プロパティアクセスとフィールドアクセス)。ただし、フィールドアクセスは、より明確なコード、より良いカプセル化、および不変フィールドのセッターを作成する必要がないため、一般的に好まれているようです 不変フィールドのセッターを省略(アクセスタイプフィールドには不要) プロパティはプライベートである可能性があります 理由:以前は(Hibernate)パフォーマンスの方がprotectedの方が優れていると聞きましたが、Webで見つけることができるのは:Hibernateがpublic、private、protectedのアクセサーメソッド、およびpublic、private、protectedフィールドに直接アクセスできることです。選択はあなた次第であり、アプリケーション設計に合うようにそれを一致させることができます。 Equals / hashCode エンティティを永続化するときにのみこのIDが設定されている場合は、生成されたIDを使用しないでください 優先度:不変の値を使用して一意のビジネスキーを形成し、これを使用して同等性をテストする 一意のビジネスキーを使用できない場合は、エンティティの初期化時に作成される非一時的なUUIDを使用します。詳細については、この素晴らしい記事を参照してください。 関連するエンティティ(ManyToOne)を参照しないでください。このエンティティ(親エンティティなど)をビジネスキーの一部にする必要がある場合は、IDのみを比較します。プロパティアクセスタイプを使用している限り、プロキシでgetId()を呼び出してもエンティティの読み込みはトリガーされません。 エンティティの例 @Entity @Table(name = "ROOM") public class Room implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue @Column(name …
422 java  hibernate  jpa  equals 


17
標準ライブラリのみを使用して整列メモリを割り当てる方法は?
就職の面接の一環としてテストを終えたばかりで、Googleを参考にしても、1つの質問で困惑しました。StackOverflowの乗組員がそれで何ができるかを見たいのですが。 このmemset_16aligned関数には、16バイト境界で整列されたポインターを渡す必要があります。そうしないと、クラッシュします。 a)どのようにして1024バイトのメモリを割り当て、それを16バイト境界に揃えますか? b)のmemset_16aligned実行後にメモリを解放します。 { void *mem; void *ptr; // answer a) here memset_16aligned(ptr, 0, 1024); // answer b) here }

4
チェックインのために変更されたファイルを別のブランチに移動する
これはよく起こります。コードを書いて、自分の変更をチェックインしましたが、それらの変更をチェックインする適切なブランチにいないことに気づきました。ただし、変更を元に戻さない限り、別のブランチに切り替えることはできません。変更を別のブランチに移動してチェックインする方法はありますか?
422 git  github 

30
文字列内の各単語の最初の文字を大文字にする方法
文字列の各単語の最初の文字を大文字にし、他の文字には影響しないJavaに組み込まれた関数はありますか? 例: jon skeet -> Jon Skeet miles o'Brien-> Miles O'Brien(Bは引き続き資本、これはタイトルケースを除外します) old mcdonald-> Old Mcdonald* *(Old McDonald見つけることもできますが、それほど賢いとは思わないでしょう。) Java String Documentationをざっと見てみるtoUpperCase()とtoLowerCase()、とのみがわかりますが、これはもちろん望ましい動作を提供しません。当然のことながら、Googleの結果はこれら2つの関数によって支配されています。すでに発明されたはずのホイールのようですので、頼むのも無理はないので、今後も使えるようにしています。

16
Javaでファイルをコピーする標準的な簡潔な方法は?
Javaでファイルをコピーする唯一の方法は、ストリームを開く、バッファを宣言する、1つのファイルを読み取る、それをループして、他のストリームに書き込むことだけであることに常に悩まされてきました。Webには、このタイプのソリューションの同様の、まだわずかに異なる実装が散らばっています。 Java言語の範囲内に留まるより良い方法はありますか(OS固有のコマンドの実行を含まないことを意味します)?おそらくいくつかの信頼できるオープンソースユーティリティパッケージでは、少なくともこの基礎となる実装が不明瞭になり、1行のソリューションが提供されますか?
421 java  file  copy 

24
表示されているDOMに要素が存在するかどうかを確認するにはどうすればよいですか?
getElementByIdメソッドを使用せずに要素の存在をどのようにテストしますか? 参考のためにライブデモをセットアップしました。ここにもコードを印刷します。 <!DOCTYPE html> <html> <head> <script> var getRandomID = function (size) { var str = "", i = 0, chars = "0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ"; while (i < size) { str += chars.substr(Math.floor(Math.random() * 62), 1); i++; } return str; }, isNull = function (element) { var randomID = getRandomID(12), savedID = …


9
CharSequence VS Javaの文字列?
Androidでのプログラミングでは、ほとんどのテキスト値がで期待されていCharSequenceます。 何故ですか?メリットは何ですか?を使用CharSequenceすることの主な影響は何Stringですか? 主な違いは何ですか?それらを使用し、別のものに変換する際に予想される問題は何ですか?

30
JavaScriptでオブジェクトの配列をどのように複製しますか?
...各オブジェクトは、同じ配列内の他のオブジェクトへの参照も持っていますか? この問題を最初に思いついたとき、私は var clonedNodesArray = nodesArray.clone() 存在し、JavaScriptでオブジェクトを複製する方法に関する情報を検索します。StackOverflowで質問を見つけました(まったく同じ@JohnResigによって回答されました)。彼はjQueryを使用すると、 var clonedNodesArray = jQuery.extend({}, nodesArray); オブジェクトを複製します。私はこれを試しましたが、これは配列内のオブジェクトの参照のみをコピーします。だから私が nodesArray[0].value = "red" clonedNodesArray[0].value = "green" nodesArray [0]とclonedNodesArray [0]の両方の値が「緑」になります。それから私は試しました var clonedNodesArray = jQuery.extend(true, {}, nodesArray); これはオブジェクトを深くコピーしますが、FirebugとOpera Dragonflyの両方から「再帰が多すぎます」と「コントロールスタックオーバーフロー」のメッセージを受け取りました。 どうしますか これはすべきではないことですか?JavaScriptでこれを行う再利用可能な方法はありますか?
421 javascript 


10
Pythonクラスで等価(「等価」)をサポートするエレガントな方法
カスタムクラスを作成する場合、==and !=演算子を使用して同等性を許可することがしばしば重要になります。Pythonでは、これはそれぞれ__eq__と__ne__特別なメソッドを実装することで可能になります。これを行うために私が見つけた最も簡単な方法は、次の方法です。 class Foo: def __init__(self, item): self.item = item def __eq__(self, other): if isinstance(other, self.__class__): return self.__dict__ == other.__dict__ else: return False def __ne__(self, other): return not self.__eq__(other) これを行うよりエレガントな方法を知っていますか?上記__dict__のs を比較する方法を使用することの特定の欠点を知っていますか? 注:少し明確化します- __eq__と__ne__が定義されていない場合、この動作が見られます: >>> a = Foo(1) >>> b = Foo(1) >>> a is b False >>> a == b …

17
Pythonの最大再帰深度はどのくらいですか、それを増やす方法は?
私はこの末尾再帰関数をここに持っています: def recursive_function(n, sum): if n < 1: return sum else: return recursive_function(n-1, sum+n) c = 998 print(recursive_function(c, 0)) それはまで機能しn=997、その後、壊れて吐き出しRecursionError: maximum recursion depth exceeded in comparisonます。これは単なるスタックオーバーフローですか?それを回避する方法はありますか?
421 python  recursion 

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