摘要: 很多时候,我们在mysql中创建了索引,但是某些查询还是很慢,根本就没有使用到索引!一般来说,可能是某些字段没有创建索引,或者是组合索引中字段的顺序与查询语句中字段的顺序不符。 看下面的例子:假设有一张q币表(cdb_qb),包含state和value二个字段,没有额外建索引。一共有15条数据。符合 阅读全文
posted @ 2017-09-28 18:02 zenghansen 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 写在前面 爬虫和自动测试,对于python来说是最合适不过也是最擅长的。 开源的项目也很多,例如you-get项目https://github.com/soimort/you-get。盗链和爬虫神器。 python+selenium一般用来做自动化测试,也可以用来抽取 html的dom元素,从而作为 阅读全文
posted @ 2017-09-19 15:06 zenghansen 阅读(1163) 评论(0) 推荐(0) 编辑
摘要: 写在前面 在日常应用里,经常会有动态和消息通知的推送功能,例如微信的朋友圈,微博的动态等。那么我们是如何实现这些高并发的业务需求呢。 此处,我们用一个案例来阐述一下推拉模式的基本原理。 业务场景 我们有个千万级的用户的私信系统,可以进行1v1的私信或者接受系统推送的私信。 优良方案 我们用推拉方式相 阅读全文
posted @ 2017-09-18 17:32 zenghansen 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 管理,带团队的一些经验的分享和记录。不定时更新 管理的目标:1)按时、高质量完成开发任务2)项目(目标)可持续发展3)团队可持续发展 基于达成这3个目标的考虑,梳理抽象出了3个具体工作实施方向:1、项目管理2、技术管理3、团队管理 这3方面工作是相互相成的,而这些工作的开展,就是要同时解决“人”和“ 阅读全文
posted @ 2017-08-01 11:37 zenghansen 阅读(219) 评论(0) 推荐(0) 编辑
摘要: mysql的简单锁机制。 myisam 1、只支持表级锁,所以经常更新的表结构不适宜用。 2、select也会产生锁表 innodb 1、支持事务,行级锁,表级锁,执行行级锁的前提是sql语句的索引有效,否则,执行表级锁。 2、不存在字段锁问题,直接锁行的。 3、select不会请求锁,自然也不会产 阅读全文
posted @ 2017-06-28 16:38 zenghansen 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 流程:1、用户发出交易请求,放到交易请求临时池里。2、矿工不断计算下一块区块的值,计算出来后,把交易临时池的单子放到区块来。3、其他矿工停止计算,验证计算出来区块,验证包括前一区块是否匹配,计算出来的区块的账单是否正确。4、如果其他矿工验证通过,则根据此区块继续计算下一区块。以此类推。备注:每个矿工 阅读全文
posted @ 2017-05-15 17:24 zenghansen 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 核心当然是php5加入来的_autoload函数,当实例化一个不存在的类时,在报错之前,如果定义了_autoload函数,会进行调用此函数,此函数就可以执行相关的include操作。 对于composer的composer.json, composer的autoload默认会注册vendor文件夹的 阅读全文
posted @ 2016-06-16 10:17 zenghansen 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 简单的来说,关键技术就是:注册器模式。 场景需求 我们知道写一个类的时候,类本身是有个目的的,类里面有很多方法,每个方法搞定一些事情;我们叫这个类为主类。 另外这个主类会依赖一些其他类的帮忙,我们叫这些类为次类,为了实现主类的目标,要依赖很多次类来配合,而且次类很可能被广泛主类依赖,例如:日志类。 阅读全文
posted @ 2016-06-14 17:43 zenghansen 阅读(537) 评论(0) 推荐(0) 编辑
摘要: <?php namespace FatSmallTools; class NavicatPassword { protected $version = 0; protected $aesKey = 'libcckeylibcckey'; protected $aesIv = 'libcciv lib 阅读全文
posted @ 2024-09-12 17:13 zenghansen 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 假设在controller层new了一个service的类,然后调用类里面的方法,而service里面有@Resource了一个dao层的依赖。会发生什么呢? 由于service在容器刚开始的时候,没有使用到,即使service有组件注解类似@Service,但容器也不会注入service到容器。 阅读全文
posted @ 2024-09-03 15:17 zenghansen 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1.说明 想要对手机抓包,最关键的是需要设置好根证书,用户证书在安卓7.0之后就不受信任了,想要对手机app抓包,就需要把用户证书设置为系统证书(根证书) 注意,想要设置为根证书,你的安卓需要获取到root权限,但是root会有风险,很大app(如银行类app)都不能在已root的设备上运行,所以一 阅读全文
posted @ 2024-01-03 23:08 zenghansen 阅读(203) 评论(0) 推荐(0) 编辑
摘要: DDD能够帮我们设计出清晰的领域和应用边界 DDD 包括战略设计和战术设计两部分。战略设计主要从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,这些限界上下文可以作为微服务设计的参考边界。而战术设计则从技术视角出发,着重于领域模型的技术实现,包括聚合根、实体、值对象、领域服务 阅读全文
posted @ 2023-10-19 15:26 zenghansen 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 前言 直播业务现在特别火爆,也给人们的互动方式带来了很多新的改变,比如刷礼物、弹幕、排行榜等等。面对巨大的流量规模,直播技术的发展也备受关注。作为一个技术爱好者,相信你也会对直播的技术比较感兴趣,于是我去翻了几篇文章,了解了直播的技术方案,发现涉及到的技术细节太多,有部分已经是知识盲区,如音频、视频 阅读全文
posted @ 2023-10-17 15:07 zenghansen 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 首先先说一个大原则:分布式事务能不用就不要用,毕竟这个用起来还是有一些麻烦的。当然,不用和不会用可是两码事。 1. 分布式事务基础理论 学习分布式事务,有一些基础理论需要我们先来了解下。 1.1 本地事务 本地事务是指将多条语句作为一个整体进行操作的功能,通过数据库事务可以确保该事务范围内的所有操作 阅读全文
posted @ 2023-10-10 16:52 zenghansen 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 最近用clash跑stable-diffusion,发现git不走代理,间而出现各种问题,故记录一下。 假如只针对GitHub: git config --global http.https://github.com.proxy http://127.0.0.1:XXXXgit config --g 阅读全文
posted @ 2023-07-30 13:07 zenghansen 阅读(80) 评论(1) 推荐(0) 编辑
摘要: #! /bin/bash sudo su yum -y install gcc automake make pam-devel openldap-devel cyrus-sasl-devel openssl-devel wget https://jaist.dl.sourceforge.net/pr 阅读全文
posted @ 2023-07-21 15:27 zenghansen 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 介绍,以 Python为例 自从我购买了一台新的Macbook之后,我不得不重新创建Python开发环境,但是如果我直接在本地安装Python,则会不小心在全球安装该软件包,或者即使我使用venv,也要重新创建该环境。就像我想要的时候麻烦一样,所以我决定使用Docker来构建它。 在IntelliJ 阅读全文
posted @ 2023-07-20 09:40 zenghansen 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 对于支付渠道方而已,同一个支付单号是不可以重复支付的,问题在于对于同一个订单,出于需求,比如不同的支付渠道,代付等,可能会存在不同的支付单号。 所以对于一个订单在未成功支付之前,都有可能存在同时调起支付的场景,因此,对于同一个订单,我们需要在发起支付之前做限制: 1.在收银台页面进行轮询,如果同时存 阅读全文
posted @ 2023-07-13 15:11 zenghansen 阅读(181) 评论(0) 推荐(0) 编辑