2024年08月15日の日記

2024-08-15

anond:20240815215604

服を脱ぐと良い

より自然に近づける

anond:20240815215327

外に出ないのに恥ずかしいとか関係ないでしょ

スターの多い順にブコメを並び替える

FANZAの検索結果から熟女を除外するブックマークレット がうまく動いたので、気を良くしてはてなブックマークコメント欄スター数順にソートするブックマークレット作りました

作った動機は、「注目コメントに入りきれなかったちょっといいコメント」をサクサク探したいから。結果として建設コメント順位付けモデル無効化していますが、あのアルゴリズムには特に不満は特にありません。

ブックマークレット

javascript: (async () => {
const wait = ms => new Promise(resolve => setTimeout(resolve, ms));
document.querySelector('.js-bookmarks-sort-tab[data-sort="recent"]').click();
window.scrollTo(0, document.body.scrollHeight);
await wait(1000);
window.scrollTo(0, 0);
await wait(1000);
const p = document.querySelector('.js-bookmarks-recent');
let l = Array.from(p.querySelectorAll('.entry-comment-contents'));
const g = e => {
let n = e.querySelectorAll('.hatena-star-star').length;
const c = e.querySelector('.hatena-star-inner-count');
return c ? n + Number(c.textContent) : n
};
l = l.filter(e => g(e) > 0);
l.sort((a, b) => g(b) - g(a));
p.replaceChildren(...l);
})();

ミニファイしたものコードに一部誤りがありましたので訂正しました(2024-08-16 11:47)

javascript:(async()=>{const wait=ms=>new Promise(resolve=>setTimeout(resolve,ms));document.querySelector('.js-bookmarks-sort-tab[data-sort="recent"]').click();window.scrollTo(0,document.body.scrollHeight);await wait(1000);window.scrollTo(0,0);await wait(1000);const p=document.querySelector('.js-bookmarks-recent');let l=Array.from(p.querySelectorAll('.entry-comment-contents'));const g=e=>{let n=e.querySelectorAll('.hatena-star-star').length;const c=e.querySelector('.hatena-star-inner-count');return c?n+Number(c.textContent):n};l=l.filter(e=>g(e)>0);l.sort((a,b)=>g(b)-g(a));p.replaceChildren(...l)})()

使い方

FANZAの検索結果から熟女を除外するブックマークレット 参照

コード解説

コード説明にダサイところがあったら厳しく指摘して下さい。

javascript:

ブックマークレット必要な、URLの種類を示すスキーム名です。

(async () => {
// 処理
})();

ページに元々ある変数たちとバッティングしないように、まず無名関数ラップします。処理の中で await を使いたいので async 宣言しています

const wait = ms => new Promise(resolve => setTimeout(resolve, ms));

処理の途中で待ち時間を設けるための関数です。便利。

document.querySelector('.js-bookmarks-sort-tab[data-sort="recent"]').click();
window.scrollTo(0, document.body.scrollHeight);
await wait(1000);

「新着コメント」タブをクリックし、ページの一番下までスクロールダウンしてから少し待つ動作です。新着コメントの後半部分(スクロールきっかけの遅延読み込みになっているところ)の読み込みをうながしています

window.scrollTo(0, 0);
await wait(1000);

ページの先頭に戻ってまた少し待ちます。合計2秒の待ち時間雰囲気で決めていますので、これでなければならない・これで過不足ないという値ではありません。単にコメントの読み込み完了を判定する処理を書くのがめんどうだっただけです。

const p = document.querySelector('.js-bookmarks-recent');

新着ブコメの親要素です。繰り返し呼び出すので名前をつけています

let l = Array.from(p.querySelectorAll('.entry-comment-contents'));

コメントをすべて配列に格納します。

const g = e => {
let n = e.querySelectorAll('.hatena-star-star').length;
const c = e.querySelector('.hatena-star-inner-count');
return c ? n + Number(c.textContent) : n
};

コメントはてなスター数をカウントして返す関数です。たくさんスターがついてる ★256★ みたいなやつの数字も足します。

l = l.filter(e => g(e) > 0);

ソートする前に、無スターコメントを消去しています。してもしなくてもいいことですが。

l.sort((a, b) => g(b) - g(a));

残ったコメントスター数で降順ソートします。.querySelectorAll() で収集した要素を配列に入れ直したのは、この .sort() メソッドを使いたいからです(.querySelectorAll() が返す配列風の NodeList オブジェクトは、配列共通メソッドもいくつかあるものの、大半は使えないのです)。

p.replaceChildren(...l);

親要素の内容を、並び替えの終わったコメントそっくり入れ替えて、処理完了です。画面を見ると新着コメントの中身が「スターのついたコメントのみ・スターの多い順」に並んでいます。元に戻す方法はないので、原状回復にはリロードします。ソート状態を示すフラグを立てておいてスターソート⇔日付ソートをかわりばんこに行うようにすればできそうだなと思ったけど実装しません。連打スターを省く処理を追加してUU数でソートできればもっと厳正なランキングになるなーと今思いつきましたがそれも実装しません。

anond:20240815160832

VTuber二次元から卒業するための第一

もう少し頑張れば二次元文化から縁を切ってまともな人間になれる

anond:20240815213848

誠実な人々が一定数残っている理由は、いくつかの要因が考えられる。

まず、社会は多様な価値観ニーズ構成されているため、誠実さが求められる場面も多い。

誠実な人々は、信頼を築くことができ、それが長期的な関係成功につながることがあるのだ。

信頼はビジネス個人関係において重要資産であり、誠実さがそれを支える。

また、誠実さは個人内面的な満足感や倫理観に基づくものであり、他者との関係を豊かにする。

誠実な行動は、自己満足他者から尊敬を得ることにつながるため、誠実さを選ぶ人がいるのだ。

さらに、誠実な人々はコミュニティ社会の安定に貢献する。

誠実な行動は、他者との協力や共感を促進し、より良い社会を築く基盤となる。

社会全体が誠実さを評価する文化を持っている場合、誠実な人々が生き残りやすくなる。

最後に、誠実さは個人幸福感や精神的な健康にも寄与する。

誠実であることは、自己矛盾を避け、心の平和をもたらすことができるため、誠実な生き方を選ぶ人がいるのだ。

今年まだ一回も冷やかし中華食べてないなあ

一回くらいは食べたいね

anond:20240815215231

ユニクロとか恥ずかしくて1回も着られないw

anond:20240815201033

女子高校生だったんだな

どんな高校でどういう学生生活だったんだろ

anond:20240815214502

トロフィーと言うとお飾りなだけで役に立たなそうだからAEDハズバンドとか酸素ボンベハズバンドのほうが。生きることが目的だし

anond:20240815214942

それはまるで、「汚い奴が勝つ=戦争」っていう公式を作っちゃってるみたいだな。

かに歴史を振り返れば、権力争いは戦争に発展することもあるが、全てがそうなるわけじゃないだろう。

世の中には汚い手を使わず成功する人もいるんだぜ。

戦争が起きたから誠実になったって、なんだか因果関係が逆転しているような気がするな。

平和を望むからこそ誠実になるのはわかるが、戦争が誠実さを生むって、ちょっと飛躍しすぎじゃないか

戦争悲惨な結果をもたらすことが多いから、むしろそれを避けるために誠実であるべきだと思うんだが。

anond:20240815213848

汚いやつが勝ち上がるシステムは、突き詰めれば戦争になる

戦争が起きて、もっと平和社会がいいと望んだから誠実になった

東京はいつも災害になる前から大騒ぎ

結局たいした被害もない

うんざりする

anond:20240815214502

実は女の方が男を人間だとは思ってないからね

anond:20240815214423

いや教育なんかなくても楽しめるからサブカルなんだけど

ログイン ユーザー登録
ようこそ ゲスト さん