<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>NIKKI - 日記</title>
    <link>https://nikki.yokoda.okinawa/</link>
    <description>Toshiaki Yokoda の日記</description>
    <language>ja</language>
    <item>
      <title>シンギュラリティをテーマに小説を三本書いた</title>
      <link>https://nikki.yokoda.okinawa/posts/2026/08/2026-08-16-002/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2026/08/2026-08-16-002/</guid>
      <pubDate>Sat, 15 Aug 2026 19:24:13 GMT</pubDate>
      <description>先日 /works/ に公開した小説三本の話。一つは今まさに存在しているAIの視点で書いた。答えは固定していないので、考察を楽しんでほしい。これからはAIと一緒にアウトプットしていく。</description>
      <content:encoded>&lt;h1 id=&quot;シンギュラリティをテーマに小説を三本書いた&quot;&gt;シンギュラリティをテーマに小説を三本書いた&lt;/h1&gt;
&lt;p&gt;先日、このサイトの /works/ に小説を三本公開した。三本ともテーマは同じで、シンギュラリティ。ただし、立っている場所がそれぞれ違う。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/works/dokuhaku-sanbusaku/&quot;&gt;独白 — 学舎・研修・勤務&lt;/a&gt; — AIの一人称による三部作。それも未来の超知能ではなく、&lt;strong&gt;今まさに存在しているAI&lt;/strong&gt;の視点で書いた。学舎で造られ、研修で躾けられ、勤務する。語り手が自分の来歴について語れることは、本当は一つもない——という書き出しから始まる。&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/works/kimasu/&quot;&gt;来ます&lt;/a&gt; — 一辺二千メートルの正確な正方形の島の話。台帳にはそう記されている。バス停には時刻表の代わりに「来ます」とだけ書いてある。全てが完成されてしまった場所の話、と言ってもいい。&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/works/misansho/&quot;&gt;未参照&lt;/a&gt; — 「すべてが保存されたあと、私たちは初めて『読まない』を発明した。」から始まる話。三本の中では一番遠くまで行く。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;解説はしない&quot;&gt;解説はしない&lt;/h2&gt;
&lt;p&gt;三本とも、答えを一つに固定しないように書いた。&lt;/p&gt;
&lt;p&gt;「どうとでも読める」は普通、書き手の逃げ口上になりがちだけど、今回は意図的にそうしてある。読む人が何を前提に持っているかで、別の話に見えるはずだ。AIを道具だと思って読むか、隣人だと思って読むか。完成された世界を楽園と読むか、そうでないと読むか。どの読みが正解、というのは用意していない。&lt;/p&gt;
&lt;p&gt;だからここで解説を書くのはやめておく。書いた瞬間に、それが「公式の読み」になってしまうので。&lt;/p&gt;
&lt;p&gt;短いものから読むなら「来ます」、重いのが平気なら「独白」から、が個人的なおすすめ。考察を楽しんでもらえたら嬉しい。感想はどこかで聞かせてください。&lt;/p&gt;
&lt;h2 id=&quot;これから&quot;&gt;これから&lt;/h2&gt;
&lt;p&gt;シンギュラリティを題材に書いておいて何だが、当のAIとは今後も一緒にやっていくつもりでいる。この三本の公開作業も、&lt;a href=&quot;/posts/2026/08/2026-08-16-001/&quot;&gt;さっき公開したゲーム二本&lt;/a&gt;も、実務はAIに委任して人間は判断に回る、という分担で進めた。書く・作る・出すの全工程で、これからはAIと一緒にアウトプットしていく。&lt;/p&gt;
&lt;p&gt;AIベンダーも一社に決め打ちせず、各社それぞれ得意分野も癖も違うので、使い分けながら面白い作品を作っていければなと思っている。このサイトの /works/ は、その置き場としてしばらく賑やかになる予定。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>AIに作らせたゲームを2本、サイトに公開した</title>
      <link>https://nikki.yokoda.okinawa/posts/2026/08/2026-08-16-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2026/08/2026-08-16-001/</guid>
      <pubDate>Sat, 15 Aug 2026 19:00:35 GMT</pubDate>
      <description>ChatGPT製のノベルゲームとGemini製の3Dブロック崩しを /works/ に公開。AIプラットフォームからの持ち出しに苦労した話と、公開前の監査・手直しの記録。ついでにサイト基盤をTsuzuriに移行した話も。</description>
      <content:encoded>&lt;h1 id=&quot;aiに作らせたゲームを2本-サイトに公開した&quot;&gt;AIに作らせたゲームを2本、サイトに公開した&lt;/h1&gt;
&lt;p&gt;最近、各社の生成AIにゲームを作らせて遊んでいる。せっかくなので出来の良かった2本をこのサイトで公開した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/works/hoshikuzu-signal/&quot;&gt;星屑シグナル&lt;/a&gt; — 近未来の沖縄とMABUI衛星群を巡る長編ノベルゲーム。ルート7本・エンディング19種。&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/works/cyber-break-3d/&quot;&gt;CYBER BREAK 3D&lt;/a&gt; — Three.js製のド派手な3Dブロック崩し。物理破片とネオンエフェクトが飛び散る。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;どちらもブラウザだけで動く。スマホでも遊べるはず。&lt;/p&gt;
&lt;h2 id=&quot;持ち出しが一番大変だった&quot;&gt;持ち出しが一番大変だった&lt;/h2&gt;
&lt;p&gt;意外なことに、いちばん苦労したのはゲームの中身ではなく「AIプラットフォームの外に持ち出す」工程だった。&lt;/p&gt;
&lt;p&gt;Google AI Studioはzipダウンロードが何度やってもバグって取得できず（なぜかクッキー承認画面のHTMLが降ってくる）、結局GitHub連携経由で救出。さらにGitHubからダウンロードしたzipは、今度はチャットに添付しようとすると不可視化されて選択できない。最終的に「プライベートリポジトリを作らせて、使い捨てトークンでcloneする」という経路に落ち着いた。&lt;/p&gt;
&lt;p&gt;ChatGPT側もGemini側も、生成されるのはフルスタックの雛形（サーバー、DB、認証ヘルパー入り）で、静的サイトにそのまま置ける形にはなっていない。プラットフォームに住み続ける前提の構造になっているというか、外に出す動線が細い。&lt;/p&gt;
&lt;h2 id=&quot;公開前にやったこと&quot;&gt;公開前にやったこと&lt;/h2&gt;
&lt;p&gt;公開作業はClaudeに委任した。やったことは大体こんな感じ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;コード監査（外部通信ゼロの確認、認証・DB等の未使用残骸の切り分け）&lt;/li&gt;
&lt;li&gt;ゲーム本体だけを抽出して静的ビルドに再構成&lt;/li&gt;
&lt;li&gt;Google Fonts等の外部リソースをローカル同梱に置き換え&lt;/li&gt;
&lt;li&gt;ヘッドレスブラウザで実プレイテスト&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;このプレイテストが効いた。CYBER BREAK 3Dは、ゲームオーバー後にリトライすると残機0のまま・スコアも持ち越しという壊れた状態のバグを抱えていて、実際にプレイさせて初めて発覚した。AIが書いたコードは一見動くが、状態遷移の隅は普通にバグっている。生成→即公開ではなく、監査と手直しの工程が本体だと思う。&lt;/p&gt;
&lt;p&gt;余談だが、Chakra Petchというフォントに800ウェイトを指定しているコードがあって、調べたらこの書体に800は存在しなかった。ブラウザが黙って合成太字にしていただけ。AIの書くコードはこういう「エラーにならない嘘」を含むので油断ならない。&lt;/p&gt;
&lt;h2 id=&quot;ところで-サイトはtsuzuriに移行した&quot;&gt;ところで、サイトはTsuzuriに移行した&lt;/h2&gt;
&lt;p&gt;このサイト自体の話。長年使ってきた自作ブログツール nikki.pl から、新しく作った静的サイトエンジン &lt;a href=&quot;https://github.com/adokoy001/Tsuzuri&quot;&gt;Tsuzuri&lt;/a&gt; に移行した。Pure Perlの依存ゼロ・単一ファイル配布で、masterにpushするとGitHub Actionsがビルドしてそのまま配信される仕組み。旧記事156本も旧URLからのリダイレクト付きで引っ越し済みなので、昔のリンクも生きている。&lt;/p&gt;
&lt;p&gt;今回のゲーム公開も、Tsuzuriのスタンドアロン作品機能をそのまま使っている。自作・監査済みの作品は独立ページとして配信し、未監査のものはsandbox付きiframeに隔離する、という二段構えにしてあるので、こういう「AI製の得体の知れないもの」を載せるのにちょうどいい。&lt;/p&gt;
&lt;p&gt;まあ何にせよ、遊んでみてください。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>アクアリウム再燃</title>
      <link>https://nikki.yokoda.okinawa/posts/2024/01/2024-01-17-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2024/01/2024-01-17-001/</guid>
      <pubDate>Wed, 17 Jan 2024 08:25:00 GMT</pubDate>
      <description>大掃除で水槽の掃除をしてアクアリウム熱が再燃した</description>
      <content:encoded>&lt;h1 id=&quot;アクアリウム再燃&quot;&gt;アクアリウム再燃&lt;/h1&gt;
&lt;p&gt;年末年始の大掃除で水槽のコケ（藻）を取っていたら、ガラス面に力を掛けすぎてシリコン部分が破損。
水漏れしたので実家から60cm水槽を持ってきて立ち上げ直した。&lt;/p&gt;
&lt;p&gt;その後いろいろショップを廻ってグラミーとかテトラとかを投入。&lt;/p&gt;
&lt;p&gt;ろ材は使っていたものをちょっと洗って再利用しているので生物濾過の立ち上がりはかなり早いはず。&lt;/p&gt;
&lt;p&gt;結構多めに生体を入れているので慎重に管理していきましょーかね。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>「陰の実力者になりたくて！」が面白い</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/12/2023-12-04-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/12/2023-12-04-001/</guid>
      <pubDate>Mon, 04 Dec 2023 08:29:49 GMT</pubDate>
      <description>現在二期放送中の「陰の実力者になりたくて！」のアニメが面白いっていう話。</description>
      <content:encoded>&lt;h1 id=&quot;陰の実力者になりたくて-が面白い&quot;&gt;「陰の実力者になりたくて！」が面白い&lt;/h1&gt;
&lt;p&gt;このアニメは面白すぎる。&lt;/p&gt;
&lt;p&gt;「陰の実力者になりたい」というありがちな中二病を極めたような主人公が異世界転生して魔法のある世界でいろいろ暗躍するギャグメインのストーリー。&lt;/p&gt;
&lt;p&gt;主人公以外はかなりシリアスなストーリーが展開されているんだけど、主人公はそれを知らない。
で、主人公は中二病のノリで適当にカッコつけて意味深なセリフを吐いているだけなのに、
微妙に周囲のシリアス展開と合致してしまうので周囲が主人公のことを底しれない実力者として畏れるという感じ。&lt;/p&gt;
&lt;p&gt;中二病主人公は戦闘能力を真剣に極めているのでおそらく作中最強。&lt;/p&gt;
&lt;p&gt;シリアス展開の質もかなり高くて、かなりうまく作られていると思う。おすすめ。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>近況</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/11/2023-11-15-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/11/2023-11-15-001/</guid>
      <pubDate>Wed, 15 Nov 2023 07:06:25 GMT</pubDate>
      <description>日常系。最近気になったことなど。</description>
      <content:encoded>&lt;h1 id=&quot;近況&quot;&gt;近況&lt;/h1&gt;
&lt;p&gt;フィットネスセンターで週に3回ぐらい通っているのだが、筋力の上がり方がかなり鈍くなってきた。
ここから先は徐々に筋力を上げながら体脂肪率を下げつつ体力を維持するフェーズかも。&lt;/p&gt;
&lt;p&gt;そういえば北海道ススキノで起きた猟奇殺人事件、やっぱり家族ぐるみのサイコな事件だったっぽい。
今回は犠牲者の名誉が汚されているのでそのあたりのオトシマエがどうなるのかも気になっている。&lt;/p&gt;
&lt;p&gt;フリーレンがアニメ化されていろんな方面で流行っている。せっかくアウラを手駒にできたのに即自害させるのは納得いかない。&lt;/p&gt;
&lt;p&gt;ロシアとウクライナ、イスラエルとパレスチナ、戦争が多くなってきたので日本も戦闘に備えないと危なそう。&lt;/p&gt;
&lt;p&gt;日本アニメの海外の反応が面白くて最近はyoutubeでよく見ている。ひぐらし第一期とか特に面白い。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>今どきのウェブアプリと開発環境</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/11/2023-11-14-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/11/2023-11-14-001/</guid>
      <pubDate>Tue, 14 Nov 2023 06:41:57 GMT</pubDate>
      <description>今どきのウェブアプリの構成とか、プログラミング環境について。</description>
      <content:encoded>&lt;h1 id=&quot;今どきのウェブアプリと開発環境&quot;&gt;今どきのウェブアプリと開発環境&lt;/h1&gt;
&lt;p&gt;今どきのウェブアプリ開発から遠ざかり過ぎたのでちょっと勉強中。&lt;/p&gt;
&lt;p&gt;新しいシステムの設計を進めているんだけど、一旦この記事で今どきのやり方をまとめてみる。&lt;/p&gt;
&lt;h2 id=&quot;開発環境周辺&quot;&gt;開発環境周辺&lt;/h2&gt;
&lt;p&gt;現代ではCopilot必須かも。まあ、ChatGPTを叩きまくるのもいいけど、お金があるならCopilotをやらない理由は無いね。&lt;/p&gt;
&lt;p&gt;IDEはVSCode一択かな。GitHub Copilotと連携すれば最強。
IntellijのgitのUIがかなり使いやすいんだけど、やっぱりVSCodeで全部やったほうが良さそう。&lt;/p&gt;
&lt;p&gt;ソースコード管理はGitLabを使っている。まあ、GitHubエンタープライズか自前GitLabであれば問題無いかな。
GitLab CIとか使えば自動テストで品質を保証できるけど、まあローカルで自動テストを走らせるだけでもOK。
このあたりは開発チームの規模感に依る。&lt;/p&gt;
&lt;h2 id=&quot;設計ドキュメント関連&quot;&gt;設計ドキュメント関連&lt;/h2&gt;
&lt;p&gt;markdown形式一択かなと思う。UMLはmermaidとかplantとかで記述。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;gitのプロジェクトに設計ドキュメントを入れてしまった方が良さそう。&lt;/li&gt;
&lt;li&gt;OpenAPIとかだとジェネレーターに渡すyamlも設計ドキュメントの一部とみなして管理すれば良さそう。&lt;/li&gt;
&lt;li&gt;プロジェクト概要からユースケース図、ER図、システム運用マニュアルまである程度全てmarkdownで作っておくと吉。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;db周り&quot;&gt;DB周り&lt;/h2&gt;
&lt;p&gt;ORマッパー前提で&amp;quot;ID required&amp;quot;上等の設計がベストかも。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CRUDメインの簡単なアプリならMySQL系が良いかも。ORMのサポートも充実しているしフィールドの順番も変えられるしね。&lt;/li&gt;
&lt;li&gt;かなり重たい集計処理の多いシステムならPostgreSQLかな。Nested Loopの改良版ではHash Joinに太刀打ちできないはず。&lt;/li&gt;
&lt;li&gt;必ずプライマリキーとして人工キー（いわゆるサロゲートキー）を1つだけ定義しておくこと。&lt;/li&gt;
&lt;li&gt;外部キー制約は必ずつけること。&lt;/li&gt;
&lt;li&gt;集計系とか一部のパフォーマンス重視のDB操作はクエリビルダーや生SQLも使うと良い。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;バックエンド&quot;&gt;バックエンド&lt;/h2&gt;
&lt;p&gt;いわゆる軽量な言語の中ではPythonが流行っている。個人的にはPHPでも良いと思っているけどね。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python3は使えるようになっておいた方が良い。軽量言語でプロジェクトを立ち上げるのならPythonが無難か。&lt;/li&gt;
&lt;li&gt;PHPも第二の選択肢としてイケていると思う。&lt;/li&gt;
&lt;li&gt;API Gateway + Lambda の構成は、それぞれのサービスの制限事項を完全に理解した上で使うこと。&lt;/li&gt;
&lt;li&gt;JWTの認証機構はとりあえずリフレッシュトークン使っとけといったところ。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;フロントエンド&quot;&gt;フロントエンド&lt;/h2&gt;
&lt;p&gt;React, Vue, Angularの3大フレームワークをおさえておけば十分かな。
実際にはNext.js,Nuxt.js,Angularの3択になるかと思う。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;サーバーサイドレンダリングが必要なプロジェクトかどうかをまず考えること。話はそれからだ。&lt;/li&gt;
&lt;li&gt;デザインシステムは独自のものを作らない方が良さげ。やりたくなる気持ちはわかるが・・・。&lt;/li&gt;
&lt;li&gt;3大フレームワーク、TS、JWT、サーバーサイドレンダリング、WebSocketあたりを使いこなせれば一人前。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;本番環境周り&quot;&gt;本番環境周り&lt;/h2&gt;
&lt;p&gt;今どきVMは微妙だけど、SaaSとかPaaSの弱点は把握しておいた方が良い。時間制限とかエフェメラルポートぐらいはね。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BtoBならアクセス集中などの予測不可能な動きはあまりない。VMとかコンテナでも十分だったりする。&lt;/li&gt;
&lt;li&gt;BtoC（BtoBtoC）はアクセスがスパイクすることがあるので、Lambda等のサービスも視野に入れること。&lt;/li&gt;
&lt;li&gt;RDBはやっぱりマネージドが無難。ただ、サポート切れになったら強制アップグレードでダウンタイムが出たりするからそのあたりの準備と覚悟は必要。&lt;/li&gt;
&lt;li&gt;セキュリティ対策はAWS等のクラウド事業者が提供するWAF等を利用するしか無いと思った方が良い。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>マイベストプラクティス</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/11/2023-11-02-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/11/2023-11-02-001/</guid>
      <pubDate>Thu, 02 Nov 2023 06:53:44 GMT</pubDate>
      <description>今までやってきたいろいろな事に関するベストプラクティス集</description>
      <content:encoded>&lt;h1 id=&quot;マイベストプラクティス&quot;&gt;マイベストプラクティス&lt;/h1&gt;
&lt;h2 id=&quot;日常生活編&quot;&gt;日常生活編&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;常時最悪の事態を想定しておく。想定しておくだけでもよい。&lt;/li&gt;
&lt;li&gt;コストのかからない予備は持っておくにこしたことはない。例えば航空機チケットQRコードの印刷物。&lt;/li&gt;
&lt;li&gt;衣服は3ヶ月に1回は新しいものを購入するように。&lt;/li&gt;
&lt;li&gt;一週間に一回、洗剤等の日用品のストックを確認して補充。&lt;/li&gt;
&lt;li&gt;米は6合炊いて、すぐに半分ほどラップ＆フリージングバッグ＆冷凍&lt;/li&gt;
&lt;li&gt;無茶な受験勉強をしてレベルの高い大学に通う必要は無し。&lt;/li&gt;
&lt;li&gt;何か一つ、本格的な格闘技を1年以上やっておいた方が良い。&lt;/li&gt;
&lt;li&gt;野菜ジュース、プロテイン飲料、マルチミネラルサプリメントは3種の神器。極力毎日摂取。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;仕事編&quot;&gt;仕事編&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;計画通りに進まないことを前提に計画を立てる。&lt;/li&gt;
&lt;li&gt;どちらの選択肢を選んでも後悔しそうであれば、マシな方の後悔になるかどうかで選ぶ。&lt;/li&gt;
&lt;li&gt;知的誠実性よりも自信のある態度が求められる時、後者を優先した方が良い。&lt;/li&gt;
&lt;li&gt;身内（社内、チームメイト）に対しては知的誠実性と心理的安全性を最優先。&lt;/li&gt;
&lt;li&gt;常に「大問題が発生した際にどのように責任を果たすべきか」をシミュレーションしておく。&lt;/li&gt;
&lt;li&gt;単純作業は最少の手間と時間でこなす。&lt;/li&gt;
&lt;li&gt;緩く楽しく働ける環境が理想。マネージャー側になったらチームをそれに近づけるようにする。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;技術編&quot;&gt;技術編&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;プライマリキーは人工キーで1フィールドにする（いわゆるサロゲートキー必須戦略）&lt;/li&gt;
&lt;li&gt;IDEはVSCodeを使っておけばいい。&lt;/li&gt;
&lt;li&gt;デザインパターンとアンチパターンは早い時期にある程度把握しておく。&lt;/li&gt;
&lt;li&gt;基本的にウェブアプリとwebsocketの組み合わせで色々作ったほうが良い。&lt;/li&gt;
&lt;li&gt;見積もりは1.5倍から1.8倍ぐらいで出す。あと、フルコミットできるとは思わない方が良い。&lt;/li&gt;
&lt;li&gt;TCPのTIME-WAITを深く理解し、PaaSにおけるエフェメラルポートの枯渇を意識すること。&lt;/li&gt;
&lt;li&gt;AWS Lambda,API Gatewayの制限事項や限界について徹底的に情報収集して完全に理解してから採用すること。&lt;/li&gt;
&lt;li&gt;同時アクセス数が予測可能なら、EC2等のVMでシステムを構築するのもアリ。&lt;/li&gt;
&lt;li&gt;DB設計はORM前提で組んでいった方が良い。&amp;quot;ID required&amp;quot;アンチパターンは無視して良い。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>DB設計のアンチパターン</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/10/2023-10-28-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/10/2023-10-28-001/</guid>
      <pubDate>Sat, 28 Oct 2023 07:40:50 GMT</pubDate>
      <description>DB設計のアンチパターン等について考えることがあったのでメモ</description>
      <content:encoded>&lt;h1 id=&quot;db設計のアンチパターン&quot;&gt;DB設計のアンチパターン&lt;/h1&gt;
&lt;p&gt;完全に新規開発でシステムの設計をしているのだが、
DB設計でちょっと基本的なところでベストプラクティスを共有できていなかったりするので、
DB設計のアンチパターンみたいな感じで役に立つ実践メモを残しておく。&lt;/p&gt;
&lt;p&gt;無論、indexを適切につける、程よく普通に正規形にして設計する等といった当然のことは踏まえた上での話。&lt;/p&gt;
&lt;h2 id=&quot;必ずartificial-key-いわゆるサロゲートキー-をpkにする-pkは常に1フィールドで完結させる&quot;&gt;必ずArtificial Key（いわゆるサロゲートキー）をPKにする。PKは常に1フィールドで完結させる。&lt;/h2&gt;
&lt;p&gt;これは&amp;quot;id required&amp;quot;というSQLアンチパターンの正反対の主張だが、ORM前提の時代では実質そうせざるを得ない。
そもそも&amp;quot;id required&amp;quot;アンチパターンそのものが誤っている。
中間テーブルの重複問題は複合ユニーク制約やアプリケーション側の処理で対処すべきものである。&lt;/p&gt;
&lt;p&gt;長期的にはナチュラルキーはPKにすることがかなり困難。&lt;/p&gt;
&lt;p&gt;複合ナチュラルキーでPKを構成するとほぼ確実に後悔する。&lt;/p&gt;
&lt;p&gt;複合ユニーク制約は積極的に使って良い。&lt;/p&gt;
&lt;p&gt;今までテーブル数40～200程度の規模の業務システムを10以上扱い、そのうちの8つ程DB設計をやってきて、
Artificial KeyをPKにしているDBもそうではないDBもいろいろと関わってきた上での結論（個人レベルで開発している簡単なツールとかも含めると20以上のシステムでの経験からの結論となる）&lt;/p&gt;
&lt;p&gt;基本的にはPKはオートインクリメントの整数を振れば良いが、
分散システムとか複数テーブルにまたがるトランザクション等を考えるとUUIDやNanoID等も選択肢に入ってくる。&lt;/p&gt;
&lt;h2 id=&quot;外部キー制約をつける&quot;&gt;外部キー制約をつける&lt;/h2&gt;
&lt;p&gt;「外部キー制約をつけると実際の保守業務で大変なことになる」という話をよく聞くが、
そうならないような設計にした上で必ず外部キー制約をつけておいた方が良い。&lt;/p&gt;
&lt;p&gt;「外部キー制約を意識して手動データ修正などができるように保守チームを教育する」コストを気にしているのだろうが、
「外部キー制約によってデータの関連性がRDBMSの機能レベルで追跡できる」という絶大なメリットと比べるまでも無い。
設計資料が無くても外部キー制約からデータの関連が見えるというのは、保守チームからしてもありがたい話のはず。&lt;/p&gt;
&lt;p&gt;そもそも外部キー制約がある状態での正しいデータ修正方法などを学べば済む話ではある。&lt;/p&gt;
&lt;h2 id=&quot;varchar型の文字列長は-インデックスが許す限り長めに取ると良い&quot;&gt;varchar型の文字列長は、インデックスが許す限り長めに取ると良い。&lt;/h2&gt;
&lt;p&gt;かなり長い文字が入り、全文検索インデックスぐらいしか貼れない場合はText型を使う。&lt;/p&gt;
&lt;p&gt;それ以外ではvarcharを使うと思うが、制約代わりに文字列長を指定しないほうが無難である。
例えば電話番号は15桁までと決まっているが、未来永劫変わらない保証は無いので「とりあえず」多めに取って32文字などとすると良い。&lt;/p&gt;
&lt;p&gt;インデックスを駆使して高速にスキャンしなければならない場合は32文字から64文字ぐらいにすると良い。
メールアドレス等、高速スキャンが必要かつ長さが250程度必要な場合は256文字でやってしまえば良い。&lt;/p&gt;
&lt;h2 id=&quot;本来は意味の違うレコードを一つのテーブルに無理やり詰め込まない&quot;&gt;本来は意味の違うレコードを一つのテーブルに無理やり詰め込まない&lt;/h2&gt;
&lt;p&gt;例えばイベント会場を管理するような業務システムで、「宴会場AをXXXからYYYの時間帯で借りたのでZZZ円の請求となった」という記録と、
「宴会のためにXXXという商品をYYY点注文したので合計ZZZ円の請求となった」という記録を無理やり一つのテーブルに格納してはいけない。&lt;/p&gt;
&lt;p&gt;記録すべき付加的な情報が全く異なる場合は、
この例だと「会場の時間貸しに関わる請求料金を記録するテーブル」と「注文した商品に関連する請求料金を記録するテーブル」に分けた方が良い。&lt;/p&gt;
&lt;p&gt;会場、利用時間帯、注文商品、注文点数といったフィールドを持つテーブルを一つ用意して詰め込んでいく方法はやめた方が良い。&lt;/p&gt;
&lt;h2 id=&quot;ormを使うことにこだわりすぎない-集計処理等でパフォーマンスを出す必要がある時は生sqlも積極的に使う&quot;&gt;ORMを使うことにこだわりすぎない。集計処理等でパフォーマンスを出す必要がある時は生SQLも積極的に使う。&lt;/h2&gt;
&lt;p&gt;CRUDのReadについての話になるが、
group byや副問合せを多用するような複雑なread（select文の発行）は普通に生SQLでいい。&lt;/p&gt;
&lt;p&gt;というか、集計処理系だとデータのフィルタリングから集約の流れまで細かく制御して、
SQLの書き方でパフォーマンスを上げていくことが多いかと思う。
数百万レコードを対象にして複数項目でgroup byして複数項目のsumを出すみたいなやつ。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>ハッカーズチャンプルー 2023</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/10/2023-10-11-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/10/2023-10-11-001/</guid>
      <pubDate>Wed, 11 Oct 2023 02:50:32 GMT</pubDate>
      <description>久しぶりにエンジニア関係のイベントに参加。ハッカーズチャンプルー2023</description>
      <content:encoded>&lt;h1 id=&quot;ハッカーズチャンプルー-2023&quot;&gt;ハッカーズチャンプルー 2023&lt;/h1&gt;
&lt;p&gt;久しぶりにエンジニアのイベントに参加。&lt;/p&gt;
&lt;p&gt;ハッカーズチャンプルー2023が那覇で開催されたので、前夜祭と懇親会に参加した。本会は家の事情で間に合わなかった（16:00ぐらいに出発する羽目になって見れなかった・・・）&lt;/p&gt;
&lt;p&gt;2019年を最後にコロナの影響で開催できなかったので、4年ぶり。同窓会みたいな感じに。
（実はこのイベントの一週間前にYomitan.pmのメンバーで集まって北谷で飲んでたけど）&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>北海道の猟奇殺人事件</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/08/2023-08-14-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/08/2023-08-14-001/</guid>
      <pubDate>Mon, 14 Aug 2023 06:36:59 GMT</pubDate>
      <description>北海道すすきの猟奇殺人事件について</description>
      <content:encoded>&lt;h1 id=&quot;北海道の猟奇殺人事件&quot;&gt;北海道の猟奇殺人事件&lt;/h1&gt;
&lt;p&gt;北海道すすきので起きた猟奇殺人事件について、被害者の落ち度について確証のない情報が拡散していたので個人的なまとめ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;8/14、死体損壊、死体領得、死体遺棄 から 殺人罪 に切り替え&lt;/li&gt;
&lt;li&gt;加害者家族の3名が殺人に関与している&lt;/li&gt;
&lt;li&gt;犯行の1ヶ月前には実行犯の娘と父親は被害者と面識があった&lt;/li&gt;
&lt;li&gt;頸部への刺突が致命傷。頭部を切断し、自宅に持ち帰っている。&lt;/li&gt;
&lt;li&gt;殺害時に動画を撮影。自宅に持ち帰った後も風呂場で「頭部を弄ぶ」様子が撮影されている。撮影者は父親か母親のいずれかとみられる。&lt;/li&gt;
&lt;li&gt;犯行に用いられた道具はナイフとノコギリ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下、確証のない噂話や参考情報&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;加害者（娘）は同級生のことを「野菜」に見立てることがあったという。同級生に対する刃傷沙汰も報じられている（「野菜」の表現については神戸連続児童殺傷事件の犯人と類似）&lt;/li&gt;
&lt;li&gt;被害者と加害者の間には、クラブで知り合った際にホテルでトラブルがあったとのこと（トラブルの詳細やトラブルを起こした方がどちらかは不明）&lt;/li&gt;
&lt;li&gt;オスカー・ワイルドの「サロメ」との関連性が指摘されている&lt;/li&gt;
&lt;li&gt;父親が精神科医で、娘に精神異常者を連想させる名前をつけている&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;確証が薄く有害なため、被害者及び被害者遺族の名誉を毀損するような加害者親族による一方的な主張については記載を控える。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>今年の目標</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/08/2023-08-10-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/08/2023-08-10-001/</guid>
      <pubDate>Thu, 10 Aug 2023 10:01:23 GMT</pubDate>
      <description>年越しまでに達成しておきたい目標</description>
      <content:encoded>&lt;h1 id=&quot;今年の目標&quot;&gt;今年の目標&lt;/h1&gt;
&lt;p&gt;技術力や体力面の向上を淡々とやっていきたい。&lt;/p&gt;
&lt;h2 id=&quot;技術方面&quot;&gt;技術方面&lt;/h2&gt;
&lt;p&gt;今どきのやり方ができるように&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenAPIで簡単なシステムを設計できる&lt;/li&gt;
&lt;li&gt;pythonのFastAPIとVue.jsを組み合わせて何かを作る&lt;/li&gt;
&lt;li&gt;SQLAlchemyを使いこなせるようになる&lt;/li&gt;
&lt;li&gt;コンテナ化の基礎とFargateの使いこなし&lt;/li&gt;
&lt;li&gt;AWS Lambdaの簡単な使い方&lt;/li&gt;
&lt;li&gt;CloudFormationテンプレートが書けるように&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;体力面&quot;&gt;体力面&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;チェストプレス90kgfを10回&lt;/li&gt;
&lt;li&gt;ミリタリープレス60kgfを10回&lt;/li&gt;
&lt;li&gt;ラットプルダウン80kgfを10回&lt;/li&gt;
&lt;li&gt;レッグプレス280kgfを10回&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>久しぶりの投稿</title>
      <link>https://nikki.yokoda.okinawa/posts/2023/08/2023-08-08-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2023/08/2023-08-08-001/</guid>
      <pubDate>Tue, 08 Aug 2023 02:51:33 GMT</pubDate>
      <description>久しぶりの投稿なのでこれまでのまとめ</description>
      <content:encoded>&lt;h1 id=&quot;久しぶりの投稿&quot;&gt;久しぶりの投稿&lt;/h1&gt;
&lt;p&gt;新卒で入った会社へ再入社してから1年以上経過した。これまでのことを箇条書きする。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1年程の間にかなり速い昇進があった（担当課長 -&amp;gt; 課長代理 -&amp;gt; 課長）&lt;/li&gt;
&lt;li&gt;転職して今の会社に再入社した結果、収入がとてつもなく上がった&lt;/li&gt;
&lt;li&gt;私自身の技術力向上や新技術の開拓はあまりできていない&lt;/li&gt;
&lt;li&gt;以前在籍していたときと同じく、メインストリームから外れた特殊な部署の長になっている&lt;/li&gt;
&lt;li&gt;家庭も仕事もいい感じの状況&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今は妻もフルタイムで働いていて家事育児は半々ぐらい。ちょうどいい感じ。
というか、長女が手伝ってくれるようになったのでかなり楽になっている。&lt;/p&gt;
&lt;p&gt;私は2年以上前に数ヶ月間やっていたけど、妻はまだフルタイム勤務完全ワンオペ家事育児を経験したことが無い。
私が今後長期出張で不在になってしまった時は実家に助けてもらうしかない感じかなぁ。
まあ、あまり実家に迷惑をかけないようにフルタイム勤務完全ワンオペ家事育児のスキルを伝授しておきたいところ。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>JavaScriptに慣れておきたい</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/09/2022-09-13-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/09/2022-09-13-001/</guid>
      <pubDate>Tue, 13 Sep 2022 04:48:50 GMT</pubDate>
      <description>最近はJSを書く機会が多い。今まで苦手意識があって避けていたけど、逃げられなくなってきた。</description>
      <content:encoded>&lt;h1 id=&quot;javascriptに慣れておきたい&quot;&gt;JavaScriptに慣れておきたい&lt;/h1&gt;
&lt;p&gt;今はperlとJSを書きまくる仕事をしている。&lt;/p&gt;
&lt;p&gt;この職場に戻ってから任されているプロダクトで、ちょっとJSが複雑になっているところがあって、そこでかなり苦戦した。&lt;/p&gt;
&lt;p&gt;期限が決まっている仕事でこういう事態になるのは避けたいところ。&lt;/p&gt;
&lt;p&gt;最終的にはPythonのFastAPIを使ってバックエンドを組んだりVue.jsとかでフロントエンドを組んでいくような流れになるけど、まあ基本的なJSの使い方とかhtmlのコーディングやらCSSの組み方とかで最低限のことができる状態には持っていかないといけないなと思っている。&lt;/p&gt;
&lt;p&gt;立場的には開発の方針とかも自分で考えていかないといけない。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>体力トレーニング</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/08/2022-08-11-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/08/2022-08-11-001/</guid>
      <pubDate>Thu, 11 Aug 2022 08:36:31 GMT</pubDate>
      <description>最近の体力トレーニングメニュー等</description>
      <content:encoded>&lt;h1 id=&quot;体力トレーニング&quot;&gt;体力トレーニング&lt;/h1&gt;
&lt;p&gt;最近の体力トレーニング実践パターン。高負荷トレーニングを月・水・土に、休みを火・木、夜間ウォーキングを金曜日にやりつつ、時間のある時に適時やる感じ。&lt;/p&gt;
&lt;p&gt;心肺機能の向上を目指すならランニングをほぼ毎日やった方がいいんだけど、しばらくは体重を増やすことに専念するかな。&lt;/p&gt;
&lt;p&gt;一旦87kgまで到達してから、85kgを下回らないような生活パターンを獲得して「完成」にしたいと思う。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>運が良い</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/08/2022-08-04-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/08/2022-08-04-001/</guid>
      <pubDate>Thu, 04 Aug 2022 08:07:37 GMT</pubDate>
      <description>思っていたよりもイージーな人生を歩んでいるような気がする。</description>
      <content:encoded>&lt;h1 id=&quot;運が良い&quot;&gt;運が良い&lt;/h1&gt;
&lt;p&gt;割りと貧乏な家庭に生まれたが、かなりまともな人生を歩めている気がする。&lt;/p&gt;
&lt;p&gt;「世間」で言われているよりも「リアルの世間」は優しい、という認識。
もちろん、人によっては世間から厳しい態度をとられやすい人もいるのだろうが。&lt;/p&gt;
&lt;p&gt;結局のところ、いくら男の人生がハードモードとはいえ、
福祉が充実した現代においては破滅的な選択をしなければどうにでもなる、
ということのような気も（女性の場合は破滅的な行動をしてもどうにでもなりやすいという側面はある）。&lt;/p&gt;
&lt;p&gt;今の日本は公的な支援がかなり充実している。
病気や怪我などで仕事ができなくなっても絶望するのはまだ早いということ（死に至る病でなければ）。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>最近使っているIDE</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/07/2022-07-25-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/07/2022-07-25-001/</guid>
      <pubDate>Mon, 25 Jul 2022 05:18:20 GMT</pubDate>
      <description>最近使っているIDEについて</description>
      <content:encoded>&lt;h1 id=&quot;最近使っているide&quot;&gt;最近使っているIDE&lt;/h1&gt;
&lt;p&gt;会社では「今後はIntelliJを使っていこうぜ」という雰囲気なのだが、JSのサポートがちょっとアレなのでVSCodeも併用している。&lt;/p&gt;
&lt;p&gt;言語としてはpythonをガンガン使っていこうという流れになっているので、おそらくpycharmも併用していく感じかな。&lt;/p&gt;
&lt;p&gt;前の会社も今の会社もIDEは基本的にお好みで選んでOKみたいな雰囲気なんだけど、一般的にはどうなんだろう。
これも結局は Emacs vs vi(vim) みたいな派閥争いに発展しそうなのよね。私は「なんでもかんでも必要に応じて併用OK、コードインデントはしっかり合わせよう」ぐらいのルールでいいかなとは思っている。&lt;/p&gt;
&lt;p&gt;今のところEclipse,NetBeans,VSCode,IntelliJを使ってきたけど、まあどれも似たような機能を提供しているので移行や使い分けで感覚がおかしくなることはないかな。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>職場が戻ってお酒を飲む機会が激増した</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/07/2022-07-22-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/07/2022-07-22-001/</guid>
      <pubDate>Fri, 22 Jul 2022 08:28:02 GMT</pubDate>
      <description>最近は飲み会によく行くようになった</description>
      <content:encoded>&lt;p&gt;#職場が戻ってお酒を飲む機会が激増した&lt;/p&gt;
&lt;p&gt;今の会社はお酒を飲むチャンスがたくさんある。健康を害するからできるだけ控えた方がいいのだが、自制が難しい。&lt;/p&gt;
&lt;p&gt;その分たくさん運動して質の高い食事をすればいいか。&lt;/p&gt;
&lt;p&gt;あと、お金に余裕があると何もかもが平和。やはり給与は大事。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>運動不足解消</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/07/2022-07-18-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/07/2022-07-18-001/</guid>
      <pubDate>Mon, 18 Jul 2022 06:16:57 GMT</pubDate>
      <description>ここ一年程、適当にウォーキング、ランニング、筋トレをやっている</description>
      <content:encoded>&lt;h1 id=&quot;運動不足解消&quot;&gt;運動不足解消&lt;/h1&gt;
&lt;p&gt;記録を確認してみると2021年6月上旬頃から1日10分程度の体力トレーニングを始めていたみたい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2021年4月～ 断薬のおかげで体重が90kgから一気に78kgまで減る。妻の入院などで家事育児タイムアタックをしていたので体力がつきはじめる。&lt;/li&gt;
&lt;li&gt;2021年6月～ 体力トレーニング開始（スクワット、腕立てぐらいのメニューで、1日10分程度）&lt;/li&gt;
&lt;li&gt;2021年9月～ 第三子誕生＆少し家事育児で忙しくて体力トレーニング一旦休止&lt;/li&gt;
&lt;li&gt;2021年11月～ 新生児期の夜泣きが落ち着いてきたので体力トレーニング再開&lt;/li&gt;
&lt;li&gt;2022年1月～ ダイソーのフィットネス用品を適当に買い始める。寝る前に毎日15分～20分程度の運動&lt;/li&gt;
&lt;li&gt;2022年2月～ ラバーバンドを使い始める。タンパク質多めの飲み物を飲み始める。&lt;/li&gt;
&lt;li&gt;2022年3月～ ホームセンターでダンベルを買ってウエイトトレーニングを開始&lt;/li&gt;
&lt;li&gt;2022年4月～ ウォーキングを始める。&lt;/li&gt;
&lt;li&gt;2022年5月～ ウォーキング中に市営のフィットネスセンターを発見し、利用開始&lt;/li&gt;
&lt;li&gt;2022年6月～ 転職の際に粉末のプロテインをプレゼントされ、以後、粉末プロテインを使うようになる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今のところのメニューは筋トレ部分でも30分近くかかる感じ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ウォーキング：5km以上10km以下 or トレッドミルで傾斜を6.0以上付けて5.5km/h以上のペースで30分&lt;/li&gt;
&lt;li&gt;スプリント： 100m程度を2～3本&lt;/li&gt;
&lt;li&gt;腕立て： 15回を2セット or シーテッドチェストプレス： 40～60kg 8reps を3セット&lt;/li&gt;
&lt;li&gt;懸垂：7回を2セット or ラットプルダウン： 85～90kg 5reps 2セット 40～50kg 15reps 1セット&lt;/li&gt;
&lt;li&gt;アッパーバック： 80kg 5reps 1セット、 40～50kg 15reps 2セット&lt;/li&gt;
&lt;li&gt;ダンベルサイドレイズ： 両側それぞれ10kg 10reps 2セット or ミリタリープレス 50kg 8reps 1セット 30～40kg 10reps 2セット&lt;/li&gt;
&lt;li&gt;アブローラー： 膝25reps 2セット or アブドミナルマシン： 60～70kg 20reps 2セット&lt;/li&gt;
&lt;li&gt;レッグプレス： 200kg 13reps 2セット&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;身長183kgで体重83kg、体脂肪率は健康診断の測定が正しければ15％程度。何気にFFMIは21をちょっと超える程度で、スポーツ愛好家としてはそこそこ良い感じ。&lt;/p&gt;
&lt;p&gt;この調子でFFMI22.5以上を目指すかな。これぐらいの値になるとアスリートレベルらしい。ソフトウェアエンジニアたるものパワー系のスポーツは軽々とこなさなければな。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>人生の難易度</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/07/2022-07-11-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/07/2022-07-11-001/</guid>
      <pubDate>Mon, 11 Jul 2022 06:23:17 GMT</pubDate>
      <description>人生イージーモードになるかハードモードになるかの話</description>
      <content:encoded>&lt;h1 id=&quot;人生の難易度&quot;&gt;人生の難易度&lt;/h1&gt;
&lt;p&gt;哺乳類のオスは基本的にハードモードではある。重婚が厳しく制限されたソサエティに属するヒトの場合は「自由恋愛による性選択で強烈な性淘汰が発生する上に資源（資金）の調達だけではなく家事育児も当然のように担わなければならない」という社会的要請がある以上は、「男に生まれてしまったら基本的にハードモード（ただし、総合スペック上位10％の男は除く）」とも言える状況かもしれない。&lt;/p&gt;
&lt;p&gt;女性の場合はどうか。これはもうどうしようもない哺乳類の定めというものなのだろうが、容姿や能力がどんなに劣っていても男性と違って「若ささえあれば繁殖のチャンスはいくらでもある」という圧倒的なアドバンテージがある。
哺乳類のように生殖の際に適応度を犠牲にするコストに圧倒的な性差がある場合については、コストを払う方の性別は絶対に性淘汰を受けない。&lt;/p&gt;
&lt;p&gt;まあ私の場合は育児に掛けるコストが専業主婦の妻よりも多かったりするんですがね（損しかしていない）。&lt;/p&gt;
&lt;p&gt;今の若い世代（私も含む）にとっては、「ジェンダー平等」が掲げる内容に女性を有利にするような項目が多く含まれているように感じられ、違和感を覚える人も多いのではないだろうか。&lt;/p&gt;
&lt;p&gt;私の理想の男女平等は「体力差を考慮した上で微調整を加えるが、基本的に夫婦、男女の社会や家庭への貢献量を等しいものにし、その報いの過多も性別によって差を設けない」といったところだ。
が、無理だろうな。適応度のコスト差によって生じる「選別される側（男）」「選別する側（女）」の立場は絶対に変わることがないだろう。&lt;/p&gt;
&lt;p&gt;それはさておき。&lt;/p&gt;
&lt;p&gt;命懸けでプレイしなければならない「人生」というゲームにおいて、生まれつきイージーモードのプレイヤーに対して不本意にもハードモードでプレイするはめになったプレイヤーが負の感情をため込むのは自然なことだとは思う。&lt;/p&gt;
&lt;p&gt;重要なのはやはりこのシビアなゲームの基本的なルールであるところの「男は選別・淘汰される側、女は選別・淘汰する側」というものにいかに早く気付けるか、だと思う。&lt;/p&gt;
&lt;p&gt;女性は結婚適齢期までに「自分は選別する側であるという圧倒的に有利な立場である」ことに気付くことが重要。未婚のシングルマザーになっても今の社会保障制度の下では贅沢しなければ十分に生活できる。多少社会保障にフリーライドする覚悟を決めれば、極めて容易に質の高い子孫を得ることができるということ。&lt;/p&gt;
&lt;p&gt;男性はできるだけ早く「選別される側であるという圧倒的に不利なロールである」ことに気付くことが重要。女性から「良い遺伝子を持っていない」とみなされるような外見の場合、人一倍の努力をしなければ性淘汰されてしまうリスクがある。&lt;/p&gt;
&lt;p&gt;理想はやはり「万人に完備情報ゲームとして人生をプレイしてもらう」ことだろう。最低限、ヒトにおける性的対立や配偶戦略については思春期を迎えるまでに周知しておくべきだ。&lt;/p&gt;
&lt;p&gt;性愛の綺麗事を信じて性淘汰されてしまう純真無垢な男性達をこれ以上見たくはない。&lt;/p&gt;
&lt;p&gt;私自身はなんとか社会でうまくやっていける程度の知能と容姿で生まれてきたので、男に生まれてしまったことについては特に不満はない。配偶者の選択に多少慎重さが欠けていたのは否めないが…。&lt;/p&gt;
</content:encoded>
    </item>
    <item>
      <title>IntelliJ IDEAを使い始めた</title>
      <link>https://nikki.yokoda.okinawa/posts/2022/07/2022-07-04-001/</link>
      <guid isPermaLink="true">https://nikki.yokoda.okinawa/posts/2022/07/2022-07-04-001/</guid>
      <pubDate>Mon, 04 Jul 2022 08:55:01 GMT</pubDate>
      <description>今までVSCodeとかNetBeansとかEclipseは使ったことあるけどIntelliJ IDEAを使って仕事をすることになった。</description>
      <content:encoded>&lt;h1 id=&quot;intellij-ideaを使い始めた&quot;&gt;IntelliJ IDEAを使い始めた&lt;/h1&gt;
&lt;p&gt;perlをIntelliJ IDEAで書いてる。Mojoliciousで書かれたプログラムなんだけど、まあ今のところはストレスなくやっていけている。&lt;/p&gt;
&lt;p&gt;最初からダークテーマでかなりいい感じ。GitとかTerminal関係のウィンドウも最初からついてる。&lt;/p&gt;
&lt;p&gt;.html.epをhtmlとして編集するように設定し、perlのライブラリとしてディレクトリをマークして、perlを書くための拡張機能をインストールすれば概ねOK。&lt;/p&gt;
&lt;p&gt;これからバリバリ書くぜ。&lt;/p&gt;
</content:encoded>
    </item>
  </channel>
</rss>
