プログラミング

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

13
SQL IN()句の値の順序による順序付け
IN()句の値の順序で並べ替えるのに(おそらくより良い方法が)あるかどうか疑問に思っています。 問題は、2つのクエリがあることです。1つはすべてのIDを取得し、2つ目はすべての情報を取得します。1つ目は、2つ目で並べ替えたいIDの順序を作成します。IDはIN()句に正しい順序で配置されます。 だからそれは(非常に単純化された)のようなものになるでしょう: SELECT id FROM table1 WHERE ... ORDER BY display_order, name SELECT name, description, ... WHERE id IN ([id's from first]) 問題は、2番目のクエリがIDがIN()句に入力されたのと同じ順序で結果を返さないことです。 私が見つけた1つの解決策は、自動インクリメントフィールドを持つ一時テーブルにすべてのIDを入れ、それを2番目のクエリに結合することです。 より良いオプションはありますか? 注:最初のクエリは「ユーザーによって」実行され、2番目のクエリはバックグラウンドプロセスで実行されるため、サブクエリを使用して2を1に結合する方法はありません。 私はMySQLを使用していますが、他のDBにもどのようなオプションがあるかをメモしておくと便利だと思います。
154 mysql  sql  sql-order-by 

30
WinForms TextBoxをブラウザのアドレスバーのように動作させる
C#WinFormsテキストボックスがフォーカスを受け取ったときに、ブラウザーのアドレスバーのように動作させたい。 意味を確認するには、Webブラウザーのアドレスバーをクリックしてください。次の動作がわかります。 テキストボックスが以前にフォーカスされていなかった場合、テキストボックスをクリックすると、すべてのテキストが選択されます。 マウスを下に移動してテキストボックスにドラッグすると、マウスで強調表示したテキストのみが選択されます。 テキストボックスがすでにフォーカスされている場合、クリックしてもすべてのテキストが選択されるわけではありません。 プログラムで、またはキーボードのタブでテキストボックスにフォーカスすると、すべてのテキストが選択されます。 これをWinFormsで正確に実行したいと考えています。 最速の銃警報:回答する前に以下をお読みください!みんなありがとう。:-) .Enterまたは.GotFocusイベント中に.SelectAll()を呼び出しても機能しません。ユーザーがテキストボックスをクリックすると、クリックした場所にキャレットが配置され、すべてのテキストの選択が解除されるためです。 .Clickイベント中に.SelectAll()を呼び出しても機能しません。これは、ユーザーがマウスでテキストを選択できないためです。.SelectAll()呼び出しは、ユーザーのテキスト選択を上書きし続けます。 focus / enterイベントのenterでBeginInvoke((Action)textbox.SelectAll)を呼び出すと、上記のルール#2に違反するため機能しません。フォーカスに対するユーザーの選択をオーバーライドし続けます。


5
2つの<div>をどのようにオーバーラップさせますか?
次のようにするには、2つのdivが必要です。 | | ---| LOGO |------------------------ | |_______________| LINKS | | CONTENT | それらをきれいにオーバーラップさせる最も美しい/最もエレガントな方法は何ですか?ロゴの高さと幅は固定され、ページの上端に触れます。
154 css  html  overlap 

13
history.pushStateを介して履歴の変更について通知を受ける方法は?
したがって、HTML5 history.pushStateがブラウザーの履歴を変更することを導入したので、Webサイトは、URLのフラグメントIDを変更する代わりに、これをAjaxと組み合わせて使用​​し始めます。 悲しいことに、これらの呼び出しはによって検出できなくなっていますonhashchange。 私の質問は、ウェブサイトがhistory.pushStateいつ使用するかを検出する信頼できる方法(ハック?;))はありますか?仕様では、発生するイベントについては何も述べられていません(少なくとも私は何も見つけることができませんでした)。 ファサードを作成window.historyして自分のJavaScriptオブジェクトに置き換えようとしましたが、まったく効果がありませんでした。 詳細説明:これらの変更を検出して適切に動作する必要があるFirefoxアドオンを開発しています。 数日前に同様の質問があり、いくつかのDOMイベントを聞くことが効率的であるかどうかを尋ねましたが、これらのイベントはさまざまな理由で生成される可能性があるため、それに頼るのは避けたいと思います。 更新: これは、呼び出されたonpopstateときにトリガーされないことを示すjsfiddle(Firefox 4またはChrome 8を使用)ですpushState(または何か問題がありますか?遠慮なく改善してください!)。 アップデート2: もう1つの(側面の)問題は、window.location使用時に更新されないことですpushState(ただし、これについてはすでにここで読んだので、私はそう思います)。

9
柔軟なプラグインアーキテクチャを作成する方法
私の開発作業で繰り返されるテーマは、社内プラグインアーキテクチャの使用または作成でした。構成ファイル(XML、.confなど)、継承フレームワーク、データベース情報、ライブラリなど、さまざまな方法でアプローチするのを見てきました。私の経験では: データベースは、構成情報を保存するのに最適な場所ではありません。特に、データが混在しています。 継承階層を使用してこれを試みるには、プラグインについての知識が必要です。つまり、プラグインアーキテクチャはそれほど動的ではありません。 構成ファイルは単純な情報を提供するのに適していますが、より複雑な動作を処理できません ライブラリはうまく機能しているようですが、一方向の依存関係は注意深く作成する必要があります。 私がこれまでに使用したさまざまなアーキテクチャーから学びたいと思っているので、コミュニティーに提案を求めています。SOLIDプラグインアーキテクチャをどのように実装しましたか?あなたの最悪の失敗は何でしたか(またはあなたが見た中で最悪の失敗)?新しいプラグインアーキテクチャを実装する場合はどうしますか?あなたが使用したどのSDKまたはオープンソースプロジェクトが、優れたアーキテクチャの最も良い例を持っていますか? 私が自分で見つけたいくつかの例: Perlの依存関係注入のためのPerlのModule :: PlugableおよびIOC 依存関係注入のためのさまざまなSpringフレームワーク(Java、.NET、Python)。 SOの質問(含むJava用のリストとサービスプロバイダインタフェース) ドブス博士の記事を指すC ++ に関するSOの質問 SOの質問 ASP.NET MVCのための特定のプラグインの考え方について これらの例は、さまざまな言語の強みを発揮するようです。優れたプラグインアーキテクチャは、必ずしも言語に関連付けられていますか?ツールを使用してプラグインアーキテクチャを作成するのが最適ですか、それとも自分の次のモデルで作成するのが最適ですか?

14
GUIを単体テストするにはどうすればよいですか?
コード内の計算は十分にテストされていますが、GUIコードが多すぎるため、全体的なコードカバレッジは希望よりも低くなっています。ユニットテストのGUIコードに関するガイドラインはありますか?それは理にかなっていますか? たとえば、私のアプリにはグラフがあります。グラフのテストを自動化する方法を理解できませんでした。グラフが正しいかどうかを確認するには、人間の目であるAFAIKが必要です。 (私はJava Swingを使用しています)

30
らせん状にループ
友人は、NxM行列の要素をループさせるアルゴリズムを必要としていました(NとMは奇数です)。私は解決策を考え出しましたが、私の同僚のSO'ersがもっと良い解決策を考え出せるかどうかを見たかったのです。 この質問への回答として自分のソリューションを投稿しています。 出力例: 3x3マトリックスの場合、出力は次のようになります。 (0、0)(1、0)(1、1)(0、1)(-1、1)(-1、0)(-1、-1)(0、-1)(1、-1 ) さらに、アルゴリズムは非正方行列をサポートする必要があるため、たとえば5x3行列の場合、出力は次のようになります。 (0、0)(1、0)(1、1)(0、1)(-1、1)(-1、0)(-1、-1)(0、-1)(1、-1 )(2、-1)(2、0)(2、1)(-2、1)(-2、0)(-2、-1)

12
1から始まる数値の範囲を列挙する方法
私はPython 2.5を使用しています。そのような列挙が必要です(0ではなく1から開始): [(1, 2000), (2, 2001), (3, 2002), (4, 2003), (5, 2004)] 私はPython 2.6であなたができることを知っています:h = enumerate(range(2000、2005)、1)上記の結果を与えるが、python2.5ではできません... python2.5を使用: &gt;&gt;&gt; h = enumerate(range(2000, 2005)) &gt;&gt;&gt; [x for x in h] [(0, 2000), (1, 2001), (2, 2002), (3, 2003), (4, 2004)] 誰もがPython 2.5でその望ましい結果を得る方法を知っていますか? おかげで、 ジェフ
154 python 


10
reactjsで生のhtmlをレンダリングする
これは、reactjsで未加工のHTMLをレンダリングする唯一の方法ですか? // http://facebook.github.io/react/docs/tutorial.html // tutorial7.js var converter = new Showdown.converter(); var Comment = React.createClass({ render: function() { var rawMarkup = converter.makeHtml(this.props.children.toString()); return ( &lt;div className="comment"&gt; &lt;h2 className="commentAuthor"&gt; {this.props.author} &lt;/h2&gt; &lt;span dangerouslySetInnerHTML={{__html: rawMarkup}} /&gt; &lt;/div&gt; ); } }); 私はJSXで何かをマークアップするクールな方法があることを知っていますが、主に生のhtml(すべてのクラス、インラインスタイルなど)をレンダリングできることに興味があります。このような複雑なもの: &lt;!-- http://getbootstrap.com/components/#dropdowns-example --&gt; &lt;div class="dropdown"&gt; &lt;button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" …

13
非暗号化用途の最速のハッシュ?
私は基本的にデータベースに入れるフレーズを準備していますが、形式が正しくない可能性があるため、代わりに短いハッシュを保存します(存在するかどうかを単純に比較するので、ハッシュが理想的です)。 MD5は100,000以上のリクエストでかなり遅いと思うので、フレーズをハッシュするための最良の方法は何かを知りたかったのですが、おそらく自分のハッシュ関数をロールアウトするhash('md4', '...'か、結局はより高速になりますか? MySQLにはMD5()があることを知っているので、クエリの終了時に少し高速になりますが、MySQLにはさらに高速なハッシュ関数があり、PHPで動作することを知りません。
154 php  database  security  hash 

11
JSクライアント側のExif方向:JPEG画像の回転とミラーリング
デジタルカメラの写真は、多くの場合、EXIFの「向き」タグが付いたJPEGとして保存されます。正しく表示するには、設定されている方向に応じて画像を回転またはミラーリングする必要がありますが、ブラウザはこの情報を無視して画像をレンダリングします。大規模な商用Webアプリでも、EXIFオリエンテーションのサポートは不安定な場合があります1。同じソースは 、JPEGが持つことができる8つの異なる方向の優れた要約も提供します。 サンプル画像は4にあります。 問題は、クライアント側で画像を回転/ミラーリングして、正しく表示し、必要に応じてさらに処理できるようにする方法です。 EXIFデータを解析するために利用できるJSライブラリがあり、方向属性2を含みます。webworkersの使用が必要な、大きな画像を解析するときのFlickrは、可能なパフォーマンス上の問題を指摘し3。 コンソールツールは、画像の向きを正しく変更できます5。問題を解決するPHPスクリプトは6で利用可能です

16
JavaScriptの文字列としての変数名
JavaScriptで文字列として変数名を取得する方法はありますか?(ココアのようNSStringFromSelectorに) 私はこのようにしたいと思います: var myFirstName = 'John'; alert(variablesName(myFirstName) + ":" + myFirstName); --&gt; myFirstName:John 更新 JavaScriptを使用してブラウザーと別のプログラムを接続しようとしています。コールバックメソッドのために、ブラウザーから別のプログラムにインスタンス名を送信したいと思います。 FooClass = function(){}; FooClass.someMethod = function(json) { // Do something } instanceA = new FooClass(); instanceB = new FooClass(); doSomethingInAnotherProcess(instanceB); // result will be substituted by using instanceB.someMethod(); ... 別のプログラムから: evaluateJavascriptInBrowser("(instanceName).someMethod("resultA");"); PHP:PHPで 変数名を文字列として取得する方法は?
154 javascript 

3
git-diffとgit logで新しいファイルと削除されたファイルを無視する方法は?
いくつかの変更されたファイルと、いくつかの新しいファイル、削除されたファイル、または名前が変更されたファイルがある場合があります。行うとき、git diffまたはgit-logそれらを省略したいので、変更を見つけやすくします。 実際には、コンテンツのない新しいファイルと削除されたファイルの名前をリストするのが最善です。「古い」の名前を「新しい」に変更した場合、オプションで「古い」と「新しい」の違いを取得したいと思います。
154 git  git-diff 

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