水曜日 1 p.m.–1:45 p.m.
Room 202 #pyconjp_202たった一ファイルの python スクリプトから始める OSS 開発入門
Kei Iwasaki
- 対象レベル:
- 初級
- カテゴリ:
- Systems Administration
- スライド:
- http://www.slideshare.net/laughk/python-oss-pyconjp-2016slide
- ビデオ:
- https://youtu.be/BtOCoo7-sF8?list=PLMkWB0UjwFGlYvIcvKsGhJ7SJIODj_zJZ
説明
1ファイルのスクリプトを書き捨てる程度でしかコードを書かなかったところから、書いたコードを公開するようになってによって起こった技術的な視野の広がりについて、実際の体験を元にお話します。
概要
オペレーション中心のWeb系インフラエンジニアが
1ファイルのシェルスクリプトを書き捨てる程度でしかコードを書かなかったところから
python を使い始めたこと、そして更に書いたコードを公開するようになってによってどのような変化が起こったのか、ということを紹介します。
#### ストーリー
日々のオペレーション中心の業務の片手間でたまに1ファイルのシェルスクリプトを書く程度だったところから
python に手をつけ始めたことにより、
- URLエンコードをした状態のファイルパスで 255byte (アプリケーションのDBカラムのサイズ) を超えるもの一覧を取得する
- 便利なPyPIモジュールを使ってやや複雑な条件のCDNキャッシュのパージ
といったそれまでなかなか手を付けづらかった調査や作業の効率化ができるようになりました。
一方で書いたスクリプトは実行したサーバにそのまま放置されてしまい、結果自分でも存在を忘れがちになります。
よその環境で使いたいと思ったときに移植するのが非常に面倒だったりと、せっかくコードで作業をに対するアプローチ方法が増えても、自分に依存してしまうという状況は大きく変わりませんでした。
そんな中、自分が見ている環境の
複数サーバに変更を加えたりファイルのやり取りを効率的にするためのコマンドラインツールの開発を行い、
踏み台にサーバに導入し当時のチームに展開しました。
この際に Github Enterprice 上のコードを pip install で導入する形で展開しましたが
この体験がパッケージング、PyPIへの登録方法を覚えるきっかけになり、私にとっての一つのブレイクスルーとなりました。
その結果
「このコード、実はPyPIに登録(pip install で入るように)すれば便利では?」
という発想が自然になったのです。
また公開することを前提にコードを書くということを通じて
- 「普段自分が行っている日々のオペレーションを一般化して捉える」
- 「これまで使っていたOSSなソフトウェアを支えいているのもまた自分たちと同じエンジニアなのだ」
という視点がより強くなり、
エンジニアとしての自身の考え方の広がりも実感するようになりました。
#### アウトライン
1. オペレーション、シェルスクリプトから python スクリプトへ
2. 1 ファイルのpython スクリプトから python を使ったツール開発へ
3. ツール開発からパッケージングよる成果物の配布やってみて
4. パッケージングをしてみた、「pip install で入れば便利なのでは?」の気づき
5. PyPIに公開することを前提にコードを書くようになってよかったこと
6. これまで私が公開してきたものの紹介