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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
naoya_s
October 28, 2023
Programming
74
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
420
AWS SAMをさわってみた話 / Try AWS SAM
suginao
0
53
全国在宅勤務制度のすゝめ / Practice of National Telecommuting System
suginao
1
25
サーバーレスな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
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
650
ALB ログから Trace を気合で繋げる技術
fohte
7
880
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
230
What We Talk About When We Talk About XP
m_seki
2
490
自分的「カンファレンスの楽しみ方」
syumai
0
200
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
130
業務時間外もAIに働いてもらう話
colorful12
3
10k
Foundry Localでエージェント開発
seosoft
0
170
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
6.1k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
390
Building an Out-of-Order CPU
latte72
1
750
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
150
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Exploring anti-patterns in Rails
aemeredith
3
500
Chasing Engaging Ingredients in Design
codingconduct
0
310
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
GraphQLとの向き合い方2022年版
quramy
50
15k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
630
Designing Powerful Visuals for Engaging Learning
tmiket
1
540
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ライフを!! 😀🐍