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
19
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アプリケーション運用のリアル〜問題発生から可視化、最適化への道〜 / django-application-realities
kashewnuts
0
140
開発環境の垣根を超えるLanguage Server Protocol入門 / Introduction to Language Server Protocol beyond the boundaries of the development environment
kashewnuts
1
2.8k
Other Decks in Programming
See All in Programming
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
560
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.4k
Next.js App Router
quramy
11
1.5k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
見た目から始める生産性向上
ikumatadokoro
9
1.3k
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
420
Goのエラースタックトレースの歴史と今後
sonatard
9
1.7k
Sheets API使ってみた
toshi0383
2
150
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
390
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
300
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.4k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
92
4.8k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
Done Done
chrislema
178
15k
Designing with Data
zakiwarfel
96
4.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
6
1.3k
[RailsConf 2023] Rails as a piece of cake
palkan
27
4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
64
14k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
The Invisible Customer
myddelton
114
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Designing for humans not robots
tammielis
248
25k
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本格活用バイブル
ご清聴ありがとうございました