Movatterモバイル変換


[0]ホーム

URL:


Shinya Okano, profile picture
Uploaded byShinya Okano
PDF, PPTX6,728 views

Djangoエンジニアの観点から見たHue

Djangoエンジニアの観点から見たHue

Embed presentation

Download as PDF, PPTX
Djangoエンジニアの観点から見たHueHue meetup 2017/9/20岡野 真也 (@tokibito)
お前誰よ?岡野真也 (@tokibito)受託開発(主にwebアプリPython&Djangoを10年ぐらい使ってます株式会社オープンコレクターhttp://www.open-c.jp/お仕事あればご相談ください2
この場で話すきっかけ3
C社のSさんに声をかけられました4
私とHue5
私とHue数年前に検証がてら少しさわった程度CDHで構築したHadoop環境は使ったことあるけども...Djangoで作られてるらしいコードもすこし読んでた6
HueとDjango7
HueとDjangoHueはDjangoフレームワークが採用されてるどのように使われているか管理画面的なWebUIを作るのに使われてる8
管理画面でのDjango採用例OpenStack HorizonFreeNAS9
Djangoってどういうもの?10
Djangoってどういうもの?OSS (BSDライセンス)Python言語フルスタック(全部入り)のWebフレームワークアプリケーションフレームワーク認証DBアクセステンプレートエンジン依存モジュールが少ない11
お題「Djangoユーザーから見てHueの実装どうよ?」12
ざっとコード読みましたhttps://github.com/cloudera/hue13
読んだ感想コード量とても多いざっと見た感じだと構造よくわからんDjangoバージョンちょっと古いビルドの仕組みは興味深い単一アプリケーションにビルドすることが少ないので貴重な情報全体的にDjangoをうまく使っている(appの仕組みとか)Python以外のコードやスクリプトが多い 14
構造を知る方法は..?15
開発方法から切り込む16
ドキュメントを読もう17
ドキュメントどこだろ...18
開発に関する情報https://github.com/cloudera/hue/blob/master/docs/sdk/sdk.mdとりあえずリポジトリ19
ビルドしてみる20
ビルドしてみるCloudera QuickStartVMでやってみたCentOSの手順のとおりmake appsめっちゃ時間かかるすんなり動いた!21
ビルドで生成されたものbuild├── env # Pythonのvirtualenv│   ├── bin│   ├── include│   ├── lib│   ├── lib64 -> lib│   └── stamp└── static # 静的ファイル22
hueコマンドツール./build/env/bin/hueサブコマンドたくさんrunserver で開発サーバー起動Djangoの管理コマンド由来pkg_resoucesを使っててPythonicでよいですね23
アプリを作ってみるsdkのドキュメントに手順がある1. 専用コマンドでアプリの雛形を作る./build/env/bin/hue create_desktop_app myapp2. 専用コマンドでアプリを登録する./build/env/bin/python tools/app_reg/app_reg.py --install myapp --relative-pathsここでDBテーブルが作られたり静的ファイルのビルドが走ったりドキュメントのソースコードそのままだとエラーデバッグにはPythonの知識必須24
sdkドキュメントにあったcalculatorの例25
DBを使った例26
画面の構造カスタムアプリの画面はJavaScriptにてロードされて埋め込まれる。Pythonで作らずに外部アプリを埋め込むことも可能27
パッケージ構造Pythonのパッケージ構造Djangoのアプリケーションでよくある構造28
myapp/ # パッケージディレクトリ├── Makefile├── setup.py # Python└── src├── myapp # Djangoのアプリケーション│   ├── forms.py # フォーム生成のクラスを書く│   ├── __init__.py│   ├── models.py # モデルクラスを書く│   ├── settings.py # 設定項目│   ├── static # 静的ファイルを格納│   │   └── myapp│   │   ├── art│   │   ├── css│   │   ├── help│   │   └── js│   ├── templates # テンプレートファイルを格納│   │   ├── index.mako│   │   └── shared_components.mako│   ├── urls.py # URLルーティング定義を書く│   └── views.py # View(アプリケーションの処理)を書く└── myapp.egg-info # パッケージ関連データ 29
アプリを作ってみた感想(1)Pythonの一般的なツールスタックの知識でいけるvirtualenvsetuptoolsDjangoの知識があると、DjangoのAPIは違和感なく使える(ちょっとバージョンが古いけど)テンプレートエンジンはデフォルトはmakoDjangoテンプレートも使えるらしい30
アプリを作ってみた感想(2)各種コンポーネントのAPIはソースコードを読まないと使い方はわからない埋め込みのアプリにするならJavaScriptもりもり31
まとめ32
HueでどのようにDjangoを使ってるのかアプリケーションの構造、仕組みはDjangoそのままコマンドツールやテンプレートのローディングもDjangoフレームワーク由来HueはDjangoを使って作ったプロジェクトDjangoの機能で可能で、独自のビルド方法により配布物を生成できる33
開発はPythonやDjangoの知識と気合が必要34

Recommended

PDF
Djangoフレームワークの紹介
PDF
Djangoフレームワークのユーザーモデルと認証
PDF
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
PDF
Djangoフレームワークの紹介
PPTX
DjangoでさくっとWeb アプリケーション開発をする話
PDF
Djangoのエントリポイントとアプリケーションの仕組み
PPTX
Python札幌201406
PDF
Djangoフレームワークの紹介 OSC2015北海道
PDF
Djangoのススメ
PDF
ヒカルのGo 資料 Webアプリケーションの作り方
PDF
Goでかんたんソースコードの静的解析
PDF
Go言語によるwebアプリの作り方
PDF
Django 1.9
PDF
Django最速デバッグ指南 PyConAPAC 2013
PDF
GAE/GoでWebアプリ開発入門
PDF
GoによるWebアプリ開発のキホン
PDF
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
PDF
実践Go ツールの作成から配布まで
PDF
今日から始める Go言語 と appengine
 
ODP
Programming camp Codereading
PDF
映画にでてくるハッカーになりたい - YAPC Asia 2010
PDF
What makes Geb groovy?
ODP
Django 1.5 における効果的な MTV 設計 & ネイティブApp
PPTX
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
PDF
条件式評価器の実装による管理ツールの抽象化
PDF
Go1.8 for Google App Engine
PDF
Go言語で作る webアプリ@gocon 2013 spring
PDF
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
PDF
Pyconjp2016 pyftplib
PDF
Python入門 コードリーディング - PyConJP2016

More Related Content

PDF
Djangoフレームワークの紹介
PDF
Djangoフレームワークのユーザーモデルと認証
PDF
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
PDF
Djangoフレームワークの紹介
PPTX
DjangoでさくっとWeb アプリケーション開発をする話
PDF
Djangoのエントリポイントとアプリケーションの仕組み
PPTX
Python札幌201406
PDF
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介
Djangoフレームワークのユーザーモデルと認証
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
Djangoフレームワークの紹介
DjangoでさくっとWeb アプリケーション開発をする話
Djangoのエントリポイントとアプリケーションの仕組み
Python札幌201406
Djangoフレームワークの紹介 OSC2015北海道

What's hot

PDF
Djangoのススメ
PDF
ヒカルのGo 資料 Webアプリケーションの作り方
PDF
Goでかんたんソースコードの静的解析
PDF
Go言語によるwebアプリの作り方
PDF
Django 1.9
PDF
Django最速デバッグ指南 PyConAPAC 2013
PDF
GAE/GoでWebアプリ開発入門
PDF
GoによるWebアプリ開発のキホン
PDF
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
PDF
実践Go ツールの作成から配布まで
PDF
今日から始める Go言語 と appengine
 
ODP
Programming camp Codereading
PDF
映画にでてくるハッカーになりたい - YAPC Asia 2010
PDF
What makes Geb groovy?
ODP
Django 1.5 における効果的な MTV 設計 & ネイティブApp
PPTX
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
PDF
条件式評価器の実装による管理ツールの抽象化
PDF
Go1.8 for Google App Engine
PDF
Go言語で作る webアプリ@gocon 2013 spring
PDF
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Djangoのススメ
ヒカルのGo 資料 Webアプリケーションの作り方
Goでかんたんソースコードの静的解析
Go言語によるwebアプリの作り方
Django 1.9
Django最速デバッグ指南 PyConAPAC 2013
GAE/GoでWebアプリ開発入門
GoによるWebアプリ開発のキホン
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
実践Go ツールの作成から配布まで
今日から始める Go言語 と appengine
 
Programming camp Codereading
映画にでてくるハッカーになりたい - YAPC Asia 2010
What makes Geb groovy?
Django 1.5 における効果的な MTV 設計 & ネイティブApp
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
条件式評価器の実装による管理ツールの抽象化
Go1.8 for Google App Engine
Go言語で作る webアプリ@gocon 2013 spring
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法

More from Shinya Okano

PDF
Pyconjp2016 pyftplib
PDF
Python入門 コードリーディング - PyConJP2016
PPTX
Spring4Dの紹介
PDF
Hadoopとその周辺の紹介
ODP
Delphi ideを使わない開発スタイルの紹介
PDF
2011.06.01 和歌山高専
PDF
電子書籍の話
PDF
写真共有アプリのバックエンドサーバー
PDF
Python札幌 2012/06/17
PDF
XenServerによるお手軽開発サーバ運用
PDF
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Pyconjp2016 pyftplib
Python入門 コードリーディング - PyConJP2016
Spring4Dの紹介
Hadoopとその周辺の紹介
Delphi ideを使わない開発スタイルの紹介
2011.06.01 和歌山高専
電子書籍の話
写真共有アプリのバックエンドサーバー
Python札幌 2012/06/17
XenServerによるお手軽開発サーバ運用
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ

Djangoエンジニアの観点から見たHue


[8]ページ先頭

©2009-2025 Movatter.jp