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
820
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
600
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
What's new in AppKit on macOS 26
1024jp
0
180
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
170
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
3
290
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
170
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
17
6.1k
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
250
Gemini CLI のはじめ方
ttnyt8701
1
110
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
110
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
構造化・自動化・ガードレール - Vibe Coding実践記 -
tonegawa07
0
150
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
720
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Designing Experiences People Love
moore
142
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Cult of Friendly URLs
andyhume
79
6.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
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本格活用バイブル
ご清聴ありがとうございました