フロント中心の開発における活用例 事業を変えた開発会社が見るPythonの現在 事例詳細|つなweB

教えてくれたのは

香月聡さん
株式会社イー・バード代表取締役
2003年に同社設立。プロデューサー、ディレクターとして顧客と接点を持ち、ビジネスを考えた企画設計やマーケティングなどを行う。


橘浩史さん
株式会社イー・バード開発事業部 部長・エンジニア開発案件のプロジェクトマネージャーとして、企画・設計を担当。リードエンジニアとしてコードを書き、デザインのディレクションも行っている。


株式会社イー・バード :https://www.e-bird.biz/

 

PythonのスクリプトはどのMacでも実行できる

株式会社イー・バードは、コーポレートサイト、ブランドサイトなどのWebサイト制作を主な事業とする制作会社です。SEOやリスティングなどのマーケティング施策、関連するパンフレットや映像の制作等も行なっています。

事業全体の7割程度がこうしたWebサイト関連の制作ですが、それ以外にWebアプリやスマホ用アプリ、サイネージ等の開発も請負っています。展示施設やエンターテインメント施設、地方自治体向けに、多言語音声ガイダンス、観光スタンプラリー、ARカメラなどの実績があります。大きなバックを持つ業務的なシステムというよりは、フロント寄りのコンテンツに近いものを得意としており、社内のデザイナーと密にコミュニケーションしながら、UIを並行して開発できることが、Web制作を軸にする私たちならではの強みです。

Webサイト制作では主にJavaScriptとPHPを使い、アプリ開発ではアウトプット先に応じたフレームワークによって使用する言語が決められますが、基本的にPythonを最終的なプロダクトそのものの開発に使うことはありません。しかし、開発過程や運用においてはさまざまな形でPythonのスクリプトを活用しています。

例えば、URLなどの要素が入ったExcelファイルを元に、クライアントのメディアサーバから大量の商品画像をスクレイピングするケースです。数千~数万の画像を手作業でダウンロードするのは不可能ですし、間違いも起きます。しかも四半期ごとに更新が必要です。そこで、スクリプトでスクレイピングしています。夜実行しておけば、翌朝には画像がAWSのストレージに格納されているという形です。

Pythonは、ツールやライブラリなどの開発環境を整えなくてもmacOSのデフォルト環境でスクリプトを実行できるのが利点です。この作業も、担当デザイナー自身に自分の使うMacから実行してもらっています。

開発工程を効率化今後は表示テストにも

データの整形に使った例もあります。クライアントのプロダクト開発と並行してアプリ開発を進める中で、プロトタイプから書き出される巨大なExcelファイルをアプリ用にCSVへ変換する作業です。プロトタイプの開発が進む度に書き出されるExcelの書式や項目が変更され、プロジェクトの初期と後半ではまるで違ったフォーマットになっていました。そんな状況でも、フレキシブルに変更点を追って、スクリプトを書き換えていくことができました。

スマホ向けアプリの画像認識機能を開発する案件では、OpenCVのライブラリをコマンドラインから実行して精度のチューニングを行いました。いろいろなバリエーションで係数を変えてテストするのに、毎回アプリをビルドして実機に入れカメラを起動していては時間がかかりすぎるので、処理だけ試すにはこの方法が効率的でした。

Jupyter Notebookで実行するとログがHTMLで残るので、それをコピーしてサーバに保存し、クライアントにURLを送ることで、確認用資料を別に作成する手間も省力化できました。

また、ある展示施設では、大型のサイネージを使って「何かできないか」と要望されたのに対して、来館者向け端末のログから一部のデータを視覚的に表示するコンテンツを提案をしました。

効率化だけでなく、データ活用が新しい提案につながることもあります。

今後の可能性として、アプリの表示出力テストへの活用が考えられます。処理結果のテストは比較的容易に自動化できますが、出力画面の見え方を確認するのは難しいのが現状です。端末別、しかも多言語で検証が必要なので、表示を一覧まで自動化できれば、かなり省力化できるはずです。

Pythonは、ある程度プログラミングの経験があれば本1冊読む程度で、調べながらやりたいことができる言語です。現在の開発業務に直接必要ではなくても、きっと身近に役立つ場面が見つかると思います。

 

Pythonで直接プロダクトを開発することはなくても、開発過程や運用に伴う作業で役立つ場面は多い。一度エンジニアが組めば、誰のMacからでも実行できる利点もある
笠井美史乃