TOLOTを支える技術(1)
開発部のすがわらです。タイトルは大げさです。すみません。
今日は私がどのようにTOLOTの業務をこなしているかを少しだけお伝えしたいと思います。
TOLOTを支えるということ
TOLOTではお客様の注文したフォトブックが正しくお手元に届けるために、間違いがおこりにくく、製本中に何か問題があった場合でもきちんとリカバリーできるシステムを構築しています。このようなシステムを作成することで、実際の印刷・製本作業の効率化を目指しています。
とはいえ、作業の効率化をはかっても、人が作業する以上ミスがゼロになるわけではないですし、システムのトラブルなんてのもあったりするんですよね……。
こうしたトラブルなどを乗り越えて、つつがなく2週間以内にちゃんと配送ができるように、そして工場で作業しているスタッフが大変にならないようなリカバリーやシステムの改善を行っているのが私の主な作業です。
少し細かい話
さて、ここまで大まかな作業内容について書きましたが、実際にはどのような事をしているか、もう少し細かいことを書いてみたいと思います。TOLOTでは、各クライアント(パソコン版やiPhone版)から送信されたデータを元に、システムで印刷に使うためのデータへ変換しています。
変換したデータはいくつかの行程を経て出荷されますが、お客様のデータが出荷されるまでを構築したシステムで追跡しています。
このようなシステムを構築することで、漏れの出にくい(あった場合に発見してリトライできる)環境作りを行い、印刷・製本時の本質的ではない作業の手間を減らしているのです。
ここまで説明してきたシステムは、主にRubyというプログラミング言語を使って書かれています。
例えば、印刷に使うためのデータへの変換はRubyで書かれたデーモンが処理をしていて、フォトブックが印刷されているかどうかを追跡する画面などはRuby on Railsを使っています。
楽しくRubyを使っている風景 |
もう少しだけ突っ込んだ事を書くと、印刷用データへの変換というのは比較的時間の掛かる処理なので、注文数が増えていった時に処理が間に合わなくなる可能性があります。
そのため、並列での動作を前提とした設計をしたりして、なかなか楽しく実装することができました(印刷データへの変換を行う部分は泣きたいくらい大変だったけどね!!)。
私の担当部分はRubyで作成していますが、その他にも、弊社ではクライアントサイドの開発やミドルウェア周りを支えてくれる思いやりと情熱のあるプログラマーを募集しております!!
enjoy!
※TOLOTを支える技術(2)は誰かが書いてくれれば続きます