◆ PDF生成モジュールの開発
Posted at 10/05/08 PermaLink» Comment(0)» Trackback(0)»
バイバイ タイムカードの出勤簿や勤務表などのPDFを生成しているPDF生成モジュールが新しくなりました!
これまでは、一般に販売されているPDF生成モジュールを利用していたのですが、バイバイ タイムカードで要求されるパフォーマンスを実現出来なかったため、
「じゃあ作っちゃおう!」
っということになりました^^
実はバイバイ タイムカードのPDF生成は、以前にいくつかの工夫によって「圧縮」に取り組み、かなりのパフォーマンス改善を実現しています。
バイバイ タイムカード日記 2008年5月1日 「PDFの圧縮」
しかしユーザーは増え続け、社内外からの要求水準も上がり続けている(笑)ので、更なる改善が必要になったのです。
白羽の矢が立ったのは、弊社の山下君。品質チームの所属で、主にシステムのテストを担当している(っと言いつつ、Webサイトやドキュメントも担当。このブログのシステム構築・管理も全部山下君)のですが、開発リーダーからの、
「ちょっとやってみる?」
の問いかけに、休日利用でPDFの勉強をし、開発してくれました。
まずは成果ですが・・・
なんと、PDFの生成速度が従来の3倍になりました!!
つまり、同じPDFの出力を、従来の1/3の時間で実現出来るようになったということです。
ではどうして速くなったのか?
山下君に聞いてみたところ、主なポイントはこんな感じでした。
●機能をPDFに特化させ、直接PDFを生成するようにした
→実は従来利用していた市販モジュールは、PDFだけではなく、その他の様々な形式のファイルを生成出来るもので、処理の順序が、「抽象化→PDF化」となっていたとのことです。
●そのファイルに必要な文字だけに限定し、フォントを軽量化した
→PDFファイルに含まれるフォントデータが実は結構大きい。そこで、そのファイルで必要な文字だけを抜粋する仕組みを実装。フォントって、結構独特な世界で、なかなか苦労したようです。
●工夫により、命令文を減らした
→まとめられる命令を出来るだけまとめることにより、ファイルサイズが小さくなったとのことです。
ちなみに、「サイズが小さい」と、サーバー側で生成する時間やダウンロードする時間が短くなるだけではなく、手元でそのファイルを開くときの時間も短くなるとの事です。
山下君としては、もう何点かの工夫であと30%くらいは高速化出来るのでないかとのこと。でもまぁとりあえず、現時点ではこれで十分です。
さすが山下君!
今後の活躍にも、乞うご期待です!!

SaaS・ASP型 勤怠管理システム バイバイ タイムカード
のホームページはこちらです!

