Retty Tech Blog

実名口コミグルメサービスRettyのエンジニアによるTech Blogです。プロダクト開発にまつわるナレッジをアウトプットして、世の中がHappyになっていくようなコンテンツを発信します。

Retty流Pythonのススメ

みなさんこんにちは.

お店さん*1商品(FRM*2商品開発)チームでTech Lead(エンジニアリーダー)をしています, nakagawa(@shinyorke)ともうします.JOINしてから3ヶ月たちました.

FRM商品開発チームではエンジニアチームのマネジメントやプロダクト企画・開発を行いつつ,個人としてはPythonが大好きで公私共に良く触って(愛して)います.*3

このエントリーでは,最近のRettyにおけるPythonの利用事例や学び方を紹介したいと思います.

  • Rettyのエンジニアチームの雰囲気を知りたい
  • 機械学習Deep Learning以外のPythonの使われ方ってあるの?
  • 学ぶ際のオススメが知りたい

上記のどれかに当てはまる皆さま,是非最後までお読みいただけると幸いです.

Retty流Pythonのススメ

「RettyにおけるPython利用状況」「Python学習ノウハウ」「コミュニティ」の3つのテーマで紹介します.

使い方〜RettyにおけるPython利用状況

RettyではプロダクトのコードとしてPHP,Java,Javascript(node.js), Kotlinなど様々な言語・フレームワークが使われています.*4

Pythonもよく使われている言語の一つで,

  • 機械学習自然言語処理など,データサイエンティストなお仕事.いわゆる「PyData*5」と呼ばれる分野.
  • サービスレベルでのデータ運用(ETLなど).データベースやログなどからデータを収集&活用するためのスクリプトやバッチなど.RettyではTreasure Dataとの連携周りで活用しています.
  • 手元の作業(CIやデプロイなど)を楽にするためのスクリプトや便利ツール作成・運用. bashzshで書くのには重いな...というものをPythonで開発など.
  • 管理ツールなど,小規模のWebプロダクト開発. 私の観測範囲内ではWebフレームワークとしてDjango*6がよく使われています.

といった形でプロダクトやツールで目的に合致している箇所で活用しています.

ユーザーさんやお店さんが使うサービス・プロダクトへの適用については,リニューアルのタイミングでPythonでリニューアルする計画があり,徐々にではありますが進めている最中だったりします.

学び方〜RettyにおけるPython学習のノウハウ

主に私の啓蒙活動になります笑.

徐々にPythonistaが増えてきて,Pythonをはじめようかな?覚えようかな?といったエンジニアメンバーもちらほら増えてきており,オススメの学び方や本について聞かれる機会が多くなりました.

そんなメンバーの皆さんが快適かつ素早くPythonを学習できるよう,社内のQiita Teamに学習のためのTipsページを立てています.

ちなみに私は以前Python入門者向けの学習フローを公開しており,こちらで得た知見および過去の実践経験*7を元に,社内のQiita Team内にページを作成・公開しています.

ここですべてを公開できないのが残念ですが,これからPythonを覚えるぞ!という方にポイントを簡単にご紹介します.

Python 3を使うこと

  • Python 2は2020年でサポートが終わる. PEP373に明記されています.
  • PyDataやWebフレームワークもほぼ全てPython 3対応が進んでおり,2を選ぶ理由が限りなく少ない.
  • AWS LambdaやGoogle App EngineなどのPaaS系サービス,インフラ系ツール(aws cli, gcloud)などは一部未対応,ここだけ2を使う.

AWS LambdaはPython3.6に対応がされているとのことです!リリースノート(AWS)

公式のチュートリアルを活用

コミュニティのイベントや勉強会に参加する

その他いくつか細かいポイントがあるのですが,こちらはまた別の機会で紹介できればと思います.

コミュニティ〜参加・登壇の支援とスポンサー

学ぶためには社内の知見のみならず,外のコミュニティを活用して幅広く知見を得ることも重要です.

Rettyではコミュニティ主催のイベント・カンファレンスや勉強会の参加をチケット代・交通費負担などで積極的にサポートしており,DroidKaigi 2017データ分析基盤Nightなど,登壇するメンバーも増えてきています.

Python使いも負けてられない!...ということで,この度4/23(日)に開催される「PyCon mini Kumamoto 2017」にゴールドスポンサーとして協賛させていただくことになりました!

kumamoto.pycon.jp

Rettyからはスポンサードの他,データサイエンティストの岩永が数理最適化について,そして僭越ながら私nakagawa(野球の人)はScrapy*8とRedash*9を用いた野球データ分析についてトークをさせていただきますので,お時間がある方は是非いらしてください!

まとめ

いかがでしたでしょうか?

RettyでのPython活用事例を通じて,学習の仕方やコミュニティ・イベントの参加などのきっかけ作りになってもらえれば幸いです.

最後になりましたが,RettyではPython使いを募集しています!

食やPythonに関するお話はもちろん,PyCon mini Kumamotoの土産話やこのブログに対する意見ツッコミなど,お話をしたくなった方は是非遊びに来てください!

素敵なPythonistaライフを!

*1:レストランや飲食店のこと.Rettyではみなさんへの敬意を大切にする意味でお店さん,と呼んでいます.同様の理由でユーザーはユーザーさんと呼んでいます

*2:Fun Relationship Managementの頭文字でFRMと呼んでいます,いわゆるCRMのC(Customer)の部分をお店さんから見た場合のFun(ユーザーさん)に置き換えたプロダクトとなります.

*3:Pythonコミュニティーでは「野球の人」と呼ばれています.詳しくは「野球 Python」「野球統計学」「セイバーメトリクス」で検索してみてください.

*4:言語やフレームワークの取捨選択は各チームのTech Leadとチームに委ねられているため,様々な環境が存在します.

*5:https://pydata.org/ Pythonを用いたデータに関するあらゆることをオープン化してデータ活用をもっと便利にしよう,という取り組みとコミュニティのこと.日本にもPyData.Tokyoほか,幾つかのコミュニティがあります.

*6:Pythonで最もメジャーなWebフレームワークで,海外ではInstagramをはじめ事例が多数,日本ではチケットキャンプさん,connpass(ビープラウドさん),ビザスクさんなどで使われています.

*7:仕事で触り始めたのが2011年なのでかれこれ6年ちょっとPythonにたずさわっています

*8:Python製のWebクローラ・スクレイピングフレームワーク.サイトの収集からデータ取得まで,DjangoRuby On Railsの用にアプリとして書けるのが特徴 https://scrapy.org/

*9:Pythonベースのデータ分析・基盤ツール.TableauやMackerelと同じような用途で用いられる https://redash.io/