プログラミング

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


4
イベントハンドラーのメモリリークを回避する理由と方法
StackOverflowでいくつかの質問と回答を読むこと+=で、C#(または他の.net言語)を使用してイベントハンドラーを追加すると、一般的なメモリリークが発生する可能性があることに気づきました... 私は過去にこのようなイベントハンドラーを何度も使用しましたが、それらがアプリケーションでメモリリークを引き起こしたり、引き起こしたりしていることに気付いていませんでした。 これはどのように機能しますか(つまり、実際にメモリリークが発生するのはなぜですか)? この問題を解決するにはどうすればよいですか?-=同じイベントハンドラを使用して十分ですか? このような状況に対処するための一般的な設計パターンまたはベストプラクティスはありますか? 例:UIでいくつかのイベントを発生させるために多くの異なるイベントハンドラーを使用して、多くの異なるスレッドを持つアプリケーションをどのように処理するべきですか? すでに構築された大きなアプリケーションでこれを効率的に監視するための良い簡単な方法はありますか?

12
Rails Observer 4.0の代替
Observersが正式にRails 4.0から削除されたので、他の開発者が自分の代わりに何を使っているのか知りたいです。(抽出されたgemを使用する場合を除きます。)オブザーバーは確かに乱用され、時として扱いにくくなる可能性がありますが、キャッシュをクリアする以外にも多くのユースケースがあり、有益でした。 たとえば、モデルへの変更を追跡する必要があるアプリケーションを考えてみましょう。オブザーバーはモデルAでの変更を簡単に監視し、モデルBでそれらの変更をデータベースに記録できます。複数のモデルにわたる変更を監視したい場合は、1人のオブザーバーがそれを処理できます。 Rails 4では、他の開発者がその機能を再現するためにObserversの代わりに使用している戦略に興味があります。 個人的には、これらの変更が各モデルコントローラーのcreate / update / deleteメソッドで追跡される、一種の「ファットコントローラー」の実装に傾いています。各コントローラーの動作が少し膨れますが、すべてのコードが1か所にあるため、読みやすさと理解に役立ちます。欠点は、非常によく似たコードがいくつかのコントローラーに散在していることです。そのコードをヘルパーメソッドに抽出することはオプションですが、これらのメソッドへの呼び出しはどこにでも散らかっています。世界の終わりではありませんが、「細いコントローラー」の精神でもありません。 ActiveRecordコールバックも考えられる別のオプションですが、私の意見では2つの異なるモデルを非常に密接に結合する傾向があるため、個人的には好きではありません。 したがって、Rails 4のオブザーバーのない世界では、別のレコードが作成/更新/破棄された後に新しいレコードを作成する必要がある場合、どの設計パターンを使用しますか?ファットコントローラー、ActiveRecordコールバック、または何か他のもの? ありがとうございました。

3
CSSを使用したulインデントの削除
リストの長い行が折り返されると、順序付けられていないリストからインデントを削除できないようです。私のリストは次のようになります: Windowsユーザーはputtyを使用できます MacユーザーはTerminal.appを使用できます LinuxユーザーはSSH userid@ourserver.comポート22を使用できます ...........>または、Cyber​​duckのようなSFTPプログラムを使用して、それを........................... ..............> ourserver.com、ポート22 (ドットはインデントを示します) 私はたくさんの解決策を読み、テキストインデント、リストスタイルを使用してマージンとパディングをゼロに設定しようとしましたが、何も機能しません。問題は、リストの上に中央揃えする必要がある見出しがあるため、マージンをautoに設定してから、下のリストをめちゃくちゃにしていることだと思います。しかし、たとえ親div内に2つのdivを配置しても機能しません。 ここにHTML / CSSがあります(他のすべてのソリューションが失敗する原因となっている設定がある場合は、すべてを含めました) <div id="info"> <p><strong>Did you know you can SSH directly to ourserver.com?</strong> </p> <ul> <li>Windows users can use putty</li> <li>Mac users can use the <a href="http://www.terminfo.org">Terminal.app</a></li> <li>Linux users can use SSH userid@ourserver.com port 22</li> <li>Or use an SFTP …
154 html  css  html-lists 

28
ORA-12505、TNS:リスナーは現在、接続記述子で指定されたSIDを認識していません
Windows 7 64ビットOSにOracle 11g Express Editionリリース2をインストールし、JDBCプログラムを実行しようとすると、次のエラーが発生しました。 java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at com.jlcindia.jdbc.JDBCUtil.geOracleConnection(JDBCUtil.java:28) at Lab3O.main(Lab3O.java:15) Caused by: oracle.net.ns.NetException: …
154 oracle  jdbc 


4
REST API-DTOかどうか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する 現在プロジェクトのREST-APIを作成しており、ベストプラクティスに関する記事を読んでいます。多くの人はDTOに反対しているようで、単にドメインモデルを公開しているようですが、他の人はDTO(またはユーザーモデルなど、呼びたいもの)は悪い習慣だと考えているようです。個人的には、この記事は非常に理にかなっていると思いました。 ただし、すべての追加のマッピングコード、DTOの対応物と100%一致する可能性のあるドメインモデルなど、DTOの欠点も理解しています。 私たちのAPIは、他のクライアントがデータを消費できるように作成されていますが、適切に実行した場合は、可能であれば独自のWeb GUIにも使用したいと思います。 問題は、すべてのドメインデータを他のクライアントユーザーに公開したくない場合があることです。データの多くは、私たち自身のWebアプリケーションでのみ意味があります。また、すべてのシナリオでオブジェクトに関するすべてのデータ、特に他のオブジェクトとの関係などを公開したくない場合もあります。たとえば、特定のオブジェクトのリストを公開する場合、必ずしもオブジェクト階層全体を公開する必要はありません。そのため、オブジェクトの子は公開されませんが、リンク(ハテオア)を通じて発見できます。 この問題を解決するにはどうすればよいですか?ドメインモデルでジャクソンミックスインを使用して、さまざまなシナリオで公開されるデータを制御することを考えていました。それとも、DTOをずっと使用するべきでしょうか?欠点や論争があるとしても?
154 java  spring  rest  dto  hateoas 

23
node.jsでフォルダーを再帰的にコピーする
手動の手順を実行せずに、フォルダとそのすべてのコンテンツをコピーする簡単な方法がありfs.readir、fs.readfile、fs.writefile再帰的には? 理想的にはこのように機能する関数が欠けているのかと思っているだけです fs.copy("/path/to/source/folder","/path/to/destination/folder");

16
Pythonでコンソールログを無効にして再度有効にする方法は?
Pythonのログモジュールを使用していますが、しばらくの間コンソールログを無効にしたいのですが、機能しません。 #!/usr/bin/python import logging logger = logging.getLogger() # this gets the root logger # ... here I add my own handlers #logger.removeHandler(sys.stdout) #logger.removeHandler(sys.stderr) print logger.handlers # this will print [<logging.StreamHandler instance at ...>] # but I may have other handlers there that I want to keep logger.debug("bla bla") 上記のコードはbla blaon …

20
UIViewアニメーションで非表示/表示
私の単純な目標は、アニメーションの非表示および表示機能をフェードインすることです。 Button.hidden = YES; 十分に単純です。しかし、単に消えるのではなく、フェードアウトさせることは可能ですか?そのようにそれはかなり専門外に見えます。

7
angular2で別のコンポーネント関数を呼び出す方法
次の2つのコンポーネントがあり、別のコンポーネントから関数を呼び出したいです。両方のコンポーネントは、ディレクティブを使用して3番目の親コンポーネントに含まれています。 コンポーネント1: @component( selector:'com1' ) export class com1{ function1(){...} } コンポーネント2: @component( selector:'com2' ) export class com2{ function2(){... // i want to call function 1 from com1 here } } 私が使って試してみた@inputと@output私はそれを使用する方法を正確に理解していないとどのようにその機能を呼び出すために、缶誰の助け?


9
momentJSの日付文字列に5日追加
開始日文字列「20.03.2014」があり、これにmoment.jsで5日を追加したいのですが、アラートウィンドウに新しい日付「25.03.2014」が表示されません。 ここに私のjavascriptコード: startdate = "20.03.2014"; var new_date = moment(startdate, "DD-MM-YYYY").add("DD-MM-YYYY", 5); alert(new_date); ここに私のjsfiddle:http ://jsfiddle.net/jbgUt/1/ どうすればこれを解決できますか? この文字列形式「25.03.2014」が好きです 誰かが私を助けてくれることを願っています。
154 javascript  momentjs  add  days 

12
回転するAndroidで円形のプログレスバーを作成する方法は?
丸みのあるプログレスバーを作成しようとしています。これは私が達成したいことです 灰色の背景リングがあります。その上に、青い色のプログレスバーが表示され、0から360までの円の軌跡を60秒または数秒で移動します。 これが私のコード例です。 <ProgressBar android:id="@+id/ProgressBar" android:layout_width="match_parent" android:layout_height="match_parent" style="?android:attr/progressBarStyleLarge" android:indeterminateDrawable="@drawable/progressBarBG" android:progress="50" /> これを行うには、ドローアブル「progressBarBG」でレイヤーリストを作成し、そのレイヤーリスト内に次のように2つの項目を指定します。 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape android:shape="ring" android:innerRadius="64dp" android:thickness="8dp" android:useLevel="false"> <solid android:color="@color/grey" /> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape android:shape="ring" android:innerRadius="64dp" android:thickness="8dp" android:useLevel="false"> <solid android:color="@color/blue" /> </shape> </clip> </item> これで、最初の灰色のリングがうまく生成されました。ただし、青いリングは、ドローアブルの左側から始まり、リニアプログレスバーの動作と同じように右側に移動します。これは、方向を示す赤い色の矢印で50%の進捗状況を示す方法です。 期待通りに青いプログレスバーを円形のパスに移動したいと思います。


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