-

前端開發(fā)
查看全部 -

?setup.py三個(gè)重要功能:
將整個(gè)應(yīng)用打包成一個(gè)zip包
把zip包安裝到本地python路徑中
發(fā)布到公有pip源中,用戶之后可以通過(guò)pip.setup或者pip.install來(lái)安裝公共源
運(yùn)行python自帶的setup函數(shù),setup函數(shù)中指定了包的名字,版本,作者,維護(hù)URL,keywords,等等。
使用腳本publish_to_pypi.sh將包打包到pypi.python.org官網(wǎng)上,安裝pip可直接在終端:sudo pip install ipython-dashboard
jenkins應(yīng)用于中大型項(xiàng)目
中小型項(xiàng)目使用工具github hooks, travis來(lái)打包
.travis.yml與github打包之后,每次更新后會(huì)運(yùn)行文件中的函數(shù),install,services,before_script等等,相當(dāng)于在云端建立虛擬機(jī),然后運(yùn)行這些函數(shù),再echo,再運(yùn)行nosetests函數(shù),這個(gè)函數(shù)會(huì)輸出一個(gè)應(yīng)用測(cè)試的完整性,測(cè)試后用coveralls這個(gè)變量啟動(dòng),coveralls就是github前端coverage的值。結(jié)合travis官網(wǎng)編寫travis.yml文件。
查看全部 -
應(yīng)用開發(fā)篇:講解實(shí)戰(zhàn)案例代碼

查看全部 -
應(yīng)用設(shè)計(jì)篇



一個(gè)頁(yè)面用一個(gè)模塊去實(shí)現(xiàn),即頁(yè)面上所有需要請(qǐng)求的后端接口的實(shí)現(xiàn)。
假如有三個(gè)頁(yè)面,就有三個(gè)模塊,但是三個(gè)模塊中有一些公用的服務(wù),將公用的api(公用的服務(wù))作為一個(gè)單獨(dú)的模塊進(jìn)行存儲(chǔ),比如后端存儲(chǔ)模塊,后端驗(yàn)證模塊。

init配置:
dash文件,每個(gè)dashboard里面所有請(qǐng)求api的接口都在這個(gè)文件中實(shí)現(xiàn)
home文件,dashboard主頁(yè)所有api接口都在這個(gè)文件中
sql,做所有sql請(qǐng)求的時(shí)候,所有接口都在
status,公用庫(kù),應(yīng)用狀態(tài)模塊
storage,公用庫(kù),應(yīng)用存儲(chǔ)模塊
test,測(cè)試模塊
utils
views
查看全部 -
前后端分離技術(shù)基礎(chǔ)


后臺(tái)工程師寫完后臺(tái)系統(tǒng),前端工程師將服務(wù)器地址和端口號(hào)寫入前端配置文件即可。

前后端分離后,前后端可以分別用獨(dú)立的框架進(jìn)行架構(gòu),比如前端比較火的框架有igura js,view等,這樣可以使用更符合公司業(yè)務(wù)的框架。

查看全部 -
總結(jié):https://github.com/litaotao/IPython-Dashboard
查看全部 -
html元素,定義了頁(yè)面元素的布局,button,字符串“當(dāng)前時(shí)間”,字符串容器:當(dāng)前最新時(shí)間
css呈現(xiàn),button的樣式,字的樣式
js交互,







查看全部 -
前端開發(fā)介紹




head中:文件中包括資料、關(guān)鍵字、js/css下載鏈接。
body中:定義了網(wǎng)頁(yè)中各個(gè)元素,該例子中定義了兩個(gè)元素,第一個(gè)當(dāng)前時(shí)間文字,第二個(gè)id,時(shí)間是動(dòng)態(tài)的,用js執(zhí)行,當(dāng)用戶每次刷新頁(yè)面時(shí)間有變化。
script腳本:將當(dāng)前時(shí)間賦予id這個(gè)元素中。




查看全部 -
python flask 框架實(shí)例應(yīng)用
實(shí)現(xiàn)圖書館例子:
主頁(yè)信息
書籍管理:獲取書籍信息
學(xué)生管理:獲取學(xué)生借閱信息

要返回主頁(yè)信息時(shí),需要讀取數(shù)據(jù)庫(kù)、做更新操作、緩存操作等,如果將這些過(guò)程都寫入home page函數(shù)中將會(huì)非常復(fù)雜,調(diào)試難,所以接口與邏輯需要分開設(shè)計(jì)。
home主頁(yè)的接口的邏輯是:要返回主頁(yè)數(shù)據(jù)所需要做的所有工作,如數(shù)據(jù)庫(kù)處理,緩存處理,緩存更新,文件讀寫,等等。為什么接口與邏輯要分開?1. 接口簡(jiǎn)單好看,2. 設(shè)計(jì)功能以模塊形式方便調(diào)試和協(xié)作開發(fā)。
接口部分views.py:

比如返回書單這個(gè)接口:books接口不變,邏輯是用logic模塊中g(shù)et books函數(shù)去獲取所有與書籍相關(guān)數(shù)據(jù)books data,再將其返回給前端。

導(dǎo)入logic模塊,注冊(cè)一些網(wǎng)址,以及該網(wǎng)址對(duì)應(yīng)哪些后端函數(shù),這些函數(shù)是分模塊進(jìn)行設(shè)計(jì),比如主頁(yè)用logic get home這個(gè)函數(shù)獲取主頁(yè)的home data。所有主頁(yè),書籍,學(xué)生信息都用logic這個(gè)模塊進(jìn)行封裝。
邏輯部分logic.py:

沒有做數(shù)據(jù)庫(kù)讀取,緩存操作與更新,文件讀寫,只使用框架,使用簡(jiǎn)單函數(shù)去返回一些字符串,與數(shù)據(jù)id打包。這樣方便多個(gè)程序員協(xié)調(diào),一個(gè)負(fù)責(zé)接口,一個(gè)負(fù)責(zé)邏輯(書籍,主頁(yè),學(xué)生)。

應(yīng)用發(fā)布run.py:

從views.py這個(gè)模塊從引用出app這個(gè)應(yīng)用,在網(wǎng)址的5000端口運(yùn)行這個(gè)應(yīng)用。
查看全部 -
python flask 框架使用


前兩行:從flask中導(dǎo)出flask類,并生成一個(gè)web app對(duì)象叫app。6-8行:注冊(cè)一個(gè)url到web app,url說(shuō)明當(dāng)請(qǐng)求url+'/'這個(gè)網(wǎng)址時(shí),也就是home網(wǎng)頁(yè)時(shí),執(zhí)行hello_world這個(gè)函數(shù),并把該函數(shù)返回的東西傳到瀏覽器上。10-11行:?jiǎn)?dòng)app這個(gè)應(yīng)用,啟動(dòng)應(yīng)用的三個(gè)重要參數(shù),host應(yīng)用啟用在哪個(gè)網(wǎng)段,port應(yīng)用啟動(dòng)在哪個(gè)端口,debug設(shè)置為q時(shí),代表有改變后無(wú)需重啟,可實(shí)時(shí)更新。
開發(fā)者窗口:command+alt(option)+i 查看相關(guān)的請(qǐng)求/返回信息

底層數(shù)據(jù)庫(kù),開發(fā)模式:前&后端全棧,前&后端分離等。

1. 設(shè)計(jì)/注冊(cè)后端接口url:

第一個(gè):返回home page這個(gè)頁(yè)面的數(shù)據(jù)
第二個(gè):返回所有書籍的列表
第三個(gè):根據(jù)書籍id返回書籍信息
第四個(gè):返回所有學(xué)生列表
第五個(gè):根據(jù)學(xué)生id返回學(xué)生信息

設(shè)置app.run(debug = true)后,代碼改動(dòng)實(shí)時(shí)更新
打印log,在后端用python打印后端處理的log,前端打印的log會(huì)輸出給瀏覽器,當(dāng)遠(yuǎn)程用戶發(fā)現(xiàn)問(wèn)題時(shí),管理員可以請(qǐng)求用戶在前端瀏覽器打開開發(fā)者工具,將log截圖給管理員
查看全部 -
python web開發(fā)框架對(duì)比
flask:
django:
web.py:



查看全部 -
python技巧介紹(面試題)
https://litaotao.github.io/python-materials
源碼:https://github.com/litaotao




enumerate,解析了blist數(shù)組,返回的每一個(gè)元素是tuple,index代表的數(shù)據(jù)是第一個(gè)tuple所對(duì)應(yīng)的下標(biāo),第二個(gè)tuple:value顯示的是下標(biāo)所對(duì)應(yīng)的值
第二種方式效率高,省內(nèi)存空間

def?a_function(x): ????if?isinstance(x,(int)): ????????if?0?<=?x?<?len(string.letters): ????????????return?string.letters(x) ????else: ????????return?'x?not?valid' ???????? def?b_function(a_list=None,?func=None): ????for?index,?value?in?enumerate(a_list): ????????print?index,?'->',?func(value) ????return?None ???? b_function(a_list=[1,?3,?8,?'a',?'b',?'===',?10],?func=a_function)
一個(gè)函數(shù)作為參數(shù),傳送給另一個(gè)函數(shù)。定義函數(shù)a function代表:如果傳入的參數(shù)x為int時(shí),則獲取該int所代表的數(shù)組下標(biāo)的字符串是多少。定義函數(shù)b function代表:傳入一個(gè)list,對(duì)該list中的每個(gè)元素應(yīng)用func方法。25行代碼是一個(gè)應(yīng)用,代表:針對(duì)a list中的每一個(gè)元素應(yīng)用a function函數(shù)做處理。
查看全部 -
python web應(yīng)用程序結(jié)構(gòu)




前兩行:生成flask web app
中間三行:定義url,當(dāng)請(qǐng)求到該url網(wǎng)址時(shí),執(zhí)行helloworld這個(gè)函數(shù),然后將結(jié)果返回給web前端
后兩行:用python原生語(yǔ)法啟動(dòng)web應(yīng)用
chrome開發(fā)者工具窗口:看到請(qǐng)求和結(jié)果



imooc應(yīng)用:
app文件夾:etc代表配置
server代表后端邏輯
static和templates放前端的資源文件和模版文件,如果分離開發(fā),不會(huì)講這兩個(gè)文件都放在app文件夾中
tests放測(cè)試的腳本和數(shù)據(jù)
requirments.txt:python獨(dú)有,該應(yīng)用依賴python中的哪些package
run.py:發(fā)布或運(yùn)行時(shí)
setup.py:打包python目錄結(jié)構(gòu)
查看全部 -
python函數(shù)編程




匿名函數(shù)在執(zhí)行完之后就不存在了,如最后一條查看全部 -
python數(shù)據(jù)結(jié)構(gòu)(常用5種)
字符串:
str,unicode
列表:
list [ ]可變
tuple ( )不可變
set { }唯一值
字典:
dict { 'key' :'value' } 每個(gè)key必須唯一。redis是字典數(shù)據(jù)庫(kù)
python高級(jí)特性
生成器:generator,動(dòng)態(tài)生成數(shù)據(jù),如for i in range(10): print i 生成數(shù)組并放入內(nèi)存,將range換成xrange不會(huì)消耗內(nèi)存
迭代器:不會(huì)像生成器一樣一下子取出所有數(shù)據(jù),而是一個(gè)個(gè)取出
切片:取list中某些元素 list[5:7],list[-2:]
查看全部 -
python基礎(chǔ)語(yǔ)法


查看全部 -
web應(yīng)用開發(fā)標(biāo)準(zhǔn)流程




查看全部 -
后端開發(fā)介紹






查看全部 -
前端開發(fā)介紹





查看全部
舉報(bào)