編集長– Author –
-
プログラミング・開発言語
V8 Engineとは|ChromeとNode.jsを支える高速JIT実行系
V8は2008年9月にGoogleがChromeブラウザのリリースに合わせて公開したオープンソースのJavaScript実行エンジンで、現在ではWebブラウザにとどまらずNode.jsやDeno、Cloudflare Workersといった主要なサーバサイドランタイムの基盤としても採用されています... -
プログラミング・開発言語
Denoとは|Ryan Dahlが再設計したセキュアなJSランタイム
DenoはNode.jsの生みの親であるRyan Dahl氏が、自らの反省点を踏まえて2018年に発表したJavaScript/TypeScript実行環境です。彼は2018年のJSConf EUでの講演「Node.jsに関する10の反省」で、モジュールシステムやセキュリティ設計の課題を率直に語り、それ... -
プログラミング・開発言語
Bunとは|Zigで書かれた爆速JavaScriptランタイム
Bunは2022年にJarred Sumner氏が公開したJavaScript/TypeScript向けの統合ランタイムであり、Node.jsやDenoと並ぶ第三の選択肢として急速に存在感を高めている処理系です。Zig言語で実装され、JavaScriptCoreをエンジンに採用することで、起動速度・パッケ... -
プログラミング・開発言語
uvとは Astral社のRust製Pythonツールチェーン
uvは2024年2月にAstral社(ruffの開発元)が公開したPython向けの統合パッケージマネージャで、Rustで実装されておりpipの10倍以上の依存解決速度を実現した。当初はpip互換のサブコマンドから始まったが、2024年内にPython版管理(rye統合)、プロジェクト管... -
プログラミング・開発言語
setuptoolsとは Pythonビルドの基盤を理解する
setuptoolsはPhillip J. Ebyが2004年にdistutils拡張として発表したPythonのビルドツールで、20年以上にわたりPyPIパッケージ作成のデファクト基盤として動き続けている。PEP 517/518以降は「build backendの一つ」という位置付けに整理され、setup.py時代... -
プログラミング・開発言語
pip-toolsとは requirements.txt運用を堅牢にする補助具
pip-toolsはJazzbandコミュニティが2015年頃から保守しているPython向けのrequirementsコンパイラ群で、requirements.inに書かれた緩い指定からハッシュ込みのrequirements.txtを生成するpip-compileと、実環境を要求通りに同期させるpip-syncを提供する。... -
プログラミング・開発言語
Hatchとは PyPA公式のモダンなPython開発ツールチェーン
HatchはOfek LevがGitHubで2017年頃から開発を始め、2022年にPython Packaging Authority(PyPA)公式プロジェクトとして組み込まれたモダンなPython開発ツールである。プロジェクトのスキャフォールド、仮想環境管理、テスト実行、wheelビルド、PyPI公開ま... -
プログラミング・開発言語
Pipenvとは PipfileとロックでPython開発を統合した試み
Pipenvは2017年1月にrequests作者として知られるKenneth Reitzが公開したPython向け開発ツールで、pip, virtualenv, requirements.txtの組み合わせを置き換えるべくPipfileとPipfile.lockによる管理体系を提示した。一時はPython Packaging Authority (PyP... -
プログラミング・開発言語
MambaとはCondaを劇的に高速化するC++実装
Mambaは2019年にQuantStackのWolf Vollprechtらが公開したCondaの後継ツールで、依存解決をC++で書かれたlibsolv上に再実装し、Conda CLI互換のmamba/micromambaコマンドを提供する。数百のパッケージ依存を解く時間が分単位から秒単位に短縮されたことで... -
プログラミング・開発言語
Condaとは 科学技術計算で標準化したパッケージ管理系
Condaは2012年にContinuum Analytics(現Anaconda Inc.)がリリースしたパッケージマネージャ兼環境管理ツールで、Pythonに限らずC/C++/R/Fortran/Juliaなどのコンパイル済みバイナリを横断的に扱える点でpipと一線を画す。科学技術計算や機械学習の現場で広...
