摘要:Git 简介Git是免费、开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如... 阅读全文
posted @ 2020-08-07 10:25 Martini 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Upsource 是什么Upsource 作为一个代码审查工具, 有很多有益的特性.执行高效的代码审查从 IDE 审阅通过浏览器跟踪重要的变化发现设计缺陷, 找出项目中需要开发人员注意的部分检测项目范围的风险, 分散责任快速面板, 便于新成员了解项目并了解其他人的职责范围@回应, 讨论变化, 帮助队友可与持续交付/问题跟踪/github同步不用担心团队成员人数, 团队项目, 不限量~(10人免费)... 阅读全文
posted @ 2020-05-27 13:48 Martini 阅读(126) 评论(0) 推荐(0) 编辑
摘要:MAC MAMP集成环境安装 PHP扩展开发环境中,对于需要维护很多 WEB 站点,以及可能会使用到很多不同的 PHP 版本,集成环境比较好用,在MAC 上 MAMP 集成环境是比较好用的,但是在安装扩展时也会遇到一些坑,这里总结一下 MAMP集成环境安装 PHP 扩展的流程。这里以安装 Redis 扩展为例。安装 Redis 服务如果使用本地 redis 数据库,需要先安装 Redis 服务。(... 阅读全文
posted @ 2020-02-18 11:00 Martini 阅读(114) 评论(0) 推荐(0) 编辑
摘要:需求 对平均 1200w 数据量的数据表进行优化 数据表中有 2016年,2017 年,2018 年,2019 年数据 只查询最近半年的数据 后台增加历史数据查询功能 尽量减少代码改动 数据表 积分日志表 tb_user_points_log 虚拟充值表 tb_order_recharge 虚拟充值 阅读全文
posted @ 2019-11-19 20:51 Martini 阅读(666) 评论(2) 推荐(2) 编辑
摘要:所谓 设计模式 就是人们将开发中反复遇到的问题总结出来的解决方法。 设计源自生活,一切设计模式都可以用现实可以想象的世界来构造。如何将其中的概念、原理使用通俗易懂,更形象的话来描述,是我的初衷。 模式分类 范围\目的创建型结构型行为型 类模式 工厂方法模式 (类)适配器模式 解释器模式 模板方法模式 阅读全文
posted @ 2019-11-12 22:56 Martini 阅读(45) 评论(0) 推荐(0) 编辑
摘要:策略模式(Strategy) 意图 对象有某个行为,但是在 不同的场景 下,该行为有 不同的实现算法。 就好比你去餐馆吃饭,首页你要通过菜单来选择你想吃的菜,根据你点的菜的不同,在厨房中去做不同的菜。同样是菜但是根据不同的菜名,有不同的做法。 适用性 需要在不同的情况下使用不同的策略(算法),或者在 阅读全文
posted @ 2019-11-12 22:49 Martini 阅读(63) 评论(0) 推荐(0) 编辑
摘要:变量结构 zval 结构体 PHP 所有类型的变量在底层都会以 zval 结构体的形式实现 (源码文件Zend/zend.h) 源码根目录搜索 grep -rin --color --include=*.h --include=*.c _zval_struct * 注:上面zval结构体是 php5 阅读全文
posted @ 2019-10-29 14:10 Martini 阅读(99) 评论(0) 推荐(0) 编辑
摘要:概念 垃圾回收机制 是一种内存动态分配的方案,它会自动释放程序不再使用的已分配的内存块。 垃圾回收机制 可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务逻辑。 与之相关的一个概念,内存泄露 指的是程序未能释放那些已经不再使用的内存,造成内存的浪费。 那么 PHP 是如何实现垃圾回收机 阅读全文
posted @ 2019-10-29 14:10 Martini 阅读(268) 评论(0) 推荐(0) 编辑
摘要:位运算这里讨论一些位操作技巧,如果使用得当会有助于提高代码运行效率。这里假设你已经知道整型数据二进制 补码 表示方式。位运算符运算符名称例子结果&And(按位与)a & b将把 a 和 b 中都为 1 的位设为 1,否则设为 0。|Or(按位或)a | b将把 a 和 b 中任何一个为 1 的位设为 1。^Xor(按位异或)a ^ b将把 a 和 b 中一个为 1 另一个为 0 的位设为 1(相同... 阅读全文
posted @ 2019-10-23 18:48 Martini 阅读(116) 评论(0) 推荐(0) 编辑
摘要:原码、反码、补码 整数在计算机内部都是以「补码」形式存储的。记住这点,对于整数的处理,会很有帮助。 原码 数字在自然界中抽象出来的时候,一棵树,两只猪,是没有正数和负数的概念的。 计算机保存最原始的数字,也是没有正和负的数字,叫没符号数字 如果我们在内存分配4位(bit)去存放无符号数字,是下面这样 阅读全文
posted @ 2019-10-23 18:42 Martini 阅读(93) 评论(0) 推荐(0) 编辑