摘要: 什么是sql注入 图片来源:百度百科 python 操作mysql产生sql注入问题 不用ORM框架,框架中已经集成了防范sql注入的功能,使用pymysql实践一下: 上面的sql最终被转为了:sql = "SELECT * FROM oss2_base_test.auto_task where 阅读全文
posted @ 2019-08-12 17:06 保军Baojun 阅读(6688) 评论(0) 推荐(0) 编辑
摘要: 在使用适配器模式之前,需要先认识一下以下__dict__内置函数 __dict__ 属性用于查看对象内部存储的所有属性名和属性值组成的字典 使用 __dict__ 属性既可查看对象的所有内部状态,也可通过字典语法来访问或修改指定属性的值,通常程序直接使用该属性即可 class Item: def _ 阅读全文
posted @ 2019-08-09 13:49 保军Baojun 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 使用工厂模式时,每个工厂类中属性和实现都是定义好的,比如有一个小米手机的工厂,生产Mi9和MIX3,你要一个Mi9就给你个Mi9,参数属性都是一样的 如图: 代码: 因为生产线已经固定好了,生产的手机也是一样的,但是如果希望可以定制手机配置就不行了,试试构造模式吧! 如图: 代码: 阅读全文
posted @ 2019-08-08 11:01 保军Baojun 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 1. 单例模式: a. 使用import python中的模块是天然的单例 b.使用装饰器 上面装饰器的方法实现了单例,当A被第一次实例化为a时,self.a = 'sss', 下次b = A('fffff')时,装饰器判定A类已经有了实例,就会直接返回实例a,此时b=a,并未进行实例化,而是引用赋 阅读全文
posted @ 2019-08-06 11:10 保军Baojun 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 在一个保存report记录的场景中,我们使用MongoDB进行数据存储 example: db: report Collection: daily_report 创建db: use report; 创建集合: db.createCollection("daily_report") 我们的服务会根据用 阅读全文
posted @ 2019-08-05 00:46 保军Baojun 阅读(1209) 评论(0) 推荐(0) 编辑
摘要: 设定一个场景,在用户了添加多个任务,点击run task按钮在后台处理这些tasks,并判断task成功或失败,因为task是耗时的,所以采用多线程方式处理tasks 考虑: 线程启动后如何获取task执行结果? 看代码: 运行结果: 上面代码实现了创建线程执行task,并获取任务,关键点在于线程类 阅读全文
posted @ 2019-08-04 19:53 保军Baojun 阅读(3029) 评论(0) 推荐(0) 编辑
摘要: Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。 作为例子, 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间 阅读全文
posted @ 2019-07-30 13:12 保军Baojun 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 之前前端的select都是单选类型,在新的场景中允许用户选择多个条件, 前端的代码如下: 搜索按钮被点击时,携带select option信息到后台,url如下: http://xxxxxx.com/info/result-list/?destination=%E5%8C%97%E4%BA%AC&d 阅读全文
posted @ 2019-07-27 17:48 保军Baojun 阅读(1199) 评论(0) 推荐(0) 编辑
摘要: 众所周知, 在多线程中,因为共享全局变量,会导致资源修改结果不一致,所以需要加锁来解决这个问题,保证同一时间只有一个线程对资源进行操作 但是在分布式架构中,我们的服务可能会有n个实例,但线程锁只对同一个实例有效,就需要用到分布式锁 redis setnx 原理: 修改某个资源时, 在redis中设置 阅读全文
posted @ 2019-07-27 00:55 保军Baojun 阅读(3100) 评论(0) 推荐(0) 编辑
摘要: 看到一篇讲数据库架构的文章,四种方案优缺点描述很清晰,转了:https://www.cnblogs.com/littlecharacter/p/9084291.html 一、数据库架构原则 高可用 高性能 一致性 扩展性 高可用 高性能 一致性 扩展性 二、常见的架构方案 方案一:主备架构,只有主库 阅读全文
posted @ 2019-07-17 21:44 保军Baojun 阅读(258) 评论(0) 推荐(0) 编辑