download:Go微服务入门到容器化实践,落地可观测的微服务电商项目**【完结】**
对于真正微服务项目来说,服务开发只是第一步,容器化、弹性伸缩和可观测才是真正关键。本课程将通过电商项目实战,系统学习完全形态的微服务,掌握成熟闭环的落地方案。
**
技术要求
**
有Go实际开发经验 掌握Linux操作 熟练掌握MySQL
**
环境参数
**
开发语言:Golang 开发平台:Windows 10 开发工具:GoLand
coding=UTF-8
XingHe Studio File to MD5 and SHA1
銀河創作室(XingHeStudio.com)
Create by Stream.Wang 2012-04-10
Modify by Stream.Wang 2012-04-10
def
fil_changefileext(filename,extname``=``''):
FIL ChangeFileExt 改動文件擴展名
filename 輸入的文件途径名
extname='' 要更改分擴展名,如 .txt
import
os
try``:
if
extname[``0``]<>``'.'``:
extname``=``'.'``+``extname
except``:
extname``=``''
if
os.path.splitext(filename)[``1``]``=``=``'':
uouttxt``=``filename``+``'.'``+``extname
elif
os.path.splitext(filename)[``1``]``=``=``'.'``:
uouttxt``=``filename``+``extname
else``:
uouttxt``=``filename[:``0``-``len(os.path.splitext(filename)[``1``])]``+``extname
return
uouttxt
def
fil_str2file(fstr,filename):
# FIL STR2File 把字符串保管到文件
try``:
outfile``=``open(filename,``'w'``)
outfile.writelines(fstr)
outfile.close()
return
True
except``:
return
False
係統主程序開端
------------------------------------------------------
if
__name__
=``=
'__main__'``:
import
os,sys,math
if len(sys.argv)==1:sys.argv.append(r'c:\FreeNAS-8.0.4-RELEASE-x64.iso')
if
len(sys.argv)>``1``:
filepathname``=``sys.argv[``1``]
if
os.path.isfile(filepathname) :
fmaxs
=
os.path.getsize(filepathname)``+``0.00
fpos
=
0.00
ppos``=``0
pmax``=``50
pjy``=``0
fmd5``=``fil_changefileext(filepathname,``'.md5'``)
fsha1``=``fil_changefileext(filepathname,``'.sha'``)
ffm``=``os.path.basename(filepathname)
開端處置
print
'Program Runing "'``+``filepathname``+``'" ...'
import
hashlib
try``:
umd5str
=
hashlib.md5()
usha1str
=
hashlib.sha1()
xfilepathname``=``unicode(filepathname,``'utf8'``)
需求運用二進製格式讀取文件内容
ufile
=
file(xfilepathname,``'rb'``)
while
True``:
datas
=
ufile.read(``1024``*``512``)
if
not
datas:
break
umd5str.update( datas )
usha1str.update( datas )
fpos``=``fpos``+``1024``*``512
ppos``=``int(math.floor(fpos
/
fmaxs
*
50``))
pposbfh``=``int(math.floor(fpos
/
fmaxs
*
100``))
打印進度條
if
pjy<>ppos:
print
'['``+``'*'``*``ppos
+``'='``*``(pmax``-``ppos)``+``'] '``+``str(pposbfh)
+``'%'
打印進度問題未處理,不晓得print函數怎樣退回到行首掩蓋輸出,不換行我倒是晓得,加個“,”
pjy``=``ppos
uoutstrmd5``=``str(umd5str.hexdigest())
uoutstrsha1``=``str(usha1str.hexdigest())
ufile.close()
print
''
fil_str2file(uoutstrmd5``+``' *'``+``ffm``+``'\n'``,fmd5)
fil_str2file(uoutstrsha1``+``' *'``+``ffm``+``'\n'``,fsha1)
print
'Task is completed !'
+
r``' [ XingHe Studio File to MD5 and SHA1 ]'
except``:
print
'Error !'
+
r``' [ XingHe Studio File to MD5 and SHA1 ]'
else``:
print
'File "'``+``filepathname``+``'" not exist!'``+
r``' [ XingHe Studio File to MD5 and SHA1 ]'
else``:
print
r``' [ XingHe Studio File to MD5 and SHA1 ]'