Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RuffではじめるPython開発 / Python Development with Ruff
Search
naoya_s
October 28, 2023
Programming
84
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
Transcript
17 slides
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ライフを!! 😀🐍
More Decks by naoya_s
See All by naoya_s
静的解析ツールの刷新に向けた取り組み
suginao
1
440
AWS SAMをさわってみた話 / Try AWS SAM
suginao
0
59
全国在宅勤務制度のすゝめ / Practice of National Telecommuting System
suginao
1
31
サーバーレスなAPIサービスの全容 / All of the serverless API services
suginao
0
1.5k
(エンジニアに送る)人に優しくなるための3つの方法 / 3 Ways for Engineers to Be Kind to People
suginao
0
42
Other Decks in Programming
See All in Programming
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
310
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
230
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
380
例外からRich Errorsまで Kotlinエラーハンドリングの進化を読み解く
shiita0903
0
130
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
LLM 101
dalinaum
0
490
AIが実装を担う時代の「技術設計」と「チームマネジメント」
kamina_zzz
2
260
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
210
Getting Started with Vibe Coding
miccheng
0
220
ビジネスロジックを堅牢に~Scala 3のドメインプリミティブ~
j5ik2o
0
160
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
480
HDC tutorial
michielstock
2
1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.9k
Designing for Timeless Needs
cassininazir
1
560
Design in an AI World
tapps
1
390
Highjacked: Video Game Concept Design
rkendrick25
PRO
2
570
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k