最近在做游戏服务分层的时候,一直想把mysql的访问独立成一个单独的服务DBGate,原因如下:请求收拢到DBGate,可以使DBGate变为无状态的,方便横向扩展当请求量或者存储量变大时,mysql需要做分库分表,DBGate可以内部直接处理,外界无感知通过restful限制对数据请求的形式,仅支持简单的get/post/patch/put进行增删改查,并不支持复杂查询。这个也是和游戏业务的特性有关,如果网站等需要复杂查询的业务,对此并不适合DBGate
系统 2019-09-27 17:52:45 2051
一、问题引出浅拷贝首先看下面代码的执行情况:a=[1,2,3]print('a=%s'%a)#a=[1,2,3]b=aprint('b=%s'%b)#b=[1,2,3]a.append(4)#对a进行修改print('a=%s'%a)#a=[1,2,3,4]print('b=%s'%b)#b=[1,2,3,4]b.append(5)#对b进行修改print('a=%s'%a)#a=[1,2,3,4,5]print('b=%s'%b)#b=[1,2,3,4,
系统 2019-09-27 17:52:42 2051
简介这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到FQ工具Lantern,就算是给关注和支持的小伙伴们拓展一下眼界和知识面。而且好多人都阅读了上一篇没发现那个参考博客点不开吗?那是因为还没来的急,整理和编写,今天再试一下就可以。一个软件可能占用多个端口拥有多个目标IP,下面以FQ工具Lantern为例,说明端口查看方法:1.借助第三方软件查看如果你电脑上安装了360等优化工具,可能会自带查看网络状况的插件如下图:2.命令行窗口查
系统 2019-09-27 17:51:27 2051
爬虫即网络爬虫,英文是WebSpider。翻译过来就是网络上爬行的蜘蛛,如果把互联网看作一张大网,那么爬虫就是在大网上爬来爬去的蜘蛛,碰到想要的食物,就把他抓取出来。我们在浏览器中输入一个网址,敲击回车,看到网站的页面信息。这就是浏览器请求了网站的服务器,获取到网络资源。那么,爬虫也相当于模拟浏览器发送请求,获得到HTML代码。HTML代码里通常包含了标签和文字信息,我们就从中提取到我们想要的信息。通常爬虫是从某个网站的某个页面开始,爬取这个页面的内容,找
系统 2019-09-27 17:51:07 2051
记住以下几点:直接子类化内置类型(如dict,list或str)容易出错,因为内置类型的方法通常会忽略用户覆盖的方法,不要子类化内置类型,用户自定义的类应该继承collections模块。def__setitem__(self,key,value):super().__setitem__(key,[value]*2)#错误案例classAnswerDict(dict):def__getitem__(self,item):#错误案例return42impor
系统 2019-09-27 17:50:43 2051
1.os.popen运行shell列表命令复制代码代码如下:deftraverseDirByShell(path):forfinos.popen('ls'+path):printf.strip()2.利用glob模块glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.复制代码代码如下:deftraverseDirByGlob(path):path=os.path.expanduser(path)forf
系统 2019-09-27 17:49:59 2051
好了,废话少说,我们先看看几个示例吧一、打开一个网页获取所有的内容复制代码代码如下:fromurllibimporturlopendoc=urlopen("http://www.baidu.com").read()printdoc二、获取Http头复制代码代码如下:fromurllibimporturlopendoc=urlopen("http://www.baidu.com")printdoc.info()printdoc.info().getheade
系统 2019-09-27 17:48:28 2051
测试用例分为用函数和类来进行一个大字符串的字符逐一读取。测试代码Node.js函数varfs=require("fs");varcontent=fs.readFileSync("page.html",{encoding:"utf-8"});functionchars(content){varlength=content.length;varpos=0;while(pos++
系统 2019-09-27 17:47:51 2051
Pythonpass语句使用当语句要求不希望任何命令或代码来执行。pass语句是一个空(null)操作;在执行时没有任何反应。pass也是代码最终会是有用的,但暂时不用写出来(例如,在存根为例):语法Pythonpass语句语法如下:pass例子#!/usr/bin/pythonforletterin'Python':ifletter=='h':passprint'Thisispassblock'print'CurrentLetter:',letterpr
系统 2019-09-27 17:47:44 2051
本文实例展示了Python生成日历的实现方法。该实例可实现一个月的日历生成5x7的列表,列表里的没个日期为datetime类型,采用python自带的calendar模块实现。程序运行结果如下:pythontest.py2014092014-08-312014-09-012014-09-022014-09-032014-09-042014-09-052014-09-062014-09-072014-09-082014-09-092014-09-102014
系统 2019-09-27 17:46:25 2051