問題タブ [read-unread]
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.
database - 複数のアイテムの既読/未読ステータスを記憶する最も効率的な方法は何ですか?
たとえば、複数のユーザーと複数のスレッドが存在するフォーラムの形式を考えてみましょう。このフォーラムが、どのユーザーがどのスレッドを読んだかを追跡し、その情報を使用して、スレッド リストを表示するときにどのスレッドが未読であるかをマークするとします。
私が想像できる唯一の解決策は、ユーザーがスレッドにアクセスするたびにレコードをデータベースにドロップすることです。「すべて既読としてマーク」ボタンがあり、タイムスタンプを使用してデータベースのスプロールを軽減できると思いますが、これは私を感動させる解決策ではありません.
ここで何かが足りないような気がします...感謝祭の朝は、プログラミングの問題について考える時ではないのかもしれません。
これに対するより良い解決策はありますか?何か案は?
php - Googleリーダーの未読数
この関数は、Googleリーダーアイテムの未読数を取得するために作成しました。
生成されたときのヘッダーは次のようになります。
それはただそこにあり、ロードが完了すると応答文字列はありません。ヘッダーまたはfsockopenの問題ですか?
linq-to-sql - Linq To SQL を使用して未読レコードを返す
この質問の仕方がよくわからないので、私がやっていることの例から始めましょう。
これが私のテーブル構造です...
ドキュメント(主キー = ID)
ID、タイトル、LatestApprovedRevID
リビジョン(主キー = ID)
ID、DocumentID、RevisionNum、Body
Document_Reads (主キー = DocumentID、UserName)
DocumentID、UserName、RevisionID
ユーザーがドキュメントを開くと、承認された最新のリビジョンが開かれ、ユーザーが読んだドキュメントとリビジョンを示すレコードが Document_Reads に挿入されます。Linq を使用してクエリを実行し、UserName (現在の認証済みユーザー) が読み取っていないドキュメントを返す方法を知りたいです。
未読ドキュメントのリストを取得するために、ドキュメントを返したい 3 つのケースがあります。
- ドキュメントの Document_Reads にレコードがない場合。
- ドキュメントの Document_Reads にレコードがあるが、UserName のレコードがない場合。
- ドキュメントの Document_Reads にレコードがあり、UserName のレコードが存在するが、Document_Reads.RevisionID が Documents.LastApprovedRevID と一致しない場合。
フィルター関数を作成しましたが、2 番目の要件のクエリを作成するのに問題があります。UserName と一致しない Document_Reads が見つかった場合、ドキュメントが返されます。
次に、承認されたリビジョンを持つすべてのドキュメントをリポジトリに返させ、次のようなフィルターを使用します...
助けてくれてありがとう。このトピックがこのサイトで既に見つかっている場合は申し訳ありません...何を検索する必要があるかわかりませんでした。
php - PHP / MySQL での未読投稿の処理
個人的なプロジェクトでは、PHP と MySQL を使用してフォーラムを構築する必要があります。ビルド済みのフォーラム パッケージ (phpBB など) を使用することはできません。
私は現在、そのようなアプリケーションを構築するために必要なロジックに取り組んでいますが、長い 1 日であり、ユーザーの未読投稿を処理するという概念に苦労しています。私が持っていた1つの解決策は、基本的にすべての投稿IDとユーザーIDを保持する別のテーブルを用意して、それらが読み取られたかどうかを判断することでした:
tbl_userReadPosts: user_id, post_id, read_timestamp
明らかに、ユーザーの ID がこのテーブルに表示されていれば、そのユーザーが投稿を読んだことがわかります。これは素晴らしいことですが、1 日あたり数千の投稿 (提案されているシステムでは可能な数を超えています) と数千のユーザーがいる場合を除きます。このテーブルは、数時間ではないにしても、数日で巨大になります。
もう 1 つのオプションは、ユーザーの最後のアクティビティをタイムスタンプとして追跡し、最後のアクティビティが更新された後に行われたすべての投稿を取得することです。これは理論的には機能しますが、ユーザーが非常に長い投稿を書いているとしましょう。その間に、何人かのメンバーが新しいスレッドを開始したり、他のスレッドの投稿に返信したりします。ユーザーが新しい投稿を送信すると、最後のアクティビティが更新されるため、その間に行われたアクティビティと一致しません。
誰もこれを経験したことがありますか?どのように対処しましたか?
私は phpBB をチェックインしましたが、システムが各ユーザーにカスタム セッションを割り当て、それに基づいて動作しているようですが、これが未読の投稿をどのように処理するかについてのドキュメントはかなりまばらです。
いつものように、感謝して受け取った考えや意見。
mysql - mysql のメールなどのユーザーの既読/未読投稿の処理
ユーザーごとに投稿の既読/未読ステータスを処理する必要があります。コンマ区切りの user_id を格納するために非正規化列を使用しています。テキスト列であるため、選択クエリのパフォーマンスが低下します。
ここで、ユーザー A - 1、ユーザー B-2、ユーザー C-4、およびユーザー D-8 (ビット単位) というすべてのユーザーに定数を割り当て、その組み合わせを整数列に格納します。 ,C read 整数列の値は (1+4) になります。問題は、いいえです。組み合わせが制限されているため、保存できるユーザーの数は、列に62人のユーザーのステータスがあるとします。さらに拡張する必要がある場合は、別の BIGINT 列を追加して他のユーザーを保存する必要があるかもしれません。
その情報を保存する最良の方法は何でしょうか。以下は、私が行う必要があるアクションです。
- 新しい返信が投稿されたら、値を 0 に更新する必要があります (すべての返信を未読にするため)。
- ユーザーが投稿を読んだときに列のステータスを更新します。
- ユーザーの未読の投稿をすべて選択します。
編集: 間接的に 3 番目のアクションに対処しようとしています。その整数列を選択列リストに追加し、mysql 基準として追加する代わりに、アプリケーション コードでユーザーの読み取りステータスを見つけます。いずれにせよ、これは解決策ではありません。私はまだ良いものが必要です。
objective-c - Objective C: 未読メッセージを確認する方法 (バッジとして表示される番号)
(サーバーから取得した)通知のリストを格納するtableViewがあります。特定の通知がユーザーによって表示されたかどうかを確認するにはどうすればよいですか?
考えていた
1) 通知 ID を NSUserdefaults に保存し、
2) アプリの起動時に、取得した通知リストを NSUserdefault のリストと照合します。
3) 通知が NSUserdefault に存在しない場合、通知 == 未読および BadgeValueCount++。
ただし、これは非常に非効率的でスケーラブルではないようです。
未読アイテムをチェックする(そして未読カウントでバッジを設定する)より効率的な方法を誰でもアドバイスできますか。ありがとう!
cassandra - 活発なカサンドラ TimeUUIDType
サクサク使いました。cassandra 列ファミリーは、Hive テーブルに自動的にマップされます。
ただし、列ファミリーのデータ型が timeuuid の場合、Hive テーブルでは読み取ることができません。
たとえば、次のコマンドを使用してハイブに外部テーブルを作成し、列ファミリーをマップしました。
cassandra でカラム名が TimeUUIDType の場合、Hive テーブルで読み取り不能になります。
たとえば、cassandra 列ファミリーの行は次のようになります。
列名は TimeUUIDType です。
ハイブ テーブルでは、次の行のようになります。
そのため、Hive テーブルでは列名を読み取ることができません。
android - リスト ビューの既読および未読メッセージ
list view
メッセージのリストを表示する があります。リストビューを表示するために使用SimpleAdapter
しています。hash map
(メッセージが読まれたかどうかを示すフラグ(true / false)が設定されています)。正しく機能しています。フラグが読み取られると、フラグを更新できます。既読メッセージと未読メッセージを区別する方法 (未読メッセージを太字で表示したいだけです)。
php - PHPを使用してコンテキストで読めない文字を削除する方法は?
こんにちは zend_lucene_search にコンテキストをフィードしています。特殊文字までの単語を検索できますが、それ以降は検索できません。
例えば:
「ボード」を検索すると取得できますが、判読できない文字の後に 1 つまたは任意の文字列を検索すると、検索できません。
これらを削除する方法とプレーンテキストを取得したい。
.docx/pdf ファイルをテキストに変換すると、このような文字が表示されます。
また
テキストのみを zend_search_lucene にフィードする方法を教えてください。
助けてください。
android - 未読の SMS 通知を非表示にする方法
私は、SMS を処理するアプリケーションを作成しています。計画どおり、ストック/デフォルト アプリケーションを置き換える必要があります。
着信SMSによって発射されたブロードキャストを傍受android.provider.Telephony.SMS_RECEIVED
し、独自の通知を発行してから呼び出しabortBroadcast()
ているため、最終的にデフォルト/ストックアプリにつながる着信新しいメッセージの通知はありません.
しかし、問題は実際には、ユーザーが十分な時間 (数分程度) 読んでいない場合に、着信 SMS ストック/デフォルト アプリが別のブロードキャストを発生させることです。そのため、ユーザーには 2 つの通知が表示されます。1 つはデフォルト/ストック メッセージング アプリからのもので、もう 1 つは地雷からのものです。
未読の SMS があると、どのブロードキャストが開始されたかわかりません。
アイデア、ヒントはありますか?