狠狠撸

狠狠撸Share a Scribd company logo
aozorahackの
これまでと
サーバ移転について
2016/07/30
株式会社達人出版会 / aozorahack
高橋征義
自己紹介
●
高橋征義
●
株式会社達人出版会代表
●
電子書籍の制作と販売
●
一般社団法人日本Rubyの会代表
●
Re:VIEWコミッタ
●
『たのしいRuby』など
私と青空文庫
●
aozora4reader (2010-)
●
青空文庫形式テキストファイルをSony
Reader向けのPDFに変換する
– https://github.com/takahashim/aozora
4reader
●
フォーマットの仕様がよく分からず難
儀した
●
Code for 青空文庫の運営に参加
本日のお话
本日のお话の流れ
●
aozorahackについて
●
Code for 青空文庫
●
サーバ移転計画の話
●
ハッカソンについて
●
青空文庫に関する資料
青空文庫について
●
毎週のように使っている
●
たまに使う
●
昔使っていたことがある
●
今回はじめて聞いた
http://www.aozora.gr.jp/
http://www.aozora.gr.jp/cards/001779/card56649.html
http://www.aozora.gr.jp/cards/001779/files/56649_59494.html
aozorahack
githubの
organization
https://github.com/aozorahack
青空文庫に
関連する
レポジトリを集約
aozorahack
の経緯
2015/05/30
Code for 青空文庫
アイデアソン #1
https://atnd.org/events/66230
aozorahack
●
アイデアソンのフォローアップ用
●
その場で命名?発足
●
アイデアソンと関係なくても、青
空文庫に関連するものであれば追
加していく流れ
Code for 青空文庫
開催のきっかけ
サーバ移転
いわゆる
「青空文庫」のサイトが
移転するわけ
ではない
青空文庫とは
http://www.aozora.gr.jp/
「インターネットの電子図書館、
青空文庫へようこそ。」
http://www.aozora.gr.jp/guide/aozora_bunko_hayawakari.html
青空文庫とは
「青空文庫は、誰にでもアクセ
スできる自由な電子本を、図書
館のようにインターネット上に
集めようとする活動です。」
「図書館」という比喩
●
青空文庫は「図書館」なのか?
http://www.aozora.gr.jp/aozora_bunkono_shikumi.html
http://www.aozora.gr.jp/aozora_bunkono_shikumi.html
「運営について」
●
耕作員または工作員のみなさま
●
呼びかけ人
●
点検グループ
●
広報
●
会計
●
Web管理
●
外部協力者のみなさま
「運営について」
●
耕作員または工作員のみなさま 入力?校正
●
呼びかけ人 顧問
●
点検グループ 受付?受領?ファイル変換
●
広報 渉外
●
会計 資金管理
●
Web管理
●
外部協力者のみなさま
読み手からは「図書館」に
見える
運営している人たちにとっては
ちょっと違う
青空文庫と図書館の関係
●
読者にとっては図書館であっても、それだけで
はない
●
入力をする人がいる
●
校正をする人がいる
●
書誌情報とURLをリンクさせる
●
?一種の「出版(者|社)」でもあるのでは
●
新しいコンテンツを「創作」していなくても
publishingはしている
●
新しい翻訳作品が公開されたりもする
青空文庫≒図書館+出版(者|社)
●
図書館的な機能
●
著作権保護期間完了済み等の自由に配布できるコン
テンツを公開する
●
?静的ファイルの配信サービス的なもの
●
出版(者|社)的な機能
●
入力?校正の状態を管理する
●
入力済み?校正済みのファイルを管理する
●
?機能としてはCMS的なもの
現状のしくみ
公開コンテンツ
(静的ファイルツ)
入力?校正管理
(CMS+状態管理)
配信Webサーバ
?レンタルサーバ
?静的ファイル
管理用Webサーバ
?自前物理サーバ
?DB内蔵
図書館部分
出版部分
現状のしくみ
公開コンテンツ
(静的ファイルツ)
入力?校正管理
(CMS+状態管理)
配信Webサーバ
?レンタルサーバ
?静的ファイル
管理用Webサーバ
?自前物理サーバ
?DB内蔵
図書館部分
出版部分
↑こちらが移転する
サーバ移転の
計画
管理用Webサーバ
●
入力校正管理サーバ
●
DB+Webアプリ+バッチ
●
入力?校正のステータス管理
●
原稿と変換済みファイルの保管
●
現在は物理サーバで稼働中
●
データセンター内で運用されている(はず)
●
現行機は2006年ごろに構築
●
OS: Turbolinux というレガシー感
管理用Webサーバ
DBファイル
?? ?
耕作員 点検グループ
公開サーバへ
HTML生成
バッチ
管理用アプリ
移転先
●
さくらのクラウドで検討
●
日本法が適用される
●
青空文庫は著作権にセンシ
ティブな活動なので、日本法
でないと大変そう
移転先
●
DBとWebは切り離す
●
DBは別サーバにする
●
バックアップは別に一台用意す
る
●
こちらはVPSにするかも
移転先
●
OSはDebian系に変更
●
ミドルウェアは更新
●
Apache 2.4
●
PostgreSQL 9.4
●
PHPは古いままで頑張る…
移転にあたって
の問題点
移転にあたっての問題点
●
やればできそう
●
価格感も現実的なところに落とせそう
●
管理サーバは頻繁なアクセスはないのでそれほどパ
フォーマンスもシビアではない
●
古いところがあるのは頑張って対応する
●
バージョンの更新については特に問題は言われてい
ない
●
ある程度は検証済
●
単純な技術面ではないところが問題になりそう
現状の具体的な課題
●
サーバの代替機がない
●
データ等のバックアップがあってもそこ
からリストアする先が確保されていない
●
サーバの監視がない
●
異常があるかどうかを検出するしく
み?事象発生時の一次対応等のワーク
フローがない
http://www.aozora.gr.jp/aozora_bunkono_shikumi.html
「運営について」
「青空文庫は、インターネット上のボ
ランティア活動です。よく誤解されま
すが、青空文庫は当初より明確な代表
を置いていません。」
●
「CEO」がいない
●
「CTO」もいない
技術面での中長期的な
意志決定を行う主体が
明確な形では存在していない
↓
新しいことを判断するのが難しい
その対策
●
取り付く島もないわけではない
●
問題意識、危機意識は共有できてる
●
提案の検討はできるが、抽象的なレベ
ルだと理解が難しい
●
具体的なものがあれば検討が進むので
はないか
ハッカソン
ハッカソンの目的
●
コンテストではない
●
優勝賞品とかはない
●
投票はやりたい
●
新規事業開発とかではない
●
すごいアイデアやビジネスを求めて
いるわけではない
ハッカソンの目的
●
青空文庫に対する活用法の提案
●
青空文庫に必要な機能の洗い出し
●
青空文庫に興味を持っているエンジニ
ア?クリエイターとの交流
ハッカソンで使えるデータ
●
作家別作品一覧拡充版CSV
●
github
aozorabunko/aozorabu
nko
作家別作品一覧拡充版CSV
●
青空文庫の書誌情報
●
http://www.aozora.gr.jp/index_pages/list_per
son_all_extended_utf8.zip
●
DBから毎日生成
●
ちょっと無理がある構成
– 1作品に複数の著者等が関わってい
る場合、複数レコードになる
●
doc/csv.md に説明
aozorahack hackathon #1
aozorabunko (github)
●
青空文庫のスナップショット(らしい)
●
毎日更新されている
●
詳細はあまりよく分かってない
●
でかい
●
コピーがあるのでそれを配布した方が
はやいかも
aozorahack hackathon #1
その他の仕様
青空文庫形式テキストファイル
●
青空文庫のテキストファイルのマークアップ
●
ルビなどをマークアップできる
●
「注記一覧」「組版案内」に説明がある
●
HTMLへのコンバータは公開されている
●
https://github.com/aozorahack/aozora2html
●
XHTML版はこれで生成されているとのこと
●
仕様は未整備
●
githubのaozorahack/specsにま
とめられるといいですね(願望)
青空文庫の文字コード
●
JIS X 0208で包摂
●
JIS X 0213化は試験版のみ
●
テキストファイルはShift_JIS+注記記法
●
JIS X 0208にない文字は注記記法で記載
●
aozora2htmlではUnicodeの数値実体参照に
変換するオプションがある
●
https://github.com/aozorahack/specs
/blob/master/aozora-text.md で説明
青空文庫サイトの構造
●
www.aozora.gr.jpのファイルそのものはg
ithubのaozorabuko/aozorabunkoから
取得できる
●
10GBくらいあるので結構時間がかかる
●
主な階層構造をRAML形式で記述したもの
●
https://gist.github.com/takahashim/b
5c4efceb85a7defb1d572287a2da8d8
に置いてみました
まとめ
●
aozorahackという活動があります
●
管理用Webサーバが移転します
●
ハッカソン頑張りましょう!

More Related Content

aozorahack hackathon #1