「もんぐち社長」でXを検索しても最新タブに何も表示されない件
追記
記事公開して2時間もしないうちに最新タブに表示されるようになった
あの検索結果の出なかった現象は一体なんだったんだ
承前
もんぐち社長という情報商材屋が自身のポストについて、疑義を呈したユーザーに開示請求からの損害賠償請求を行った。
だがその裁判では請求が認められないどころか、嘘をついていたことが明らかになった。
Xでもはてブでも話題になったので知っている人も多いだろう。はあちゅうのなりすまし訴訟を思い出してしまった。
https://note.com/mrmk0120/n/nc799db005fa4
概要
Xで「もんぐち社長」を検索しても話題タブには表示されるのに、最新タブに何も表示されない。
たまに何件か表示されるのだがしばらくするとまた検索結果が出なくなるのだ。
気になったので検索コマンドをいじって確認してみた。
自分用まとめ
返信が見えないけど以下の返信除外検索で見るのがよさそう
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20-filter%3Areplies&f=live
検索結果にカウントされるが、表示できない返信ポストが存在してそう。
Xの検索結果について
Xでは検索結果がないときも、検索結果があっても表示すべきものがないときも検索結果がないような表示になる。
ポストされていないキーワードで検索した時もそうだし、ポストしているユーザーをミュート、ブロックしている場合もそうである。
また検索結果をスクロールするとさらに読み込まれるのだが、読み込み対象が非表示のみの場合、そこから先への読み込みもできなくなる。
「もんぐち社長」を検索しても最新タブに何も表示されないのは、こうした仕組みが影響しているのかもしれない。
検索の仕方を変えてみよう
キーワードのみ
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7&f=live
→ 表示されない
キーワード + いいね数1以上
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20min_faves%3A1&f=live
→ 表示されさらに読み込みも可能
キーワード + 返信除外
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20-filter%3Areplies&f=live
→ 表示されさらに読み込みも可能
キーワード + リポスト
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20filter%3Anativeretweets&f=live
→ 表示されさらに読み込みも可能
キーワード + 返信
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20filter%3Areplies&f=live
→ 最新タブは表示されないが、話題タブには表示あり(3日前)
→ つまり3日前から今日までの間に表示できない返信ポストを初期表示数分以上ポストされている?
キーワード + いいね数1以上 + 返信
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20min_faves%3A1%20filter%3Areplies&f=live
→ 表示され、さらに読み込みも可能
キーワード + 日付指定(12/15以前)
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20until%3A2025-12-15&f=live
→ 最新タブは表示され、読み込みもできるが午前1:33のポストで読み込みが止まる
→ つまり午前1:33以降に表示できないポストが初期表示数分以上ポストされている?
キーワード + 日付指定(12/15以前) + 返信除外
https://x.com/search?q=%E3%82%82%E3%82%93%E3%81%90%E3%81%A1%E7%A4%BE%E9%95%B7%20until%3A2025-12-15%20-filter%3Areplies&f=live
→ 最新タブは表示され、読み込みもできる
→ 午前0:08のポストまで表示される
12/16の場合 午前3:24のポストで読み込みが止まり、返信を除外すると12/15 午後11:11のポストが表示される。
考察
表示されないポストが初期表示数分以上存在しているため、最新タブに何も表示されないのではないかと考えられる。
またそれは返信ポストである可能性が高い。
12/15については0:08~1:33の間に表示できないポストが読み込み数以上存在している。
12/16については前日23:11~3:24の間に表示できないポストが読み込み数以上存在している。
そもそも検索結果に表示できないポストが存在するなんてことあるのか?
似た挙動のキーワード
門口拓也
門口社長
SSMSのインストールに手間取った話
山の日なので、SSMS(SQL Server Manegement Studio)をインストールしていました。
マシンは数年前のLenovoのノートPC、OSはWindows10(更新したやつ)
インストールしてもこけます。
0x80070643 が出ました。残念です。エラーメッセージを見るとzh-Hansとか書いてあって、日本やねんけどと悲しい気持ちに。
エラーが起きているのはReport Viewerのインストールに失敗するからであることが、C:\Users\user_name\AppData\Local\Temp\SsmsSetup配下のログを見ることで分かりました。
依存パッケージがあるときに、そのインストールでこける場合には、事前にそのインストールを済ませることで、スキップされます。
てなわけで、SQL Server 2016 Feature Pack からReport Viewerを先にインストールしました。Report ViewerにもClrTypesと言う依存パッケージがあるので注意です。
その後のSSMSのインストールは無事済みました。良かった良かった。
SQL Server のVIEWのカラム定義を出力する
Management Studio から確認する、以上。
なんてめんどくさい。
以下のクエリはビュー名、カラム名、型、長を出力する。
where句を適当にいじって使う。
-- SQL SERVER 2008以降なら SELECT OBJ.name, COL.name, TYP.name, COL.max_length FROM sys.objects OBJ JOIN sys.columns COL ON OBJ.object_id = COL.object_id JOIN sys.types TYP ON COL.system_type_id = TYP.system_type_id WHERE OBJ.type = N'U' and OBJ.name like 'view_name' AND TYP.user_type_id <> 256 --sysnamesを除く ORDER BY OBJ.name, COL.column_id; -- それ以前なら SELECT OBJ.name, COL.name, TYP.name, COL.length FROM sysobjects OBJ JOIN syscolumns COL ON OBJ.id = COL.id JOIN systypes TYP ON COL.xtype = TYP.xtype WHERE OBJ.type = N'U' and OBJ.name like 'view_name' AND TYP.xusertype <> 256 --sysnamesを除く ORDER BY OBJ.name, COL.colid;
SQL ServerのVIEWにORDERを指定する
そもそもVIEWにORDERを指定することの是非は置いといて、SQL ServerのVIEWに順序を指定してみよう。
方法は2通り
-- 方法その1:TOP 100 PERCENT CREATE VIEW ordered_view AS SELECT TOP 100 PERCENT * FROM base_tbl ORDER BY col_1, col_2, col_3; -- 方法その2:OFFSET 0 ROWS CREATE VIEW ordered_view AS SELECT * FROM base_tbl ORDER BY col_1, col_2, col_3 OFFSET 0 ROWS;
ここからが重要
方法その1は
SQL SERVER 2000:利用可能
SQL SERVER 2005(2008):修正プログラム適用+トレースフラグ有効化+データベースの互換性レベル変更で利用可能
SQL SERVER 2012:利用不可
方法その2も
SQL SERVER 2012で利用可能なことは確認できるけど
いつか利用できなくなるんじゃないでしょうか。
OFFSET-FETCHも2012導入だし、修正入るだろうなと思います。
といかOFFSET-FETCHのおかげでページングが分かりやすくて捗る。
よくわからんでTOPを多用してたのが恥ずかしい。
参考リンク
DO’s&DONT’s #13: 絶対にやってはいけないこと - ORDER BY が指定されていないクエリの結果が一定の順番に並んでいると仮定すること - Microsoft SQL Server Japan Support Team Blog - Site Home - MSDN Blogs
[FIX] SQL Server 2008 で ORDER BY 句を使用したビューを使用してクエリを実行しても結果がランダムな順序で返される
OFFSET FETCH 句 (SQL Server Compact)
SQL Server のレコードコピーとIDENTITY_INSERT
SQL Serverでのテーブルコピーは
SELECT * INTO new_tbl FROM old_tbl;
レコードコピーは
INSERT INTO to_tbl SELECT * FROM from_tbl;
ところでSQL ServerではIDENTITYっていうもんがあって
IDENTITYを持つカラムに明示的に値を入れる場合には
SET IDENTITY_INSERT ON INSERT INTO target_tbl(***, ***, ***,,) VALUES (***, ***, ***,,); SET IDENTITY_INSERT OFF
とするのだが
IDENTITYのあるテーブルにレコードコピーする際
SET IDENTITY_INSERT ON INSERT INTO to_tbl SELECT * FROM from_tbl; SET IDENTITY_INSERT OFF
こんなんやると怒られる。
以下のように書き換える。
SET IDENTITY_INSERT ON INSERT INTO to_tbl(***, ***, ***,,) SELECT * FROM from_tbl; SET IDENTITY_INSERT OFF
INSERT INTO での挿入先でのカラムの指定はしておこうというそういう話。
そもそものレコードコピーからそうすべきな気もする。
PowerShell覚書(調査)
なんかいじりたいときに
- コマンド取得
Get-Command # 一覧
- エイリアス取得
Get-Alias # 一覧 Get-Alias ?? # 二文字のエイリアス Get-Alias -def Get* # 定義がGetから始まるエイリアス
- オブジェクト取得
(ls)[0].GetType() (date).GetType()
- メンバー取得
ls|Get-Member date|Get-Member -type Property
- プロパティ取得
ls | Select-Object Name,Length,IsReadOnly
- ソート
ls | Select-Object Name,Length | Sort-Object Length
- グルーピング
ls | Group-Object Extension
