マイペース庶民

マイペースで生きたい

「もんぐち社長」で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では検索結果がないときも、検索結果があっても表示すべきものがないときも検索結果がないような表示になる。
ポストされていないキーワードで検索した時もそうだし、ポストしているユーザーをミュート、ブロックしている場合もそうである。
また検索結果をスクロールするとさらに読み込まれるのだが、読み込み対象が非表示のみの場合、そこから先への読み込みもできなくなる。
「もんぐち社長」を検索しても最新タブに何も表示されないのは、こうした仕組みが影響しているのかもしれない。

検索の仕方を変えてみよう

キーワード + いいね数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 での挿入先でのカラムの指定はしておこうというそういう話。
そもそものレコードコピーからそうすべきな気もする。

「モバイルGmailから送信」を消す

スマホアプリからGmailを送信してて、勝手に署名ついてめんどいなと思ってた。

よくよく考えれば設定を編集すればあるよね。
Gmailアプリを起動 > メニュー > 設定 > モバイル署名
勿論署名を変えることもできる。
f:id:kino2nd:20150309002827p:plain

PCの方で探してて気づかなかった。
僕みたいな人が誰かしら気付けたら。

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