If __name__ == ‘__main__’:
理解:__name__ 內(nèi)置變量,可用于反映一個包的結(jié)構(gòu),可表示當(dāng)前模塊的名稱
【
2018-09-14日,dir(__builtins__)查看內(nèi)置變量和方法。要熟記常用的模塊和基本用法,有計劃地學(xué)習(xí)新的模塊。
】
Python -m test.py? Python把當(dāng)前工作目錄添加到sys.path中。
Python?test.py? Python把腳本所在目錄添加到sys.path中。
【
Python的-m參數(shù)用于將一個模塊或者包作為一個腳本運行。__main__.py文件是一個包或者目錄的入口程序。
當(dāng)加上-m參數(shù)時,Python會把當(dāng)前工作目錄添加到sys.path中;而不加-m時,Python則會把腳本所在目錄添加到sys.path中。
】
2018.08.03日:
Magic methods魔法方法
__init__()對象初始化時調(diào)用
__new__() 構(gòu)建一個實例時調(diào)用。只有繼承于object的類,或者更準(zhǔn)確的說,祖先類是object類才有__new__方法;__new__必須要有返回值,創(chuàng)建一個實例。
【
2018-09-14日,__new__方法它只取下 cls參數(shù),并把其他參數(shù)傳給__init__。? __new__和 __init__是對象的構(gòu)造器,__del__是對象的銷毀器。當(dāng)Python解釋器退出但對象仍然存活的時候, __del__并不會執(zhí)行。所以養(yǎng)成一個手工清理的好習(xí)慣是很重要的,比如及時關(guān)閉連接。
】。
__all__屬性,則只有__all__內(nèi)指定的屬性、方法、類可被導(dǎo)入。
單下劃線開頭:表示方法不是API的一部分,不能直接訪問的類屬性,需要類提供的接口進(jìn)行訪問。_foo:一種約定,用來指定變量私有.程序員用來指定私有變量的一種方式.
雙下劃線開頭:表示子類不能覆寫該方法。類的私有成員(作用:防止子類創(chuàng)建的對象與基類創(chuàng)建的對象出現(xiàn)命名空間沖突的問題;)
【
__foo:是一種保護(hù)方式,防止子類的篡改和覆蓋。這個有真正的意義:解析器用_classname__foo來代替這個名字,以區(qū)別和其他類相同的命名.
】
開頭結(jié)尾都是雙下劃線:Python里面特殊方法專用的標(biāo)識。__foo__:一種約定,Python內(nèi)部的名字,用來區(qū)別其他用戶自定義的命名,以防沖突.
PLSQL Developer是Oracle數(shù)據(jù)庫開發(fā)工具。
Dicom (Degital Imaging and Communications
in Medicine) 醫(yī)學(xué)數(shù)字成像和通訊標(biāo)準(zhǔn)
IOD (information object definitions) 信息對象定義
DIMSE (DICOM Message Service Element) DICOM消息服務(wù)元素
SOP (service objects pair) 服務(wù)對象對
Store 儲存,貯藏
Vmware workstation無法界面化安裝vmware
tools 的問題:
???????? 1.sudoapt-get upgrade
???????? 2.sudoapt-get install open-vm-tools-desktop –y
???????? 3.sudoreboot
Locate 查找文件或目錄,可以在搜尋數(shù)據(jù)庫時快速找到檔案。不搜索具體目錄而是搜索一個數(shù)據(jù)庫/var/lib/mlocate/mlocate.db
locate vi | grep 'vi$' |xargs ls –al??
vim配置如果對所有用戶有效,修改/etc/vim/vimrc;用戶對當(dāng)前目錄下的.vimrc修改只對本用戶有效。(vi ~/.vimrc) 并在文件中進(jìn)行配置。
管道:主要用于接受輸入的內(nèi)容并進(jìn)行操作處理。
重定向:主要用于對標(biāo)準(zhǔn)輸入輸出的處理,控制輸出的路徑是屏幕還是標(biāo)準(zhǔn)文件中。
Xargs: 產(chǎn)生某個命令的參數(shù)。把|讀入的stdin(標(biāo)準(zhǔn)輸入)的內(nèi)容,作為參數(shù)傳給后面的命令。
正則表達(dá)式工具:vi ,grep , sed , awk
2018.08.07日:
DICOM:(Digital Imaging and
Communication in Medicine)醫(yī)學(xué)數(shù)字成像和通訊標(biāo)準(zhǔn)
HIS: (Hospital Information System)醫(yī)療信息系統(tǒng)
LIS:(Loboratory
Information Management System)實驗室(檢驗科)信息系統(tǒng)
PACS: (Picture Archiving and Communication
System)影像歸檔和通信系統(tǒng)
RIS: (Radiography Information System)放射科信息系統(tǒng)
HL7:醫(yī)療信息交換標(biāo)準(zhǔn)
IOD: (Information object definitions)信息對象定義
MRI: (Magnetic Resonance Imaging) 核磁共振成像
Windows系統(tǒng)下如何安裝并配置PLSQL
Developer和Xshell?
答:使用plsql遠(yuǎn)程連接數(shù)據(jù)庫需要安裝plsql工具(PLSQL Developer)+oracle的遠(yuǎn)程客戶端(instantclient);
步驟:
1. 在路徑下解壓instantclient并配置環(huán)境變量;
2. 安裝成功plsql后,不登陸狀態(tài)下打開, 工具—首選項:指定Oracle客戶端的安裝路徑(oracle主目錄名和OCI庫)
3. 配置tnsnames.ora文件
remote_oracle =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 5568))) (CONNECT_DATA = (SERVICE_NAME = oral)))
Xshell的作用:端口轉(zhuǎn)發(fā)
__repr__和__str__這兩個方法都是用于顯示的,__str__是面向用戶的,而__repr__面向程序員。終端用戶顯示使用__str__,而程序員在開發(fā)期間則使用底層的__repr__來顯示,實際上__str__只是覆蓋了__repr__以得到更友好的用戶顯示。
DICOM信息模型和信息定義:
2018.08.08日:
貝葉斯定理:
貝葉斯方法:
貝葉斯網(wǎng)絡(luò):
單例模式:
????????????? Super()調(diào)用父類(超類)的一種方法。解決多重繼承問題(查找順序(MRO, 類的方法解析順序表),重復(fù)調(diào)用(鉆石繼承))
Python3.x 和 Python2.x 的一個區(qū)別是: Python 3 可以使用直接使用 super().xxx 代替super(Class,self).xxx
DICOM是專門用于醫(yī)學(xué)圖像的存儲和傳輸?shù)臉?biāo)準(zhǔn)名稱。
DICOM信息定義:
DICOM信息模型:患者層次,研究層次,序列層次,圖像層次
杭州聯(lián)眾醫(yī)療科技股份有限公司
全球影像;??????????? 醫(yī)療大數(shù)據(jù)云服務(wù);??? 移動遠(yuǎn)程診療云服務(wù); 個人健康云服務(wù); 醫(yī)療學(xué)術(shù)云服務(wù)
(開放、合作、定制)(豐富的影像資源,高效穩(wěn)定的呈現(xiàn))????????????? (移動閱片會診,雙向轉(zhuǎn)診,視頻會診)?????? (預(yù)約掛號,尋醫(yī)問診,患友交流,健康檔案,口袋病例)? (教學(xué)指導(dǎo),病例研討,同步協(xié)作)?
2018.08.10日:
PACS系統(tǒng)優(yōu)點:圖像后處理功能;簡便快速;醫(yī)學(xué)影像數(shù)據(jù)保存的完整性;
PACS是由醫(yī)療設(shè)備(CT、DR、DSA、MRI等)、醫(yī)生工作站(Review Station)、交換設(shè)備(Switch)、服務(wù)器(Server)、數(shù)據(jù)庫(Date Base)等主要部分組成。
醫(yī)學(xué)圖像信息是多樣化的,如B超掃描圖像、彩色多普勒超聲圖像、核磁共振(MRI)圖像、CT圖像、X線透視圖像、ECT圖像、各種電子內(nèi)窺鏡圖像、顯微鏡下病理切片圖像等。
二維碼膠片:
口袋病例:把多種格式的醫(yī)療信息(影像、病理、超聲、心電、檢驗、報告等)整合在同一窗口顯示
云存儲:擁有金融級防護(hù)以及多備份式存儲的阿里云技術(shù)
PACS系統(tǒng)主要包括的內(nèi)容:
????????????? 圖像采集:
????????????? 傳輸存儲:影像設(shè)備和PACS系統(tǒng)之間的傳遞使用DICOM標(biāo)準(zhǔn)。
??????????????????????????? 大中型的PACS用不同的存儲設(shè)備:
????????????? 近線存儲:存儲隨時使用的圖像,該類設(shè)備常用硬盤陣列來實現(xiàn)
????????????? 遠(yuǎn)線存儲:存儲不常用的圖像后處理
????????????? 離線存儲:存儲要永久保存的資料,如存放于光盤,磁帶等
????????????? 圖像顯示和處理:顯示各種影像(彩色的黑白的,靜態(tài)的動態(tài)的);像進(jìn)行處理(圖像窗寬窗位調(diào)整,放大縮小,增強,銳度調(diào)整,翻轉(zhuǎn)旋轉(zhuǎn),標(biāo)注,開窗以及漫游等,圖像面積、周長、灰度等的測量,還有重建技術(shù)(如矢冠狀面圖像、三維重建、偽彩等)、統(tǒng)計技術(shù)等)
第一階段:了解公司業(yè)務(wù)流程,DICOM協(xié)議和PACS系統(tǒng)
第二階段:研究前置系統(tǒng)數(shù)據(jù)表字段,處理報告和影像資料
2018.08.11日:
Vim視頻教程的學(xué)習(xí)基本操作:
????????????? 上下左右移動:
????????????? :sp分屏
????????????? :!? 系統(tǒng)命令
????????????? 編輯模式,導(dǎo)航模式,命令模式
????????????? 上一屏:ctrl + F ;下一屏:ctrl + B
????????????? Ctrl + v進(jìn)入可視 塊
????????????? V進(jìn)入可視模式,選擇多行
????????????? 搜索? /搜索內(nèi)容???? n表示下一個????????????? 全局替換: :%s/舊/新
????????????? 局部替換:shift +v局部選中,shift+: ,??s/old/new
??????????????????????????? 某一行多次替換::%s/舊/新/g
????????????? Ctrl + n自動補全
????????????? 多行注釋和刪除多行注釋
????????????? 多行刪除
中階操作:
????????????? 某行的開頭和行尾:0 行首;shift + $ 行尾
????????????? 文件的首行和尾行:gg文件首; shift+ g文件尾
????????????? 跳到最近編輯的位置G + ;?? ????????????? G +,
????????????? 跳到最近打開的文件 ctrl + o和ctrl + i
????????????? 復(fù)制和粘貼:yy和p?? 有多種形式
????????????? 進(jìn)入編輯方式:I 在光標(biāo)前插入,a在光標(biāo)后插入,o在光標(biāo)下一行插入,shift +o在光標(biāo)上一行插入
進(jìn)階和周邊操作:
????????????? 全局查找和替換
????????????? 設(shè)置vim背景色:set background = red
????????????? Vim代碼配色:colorscheme? red
????????????? 橫屏分屏和豎屏分屏:
????????????? 代碼多行注釋:
????????????? 代碼格式化:
????????????? 使用Rails插件:
????????????? 顯示和隱藏代碼行數(shù):
????????????? 粘貼模式:
????????????? 代碼左移(shift + <),右移(shift+ >)和undo,? redo(ctrl +r):
????????????? 多行代碼合并成一行:shift +j
Vim配置文件
2018.08.13日:
跳板機地址: https://fortress.eimageglobal.com用戶名:shenzl
密碼:6t3Qtpx6BmLGWfIf?密鑰密碼:ZX2DbUkQBMqTHOiP
密鑰下載url: https://fortress.eimageglobal.com/juser/key/down/?uuid=feae8cd95bb24a378e11ac3c3a68fe28該賬號密碼可以登陸web和跳板機。
[if !supportLists]1.???????[endif]連接堡壘機
SSH終端遠(yuǎn)程登錄(Xshell或securecrt)
名稱:自定義名稱即可。
協(xié)議:選擇SSH。
主機:填入fortress.eimageglobal.com
???? 或者IP: 119.37.196.188(電信)/211.155.234.188 (網(wǎng)通)
端口號:55122
方法:選擇Public Key
用戶名:即jumpserver的用戶名,和web登陸的用戶名一致。(用戶名:shenzl;密碼:6t3Qtpx6BmLGWfIf)
用戶密鑰:點擊瀏覽——導(dǎo)入剛才下載的ssh密鑰(.pem文件)——導(dǎo)入完后選中并點擊確定。(如果需要重新下載密鑰或忘記ssh密鑰密碼的話,可以在web界面的修改信息處重新生成)
怎樣查看醫(yī)院使用的什么數(shù)據(jù)庫?
Oracle 默認(rèn)端口 :1521
Sql server 默認(rèn)端口 :1433
Mysql 默認(rèn)端口 :3306
報告對接程序存放目錄:
??????????????????????????? 切換到root用戶;再切換到hisfep用戶;進(jìn)入到/home/hisfep/tools目錄,ls *report* -l
2018.08.14日:
1.例如:04710040.lzyl?非正常IP的?speedtest?獲取前置公網(wǎng)IP??例如:172.28.2.186?通過世道機房中轉(zhuǎn)??真實IP是119.37.196.186
Rz 上傳文件
Sz 下載文件
2.
進(jìn)程運行日志目錄/home/hisfep/log,進(jìn)程日志hisfep_report_new.log,異常監(jiān)控日志supervisord_hisfep_report_new.log
3.存儲過程的報錯日志在/tmp/下?? ;printdebuglog函數(shù)打印的日志
4. 查看醫(yī)院數(shù)據(jù)庫的配置信息
????????????? 切換為root用戶(密碼:redhat或china)%&!root),然后切換為hisfep用戶(su -?hisfep),打開/etc/hisfep/hisfep.conf
2018.08.15日:
????????????? oracle里面 := 是存儲過程的 賦值的意思
select?instr('5556','6')?from?dual
oracle存儲過程:
????????????? https://www.cnblogs.com/taiguyiba/p/7809310.html
spool是oracle sqlplus提供的一個控制命令。可以利用spool和select語句的組合動態(tài)的生成一些sql腳本或者一些數(shù)據(jù),在sqlplus中用來保存或打印查詢結(jié)果。
Centos系統(tǒng)中安裝oracle數(shù)據(jù)庫:
????????????? Root用戶,/root/app_pkg/下的oracle數(shù)據(jù)庫
????????????? 解壓:tar???? -zxvf? filename.tar.gz?????? -C? 指定文件夾目錄
????????????? 壓縮:tar?? –zcvf?? filename.tar.gz
2018.08.16日:
[if !supportLists]1.???????[endif]數(shù)字
像while 1, while 2, while -1, while -2, while x, 只要x不等于0, 就是條件永遠(yuǎn)為真, 等價于while True
while 0 等價于while False
[if !supportLists]2.???????[endif]其他變量,如字符串, 列表, 元組等
while '1', while
[1, 2], while (1, 2), while x, 只要len(x)>0, 就是條件永遠(yuǎn)為真, 等價于while True
while '', while
[], while (), while x, 只要len(x)=0, 就是條件永遠(yuǎn)不為真, 等價于while False
oracle中字符查找函數(shù):
????????????? 格式一:instr( string1, string2 ) ?? /?? instr(源字符串, 目標(biāo)字符串)
格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] ) ?
/?? instr(源字符串, 目標(biāo)字符串, 起始位置, 匹配序號)
解析:string2 的值要在string1中查找,是從start_position給出的數(shù)值(即:位置)開始在string1檢索,檢索第nth_appearance(幾)次出現(xiàn)string2。
Python多線程研究:
????????????? 線程之間可以共享內(nèi)存和變量,資源消耗少;線程之間的同步和加鎖比較麻煩。
在Unix環(huán)境中,多進(jìn)程和多線程資源調(diào)度消耗差距不明顯,Unix調(diào)度較快。
????????????? Python多線程在IO密集型任務(wù)中還是很有用處的,而對于計算密集型任務(wù),應(yīng)該使用Python多進(jìn)程。
重啟進(jìn)程服務(wù): root用戶的home目錄下,使用supervisorctl命令管理進(jìn)程, 重啟restart? hisfep_resport_new.py
常用的前置系統(tǒng)數(shù)據(jù)表:
T_STUDY基礎(chǔ)檢查表:
T_SERIES基礎(chǔ)系列表???????
T_IMAGE基礎(chǔ)影像表??????
T_IMAGEREPORT基礎(chǔ)影像檢查報告表
2018.08.17日:
????????????? 思考:多角度深入思考問題。???????????? 上班時間全身心地投入到工作中。
????????????? 總結(jié):
????????????? http://60.190.245.75:8088客服系統(tǒng)外網(wǎng)地址
lsnrctl? status? 查看oracle狀態(tài)
crontab?? 定時執(zhí)行任務(wù)
gerp (global search regular expression and print out the line)全面搜索正則表達(dá)式并把行打印出來:一個強大的文本搜索工具
2018.08.20日:
以下日志文件存放的什么日志信息?
Hisfep_incre_upload.log
Hisfep_monitor.log
Hisfep_report_new.log
Hisfep_scan.log
Hisfep_server.log
Hisfep_stat.log
Hisfep_transport.log
Supervisord_hisfep_monitor.log
Supervisord_hisfep_report.log
Supervisord_hisfep_scan.log
Supervisord_hisfep_server.log
Supervisord_hisfep_transport.log
圖文報告位置:
/home下的dicom文件夾中,處理前放在upload和處理后放在upload_back文件夾中
2018.08.21日:
登錄用戶名:? pp_maintain
密碼:?? fEp)%OnLy&!his
圖文二維碼生成規(guī)則
[if !supportLists]1.???????[endif]?圖文二維碼文件命名規(guī)則
膠片文件:flm_時間戳_醫(yī)院ID_檢查號_患者ID.jpg
報告文件:rpt_時間戳_醫(yī)院ID_檢查號_患者ID.jpg
2.????????? 生成圖文二維碼的URL模板規(guī)則
http://業(yè)務(wù)中心域名前綴.業(yè)務(wù)中心主域名/imageInterface/action/getWebChatImage?hospitalId=&time=&patientId=&accessNumber=
[if !supportLists]2.???????[endif]圖文二維碼傳輸協(xié)議
Centos關(guān)閉防火墻:
Centos 7版本:
systemctl stop firewalld.service #
停止
systemctl disable firewalld.service #
禁用之前的版本:
service iptables stop #
停止
chkconfig iptables off #
禁用
設(shè)備推送
文件方式入庫
2018.08.22日:
查詢前n條數(shù)據(jù)
????????????? Mysql:???????????? select * from table limit? n;
????????????? SQLServer:?? select top n * from table;
????????????? Oracle:??????????? select * from table whererownum<=n;
????????????? Sybase:
To_char():Oracle數(shù)據(jù)庫中的
TO_CHAR是把日期或數(shù)字轉(zhuǎn)換為字符串,不能指定字符串長度。使用TO_CHAR函數(shù)處理數(shù)字:?
TO_CHAR(number,
'格式') 例如:TO_CHAR(salary,’$99,999.99’)
使用TO_CHAR函數(shù)處理日期:
TO_CHAR(date,’格式’);
TO_CHAR(newdate,’yyyy-mm-dd’)
To_date():把字符串轉(zhuǎn)化為日期
CONVERT函數(shù)格式:CONVERT(data_type,expression[,style]):Sql server數(shù)據(jù)庫中的
說明:
data_type:目標(biāo)系統(tǒng)所提供的數(shù)據(jù)類型,如果轉(zhuǎn)換時沒有指定數(shù)據(jù)類型的長度,則SQL Server 自動提供長度為 30。
expression:是任何有效的 Microsoft? SQL
Server? 表達(dá)式
style:【可選參數(shù)】日期格式樣式,此樣式一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)相互轉(zhuǎn)換的時候才用到
Rownum的用法
簡單CASE表達(dá)式,使用表達(dá)式確定返回值.
語法:
CASE search_expression
WHEN expression1 THEN result1
WHEN expression2 THEN result2
...
WHEN expressionN THEN resultN
ELSE default_result
?搜索CASE表達(dá)式,使用條件確定返回值.
語法:
CASE
WHEN condition1 THEN result1
WHEN condistion2 THEN result2
...
WHEN condistionN THEN resultN
ELSE default_result
END
2018.08.24日:
Reportinfoview中的study_uuid影像檢查UUID
PL/SQL 過程性語言/結(jié)構(gòu)式查詢語言
Oracle的||是字符串連接符????
In , out ,? in out
2018.08.27日:
不用轉(zhuǎn)發(fā),直接連接時用:
????????????? 轉(zhuǎn)發(fā)用戶:??imageonly_ssh????密碼:ssh(%&!ImaGeonly
[if !supportLists]1.???????[endif]修改py文件中字段,視圖
[if !supportLists]2.???????[endif]和py文件對應(yīng)的存儲過程,醫(yī)院ID號
[if !supportLists]3.???????[endif]上傳, 給py文件可執(zhí)行權(quán)限 ;在tools文件夾下創(chuàng)建對應(yīng)py文件的軟連接(ln –s?source.py?? object.py ); supervisorctl配置監(jiān)聽,在/etc/supervisor/conf.d下拷貝一個文件hisfep_report_new.conf并修改;重啟后查看程序是否正常運行supervisorctl
reload(root用戶身份)。
[if !supportLists]4.???????[endif]可以在存儲過程的MARKUPLOADING文件中注釋掉(報告首次上傳,重傳)update語句
或者暫停py文件上傳:進(jìn)入到supervisorctl中,stop hisfep_report_new
如果需要重傳數(shù)據(jù)則先中心刪除數(shù)據(jù),自己再在前置t_study表里更新report_flag=0并提交, 然后刪除t_imagereport表中的相應(yīng)記錄并執(zhí)行提交。
查詢服務(wù)器的編碼格式:select userenv('language') from dual;
ls –tlr
netstat : 監(jiān)控TCP/IP網(wǎng)絡(luò), 可以顯示路由表,實際的網(wǎng)絡(luò)連接以及每一個網(wǎng)絡(luò)接口設(shè)備的狀態(tài)信息
tail? : 依照要求將指定的文件的最后部分輸出到標(biāo)準(zhǔn)設(shè)備, tail會自己主動刷新
more :
less:
cat: 已經(jīng)搞定
head:
ps和grep
lsnrctl: oracle監(jiān)聽命令
ln為某一個文件在另外一個位置建立一個同步的鏈接(硬鏈接/軟連接)
crontab: 為個人用戶維護(hù)定時任務(wù)文件
????????????? 每一個用戶都可以擁有屬于自己的定時任務(wù),定時任務(wù)文件默認(rèn)以用戶名命名,并放在/var/spool/cron目錄
????????????? cron服務(wù)會每分鐘檢查一次/etc/crontab、/etc/cron.d/和/var/spool/cron/中的所有文件,并依此執(zhí)行
????????????? 可以通過cron.allow 和 cron.deny文件管理用戶使用cron服務(wù)的權(quán)限
Chkconfig工管理/etc/rc.d/init.d或/etc/init.d/目錄下的服務(wù)啟動腳本具
2018.08.28日:
????????????? 查看網(wǎng)絡(luò)MAC地址:cat /etc/udev/rules.d/70-persistent-net.rules
????????????? 修改主機名:vim /etc/sysconfig/network
???????????? 配置網(wǎng)卡:vim /etc/sysconfig/network-scripts/
????????????? 修改DNS:vim /etc/resolv.conf
2018.08.29日:
由于修改Centos的主機名導(dǎo)致Oracle數(shù)據(jù)庫不能登錄:
主機名和IP配置文件/etc/hosts
網(wǎng)絡(luò)IP地址? 主機名或域名? 主機名別名
可幫助解決的問題:遠(yuǎn)程登錄linux主機過慢問題;雙機互連
Oracle配置方面的修改:
Vim?$ORACLE_HOME/network/admin/listener.ora
Oracle中的count(0),count(1),count(*)
Replace()
Regexp_replace()
Instr():字符查找函數(shù)
2018.08.30日:
[^0-9]匹配的是任何不在0到9范圍內(nèi)的字符串
[charlist] 字符列中的任何單一字符
[^charlist]或者[!charlist] 不在字符列中的任何單一字符
2018.08.31日:
學(xué)習(xí)Oracle筆記:
????????????? DISTINCT將NULL值視為重復(fù)值。
2018.09.4日:
安裝部署ommanager步驟:上傳相關(guān)文件壓縮包(不能再/home/fw_plat/中),解壓后執(zhí)行install.sh文件,重啟服務(wù)即可。
使用+號拼接字符串時會生成一個新的字符串,需要重新申請內(nèi)存,拼接字符串較多時會影響效率。
Oracle中:GENERATED BY DEFAULT AS IDENTITY 默認(rèn)生成的身份
Start with 用來標(biāo)識哪個節(jié)點作為查找樹形結(jié)構(gòu)的根節(jié)點
2018.09.05日:
‘’’
珍惜這樣的好機會,術(shù)業(yè)有專攻,目前在深度上下功夫。
工作日志:9:20~10:30
’’’
supervisor 是一個 C/S 模型的程序。用Python編寫的進(jìn)程管理工具。
server: supervisord
client: supervisorctl
常用命令
[if !supportLists]1.???????[endif]supervisord: 初始啟動Supervisord,啟動、管理配置中設(shè)置的進(jìn)程;
[if !supportLists]2.???????[endif]supervisorctl stop(start, restart) xxx,停止(啟動,重啟)某一個進(jìn)程(xxx);
[if !supportLists]3.???????[endif]supervisorctl reread: 只載入最新的配置文件, 并不重啟任何進(jìn)程;
[if !supportLists]4.???????[endif]supervisorctl reload: 載入最新的配置文件,停止原來的所有進(jìn)程并按新的配置啟動管理所有進(jìn)程;
[if !supportLists]5.???????[endif]supervisorctl update: 根據(jù)最新的配置文件,啟動新配置或有改動的進(jìn)程,配置沒有改動的進(jìn)程不會受影響而重啟;
grep :
Django框架:
2018.09.06日:
?用戶:??imageonly_ssh????密碼:ssh(%&!ImaGeonly
#?? os.getcwd()方法用于返回當(dāng)前工作目錄
#?? os.path.getatime(file)輸出文件訪問時間
#?? os.path.getctime(file)輸出文件的創(chuàng)建時間
#?? os.path.getmtime(file)輸出文件最近修改時間
采納率:59%12級2013.07.14
modify是修改字段類型和長度的(即修改字段的屬性)。
alter
是修改表的數(shù)據(jù)結(jié)構(gòu)(modify是alter的一種用法)。
update
是修改數(shù)據(jù)內(nèi)容的。
modify和alter執(zhí)行命令完成即生效,update語句要“commit”之后才會生效
2018.09.07日:單利模式(下周一給宋總講明白)
hasattr()判斷對象是否包含對應(yīng)的屬性
with的基本語法如下,EXPR是一個任意表達(dá)式,VAR是一個單一的變量(可以是tuple),”as VAR”是可選的。
上下文管理器,用于簡化try…except…finally的處理流程,with通過__enter__方法初始化,然后在__exit__中做善后以及處理異常
try/except 用于錯誤處理;流程控制
2018.09.10日:
Set ff=UNIX? 程序是用UNIX格式而不是dox格式
Supervisorctl的配置文件顯示報錯:
由于自適應(yīng)服務(wù)連接失敗。
切換到root用戶下:TDSVER=8.0?tsql?-H? 醫(yī)院IP ?-U? 用戶名? -P? 密碼-p?1433
讀義烏中醫(yī)院的hisfep_系列文件筆記:
Shlex模塊實現(xiàn)了一個類來解析簡單的類shell語法,可以用來編寫領(lǐng)域特定的語言,或者解析加引號的字符串;shlex模塊提供的解析器。
SQLAlchemy是Python編程語言下的一款ORM框架,該框架建立在數(shù)據(jù)庫API之上,使用關(guān)系對象映射進(jìn)行數(shù)據(jù)庫操作
Shutil 高級的文件操作模塊
tarfile模塊的主要作用是用來加壓縮和解壓縮文件
platform獲取系統(tǒng)平臺與python平臺的信息
[if !supportLists]1.???????[endif]連接池,多線程,隊列如何綜合使用?
[if !supportLists]2.???????[endif]為何從一個模塊導(dǎo)入多個*時,需要分幾次?
2018.09.11日:給自己定個小目標(biāo):Python基礎(chǔ)編程,Python核心編程 年底前完成。Python開發(fā)為主,解決生產(chǎn)中的問題為輔。
Help(函數(shù)或方法) 查看幫助信息
查閱資料多線程筆記:
多線程,線程同步及通信,線程優(yōu)先級隊列,線程池,并發(fā),主線程
生產(chǎn)者消費者模式
閉包可以使得內(nèi)函數(shù)返回的局部變量的生命周期與整個項目相同
@語法糖
可以多層嵌套
使用多個裝飾器
裝飾器本質(zhì)上是一個python函數(shù),它可以讓其他函數(shù)在不需要做任何代碼變動的前提下增加額外功能
經(jīng)常用于有切面需求的場景,比如:插入日志、性能測試、事務(wù)處理、緩存、權(quán)限驗證等場景。
2018.09.12日:
進(jìn)程:系統(tǒng)資源分配的基本單位
線程:進(jìn)程運行的最小單位
生產(chǎn)者消費者模式筆記:
優(yōu)點:
解耦:低耦合
并發(fā):生產(chǎn)者和消費者是兩個獨立的并發(fā)體,不會因為彼此的處理速度而發(fā)生阻塞。
支持忙閑不均
Python的線程是真正的Posix Thread 而不是模擬出來的線程。
通過鎖,防止發(fā)生競態(tài)條件
同步,鎖,死鎖?
線程中,條件(condition)可以讓一個或多個線程進(jìn)入wait,直到被其他線程notify
生產(chǎn)者與消費者之間的緩沖區(qū)稱之為倉庫
消費者:消費前檢查隊列若為空調(diào)用Condition實例的wait(),消費者進(jìn)入wait同時釋放所有的Lock, 除非被notify否則不會運行。
生產(chǎn)者:Lock被釋放后,生產(chǎn)者acquire這個鎖。執(zhí)行Condition的notify()后消費者被喚醒,但生產(chǎn)者通過condition.release()顯式釋放lock后消費者才開始運行。
生產(chǎn)者調(diào)用隊列的put方法來插入數(shù)據(jù)。
put()在插入數(shù)據(jù)前有一個獲取lock的邏輯。
同時,put()也會檢查隊列是否已滿。如果已滿,它會在內(nèi)部調(diào)用wait(),生產(chǎn)者開始等待。
消費者使用get方法。
get()從隊列中移出數(shù)據(jù)前會獲取lock。
get()會檢查隊列是否為空,如果為空,消費者進(jìn)入等待狀態(tài)。
get()和put()都有適當(dāng)?shù)膎otify()。
2018.09.13日:
Linux后臺進(jìn)程管理利器supervisor:
Supervisord是用Python實現(xiàn)的一款進(jìn)程管理工具,如果用 supervisord 來管理進(jìn)程,進(jìn)程需要以非daemon的方式啟動。能將一個普通的命令行進(jìn)程變?yōu)楹笈_daemon,并監(jiān)控進(jìn)程狀態(tài),異常退出時能自動重啟
Supervisor官方文檔?
Python模塊筆記:
Python搜索路徑
Python解釋器
當(dāng)前命名空間
每個模塊都有自己獨立的符號表
每個模塊都有一個__name__屬性
有些模塊被直接構(gòu)建在解析器里
包是一種管理Python模塊命名空間的形式,采用“點模塊名稱”
目錄只有包含一個叫做 __init__.py 的文件才會被認(rèn)作是一個包
,協(xié)程:
正則表達(dá)式:
‘’’
需要大量實例和練習(xí)。概念需要梳理
’’’
特殊字符:()[]{}.*?^$|
點字符用于匹配除換行符外的人以單個字符。
字符類,解析很能拼錯的單詞
普通文本字符:
脫字符(^)
^$ 過濾空白行
特定字符類
問題匯總的回顧總結(jié):
??????????????????????????? for record indb.cur:等價于records = db.cur.fetchall()?? for record in records: