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
Django で始める PyCharm 入門
Search
Kashun Yoshida
June 30, 2018
Programming
0
47
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 NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
780
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
540
Djangoアプリケーション運用のリアル〜問題発生から可視化、最適化への道〜 / django-application-realities
kashewnuts
0
240
開発環境の垣根を超えるLanguage Server Protocol入門 / Introduction to Language Server Protocol beyond the boundaries of the development environment
kashewnuts
1
3.7k
Other Decks in Programming
See All in Programming
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
980
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
750
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
910
PipeCDのプラグイン化で目指すところ
warashi
1
260
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
0
210
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
160
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
340
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
640
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
340
Team operations that are not burdened by SRE
kazatohiei
1
310
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
600
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
700
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
54
13k
It's Worth the Effort
3n
185
28k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Code Reviewing Like a Champion
maltzj
524
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
960
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Statistics for Hackers
jakevdp
799
220k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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本格活用バイブル
ご清聴ありがとうございました