Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
Search
mimifuwacc
August 23, 2025
Technology
1
350
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
Kyoto.なんか#7発表資料
mimifuwacc
August 23, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
860
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1k
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
120
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
400
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
250
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
180
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
480
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
560
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
160
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Designing for humans not robots
tammielis
253
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Documentation Writing (for coders)
carmenintech
74
5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Transcript
RAID6 を楔形文字で組んで 現代人を怖がらせましょう (実装編) @mimifuwacc Kyoto.なんか#7 2025-08-23 1
みみ @mimifuwacc 2
はてなインターン 2025 に参加しています 前半パート お世話になりました 3
データ 安全に保管できていますか? 4
大切なデータを長期保存する方法について(日本ソフト開発株式会社) : https://www.nihonsoft.co.jp/nsklog/detail_118.html HDD 3-5年 SSD 5年 CD 10-30年 5
粘土板 約5000年 ※ 石という約3万年の 寿命がある媒体もある 6
書き込みの難易度を考えて 妥協して粘土板を使う 7
今のところ解読されている 最古の文字は楔形文字 8
余談 最初のシュメール人の文字体系は 日用品や農産物の個数の表現に使われる 粘土製の小さな玉「トークン」 の体系から派生した https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E3%81%AE%E6%AD%B4%E5%8F%B2#%E 9%9D%92%E9%8A%85%E5%99%A8%E6%99%82%E4%BB%A3%E3%81%AE%E6%96%87%E5%A D%97 9
楔形文字の一般的な媒体は 粘土板 10
データを長期保存したければ 粘土板に楔形文字を書けば良さそう 11
…が 記録した媒体を 紛失したらどうしよう ... 12
…が 記録した装置(媒体)そのものを 破壊・紛失したらどうしよう 13
我々は RAIDという仕組みを知っている! 14
RAIDとは 複数台のハードディスクを組み合わせることで 仮想的な1台のハードディスクとして運用し 冗長性を向上させる技術 https://ja.wikipedia.org/wiki/RAID 15
装置(媒体)を破壊しても データが復旧できる! 16
RAID6を使う 冗長データ(パリティ)を2種類作成し 2つのディスクに記録することで、 2重障害に対応でき、 同時に2ドライブが故障しても復元できる。 https://ja.wikipedia.org/wiki/RAID 17
早速実装 18
まずRAID6 (P+Q ガロア法) 19
1つめのパリティ( XOR) 20
2つめのパリティ(ガロア体上での演算) 21
データが破損した時に 復旧する実装もした 22
一旦テストしてみる 23
一旦テストしてみる 復旧できてる! 24
楔形文字 (古代ペルシア楔形文字) 25
古代ペルシア楔形文字とアルファベットの対応 26
16進数との対応 「0」はまだ存在しない → 意味を持たない字( 𐏐)で代用 「e」も存在しない → 発音が同じ「 i」に相当する( 𐎡)で代用
27
16進数との対応 「0」はまだ存在しない → 意味を持たない字( 𐏐)で代用 「e」も存在しない → 発音が同じ「 i」に相当する( 𐎡)で代用
28
29
Unicodeに感謝 30
実際に動かしてみる 31
あとはこれを粘土板に書けば OK 32
Thank you… リポジトリはここ: https://github.com/mimifuwa/cuneiform-raid 33