
はてなキーワード:serenaとは
CLAUDE.md や rules / skills みたいな形で、重要なコーディングルールはあらかじめかなり固めておく。
たとえば repository 層や Entity 層は具体的にどう書くのか、テストケースはどういう書き方をして、どういう観点で項目を洗い出すのか、みたいなAI への指示は最初から用意しておく。
あと、linter や ArchUnit、dependency-cruiser みたいなアーキテクチャ制約も、自分なりの定石を持っておく。
割と過剰なレベルでガチガチに固める感じで、アーキテクチャルールも「◯◯は XXX に依存できない」みたいなブラックリスト式じゃなくて、「◯◯は XXX だけに依存できる」みたいなホワイトリスト式の方が良いと思っている。
ts 前提だと eslint やtsconfig は一番厳しい水準に設定する、流石にきつい部分でてきたらそこだけ緩める、という運用
おすすめなのは、何かしらの小規模案件や個人開発アプリを1つオーバーエンジニアリング上等でガチガチ構成で作っておく。
そこで出てきた linter 設定やプロンプト設定を、別案件に横展開する感じ。
正直、ガチガチすぎるとMVP とかレベルだとコード量は増えるけど、メンテする前提の案件ならバイブコーディング時代だと普通にペイすると感じている。
アイディアを思いついたら、AI と壁打ちしながら仕様を洗い出していく。
手書きでドメイン図を書いて、それを写メ撮って画像認識で仕様整理、みたいなのも割とアリだと思っている。
どういう画面があって、どういう入力項目や表示項目が存在するか、バックエンドはどういうエンドポイントが必要か、この辺りは最初に一通り洗い出しておく。
それに加えて、ユーザーが初めてトップページを開いてから登録・ログインして実際にサービスを一通り使うまで、みたいな流れをそのまま Playwright のシナリオテストに落とせそうな形で何パターンか仕様書にしておく。
フロントエンドで、DDD における集約みたいな概念がそのまま当てはまらない領域についても、設計時点で洗い出せているなら Entity 的なものやドメインサービス的なロジック用のレイヤを作って、ドメインオブジェクトとして実装していく。
最初に作った基本設計をベースに、◯◯Entity、XXEntity、△△Entity……を作るためのプランとチェックリスト形式のTODO を 1つのmdファイルに吐き出してもらう。
フェーズごとにフォーマッタ、linter、アーキテクチャルールなど一括実行したコマンド実行させて失敗してたら成功するまで修正繰り返させる。
ある程度わかりやすい単位でAI に依頼する感じで、出来上がったコードをレビューする前提なので、実装プランのmd自体はよほど分かりやすいツッコミどころがない限り細かくレビューしない。
mdのフォーマットは skills 側で事前に用意しておく。
フロントエンド用、バックエンド用の両方でドメイン層のファイルを作る。
当然、足りないロジックは後から絶対に出てくるけど、最初から完璧は目指さない。
TODO 一覧の中から自分の認知負荷が許す単位で「チェックリストのここからここまで実装して」と指示を出し、実装が終わったらTODO 項目のチェック状態を更新してもらう、mdファイルもコミットに含める。
コミット前にはlintルールを無効化していないか、意図通りの実装になっているかはgitdiff の差分で必ず確認する。
git worktree を使うことが多い。
よくやるのはフロントエンドの画面モック作成とバックエンド実装の2並列で行う。
実装プランを考えてもらうときは「◯◯画面を実装プラン考えて」くらいの単位で依頼する。
実装プランのmdファイルを作るときのプロンプトには、基本設計の〇〇画面の項目一覧をベースに、◯◯のアイテムコンポーネント、リストコンポーネント、◯◯のボタンコンポーネント、Informationコンポーネント、外部通信用の ◯◯Gateway を実装する、◯◯コンポーネントは既に ◯◯機能で実装してあるからそれを使って、◯◯は処理が膨らみそうだからドメインサービスで実装して、みたいな感じで頭の中のふんわりしたイメージを伝える。
バックエンドも同様で、◯◯のエンドポイントを作って、Gateway がこれこれ必要だから実装して、これはインターフェースと実装分けてね、Entityへの変換処理は関数分けて、◯◯の処理は Usecase 層で、◯◯の処理はドメイン層で、Usecase が膨らみそうだから ◯◯ の処理は独立したクラスにして、あ、似たようなのが ◯◯機能にあるからそれを参考にして、くらいの粒度で指示を出す。
フロントエンドの実装を待っている間に、バックエンドのプランを考えたり、タスク粒度を調整したり、リファクタリングプランを考えたりする、またバックエンドのAI待ち時間はフロントエンドのことをする。
フロントエンドオンリーの実装とかで作業が競合するリスクあるときは並列作業しない。
チェックリスト更新が終わるごとに差分を確認して、問題なければコミットメッセージを提案してもらってコミットする。
細切れにするコストよりも、レビューする人間の認知不可が許すレベルであればある程度まとまった単位でレビューして実装速度を優先する派。
テストは、ある程度実装が進んでリファクタリングが辛くなってきたタイミングで作ることが多い。
カバレッジやミューテーションテストなど、定量的にテストを評価できる仕組みは導入する。
バックエンド側のテスト実装は正直かなり楽で、行数や認知的複雑度を厳しく制限して単一責務の原則を守って実装しておけば、AI がかなり高精度なテストを出してくれる。
これもテストファイル実装プランを作ってもらって「ここからここまでのテスト20ファイルを実装してね」をレビュー挟んで繰り返す感じ、例えばミューテーションテストのkill率100%ならそんなに詳しくは見ない。
フロントエンドはテストの定量指標での評価が難しいので、そこはその分レビューを頑張るしかない。
自分はこんな感じでやっている。
感覚としては、優秀だけどシステムのアーキテクチャ全体の責務を負ったことはない経験不足の2年目やSESの部下を扱うEMに近いのかなぁ。
周りの話を聞いていると、もっともっとAI に自律的にいろいろやらせているようにも聞こえる。
これでも 1日1人で数万行レベルはコードを書けてるので、AIない時代に比べると数ヶ月分の成果を1日とかで出してることになるが、もっと本気出せるのかなぁ。
「全機能分プラン作ってね!そこから良い感じの粒度でコミットも自分でやってね!」みたいな指示を良い感じに出せたとしても、指示がでかすぎると、脆弱性盛々になったり、lintエラーループでパニクって linterオフにし始めたり、テスト通すためにエラー握りつぶして assertTrue(true) し始めたりする。
それは流石に許容できないレベルじゃない?が紛れ込むリスクが上がりすぎるんじゃないかなぁ。と思ってるんだがどうだろうか。。。
あとツールはあんま入れてないねkiroとかspec-kitとか、ガチガチ細切れで仕様書作るメリットもあんま感じなかった。
mcpもserenaくらいしかいれてないや、トークン節約してレートリミットの猶予伸ばした方が結局開発早くなるかなって。
いろいろ入れた方がいいんだろうか。
完全にオレオレでこんな感じでやっているんだけど、みんなspec駆動開発というものをどんな感じで、具体的にどうやっているのかが知りたい。
テニスのアンスコといえばフリフリ白パンツか、紺ブルマーのイメージだ。純白のスカートから躍動する脚、チラチラのぞきブルマー。実物は見たことないのに、なぜかドキドキしてしまう。この偽装された記憶はどこから来たのだろう。
ウィキペディアによれば、第1回大会はセンターコートに置いてあった芝生の手入れ用のローラーを新しくする資金集めを目的に、1877年7月9日から始まったそうだ。種目は男子シングルスのみのアマチュアの大会だった。
1884年に女子シングルスと、それまでオックスフォードで開催されていた全英男子ダブルスがウィンブルドンで開催されるようになった。1913年には女子ダブルスとミックスダブルスが加えられ、1968年にはプロ選手の参加が認められた。
世界中から強豪選手が参加するようになったため、地元イギリスの出身者は長らく優勝できなかった。男子シングルスでは1936年のFrederick John Perryから2013年のSir Andrew Barron "Andy" Murrayまでの77年間、優勝がなかった。また、女子シングルスでは1977年のVirginia Wadeの優勝を最後に40年以上イギリス人の優勝者は出ていない。
ちなみに、このように海外勢いに門戸を開いた結果、地元勢が淘汰され消沈することを「ウィンブルドン効果」という。
開催時期は原則として6月最終月曜日から2週間で、ちょうど英国の社交の季節だ。競馬のロイヤル・アスコット(「マイ・フェア・レディ」に出てくるあれ)、競艇のロイヤル・ヘンリー・レガッタもこの時期だ。
ドレスコードが厳しいのでも有名で、原則身に着けるのは白一色である汗じみが見苦しくないようにともいわれる。ブリタニカのページなので確かだろう。
https://www.britannica.com/story/why-do-tennis-players-wear-white-at-wimbledon
元々、ウィンブルドンでは女性はロングスカートや分厚いシャツ、それから帽子をかぶることが要請されていた。こちらではコルセット付きだったとも(ただし白い衣装について異説を紹介していることに注意)。20世紀初頭のテニスプレイヤーは道行く女性の姿と大して変わらなかったのである。だから本気で優勝を目指すことはおろか、ちょっと大きな球を返すのさえ大変だった。当時の男性がずっと軽装だったのと対照的である。
流れを変えたのはDorothea Douglass Lambert Chambersという選手で、1900年により簡素なシャツにネクタイ姿で登場した。7度シングルで優勝し、1908年には夏のオリンピックで金メダルを取っている。彼女は1910年にドレスコードやエチケットについての本を著している。
その後フランスのSuzanne Lenglenがテニス界のフラッパー(新しい女)として知られるようになった。飲み物をブランデーと入れ替えたり、強めのメイクをしたりといたずらも好きだった。負けると感情的になったことでも知られる。彼女は白のみのファッションを許容していたウィンブルドンに立ったが、エキセントリックなファッションセンスでも知られていた。ミンクやオコジョのコートをまとい、当時としては短いスカートでプレイしたのである。彼女が次の世代の女性たちに道を切り開いた。
そして戦後の1949年、Gertrude Moran(Gorgeous Gussie)がスキャンダルを引き起こした。というのも、ウィンブルドンの意匠は白一色だと規定されていたのだが、そのあまりにも「明らさまな」白い衣装に観客はショックを受けた。どういうことか。試合の前にMoranは公式開催主のTed Tinlingに衣装をデザインしてくれと依頼していた。一見すると規定に従った衣装に見えるのだが、実際にプレイするとフリル付きの下着が丸見えになったのだ。
これに関し、AllEnglandClub’sの委員会は「ウィンブルドンに野卑と罪を持ち込んだ」と猛烈に批判し、国会でさえ適切な衣装についての議論が起こった。Tinlingは33年のキャリアにもかかわらずウィンブルドンのホストを追放された。にもかかわらず、Moranは魅力的な姿から彼女は人気だった。彼女は後に「自分はただの女の子だったが、メディアが大げさに書き立てたのだ」という趣旨の発言を残している。彼女は60年代まで活躍した。
https://www.thecut.com/2018/08/womens-tennis-outfits-convtroversy-history.html
衣装に関する議論は定期的に起きている。全ての内容を翻訳していてはページが長くなるので、見せパンに関係するいくつかのみをピックアップする。
1958年にアメリカのKarol Fagerousは金のラメ入りの見せパンを全仏オープンで披露したが、すぐさまウィンブルドン大会への参加を禁止された。「対戦相手を不快にさせる」のがその理由だ。しかし、金のラメを白いレースで覆うことで参加を許可されている。
あるいは2016年のナイキがデザインしたベビードール風のテニスウエアがある。しかし、選手が身体を隠すのに苦労したし、ひらひらして浮いてくる。実際写真で検索するとしょっちゅう短パンというか見せパンが丸見えになる。なので、ナイキはすぐにその衣装を改善したそうだ。
https://www.slideshare.net/guimera/wimbledon-2014-fashion-through-history
見せパンについてはこちらも参照。たとえば6番目の写真のChris Evert、1976年のピンクの見せパンや、41番のTracy Austin、1981年の黄色の見せパンを確認できる。50番はTatiana Golovinは赤の見せパン(短パン)で、このときウィンブルドンは衣装がすべて白という規定に抵触するかどうかでもめたらしい。一応、下着の色は自由だということでおとがめなしだったそうだ。56によるとMaria SharapovaやSerena Williamsの赤の短パンが、そして色付きのネイルが問題になったらしい。
https://www.dailystar.co.uk/news/latest-news/bbc-bosses-blasted-focus-female-17086364
なお、大衆紙によると2016年にBBCの偉い人がテニス選手の見せパンやお尻ばかり撮影したと批判されたようだ。以前にビーチバレーの記事でも書いたが、カメラが性的にならないようにする工夫というのは必要である。
https://www.news-postseven.com/archives/20190904_1444086.html?DETAIL
エラリー・クイーンを読んでいた時に、確か「Zの悲劇」だったと思うが(いや、「レーン最後の事件」だったかな?)、ペインシェンスという娘が恋人とスキャンティ(パンティー、ショーツの別名)を買いに行く場面があった。同時代の小説での証言として興味深いのでメモしておく。
https://www.elle.com/jp/fashion/fashion-column/a35747586/history-of-pantslooks2021/
また、パンツでヒットしたのでここに記す。死文化していたが、フランスでは女性がスカートでないパンツスタイルをはくことが法で禁じられていたとのこと。女性の権利に関して非常に進歩的である地域に見えても、案外不平等なシステムの残滓が残っていたりするのもので、ときおり愕然とさせられる。たとえばスイスで女性参政権が得られたのは驚くなかれ1991年である。女性への制限、男性への制限、どっちでもない人への制限、みんなで少しずつなくしていきたい。
よくドレスコードなんかでもめる話で、ハイヒールを必ずはくよう要請される場所というのがある。なんかの映画祭でも話題になっていたことを記憶している。伝統に敬意を払うのは大事だが、はいていないと入場できないのはやりすぎのように思う。ドレスコードってのはみんなが居心地悪くならないようにするためのもので、人を縛るものとはちょっと違う。
例えば、足を怪我していたらどうするのか。もっと極端な話、脚が生まれつきない人はどうするのだ。茶化しているのではない。様々な疾患や障害があろうが困らないようにするほうが、誰にとっても生きやすい社会になるはずだ。
「TennisGirl」というスカートからお尻丸出しの歴史的に有名な写真がなんと英語版ウィキペディアには掲載されている。ウィキメディアコモンズにはときおりとんでもない画像があるから驚かされる。
自分の投稿をブルマ増田としてまとめてくださる方がいる。あるいは、いつも応援のコメントをつけてくださる方がいる。ありがたいことだ。けれども、どうやって拾い上げているのだろう。一日に何千件も投稿されるはてな匿名ダイアリーの中から見つけるというのは大変な作業だ。すべてが注目エントリに入るわけではない。いったいどうやっているのかちょっとうかがってみたい。ブルマーというキーワードで定期的に検索をかけているのだろうか? それともそういうスクリプトが組めるのだろうか?
例えば女性のショーツ(そして見せパン)の形の変遷、チアの見せパンの歴史。また、古代エジプトでクレオパトラはカエサルと会ったときにどういう服装をしていたのか(絵画のようにトップレスになることがあったのか)、それからトップレスが許容されていていた地域の時代的変遷だ。これは身分にもよるだろうし、少し複雑になるだろう。あるいは、どうしてギリシア・ローマの流れを引き継いだ西洋絵画では、長らく女性器と陰毛があまり表現されていなかったのか。多くの古代文明では時に具象的に、時に抽象的に表現されているのに。謎は多い。
インターネットだけでの調査にはおのずと限界もあるだろう。仕事や家事で時間がとれるとも限らない。
イコールって言ってもセリーナがトランプの支配するアメリカの象徴って意味ね。
岡田光世 「トランプのアメリカ」で暮らす人たち 全米テニス決勝で吹き出した政治的分断
https://news.infoseek.co.jp/article/20180916jcast20182338771/
反トランプ派
この一連の騒動について反トランプ派は、 「どんな手段を使っても勝ちたいというセリーナは、大統領選の時のトランプと同じだ」、
「気に入らなければ、相手を激しくたたく。まるでトランプだ」、
「セリーナも観客も、同じアメリカ人として恥ずかしい。アメリカ・ファースト。アメリカ人以外の選手には敬意も払わないのか。観客は親トランプ派に違いない」、
親トランプ派
一方で親トランプ派は、まったく逆の捉え方をしている。
米国の政治や社会を紹介するウエブサイト「スペクテーターUSA」には、
「泣き言を言うセリーナ・ウィリアムズはテニス界のヒラリー・クリントンだ(WhiningSerena Williamsis tennis's Hillary Clinton)」との見出しで論評が掲載された。
「思うように試合が運ばないと審判に怒りを爆発させるセリーナは、2016年大統領選で自らの敗北をさまざまな不正と他人のせいにしたヒラリーと同じだ」と指摘した。
親トランプ派の捉え方は割と珍しい解釈ではなく、オーストラリアの諷刺画はもちろん、
リベラルな立場の人が多いはてぶでも似たような「セリーナ・ウィリアムズ=ポリコレの象徴」解釈だった。
ウィリアムズは暴言、権力に訴えて無理矢理自分の意見を通そうとするナショナリスト。
この解釈に基づくなら、アメリカの反トランプ派にとっては大坂なおみこそが真のポリティカル・コレクトネスの大権現なのか?
てっきり女性差別や人種差別と闘う母であるウィリアムズを下した時点で、
大坂を応援する側がジャパニーズ・ナショナリスト認定されているのかと思っていた。
複雑すぎて良く分からなくなってきたよ?