Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Django で始める PyCharm 入門
Search
Kashun Yoshida
June 30, 2018
Programming
1
55
Django で始める PyCharm 入門
https://pycon-kyushu.connpass.com/event/84062/
http://kyushu.pycon.jp/
#PyCon9shu
Kashun Yoshida
June 30, 2018
Tweet
Share
More Decks by Kashun Yoshida
See All by Kashun Yoshida
企業がDjangoを使う際に、特にセキュリティで気をつけること
kashewnuts
1
36
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
1
1.6k
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
2
1.2k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
2
1.1k
Djangoアプリケーション運用のリアル〜問題発生から可視化、最適化への道〜 / django-application-realities
kashewnuts
1
250
開発環境の垣根を超えるLanguage Server Protocol入門 / Introduction to Language Server Protocol beyond the boundaries of the development environment
kashewnuts
2
4k
Other Decks in Programming
See All in Programming
tparseでgo testの出力を見やすくする
utgwkk
1
160
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7k
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
200
スタートアップを支える技術戦略と組織づくり
pospome
8
15k
Level up your Gemini CLI - D&D Style!
palladius
1
180
NUMA環境とコンテナランタイム ― youki における Linux Memory Policy 実装
n4mlz
1
200
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.2k
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.6k
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
480
AWS CDKの推しポイントN選
akihisaikeda
1
240
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
290
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.4k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Designing for Performance
lara
610
69k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Transcript
Djangoではじめる PyCharm入門 PyCon Kyushu 2018 Kashun Yoshida 2018-06-30
Who am I? / お前誰よ? • @kashew_nuts • BeProud Inc.
• Software Developer • Python, Vim, PyCharm • Django Girls Tutorial • Django Documentation • vimdoc-ja
What's BeProud? • 東京に本拠を置くPythonエンジニアリング会社 • Webサービス: ◦ Connpass: エンジニアをつなぐ IT勉強会支援プラットフォーム
◦ PyQ: Python学習用のオンラインプラットフォーム • フルリモートワーキング (5days/week)
書籍が出版されました • Pythonプロフェッショナルプロ グラミング 第3版 • 6/12発売 • Git/GitHub対応 •
CIがJenkins→CircleCIに • 機械学習プロジェクト対応
発表の動機/目的 • 「PyCharmどうですか?」と漠然と聞かれることがあった。 • 実際仕事でPyCharmを使っているが, PyCharmの使い方, 利 用してるライブラリー, 周辺環境など色々なトピックがあった。 •
その中でPyCharmを使うと便利な点をまとめてみたいなと 思った次第です。
対象 • PyCharmを使ってみたいが, どうやって使っていったらいいか わからない人 • 普段からPyCharmを使っているが, もっと使いこなしたい人 • 他に使い慣れているツールがあるが,
PyCharmもおさえてお きたい人
今日の目標 • PyCharm完全にマスターした
前提とする環境 • サンプルコードはすべてPython3.6, Django2.0 • 利用バージョン: PyCharm Professional 2018.1 •
題材: Django Girls Tutorial • リポジトリ: https://github.com/kashewnuts/djangogirlstutorial
目次 • PyCharm概要 • PyCharmがサポートしていること • 実際にPyCharmを使っていての感想 • PyCharmが向いていないこと •
基本機能 • Djangoサポート • フロントエンドサポート • データベースサポート • リモート開発 • テスト実行 • PyCharmを使うとき注意すべきこと
引用: https://www.jetbrains.com/pycharm/
What's PyCharm ? • https://www.jetbrains.com/pycharm/ • チェコのJetBrains社が作成するPython統合開発環境 ◦ ~Python IDE
for Professional Developers~ • 無償のCommunity版と有償のProfessional版がある ◦ Community版は機能制限あり ◦ サポートしてる機能の違いは PyCharm Editions Comparison に まと められてる
インストール要件 • ハードウェア条件 ◦ 最小4 GB RAM, 8 GB RAMを推奨
◦ 1.5 GBのハードディスク空き容量+キャッシュ用に少なくと も1 GB ◦ 1024x768の最小画面解像度 • ソフトウェア要件 ◦ OS: Windows, macOS, Linuxに対応 ◦ Python: 2.4以降, Jython, PyPy, IronPython
PyCharmができること • Intelligent Python Assistance • Webアプリケーション開発 ◦ (Django, Flask,
Pyramid, JavaScript, ...) • 科学技術系ツール (Jupyter, Numpy, matplotlib, ...) • デバッグ, テスト, プロファイリング • VCS連携 (Git, Mercurial, SVN) • デプロイ, リモート開発 (Vagrant, Docker) • データベースツール (MySQL, PostgreSQL, Oracle, AWS, …)
PyCharmに対しての感想 • 他のツールを探しにいく必要がなくなった • PythonもDjangoもよく知っているIDE ◦ Python本体、Djangoのurls, views, models, templates,
etc… • コード補完と解析、インクリメンタルサーチが賢い • Python事情への追従が速い: Python3.7, Django2.0 • Webアプリケーション開発をするにあたり必要なものが揃っていて必要なときに使 いやすい (Database&SQL, VCS, Remote Development) • デバッガーが優秀: ◦ Django runserverしながらCeleryのデバッグができたり , pytestをステップ実行できたり , JavaScript とPythonの両方でデバッグできたりして至極便利 • Gitのブランチ操作がサクサク動くし, コンフリクトの解消もしやすい • 困ったときはSearchEverywhereやFind in Actionで調べれば大抵のことは解決
PyCharmが向いていないこと • プラグインの作成(Javaで書く必要がある) • 単一ファイルの編集するエディタ代わりの使い方
DEMO
PyCharmの基本機能 • Pythonのシンタックスハイライト, コード補完, 定義ジャンプ対 応 • Python2/3対応 • virtualenvサポート
• GUIのパッケージマネージャー • リファクタリング, デバッガ, コードインスペクション • VCS連携 • Terminalサポート
PyCharmのDjangoサポート • 専用のプロジェクトタイプ • manage.pyユーティリティの実行 • Django用に強化されたコード補完, 定義ジャンプ, デバッグの 連携
◦ UrlConf, View, Model, Templates, Forms • Model用の依存関係図作成
フロントエンド • 同社のWebStrom (Front-end用IDE) 相当を同梱 • HTML, CSS, JavaScriptのコード補完, 定義ジャンプ,
コード 解析 • JavaScriptのFramework対応 ◦ Angular, React, Vue.js, and more • CSS Framework対応 ◦ SASS, SCSS, Less, and more.
データベース • 同社のDataGrip (DataBase & SQL用ツール) 相当を同梱 • DataBase &
SQLサポート ◦ SQLの作成と実行, コード補完, リファクタリング • SQLAlchemy対応 • CSV/JSON/XML出力対応 • 対応するDataBase ◦ Amazon Aurora, Amazon Redshift, MariaDB, MySQL, Oracle, PostgreSQL, SQL Server, SQLite3, and more.
リモート開発 • VagrantやDocker, Docker Composeサポート ◦ 起動, 終了, リロード ◦
Remote Interpretersの指定, Remote Debug • SSH Remote ◦ Vagrantfileを使ったSSH ◦ WSLの実行やデバッグ ◦ SSHやSSLを使用したリモート接続 • コードデプロイ (SFTP)
テスト実行 • unittest, pytest, nose, doctest, toxをサポート • テスト対象を指定して実行できる ◦
失敗したテスト ◦ 指定したクラス配下のテスト ◦ 指定した関数のテスト • Coverageの表示
フルスタックWebアプリケーション開発 引用: https://www.jetbrains.com/pycharm/features/web_development.html
PyCharmを使うとき注意すべきこと • トリッキーな使い方をするとハマる • 予期せぬ出来事にであったときは何が問題なのか切り分ける ◦ PyCharm側の問題?関連するツールの問題?(Python, MySQL, Vagrant, Docker,
SSH...) • PyCharmのバグを踏んだときはがんばり過ぎない ◦ なんか今日は機嫌悪いな?と思ったらInvalidate Caches/Restart ◦ Stop&Startで直ることも。再インストールは最終手段。 ◦ 不具合は報告すると比較的すぐに対応してくれるので, Issueトラッカー に登録or見つけたらVote
リファレンス • PyCharmの使い方 - 公式ヘルプ | PyCharm (ja / en)
• Pythonエンジニア ファーストブック • IntelliJ IDEAハンズオン 基本操作からプロジェクト管理までマ スター • Android Studio本格活用バイブル
ご清聴ありがとうございました