**UNIXパイプ・カードゲーム**

2026/01/21 1:48

**UNIXパイプ・カードゲーム**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

記事は、子どもに Unix パイプコマンドチェーンの構築方法を教えるカードベースのボードゲームについて説明しています。デッキには、

cat
grep
tail
head
wc
sort
uniq
などの主要な Unix コマンドを表すカードと、特定行の表示、出現回数のカウント、非表示コマンドチェーンの作成といったタスクが含まれています。ローカルの Unix システムが利用できない場合は、ブラウザベースの jslinux を使用できます。

ゲームプレイは時計回りに進行します:プレイヤーはカードを引き、最短または最長の有効パイプラインを目指すかどうかを選択し、タスクを完了した最初のプレイヤーがポイントを獲得します。例として、最も頻出する行を見つけるチェーンを示すラウンドがあります:

cat 03.txt | sort | uniq -c | sort -n | tail -1

ゲームは €5,00 EUR(現在完売)で販売されており、印刷可能な PDF(

unix-pipe-cards.pdf
unix-pipe-box.pdf
)も入手できます。

GitHub 上のソースコードリポジトリ(

github.com/jackdoe
)、共著者 Jackie、連絡メールアドレス (
b0000@fastmail.com
) と CC BY 4.0 ライセンスが製品に付属しています。

「UNIX Pipe Game – Process Substitution」という拡張パックでは、プロセス置換用のコマンド(

paste
tr
cut
bc
)を追加します。

著者は Python の基礎、C ポインタ、機械語、ランレングス符号化、関数合成、RISCV アセンブラなどをカバーする追加のカードゲームも公開しており、子ども向けにプログラミング概念をゲーミフィケーションする広範な取り組みを示しています。

本文

Unix Pipes カードゲーム – 子どもに Unix コマンドの連結を教える

このゲームは、子どもたちがパイプで基本的な Unix コマンドをチェーンする方法を学ぶために設計されています。
親側には

cat
grep
tail
head
wc
sort
uniq
のコマンドを知っていることが前提です。
親は実際のコンピュータでこれらのコマンドを示すか、Unix システムが無い場合はブラウザ上の JSLinux を使用してください。


今すぐ購入

  • 価格: €5.00 EUR
    売り切れ

自分で印刷する

  • unix-pipe-cards.pdf
  • unix-pipe-box.pdf

コードリポジトリ:

unix-pipe-game

作者: github.com/jackdoe
共同著者: Jackie
連絡先: b0000@fastmail.com
ライセンス: CC BY 4.0


拡張パック

より難易度を上げたい場合は、UNIX Pipe Game – Process Substitution の拡張パックをご購入ください。


例題ラウンド

課題: ファイル(例:

03.txt
)から最も頻出する行を表示する。
解答パイプライン:

cat 03.txt | sort | uniq -c | sort -n | tail -1

ルール

  1. フォーマット選択 – 最年少プレイヤーが以下の2つから選ぶ:

    • タスクを完了するために最短パイプチェーンを作れた方が勝ち。
    • タスクを完了するために最長パイプチェーンを作れた方が勝ち。
  2. 最年少プレイヤーがタスクカードから課題を選ぶ(重複不可)。

  3. カードをシャッフル。

  4. カードを裏向きにテーブルへ並べる。

  5. 時計回りに各プレイヤーが上のカードを引いて課題に挑む。

  6. 最初に課題を完了したプレイヤーが 1 点獲得。

  7. タスクが無くなったらステップ 8へ進む。

  8. ステップ 1 に戻る。

  9. ゲーム終了 – コイン投入(再びステップ 8に戻る)。


課題一覧

  • 2 行目を表示する
  • 最後から 2 行目を表示する
  • 7 行目を表示する
  • 最も頻出行を表示する
  • 最も希少行を表示する
  • 「rises」を含む行数を数える
  • W
    を含む最初の行を表示する
  • 「in」を含む行数を数える
  • 2 行のランダムサンプルを表示する
  • 最後の 2 行の語数を数える
  • 7 行目と 8 行目を表示する
  • !
    を含む行数を数える
  • !
    を含まない行数を数える
  • 何も出力しないコマンドチェーンを作る

カードデッキ

(図は省略)


同じ作者による他のカードゲーム

  • Programming Time – Python と主要アルゴリズム(ハッシュテーブル、RSA)を学ぶ。
  • The C Pointer Game – ポインタ、配列、文字列を探究。
  • 4917 – マシンコード、CPU レジスタ、メモリを導入。
  • Unix Pipes Game – Process Substitution – プロセス置換、
    paste
    tr
    cut
    bc
    をカバー。
  • RunLength Encoding for Kids – ランク長符号化をカードで説明。
  • PUNK0 – The Function Composition Card Game – リスト操作で勝利を狙う。
  • PROJEKT: OVERFLOW – RISC‑V アセンブリのボードゲーム。
  • Programming for Kids – 娘にコードを書かせるログ。

同じ日のほかのニュース

一覧に戻る →

2026/01/21 3:16

**2019年 「見えないままに隠された26000年前の天文モニュメント」**

## Japanese Translation: **概要:** フーバーダムの西側にあるモニュメント・プラザは、地球の25,772年周期の軸進動をタレーズ床にマッピングした芸術的な敬意表現です。設計の中心には旗竿があり、これは進動円の中心として機能します。その周囲には巨大な翼付きブロンズ像が配置されています。床はダム開業時(1936年)のポラリス、ピラミッド建設中のトゥバン、そして将来の北極星としてプロジェクトされたベガを示しており、技術図面には惑星位置が正確に配置されているため、1日単位での日付計算が可能です。1931年に米国再利用局(U.S. Bureau of Reclamation)から委託され、1936年に完成したモニュメントは後にモニュメント・プラザと名付けられました。アーティストのオスカー J. W. ハンセン氏の意図表明は抽象的であり、歴史家エメー・ウッドワードが提供したアーカイブ写真には「セーフティアイランド」という早期建設名が示されています。デザインはロング・ナウ(Long Now)の10,000年時計コンセプトを反映しており、天体周期の公衆展示に類似するものとしてインスピレーションを与える可能性があります。米国再利用局が計画図をInternet Archiveへ公開したことは、ダム文書へのオープンアクセス化の動向を示しています。訪問者には短い音声解説のみが提供されるため、詳細な科学内容はほぼ隠蔽されており、教育的広報は限定的です。それでもプラザは20世紀初頭の大規模インフラプロジェクトにおける芸術と科学の統合を示す具体例として、歴史家・天文学者・エンジニアに貴重な実証を提供します。

2026/01/21 6:34

**日本のスナックバーの秘密世界へようこそ** 「おかかん」と呼ばれることもある日本のスナックバーは、地元ならではの味と創造性を堪能できる隠れた宝石です。小さな飲食店が揃うこれらのお店では、フライドライスボール(おにぎり)や塩気のあるペストリー、甘いスイーツなど、手軽で美味しい一口料理を提供しつつ、親切なサービスも楽しめます。 - **雰囲気**:街角の居心地の良い隅っこや静かな路地裏が主流です。 - **メニューの見どころ**: - 海苔と醤油をトッピングしたフライドライスボール - 蜂蜜でコーティングされた甘いかぼちゃロール - 豚肉と竹笹の餡が入った塩味の餃子 - **特徴**: - 多くのお店では、新鮮な地元産食材を使用しています。 - 季節ごとにメニューが変わるローテーションもあります。 おかかんへ足を踏み入れることは、単なるスナックの取得以上の体験です。便利さと伝統が交差する日本の食文化を垣間見る瞬間なのです。

## Japanese Translation: スナックバー―第二次世界大戦後に厳しい酒類法を回避するために登場した、女性が経営する小規模カフェ―は、日本独自の社会的ハブとして確立しました。全国には約10万店舗が存在し、コンビニエンスストアの数を2倍以上上回ります。これらは「ママさん」と呼ばれる年配女性によって運営され、家庭的な雰囲気でシンプルなお菓子や飲み物を提供します。主目的は食べ物や飲み物だけでなく、会話と個人的つながりを得られる居心地の良い空間を提供することです。 このコンセプトは日本の戦後経済成長期に急速に広がりました。1960年代後半には全国的にスナックバーが普及し、コミュニティのハブとなり、その後1980年代中頃から1990年代初頭まで存続しました。特徴として「ボトルキープ」システムがあります:常連客は自分のウイスキーや焼酎をラベル付けして保管し、次回訪問時に利用できます。伊良谷真由子(Mayuko Igarashi)氏などの研究者は2021年以降、1200件以上の店舗を巡り、旅行者とこれまで地元住民限定だった場所を結びつけています。 スナックバーはCOVID-19以前から人気低下やホスト人口の高齢化、カラオケバーやチェーン居酒屋との競争など課題に直面していますが、新しいトレンドが存続を支えています。アニメテーマのスナック、SNSプロモーション、LGBTQ+来客へのより包括的な対応などです。著名例として新橋の「Aeru」のウララ氏は14年間でタロットリーディングと現代のマッチメイキング手法を用いて90組以上のカップルを紹介しています。 デジタルライフの圧力にもかかわらず、スナックバーはママさんとの真の人間関係や親密な会話が評価され続けています。旅行者は、豪華ホテルや寿司教室など高価な観光活動よりも、これらの場所での思い出深い体験を重視しており、地元経済と伝統的ホスピタリティ慣行の保存に対する継続的な関連性を示しています。

2026/01/21 6:36

**ソフトデリートの課題** - **データ整合性リスク** - 非アクティブなレコードがテーブルに残ることで、重複データや誤ったビジネスロジックにつながる可能性があります。 - 関連テーブルがソフト削除行を考慮していない場合、参照整合性制約が破綻する恐れがあります。 - **パフォーマンス低下** - クエリは「`WHERE is_deleted = false`」で削除済み行を除外しなければならず、オーバーヘッドが増大します。 - インデックスが肥大化し、メンテナンス(例:PostgreSQL の VACUUM)がよりコスト高になります。 - **ストレージ膨張** - ソフト削除は行全体を保持するため、ハードデリートやアーカイブで解放できる領域が確保されません。 - 長時間実行中のトランザクションがこれらの行にロックを保持すると、同時実行性が低下します。 - **複雑なビジネスロジック** - 関数やストアドプロシージャは削除ステータスを追加で確認する必要があります。 - 監査システムは「本当に削除されたか」「論理的に除外されただけか」を区別しなければなりません。 - **データプライバシー遵守** - GDPR や CCPA といった法規制では個人情報の完全消去が求められるため、ソフト削除のみでは要件を満たせない場合があります。 - **復旧とリストアの課題** - ソフト削除されたレコードを復元する際、ビジネスルールが変更されているとエラーが発生しやすくなります。 - バルクでの未削除操作は古いデータや不整合な情報を再導入するリスクがあります。 - **テスト・QA の負荷** - テストスイートはアクティブ状態と非アクティブ状態の両方を網羅しなければならず、複雑さが増します。 - 単体テストでソフトデリート挙動をモックすることは容易ではありません。 --- **結論** ソフトデリートは監査性やロールバックの利便性を提供しますが、維持管理・パフォーマンス・コンプライアンスに関して大きな課題をもたらすため、慎重に運用する必要があります。

## Japanese Translation: > **メインメッセージ:** > 新規プロジェクトでは、著者はトリガー駆動型アーカイブ戦略を推奨しています。行が削除されると、トリガーがそれを汎用の `archive` テーブル(JSONB データ付き)にコピーし、`archived_at` タイムスタンプを記録します。これによりライブテーブルは軽量化され、読み取り時のフィルタリングオーバーヘッドを回避でき、セッション変数を介したカスケード削除の因果関係も保持できます。 > > **主要な根拠と推論:** > - ソフトデリートは通常 `deleted` フラグまたは `archived_at` 列で実装されますが、アーカイブされた行はほぼアクセスされず(≈99%)、蓄積してストレージを膨張させ、バックアップ速度を遅くします。 > - `archived_at = NULL` にリセットしてレコードを復元するのは複雑になりがちで、推奨される方法は標準の復元 API を使用することです。 > - トリガーにより簡単なクリーンアップクエリ(`WHERE archived_at < NOW() - INTERVAL '90 days'`)を実行でき、ライブテーブルを清潔に保てます。 > - 代替手段としては、アプリケーションレベルのアーカイブ(SQS イベント → S3)、WAL ベースの CDC(Debezium + Kafka)があり、アプリコードを変更せずにすべての変更をストリームできますが、コンシューマーが遅延するとディスク枯渇を招く可能性があります。さらに DELETE を無視する実験的なレプリカもありますが、それぞれ運用上または一貫性上の課題があります。 > > **将来の方向性:** > 著者は、新規プロジェクトに対してトリガー方式を採用することを推奨しています。その理由はシンプルさとインフラ要件が最小限であるためです。既存システムは、成熟するにつれて重い CDC パイプラインや SQS ベースのアーカイブから徐々に離れる可能性があります。 > > **明確さと曖昧さについての注意:** > - 改善された概要は簡潔であり、主要なポイントに忠実で、元のテキストに存在しない推論を避けています。 > - ソフトデリート機構、ストレージ膨張、復元の複雑さ、代替案、および推奨事項といった重要要素はすべて網羅されています。