Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RuffではじめるPython開発 / Python Development with Ruff
Search
naoya_s
October 28, 2023
Programming
70
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RuffではじめるPython開発 / Python Development with Ruff
naoya_s
October 28, 2023
More Decks by naoya_s
See All by naoya_s
静的解析ツールの刷新に向けた取り組み
suginao
1
410
AWS SAMをさわってみた話 / Try AWS SAM
suginao
0
47
全国在宅勤務制度のすゝめ / Practice of National Telecommuting System
suginao
1
24
サーバーレスなAPIサービスの全容 / All of the serverless API services
suginao
0
1.4k
(エンジニアに送る)人に優しくなるための3つの方法 / 3 Ways for Engineers to Be Kind to People
suginao
0
37
Other Decks in Programming
See All in Programming
Vite+ Unified Toolchain for the Web
naokihaba
0
740
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
220
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
act2-costs.pdf
sumedhbala
0
110
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.4k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
160
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
310
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
580
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
110
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
190
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Practical Orchestrator
shlominoach
191
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.6k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
920
Transcript
Ruffで はじめる Python開発 2023/10/28 PyCon APAC 2023 懇親会LT
Naoya Sugita 🏢 : ZOZO, inc. 🛠 : AWS /
Serverless / Python 😘 : Anime / Travel 🏠 : Miyazaki : @sugich17 Who are you?(お前誰よ)
ここから日本語
おしながき • Ruffの紹介 • Ruffの魅力 • Ruffのこれから
Ruffの紹介
• Rust製のPython Linter • リリースは2022年8月末👉 (👇邂逅はリリースから数日後) Ruffの紹介 https://github.com/astral-sh/ruff/releases/tag/v0.0.18
Ruffの紹介 〜特徴〜 https://docs.astral.sh/ruff/ • ⚡ 既存のリンターよりも 10 ~ 100 倍高速
• 🐍 pip経由でインストール可能 • 🛠 pyproject.tomlサポート • 🤝 Python 3.12 との互換性 • 📦 組み込みのキャッシュにより、変更されていないファイルの再分析を回避します • 🔧 自動的にエラー修正のサポート (例: 未使用のインポートを自動的に削除) • 📏 700 を超える組み込みルール • ⚖ 組み込みの Flake8 ルールセットとほぼ同等 • 🔌 flake8-bugbearをはじめとする、数十種のFlake8プラグインをネイティブ再実装 • ⌨ VS Codeなどのファーストパーティエディターへの統合をサポート • 🌎 モノリポに適しており、階層的およびカスケード構成を備えています
Ruffの紹介 〜特徴〜 https://docs.astral.sh/ruff/ • ⚡ 既存のリンターよりも 10 ~ 100 倍高速
• 🐍 pip経由でインストール可能 • 🛠 pyproject.tomlサポート • 🤝 Python 3.12 との互換性 • 📦 組み込みのキャッシュにより、変更されていないファイルの再分析を回避します • 🔧 自動的にエラー修正のサポート (例: 未使用のインポートを自動的に削除) • 📏 700 を超える組み込みルール • ⚖ 組み込みの Flake8 ルールセットとほぼ同等 • 🔌 flake8-bugbearをはじめとする、数十種のFlake8プラグインをネイティブ再実装 • ⌨ VS Codeなどのファーストパーティエディターへの統合をサポート • 🌎 モノリポに適しており、階層的およびカスケード構成を備えています
Ruffの魅力
ついつい増えがちな設定ファイルが、 今一つに・・・・😀 Ruffの魅力 〜pyproject.tomlサポート〜 ツール 設定ファイル flake8 .flake8, setup.cfg isort
.isort.cfg black pyproject.toml ↑LINEヤフーさんのブースより
Ruffの魅力 〜充実した機能〜 • エディタへの統合 ◦ VSCodeの拡張機能 ◦ LSPをサポートする任意のエディタで利用可 • GitHub
Actionsをサポート • pre-commitをサポート
Ruffの魅力 〜卓越したパフォーマンス〜 開発中にLinterの実行結果を待つことが無くなり、開発者体験も良くなる😇 https://docs.astral.sh/ruff/
それって早いの??🤔
Ruffの魅力 〜パフォーマンス(イメージ)〜 両津勘吉の早打ち(0.009s)< RuffのLint(0.29s)< のび太の早寝(0.93s) http://meteolog.com/1875/ https://note.com/shatoru0619/n/neee3d31f983d
Ruffのこれから
Ruffのこれから ついにBlackのサポート!!
良いPythonライフを!! 😀🐍