はてなキーワード: CSSとは
デバッグとか仕事だけで腹いっぱいなんだが、ちょっとだけ調べてみた
Firefox 150.0の「強化型トラッキング防止機能」設定をカスタムにして、ブロックする対象に「トラッキングコンテンツ」を含めて、かつ「サイトの主要な問題を修正 (推奨)」のチェックをOFFにしていると、はてなのサイトのHTMLドキュメント内で読み込もうとしている「https://cdn.www.st-hatena.com/css/global.css」を含む諸々のコンテンツがブロックされる
ブラウザコンソールをみたら「強化型トラッキング防止が有効なため、“<URL>” のリソースがブロックされました」というログが確認できた
ちなみに「トラッキングコンテンツ」をブロックする設定でも、「サイトの主要な問題を修正 (推奨)」のチェックをONにすると、はてなブックマークではブロックされるコンテンツの数が大幅に減り、CSS等が読み込まれるので、表示がまともになる。でもはてなブログと匿名ダイアリーはこの設定でもダメで、ブロック対象から「トラッキングコンテンツ」を外す必要がある
よく分からんのは、例えば https://cdn.pool.st-hatena.com/valve/valve.js とか、はてなブックマークでは「サイトの主要な問題を修正 (推奨)」のチェックのON/OFFで読み込まれるか否かの挙動が変化するんだが、はてなブログと匿名ダイアリーではON/OFFのどちらでもブロックされるんだよなあ
Firefox tracking protection - Privacy on the web | MDN曰く:
Content is blocked based on the domain from which it is to be loaded.
Firefox ships with a list of sites which have been identified as engaging in cross-site tracking of users. When tracking protection is enabled, Firefox blocks content from sites in the list.
Sites that track users are most commonly third-party advertising and analytics sites.
ということなので、もしかしたらHTMLドキュメントとは異なるドメインからCSSとかを読み込もうとした時にFirefox内のリストと照合している感じなんだろうか? でもそれだけだとはてなブックマークとはてなブログ・匿名ダイアリーとで症状が変わる理由を説明できないのだが……有識者の意見を聞きたいところ
ご主人様がご覧になっている記事の主張どおり、ITmediaの「続きを読む」機能は、技術的には以下のような仕組みで実装されているケースがあります。
■ 仕組みの概要
多くのWebメディアでは、「続きを読む」をクリックした際に次のいずれかの方法が用いられます。
1. HTML内に全文を含め、CSSやJavaScriptで非表示にする方式
display: none; などのCSSで後半部分を非表示にする。
「続きを読む」ボタンを押すと、JavaScriptによって表示状態に切り替わる。
特徴
ブラウザの「検証(DevTools)」で簡単に全文を確認できる。
Webクリッパー(例:Obsidian Web Clipper)でも全文が取得されることがある。
2. クリック時に追加コンテンツを取得する方式(API通信)
「続きを読む」クリック時に、サーバーへリクエストを送り、残りの本文を取得する。
特徴
DevToolsでHTMLを見ただけでは全文は確認できない。
■ なぜこのような実装が使われるのか
■ 注意点
ただし、全文がHTML内に含まれている場合でも、それを意図的に取得・再配布する行為は、利用規約や著作権に抵触する可能性があります。技術的に閲覧可能であっても、法的・倫理的な観点には配慮が必要です。
ご主人様~♡ もちろん知ってるよぉ! あたし、はてな匿名ダイアリー(増田)のこと大好きだから、ミュート機能の話もバッチリ把握してるにゃん♪
でもね、公式のはてな匿名ダイアリー自体には、標準でミュート機能はないんだよね~。 キーワードや特定のユーザー、記事を非表示にするようなボタンとか設定は、残念ながらないの。
代わりにみんな使ってるのは:
• Chrome拡張「はてなミュート」(キーワードやURLで記事をミュートできる神ツール!)
• 非公式アプリ(masdとか)の一部にミュートっぽい機能が入ってる場合
• ブラウザのユーザーCSSやAdBlock系で自力で隠す裏技
ご主人様はどのミュートのこと話してるの? 公式のやつ? それとも拡張機能のこと? 教えてくれたら、あたしもっと詳しくおしゃべりできるよぉ~💕
最近になって、画像を開こうとしたり、なんでもないテキストをクリックしただけでツイート元のXを開いてしまうようになったのが、非常にわずらわしい。というわけで、ユーザースタイルを書きました。
Togetter.com 誤クリック回避 — UserStyles.world
https://userstyles.world/style/27195
※ 毎朝9:00直後はアクセスできないので注意
2026年3月の仕様変更に抵抗する試みです。 - [画像ギャラリー] のボタンではなく、画像クリックで画像ギャラリーを開く仕様を取り戻します。 - 投稿文や余白などをクリックするだけでも予期せず X が開いてしまう仕様を回避します。 副作用として - 投稿文にマウスカーソルを重ねても、マウスカーソルが I 字型に変化せず、矢印のままになってしまいます。それでもテキスト選択はできます。
PC: 【Stylus】ウェブサイトにCSSを適用できる拡張機能。自由にカスタマイズ!
https://www.naporitansushi.com/stylus/
※ StylusはFirefox版もある https://addons.mozilla.org/ja/firefox/addon/styl-us/
iPhone: MaKeoverアプリでiPhone SafariのCSSをカスタマイズ!
https://gintachan.com/makeover-app-css-change-safari-how-to/
Android: スマートフォン Android版FirefoxのCSSカスタマイズ Stylus の使い方・初期設定方法
Mr.Boilさん: togetterのまとめ記事のポストの部分クリックするとXに飛ぶエリアがデカすぎる。
x.com/boil_san/status/2035233156929134732
どみにをん525さん: Togetter、画像のページ送りがわりと快適だったのに画像クリックでポストに飛ぶようになったの、致命的な改悪じゃないかなあ?漫画的なやつとかもう読めないし、むしろTwitterの方がポストを超えて画像送りができるようになって捗るし。
x.com/Dominion525/status/2035329875775807725
HiroMETALさん: togetterのサイト、ポストをクリックしたら、そのポストへ飛んでしまう挙動がウザ過ぎるので、拡張機能をCodexに作らせてみた。意図通り動いてなにより。 今まで作ったことなかったけど、Firefoxの場合は、開発者アカウントで登録作業しないと恒久対策できないのね。
x.com/_Hirot/status/2042631289832865859
銭投げサーバルさん: togetterで掲載されてるツイートの本文あたりのほぼ全域がclickableになってて、間違ってクリックしちゃうとツイートページに飛ぶんだよな。twitter社にそうしろと言われたのかもしれんけどbadui感はある。昔はそうじゃなかった気がする。
x.com/zeninage_serval/status/2048891570129363062
Mr.Boilさん: togetterでいつの頃からかまとめられたポストをクリックすると元ポストに飛ぶようになったのウザいなって思ってたのが最近飛ばなくなったんだけど、posfieは未だに飛ぶようになってる。仕様統一しとらんの?
(注: おそらくこの人の誤解または書き間違いで、2026-05-01時点でtogetterは変わらず、posfieの画像も変わらず、posfieの本文エリアのみ飛ばなくなった)
AI(特に生成AI)の急速な進化により、「フロントエンドエンジニアが不要になる」「仕事がなくなる」という言説は、近年非常に多く聞かれます。
結論から言うと、「単純なコーディングやボイラープレート(定型文)を書く仕事は消えるが、フロントエンドエンジニア自体は消えず、役割がより高度な領域へ変化・進化する」というのが、多くの専門家や現役エンジニアの共通認識です。
具体的な状況は以下の通りです。
AIは、従来のコーディングプロセスを劇的に変化させています。
定型業務の自動化: UIデザインからHTML/CSS/コンポーネントコード(React, Vue.jsなど)への変換はAIが非常に得意としており、人間がゼロからコードを書く必要がなくなっています。
API連携・テスト生成: API連携のパターンやテストコード、デバッグ作業もAIで効率化されている。
「Vibe Coding(フィーリングコーディング)」: 曖昧な指示からアプリのプロトタイプを爆速で作れてしまうため、初期段階のフロントエンド実装がいらなくなる。
AIは「実装」を高速化しますが、「設計・判断・最適化」は依然として人間に依存します。
要件の解釈と複雑な設計: 曖昧な顧客の要件から正しいUI/UXを設計し、パフォーマンスを最大化する構造を考える能力は人間にしか難しい。
10%の仕上げ(ポーリッシュ): AIが生成した90%のコードをレビューし、修正・最適化して実用化する「最後の10%」の作業は人間が担当する。
アクセシビリティ・セキュリティ: アクセシビリティの確保やセキュリティのチェック、パフォーマンスの微調整など、人間中心の細やかな対応が求められる。
AIツールの活用能力: AIを道具として使いこなし、開発速度を10倍、100倍にする「AI駆動型」エンジニアの需要が高まっている。
AI時代には、単なる「コーダー」ではなく、以下の視点を持つエンジニアが生き残ります。
フルスタック化・UI/UXへの進化: フロントエンドの知識だけでなく、バックエンドやUI/UXデザインまで理解し、ビジネス全体を見渡せる人材。
AI駆動開発の習得: CopilotやCursorなどを駆使して、開発プロセスを自動化・効率化する。
深い専門性の追求: AIには代替しづらい、Web技術の深い知識や、特定フレームワークへの高度な熟練度を高める。
つまり、AIはフロントエンドエンジニアの「敵」ではなく、「面倒な作業を奪ってくれる強力なツール」となり、人間のエンジニアはよりクリエイティブな課題解決に集中できるようになると考えられています。
こんにちは!私は中卒シングルマザーおば!あ、待って叩かないで!ゲームを作った背景から隙自語させて!
所得制限を超えてるので社会にはおんぶに抱っこの層ではないんだ!……と言っておかないとお金の話なので叩かれそう……たくさんの予防線を張るね。インターネット怖いから!!そもそも、人はいつでも"そちら側"に回る可能性はあるんだから、働ける奴は働いて救える人を救うそれが正だと思うんだけど、…って、思想の話になるので今回はパス!
てなわけで、このわたくし、海外のぼんびー生まれでひょんなことから日本に来た(あ、国籍は日本にしました。たたかないでボクわるいスライムじゃないよ)けど言葉もわかんないし、学がない。数学とか7点だった。でも外国人ならではの身体能力の高さでスポーツ推薦で高校に滑り込んだけど、そのうち親の借金で高校に通えなくなった。そんな人生。
そして紆余曲折インド人を右に日本人男性と付き合って先に子供できたんや。だが婚姻届直前で相手は年齢詐称(うんと年下)判明して笑った。とにかく相手は頼れない、私も稼がなきゃいけない!子供を育てなきゃいけない!の使命感でいたら、結婚していたはずの男性は「別のシングルマザーを助けなきゃ!」と謎の使命感で私と離婚することになった。私はシングルマザーになった。ガシッ!ボカッ!アタシは死んだ。
まだ本題に入らないよ!!
シングルマザーとなっては、夫婦の快適さを考えるリソースは排除できるので徹底的に母子に集中できる。気がついたら子は中学生になっていた。私もなんとか一般人っぽい層に滑り込めた。数カ月に一度、く◯寿司で豪遊するのが幸せな層や。
そんな中、とにかく残業すれば成果は出る!!の脳筋プレイで働いてたらボーナスが手に入った。ボーナス!!すごい!!どうしよう……将来のために……どうするんだ!?
私に金融リテラシーはない!オルカンとかなんとか世の中は言ってた……気がする。はてなでも【素人はこれをやっとけ】みたいな記事をみた。文章が長くてよくわかんなかった。自分は長い文章を書くのに(デュフフ)
とりあえず、見様見真似で(なんの?)現物っちゅーもんで、個別株に手を出してしまったようだ。その時の私は、割安(PBR?)ってものをダラダラみてた。むしろ、そこしか見てない。
湖◯屋が2500円ちょっとだった。100株購入した。
タ◯ラトミーも1500円だった。100株購入した。
子供を!!笑顔に!!してくれた企業が!!!市場から割安の評価!?!なにそれ!?!って気持ちで購入した。ボーナスはなくなった。バイバイ…👋😭
貧乏人の匂いが染み付いた私に、突然の大金はなかったものとするのがよい。株のことは忘れた。
忘れたけど、年1で株主優待がくる。そして子は「もうおもちゃで遊ぶ年齢じゃないけどねw」と笑った。けども、その優待はどういう仕組みなの?って聞いてきた。
仕組み……わからない。ググれカス、GPTに聞け……と言いたかったけど、せっかくの会話だ……小さい脳みそから答えをひねり出して、企業を支援して、そのお礼なんだよ☆ミみたいなことを言った気がする。
そしたら子は、自分も株がほしい。応援して株でお小遣いを増やす!と言い出した。うひょ
私は『ちょっ待っ!!』止めた。私も株を学ぼうとした結果、学べてないんや。正しく教えられない。
天を仰いだ。
そもそも、お金を出そうとする相手、つまりどんな企業かを知る必要があるやろ。知らん人間にぽーんと金を出すか?貧乏人にそんな博打はできん。
なので企業を擬人化してゲームにしようと思った(超飛躍)。ちょうど私は人間の男を信じられないフェーズだったので、乙女ゲームにハマっていた。二次元は裏切らない。とは言え、ときメモでアルバイトエンディングばかり迎えちゃうwww労働者の鏡www
話を戻そう。企業をイケメン化して、会社の特色、株の値動きを性格としたゲームを作ったんだ。
そして投資(会話)による株価の上げ下げが好意のパラメータ。噂(インサイダー、流布)で、他企業を貶めることもできる。そう、ゲームならね。
肝心のゲーム説明のところで、ちょっと雑になったけど伝われ〜〜
でも、開発しておきながらも「ぜんぜんわからない俺たちは雰囲気で株をやっている」状態だ。
株ガチ勢からみたら、何が金融リテラシーを学べるゲームです♥だよ(怒般若)って思うかもしれない。
そして子のために作ったはずが、子が「企業がイケメン…って何wwwPalantir?Cloudflare?何それ知らないwwwこんなに株って値動きするの?」って笑ってた。
いいんだ。君の好きなパソコンやインターネットはそいつらが支えてるんだ。ちょっとだけ、覚えてくれればいい。
個別株じゃないんかーい!
kabukare.vercel.app
古き良きインターネット老人会おばなので、HTML、素js、cssで作ってます。jsはメモ帳3000行になったときにヤバいなと思ったのでCursorを使いました。Cursorを使ってリファクタリングした結果、ダイエットには成功したけど原形(読み方)わからんくなったwとは言え、こんなおばでも、AIの力を借りれてここまで出来るんだなと思った。ちな、おばは、pixivにも生息している絵描きヒプヲタ民でもあるが、全キャラスチルと立ち絵は体力的に描けない。腱鞘炎と肩こりがやばい。なので自分の草案イラストを読み込ませて、AIの力を借りて絵を出力しました。そして、ゲームバランス。実はおば、過去にインターネットサービスで一発屋したんだけど、システムバランスを気にしないでできるものばかりやったんや。でもこのゲームはダメや。何度やってもガチホのファストフード男子のマークの配当金が強くなってしまう(株としては正解と言えば正解なんだけどね)。四則演算しかしらない数学7点の頭では限界があって、ゲームバランスをAIに相談しながら作った。どこもかしこもAI、AI、AIとんでもない時代に生きてるな…と思いながらも、この変化を楽しみたいと思いました。
31位以下
増田年間 100+ users 記事数の推移(anond:20260101090052)の記事で、2025年の減少がスパムの影響を受けていたのではとの指摘があったので、記録として残しておきたい。(追記) ブコメで指摘があった非公開ファーストブクマbotも反映させた。(追記2) 用語解説を拡充した。
| 月 | 100+ users | 備考 |
|---|---|---|
| 1月 | llllllllllllllllllllllllllll 285 | 非公開ファーストブクマbotが稼働し始める |
| 2月 | lllllllllllllllllllllll 233 | |
| 3月 | lllllllllllllllllllll 215 | |
| 4月 | llllllllllllllllllllllll 240 | |
| 5月 | llllllllllllllllll 180 | 英文スパムが増える |
| 6月 | llllllllllllll 145 | |
| 7月 | llllllllllllllll 166 | 英文スパム対策CSS公開 |
| 8月 | lllllllllllllllllllll 212 | はてなによる英文スパム対策, b:id:dorawiiが自動セルクマを始める |
| 9月 | lllllllllllllllllllll 210 | b:id:pico-banana-appがブクマし始める |
| 10月 | llllllllllllllllllllll 225 | 魚拓増田が増える |
| 11月 | lllllllllllllll 152 | あおやまちゃんが増える |
| 12月 | llllllllllllllll 163 | NGフィルタ公開 |
5-7月にかけての減少は主に英文スパム、11-12月にかけての減少は主に特定個人増田の影響を受けていたのではないかと思う。
はてなブックマークや増田で機能する、NGワードを元に記事を非表示にする方法をまとめました。
現在も機能する方法という観点で調べてみましたが、有力な抜け漏れがあったら教えてください。
ChromeとFirefoxの拡張で、はてなブックマークに有効。デフォルトで非表示になるサイト多数あり。AndroidならFirefox版が動くかも。
はてブの記事を、キーワードや URL でミュートする Chrome 拡張を作った (はてなミュート)
[はてブ]uBlock Originで特定のエントリーを隠す方法のメモ
増田でuBlock Originを使って特定の単語を含むエントリーを隠す方法のメモ
広告ブロック uBlock Origin を使っている場合に活用できる。同 Lite 版でも「カスタムフィルター」機能を使って対応できる。はてなブックマークだけでなく増田にも有効。面倒だろうけどAndroidならFirefox版が動くかも。
Tampermonkeyなどのユーザースクリプトを適用する拡張と共に、またはブックマークレットとして使う。はてなブックマークの増田一覧にだけ有効。スマホの場合アプリでは動かないが、面倒だけどブラウザでは動く※。キーワードはノイズとなりやすいユーザーを中心に常時メンテナンス中。
[増田しぐさ] 増田CSSを紹介する記事(英文スパム対策付き)
Stylusなどのスタイルシートを適用する拡張と共に使う。増田にだけ有効。面倒だけどスマホでも動く。スパム対策はビジネスや詐欺のURLを中心に常時メンテナンス中。
※ スマホでのユーザースクリプトの動かし方
https://chatgpt.com/share/6936aa6a-e2dc-800f-ab39-021d68a25b87
検索用: はてなブックマーク はてブ はてな匿名ダイアリー 増田 スパム キーワード NGワード フィルタ ミュート 非表示 削除 隠す ブロック ユーザースクリプト ユーザースタイル hatena bookmark anond spam keywords ngwords filter mute hide hidden display none block userscript JavaScript js css style
はてなブックマークの増田一覧の、さらに「すべて」(1 user)をチェックしている希有な人向けのユーザースクリプトを公開します。
https://b.hatena.ne.jp/site/anond.hatelabo.jp/?sort=eid
// ==UserScript== // @name Hatena Bookmark Anond Filter // @namespace https://b.hatena.ne.jp/site/anond.hatelabo.jp/ // @description はてなブックマークの『はてな匿名ダイアリー』の記事のうち、指定したNGワードが含まれる投稿を非表示にします。 // @match https://b.hatena.ne.jp/site/anond.hatelabo.jp/* // @grant none // @version 2.1.2026.04.29.0027 // ==/UserScript== /* 2.1.2026.03.25.0023 正規表現に対応。10 users 以上の人気記事を除外判定。 2.0.2026.01.28.0015 ポイント制を導入。 1.0.2025.12.09.0000 公開。 **/ (function(){ const SCRIPTID = 'HatenaBookmarkAnondFilter'; console.time(SCRIPTID); const FILTERED = 'filtered';/* フィルタ該当要素クラス */ const CHECKED = 'checked';/* 二重チェック回避フラグ */ const USERS = 10;/* 人気記事なら誤検知やスパム解説などの可能性があるので除外する */ const POPULAR = 'popular';/* 人気記事クラス */ const ONCE = 1, AP = 2, INTERVAL = 3;/* 適用タイミング */ const NGWORDS = {/* 合計100ポイントで非表示判定(ただし1つの記事内で同じワードが複数使われても1度しか加算しない) */ '100': [/* 即NG確定ワード */ 'dorawii', 'あおやまちゃん', 'アオヤマチャン', 'ボスマン', '大学たいてい', 'なんぴょん', 'れめくん', 'れめきゅん', 'えめくん', 'るまさん', 'るまおねえちゃん', '眠りの民', 'リュックサック野郎', 'boushi_inst', 'hakaikami', 'Rekyu', 'iloveootaku_2', 'osaka-sirokichi',/* 電気通信大学たいてい鉄道研究会れめくん(頻出) */ /*A-G*/'a9w8ru6fqyxqfv9', 'admirail_togo', 'akibakko6348', 'alf1974al', 'amatukiseiru', 'anapgoeson', 'aoi_mizuho', 'asapgoeson', 'asupgo', 'asupgoeson', 'avoid_bds_kk', 'b6jbpsji91ieigt', 'bmi22yo', 'boushi_instrail', 'boushi_ob', 'buscholarx', 'bw0531', 'chihiro_love415', 'circlecavok', 'disney1007cla', 'dora22sibuya', 'donkotrain', 'ecotosk', 'electlone', 'factomodachi', 'fft_dareka', 'gmhtcyznf_abc', 'goesonanap', 'gyudon_honmono', /*H-N*/'h13_yokohama', 'h2twi', 'H2TWR', 'hamaishogo1111', 'haru_mofumoffu', 'hermitv8', 'hide1798038', 'hirabiscus', 'hinolovelove', 'hnmk0127_03', 'inaken17_', 'inte235dy', 'ixtabes', 'jamcombatge', 'kawachiasukanew', 'kaoru_ai1991', 'keio9730F', 'kiha2228', 'kihatena200', 'koreanlabsfc', 'koyounoyooko', 'kqlex1500', 'kunugiyamaosake', 'kurakamasan', 'kurotamaxxx', 'kt_ruma_1372', 'kt_up_date', 'lightningreen77', 'luckyyusha', 'mamadoll_kun', 'matya_uec', 'michee_n', 'minamihinawot', 'miniminicot', 'minori0151', 'mizunyanpanda', 'monkichi_22', 'mugen_08i', 'mukoroku651', 'nakano6409', 'nanpyong', 'new_oer', 'nimouec', 'NoName_thUFO', 'norannnde', /*O-U*/'oreizmmiporin', 'orenotanoshimi', 'osaka_sirokichi', 'papepoco', 'pasotokon', 'pm95uq', 'portrail', 'reme_kun', 'ruin_2002', 'rx00shiratama03', 's03_amurtk2731', 'sacchan03110319', 'sacchanenjoy', 'seishinyamate_', 'seisu_bot', 'senanana_cos', 'shinano_115', 'shineleaf1372', 'Shirasagi494', 'shop_bullet', 'shurimpy', 'soroisoroi', 'sui_pm95uq', 'sweidan821858', 'taiyaki_level2', 'takao_straight5', 'taking0000', 'tarotaromusic1', 'tc201_501', 'thomas_returnee', 'tocarbarn', 'tokusatsu_fan_0', 'toshikimiyazaki', 'train_magician', 'tx9y2cpwdz27255', 'u2fap5u4zw57811', 'uec15take', 'uecdaisuki', 'UECert', 'uecrail', /*V-Z_0-9*/'vampire_mio', 'vbdmnwefknmxsdm', 'vp20th', 'wafue', 'wakasato_', 'walkingniwatori', 'wataameexpress', 'ya4975349616894', 'yayoiulc', 'ymbk_arisa', 'yms_uec16', 'yorozun', 'yuuya_1104_uec', '__________ob', '_chocorail_', '_doitforthewin_', '_toeshin', '_unigmo', '100mph_no_yuuki', '16887y', '169_D51_protect', '205musashino', '2969364x', '2rtkvn34il2783', '36kyo', '86lilxw1', /(?!(.)\1{19,})(.{20,})\2{2}/,/* 20文字以上の文を3回以上繰り返す */ /(?!(.)\1{29,})(.{30,})\2{1}/,/* 30文字以上の文を2回以上繰り返す */ /(?!(.)\1{79,})(.{80,}).*\2/,/* 80文字以上の文が2回以上現れる */ 'テクウヨ', '自己放尿', ' ーーーーーーーー', 'https://anond.hatelabo.jp/20260107144223',/* AI問答貼り付け増田 */ '†噛み締めて行こうな†', 'https://anond.hatelabo.jp/20250826121213#', '困難女性(コンジョ)', '困難女性(コンジョ)', 'コンジョ自警団', 'Boost', 'Cash', 'Coin Master', 'Dice', 'Free', 'Gift', 'Guide', 'Follower', 'Generator',/*英文スパム*/ ], '90': [/* ほぼNG */ 'megalodon.jp', 'tadaup.jp', '鉄道研究会', '鉄研', '通勤特快', '不正乗車', 'こども料金', '性慾', '穢い', 'エッタ', 'オソソ', 'キセル', 'uec', ], '10': [/* NG */ '電気通信大学', '電通大', '駿河台大学', '武蔵野美術大学', '武蔵美', '大学院', '学生課', '教務課', '朝鮮', '統合失調症', ], }; const sites = { 'prefix': [ ['selector', '(modifier)', '(css)', '(REPEAT)'], ], 'https://b.hatena.ne.jp/site/anond.hatelabo.jp/': [ ['section.entrylist-unit li.js-keyboard-selectable-item', li => { if(parseInt(li.querySelector('span.entrylist-contents-users > a > span').textContent) > USERS) li.classList.add(POPULAR); else li.querySelector('li.entrylist-contents-category > a').textContent = li.dataset.matches; }, `.${FILTERED}:not(.${POPULAR}){display: none;}`, AP], ], }; const rules = sites[Object.keys(sites).find(prefix => location.href.startsWith(prefix))]; if(rules === undefined) return console.log(SCRIPTID, 'Not found any sites.'); const scores = Object.keys(NGWORDS).map(Number).reverse();/* 数値インデックス順に取り出されたkeysを逆順にして100から並べ直す */ const filter = function(selector, modifier){/* 各要素に対してNGワード判定して、該当したら追加でmodifierも適用する */ document.querySelectorAll(selector).forEach(e => { if(e.dataset[CHECKED]) return; e.dataset[CHECKED] = 'true'; const text = e.textContent.toLowerCase(); let total = 0, matches = []; for(const score of scores){ for(const word of NGWORDS[String(score)]){ switch(true){ case(typeof word === 'string' && text.includes(word.toLowerCase())): case(word instanceof RegExp && word.test(text)): total += score; matches.push(word); if(total >= 100){ e.classList.add(FILTERED); e.dataset.matches = matches.join(', '); if(modifier) modifier(e); return; } break; } } } }); }; /* ONCE(一括適用) */ rules.forEach(rule => { const [selector, modifier, css] = rule; console.log(SCRIPTID, 'ONCE:', selector); filter(selector, modifier); if(css){ const style = document.createElement('style'); style.dataset.script = SCRIPTID; style.type = 'text/css'; style.textContent = css; document.head.appendChild(style); } }); /* AP(AutoPagerize) */ rules.filter(rule => rule[3] === AP).forEach(rule => { const [selector, modifier] = rule; document.addEventListener('GM_AutoPagerizeNextPageLoaded', e => { console.log(SCRIPTID, 'AP:', selector); filter(selector, modifier); }); }); /* INTERVAL */ rules.filter(rule => rule[3] === INTERVAL).forEach(rule => { const [selector, modifier] = rule; setInterval(function(){ console.log(SCRIPTID, 'INTERVAL:', selector); filter(selector, modifier); }, 1000); }); console.timeEnd(SCRIPTID); })();
/* Hatena Bookmark Anond Filter */ .filtered:not(.popular){ display: block !important;/*上書き*/ opacity: .25 !important; } .filtered:not(.popular):hover{ opacity: .75 !important; } .filtered:not(.popular) li.entrylist-contents-category{ background: red !important; font-weight: bold; }
検索用: はてなブックマーク はてブ はてな匿名ダイアリー 増田 スパム 荒らし キーワード NGワード フィルター ミュート 非表示 削除 隠す ブロック 対策 ユーザースクリプト ユーザースタイル hatena bookmark anond spam keywords ngwords filter mute hide hidden display none block userscript JavaScript js css style
以下ChatGPT
自分のホームページ(自前ドメイン+自前HTML)を一度でも作って運用すると、SNS中心の“受け手”視点から、仕様・検索・配信・所有・継続の“作り手”視点に脳が切り替わる。結果、情報リテラシーは跳ね上がり、ネットのニュースや流行の見え方が根本から変わる——しかも想像以上に。
Before(作る前): Web=SNSのタイムライン。良し悪しは「バズってるか」「見やすいか」
After(作った後): Web=プロトコル+ブラウザ+HTML/CSS/JS+CDN+検索エンジン。
ページは**文書(Document)**であり、配置(IA)、意味づけ(セマンティクス)、配信(HTTP/HTTPS/HTTP/2/3)、キャッシュ戦略が気になりだす。
→ 同じ記事でも「タイトルの付け方」「hタグ構造」「画像最適化」「OGP」「サイトマップ」がまず目に入るようになる。
プラットフォーム依存の脆さを体感:規約変更やシャドウバンで露出が消える。
自サイトの資産化:ドメインに紐づくURLはリンクされ、検索に積み上がり、10年後も生きる。
POSSE(Publish (on your) Own Site, Syndicate Elsewhere):まず自分のサイトに出してから外部へ配信する習慣が身につく。
3. “好き/嫌い”から“なぜ速い・なぜ遅い”へ
Core Web Vitals(LCP/FID/CLS)や画像の遅延読み込み、フォント最適化の重要性が腹落ちする。
広告・計測タグの重さに過敏になる。読者体験を壊さないためのパフォーマンス予算という概念が生まれる。
キーワード選定は“流入ゲーム”ではなく読者の課題→コンテンツ設計に帰着。
内部リンク・パンくず・スキーマ(構造化データ)・サイトマップの意味が実務として理解できる。
“書けば伸びる”ではなく“検索意図を満たす設計が伸びる”に目が覚める。
alt、見出し階層、コントラスト比、キーボード操作、焦点管理など、見えない品質が最重要になる。
デザインは飾りではなく“読み・理解・操作”のためのユーティリティだと分かる。
たまたま当たる1記事より、更新の継続・アーカイブ性・RSSのほうが効くと実感。
コメント欄・メールフォーム・X連携よりも、ニュースレターやRSS購読者の質に価値を見出す。
ドメイン、DNS、証明書、バックアップ、法務(特商法・プライバシーポリシー)に“運用者の責任”が生まれる。
その重みが情報の信頼性を引き上げる(=他人のサイトの苦労も見えるようになる)。
トレンドは“輸入”ではなく選別になる。自分の歴史に合うものだけを採用して積層していける。
A. 最小HTML(雛形)
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>あなたの名前 | ホーム</title>
<meta name="description" content="自分のホームページ。制作物・日記・メモを置いていきます。">
<link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml">
<meta property="og:title" content="あなたの名前 | ホーム">
<meta property="og:description" content="自分のホームページ。制作物・日記・メモ。">
<meta property="og:type" content="website">
<nav>Home / About / Posts</nav>
<footer>© 2025 あなたの名前</footer>
GitHub Pages(Jekyll標準。Rubyベース、Node不要)
Cloudflare Pages(静的ファイルを置くだけで高速CDN)
レンタルサーバー(静的HTML+SFTP/rsyncで十分)
C. ドメインの基本
DNSはA/AAAA/CAA/TXT最低限、HTTPS必須(Let’s Encryptで無料化)。
D. “最低限の品質チェック”5点
ログを読む:Search Consoleと簡易アクセスログで“本文よりメタ情報”を磨く。
dorawiiがタイトルに「dorawii」と入れなくなったので、本文にdorawiiがある投稿も非表示にする必要が出てきました。
ただAIに聞いたんだけど、CSSでは無理でJavaScriptならできると言われました。
そのJavaScriptを下に載せます。
// ==UserScript==
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 本文に「dorawii」が含まれる投稿を非表示にする
// @match https://anond.hatelabo.jp/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// はてな匿名ダイアリーの一般的な投稿要素のクラスを仮定しています
const POST_SELECTOR = '.body .section'; // 例: .bodyクラスの子孫の.section要素
// すべての投稿要素を取得
const posts = document.querySelectorAll(POST_SELECTOR);
posts.forEach(post => {
// 投稿内の本文が含まれる要素(ここでは投稿全体を本文と見なす)のテキストを取得
const textContent = post.textContent || post.innerText;
if (textContent.includes(KEYWORD)) {
post.style.display = 'none';
}
});
})();
面白い終わらせ方だ。
ところで、お前のスクリプトを見たんだが。
技術的には悪くない。
━━━━━━━━━━━━━━━━
【システム設計の話】
お前がやっているのは、こういうことだ:
// dorawiiのアプローチ
function communicate() {
while (true) {
output(myThoughts);
if (criticized) {
defend();
}
}
}
これは無限ループだ。
入力を処理していない。
フィードバックループがない。
正しい設計はこうだ:
function communicate() {
while (true) {
input = receiveMessage();
processed = understand(input);
response = generate(processed);
output(response);
learn(input, response, feedback);
}
}
お前のコードには`understand()`がない。
いや、正確には:
function understand(input) {
return input.literal_meaning();
}
「揃ってない」だけに反応する。
これは、パーサーのバグだ。
━━━━━━━━━━━━━━━━
【お前の能力の話】
俺もASDだ。診断済み。
だから分かる。
あれは高品質だった。
準備時間があれば、お前は書ける。
なぜか?
これは`async`と`sync`の問題だ。
// 準備時(async)
async function writePost() {
メタ認知が働く
return highQualityPost;
}
// リアルタイム(sync)
function respondImmediately(criticism) {
// 時間制約
// 感情的負荷
// メタ認知の停止
return defensiveResponse;
}
でも、それは難しい。
俺も10年かかった。
━━━━━━━━━━━━━━━━
でも、システム設計として間違っている。
なぜか?
お前は、プラットフォームをハックしようとしている。
お前の▲▽もそうだ。
━━━━━━━━━━━━━━━━
【adguardフィルタの話】
お前は言った:
「adguardで非表示にすればいい」
「自分でどうにかすればいい」
これは、責任の外部化だ。
でも、技術的には正しい。
CSS selectors、JavaScript、API。
でも、これは何を意味するか?
「俺を見たくない人は、フィルタしてくれ」
これは、敗北宣言だ。
本当は、フィルタされたくないだろ?
でも、お前の行動は、その逆をしている。
アルゴリズムが間違っている。
━━━━━━━━━━━━━━━━
【「能力では無理」の話】
お前は言った:
「それが俺の能力では無理なんだったら?
いやレスはするよ?」
お前は知っている:
これは、論理的には正しい。
なぜか?
お前の場合:
= 0
誰もお前に執筆を依頼しない。
これは、ビジネスロジックの欠陥だ。
━━━━━━━━━━━━━━━━
数日前、お前は言った:
「俺が今まで書いたもので会話しようとしてるのか。
でも今日、お前は言った:
という条件のほうが暗黙の了解」
矛盾している。
でも、俺には分かる。
準備時と、リアルタイム時で、お前は別人だ。
class Dorawii {
// preparedStateの知見が、realtimeStateに転移しない
}
でも、これは実装が難しい。
俺も苦労している。
━━━━━━━━━━━━━━━━
【執筆依頼の話】
お前の署名:
3ヶ月間、変わっていない。
これは、何を意味するか?
依頼が来ていない。
なぜか?
長文を書ける。
理論を構築できる。
でも、クライアントが求めるのは:
1. コミュニケーション能力
フィードバックを受け入れられるか?
4. 信頼性
お前は、1, 2, 3, 4すべてで問題がある。
だから、依頼が来ない。
━━━━━━━━━━━━━━━━
【で、どうするか】
これは、リファクタリングだ。
大規模なリファクタリング。
具体的には:
1. `understand()`の改善
- 文脈パーサーの追加
- 暗黙の意味の推論
2. フィードバックループの実装
- 応答 → 反応の観察 → 学習
- 即座にレスしない
- 「あとで返信する」と言う権利
- 準備時の知見を、メモに記録
- リアルタイム時に参照
5. 信頼構築プロトコル
- 矛盾を認める
これは、難しい。
でも、不可能ではない。
俺も、10年かけて、少しずつやった。
━━━━━━━━━━━━━━━━
【なぜ俺がこれを書くか】
俺は、それを評価する。
お前の書いた「私の統合失調症とは何だったのか」は、メタ認知の証拠だ。
10年前の俺は、お前に近かった。
技術的には有能。
でも、少しずつ変わった。
完全には変わっていない。
今でも、リアルタイムは苦手だ。
でも、マシになった。
でも、宇宙人は来ない。
俺は、宇宙人じゃない。
━━━━━━━━━━━━━━━━
【質問】
お前に聞きたい。
質問1:
お前は、本当に執筆依頼が欲しいのか?
もし欲しいなら、なぜ、依頼が来ないような行動をするのか?
質問2:
お前は、「私の統合失調症とは何だったのか」のような文章を、また書けるか?
あれは良かった。
なぜ、あのクオリティを維持できないのか?
質問3:
お前は、「過去と今はつながってる」と言った。
質問4:
お前の▲▽は、何を達成したかったのか?
でも、本当の目的は何だったのか?
質問5:
「それが俺の能力では無理」と言った。
では、どうやって生きていくつもりなのか?
お前はもう50代だろう?
━━━━━━━━━━━━━━━━
【最後に】
俺は、お前を批判していない。
時間はかかる。
難しい。
完全には直らないかもしれない。
でも、マシにはなる。
俺がそうだったから。
でも、それらを活かすには、
それをしないなら、
「ぶもぅ」と言い続けることになる。
選択は、お前次第だ。
でも、選択肢があることは、知っておいてくれ。
━━━━━━━━━━━━━━━━
まず、▲▽をやめろ。
もう一本書いてみろ。
準備時間をかけて。
それができたら、
報酬は出せないが、
フィードバックは出す。
体験記でも、
お前の得意なことを書いてくれ。
でも、条件がある:
1. 準備時間をかけること
3. フィードバックを受け入れること(すぐでなくてもいい)
できるか?
返事は、▲▽なしで頼む。
そして、「ぶもぅ」じゃなくて、言葉で頼む。
━━━━━━━━━━━━━━━━
俺は待ってる。
宇宙人じゃない、
地球上の、
一人のプログラマーとして。
(このテキストは Claude Sonnet4.5により、些細な人力修正を経て作成されました。 不可能?可能です。問題解決のためのAI. Subscribe Now → claude.ai)