massa142's blog

くり返す このポリリズム

「Pythonエンジニア ファーストブック」を読んだ #pyfirst

Pythonエンジニア ファーストブック

Pythonエンジニア ファーストブック

この度2017/9/9に発売された「Pythonエンジニア ファーストブック」を献本頂きました。

Pythonエンジニア」としての仕事の全体像を理解して、本格的な開発に取り組むためのさまざまな、そして最新の知識を解説しています。本書だけでPythonによる開発のための知識がすべて得られるわけではありませんが、少なくとも、しっかりとした助走をするためにはとても有効な内容ではないかと思います。

本書の「はじめに」にある通り、仕事でPythonを使う最初の一歩にふさわしい内容となっています。

これらのフレームワークやライブラリは仕事でよく使われているものですが、まだまだ日本語でのまとまった情報が少なく入門書を待ち望む声をたくさん聞いてきました。

このファーストブックではそれらの解説がコンパクトに1冊にまとまっているので、Python基礎を習得した人や他言語での開発経験がある人などなど多くの方々に有益な内容になっていると思います。

また、データ分析やWeb開発の章ではスクレイピングの章で実際に収集したデータを使っており、ここでも実際の業務の流れを体感できるような構成となっています。

ちなみに本書は2015/4発売の「Pythonエンジニア養成読本[いまどきの開発ノウハウ満載!] (Software Design plus)」の改訂なのですが、多くの内容が加筆・追加されていており全然違うものになっているという印象です。

以下、本書内で記されている「Pythonエンジニア養成読本」からの変更点を紹介しておきます。

  • 対象となるPythonのバージョンを2.7から最新の3.6に更新
  • 第4章に新たに「スクレイピング」を書き下ろし
  • 第5章「PyData入門ガイド」は、パッケージ紹介主体の内容から、パッケージを活用してスクレイピングしたデータを解析するという構成に変更
  • 第6章「Webアプリケーション開発」では対象とするWebフレームワークをシンプルなBottleから、より本格的なWeb開発に使用できるDjangoへ変更
  • 仮想環境の構築方法をvirtualenvから、Python3系標準のvenvに変更
  • 各種ライブラリ、ツールのバージョンを最新に更新
  • Ansibleの章を削除

Pythonエンジニアの入り口として、基礎を習得した次のステップとしてお薦めできる一冊です!

その他の感想

第1章 Pythonの動向

  • Pythonの文化や歴史が丁寧に紹介されている
  • コミュニティもたくさん紹介されていて嬉しい
  • 今回の改訂に伴ってPystonが消えてる…
    • Dropboxがサポート打ち切ったからだろうか
  • 個人的には一番好きな章

第2章 最低限知っておきたいPython言語の基本

  • Python2.7からPython3.6にUpgrade
  • ほかは養成読本から変更なしかな

第3章 開発環境とチーム開発

  • Python3.6に合わせてvirtualenvからvenvに変更
  • ここもほかは養成読本から変更なさそう
  • emacsユーザーがPyCharmについて書くの大変そうだった

第4章 スクレイピング

  • まずはRequestsとBeautiful Soup4でやってみる
  • ページングとかあるとめんどいよねっていうことでScrapyの解説
  • Scrapyのインストールでハマりそうなところも丁寧に書かれていてよい
  • レゴサイトが題材になってるのは著者の趣味だな

第5章 PyData入門ガイド

第6章 Webアプリケーション開発

  • Django!!!
  • Bottleに比べて多機能で覚えること多くなるけど、実際にlocalhostで動かしながら読んでみると理解しやすいと思う
  • Djangoの公式Documentを片手に読むのがオススメ

PyCon JP 2017 にスポンサー・スタッフとして参加してきた #pyconjp

はじめに

9/7から9/10にかけて開催されたPyCon JP 2017の参加メモです。(残念ながら9/10のSprintは不参加)

今回のPyCon JPでは以下の4つの顔があったので、それぞれ分けて振り返っておこうと思います。

  • スポンサー
  • スタッフ
  • 補欠スピーカー
  • 一般参加者

スポンサー

SQUEEZEはDiamondスポンサーとして協賛しました。カンファレンス中にブースまで足を運んでくださった皆さまありがとうございました!

なんとか無事終えることができましたが、とはいえDiamondスポンサーの準備はSQUEEZEにとってめちゃくちゃ大変でした。なぜかというと

  • モノタロウ侍やチケキャンといったキャラがいない
  • 一般C向けのサービスじゃないので知名度があまりない

といった事情で、どうやってアピールしていけばいいのかかなり悩みました。いっそのことキャラ作るかみたいな声もあがりましたが、ここはSQUEEZEらしく技術と自社のサービスを軸にアピールしていくことにしました。

この8月・9月でSQUEEZEメンバーが執筆した書籍が3冊発売されたり、運営ホテルがオープンしたりとタイミングが良かったため、

  • 書籍即売会 & サイン会
  • SQUEEZE運営ホテルMinn 5万円宿泊券プレゼント

というコンテンツを前に出して頑張りました!PRがうまくできていたら嬉しいのですが、どうだったでしょうか?

またSQUEEZEからは以下のメンバーが登壇しました。

登壇の詳しい様子はこちら: 株式会社SQUEEZE | PyCon JP 2017にDiamond スポンサーとして協賛しました

SQUEEZEとしては

  • Pythonエンジニアの採用
  • Pythonコミュニティへの貢献

という2つの目的でPyConのスポンサーを行なっています。

SQUEEZEのCore Valueの1つである『With Our Community』の考えのもと、これからも私たちが関わるPythonコミュニティに貢献できるよう努めていきます。 こういった思いに共感したり、SQUEEZEに対してちょっとでも興味がでたっていう方がいれば、ぜひ気軽にSQUEEZEに遊びに来てください!

https://squeeze-inc.co.jp/recruit/

ちなみに、「はい SQUEEZE!」の掛け声で撮ったこの集合写真はほんとに最高だった!

f:id:massa142:20170914194835j:plain

スタッフ

今年も色々やってました。

主にシステムチームとして

  • https://pycon.jp/2017 に新しい機能追加したり
  • バグ直したり
  • ネイティブ用のAPIいじったり
  • 各コンテンツページ用意したり
  • デプロイのためにインフラいじったり
  • 当日に受付したり

などなどしてました。

このサイトについて色々言いたいことはわかる。来年はどうにかしたい。

クロージングで座長から発表あった通り、来年の会場は 大田区産業プラザPiO になって規模も大きくなるから大変だと思うけど、以下の理由から引き続きスタッフ頑張ろうと思ってます。

  • 単純にPyCon JPをもっといいものにしたい
  • スタッフのなかにPythonistaが減っている危機感 (個人的な印象なので実際には違うかも)

今回はCode of Conductに反する行動がいくつか見られてとても悲しかったので、来年はもっとこの考えを周知させて参加者全員が楽しめるようなものにしていきたい。

PyCon JP 2017のアンケートあるからみんな書いてね!

PyCon JP 2017 アンケート / Survey

補欠スピーカー

あと実は、補欠スピーカーでした。

日本人スピーカーの誰かにキャンセル出たら話せるぞってスタンバッてたけど残念。またの機会に。

CfPはこちら: Pythonで解く大学入試数学

一般参加者

当日聞けたセッションは

  • ジョブフェア
  • メディア会議
  • 2日目LT

くらいかな。

あと、@shimizukawa と @yutailang0119 がやってたオープンスペースに参加してた。

あとはスタッフ活動で聞けてない。これからYouTubeで見ていくぞ。

まとめ

Output & Followというテーマで開催されたPyCon JP 2017でしたが、やっぱり参加者同士の交流がなにより楽しかったです。 トーク見るだけならYouTubeでもできるので、新しい出会いとかリアルでの体験がカンファレンス参加の醍醐味だと思ってます。

@a_macbee たちといった二次会・三次会はいい思い出になりましたね。

それでは、また来年!!

PyCon JP Reject Conference 2017を開催しました #pyconjp_rc

f:id:massa142:20170821163445j:plain

techplay.jp

はじめに

2017/09/06(水)に開催したPyCon JP Reject Conference 2017の開催後記です。

開催動機については、過去のエントリで詳しく書いています。

massa142.hatenablog.com

すでにあるまとめとか

全体を通しての感想

個人的にはReject Conferenceの方が実務寄りというか現場感あって面白かったように感じたけど、広く聴講してもらうというのは難しいんだなあと。*1

  • トークの終わりに毎回「なんで落選しちゃったんですかね?」って敗因を聞くの楽しかったw

  • 飛び込みLTも @tn961ir と @takashinayuya がやってくれて盛り上がった

  • PyCon JP 2017でRejectCon登壇者のうち3人がLTしてた

    • 壁打ち場として意義があったのかも
    • 自分もRejectConについてLTしたかったけど、スタッフ&Diamondスポンサーだったので自重した
    • どこかの機会でRejectConについて話したい
  • 参加ターゲット層はPyCon JP開催直前は忙しいという知見が得られたので、来年はもうちょっと前かPyCon JP後がよさそう

  • 運営で拙いところもあったかもしれないけど、アットホームな会場に助けられた

    • TECH PLAY SHIBUYA は本当にいい会場!提供ありがとうございます!
  • stapyでもRejectネタやるかもみたい。楽しみだ

終わりに

参加者・発表者・スタッフの皆さま、RejectConを盛り上げてくださりありがとうございました!

TwitterとかでもRejectCon楽しかったという投稿があって、楽しんでもらえたみたいで本当によかったです。このイベントを通して、PyCon JP 2017を少しでも盛り上げることができたかなと思います。

RejectConやるぞっていうのは去年のPyCon JPが終わった直後から考えて周りにも話していたので、なんとか実現できてホッとしてます。今はまた来年もやりたいなーってぼんやり考えてます。

ではPyCon JP 2017のほうの参加ブログはこの後また書こうと思います。

2017年8月の振り返り

仕事

  • Python3移行
  • 新しいプロジェクトに移動

アウトプット

スライド

ブログ

イベント

音楽

映画・ドラマ・アニメ

目標と成果

  1. × 執筆作業を進める
    • 今月はPyCon関連で余裕なかった
  2. ◯ Web連載の構成を細かいレベルに落とし込む
    • 連載決定したから頑張る
  3. ◎ PyCon APAC楽しんでくる
  4. ◯ RejectConの準備
    • なんとか準備できてよかった
  5. × CloudFront導入
    • 優先度が下がったため延期

9月に向けて

  • Web連載執筆
  • 書籍第1章執筆
  • PyCon JP 2017楽しんでくる
  • 入れ替え戦に勝つ
  • Perfume FES!!参戦

PyCon APAC 2017 に行ってきた #pyconapac2017

はじめに

マレーシア・クアラルンプールにて 2017/8/26~2017/8/27 に開催された PyCon APAC 2017 の参加メモです。

pycon.my

すでにあるまとめとか

全体を通しての感想

  • 英語が公用語なので、街でのコミュニケーションは楽だった

    • マレー語訛りなのかテンポがはやい話し方になかなか慣れなかったけど
  • 去年の韓国でのAPACではframeworkやasyncといったwebに関するトークが多かったけど、今年はデータ系がほとんどだった

  • 初日のKeynoteスピーカーのLuisと仮想通貨の話ができて有意義だった

    • ゲームPC40台でマイニングしてるガチ勢だった
    • お前もすぐマイニング始めろって言われた
  • 2日目のKeynoteスピーカーはPyCon JP 2016にも来てくれたJessica。次の話が印象的だった

    プログラマーはdebugのマインドを持っているから、世の中は変えることができるものと認識している。多くの人は世の中の仕組みは変わらないものと捉えている。プログラミング教育はこのマインドを育てることができるから大事。

  • 個人的に面白かったのは台湾から参加の2人のトーク

  • SQUEEZEで英語に抵抗がなくなったからか、去年のAPACよりも英語でのコミュニケーションが苦じゃなかった

    • ランチやディナーでも日本人メンバーがいない席に座るように心がけたのもよかった
  • 今回はSilver Sponsorとして参加

  • SQUEEZEからはSekineがSilver Sponsors Panel Discussionとトークに登壇

  • 2日目の夜に、元PSFボードメンバーのYounggunと飲みながら話せて勉強になった

    • PSFメンバーとしてどういった問題を解決したいかについて
    • PyCon USとPyCon KRのボランティアスタッフのありかたについて
  • 今年はCfP出せなかったけど、来年はスピーカーとして参加したいと思えた

  • IqbalはじめAPACスタッフの皆さんお疲れ様でした&ありがとう!

参加経緯

去年に引き続き、一般社団法人PyCon JPで募集されていたツアーに申し込んで行ってきました。

PyCon JP Blog: PyCon APAC 2017 in Malaysia のツアーを企画・開催

飛行機・ホテルなどの予約を寺田さんがまるっとやっていただけるので、本当に助かってありがたいです。

日本から一緒に参加した方々のおかげでAPACをより楽しむことができました。ありがとうございますm(_ _ )m

f:id:massa142:20170831014011j:plain

参加メモ

PyCon JP Reject Conference 2017の発表トークが決まりました #pyconjp_rc

f:id:massa142:20170821163445j:plain

techplay.jp

トーク選考

最終的に7枠の応募に対して、8名の方から応募が来ました。RejectConでRejectするのもあれだしねっていうことで、枠を1つ増やすことにしました!

トーク応募してくれた皆様ありがとうございます。当日は楽しいトーク期待してます!

タイムスケジュール

時間 内容 発表者
18:30 - 19:20 開場
19:20 - 19:30 オープニング・乾杯
19:30 - 19:45 Python と Email ヘッダ Takahiro Ikeuchi
19:45 - 20:00 How to write functions in Python Hayao Suzuki
20:00 - 20:15 luigiによる機械学習データフロー 竹野 峻輔
20:15 - 20:30 Python Test大全 Mitsuki Sugiya
20:30 - 20:45 休憩・ピザ到着
20:45 - 21:00 ローカル環境でDockerをドカドカつかう nasa9084
21:00 - 21:15 3次元データへのDeepLearningの適用方法 Masaya Ohgushi
21:15 - 21:30 Errbotによって得られる、ChatOpsライフ入門 Kazuya Takei
21:30 - 21:45 banditアルゴリズムを使った自動ABテスト Shoichi Taguchi
21:45 - 22:20 懇親会・飛び込みLT
22:20 - 22:30 クロージング

トーク詳細

Python と Email ヘッダ


こんにち、クラウドメールサービスの普及により、"Email" という形式のデータを我々が直接扱う機会は少なくなりました。しかしながら、もしも「Email を Python で扱わなくてはならない」としたら、どのような方法や課題が存在するのでしょうか。

このセッションでは、とある事情から Python で Email を処理しなくてはならなくなった「わたし」が実際に遭遇したさまざまな困難と課題、そしてそれらの解決方法についてのアウトプットを行います。

Email や Email ヘッダの仕様について、あらためて “フォロー” してみてはいかがですか?

How to write functions in Python


Pythonの関数は簡単に書けます。さらに、ポイントや落とし穴を押さえるとより良い関数を書くことができます。この発表では、より良い関数の書き方を解説し、より良いPythonプログラマを目指します。

luigiによる機械学習データフロー


機械学習においては、実験等の再現性の重要であるためデータフローを明確に記述することが重要です。 ここでデータフローとはデータの取得・整形から前処理、モデルの学習・ハイパパラメータ調整・評価、そしてデプロイまでの一連のフローをさします。 発表では機械学習における一般的なデータフローについて導入したのち、実際のluigiによる記述方法について説明します。またluigiの利点や簡潔に書くためのテクニックについても述べます.

Python Test大全


Pythonには公式から3rd-partyまで様々なtesting flameworkが存在します. 本セッションでは, 実際に仕事で使う場合での各testing flameworkの特徴や使い所について 解説していきます.

ローカル環境でDockerをドカドカつかう


みなさん、Dockerは使っていますか? Dockerはデータベースなど、開発環境の一部として使う場合にも非常に便利です。 ローカルの開発環境の一部としてDockerコンテナを使うメリットや、コンテナをコマンドの様に活用する方法などをお話しします。

3次元データへのDeepLearningの適用方法


arXiVやDeepLearningフレームワークgithubによってDeepLearningにおける技術の取得やノウハウ、コードの取得は容易になってきています。しかしいざ自社のプロダクトとして使いたい場合の戦略やアプローチについて得られる情報は少ないです。

本公演では第一部でノウハウ、データ、経験が少ない中で3ヶ月程度でvalidationデータで論文の性能83%を超える85%の性能(40カテゴリ分類)を達成した戦略について 第2部では具体的なケースとして3次元物体へのDeepLearning適用についての詳細についてお話します。

この公演であなたはExampleケースのDeepLearningしかできない状態から抜け出し、プロダクトへ適用するための確かな一歩が踏み出せることの手助けになる情報を取得できるはずです。

Errbotによって得られる、ChatOpsライフ入門


Python製のChatbotフレームワークにErrbotというものがあります。ここでは、Errbotの基本機能やプラグインを用いた社内コミュニケーションの活性化に対するアプローチ例などを紹介します。

banditアルゴリズムを使った自動ABテスト


データ分析の初学者にもわかりやすいようにbanditアルゴリズムを解説し、疑似コード、pythonで書いた時のコード、簡単なデモをお見せします。 banditアルゴリズム:複数台のスロットマシンを相手に報酬を最大化する目的で作られた。事前情報がない選択肢を探索的に試しながら、得た情報を使って各選択肢の期待報酬を計算し、報酬見合いの確率で選択できるよう自己調整し続ける。昨今自動ABテスト用に使われる。

終わりに

トーク枠は無事埋まりましたが、一般参加枠はまだまだ空いてます。これまでどんなトークが聞けるかわからなかったから参加を迷っていた人は、ぜひこの機会にもう一度検討してみてください。

それでは当日お会いしましょう!

第2回PythonのWebスタートアップを詳しく語る会でPythonicな開発文化について発表してきた #Pythonstartup

はじめに

2017/8/22 に開催された第2回PythonのWebスタートアップを詳しく語る会 の参加メモです。

iridge.connpass.com

感想

  • Djangoの話が多かった
  • 懇親会で話した感じだと、データ解析・機械学習Pythonをすでに使っていてその二次利用としてのWebをやりたいという人が多かった
  • Django/Flask/Pyramid どれを使えばいいですかね?という質問3回くらい聞いた
  • やはり日本語のDjango本需要は高そうだった
    • Django本執筆の機運が高まる
  • スライドのなかでDangerを紹介したけど、酒徳さんもDangerについて言及してたから熱いDanger推しなイベントになってた
  • 寿司 x ピザという豪華な懇親会
  • 綺麗な写真を撮ってもらった。ありがたい

f:id:massa142:20170824151610j:plain

発表資料

slideship.com

  • SQUEEZEの開発文化について
  • Pythonicな運営という考えを大事にしている
    • 特にPyCon JPの運営とかPEPの仕組みを参考に
  • このイベントのターゲット層をあまり把握できていなかったので、技術スタックではなく文化の話を中心にしてみた

参加メモ