プログラミング

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


3
Scalaの適用機能とは何ですか?
不自然な動詞化された名詞(AddTwoクラスにはapply2つ追加された!)の例から、私はそれを理解できませんでした。 私はそれが構文上の砂糖であることを理解しているので、(私はコンテキストから推測して)いくつかのコードをより直観的にするように設計されていたに違いありません。 apply関数を持つクラスはどのような意味を持ちますか?それは何のために使用され、コードを改善する目的は何ですか(非整列化、動詞の名詞など)? コンパニオンオブジェクトで使用するとどのように役立ちますか?
311 scala 

20
JPA hashCode()/ equals()のジレンマ
JPAエンティティーと、JPAエンティティークラスにどの/ 実装を使用する必要があるか について、ここでいくつかの議論がありました。それらのほとんど(すべてではない)がHibernateに依存していますが、JPA-implementation-neutrally(ちなみに私はEclipseLinkを使用しています)について説明したいと思います。hashCode()equals() 考えられるすべての実装には、以下に関する独自の長所と短所があります。 hashCode()/equals()契約準拠のため(不変性)List/ Setオペレーション 同一のオブジェクト(たとえば、異なるセッションから、遅延ロードされたデータ構造からの動的プロキシ)を検出できるかどうか エンティティがデタッチ(または非永続)状態で正しく動作するかどうか 私が見る限り、3つのオプションがあります。 それらを上書きしないでください。頼りにしObject.equals()てObject.hashCode() hashCode()/ equals()仕事 同一のオブジェクトを識別できない、動的プロキシの問題 エンティティの分離に問題はありません 主キーに基づいてそれらを上書きする hashCode()/ equals()壊れている 正しいID(すべての管理対象エンティティ) 分離されたエンティティに関する問題 Business-Idに基づいてそれらをオーバーライドします(非主キーフィールド。外部キーはどうですか?) hashCode()/ equals()壊れている 正しいID(すべての管理対象エンティティ) エンティティの分離に問題はありません 私の質問は: オプションやプロ/コンポイントを逃しましたか? どのオプションを選択しましたか、またその理由は何ですか? 更新1: 「によってhashCode()/ equals()壊れている」、私はその連続した意味hashCode()(正しく実装時)の意味で壊れされていない、異なる値を返す可能性があります呼び出しをObjectAPIドキュメント、しかしから変更されたエンティティを取得しようとしたときにこれは問題を引き起こすMap、 Setまたは他のハッシュベースCollection。その結果、JPA実装(少なくともEclipseLink)が正しく動作しない場合があります。 更新2: あなたの答えをありがとう-それらのほとんどは驚くべき品質を持っています。 残念ながら、どのアプローチが実際のアプリケーションに最適か、または自分のアプリケーションに最適なアプローチをどのように決定するかはまだわかりません。だから、私は質問を開いたままにし、いくつかの議論や意見を期待します。


23
Angular.js選択ボックスにデフォルトオプションを設定する方法
私はGoogleを検索しましたが、これについて何も見つかりません。 私はこのコードを持っています。 <select ng-model="somethingHere" ng-options="option.value as option.name for option in options" ></select> このようないくつかのデータで options = [{ name: 'Something Cool', value: 'something-cool-value' }, { name: 'Something Else', value: 'something-else-value' }]; そして出力はこのようなものです。 <select ng-model="somethingHere" ng-options="option.value as option.name for option in options" class="ng-pristine ng-valid"> <option value="?" selected="selected"></option> <option value="0">Something Cool</option> <option value="1">Something Else</option> …

7
JavaScript:location.hrefとlocationの設定
設定locationとURL文字列のどちらに設定するのlocation.hrefですか? location = "http://www.stackoverflow.com"; 対 location.href = "http://www.stackoverflow.com"; Mozilla Developer Networkリファレンス
311 javascript 


12
カレンダーの定期的/繰り返しイベント-最適な保存方法
私はカスタムイベントシステムを構築しています。次のような繰り返しイベントがある場合: イベントAは2011年3月3日から4日ごとに繰り返されます または イベントBは、2011年3月1日から火曜日に2週間ごとに繰り返されます 簡単に検索できるようにデータベースに保存するにはどうすればよいですか。多数のイベントがある場合はパフォーマンスの問題が発生したくないので、カレンダーをレンダリングするときにすべてのイベントを実行する必要があります。

10
オブジェクトを文字列にシリアル化する
オブジェクトをファイルに保存するには、次の方法があります。 // Save an object out to the disk public static void SerializeObject<T>(this T toSerialize, String filename) { XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType()); TextWriter textWriter = new StreamWriter(filename); xmlSerializer.Serialize(textWriter, toSerialize); textWriter.Close(); } 私はそれを書いていないことを告白します(型パラメーターを受け取る拡張メソッドに変換しただけです)。 これで、xmlを(ファイルに保存するのではなく)文字列として返す必要があります。調査中ですが、まだわかりません。 これらのオブジェクトに精通している人にとっては、これは本当に簡単かもしれないと思いました。そうでなければ、私は最終的にそれを理解します。


14
ES6クラスで静的定数を宣言していますか?
定数をに実装したいのclassは、コード内で定数を配置することが意味があるためです。 これまでのところ、私は静的メソッドで次の回避策を実装しています。 class MyClass { static constant1() { return 33; } static constant2() { return 2; } // ... } 私はプロトタイプをいじる可能性があることを知っていますが、多くの人はこれを推奨しません。 ES6クラスに定数を実装するより良い方法はありますか?

18
Vimで行全体を上下に移動します
Notepad ++では、Ctrl+ Shift+ Up/ Downを使用して現在の行を上下に移動できます。Vimでこれに似たコマンドはありますか?私は無限のガイドを調べましたが、何も見つかりませんでした。 存在しない場合、アクションをそのキーの組み合わせにどのようにバインドできますか? 編集:Mykolaの回答は、バッファーの最初と最後の行を除いて、すべての行で機能します。最初の行を上または下の行に移動すると、その行が削除され、一番下の行を上に移動すると、ポーンのように最初に2つのスペースがジャンプします。誰でも何か改良を提供できますか?
311 vim  vi 

22
エラー1396(HY000): 'jack' @ 'localhost'のCREATE USER操作が失敗しました
MySQLのルートとしても、削除した単純なユーザーを再作成できないようです。 私の場合:ユーザー 'jack'は以前から存在していましたが、再作成するためにmysql.userから削除しました。その表にはこれの痕跡は見られません。他のランダムなユーザー名、たとえば「jimmy」に対してこのコマンドを実行すると、(「jack」に対して最初に行ったように)正常に動作します。 MySQLのこのインストールの有効なユーザーとして「ジャック」を再作成するために、ユーザー「ジャック」を破壊するために私は何をしましたか? 以下の例を参照してください。(もちろん、元々、「ジャック」の作成と彼の除去の間に長い時間がありました。) mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123'; Query OK, 0 rows affected (0.00 sec) mysql> select user,host from user; +------------------+-----------------+ | user | host | +------------------+-----------------+ | root | 127.0.0.1 | | debian-sys-maint | localhost | | jack | localhost | | root | localhost …

12
現在のバージョンのAndroid Gradleプラグインでは、オンデマンドの構成はサポートされていません
Android Studio 3.1.2にアップグレードした後、次のエラーが発生します。 Gradleバージョン4.6以降を使用しているため、現在のバージョンのAndroid Gradleプラグインではオンデマンド設定はサポートされていません。提案:gradle.propertiesファイルでorg.gradle.configureondemand = falseを設定するか、4.6未満のGradleバージョンを使用して、オンデマンドで構成を無効にします。 提案に従いましたが、問題は解決しませんでした。何か案は?すべての助けに大いに感謝します、ありがとう。


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