- 博客(18)
- 问答 (4)
- 收藏
- 关注
原创 micro微服务框架梳理
Micro 架构图最近学了个微服务的新框架,根据自己的理解,梳理了下这个框架,做了个架构图Micro 工具集:管理和micro框架的包,可以启动API网关,指定处理器,提供了服务创建模版等功能,并且micro工具集的各个模块是可插拔的插件化开发模式go-micro: micro 框架的核心基础服务,也是可插拔化的关于这两个模块的介绍,可以看我的这篇博客:micro如何实现插件化API网...
2019-04-30 15:07:59
1462
原创 micro如何实现插件化
介绍micro微服务框架,基于go语言的可插拔的微服务框架,官方github:micro微服务框架github地址,主要有两部分组成:go-micro 微服务的核心架构;micro 基于go-micro开发的一套工具集,操作go-microgo-micro 主要有一下六个包,以下是官方对这六个包说明server :Server包是使用编写服务的构建包,可以命名服务,注册请求处理器,...
2019-04-24 14:33:52
1201
原创 简易版celery的实现
简易版celery的实现最近学习了下,celery源码,看了一点点皮毛后,自己动手写了个简易的celery,通过redis作为broker,没有复杂的路由匹配规则,队列和任务之间一个直接匹配的简易规则。这里对项目简单的记录下。项目目录结构接下来挨个介绍下这几个文件:simple 是celery类所在位置,具体实现了celery的启动,加载配置文件,任务装饰器;utils 下base是...
2019-03-29 16:44:24
692
1
原创 不可变和可hash的关系
不可变值类型都是不可变的:string 、int、元组可hash1、在对象的生命周期内,他的散列值是不变的,如果这种对象相等,他们hash值一定是一样的,可hash2、原子不可变(注:例如元组 成员中都是不可变数据类型)的数据类型可hash结论:1、不可变的不一定可hash ,例如 元组 (‘a’,[1,2]) 虽然元组是不可变的数据类型,但是不满足原子不可变性2、原子都是不可变的不...
2019-02-17 21:50:38
1183
1
原创 记一次webservice性能调优经历(c#)
项目背景和一个app做对接,提供一套业务接口给对方调用,每一个功能码对应一个方法,一个业务操作,并且需要记录请求体和响应体的日志,便于问题的排查,于是一个webservice诞生了,这个webservice 通过每个功能码对应一个类,然后通过反射方法,传入功能码实例话对应的类,去对请求做出响应;先介绍下两个测试webservice的方法1、接口测试工具:soapui,这个是经常拿来测试we...
2018-12-27 15:15:47
5211
原创 django haystack一次使用总结
记一次django_haystack的坑使用的是 whoosh 和jieba :pip install whooshpip install jieba首先在django,导入我们的haystack的应用INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib....
2018-12-08 16:22:55
5832
5
原创 备忘django_session 表被自己删除了
备忘django_session 表被自己删除了python manage.py migrate sessions重新执行下,如果这样还是没有生成新的django_session 就删除了session app下的迁移文件,执行 python manage.py makemigrations sessions,之后在执行上面的迁移操作...
2018-12-01 14:01:53
1295
原创 werkzeug 中localstack的理解
首先最近在学习flask的时候,对flask上下文的原理不是太清楚,关于localstack的实现逻辑不是很清楚,于是各种百度了解了下,这里写过博客备忘下,首先在理解localstack之前,我们要先了解下python自带的thread.local。thread.local(代码都是伪代码实现,主要是说明下逻辑)假如我们现在线程里面实现一个循环,肯定是在线程里面定义一个局部变量a,然后对a进行...
2018-09-21 10:58:25
1199
原创 是否需要使用外键
是否需要使用外键最近在学习flask web开发的时候,发现在讲orm这一块的时候,大佬们都不怎么建议互联网应用使用外键,而且,我发现我现在的公司的c/s架构项目的表结构也没有一个使用外键的,于是很好奇,就查了下相关的知识,并做了个汇总分析: 首先我们的知道,外键的作用以及目的,外键主要作用是通过数据库来保证数据的一致性和完整性,通过外键我就可以少些控制数据完整性和一致性的逻辑了,这...
2018-09-21 10:58:02
1433
原创 python 爬虫实践(分布式部署)
简单介绍celery分布式框架是我接触的第一个分布式框架,现学现卖,将我上一篇博客介绍的爬虫,通过celery实现分布式部署redis部署到外网因为我是采用redis做celery的消息中间件,而redis默认是本地访问的,所以为了可以多台电脑上我们需要先配置redis,是redis可以通过web网路访问;第一步,修改配置文件redis.conf, 如果在windows下就是...
2018-08-30 21:37:24
1851
原创 python 爬虫实践 (爬取链家成交房源信息和价格)
简单介绍简单介绍下,我们需要用到的技术,python 版本是用的pyhon3,系统环境是linux,开发工具是vscode;工具包:request 爬取页面数据,然后redis 实现数据缓存,lxml 实现页面数据的分析,提取我们想要的数据,然后多线程和多进程提升爬取速度,最后,通过celery 框架实现分布式爬取,并实际部署下,下面就按这个逻辑顺序,进行介绍;request爬取页面数据...
2018-08-30 18:56:01
22709
原创 Celery实践,启动worker提示 module 'celeryDemo' has no attribute 'app'
Celery实践,启动worker 提示模块找不到属性 报错如下所示: 错误信息如下: raceback (most recent call last): File “/home/xuxiaolong/anaconda3/lib/python3.6/site-packages/celery/app/utils.py”, line 228, in find_app found ...
2018-08-28 15:55:04
5212
1
原创 python 爬虫创建缓存的几种方式(备忘)
1、最简单,创建一个字典,往字典里存数据,这种数据没法持久化,2、磁盘缓存,通过在磁盘创建文件,把数据存到磁盘3、数据库方式,nosql(redis 键值存储 mongo文件存储系统) 数据和关系数据库,4、request_cache 特定支持requests的缓存模块,request_cache缓存的实现也是基于nosql 数据库的,但是具体实现不需要我们区处理,只要是request...
2018-08-11 21:30:44
1229
原创 numpy transpose 和 swapaxes两种转置方法
transpose:已3维举例, 0 代表 x 轴,1 代表 y 轴,2 代表 z 轴, transpose(0,1,2) 可以理解维 tanspose(x,y,z)x,y, z 的顺序与数组原有维度没有变化,所以得到的结果也就是原数组不变,transpose(1,0,2) = transpose(y,x,z) z轴的位置没有变化,x 和 y 轴的互换,同理 transpose(0,...
2018-08-05 10:53:09
1621
原创 python 虚拟环境下安装flask read time out
第一种解决方法:设置time out 的时间:pip install --default-tiemout=100 Flask还是报错,于是尝试第二种方案,采用国内镜像:阿里云 :http://mirrors.aliyun.com/pypi/simple/pip install -i http://mirrors.aliyun.com/pypi/simple/ Flask还是有问题,...
2018-07-29 13:32:29
1119
原创 vwmare虚拟机 + ubuntu vwmare tools 安装问题(备忘)
1、登录的用户需要注意不要是guest用户登录,guest用户是没有sudo(管理员权限)的2、安装过程遇到 遇到 yes 就选yes,遇到no就选yes, 其他的回车(默认目录安装,要不还得选绝对路劲,很麻烦)就行...
2018-07-28 21:27:08
532
转载 win 10 提升访问github 的速度 (备忘)
配置hosts 文件: 增加下面两句 ip是域名对应的实际地址192.30.253.112 github.com151.101.185.194 github.global.ssl.fastly.net
2018-07-21 16:52:07
1886
原创 lambda闭包C#4.0和5.0,通过foreach使用的区别
首先来看一下lambda语法: int someval = 5; Func<int, int> k = x => x + someval; someval = 7; Console.WriteLine(k(3)); //以上代码...
2016-10-23 17:01:55
1850
空空如也
celery 启动worker 时候报错
2018-08-28
django +jquery+ ajax get提交报错,post提交就可以
2018-03-18
tomcat突然启动不了,昨天还是好好好的,该怎么办,下面是通过pause显示的信息
2016-03-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人