「join」を含む日記 RSS

はてなキーワード: joinとは

2025-11-02

レベルの低いエンジニア理解できないだろう恐怖

日次バッチが正常終了してる。

異常データが入っていて、失敗するはずなのに。

できると噂されJoinして半年コード多産エンジニアに、PRについての基本的質問をしたけど回答が要領を得ない。

オライリー新刊が出るたびに熱心に推薦してくるCTOテックリード

2025-10-29

生成AI使ってて偉そうにすんな

開発に生成AIは使ってほしいし使ってるけど

素人ちゃん素人の顔をしてくれ

Teamsでチャットしてたら議論が噛み合わなくて

よくよく聞いてみたら

DBとかSQLよく分からなくて・・・JOINってなんですかね?」

SSH難しくて・・・

Linux難しくて・・・

みたいな感じでこれまでの回答とか全部生成AIでした、ってふざけてるんかボケ

分かって無いなら分かってないで「生成AIがこう言ってるんですけど」とか言ってくれ

分かってると思ってやってるのに全部やり直しだよアホが

2025-09-30

hello JP guys how are you right now?

懐かしいなぁ。10年以上放置してたんだけど、はてなってまだサービス続いてるんだね。

こんにちは。俺はかつてGREEDeNAソシャゲ戦争やってた時代に、ソフトウェアエンジニアとしてDeNA入社たかつての新人だよ。

サービスプラットフォーム争いを両社がやってる最中に一人だけハードウェア抽象化研究やってた、当時としてはちょっと逸れた事やってたgeekだよ。

DeNA vs GREEの勝者はAlphabetとAppleなっちゃったね。それで良かったと思う、両社ともゲームしか見えて無くてエコシステム設計全然だったから。

 

当時はDeNAGREE新卒年収1000万が連日話題になってたね。俺も例に漏れずその帯域だった。

入社祝い金だけで奨学金完済出来るとは思ってなかったよ。それどころか3年目処に家買いなって当時の上司に言われたときビビった。

そういう金銭感覚って当時は外資バイオ系以外持ってなかったから、というか内外証券マンすら新卒は700届かなかった時代から、なんかやばいとこきちゃったなって。

でも、持たなかったね。

 

知っての通り、2012年JP広域エンジニアショックで優秀な人材海外に散った。二次派生は2014だっけ、Dowangoの高専流入組がすごい流出したね。優秀だったのに勿体無い。

俺は全然優秀じゃないから先輩の後を追う事しかできなくて、というか何も考えずに、成り行きでアメリカに来た。当時のJTC仕草うんざりしてた人たちも大体このあたりだね。

まぁ株式会社って大きくなりすぎると国籍宗教わずJTC化するなってのは後々体験するんだけど。

 

それでもソフトウェア世界を変えるという盲信からハードウェア抽象社会実装してDockerJoinしたり、AmazonJoinしたりした。

学生の時から仮想環境使い捨てることによる冪等性がもたらすソフトウェア開発体験がテスタビリティを向上させるっていう論文書いてたんだけど、まさにDockerだよね。

同じこと考えてる人が海の向こうに何人も居る!って楽しくなって、無我夢中コード書いてた。同僚と深夜までブレストするのが楽しくて仕方なかった。

今ではリファクタリングとか最適化とかでblameすら探すの困難だけど、初期DockerのPoCコミッターだったのは割と自慢。

 

ソフトウェアエンジニアと平行して投資業もやって、フルコミットが難しくなったタイミングAmazonJoinした。ロックダウン前年の話。

AmazonマジでJTCそのものソフトウェアにどうコミットたか、どう改善すると社会エコシステム還元できるかなんて考えない。チケットの消化。それだけが評価基準

JTC仕草うんざりしてた人にとっては拷問なんだよ、これ。確かに給料は良いけど、良いのは給料だけ。マジで仕事したっていう感覚は無い。

その上コロナロックダウンを皮切りに、部署資金繰りを二転三転させたり、業績悪化理由人身御供を吊し上げて首にしたり、マジで狂っていった。

 

コロナ明け、Amazon株価ゴリっと減ったのを契機に退職した。それでも仕事続けてれば多分資産は250万ドルに到達したと思う、今はその半分も無いけど。

でも社内政治で消耗してたらいずれ働くのが嫌になる。ソフトウェアを書けなくなる。Amazon離職を金脈捨てた咎人のように責め立てられたけど、そうなる前に判断できたつもりでいる。

そう判断して数年経ってる。が、生きてはいるし総資産平行線だ。増えてないけどね。

 

アメリカに来るきっかけになった当時の上司は、かつてはてなで働いていた。2000年代はてなは今のNvidiaみたいな輝きを放ってたらしい。

そういう話をしたなぁと思ってふとググってみたらまだサービスが残っていて嬉しかった。DeNA時代にやった事は全部畳まれしまっているので。。

というのを昼飯食いながら思い返している。

 

10数年前の自分書き込みらき☆すた放送言及してて懐かしい。

10数年前の自分書き込み日本オワコンと言っていて微笑ましい。

 

10数年後は果たしてインターネットが残っているだろうか。

2025-09-01

完全パングラムをChatGPTに作らせる

日本語の完全パングラムを作ってください。できたら、最後プログラムで完全パングラムであることを確認してください

ChatGPT

はい作りました

ひらがな46文字」を各1回ずつ用いた完全パングラムです:

あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん

下に検証プログラムPython)を実行し、各文字が1回ずつ現れることを確認しました。

# 日本語ひらがな46文字の完全パングラム検証します

from collections import Counter
import pandas as pd
import re

# 対象とする文字集合(現代ひらがな46文字:ゐ・ゑは含めない)
hiragana46 = list("あいうえお"
                  "かきくけこ"
                  "さしすせそ"
                  "たちつてと"
                  "なにぬねの"
                  "はひふへほ"
                  "まみむめも"
                  "やゆよ"
                  "らりるれろ"
                  "わをん")

# 提示する完全パングラムひらがな46文字を各1回ずつ)
pangram = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"

# ひらがなのみを抽出安全のため)
filtered = "".join(re.findall(r"[ぁ-ゖ]", pangram))

# 出現回数をカウント
cnt = Counter(filtered)

# 検証ロジック
is_perfect = (
    set(hiragana46) == set(filtered) and          # 同じ文字集合か
    all(cnt[ch] == 1 for ch in hiragana46) and    # 各1回ずつか
    len(filtered) == len(hiragana46)              # 文字数一致(=46)
)

# 集計表を作成
df = pd.DataFrame({
    "かな": hiragana46,
    "出現回数": [cnt.get(ch, 0) for ch in hiragana46]
})

from caas_jupyter_tools import display_dataframe_to_user
display_dataframe_to_user("ひらがな46文字の出現回数", df)

print("パングラム文字列:", pangram)
print("総ひらがな数:", len(filtered))
print("ユニークひらがな数:", len(set(filtered)))
print("完全パングラム判定:", "はい ✅" if is_perfect else "いいえ ❌")

ひらがな数:46

ユニークひらがな数:46

完全パングラム判定:はい

(表で各かなの出現回数も確認できます。)

😠💢💢💢💢💢💢💢

2025-08-21

dorawii@執筆依頼募集中

自動ブクマするローカルサーバーとかの構成を作った。

ブクマには↓のサブアカ使用

https://profile.hatena.ne.jp/dorawii_bukuma/

はてなサイト側で読み込まれているはずのrksトークンを生成する関数を直接叩く方法がどうしても分からず結局request処理を自分で書く方法ではなく自動UI側の保存ボタンクリックするという無難な方向に落ち着いた。

最初から後者方法をとっていればもっと全然早く作れたのにというは所詮言い訳か。

とにかくスクリプトを公開しておく。

start-server.bat

@echo off
cd /d "C:\Users\user\Documents\jsscript"

:: Nodeサーバーを別ウィンドウで起動
start /min "" node run-batch-server.js

:: Pythonサーバーを別ウィンドウで起動(hatenaserver配下
start cmd /k "" python hatenaserver\server.py

以降はjsscript直下に配置

config.json

{
"username": "",
"password": ""
}
server.py

from flask import Flask, request, jsonify
import json
import os
from hatena_client import HatenaClient
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

config_path = os.path.join(os.path.dirname(__file__), 'config.json')
with open(config_path, encoding='utf-8') as f:
config = json.load(f)

@app.route('/bookmark', methods=['POST'])
def handle_bookmark():
data = request.json
url = data.get("url")
if not url:
return jsonify({"error": "Missing URL"}), 400

client = HatenaClient(config["username"], config["password"])
client.start_browser()

if not client.login():
client.quit()
return jsonify({"error": "Login failed"}), 403

success = client.add_bookmark(url)
client.quit()

return jsonify({"status": "ok" if success else "fail"})

if __name__ == "__main__":
app.run(port=12347)

あとはグリモンユーザスクリプトとして書くやつ

// ==UserScript==
// @name 自動セルクマ送信
// @namespace tampermonkey.net/
// @version 2025-08-07
// @description try to take over the world!
// @author You
// @match anond.hatelabo.jp/*
// @grant none
// ==/UserScript==

(function () {
'use strict';

const url = location.href;
if (!/^https:\/\/anond\.hatelabo\.jp\/\d+$/.test(url)) return;
const editLink = document.querySelector('a.edit');
if (!editLink) {
// 既に編集ページなので処理をスキップ
console.log('編集リンク存在するため、スクリプトを終了します。');
return;
}

fetch('localhost:12347/bookmark', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ url: url })
}).then(r => console.log("通知成功")).catch(e => console.error("通知失敗", e));
})();
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

https://anond.hatelabo.jp/20250821192753# 
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKb0qwAKCRBwMdsubs4+
SHfiAQDcXmTHBaZ5Zzr1KI/OxZ0xl69oevOdy1FXJYwYvsmo5AD/ZPtZiO1JgTDj
m+27iymlkdzIXOIGWfC82UTr1mJ7EwU=
=YoV+
-----END PGP SIGNATURE-----

2025-08-19

dorawii@執筆依頼募集中

もう少ししたら自動ブクマするコードができそうなんだけど、そのうえでコード公開に便利なように事前にpre記法に囲まれた部分はその外部の文字を適切にエスケープするコードをchatgptに指示して作ってもらった。

結構修正指示が大変だった。一時間ぐらい格闘。

ぶっちゃけなんでこれで動くのかはわからないので動くからゴーサインを出したというだけなのが情けない所。flushってなんだ?

使うときはchatgptにこのコード丸ごと書いて「ブックマークレット用に一行にして」と丸投げするのを要推奨。

ベースにした先人のコード

https://anond.hatelabo.jp/20240820150546#

javascript:(function () {
function escapeHtml(text) {
return text.replace(/&/g, '&')
.replace(/</g, '&#60;')
.replace(/>/g, '&#62;')
.replace(/"/g, '&#34;')
.replace(/'/g, '&#39;');
}

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-----

2025-08-13

anond:20250813160316

一番右の上から3番目のテーブルDeleteするのに一番左の一番上まで繋がってるのが見えると思うが

一個Joinすればいいという問題ではないし別にJoinでなくても他の方法でやってもいいわけだが

素人でも簡単にできるというならじゃあその場合の例を君が例えばあげてみてくれ

anond:20250813160119

一番右の上から3番目のテーブルDeleteするのに一番左の一番上まで繋がってるのが見えると思うが

一個Joinすればいいという問題ではないし別にJoinでなくても他の方法でやってもいいわけだが

素人でも簡単にできるというならじゃあその場合の例を君が例えばあげてみてくれ

anond:20250813155838

お前もしかして外部キー制約が何なのかわかってないだろ

「なんか削除しようとすると文句言われる」

「どうやらJOINとかが必要らしい」

ぐらいのふわふわ感で言ってね?

テーブル構造がどれだけ複雑だろうが、

参照元(子レコード)を削除しないと参照先(親レコード)を削除できない

参照先を登録しないと参照元登録できない

で同じなんだが

anond:20250813155138

DELETE c

FROM child c

JOIN parent p ON c.parent_id = p.id

WHERE p.id = 123;

anond:20250813153326

外部キーがあればJoinが発生するし関係が複雑になれば素人ではかけないようなのも出てくる

なければ親だけ消して子にゴミが残るという運用ができる

FKがあればDB側にコストが発生(性能的な問題

FKがなけばアプリ側にコストが発生(整合性的な問題

するだけの違いのような?

FKのせいでDB側のコストというのはパフォーマンスの話で工数ではないしほとんどの場合無視できるはず

整合的な問題コストというより元の工数の話だね

DBリレーショナルにしなければならないということはなくてトランザクションスクリプトの塊の場合も多い

その場合ゴミが残らなければ正常に動かないということも十分にある

これはスキーマ管理自動化があれば、コマンド一発で終わるのでは

自動化ツール説明書によればその通りだけど

実際の運用ではDBの変更というのは一番クリティカルな部分だし大規模なところなら専門のDBAがやったりして非常にコストはかかる

2025-08-08

anond:20250808091553

◉「ファクト人権配慮した制度設計→現状では不十分』」

* → 評価・主張(事実断定ではない)。「不十分かどうか」は価値判断領域

かにそうですね。そう思ったので昨日別記事追記しました。


https://anond.hatelabo.jp/20250807221532

◉「AIを使った結果、大事論点民主制正統性)がスルーされた」

* → あなた解釈・主張。


とおっしゃるなら、多数決採用する中で少数者を「価値中立」の立場で掬い上げるのは如何なる手法ですか。代替案をお聞きしたい。

そしてその手法問題があるという指摘は上記増田に書きました。


民主制正統性自体は 現在日本国憲法採用する原理であり、一意見としてスルーされるのは本当に残念です。

◉「『少数者を取り残さない』を掲げる側こそ人権配慮必要

* → 一般的規範として妥当AI活用の国際原則人権包摂を重視)。 ([oecd.ai][1], [unesco.org][2], [欧州議会][3])

で、チームみらいは価値中立からこの考えには乗らないのですか?

◉「AI価値中立コピペだと『少数者を取り残さない』は難しい」

* → 一般論として妥当AI設計価値前提が必要)。 ([oecd.ai][1], [OECD法令][6])

その価値とは人権尊重ではないのですか?やはりそこは価値中立ですか?


あなた論調は常に人権尊重から一歩距離を置いているように感じます。(「一般論」「一般的」の多用)


◉「AIに尋ねたら『価値中立政治AI危険、明示的な価値設計必要』と返答」

* → あなた引用したAIの回答=意見であり、事実のものではない。


で、チームみらいはそのような意見には乗らずあくま価値中立ですか?

◉同一視は飛躍では?

参政党は排外主義的言説が国内外メディア問題視されており、イデオロギー色が強い右派ポピュリズムとして報じられている。他方、チームみらいの一次資料は透明性・立法の“見える化”・資金オープン化等のテックガバナンス寄り。“似ている”と断ずるなら、具体的にどの政策言動が重なるのかの提示必要

透明性の確保だけでは中身が右派ポピュリズム化することは避けられません。結局多数決なので。

もちろん手続きが透明化されることは右派ポピュリズム化を抑制する働きはあるでしょう。しかし、結局どの価値観に拠るかが(前述の増田でも述べましたが)なければただの多数決です。

また、前述の増田でも述べましたが、そもそも反体制的な意見投稿しづらいという問題があります

AI価値中立の“コピペ”と決めつけは早い

同党は“しゃべれるマニフェスト”や参加型ツールを人手の審査と組み合わせる前提を謳っている。運用設計次第で、人権指針を埋め込む余地はある。まずは設計の具体(データ公開、監査、異議申立て)で評価すべき。 ([TibSocpjqvxxipszbwui][9])

 確かに運用設計次第で人権指針を埋め込む余地はあると思います。そこにはとても期待しています

ただまずjoinの参加のハードルが下がらないことには話が始まらないです。


そして参加者がそれなりに憲法リテラシーがある人でないとAIに適切なスクリプトを投げることもできません。

憲法リテラシーが高い層は主にリベラル側にいるので、政府に対しては批判的です。

なので運用にはその人たちの参加のハードルを下げる必要があると思います。


タン氏のモデル理想像だが、他国コピー不可能

台湾のvTaiwan等は長年の市民ハッカー文化制度接続の蓄積が土台。日本で同モデル実装するには、同等の制度文化的前提が必要で、単純比較で断じるのは不正確。 ([Democracy Technologies][4])


 それはその通り。そもそも大統領制でvTaiwanは諮問機関にすぎない。

joinはチームみらいとの切り離しが困難。前述の増田にも書きました。


◉”人権の明示的フレーム(影響評価アクセシビリティ・異議申立て監査)をどこまで制度に埋め込むかは今後の検証点。”

結局これができなければ第2の参政党になってしまます

◉まず「不十分だと思う具体箇所」を3つだけ挙げてもらえますか?


そんなわけで


https://anond.hatelabo.jp/20250807221532

色々批判していますが、第二の参政党が生まれてほしくないだけです。

何か誤解されているようですが、エリート臭が気に食わないわけでもありません。

白雪姫の譬え話も何をおっしゃりたいのか全くわかりません。

支持者の批判者に対する苛烈な反応が気になる(個人的なただの印象です)。

お忙しい中レスポンスありがとうございます。是非頑張っていただきたいです。

2025-08-07

現状でチームみらいが心配な点

まあ確かに「不十分」だけだとそれこそ不十分な指摘だから、今の所の自分問題意識呈示しておく。

問題点自分が今思いつく限りだと2つ。


一つ目は【政権与党自分政治信条を知られ、参加履歴思想調査と化すリスクがある】
これは自分観測範囲ではあまり言われていないので一つ目に挙げてみた。広い意味でのアクセシビリティの話なので話の流れ的には先に二つ目を挙げたほうが良かったかもだが。
議院内閣制採用する日本では当然政権与党になる可能性がある。
となると、最悪自民参政、みらいの三党連立政権ができたとき戦争ばっちこいの政府政治信条を把握され、戦中の治安維持法のような法律ができたら思想信条から赤狩り」をされる恐れがある。
となると、憲法保障する秘密選挙趣旨に反する恐れがある。
台湾ではあくま諮問機関であり、そこの意見法的拘束力はなく、更にこの機関独立性が保障されているようだが、日本では一体化している、というかむしろその判断自体が党の政策となるから不可分。
そうなると参加履歴思想調査と化すリスクがあり、政府批判的な意見呈示しづらくなる。


とりわけみらいは価値中立を謳っておりみらいはストッパーたり得るのかという部分が心配

例えば5000いいねがあれば必ず政策として議論俎上に上げるという方式として、現状で参政党支持者が押し寄せればあっという間にクリアするだろう。

二つ目懸念点とも共通するが、台湾では有識者利害関係者による諮問機関があって、そこが一応のストッパーとなり得る。

日本で同様のシステム採用したとして、その選抜方式が定まっていないし、最近石破内閣の下ですら「日本学術会議」の改正案が通ってその独立性が弱められたばかり。人権の二文字を出しただけで左翼認定外国人認定される昨今、日本学術会議も同様の批判を浴びて改正案が通ってしまった。その選抜方式こそが最後の砦だが、選抜の際に人権配慮という価値判断を挟むのか、挟むならそれをどう担保するのかが不明。
台湾ではその過程を透明化することで担保しようとしているようだが、過程が透明化されたからといってその結果が人権配慮されたものとなる保証もない。
この砦が崩壊するとそのまま政策として採用されてしまう。

二つ目は【アクセシビリティ】
これは最近ホッテントリにも入っていたし割と指摘する人が多いので問題意識は支持者の中でもあるとは思うが、忙しい人、身体障害者などはそもそもjoinできない。
joinできる人の意見しか反映されなくなる。そもそもわざわざ政党意見を申すほど熱意のある人はなかなかいない。演説会に足を運ぶレベルに熱心な人は多くない。陳情に行ったことがある人などほとんどいないだろう。結果取り残される。
これも前述の有識者利害関係者の諮問を通した上で政策として取り上げるという方法があるが、前述通りその選抜時に価値判断は挟まざるを得ないし、その価値判断担保される保証もない。


この点がクリアされるなら是非とも応援したい。

anond:20250806101832

2025-07-21

なんかスパムで荒れてるし今から英語使ったら負けなwwwwよーい

I have a dream that one day on the red hills of Georgia, the sons of former slaves and the

sons of former slave owners will be able to sit down together at the table of brotherhood.

I have a dream that one day even the state of Mississippi, a state sweltering with the heat

of injustice, sweltering with the heat of oppression, will be transformed into an oasis of

freedom and justice.

I have a dream that my four little children will one day live in a nation where they will not

be judged by the color of their skin but by the content of their character.

I have a dream today!

I have a dream that one day, down in Alabama, with its vicious racists, with its governor

having his lips dripping with the words of "interposition" and "nullification" -- one day right

there in Alabama little black boys and black girls will be able to join hands with little white

boys and white girls as sisters and brothers.

I have a dream today

2025-07-02

🎤 桃太郎 - Momo’tic Anthem - SOUL’d OUT Ver. 🎧

(Verse 1 / Diggy-MO'風)

Yo 昔々 その遥か昔

からまれたっていうCrazy男子

ジイとバアがLoveで拾った奇跡

育ったBoyは武闘派StyleでElectric

腹減ったら “黍団子(ギビダンゴ)” 片手に

鬼退治のオファー来たぜYo マジに

「ついてきなキミ 俺の旅路

Dog, Monkey, Pheasant──Join the synergy!

Hook / Main Chorus

黍団子(ギビダンゴ)掲げて Let’s go!

鬼ヶ島までRide on the Flow

友情(ナカマ)で繋がるこのビート

悪を討つぜ! 桃太のスキルで!

(Verse 2 / Bro.Hi風)

チェケラ!鬼退治は任しとけ

ドーベルサルキジ in da モモパレード

Yo 兄貴桃太郎!ノリで行こう!

鬼も泣き出すJustice暴風(ボウフー)!

宝ごっそり Peaceに戻し

村人ハッピー 叫べ “おかえり!”

レジェンドじゃなくてリアルな俺ら

SOUL'd OUT式でバッチリ乗せた!

Bridge / Hype感マシマシ)

俺らのBeatで島が揺れる

鬼の城もBreakin’ down with flare

怖いもの? Nah, we ain’t got that

伝説超えたら “昔話” Back!

Last Hook / 全員で)

黍団子掲げて Let’s go!

鬼ヶ島までRide on the Flow

友情(ナカマ)で繋がるこのビート

悪を討つぜ! 桃太のスキルで!

からBorn!ギビダンゴ魂!

SOULOUT鬼ヶ島ミッション

語り継げよ 千年先まで

これは“Story”じゃなくて“History”!

👘🔥 🎌 桃太郎、終了!(Mic Drop

2025-07-01

[] 増田CSSを紹介する記事(英文スパム対策付き)

Chromeブラウザには増田を快適に閲覧するための コンパクトな増田 という古い拡張機能があったが、Chrome更新対応し切れておらず、既にChromeには新規インストールできなくなってしまっている。Edgeにはまだインストール可能だが、いずれ対応しなくなる可能性が高い。

そこで、「増田トップページで、言及エントリ(返信・トラバ)を一覧から除外することで、新規エントリだけを一覧できる」という機能に絞ってコンパクト増田再現、ついでにいくつかのおまけ機能付与したスタイルシート(CSS)を今年の4月に公開していたのだが、今回改めて英文スパム対策を追加したので公開する。

これを導入するには Stylus という拡張必要で、少し気軽さには欠けるが、増田以外にも活用できるので、この機会にぜひ導入してみてほしい。拡張インストールしたあとは、下記のコードコピペして新規スタイルとして導入する方法もあるが、スタイルシートを公開できる userstyles.world の増田CSSページ(※毎朝9:00直後はアクセスできない) から [Install] ボタンインストールするほうが、自動更新にも対応するので便利かもしれない。

増田CSS (7/20: 増田文字数制限のため、スパム対策部分は省略しました)

/* トップページ言及エントリを除外 */
/* 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: "特殊記号: &[&#38;] <[&#60;] >[&#62;]";
  background: url(/images/common/outsite-wh.gif) 0 3px no-repeat;
}

/* スパム対策部分は下記URLの [Install] ボタンで事前確認できます(随時更新中) */
/* https://userstyles.world/style/23028/ */

なお、このCSS適用すると、NGワードを含むこの増田自体も、増田トップページからは消えてしまう(この増田単体の個別ページなら閲覧できる)。

PCスマホ向けの導入方法

念のため、PCスマホCSS適用する方法解説にもリンクしておく。

PC: 【StylusウェブサイトCSS適用できる拡張機能自由カスタマイズ! | ナポリタン寿司PC日記

https://www.naporitansushi.com/stylus/

iPhone: MaKeoverアプリiPhone SafariCSSカスタマイズ万博パビリオン予約結果一覧を見やすくする使い方

https://gintachan.com/makeover-app-css-change-safari-how-to/

Android: スマートフォン AndroidFirefoxCSSカスタマイズ Stylus の使い方・初期設定方法

https://skypenguin.net/2025/06/21/post-109209/

(7/21追記) また、スパム特に多い時は、1ページまるごとスパムということもあるので、PCなら uAutoPagerize (Chrome)weAutoPagerize (Firefox) などの拡張を使うと、自動でページが継ぎ足されて快適に読み進められる。ただし、継ぎ足ししまくるとメモリ不足などでブラウザが重くなることがあるので、そうなったら page: 20 などのページ番号をクリックしてから続きを読もう。

(参考) 増田の頻出キーワードリンク上位20抽出JavaScript

また、スパム対策の簡易NGワードは、下記のスクリプトを使って抽出した「直近の増田の頻出キーワードリンク上位20件」から誤判定しそうな lineuser を除いた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キーワード判定に踏み切る後押しとなりました。

2025-06-26

anond:20250625162131

SQLを使って説明してみましょう。

過度なJOINが非効率なケース

提示テーブル構造を例に説明します。

ここで、「Aのデータと共に、関連するBとCのデータも取得したい」という一般的要件を考えます。多くの人が最初に思いつくのは、`JOIN`を使ったクエリでしょう。

SELECT
    A.A_id,
    A.A_attrs,
    B.B_attrs,
    C.C_attrs
FROM
    A
JOIN
    B ON A.B_id = B.B_id
JOIN
    C ON A.C_id = C.C_id
WHERE
    A.A_id = 'some_a_id'; -- 特定のAレコードを取得する場合

このクエリは、B,Cの重複が大量発生し、さら属性データサイズが大きい場合は非効率になる可能性があります

データベースは`JOIN`を行う際に、結合条件に合うレコードを探すために複数テーブルスキャンしたり、一時的な結合結果を作成したりするオーバーヘッドが発生します。

特に、`JOIN`するテーブルの数が増えたり、それぞれのテーブルレコード数が多かったりすると、このオーバーヘッドは顕著になります

また、「JOIN乱用するなら第三正規形にする必要ないんだよな」という点も重要です。

第三正規形はデータ冗長性を排除し、データ一貫性を保つための設計原則です。

しかし、その結果としてデータ複数テーブル分散され、結合が必要になります

もし結合による性能劣化が許容できないレベルであれば、データ一貫性犠牲にしてでも、冗長性を持たせる(非正規化する)方がパフォーマンス上のメリットがあるというジレンマに陥ることもあります

しかし、それは正規化のメリットデータ一貫性更新時の不整合防止など)を失うことにもつながります

個別クエリを発行する方が効率的なケース

主張されているのは、以下のようなアプローチです。

1. まずAのデータを取得する。

2. Aのデータから得られた`B_id`と`C_id`を使って、必要に応じてBとCのデータ個別に取得する。

-- ステップ1: Aのデータを取得
SELECT
    A_id,
    B_id,
    C_id,
    A_attrs
FROM
    A
WHERE
    A_id = 'some_a_id';

-- アプリケーション側で、上記で取得したB_idとC_idを元に、必要であれば以下のクエリを発行

-- ステップ2: Bのデータを取得 (例: Aから取得したB_idが'b1', 'b2'だった場合)
SELECT
    B_id,
    B_attrs
FROM
    B
WHERE
    B_id IN ('b1', 'b2');

-- ステップ3: Cのデータを取得 (例: Aから取得したC_idが'c1', 'c2'だった場合)
SELECT
    C_id,
    C_attrs
FROM
    C
WHERE
    C_id IN ('c1', 'c2');

この方法の利点は以下の通りです。

結論として、この程度のことをAI質問できないあなた無能であることが完全証明されました。

2025-06-25

よくさ、joinすれば簡単からっつってjoin多用するバカいるじゃん、SQLの話ね

でもさ、join乱用するなら第三正規形にする必要ないんだよな

A: A_id, B_id, C_id, A_attrs

B: B_id, B_attrs

C: C_id, C_attrs

みてーなデータがあってさ、Aで取得した場合は、B,CはAから発生したユニークID個別に取ったほうがどう考えても効率がいいでしょ

2025-06-19

LaravelのEloquentがバカすぎてつらい

Laravelを使ってる奴けっこう多いと思うんだけど、みんなEloquentに満足してるの?

自分は正直、あれが賢いと思ったことが一度もない。触るたびにゴミ箱に捨てたくなる。

たとえば、belongsToとかhasOneみたいなリレーション普通なら、JOINで一発で取りたいじゃん?

でもEloquentは基本的に別クエリselectしやがる。

「with使えばいいじゃん」とか言ってるやつ、頭の中までEloquentに最適化されてんじゃねえのか。

いや、確かにwithでまとめて取れるけど、それでもJOINじゃなくて複数クエリ投げてるだけだからな?

リレーション多いDB設計になってくると、Eloquentの無能っぷりがどんどん見えてくる。

速攻でN+1問題にブチ当たって、「え?みんなこれで仕事してるの?」って本気で思うわ。

あと、LaravelのマイグレーションゴミDB周り本当にゴミ

自分もLaravelに初めて触れたとき(もう十年以上前か)「これが現代PHPか」と思って浮かれてたけど、業務でLaravelを自ら選定したのは一度だけだわ。

引き継ぎ保守でLaravelを触るとめっちゃ気分が下がる。マジで滅びてくれんかな。

世のLaravel信者たち、「Eloquent最高!」とか言ってるけど、あんたたちもEloquentと同じレベルバカになってないか

まあ、CRUDアプリケーションしか作っていない人には合っているんだろうけど

2025-06-08

とある増田万博レポ(長文)

まだ2桁来場にはとどいてない、通期パス持ちの金なし増田。一度くらいは9時入場してみたいなぁと思って。最短で取れた9時入場は6/5だった。

かなりだらだらと冗長に書いたので、気になる所だけ読んで欲しい。あとで、ポイントごとにAIに要約させた記事投稿するつもりだ。

[:contents]

会場到着まで

東ゲート予約でチャリンコ圏内在住なのでチャリンコでゆく。メトロより安上がりだし、なにより有酸素運動ができる!おまけに行きや帰りの夢洲駅~メトロ中央線の人込み回避までできる!ひとごみにいるだけでMP減っていく人間からこれは小さくない。

万博会場へのサイクリングロードとして、「淀川リバーサイドサイクルラン」というのが設定されているのだが、本来淀川本流左岸をまっすぐ走れたはずが、左岸工事の遅れのせいで、毛馬から大川沿いに逸れて中之島経由という遠回りになっている。大川沿いはまだしも、天満橋あたりから高見でまた淀川左岸堤防に戻るまではただの市内の道路と変わりないし、無駄アップダウンもあったりで実体からはこのゾーンお勧めできない。

軽く朝飯食って7時過ぎに家をでて、昼飯・おやつローソンの大盛チャレンジを買っていく。お気に入り高菜明太が1件目になかったが2件目には山盛りあった。あとまい泉カツサンドとを買ってゆく。興味が無いわけではないが万博飯は俺には高すぎる。

高見で淀川左岸堤防上を走り始めると、そこからkm信号が無い。今日は風もなく快適だ。ここは大体川をさかのぼる方向(西から東)に風が吹いていて、それが強いとチャリンコ漕ぐのがめっちゃ大変になるのだ(経験者語る)。ユニクロドライEXUVカットハーフジップTシャツでひやけたいさくもばんぜんだ!(そこまでじゃないかも)

万博会場夢洲に行くまでに常吉大橋夢舞大橋の2つをわたる必要があるのだが、「世界で一番美しいごみ処理施設」(kwskはggr)が見え始める最初常吉大橋のぼり始めたところで腹具合に異変が……朝起きて飯食って水を大量に飲んで一応出すものは出してきたんだが、かなり控えめな量しか出なかったので、これは予想されていた事態だ。俺の膀胱肛門の防御力に俺は自信がない。万博行って帰ってきたらおパンツが血まみれだったこともある。冷や汗かきながらチャリンコを漕ぎ進める。夢舞大橋上りは割と急なのでいつも押して上がる。真ん中あたりにいたオッチャンが「下でポリさんみはってんで!」って声をかけてくれる。基本押して歩きましょうって事になってるんだけど、下りとか押して歩きたくないよね、普通歩行者が多いならわかるけど勿論そんな事は無いし(徒歩でこの橋を渡る人、通るたびに1組位ははいてはる)。

とりあえずポリさん見えるまではチャリンコ乗ったまま。橋の終わりと次かつ最後のの交差点の真ん中位にパトライト盛大に光らせ、ポリさんが3人たってこっち向いてるのが見えた時点で、はやくはやくとせがむ腹をなだめながらチャリンコを押しておりていく。長い坂で出そうと思えばいくらでもスピードは出るうえに、それを遮るための自転車用車止めもある。チャリンカーがケガしない様に見張ってくださってるんだと思えばありがたいことである

車止めを抜けたところで再度ライドオンしてトイレに向かってペダルを漕ぐ。幸いポリ公はなんも言ってこなかったし、横を通り過ぎる時も大して注意を払ってこなかった。

会場到着、入場まで

駐輪場着が8:30。そのままトイレ急行、出すものを出す。今度は十分な量出たので安心して東ゲートへと向かう。ゲートが見える場所までくるとうんざりするほどの人が歩いてるトイレで5分ロスしたとすると、その間にメトロが2回弱到着してる。この時間は乗った事ないが、平日10時入場の時でも電車はそこそこ混んでるので、最低でも同じくらいだろう。ggってみると1編成は6両で定員1000名(座席定員750)。トイレのせいで2000名程度に先行を許してしまった(西ゲートの分も合わせたらその2倍かも)が、うんこ増田扱いされないためには避けられないないコストであった。

ぐねぐねと歩かされる(もしかしたらグリッチ利用でショートカットできる可能性もあるのだが悪用されると嫌なので書かない)ゲート前、早足でこれ以上動かないところまで来たら8:40だった。これなら9:20位には入れてるかな?と思ったが大間違いだった。万博はとにかく並び、待ち時間が大量に発生するので(同行者がいない場合は)暇をつぶせるものを持参する事をお勧めする。携帯でもいいけど、電池切れると大変なのでモバイルバッテリーは必需品だ。今回は文庫本持ってきたが、周りの会話が聞こえてきて普段の1/3位の速度でしか読めない。集中力が欲しい。

この日は快晴で、降水確率すら一日オールゼロ。9時前でも日差しが強かったが、さらにどんどんキツくなってくる。まだまだ梅雨前で湿度は低めなのにご覧の有様なのは梅雨以降の事を考えると本当に心配である自分はまだいいやと思って刺さなかったが、日傘をさす人もそこそこいた。自分の前の人の横に周りを気にせず日傘をさしてる気づかいの足りない人がいて、何度も顔にあたりそうになって気の毒だった。日傘をさすときは周りに配慮しましょうね。ほとんどの人は出来てるだけにこういうの見かけると残念すぎる。

手荷物検査は9時の少し前からまり、少しずつ列は進んでいく。流れの都合か、無理やり割り込んだりしてるわけでもないのに、最初自分の後ろにいた人が自分の4人前とかに居るのをみる。そんなに自分の番が遅れるわけでもないだろうがなんか嫌な気がしてしま自分に嫌気がさす。逆に真横にいたはずの人がゲート前で数人後ろにいたり、とかもあるので気にしないのが一番なのだが気になっちゃうよね。

ゲートが近づいてきて(ゲートが動くわけじゃないが)、ゲート上の屋根の陰に入れると一気に体感温度が下がる。二十度半ばなので寒くなったりはしないが、たまに涼しい風が流れてきたりと、直射日光下とは雲泥の差でにじんでいた汗が引いていく。

ポケットのなかの鍵などは荷物の中におしまいください」との声が聞こえてくる。これは初めて聞く案内だ。手荷物検査まわりの効率化だろう。鍵とか忘れやすかったり直すのに時間とったりするのを削減したいのだろう。鞄に鍵をつっこむ。(9時台だけやってる可能性もある?)

いよいよ入場!時間は9:50。70分も並んだのか……並ばない万博とはなんだったのか

入場後 ~14:00

エントリは(万博会場で近くにいた人にも)特定される情報が無いように書くつもりだが、例外的パビリオン万博運営にはあの人だろうなって分かるレベル情報は出すことにする。そこから名前特定まではかなり遠いはずなので。

アイルランド

最初に向かったのは東ゲートから一番近い外国パビリオンアイルランド館。これまでも何度か入ろうとしたものの、既にもう並んでも予約券の枠がありません、とか並べませんとか言われたところだ。公式ふくめ、いかなる予約も受け付けていないところ。

なんとか並べたので列にjoinしたのだが、観られたのは展示の2部屋だけ。9時と13時20分に4回ずつのエキシビジョンツアー&amp;ライブミュージック整理券を配布しているのだが、9時の配布は自分が入場する前にとっくに終わっており、最初エキシビジョン(10:45)までつなぎの入館だったようだ。こういう情報ちゃんと聞かないとわからないorスタッフちゃんと聞けば確認できる。ネットにも情報があるのかもしれないが、ここに関しては下調べをしていなかった。展示に関してはこの後エキシビジョン&amp;ライブに参加したのでそこで書こう。

並んでる間にちらっと紙チケットで入場したという年配のご夫婦の話が聞こえてきて、しゃべってる相手若い人が「万博IDを予約しないと並ぶことしかできないんですね」って言ってて少し驚いた。そういやそんなのありましたね。そいや、あれって予約しないでも入れるから、あれ買えば満員でも9時入場できるんじゃないの???と、今これを書きながら調べてみたら、紙チケットで予約なし入場できるのは11時以降となっていた。「6か月前」に販売開始される「日時指定引換券」であれば、9時入場もできるっぽいので、このご夫婦はおそらくそれで入場されたんだろう。万博ID作成なしには当日予約すらできないの、本当にデジタルディバイドの深刻さを感じさせてくれる。もしかすると「当日予約センター」とかでなんとかなったりするのかな?と「紙チケット 当日予約センター」でggってみるもそれらしいページはヒットせず。

TechWorld館 (ネタバレあり)

アイルランドからリング下を歩いてTechWorld館へ。10:30の予約には間に合った。道すがらみるパビリオンは今まで殆どたことないレベル行列の少なさで(9時入場の威力)、次はいつもリング下まで並んでるサウジアラビア館に決めた。

先日togetterホッテントリに入ってたが、「s/台湾/テックワールド/」された世界に迷い込んだかのようだった。主催会社名「玉山デジタルテック株式会社」でggっったらでてくる日経サイトとか、id:entry:4771086957407295329、id:entry:4771081046455224641あたりみても、まぁ殆ど万博用のダミー会社ですよねこれ。

この世に「テックワールド」という島or国が存在するのは当然、という感じでスタッフ案内や映像は作られてる。

ちなみに、これが3日前のキャンセル枠で取れた、本日唯一の予約だった。7日前予約はイタリア館だったか忘れたが超人気のパビリオンに全振りして全落しました。欲張ると全落普通にあるのでみんな注意しようね!遠くから宿泊込みでの来場だとリセマラもできないもんね。


以降ネタバレなので嫌な人は適当飛ばしてね。


最初心拍数計測用(その場でこの説明はされない)のスマートウォッチ的なデバイスを渡される。

大きくわけてLife, Future, Natureの3つの展示があるが、そのどこで一番心拍数が上がったかを測定し、それを元に台湾ツアープラン提示するという流れなのだ

Lifeゾーンでは最初にでかい樹(幹が液晶か何かの表示デバイスになってる)とその下に生える草をイメージしたのか、たくさんのChromeBookロボットアームでなびくように動き、それぞれに違う映像が表示される。総合的にみたらすごいはずなんだけど、興味が無いだけかもしれないが表示される映像自体クオリティはあまり高いとは思えず、今回の各国パビリオンで見せられる(映画とかと比べるとしょぼい)CG動画しか思えなかった。テックワールドにたくさんの種類が居る蝶をスワイプして樹の幹に飛ばす演出もあったが、その蝶もあまり精細さに欠けて個人的にはうーんという感じだった。

Natureゾーンでは最初4K高精細レーザープロジェクタとやらで、丸い壁にそった巨大なスクリーンに高精細な台湾自然映像が流される。これは結構好みだったんだが、途中で一度処理落ちなのかガクっと映像乱れるところがあっておいおいってなりました。

次に台湾……じゃなくてテックワールド特産品輸出業としても存在感のある蘭の展示。蘭自体は綺麗だったんだが、台湾……じゃなかったテックワールド技術ナノスプレーというもので花にTechWorldやEXPO2025等がプリントされており、その部分が自分からは大不評でした。いや印刷はとても綺麗できっと凄い技術なんだろうけども。

次は8Kアートディスプレイとやらが5つほど並んだ部屋で、台湾芸術家作品学習させたAIでそれを動かす展示。ガイドの方が「近づいてみても、本物の絵のようにみえませんか?」とおっしゃってたが、光の反射とかは抑えられて綺麗ではあったが、近づいてよくみると「あー、液晶ですねぇ」という感じでした。AI静止画彫刻に動きを出す、というのも好みではなかった。

最後にFutureゾーン。台……テックワールドの「(半導体)チップ」が世界を救う!レベルチップ推し動画で正直引いた。使われてた合成音声も2025年としては少し不自然なところが気になったし。

すっごいダメだししてるけど、台湾は好きですよ。ほんとに。ただなんか、90年ごろの日本傲慢さの焼き直しみたいなのを見せられてる気がしてなんだかなぁってなったんです。将来今の日本みたいにならないといいですね。

サウジアラビア

あー、すみません、大して中の展示覚えてないです。記憶力なさすぎて自分うんざりだ。

TechWorld出てから即来たのに、リング下にまで列ができていた。が、思ったよりもするする動いて、20分も待たずに入れたように思う。9時入場パワー恐るべし。

スークを模した建築は物凄く雰囲気があってよかった。映画の中に入ったような感覚があった。暗くなってからは壁面にプロジェクションマッピングされるそうで、それはそれで綺麗そうだ。

最初ラクダの毛から織物を織る実演?をしていた。目だけ出てる衣装で下向いて織ってたので、もしかしたらロボットがそれっぽい動きしてただけとかの可能性もあるかもしれない。(多分ない)

あと、自分では行ってないんだけどなんだかトイレを褒める発言複数回聞こえてきた。

次の万博開催国でもあり(登録博と呼ばれる万博で、EXPO2025もそれ)、金回りがよさそうだみたいな声も複数回聞こえてきた。

トルコ

サウジアラビア館の3つとなり、いつも見かけるよりも待ち行列が少ないので並んでみる。展示は量的にも結構すくなくて、それに比べて奥のギフトショップデカすぎでうーんってなりました。あまり心に残るものが無かった……音楽やらの実演ショーがあれば観てみたいんだけども、やってるのかなぁ?

ふたたびアイルランド

13時20分のチケット配布に何時から並べるのか?と聞いてみたところ、熱中症対策もあってそれは言えない事になっているとの事だった。常識的に考えて1時間前位なんだろどうせ、とあたりをつけて、マイボトルに水を入れるために給水機まで歩いて行った。実はアイルランド館の目の前にも給水機あるのに、ちょっと遠くのところまで……。

戻ってくるころに丁度12時になったので、いわゆる「ガンダム方式」と呼ばれる定時に開放される当日予約枠を抑える。何時にどのパビリオンの枠が解放されるかはggってください。この時に自分がとったのは落合陽一のnull2インスタレーションモードというもの。2時半の予約。携帯ポチポチしながらアイルランド館の前に戻ってきたらなんとまぁ、もう待機列ができ始めてる。1時間前じゃないのかよ!と慌てて自分も並びにゆく。

個人的アドバイスだが、本万博は待つこと並ぶことを恐れてては良い体験はできない。自分の9時入場も、トイレ無駄(では勿論ないが)にした5分で2000人に先を越された。下手すると20分位は入場が遅れたわけだ。5分の到着の遅れで。「並ばない万博」なんて誰が言ったかしらないが、無責任まりないデマしかない。長時間並ばなくて良いのは何らかの手段でとれた予約(2か月前・1週間前・3日前と、各パビリオン独自予約)だけで、それ以外は全て並ぶ覚悟必要だ。なので、自分(やその一団)が興味あるものみたいもの公式ページの「イベントカレンダー」なども駆使してきちんと絞り、戦略的に動かないといけない。パビリオン以外にも色々楽しめるイベントは開催されている。

正面の前の方でみるとなると待つことが必要でも、通りがかってみるだけで楽しめるようなものもある。例えば東ゲートからリングに向かっていくとある大阪ヘルスケアパビリオン リボーンステージという半屋外ステージでは色んな音楽などのショーを頻繁にやっている。6/5も「きいやま商店」という沖縄ロックグループがやっていた。後ろの方から少し見ていたが、前列真ん中あたりはほぼファンが埋めていたように見えた。タオルを頭上で振るように演者が促すと迷いもせずみんなそうし始めたので。ただ、これをヘルスケアパビリオンが一体どこで告知してるのかよくわからない。「きいやま商店 万博」「きいやま商店 リボーンステージ」などで検索しても、きいやま商店による告知しか出てこない。リボーンステージの予定表とか無いのかよ?流石に無いわけ無いと思うものの、ggっても見つからないのも事実で、あまりにヘタクソだなぁと言わざるを得ない。

他にも、南ポップアップステージで同日開催されていた、『伝統の中にある未来 - Japanese Spirituality -(伝統文化未来共創Project)』なんかもチラ見したが、時間があればじっくりみたかった。伝統芸能の踊りとかやってた。未来技術より伝統芸能とかの方が興味あるんだよね。

各国パビリオンの展示、なんかもう似たり寄ったりの所が多くて。テーマに沿ってやるとどうしても似かよるというのもあるんだろうが、それでも。

話がズレすぎたので、アイルランド館の方に戻ろう。

12時過ぎに待ち行列解禁され、パビリオン敷地の砂利道にならぶ。配布は1時間以上後なので、皆砂利の上とか置いてある石の上に座る。そして30分もしない間に待ち行列が配布チケット分を越え、行列末尾でスタッフが「これ以上並んでもチケットもらえない可能性があります」と案内し始める。傍から見ても行列があるから並べるんだろうと思うのだろう(実際自分も以前そう思った)、ひっきりなしに同じ事を繰り返すスタッフ。なんかもうちょっと良いやり方があるんじゃないの?と思うのだが。

そこから10分程したらもう完全に「今から並んでもチケットはもらえません」と、「NO MORE TICKET」とかかれたボードを持ってとお断り状態に。このお断り状態パビリオンが一番ストレスたまるんだよね。自分も数々のお断りをくらいまくってきただけによーくわかる。有志マップなどにある「先着」や「自由入場」を信じて行ってみても「今は並べもしません」、と言われ、いつになったら並べるようになるの?って聞いても大体「わかりません」しか返ってこない。公式サイトの「予約なしで楽しめる」て案内も、実際の所「そこそこ並べば参加できます」なことが殆どだ。割と広い範囲からみえものな事も有りはするが。

その2へつづく

2025-06-02

anond:20250602123431

お前の反論自分が引き算の美学事業コストを語れてると勘違いしてるパターン

でも実態は、事業規模に対する思考スコープの狭さがにじみ出てる。

まず最初に、

事業全体のコストが見えてないエンジニア

「少数のシステムしか経験のない飼い殺しエンジニア

それ、論点でもロジックでもなくて、ただの願望自己放尿。中身が一切ない。

議論に勝てないと人格批判に逃げるのは、知的敗北宣言と同じ。

事業の初期段階で数千万リクエストをさばけるシステム目指して設計を複雑化させるエンジニアカスだろ。」

これは一見合理的に見えるが、実際は「過剰な単純化」の自己放尿にハマってる。

誰も「初期段階でフルスケール設計しろ」なんて言ってない。

言ってるのはただ1つ。「JOIN安易に使うな。構造が持つリスクには最初から備えろ」。

それは設計の事前分岐であって、複雑化じゃない。

将来のトラブルを「避けられる形にしておく」ってだけの話。

たとえば、JOIN構造を避けて辞書キャッシュを設けるのは、初期では数行のコード差。その数行で未来地獄が避けられるなら、やる価値はある。

逆にJOINが詰まり始めた後の障害対応は?

JOINを使った全クエリの洗い出し、クエリの再設計DBインデックス再構成アプリコードの再配備キャッシュ整備、パフォーマンステストロールバック対応

事業全体の工数で見たら、圧倒的に最初に避けとくほうが安いんだよ。

それが見えてない時点で、「事業全体のコスト」とか語らないほうがいい。

言ってることが逆。

しかもね、「事業の初期だから雑でもいい」って、それ本気で言ってるならプロダクトの成功を前提にしてないってこと。

リクエスト数が伸びたら死ぬ設計リリースして、「伸びたらそのとき直せばいいでしょ」とか言うやつに限って、死んでる間に顧客も信用も消えてる。

初期だからこそ、「伸びたとき対応できる構造」は最低限持たせる。

それがプロ設計。初期だから甘くていいは、責任放棄

JOINは便利だが地雷になりやすい」というのは経験則に基づいた設計判断

「初期はシンプルに」というのは同意だが、それは未来無視していいという免罪符じゃない。

「将来の死を回避する設計」=「複雑化」ではなく、保険投資

事業全体のコストを考えるなら、障害燃える運用コスト再開発工数も含めろ。

JOIN安易依存する設計こそが、長期コスト最大化の温床だよ。

現場を知らずにコスト語って自己放尿してるのは、そっちだ。

anond:20250602123405

負荷試験現実からかけ離れた雑なデータしか作れない素人です」

それ、お前の妄想上の素人に向かって自己放尿してるだけで、俺の話には一切当たらない。

こっちは負荷試験のもの限界性と、それを補完する構造設計重要性を冷静に語ってるのに、いきなり人格攻撃してくるあたり、論理で勝てないのわかってて感情で殴りにきてるのが丸わかり。

負荷試験ちゃんとやれ」は正しい。否定してない。

問題は、「それですべて検出できる」と過信して、構造リスク無視したJOIN地獄を平気でリリースする思考なんだよ。

負荷試験ってのは後段の保険設計リスクを減らした上で、最後検証として行うもの

設計段階で「将来のJOIN負荷が怖いから別構造にしよう」と言った人間に向かって、「負荷試験しない素人」呼ばわりは完全に筋違い手段の順番を取り違えてる。

しかも「マトモな負荷試験やったことない奴が多い」とか言ってるが、それってつまりマトモな設計ができないやつらに向かって、「とりあえず負荷試験で何とかしろ」って押し付けてるだけ。

それこそ素人の発想。

JOINスキーマ構造問題負荷試験挙動確認手段レイヤーが違うんだよ。

さらに言うと、どんなに「マトモな負荷試験」したつもりでも、本番の非線形データ増加、スキューのかかったアクセスパターンランダムクエリ負荷、システム全体の複合的ボトルネック、全部再現不能

わかってる奴は知ってる。負荷試験は通過点であって保証じゃない。

負荷試験ちゃんとやる」ことと「JOIN構造地雷から目を逸らさない」ことは両立する。「JOINリスクがある」と言ったら「素人」と決めつけてくる時点で、お前の設計思考JOIN脳の自己放尿サーキット無限ループしてる。

もっと設計責任を持て。

JOIN魔法じゃない。遅延爆弾だ。

anond:20250602121311

あー、出た出た。「負荷試験で全部検出できる」っていう過信系エンジニア典型的自己放尿ね。

それっぽい口ぶりしてるけど、中身はかなり雑。

リリース前に負荷試験で危ないクエリ洗い出せばOK

それ、現実では成立しないことのほうが多い。

まず、負荷試験のスケーラビティは静的でしかない。

データの複雑さ、偏り、スパイクタイミングの揺らぎ、全部再現不能

とくにJOINが関わると、クエリプランデータ量や分布に応じて変化する。

たとえば初期はNested Loop爆速だったJOINが、数百万件超えるとIndex Mergeになり、さらデータが偏ると一気にフルスキャンに堕ちる。「その場では平気」でも、翌月には地獄が来る。

それに、負荷試験では「時間の経過による蓄積的劣化」は測れない。

たとえばバッチ処理や月次分析クエリ広告配信ログなど、JOIN対象が少しずつ増えていく処理では、初期の負荷試験では一切異常が出ない。半年後、1年後に突然クエリ1本でサーバが沈む。

まり、「リリース前に大丈夫だった」は、将来の保証にはならない。時間は最強の敵だ。

そして負荷試験が万能だと思ってる時点で視野が狭い

それ、運用経験が浅い人間が夢見る自己放尿だよ。

本当に経験積んでるエンジニアは、「負荷試験で詰めきれないものが必ずある」ことを理解して、そもそもそういう危うい構造最初から作らないようにする。

JOINを避けるのは、「MySQLがいけてないから」じゃない。「JOINという構造自体が後から効いてくる爆弾から」。

どんなDB使ってようが、JOINスケール問題は必ず起きる。

素人が死んだのをJOINのせいにしてるだけでは?」

逆。JOINを無警戒に使って設計して、死んだときに「こんなにデータ増えるとは思わなかった」とか言い出すやつが素人

こっちは、死ぬとわかってる構造を未然に潰してるだけ。その結果が、辞書化・プリロードキャッシュパーティション非正規形の併用設計

JOINのせいにしてる」んじゃない、JOIN限界理解してるから設計回避してる。それだけ。

というわけで、負荷試験万能説、JOIN無罪論MySQLディスり、全部現場経験不足と理屈すり替えから来てる自己放尿である

知識の断片で語るな。

設計ってのは、未来リスク先読みして潰す知的労働だ。

JOINは便利。でも無敵じゃない。

大丈夫だった」と「大丈夫であり続ける」の間には、何百万件もの地雷が埋まってる。

その地雷を踏ませないようにするのが、プロ仕事だよ。

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