パッケージマネージャがパッケージをインストールする仕組み

この記事は CAMPHOR- Advent Calendar 2017 の20日目の記事です.

Python では pip,Ruby では Bundler,JavaScript (Node.js) では npm と様々なパッケージマネージャが存在します.これらを使うと,パッケージをいい感じにインストールして使えるようにしてくれますが,どのようにしてパッケージがインストールされているのかあまりよく把握していない人もいると思います.また,Ruby では GemfileGemfile.lock, Python では requirements.txt,Node.js では package.jsonpackage-lock.jsonyarn.lock といったファイルがパッケージマネージャによって使われていますが,このようなファイルは何のために存在するのか分からない人もいるかと思います.

この記事では,パッケージマネージャがどのようにパッケージをインストールしているのかを紹介します.まず,パッケージマネージャが存在しない場合を仮定してみて,そこから様々な機能を追加していくことでパッケージマネージャが何をしているかを順に見ていきます.

“パッケージマネージャがパッケージをインストールする仕組み” の続きを読む

ISUCON7 本選で学生枠1位になりました

チームMLとして @ishiy1993 と2人で ISUCON7 の本選に出て,学生枠の1位 (全体の7位) になりました.使用した言語は Python で,最終スコアは 19,172 でした.満足のいくスコアではありませんでしたが,我々が今持っている力は出し切れたかなあと思っています.

“ISUCON7 本選で学生枠1位になりました” の続きを読む

python-gyazo v1.0.0 をリリースしました

2017/11/1 に python-gyazo v1.0.0 をリリースしました. python-gyazo は Gyazo の API を Python から利用するしやすくするライブラリで,2014/7 にリリースしていましたが,長い間ベータ版という扱いにしていました.

python-gyazo はリリース後も小さいアップデートを重ねてきましたが,そろそろ API を固めても良さそうな程度に安定してきたので,stable のリリースを行いました.今後は Semantic Versioning に従ってバージョン番号を付けていくので,(少しは) 安心して python-gyazo を使って様々なものを開発してもらえると考えています.

python-gyazo を使うと,Python から簡単に Gyazo に画像をアップロードしたり,Gyazo にアップロードされている画像のリストを取得できたりするので,機会があればぜひ使ってみて下さい.

ISUCON7 予選を学生枠で突破した

チーム ML として @ishiy1993 と ISUCON7 の予選に出て,学生枠で予選を通過しました.やったことと感想を簡単にまとめます.言語は Python で,最終&ベストスコアは 75,346 でした.

“ISUCON7 予選を学生枠で突破した” の続きを読む

PyCon JP 2017 に参加して LT 発表しました

2017/9/7–10 に開催された PyCon JP 2017 に参加し,「Introducing wsgi_lineprof」という LT 発表をしてきたので簡単にまとめます.PyCon JP (2013年は APAC) には 2013 年から参加しており,今年で5回目の参加になりました.

“PyCon JP 2017 に参加して LT 発表しました” の続きを読む