はてなキーワード: PUSHとは
はてなブックマークの増田一覧の、さらに「すべて」(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.0.2026.01.21.0011 // ==/UserScript== (function(){ const SCRIPTID = 'HatenaBookmarkAnondFilter'; console.time(SCRIPTID); const CLASSNAME = 'filtered';/*フィルタ該当要素*/ const CHECKED = 'checked';/*二重チェック回避フラグ*/ const ONCE = 1, AP = 2, INTERVAL = 3;/*適用タイミング*/ const NGWORDS = {/* 合計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_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', '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だが確定ワードが必要*/ 'https://megalodon.jp/', ], '10': [/*ほぼNGの確定ワード*/ '電気通信大学', '電通大', '駿河台大学', '学生課', '教務課', '鉄道研究会', '鉄研', '通勤特快', '不正乗車', '性慾', '穢い', 'エッタ', 'キセル', 'uec', ], }; 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) 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)]){ 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); })();
/* Hatena Bookmark Anond 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ワード フィルター ミュート 非表示 削除 隠す ブロック ユーザースクリプト ユーザースタイル hatena bookmark anond spam keywords ngwords filter mute hide hidden display none block userscript JavaScript js css style
POLITICO Europeは8日「欧州が要請した賠償融資への参加を日本が拒否し、このアプローチに対する国際的な支持を取り付けたいというEUの希望を打ち砕いた」「米日が賠償融資への同調を拒否したためEUはウクライナの財政ニーズを単独で負担しなければならなくなった」と報じた。
参考:Japan rebuffs EU plea to join Russian assets plan
参考:France shielding €18bn Russian asset pot from EU ‘reparations loan’ push
「欧州がウクライナのニーズの2/3、つまり約900億ユーロを負担することを提案する」「残りのニーズ=約450億ユーロは国際パートナーが負担すべきだ」
「日本の片山財務相も8日のG7財務相会合で賠償融資への同調を拒否した」「日本は法的リスクを理由に国内凍結分(約300億ドル)をウクライナへの融資に動員したくない」
はやくヨーロッパと協力しないと
世界的にバズったフィットネスチャレンジに「Bring Sally Up Push Up Challenge」というものがある。
これは刑事ニコラス主演の「60セカンズ」のOPで使用されたMobyのFlowerの楽曲にあわせて腕立て伏せをするというもの。
この楽曲は「Bring Sally Up and Bring Sally Down」という歌詞を3分間ほぼ延々と繰り返すため、「Bring Sally Up」で挙げる、「Bring Sally Down」で下げるを繰り返すことで腕立て伏せが楽しくできちまうんだ!というバカクソキツいトレーニングチャレンジである。途中にちょっとした歌詞や間奏が差し込まれるため、プランク的なキープ力、アイソレーション刺激が求められるうえ純粋に30回くらい歌詞が繰り返されるので普通にキツい。
で、このMobyのFlowerなんだけど歌詞がよくわからない。
よくわからないっていうのは「文学的すぎてわからない」「パリピすぎてわからない」という内容の話ではなく、サイトによって書かれている歌詞が違うのである。
例えば「Moby - Flower」で検索するとGoogle君が出してくれる歌詞では「Green Sally Up and green Sally Down」となっている。しかし他のサイトを見ると「Bring Sally Up and Bring Sally Down」と表記されていたりする。
「Green sally UP」勢のサイトのほうが若干公式臭が強いので優勢に感じられるが、Mobyの本場で流行ったはずのチャンレンジは「Bring Sally Up Push Up Challenge」となっている。本場の人間がこんな歌詞間違いするか?という話である。
なので、本場の人間に聞いてみたところ「正式にはGreen sally UP。そもそもGreen sally UPって童謡があってMobyはそれをサンプリングして曲を作ってるから間違えるわけないんだよ。じゃあなんでBring Sally Upチャレンジになったかっていうと、日本で言う空耳アワーみたいなもんで身体(sally)を持ち上げろ(Bring up)でゴロがよかったからだね。日本ではBring Sally Upが正式な歌詞だと思われてるんの?ウケるねハハッ」とのことだった。
聞いてみればなるほど納得である。
forgeでプロット生成し、評価器をChatRTXで直列化してからChatGPTにcontext pushしてjson5に書き戻す -> mcpサーバー経由でAPI叩いてparallelにStable Diffusionで絵を生成し、デノイザをbunchoからphotoshopにアップスケールスルーパスという流れ。
一見、何がそんな難しいのって感じだが、forgeから直でcontext pushすると漫画としてストーリーが破綻する。プロットも絵も単体の生成はうまくいくのに。
直でpushできないから連作すると当然、文脈汚染が発生する。RTXである程度は除去できるんだけど10%前後で直列化に失敗する。意外とインフラ代がかかる。
forgeの初段でフック何する問題はぶっちゃけ場数優先法。いや何が売れるかわからん。過去のランキング遡って上位のヒット率高そうなものを選んでるだけ。
ほぼ全自動達成してるので俺は何出力されてるかぶっちゃけ知らない。統計上の数字の上下で間接的に売れたか燃えたかが分かる程度。
過去の販歴によるとTSをフックにすると初速が安定するっぽい。性別や環境の変調を評価する層が購買意欲高い集団を形成してるように見える。
なろうっぽいというか、AI絵買う奴は何考えてるか分からんな、マジで。
async function collectAllUrls(startUrl) {
const urls = [];
let nextUrl = startUrl;
while (nextUrl) {
const res = await fetch(nextUrl);
const html = await res.text();
const doc = new DOMParser().parseFromString(html, "text/html");
const links = doc.querySelectorAll("div.section > h3 > a:first-child");
urls.push(...[...links].map(link => link.href));
const nextLink = [...doc.querySelectorAll("a")].find(a => a.textContent.includes("次の25件>"));
nextUrl = nextLink ? nextLink.href : null;
console.log(nextUrl)
}
return urls;
}
(async () => {
const allUrls = await collectAllUrls(window.location.href);
console.log("総件数:", allUrls.length);
await Promise.all(allUrls.map(url =>{console.log(url);
fetch('https://b.hatena.ne.jp/dorawii_bukuma/add.edit.json', {
method: 'POST',
headers: {
},
body: new URLSearchParams({
'url': url,
'private': '0',
'comment': '[dorawii]わしが書いた',
'post_twitter': '0',
'with_status_op': '1',
'from': 'web-confirm'
})
});
} ));
console.log("全送信完了");
})();
https://b.hatena.ne.jp/site/anond.hatelabo.jp/?sort=eid
途中でブクマ数増えなくなったんだよね。待機処理つけるべきだったか。
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250823194237# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKmbHwAKCRBwMdsubs4+ SJC0AP0Q7RDjUSe8p2aNNKV0KLhlbhnTY+kD7uuWCS8yLJILDgEA2Sm4b1496jjy C0ue64hovLwS3C4dcF5r5TBMyfRifw8= =zIYi -----END PGP SIGNATURE-----
もう少ししたら自動ブクマするコードができそうなんだけど、そのうえでコード公開に便利なように事前にpre記法に囲まれた部分はその外部の文字を適切にエスケープするコードをchatgptに指示して作ってもらった。
ぶっちゃけなんでこれで動くのかはわからないので動くからゴーサインを出したというだけなのが情けない所。flushってなんだ?
使うときはchatgptにこのコード丸ごと書いて「ブックマークレット用に一行にして」と丸投げするのを要推奨。
https://anond.hatelabo.jp/20240820150546#
javascript:(function () {
function escapeHtml(text) {
return text.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
var textarea = document.querySelector('textarea#text-body');
if (!textarea) return;
var lines = textarea.value.split(/\r?\n/);
var out = "";
var inPre = false;
var preLines = [];
function flushPre() {
// pre 範囲の中身を 1 本の文字列にまとめ、\n→<br>(末尾行は <br> なし)
var raw = preLines.join("\n"); // ここに物理改行は入るが…
var escaped = escapeHtml(raw); // 先にエスケープ
var html = escaped.replace(/\n/g, "<br>"); // 物理改行を <br> に置換(末尾に \n が無ければ末尾 <br> は付かない)
out += html; // out には改行を入れない
preLines = [];
}
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
// >> / << だけの行は常にそのまま出力(pre 内に来るケースは想定外だが、念のため pre を閉じてから出力)
if (/^\s*(>>|<<)\s*$/.test(line)) {
if (inPre) {
flushPre();
inPre = false;
out += "</pre>";
if (i < lines.length - 1) out += "\n"; // </pre>\n(次に続きがあるときだけ)
}
out += line;
if (i < lines.length - 1) out += "\n";
continue;
}
// >| 行 → <pre>(直後に改行を入れない)
if (/^\s*\>\|\s*$/.test(line)) {
if (inPre) { // ネストは想定しないが、防御的に閉じる
flushPre();
inPre = false;
out += "</pre>";
if (i < lines.length - 1) out += "\n";
}
out += "<pre>";
inPre = true;
preLines = [];
continue;
}
// |< 行 → </pre>(直前に改行を入れない)
if (/^\s*\|\<\s*$/.test(line)) {
if (inPre) {
flushPre();
inPre = false;
}
out += "</pre>";
if (i < lines.length - 1) out += "\n"; // 連続ブロック時は </pre>\n<pre> になる
continue;
}
if (inPre) {
// pre 内はバッファに貯める(ここでは改行を出力しない)
preLines.push(line);
} else {
// pre 外は escapeHtml + 行末にだけ改行
out += escapeHtml(line);
if (i < lines.length - 1) out += "\n";
}
}
// 未閉じの pre が残っていたら閉じる
if (inPre) {
flushPre();
out += "</pre>";
}
textarea.value = out;
})();
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250819202540# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKRfOwAKCRBwMdsubs4+ SI5UAQDcNiyv5qUuMej1VLkGz4F5WyHeU1AIm7nUVHlx/gicnAEAgP07dK14IuTu W3ZO7PRR71ENq9lJjYtawIYyMOc2cQk= =okE4 -----END PGP SIGNATURE-----
15% 合意は「最悪回避」に過ぎず、2016 年以前と比べれば日本にとって純粋なマイナスである。今後、韓国がより好条件で決着させれば、日本の合意は単なる「前例」となる。政府と産業界は対米依存を減らし、市場多角化と国内生産維持策を急ぐべきだ。
NHK は日本政府関係者の情報として、Section 232 の自動車追加関税を 25% から 12.5% に半減し、基本 2.5% と合わせて合計 15% にそろえる案で最終決着したと報道。https://www3.nhk.or.jp/news/html/20250723/k10014871861000.html
Reuters も「日本車への追加関税を25%から15%引き下げた」と報道。輸入上限も設けないと伝えた。https://www.reuters.com/business/autos-transportation/key-facts-us-japan-tariff-deal-2025-07-23/
さらにWall Street Journal も「自動車関税を15パーセントに調整」と記載(有料記事)。https://www.wsj.com/business/autos/trump-tariffs-autos-exceptions-fc634efd
これにより、自動車については日本側説明と海外報道が一致し、関税は「合計15%」で確定したとみられる。
https://news.livedoor.com/article/detail/29223107/
Chrome系ブラウザには増田を快適に閲覧するための コンパクトな増田 という古い拡張機能があったが、Chromeの更新に対応し切れておらず、既にChromeには新規インストールできなくなってしまっている。Edgeにはまだインストール可能だが、いずれ対応しなくなる可能性が高い。
そこで、「増田のトップページで、言及エントリ(返信・トラバ)を一覧から除外することで、新規エントリだけを一覧できる」という機能に絞ってコンパクトな増田を再現、ついでにいくつかのおまけ機能を付与したスタイルシート(CSS)を今年の4月に公開していたのだが、今回改めて英文スパム対策を追加したので公開する。
これを導入するには Stylus という拡張が必要で、少し気軽さには欠けるが、増田以外にも活用できるので、この機会にぜひ導入してみてほしい。拡張をインストールしたあとは、下記のコードをコピペして新規スタイルとして導入する方法もあるが、スタイルシートを公開できる userstyles.world の増田CSSページ(※毎朝9:00直後はアクセスできない) から [Install] ボタンでインストールするほうが、自動更新にも対応するので便利かもしれない。
/* トップページで言及エントリを除外 */ /* via: 最近ファーストブクマカが静か https://anond.hatelabo.jp/20250326171302 */ h1/*はてな匿名ダイアリー*/ + #intro/*名前を隠して楽しく日記。*/ + #body div.section:has(h3 > a/*■*/ + a:not(.keyword, .edit)/*anond:YYYYMMDDhhmmss*/){ display: none; } /* うっかりクリックしがちなキーワードリンクを無効に */ a.keyword{ pointer-events: none; } /* 執筆時のテキストエリアを広く */ textarea#text-body{ min-height: 50vh !important; } /* 執筆時に特殊記号のヒント(疑似要素なので選択してコピペできないのがもどかしいけど) */ p.post-submit > span.explain::after{ margin-left: 1em; padding-left: 1em; content: "特殊記号: &[&] <[<] >[>]"; background: url(/images/common/outsite-wh.gif) 0 3px no-repeat; } /* スパム対策部分は下記URLの [Install] ボタンで事前確認できます(随時更新中) */ /* https://userstyles.world/style/23028/ */
なお、このCSSを適用すると、NGワードを含むこの増田自体も、増田トップページからは消えてしまう(この増田単体の個別ページなら閲覧できる)。
念のため、PC・スマホにCSSを適用する方法の解説にもリンクしておく。
PC: 【Stylus】ウェブサイトにCSSを適用できる拡張機能。自由にカスタマイズ! | ナポリタン寿司のPC日記
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 の使い方・初期設定方法
(7/21追記) また、スパムが特に多い時は、1ページまるごとスパムということもあるので、PCなら uAutoPagerize (Chrome) や weAutoPagerize (Firefox) などの拡張を使うと、自動でページが継ぎ足されて快適に読み進められる。ただし、継ぎ足ししまくるとメモリ不足などでブラウザが重くなることがあるので、そうなったら page: 20 などのページ番号をクリックしてから続きを読もう。
また、スパム対策の簡易NGワードは、下記のスクリプトを使って抽出した「直近の増田の頻出キーワードリンク上位20件」から、誤判定しそうな line と user を除いた18件を用いた。10件だと生き残る英文スパムがあったので20件にしたが、それでもわずかに洩れはある。しかし日本語による真っ当な(?)増田の直近の誤判定はなかった。はてなキーワードのリンクだけを対象にしているので、URLにはこれらのキーワードが入っていても大丈夫だ。ただし、スパムのトレンドが変われば話は変わってくるかもしれないし、過去や未来の増田の誤判定は当然あるだろう。気になる人は前掲のCSSを行単位で編集してほしい。
// AutoPagerizeでまとまった数のページを読み込ませた後に実行するとよい。 (function(){ const keywords = []; // はてなキーワードの集計 document.querySelectorAll('a.keyword').forEach(a => { // 4文字未満は誤検出の可能性が高まるので除外 if(a.textContent.length < 4) return; let index = keywords.findIndex(k => k.keyword === a.textContent); if(index >= 0) keywords[index].count += 1; else keywords.push({keyword: a.textContent, count: 1}); }); keywords.sort((a, b) => a.count < b.count); // ランキング配列の出力 console.log(keywords); // CSS埋め込み用に上位キーワードのみをURIエンコードして出力 console.log(keywords.slice(0, 20).map(k => encodeURIComponent(k.keyword)).join('\n')); })();
anond:20250326171302 ←元はこの増田がきっかけでした。
anond:20250701194328 ←キーワード判定に踏み切る後押しとなりました。
「押下」は「おうか」と読み、IT業界などではボタンを押す意味などでよく使われるという。
この言葉の初出はいつごろなのだろうか、と調査を開始してまず突き当たるのが「読み」の問題である。
すなわち「押下」にはいくつかの読みがある。
送り仮名が「押下げる」「押下ろす」などであれば「おしさげる」「おしおろす」とわかりやすい。
しかし「押下して」ならば、「おしおろして」「おしくだして」「おうかして」のいずれの可能性もあるのだ。
たとえば明治6年の『医道日用綱目』の「押下す」、『童蒙窮理問答』の「押下らしむ」、『窮理日新 発明記事』の「押下し」など。
いずれも「押下」に「おしくだ」とフリガナが振ってある。
同じく明治6年の『訓蒙窮理図解』の「押下れ」は「おしさぐれ」か。
明治7年の『広益英倭字典』では「push down」を「押伏ル。押倒ス。押下(さげ)ル」と訳している。
「おしおろすべし」なのか「おしくだすべし」なのか「おうかすべし」なのか分からない。
それでは「押下する」はどうだろう。
臂力ヲ以押下スル能ハサルニ至ル
「おしさげする」「おしおろする」「おしくだする」という読みはないだろう。
これはさすがに「おうかする」じゃないのか。
でも確証はない。
つまり、我々はずばり「おうか」と書かれたフリガナを探さなければならないのである。
というわけで明治35年『日本赤十字社篤志看護婦人会教程 増訂』である。
看護者ハ左ノ示指(ひとさしゆび)ニテ軽(かろ)ク病眼(びょうがん)ノ下眼瞼(かがんけん)ヲ押下(おうか)シテ眼(め)ヲ開(ひら)カシメ
これはもう間違いなく「押下」と書いて「おうか」と読んでいるだろう。
さらに探してみたところ、増訂前の明治28年『日本赤十字社篤志看護婦人会教程』第9版を、日本赤十字社デジタルアーカイブズで読むことができた(初版は明治22年か?)。
こちらでは「押下」に「おうか」「おしさげる」と二つのフリガナが振られている。
「仰臥」に「ぎょうが」と「あおむけにねかす」と振られたりしているのを見るに単なる訓読みではなさそうだ。
基本的には音読みだが、それだと初学者にはわかりづらいので補足説明を加えている、といったところか。
ではついでに、「ボタンを押す」のような意味で「押下する」が使われた例に限ったとすれば、初出はいつごろになるだろうか。
明治22年『理学協会雑誌』の「フワンリッセルベルギー氏電信電話双信法」という記事に以下のような用例がある。
「鍵」というのはいわゆるカギではなく、辞書的に言えば「ピアノ・オルガン・タイプライターなどの、指先で押したりたたいたりする部分。キー。」のことだろう。
(なおフワンリッセルベルギーとはFrançois van Rysselbergheのこと)
即(すなは)ち押(お)し釦(ぼたん)を押下(おうか)すると電池(でんち)から電流(でんりう)が発生(はっせい)してベルを鳴(な)らすのである
といった例がある。
というわけで結論として。
「押下」を「おうか」と読む例の初出は、現在のところ明治28年(明治22年?)の『日本赤十字社篤志看護婦人会教程』ということになる。
厳密性を求めなければ、明治11年『物理小学』の「押下する」の時点で「おうか」の例としてもよい。
また「押下する」は、明治期から理科の実験書や医学の教科書で使われており、「電信・電話用語として広まったのではないか」とは判断しづらい。
昼メシのUber EatsつつきながらSlack眺めてたら、非公開チャンネルに不穏ワードが爆誕してて笑った。
いや、笑えんわ。いよいよ “アクセに身売り” の噂、ほぼ確だって?
──は? はぁ!? こちとら週イチLTで「世界ぶっ壊す!」って雄叫びあげてる最強ベンチャー様だぞ?
週末はReact+Next.jsで自社プロダクトを夜な夜な爆速リリース、PRは秒でセルフマージ。
朝会は “OKR?知らん!” のテンションで「とりまKPIは宇宙!」とか言っときゃ許される──それがカルチャーだった。
なのに今日、CTOがAll-Handsで「合流シナジー」とかカタカナ並べ始めた瞬間、チームのZoomが凍りついた。
カメラ越しでも分かる、あの “終わった” 空気。マイク切ってDiscord裏窓で叫ぶしかなかったわ。
ポモドーロが爆散した。
達成度は「クォータリー360レビュー」でランク付け? 何それ、ブラック魔導書?
──はぁ? 技術書1冊で超えるんだけど? 草。枯れるわ。
オフィスだって、“カフェスペース”に鎮座してたレゴ・デロリアン撤去だと?
あのレゴが何百万の調達ミスを救ったか、シニア層は知らねぇんだよな。
Slackの新人チャンネルでは、案の定「これでもポジティブに行きましょ!」とか空元気のスタンプが飛び交ってる。
悪いけど無理ゲー。
そこに“PMOガバナンス”をねじ込むとか、自分のGitの履歴に「Fix governance breach」ってコミット残す罰ゲームかよ。
夜、恒例の“深夜メトリクス祭り”でGrafana眺めながら、ふと思った。
でもそれ、オレたちが「自由にぶっ壊せる」から叩き出せた数字だ。
明日からアクセ式チェックリストで “承認フロー: 7-Step” とかついたら?
ま、とりあえず社外公開してないOSS支援botのトークンだけは今夜中にrevokeしとく。
次に会議室で名刺交換するころには、名刺のロゴが白黒の世界支配企業になってるかもしれんしな。
でも──絶対忘れんなよ。
“自由はForkできる”。
巨大コンサルのバグに巻き込まれても、オレのGitHubアカウントだけは、スタートアップ魂フルコミットでPushし続ける。
開設後しばらく使用していたが、別の決済方法に移行するなどで口座残高はほぼ0円だった
ただ2023年6月、Kyash社のミスにより余計に徴収されていた金額が返金され(【重要】弊社の一部決済取引に関するお詫びとお知らせ - Kyash お知らせ)、これが今まで口座に残っていた状態になっていた。
この残高が、以下の記事と同様にアカウント削除により0円になってしまった。
kyashに7,000円ほど没収されたので資金決済業協会に電話した
【注意】Kyashは6ヶ月以上利用がないとアカウントが消え、残高も没収されてしまう - Togetter [トゥギャッター]
個人間送金できる「Kyash」、6カ月以上利用履歴がないアカウントの閉鎖を実行 - CNET Japan
| # | 日付 | 内容 |
|---|---|---|
| 1 | 4月1日 | 出納管理で使用しているMoneyForwardで、「3月31日 送金 Kyash 調整」という名目でKyashの残高が0円になっているのに気が付く |
| 4月1日 | アプリもログインができなくなっており、電話による窓口もないためフォームより「残高がなくなりログインができなくなった」旨の問い合わせを投稿する 問い合わせに際して身分証の画像添付を求められる | |
| 2 | 4月3日 | Kyash社より、「事前に連絡をした通りKyash上の残高変動がないため閉鎖した」旨の回答がくる |
| 4月3日 | E-mailを受信していない旨の返信をKyash社に行う | |
| 4月3日 | Kyash社より、「2月27日にKyash社よりE-mailを送信した履歴があり 、2月4日にアプリにPush通知もした。十分な猶予期間を設けた上で利用規約に則り解約・残高を消滅した」旨の回答がくる | |
| 4月3日 | E-mailは受信しておらず、Push通知は設定していない旨の返信をKyash社に行う | |
| - | - | 金融庁の金融サービス利用者相談室と、一般社団法人日本資金決済業協会に相談をする 金融庁は事例として受け付けた旨、資金決済業協会はこの問い合わせ内容をKyash社へ連絡をする、という旨の回答を得る |
| 3 | 4月4日 | Kyash社より、「やむを得ない事情により残高の変動が行えなかった可能性も考慮し、返金について検討する」 「期日までにKyash残高の変動が行えなかった事情を連絡せよ」という旨の回答がくる |
| 4月4日 | 前述の通りE-mailを受信していなかったため、閉鎖されることを知らなかったから、という旨の返信をKyash社に行う | |
| 4 | 4月8日 | Kyash社より、事情を確認できるような資料を提出せよという旨の回答がくる |
| 4月9日 | どのような資料が必要なのかという質問をKyash社に行う | |
| 4月9日 | Kyash社より、E-mailを受信していない証左として、スクリーンショットを送付せよという旨の回答がくる | |
| 4月9日 | E-mailを受信できていないことが確認できるスクリーンショットとはどのようなものか、という旨の質問をKyash社に行う | |
| 4月10日 | Kyash社より「E-mailを受信していないことを確認できる証左」が必要であるという旨の回答がくる | |
| 4月10日 | ふたたび、E-mailを受信できていないことが確認できる証左とは何かという旨の質問をKyash社に行う | |
| 4月11日 | Kyash社より ・2月27日前後にKyash社からのE-mailが届いていないことが確認できる画面 ・迷惑メールに振り分けられていことが確認できる画面 ・受信サーバ容量がオーバーしていないことを確認できる画面 を送付せよという旨の連絡がある | |
| 4月14日 | Gmailで「after:2025/2/20 before:2025/3/7 in:anywhere from:@kyash.co」で検索し、結果が0件のスクリーンショットをKyash社に送付する | |
| 4月14日 | Kyash社より、担当部署で確認をする旨の回答がくる | |
| 5 | 4月16日 | Kyash社より、「今回に限りKyashバリュー残高(前払式支払手段)で返金をする」「新規にKyashアカウントを作成し連絡せよ」という旨の回答がくる |
| 4月21日 | アカウントを作成した旨の連絡をKyash社に行う | |
| 4月22日 | Kyash社より、「Kaysh残高の調整」が完了した旨の回答がくる。MoneyForwardで、「4月22日 受取 Kyash 調整」という取引を確認する | |
| 6 | 4月25日 | 残高をすべて使い切り0円にした。取引の確定が完了後、アカウントを削除する予定 |
Kyash社は当初、このような規約がある・E-mailやPush通知で連絡をしたので返金はできない。という一点張りでとりつくしまが無いなと思っていたが
金融庁や資金決済業協会がなんらかの対応をしてくれたのではないかと考える。このような場合、監督官庁や周辺の機関への問い合わせは重要だという知見を得られた。
4月1日の夜にマネーフォワードを見たら「kyash 調整 -7000円」と書かれて残高がゼロになっていた。
どういうことか確認しようとアプリを開いたらログアウト状態だったので、ログインを試みるが「メールアドレスとパスワードの組み合わせが正しくない」旨のエラーが出る。パスワードマネージャの中身が知らずに古くなっていたか?と思い、パスワード再設定を試そうとするも、そのために必要なSMSが届かない。
途方にくれてkyashのヘルプやらなにやらを探したところ、下記のお知らせにたどり着いた。
【重要】6ヶ月以上ご利用のないお客さまへの再利用のお願いについて - Kyash 障害・メンテナンス情報
どうやら直近の利用実態が無いため、アカウントが閉鎖されたらしい。さきほどの調整は、登録金融機関に自動的に出金されたのかなと思って確認するがどこにも入金されておらず虚空に消えていた。記事をよく読むと、消滅すると書いてある。まじか。
メールボックスを確認する。3月31日に、物理カードの有効期限がまもなく切れる、というお知らせは届いているが、検索してもアカウント閉鎖の告知は見当たらない。
kyashのサポートに問い合わせてみた。
とのことであった。
自分としては受け取っていないのだが、迷惑メールに分類されて知らずに消えているのかもしれず、メールを受け取っていない証明はできない。
とはいえ、2月に連絡して4月に残高没収は、いくら規約どおりとはいえ乱暴すぎないだろうか。
充分が周知がなされてから行われるべき、などの議論はなされたのだろうか?
本人確認のために住所も提出しているのだから、郵便での通知も可能だったのでは?
こうなっては、7,000円を取り戻したいとは思わないが、決済手段が多様化する現代において安心して事業者にお金を預けられる世の中にはなってほしい。
kyash社や、その他事業者にはそのための議論を強く望みたい。
ということで、資金決済業協会に連絡して顛末を伝えた。消費者センターなども案内されたが、問題解決を望んでいるわけではないので、行政に状況を伝えたということで自分としてはこの件でなにか動くのは終わりにしておく。
(追記)
「行政に状況伝えてなくない?」
お。たしかにそうだね。自分もここは誤解していた。ただしかるべき窓口に伝えたから自分としてはもういいやという気持ちになったのだった。
入社して最初の仕事は「AWS認定ソリューションアーキテクト」の資格を取ることだった。
会社の先輩はAWSアカウントの管理だけで頭を抱えていて、俺は「クラウドってすごいんだろうな」と思っていた。
甘かった。
大学時代はPythonでちょっとしたWebアプリを作るのが楽しかったのに、今はIAMポリシーとSecurity Groupの設定で一日が終わる。
コードを書いているはずが、実際はYAMLとJSONばかり書いている。
先輩(30代)は「昔はサーバーにSSHして直接デプロイしてたんだよ」と言うけど、正直それの何が悪いんだろう。
デプロイ自体は確かに自動化されるけど、その仕組みを作るのに疲れ果てる。
Kubernetes?EKS?ECS?Fargate?Lambda?Step Functions?どれを使えばいいのか分からない。
友人はGCPを使っているけど、別の呪われた世界があるだけだと言っている。
Azureの話は聞きたくもない。
懐かしい感覚だった。「git push heroku main」だけで済んだ。
こんなに簡単だったのか。
herokuの料金は高いってよく聞くけど、精神衛生上の価値はある。
最近のスタートアップでは「NoOps」とか「クラウドレス」みたいな言葉が流行っていると聞いた。
Vercel、Netlify、Railway、Fly.ioなどを使ってインフラをほぼ考えずにデプロイするらしい。
もしかして、クラウドの複雑さに耐えられなくなった開発者が増えているのかもしれない。
いや、きっと俺のスキルが足りないだけだ。「クラウドネイティブ」になるべきなのだろう。でも正直、モノリスに戻りたい気持ちもある。
きっと、単純なものが複雑になりすぎたんだ。
色々時間かかる変更をしてて、それがちょっと特殊な非テキストファイルで途中段階の保存が面倒だったので、最後にコミットするつもりで、したつもりだった
その後動作確認のためにビルドして実行してとかやってたときに環境依存のようなエラーが多発してた
少し前に色々バージョンをあげてたからそこが影響してたのかもとそのへんをいじってみたけど改善しない
一旦環境周りを前のバージョンに戻してから動かしてみようかと git reset をした
直前に環境周りをいじってたものは試しにいじっただけだから消えてもいいからとコミットを残さず reset
なかったどこを探しても
終わった
2,3日くらいは書けて編集してたのに
そう思って探したがファイルを開いたままだとビルド時にエラーになるから閉じたのだった
残っていない
アカウントを関連付けておけばオンラインストレージに自動でバージョン履歴を残してくれる機能もあったが、外部にデータを置くなんてとんでもない!とかいうタイプの会社だからもちろんそんな機能が有効になってるはずもなく・・・
あの面倒でちまちまとした作業をまたやるのか
鬱すぎる
git は一度コミットさえしてれば参照消えても ref log から辿れるので、定期的にファイルに差分あれば自動コミットしておくスクリプトでも走らせておいたほうがいいかな
pushする前に squash してまとめるか skip するかすればローカルに収まるし
はぁ・・・
リリース日前日
Aさん「なんですかこれは。外してください。こんなのリリースできません。生地をこねて、バターを塗って焼いて、焼き印を入れれて、シロップをかけて箱に入れて発送する寸前なんです。」 ←???
Aさん「やめてください!やめて!いいかげんにして!!!」 ←ヒステリー発言
Aさん「よかった。ありがとう」 ←彼が何をpushしたか確認してますか?
Bさん「出さないといけないのでHOGEはのこしてます」 ←なんなんだよお前は
Aさん「やめてーーー!!!おねがい!私もう無理なの!!他の日に出して!」 ←意味不明なキレ方をするな
これがアジャイルです
事前に調整せずおもうがままに開発をする
いつでも好きな時に好きなことができる!
いっぱいあるとわかんなくなるよね
でもわかるようにかんたんにするとまちがっちゃうからがんばろうね
実物的要因
戦争や産業構造破壊により、供給が需要を大幅に下回ることによって発生するインフレーション。第二次大戦終戦後の日本では、1945年の水準からみて1949年までに約70倍(約6900 %)というハイパーインフレーション[注釈 1] となった[13]。
また、ジンバブエでは、政策により白人農家が国外に追い出され農業構造が破壊されたところに旱魃が追い討ちをかけたことにより極度の物不足が発生、最終的に2億3000万%という超ハイパーインフレーションとなった[14]。
需要側に原因があるインフレーションで、需要超過インフレーション(需要牽引型インフレーション、ディマンドプル・インフレーション、demand-pull inflation)とも呼ばれる。需要の増大(需要曲線の上方シフト)により、価格が高くても購買意欲が衰えないので物価は上昇する。この場合、供給曲線が垂直である(すなわち価格の変動によって供給量が変化しない)場合を除いて景気はよくなる。
1973年から1975年にかけての日本のインフレ要因は、オイルショックに注目が集まるが、変動相場制移行直前の短資流入による過剰流動性、「列島改造ブーム」による過剰な建設需要も大きな要因である[要出典]。
供給曲線の上方シフトに原因があるインフレで、原価上昇インフレーション(コストプッシュ・インフレーション、cost-push inflation)とも呼ばれる。多くの場合、景気が悪化しスタグフレーションか、それに近い状態になる。通常為替レートが下落すると、輸入物価が上昇してインフレを引き起こすと同時に、企業が抱える外貨建ての債務の返済負担が膨らむ[15]。
原価上昇は総供給が上方にシフトするので、実質GDPは減少する[16]。一方で、需要超過は総需要が上にシフトするので、実質GDPは増加する[16]。つまり、実質GDPの動きで原価上昇か需要超過かは判別できる[16]。景気の過熱によって物価が上昇しているのかどうかを判断するには、消費者物価指数ではなくGDPデフレーターを見なければならない[17]。
賃金・材料等の高騰によって発生する。原油価格の高騰によるインフレーションや消費増税によるスタグフレーションが典型的な例である。
産業によって成長に格差がある場合、生産性の低い産業の物価が高くなり発生する。例えば効率の良い製造業で生産性が上がり賃金が上昇したとする。これに影響を受けてサービス業で生産性向上以上に賃金が上昇するとサービス料を上げざるを得なくなるため、インフレーションを招く。
輸出インフレーション
輸出の増大により発生する。企業が製品を輸出に振り向けたことにより、国内市場向けの供給量が結果的に減って発生する。幕末期に生糸などの輸出が急増し、インフレーションが発生している。このパターンは乗数効果で総需要が増大しているため、需要インフレの側面もある。
他国の輸入を通じて国外のインフレーションが国内に影響し発生する。例えば穀物を輸入していた国が、輸出元の国の内需が増加したり輸出元が他の需要国へ輸出を振り分けた場合などに穀物の輸入が減少し、穀物価格が上昇するといった具合である。実際に中国が穀物純輸入国に転じた際、トウモロコシ市場で価格急騰が起きたことがある。
賃金や物価統制を行っている体制が、市場経済に移行する際に発生することが多い。米国および日本で1970年代にかけて発生した。欧州では冷戦の終結および欧州中央銀行(ECB)拡大による東欧諸国の自由主義諸国への経済統合により、低賃金諸国での賃金・サービス価格の上昇によるキャッチアップインフレが発生している[18]。
貨幣の供給量が増えることによって発生する。貨幣の供給増加は、他のあらゆる財・サービスに対する貨幣の相対価値を低下させるが、これはインフレーションそのものである。さらに、貨幣の供給増加は貨幣に対する債券の相対価値を高めることになり名目金利を低下させる。このため通常は投資が増大し、需要増大をもたらす。そのプロセスが最終的に、需要インフレに帰結することでもインフレーションに結びつく。公開市場操作などの中央銀行による通常の貨幣供給調節以外に、貨幣の供給が増える特段の理由がある場合には、「財政インフレ」「信用インフレ」「為替インフレ」などと呼んで区分けることもある。
政府の発行した公債を中央銀行が引き受けること(財政ファイナンス、マネタイゼーション)により、貨幣の供給が増加して発生するインフレーション[19]。金融政策を経由した効果に加えて、財政政策による有効需要創出効果によって需要インフレも発生する。
信用インフレーション
市中銀行が貸付や信用保証を増加させることによって信用貨幣の供給量が増大することから発生するインフレーション。
外国為替市場を経由して通貨が大量に供給されることで発生するインフレーション。戦前の金解禁における「為替インフレーション論争」を特に指す場合もある[20][21][22][23]。なお、当時は固定相場制であり、現在の変動相場制とは、外国為替市場の動きが貨幣供給量に与える影響が異なることに留意が必要である。
当方アラフォープログラマー。Gitはターミナルで使っている。
若手から「PRマージしようとしたらconflictしてるので解消方法教えてください。」と言われ見たのだが使ってるのがGitHub Desktop。
どうやら最新化してないmainからbranchを切っていたのが原因だったようで、まず手元のmainを最新化しようとしたのだが、そもそもどこでgit fetch, git pullできるか分からない。
若手にfetchしてと言っても若手もピンときてない。
よく分からないのでググってみるが、見た目が違うものが出てきてよく分からない。
30分くらいあれやこれや調べたが結局よく分からなかったので、こちらで巻き取って手元のターミナルでrebaseしてpushし直して2分程度で解消。
もちろんこちらがGitHub Desktopに慣れてないのもあるし、「CLIこそ至高!」とか言ってるのは老害感あると思うが、それにしてもGitHub Desktopの非直感的なUIと、ググっても全然使い方、特にconflict解消のような困ったときどうすればいい系情報が全然出てこないのはコマンドのGit使うよりよっぽど難易度が高いのではと思ってしまった。
GitHub Desktop利用者で読んだ人いたらぜひ「ここに載ってるよ。これだからCLI中の老害プログラマーは…」などコメントほしい。