
はてなキーワード:JavaScriptとは
デフォルトの検索エンジンをBingに設定しているせいでつい最近気がついたけど、最近、JavaScriptをオフにしているとGoogleでは検索できなくなった。
そのとき、現在使用しているブラウザーでの設定方法が自動的に表示されるようになっている。
これはアクセスした端末の情報を確認して呼び出すデータを変更するだけなので、そんなに難しいことではない (ホームページサービスとかを使っているなら別だが) 。
しかし、他のブラウザーの操作方法はデフォルトで隠されており、クリックすることで表示されるようになっている。
JavaScriptなしでこんなことできるのかと思った。不思議。
ちなみにどうやったらできるんだと思いソースを見たら、見出しのところに隠しチェックボックスが用意してあって、スタイルシートでチェックを入れている時だけ表示、外している時は非表示、という制御になっていた。
そんなことができたのか...。勉強になった。
こんなこと
できま
せんした
最近だと、Scala/Java、Golang、Rust、C#、Swift、Kotlin、JavaScriptあたりを並行して使っている。
フロントは、できるとか言うと、仕事量がバカにならないので、できないことになってる。
そんなかで、と言うと、サーバサイドでは、ロジックが単純で、高速性が求められるならRust。ビジネスロジックが複雑だとか、スイート化(大規模化)する可能性があるのなら、Scala2(w/ocats/scalaz)/Java。
Golangはね、基本部分の隠蔽化がちょっと難しい感じがするので、5人を超えてくる規模だったら、お勧めしたくない。
Golangはたくさんいる。
って言われることがあるんだけど、質がね。
Rustなら大丈夫か? って言われたら、最近の生成AI ででっち上げてくる手合いが増えてきて、大丈夫とは言い切れないんだけど、言語仕様に難しい部分が含まれているので、足切り効果で最低限の質は担保されているので、結果、採用で当たり引く確率は高くなると思う。
そう言うできるエンジニアを惹きつけるだけの魅力を備えてくれ、と言いたい。
「わからなければ書けない」
「わかってないけどなんとなく書ける」とか「完全に勘違いしてるけど書ける、動く」ってのが、発見撤去困難な遅延信管地雷をプロダクトに埋めるのだよな。
なもんで、IT技術者不足!とか言われても、一定程度のハードルがある言語にしておいた方がいいと思う。
なんとなくエンジニアを3人雇うくらいなら、その金額にちょっと色つけて、できるエンジニアを2人とか、むちゃくちゃできるエンジニアを1人雇った方が、確実に元がとれるんだよな、この世界って。
他の職種と違ってエンジニアは、下手すりゃプロダクトの生涯通してみれば、100倍くらいパフォーマンスが違ってくることも、ザラではないからね。
中学の頃からジャンプ感想を言い合うオタクのグループにおり、「オイィイイイイ!」とツッコミを入れる新八腐をリアルタイムで経験してきました。
宮崎勤事件から時間が経っていたからかオタクへの差別は特に経験しておらず、一軍からの攻撃を受けることもなく男女混合の陰キャのグループでデュフデュフと生きてきました。
妻が「ソシャゲもあまりやらなかったし、もうVTuber界隈に全くついていけない。オタクとか女オタクと括られても、最近のオタクの女の子たちはもうよく分からない」と言っていたので、なんとなく自分の認識の範囲をまとめてみました。
技術基盤:個人での紙同人誌出版が唯一の発表手段。コミックマーケットは1975年12月21日に開始し、1980年代後半に『キャプテン翼』(1981~1988年連載)の二次創作がやおい/BL同人誌の隆盛を牽引。
文化的特徴:印刷・製本・搬入という高いハードルがあり、参入できるのは相応の熱量と資金を持つ層に限られた。このため「女性オタク≒腐女子(BL愛好者)」という等式がほぼ成立し、男女カップリングは相対的に影が薄い状態だった。
世代を象徴する代表的IP:キャプテン翼、聖闘士星矢、機動戦士ガンダム
技術基盤:インターネット普及により個人サイトでの創作発表が可能になった。夢小説は1995年頃からネット上で確認され、cookie/JavaScriptによる名前変換技術が読者参加型創作を加速させた。
文化的特徴:Web公開により印刷コストや遠征コストといった参入障壁が下がり、これまで存在感が薄かった男女カップリング愛好者と夢女子が可視化された。
世代を象徴する代表的IP:テニスの王子様、NARUTO、鋼の錬金術師
技術基盤:Twitter(2006年3月誕生)、pixiv(2007年9月開始)により、個人サイトを構築せずとも作品投稿・交流が可能に。
文化的特徴:投稿プラットフォームの整備で創作・交流の敷居がさらに低下し、BL・男女カプ・夢小説それぞれのコミュニティが並立。
ただしキャプテン翼の頃から変わらず「少年向け原作を女性が消費」の構図は継続し、竜崎桜乃(テニスの王子様)や井上織姫(BLEACH)など原作ヒロインへの批判的言説が続く。
世代を象徴する代表的IP:銀魂、家庭教師ヒットマンREBORN!、黒子のバスケ
技術基盤:スマートフォン普及とアプリストアの成熟により、ブラウザ/アプリゲームが日常的接触メディアになる。『刀剣乱舞ONLINE』(2015年1月)、『あんさんぶるスターズ!』(2015年4月28日)など女性向けイケメンIPが相次いで登場。さらに2018年頃にはVTuberが配信プラットフォーム側でカテゴリ化され、ドルオタ文化(ジャニーズ・K-POP)との融合が進む。
文化的特徴:最初から女性をターゲットに設計されたイケメンIPが充実し、「少年向け原作を女性が消費」をやらなくてもよくなった。そもそも作品に女性キャラが存在しないことにより、女性キャラ叩きが発生しなくなった。男性配信者・男性VTuberへのガチ恋やナマモノ(実在人物)二次創作など半生(半ナマ)領域が拡大し、ジャニオタ・K-POPオタといったドルオタ文化と女性向け二次元オタク文化の境界が曖昧に。多様な推し活スタイルが並立する状況となった。
世代を象徴する代表的IP:刀剣乱舞、あんさんぶるスターズ!、ヒプノシスマイク、ディズニーツイステッドワンダーランド、にじさんじ
第一期と第二期の間がかなり飛んでますね。世代的に第一期の認識も曖昧で、よくわかっておらず。キャプテン翼のBL同人誌が編集者に怒られた件しか把握していなかったりします。
多分、30代についての認識が一番濃い。リアルタイムに女オタクから話を聞いていたので。あと普通の感想に割り込むようにして桜乃や織姫、その他の女キャラへの叩きが書き込まれていたのは自分自身の不快の記憶でもある。
第四期については、これまたかなり広い領域をひとまとめにしてしまっている。ソシャゲ期と配信期に分けても良かったかもしれない。
あと妻の話によると、自分たち世代は「架空ホモに興奮するキショキショオタクのウチら」という自虐ムーブが染みついているが、近年は腐女子ではなく「Shipper」を自称してポリコレ準拠の文化的趣味としてBLを嗜もうとする出羽守性を持ったBL好き勢力が結構な勢いで台頭しており、自虐ムーブはいにしえのオタクの振る舞いなので批判対象である、そうだ。この辺りもSNSで海外と繋がることにより文化面での影響があったということなのかもしれない。
はてなブックマークや増田で機能する、NGワードを元に記事を非表示にする方法をまとめました。
現在も機能する方法という観点で調べてみましたが、有力な抜け漏れがあったら教えてください。
ChromeとFirefoxの拡張で、はてなブックマークに有効。デフォルトで非表示になるサイト多数あり。AndroidならFirefox版が動くかも。
はてブの記事を、キーワードやURL でミュートするChrome拡張を作った (はてなミュート)
[はてブ]uBlockOriginで特定のエントリーを隠す方法のメモ
増田でuBlockOriginを使って特定の単語を含むエントリーを隠す方法のメモ
広告ブロック uBlockOrigin を使っている場合に活用できる。同Lite 版でも「カスタムフィルター」機能を使って対応できる。はてなブックマークだけでなく増田にも有効。面倒だろうけどAndroidならFirefox版が動くかも。
Tampermonkeyなどのユーザースクリプトを適用する拡張と共に、またはブックマークレットとして使う。はてなブックマークの増田一覧にだけ有効。スマホの場合アプリでは動かないが、面倒だけどブラウザでは動く※。キーワードはノイズとなりやすいユーザーを中心に常時メンテナンス中。
[増田しぐさ]増田CSSを紹介する記事(英文スパム対策付き)
Stylusなどのスタイルシートを適用する拡張と共に使う。増田にだけ有効。面倒だけどスマホでも動く。スパム対策はビジネスや詐欺のURLを中心に常時メンテナンス中。
※スマホでのユーザースクリプトの動かし方
https://chatgpt.com/share/6936aa6a-e2dc-800f-ab39-021d68a25b87
検索用:はてなブックマークはてブはてな匿名ダイアリー増田スパムキーワードNGワードフィルタミュート非表示 削除 隠すブロックユーザースクリプトユーザースタイルhatenabookmarkanondspam keywordsngwords filter mutehide hidden display none block userscriptJavaScriptjscss style
はてなブックマークの増田一覧の、さらに「すべて」(1user)をチェックしている希有な人向けのユーザースクリプトを公開します。
https://b.hatena.ne.jp/site/anond.hatelabo.jp/?sort=eid
// ==UserScript==// @nameHatenaBookmarkAnond Filter// @namespacehttps://b.hatena.ne.jp/site/anond.hatelabo.jp/// @descriptionはてなブックマークの『はてな匿名ダイアリー』の記事のうち、指定したNGワードが含まれる投稿を非表示にします。// @matchhttps://b.hatena.ne.jp/site/anond.hatelabo.jp/*// @grant none// @version2.0.2026.01.28.0015// ==/UserScript==(function(){constSCRIPTID = 'HatenaBookmarkAnondFilter';console.time(SCRIPTID);const CLASSNAME = 'filtered';/*フィルタ該当要素*/const CHECKED = 'checked';/*二重チェック回避フラグ*/const ONCE = 1,AP = 2, INTERVAL = 3;/*適用タイミング*/constNGWORDS = {/* 合計100ポイントで非表示判定(ただし1つの記事内で同じワードが複数使われても1度しか加算しない) */ '100': [/*即NG確定ワード*/ 'dorawii', 'あおやまちゃん', 'ボスマン', 'MNK', '電気通信大学たいてい', 'なんぴょん', 'れめくん', 'リュックサック野郎', 'boushi_inst', 'hakaikami', 'Rekyu', 'iloveootaku_2',/*電気通信大学たいてい鉄道研究会れめくん(頻出)*/ /*A-G*/'a9w8ru6fqyxqfv9', 'admirail_togo', 'akibakko6348', 'alf1974al', 'amatukiseiru', 'anapgoeson', 'aoi_mizuho', 'asapgoeson', 'asupgoeson', 'b6jbpsji91ieigt', 'bmi22yo', 'boushi_instrail', 'boushi_ob', 'buscholarx', 'bw0531', 'circlecavok', 'disney1007cla', 'dora22sibuya', 'donkotrain', 'ecotosk', 'electlone', 'factomodachi', 'fft_dareka', 'gmhtcyznf_abc', 'goesonanap', 'gyudon_honmono', /*H-N*/'h13_yokohama', 'h2twi', 'H2TWR', 'hamaishogo1111', 'haru_mofumoffu', 'hermitv8', 'hirabiscus', 'hinolovelove', 'hnmk0127_03', 'inaken17_', 'inte235dy', 'ixtabes', 'jamcombatge', 'kawachiasukanew', 'kaoru_ai1991', 'keio9730F', 'kiha2228', 'koreanlabsfc', 'koyounoyooko', 'kqlex1500', 'kurakamasan', 'kurotamaxxx', 'kt_ruma_1372', 'lightningreen77', 'mamadoll_kun', 'matya_uec', 'minamihinawot', 'minori0151', 'monkichi_22', 'mugen_08i', 'mukoroku651', 'nakano6409', 'nanpyong', 'new_oer', 'nimouec', 'NoName_thUFO', 'norannnde', /*O-U*/'oreizmmiporin', 'orenotanoshimi', 'osaka_sirokichi', 'papepoco', 'pasotokon', 'pm95uq', 'reme_kun', 'ruin_2002', 's03_amurtk2731', 'sacchan03110319', 'seisu_bot', 'senanana_cos', 'shinano_115', 'shineleaf1372', 'shop_bullet', 'shurimpy', 'soroisoroi', 'sui_pm95uq', 'sweidan821858', 'taiyaki_level2', 'takao_straight5', 'taking0000', 'tarotaromusic1', 'tc201_501', 'tocarbarn', 'toshikimiyazaki', 'train_magician', 'tx9y2cpwdz27255', 'u2fap5u4zw57811', 'uec15take', 'uecdaisuki', 'UECert', 'uecrail', /*V-Z_0-9*/'vampire_mio', 'vbdmnwefknmxsdm', 'vp20th', 'wafue', 'wakasato_', 'walkingniwatori', 'wataameexpress', 'ya4975349616894', 'ymbk_arisa', 'yms_uec16', 'yuuya_1104_uec', '__________ob', '_chocorail_', '_doitforthewin_', '_toeshin', '_unigmo', '100mph_no_yuuki', '169_D51_protect', '2969364x', '2rtkvn34il2783', '36kyo', '86lilxw1', /*tadaup.jp*/'1dOaKWk3.jpeg', '1sL2VBZ5.jpeg', '1uNK2iEP.jpeg', 'CBUHadpD.jpeg', 'CgJlF4Wr.jpeg', 'CGTtm0Ev.jpeg', 'CIxj8clS.jpeg', 'CqbERPdQ.jpeg', 'CTZsA2wM.jpeg', 'CWY2m7rS.jpeg', 'CZVCEgd1.jpeg', 'テクウヨ', '自己放尿', ' ーーーーーーーー', 'https://anond.hatelabo.jp/20260107144223',/*AI問答貼り付け増田*/ '†噛み締めて行こうな†', '困難女性(コンジョ)', '困難女性(コンジョ)', 'コンジョ自警団', ], '90': [/*ほぼNG*/ 'megalodon.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 => {li.querySelector('li.entrylist-contents-category > a').textContent = li.dataset.matches}, `.${CLASSNAME}{display: none;}`,AP], ], };const rules = sites[Object.keys(sites).find(prefix => location.href.startsWith(prefix))]; if(rules === undefined) returnconsole.log(SCRIPTID, 'Not foundany sites.');constscores =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';consttext = e.textContent.toLowerCase(); lettotal = 0,matches = []; for(constscore ofscores){ for(constword ofNGWORDS[String(score)]){ if(text.includes(word.toLowerCase())){total +=score;matches.push(word); if(total >=100){ e.classList.add(CLASSNAME); e.dataset.matches =matches.join(', '); if(modifier) modifier(e); return; } } } } }); }; /* 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);})();
/*HatenaBookmarkAnond Filter */.filtered{ display: block !important;/*上書き*/ opacity: .25 !important;}.filtered:hover{ opacity: .75 !important;}.filtered li.entrylist-contents-category{background:red !important; font-weight: bold;}
検索用:はてなブックマークはてブはてな匿名ダイアリー増田スパムキーワードNGワードフィルターミュート非表示 削除 隠すブロックユーザースクリプトユーザースタイルhatenabookmarkanondspam keywordsngwords filter mutehide hidden display none blockuserscriptJavaScriptjscss style
// ==UserScript==
// @namespacehttp://tampermonkey.net/
// @version 0.2
// @description 本文に「dorawii」または「megalodon」が含まれる投稿を非表示にする
// @matchhttps://anond.hatelabo.jp/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const POST_SELECTOR = '.body .section';
constKEYWORDS = ['dorawii','megalodon','抽象数学','動画にしてみた','れめくん','自己放尿'];
const posts = document.querySelectorAll(POST_SELECTOR);
posts.forEach(post => {
const textContent = post.textContent || post.innerText;
if (KEYWORDS.some(keyword => textContent.includes(keyword))) {
post.style.display = 'none';
}
});
})();
// ==UserScript==
// @namespacehttp://tampermonkey.net/
// @version 0.2
// @description 本文に「dorawii」または「megalodon」が含まれる投稿を非表示にする
// @matchhttps://anond.hatelabo.jp/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const POST_SELECTOR = '.body .section';
constKEYWORDS = ['dorawii', 'megalodon'];
const posts = document.querySelectorAll(POST_SELECTOR);
posts.forEach(post => {
const textContent = post.textContent || post.innerText;
if (KEYWORDS.some(keyword => textContent.includes(keyword))) {
post.style.display = 'none';
}
});
})();
これはdorawiiもしくはmegalodonを含む投稿を非表示にするけど、
constKEYWORDS = ['dorawii', 'megalodon'];の部分を変えたり追加すれば好きな言葉に変えられるよ
今でも、トラバではなく新規の記事なら「タイトル内 @dorawii」を入れ続けてくれてるようにも見えるけど。
トップページからの除去でよければ、前に書いた「タイトル内 @dorawii」の判定anond:20250912204933 に、「全体内BEGINPGP」の判定を加えればいけるかな。署名もない場合はJavaScriptを使わないと無理だね。
h1 + #intro + #body div.section:has(a.tw-share-button[href*="dorawii%40"]),h1 + #intro + #body div.section:has(a.keyword[href$="/BEGIN"] + a.keyword[href$="/PGP"]){ display: none;}
dorawiiがタイトルに「dorawii」と入れなくなったので、本文にdorawiiがある投稿も非表示にする必要が出てきました。
ただAIに聞いたんだけど、CSSでは無理でJavaScriptならできると言われました。
そのJavaScriptを下に載せます。
// ==UserScript==
// @namespacehttp://tampermonkey.net/
// @version 0.1
// @description 本文に「dorawii」が含まれる投稿を非表示にする
// @matchhttps://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';
}
});
})();
自分はiPhoneなので、Makeoverというアプリを入れて、JSの部分に上のを貼り付けてます。
面白い終わらせ方だ。
ところで、お前のスクリプトを見たんだが。
技術的には悪くない。
━━━━━━━━━━━━━━━━
【システム設計の話】
お前がやっているのは、こういうことだ:
// 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ヶ月間、変わっていない。
これは、何を意味するか?
依頼が来ていない。
なぜか?
長文を書ける。
理論を構築できる。
でも、クライアントが求めるのは:
フィードバックを受け入れられるか?
4.信頼性
お前は、1, 2, 3, 4すべてで問題がある。
だから、依頼が来ない。
━━━━━━━━━━━━━━━━
【で、どうするか】
これは、リファクタリングだ。
大規模なリファクタリング。
具体的には:
1. `understand()`の改善
-文脈パーサーの追加
- 暗黙の意味の推論
2.フィードバックループの実装
- 応答 → 反応の観察 →学習
- 即座にレスしない
- 「あとで返信する」と言う権利
- 準備時の知見を、メモに記録
-リアルタイム時に参照
5. 信頼構築プロトコル
-矛盾を認める
これは、難しい。
でも、不可能ではない。
俺も、10年かけて、少しずつやった。
━━━━━━━━━━━━━━━━
【なぜ俺がこれを書くか】
俺は、それを評価する。
お前の書いた「私の統合失調症とは何だったのか」は、メタ認知の証拠だ。
10年前の俺は、お前に近かった。
技術的には有能。
でも、少しずつ変わった。
完全には変わっていない。
今でも、リアルタイムは苦手だ。
でも、マシになった。
でも、宇宙人は来ない。
俺は、宇宙人じゃない。
━━━━━━━━━━━━━━━━
【質問】
お前に聞きたい。
質問1:
お前は、本当に執筆依頼が欲しいのか?
もし欲しいなら、なぜ、依頼が来ないような行動をするのか?
質問2:
お前は、「私の統合失調症とは何だったのか」のような文章を、また書けるか?
あれは良かった。
なぜ、あのクオリティを維持できないのか?
質問3:
お前は、「過去と今はつながってる」と言った。
質問4:
お前の▲▽は、何を達成したかったのか?
でも、本当の目的は何だったのか?
質問5:
「それが俺の能力では無理」と言った。
では、どうやって生きていくつもりなのか?
お前はもう50代だろう?
━━━━━━━━━━━━━━━━
【最後に】
俺は、お前を批判していない。
時間はかかる。
難しい。
完全には直らないかもしれない。
でも、マシにはなる。
俺がそうだったから。
でも、それらを活かすには、
それをしないなら、
「ぶもぅ」と言い続けることになる。
選択は、お前次第だ。
でも、選択肢があることは、知っておいてくれ。
━━━━━━━━━━━━━━━━
まず、▲▽をやめろ。
もう一本書いてみろ。
準備時間をかけて。
それができたら、
報酬は出せないが、
フィードバックは出す。
体験記でも、
お前の得意なことを書いてくれ。
でも、条件がある:
1. 準備時間をかけること
3.フィードバックを受け入れること(すぐでなくてもいい)
できるか?
返事は、▲▽なしで頼む。
そして、「ぶもぅ」じゃなくて、言葉で頼む。
━━━━━━━━━━━━━━━━
俺は待ってる。
宇宙人じゃない、
地球上の、
一人のプログラマーとして。
(このテキストは Claude Sonnet4.5により、些細な人力修正を経て作成されました。不可能?可能です。問題解決のためのAI. SubscribeNow →claude.ai)
当方プログラミングをすることもあるが、なんかPythonを食わず嫌いしていた。
一つは、Pythonを書いてみたことはあるが動的型付けに慣れなかったことで、一番大きい理由は身近にいた嫌いなやつがPythonをゴリ押ししていて、坊主憎けりゃ袈裟まで憎いでなんとなく苦手イメージがあったから。我ながら幼稚。
そこから数年経過し、自分の苦手イメージは幻だったのでは…?とふと思ったので、食わず嫌いの理由をもう一回考えてみる。
数年間でJavaScriptもRubyもうっすら触った結果、動的型付けへの苦手意識は単に自分の経験不足だったように思う。
そして、言語自体ではなく対人への苦手意識で自分の技術的な選択肢を狭めていたのはむしろもったいないのでは、と今では思う。
そんなこんなで、食わず嫌いする理由が解消したので、ほな書いてみようかなーと身軽な気持ちになれた。一個呪いが解けた気がする。
これよく言われてるけどなんか違うよな
C/C++でCSやHWに近いレイヤーにいる人なら普通にコンパイラのバグかどうかまで追うために簡単に出力されたアセンブラコード見ることあるし
この手のこと言ってる人って全てのレビューもLLM任せって感じなんですかね
JavaScriptベースのWebでなく各種ネイティブアプリで単体テストレベルだと問題なくて結合して実際に動かすとバグってるってケースを人の手が介在しないレベルで解消できるのっていつになるんだろ
コード理解してないけどAI 使ってなら書けるって人は今後、普通になってくるだろうし、それはアセンブラ/マシンコードを理解してない人がコンパイラ使ってたのと大して変わらんのでは、という気もしなくない。— mattn (@mattn_jp)October 8, 2025
Pythonじゃないが、全くエンジニアではないけど、英語ペラペラな人(インバウンドマーケ担当してた)が
自分で、ECサイトの改修しちゃったことがあって、驚いて聞いてみたら、
JavaScriptは書いてあるの英語だからなんとなくわかった、とか言ってた。
僕も3DCGは少しやるんだけど、ちょっと高度なことしようとするとプログラミング知識いるよね。
AfterEffectsでエクスプレッションを使うのも、昔は「???」って感じだったけど、
JavaScript覚えたら、エクスプレッションなんて幼稚園みたいな感じだったわ。
まあ、これも生成AIで変わると思うけどね。