最近在做游戲服務分層的時候,一直想把mysql的訪問獨立成一個單獨的服務DBGate,原因如下:請求收攏到DBGate,可以使DBGate變為無狀態的,方便橫向擴展當請求量或者存儲量變大時,mysql需要做分庫分表,DBGate可以內部直接處理,外界無感知通過restful限制對數據請求的形式,僅支持簡單的get/post/patch/put進行增刪改查,并不支持復雜查詢。這個也是和游戲業務的特性有關,如果網站等需要復雜查詢的業務,對此并不適合DBGate
系統 2019-09-27 17:52:45 1935
在配置python環境,并安裝所需包后,運行下列代碼~importpandasaspdfromsqlalchemyimportcreate_engineimportcx_Oracle#進行oracle服務器設置,用戶名;密碼;HOST數據庫IP地址;PORT端口號;SERVICE_NAMEdb=cx_Oracle.connect('userid','password','10.10.1.10:1521/dbinstance')print(db.versio
系統 2019-09-27 17:52:32 1935
掃描服務器ip開放端口,用線程池ThreadPoolExecutor,i7的cpu可以開到600個左右現成,大概20s左右掃描完65535個端口,根據電腦配置適當降低線程數#!/usr/local/python3.6.3/bin/python3.6#coding=utf-8importsocketimportdatetimeimportrefromconcurrent.futuresimportThreadPoolExecutor,waitDEBUG=Fa
系統 2019-09-27 17:52:19 1935
yield的功能類似于return,但是不同之處在于它返回的是生成器。生成器生成器是通過一個或多個yield表達式構成的函數,每一個生成器都是一個迭代器(但是迭代器不一定是生成器)。如果一個函數包含yield關鍵字,這個函數就會變為一個生成器。生成器并不會一次返回所有結果,而是每次遇到yield關鍵字后返回相應結果,并保留函數當前的運行狀態,等待下一次的調用。由于生成器也是一個迭代器,那么它就應該支持next方法來獲取下一個值。基本操作#通過`yield`
系統 2019-09-27 17:52:18 1935
基礎版(list方法)#比較占內存w=int(input("輸入一個數字還你一個斐波那契數列:"))list_res=[]deflist_n(n):ifn>=3:res=list_n(n-1)+list_n(n-2)else:res=1returnresprint("開始")foriinrange(0,w):list_res.append(list_n(i+1))print(list_res)升級版#比較占內存num=int(input("輸入一個數字還你
系統 2019-09-27 17:52:01 1935
函數這么重要的東西自然少不了。那么在python中是怎么定義的呢?defcgg(name):print("haha%s"%name)def是定義的意思,而cgg是函數名,name是參數。當然了,有了函數嗎,自然少不了函數的返回值。那么這里用的依然是return。defcgg(a,b):returna+b模塊一個小例子:importtimeprint(time.asctime())這個可以顯示現在的時間。而這個time就是一個模塊,包括之前的turtle也是
系統 2019-09-27 17:51:49 1935
簡介這篇博文和分類看似沒有多大關系,但是也是從上一篇衍生出來的產物,因為涉及到FQ工具Lantern,就算是給關注和支持的小伙伴們拓展一下眼界和知識面。而且好多人都閱讀了上一篇沒發現那個參考博客點不開嗎?那是因為還沒來的急,整理和編寫,今天再試一下就可以。一個軟件可能占用多個端口擁有多個目標IP,下面以FQ工具Lantern為例,說明端口查看方法:1.借助第三方軟件查看如果你電腦上安裝了360等優化工具,可能會自帶查看網絡狀況的插件如下圖:2.命令行窗口查
系統 2019-09-27 17:51:27 1935
本文實例為大家分享了python中的代碼行數統計,供大家參考,具體內容如下思路:統計文件中代碼的總行數減去空行單行注釋以及多行注釋功能:1.獲取文件內容的總行數2.排除空行單行注釋多行注釋defcode_statistics(path):##打開這個文件withopen(path,'r',encoding='utf-8')asopenFile:#按列讀取fileline=openFile.readlines()#給非代碼行一個變量i=0#整個文件里面內容的
系統 2019-09-27 17:51:02 1935
美國隊長的鍋emmmmmmmm.......沒錯就是他的鍋#所需依賴:python3pycharm#print打印print('helloworld!')#注釋符號#井號后面灰色的內容是注釋,相當于筆記,會被機器忽略#變量和值#n是變量,100是值,等號的作用是賦值#n相當于高中數學的xyz,只不過xyz的值只能是數字,變量的功能要更強大n=100m='hello'print(n)print(m)#數據類型,這里只講兩個,剩下的需要同學自己去系統地學習了#
系統 2019-09-27 17:50:55 1935
常見的排序算法:冒泡排序,選擇排序,插入排序,希爾排序,快速排序,堆排序,歸并排序。冒泡排序原理:兩兩元素進行比較,每一趟能夠確定最大元素的位置,穩定算法defbubble_sort(alist):'''冒泡排序'''#[5,4,3,2,1][4,5,3,2,1][4,3,5,2,1][4,3,2,5,1][4,3,2,1,5]n=len(alist)foriinrange(n):#count=0forjinrange(0,n-1):ifalist[j]>
系統 2019-09-27 17:49:28 1935