問題タブ [limit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - インターフェイスのパラメーター化は 1 つしか実装できません。回避方法は?
これが私ができるようにしたいことの例です(Javaで):
これを実装しようとすると、コンパイラはMyInterface
、MyClass
. MyInterface<ClassA>
は とは別の型として扱われると思っていたのですが、そうではMyInterface<ClassB>
ないようです。これは非常に便利なように思えるので、エラーに驚いています。
更新: これまでご協力いただきありがとうございました。コメントの 1 つが指摘したように、上記は抽象的です。私が解決しようとしている問題は、オブザーバー クラスが実装するインターフェイスを介して監視するクラスを宣言し、クラス固有のメソッドで監視するオブジェクトの変更を処理するように、オブザーバー パターンを実装することです。このようなアプローチを使用する利点は、クラスが実装するインターフェイスから、監視するオブジェクトのタイプが明確になるため、監視されるクラスのインスタンスへの変更の処理をコンパイラが明示的に実装することをプログラマーに強制することです。したがって、上記の抽象コードは実際には次のようになります。
ここで、MyClass は、Database オブジェクトと Spreadsheet オブジェクトを監視することを宣言します。コンパイラは、理想的な世界では、2 つの異なる observedDidChange() メソッドを実装する必要があることを要求します。
ありがとう。
sql - VARCHARS: 2、4、8、16 など? それとも1、3、7、15など?
VARCHAR(256) の代わりに VARCHAR(255) が常に使用されていますが、VARCHAR(15) の代わりに VARCHAR(16) も使用されています。これは私には矛盾しているようです。VARCHAR の長さを格納するために余分なバイトが使用されている場合、この規則は 2、4、8 のような短い長さにも適用され、代わりに 1、3、7 になるべきではありませんか?
それとも、何かが完全に欠けていますか?
つまり、12 を超えることはないとわかっている数値がある場合、代わりに VARCHAR(15) または VARCHAR(16) を使用する必要がありますか? VARCHAR(12) と同じ量のスペースを使用するためですか? その場合、どちらを使用しますか? 15か16?256 に近づくと、このルールはまったく変更されますか?
プロジェクトに応じて、MySQL と SQL の両方を使用します。
php - 許可しない > 2 MB の画像
こんにちは!ユーザーが 2 MB を超えるファイルをアップロードしようとしているかどうかを確認するにはどうすればよいですか? 私はそれを否定し、そうしようとしているユーザーにエラー メッセージを表示したいと思います。
このようなことはわかっていますが、50000 を 2mb になるには何に変更すればよいでしょうか。
mysql - LIMIT 句で大きなオフセットを使用して MySQL クエリを高速化するにはどうすればよいですか?
大きなオフセットLIMIT
で mysql を実行すると、パフォーマンスの問題が発生します。SELECT
たとえば、オフセットm
が 1,000,000 より大きい場合、操作は非常に遅くなります。
私は使用する必要がありますlimit m, n
; みたいなものは使えませんid > 1,000,000 limit n
。
このステートメントを最適化してパフォーマンスを向上させるにはどうすればよいですか?
php - 特定の行番号から始まるMySQLの行を選択するにはどうすればよいですか?
MySQL テーブルに 50 行あるとします。最初の 10 個 ( LIMIT 10
) を選択したいのですが、別のページで次の 10 個を選択できるようにしたいと考えています。
では、行 10 の後に選択を開始するにはどうすればよいでしょうか。
更新されたクエリ:
ldap - LDAP プロトコルは DN の長さを制限しますか?
LDAP プロトコルは、DN に使用できる最大長を指定していますか?
https://www.rfc-editor.org/rfc/rfc4514を調べましたが、それが課す制限は見つかりません。
php - PHP 特定の文字による文字列出力を制限する
PHP を使用して文字列から返される文字数を制限しようとしています。
サーバーがクラッシュしそうな解決策(高負荷/無限ループ)を適用したので、代替案を求めています。
文字列を切り取って特定の文字数を表示する解決策を見つけようとしていますが、それでも文の意味を尊重します。つまり、単語の途中で切り取らない
私の関数呼び出しは次のとおりです。
そして、私の functions.php では、これが私が使用したコードです (そしてクラッシュします):
私の問題は$position = 60
.
その数値が高いほど、非常に遅いループを実行するなど、より多くの負荷がかかります。
に何か問題while()
があると思いますが、単語の途中で中断するのではなく、訪問者が理解できるように努めています。
入力はありますか?
:)どうもありがとう
cron - cron ジョブ: 最後の 20 行を保持
実行中に何百万もの行をコンソールにダンプするプロセスがあります。これを cron ジョブで実行したいのですが、数 MB のメールを送信しないようにするために、成功 (exit == 0) の場合は出力を 0 行に制限し、エラー (exit != 0) 最後の 20 行まで。
少しの努力でこれを達成するためのアイデアはありますか? たぶん、数行の perl か、標準ツールのスマートな使用でしょうか?
sql - SQLランキング機能は「注意して使用する」と考えるべきか
この質問は、特定のケースで SQL ランキング機能を使用するかどうかについての議論から生じています。
一般的な RDBMS にはランキング機能が含まれています。つまり、クエリ言語にはTOP n ... ORDER BY key
、ROW_NUMBER() OVER (ORDER BY key)
、またはORDER BY key LIMIT n
( overview ) などの要素があります。
膨大な数のレコードから小さなチャンクのみを表示したい場合、パフォーマンスを向上させるのに非常に役立ちます。しかし、これらは大きな落とし穴ももたらします:key
が一意でない場合、結果は非決定論的です。次の例を検討してください。
クエリは、最後にログインした人を返すことになっています:
期待どおりGeorge
に返され、すべてが正常に見えます。しかし、新しいレコードがテーブルに挿入されlogins
ます:
上記のクエリは何を返しますか? Ringo
? George
? わかりません。私が覚えている限り、たとえば MySQL 4.1 は、基準に一致する物理的に作成された最初のレコードを返します。つまり、結果はGeorge
. ただし、これはバージョンや DBMS によって異なる場合があります。何を返すべきだった?Ringo
彼が最後にログインしたようだからと言う人もいるかもしれませんが、これは純粋な解釈です。私の意見では、利用可能なデータから明確に判断することはできないため、両方が返されるべきでした。
したがって、このクエリは要件に一致します。
別の方法として、一部の DBMS は特別な機能を提供します (たとえば、Microsoft SQL Server 2005 ではTOP n WITH TIES ... ORDER BY key
( gbnが推奨)、RANK
、およびDENSE_RANK
この目的のために を導入しています)。
たとえば、SO を検索ROW_NUMBER
すると、ランキング機能の使用を提案し、考えられる問題を指摘することを逃した多数のソリューションが見つかります。
質問: ランキング機能を含むソリューションが提案された場合、どのようなアドバイスが必要ですか?