摘要:公司有一项储值卡充值业务:客户在微信公众号开通储值卡服务,通过微信支付往卡里面充值,充值成功后客户可收到消息通知,并进行消费。 看起来是一项很简单的业务,最初我们储值卡团队的实现也确实很简单。我们看看最初的实现: 相信聪明的你一眼就能看出问题: 1. 压根没有考虑分布式事务一致性,比如第 12 步根 阅读全文
posted @ 2020-04-20 21:10 林子er 阅读(287) 评论(4) 推荐(1) 编辑
摘要:很多人搞不明白 REST(Representational State Transfer 表述性状态转移)原因在于一开始就是把它当做设计风格而不是架构风格来理解,因而一上来就大谈特谈什么 RESTful API,结果是只见树木不见森林。 仅从设计的角度去理解 REST(仅把它作为 API 设计原则) 阅读全文
posted @ 2020-07-26 18:00 林子er 阅读(137) 评论(0) 推荐(1) 编辑
摘要:本文就 PHP 语言的诞生背景、优缺点等方面进行分析,从语言生态的角度得出四个关于 PHP 语言的论断: 论断一:PHP 在移动互联网到来之前出现过黄金时期,如今辉煌不再; 论断二:PHP 在未来可预见的很长时期内不会没落; 论断三:后黄金时代 PHP 的定位:中小公司的快速原型语言以及大公司的中间粘合层语言; 论断四:PHP7 和 Swoole 让 PHP 在和其他同层级语言(如 Python、RoR、nodejs)的竞争中保持优势,但无法给 PHP 带来根本的变化(无法改变 PHP 的定位); 阅读全文
posted @ 2020-05-06 08:55 林子er 阅读(1893) 评论(6) 推荐(5) 编辑
摘要:本篇我们将通过 Swoole 实现一个自带连接池的 MySQL 查询器: 1. 支持通过链式调用构造并执行 SQL 语句; 2. 支持连接池技术; 3. 支持多协程事务并发执行(协程安全性); 4. 支持连接对象的健康检测; 5. 支持连接对象断线重连; 6. 程序需要可扩展,为未来的改造留好扩展点; 阅读全文
posted @ 2020-05-02 19:03 林子er 阅读(430) 评论(0) 推荐(0) 编辑
摘要:很多php程序员存在未来发展方面的困扰,介于各方面的因素,phper 比其他程序员更容易遇到上升天花板。 一方面,一般只有初创企业为了快速实现产品上市以及极容易招到 phper 才使用 php 来实现公司的全部业务,大厂的核心业务都不是 php 做的(阿里用 java,腾讯用 c++),php在大厂 阅读全文
posted @ 2020-04-30 10:00 林子er 阅读(2099) 评论(15) 推荐(14) 编辑
摘要:本规范基于 PSR 和实际项目经验整理而成,目前已在公司内部推行使用,特分享如下。 分为 编码格式篇 和 程序设计篇 两大部分。 [TOC] 编码格式篇 基于 PSR 1、PSR 2、PSR 12 。 样例 文件 PHP 代码 必须 使用 ? `; 编码:PHP 代码文件 必须 以不带 BOM 的 阅读全文
posted @ 2020-04-26 14:39 林子er 阅读(215) 评论(0) 推荐(0) 编辑
摘要:[TOC] 分支的三个版本 远程版本库 ,如 github.com; 远程快照 ,使用 查看到的 origin/branch name,相关信息在 中; 本地分支 ,使用 查看到的分支,相关信息在 中。一般本地分支会关联到对应的远程分支; 仓库与版本库 可理解为: 仓库 = 版本库 + 工作区 。版 阅读全文
posted @ 2020-04-26 14:37 林子er 阅读(80) 评论(0) 推荐(0) 编辑
摘要:[TOC] 迭代 1. 公司层面的迭代周期是 1 个月(跟 KPI、绩效挂钩),产研团队将 1 个月划分成两个小迭代,月初由产品和技术共同制定本月的需求列表(其中产品需求主要由产品主导,技术协助评估,技术需求由技术团队自己制定),这些计划列表构成每个团队和个人的月 KPI 指标,月末回顾完成率与完成 阅读全文
posted @ 2020-04-23 14:22 林子er 阅读(152) 评论(0) 推荐(0) 编辑
摘要:背景 在团队多人协作开发中,分支管理需要解决如下问题: 1. 直到上线并验收通过之前,每个人开发的功能互不影响; 2. 多人开发的功能测试时需要共用同一套(或有限的几套)测试环境; 3. 哪怕代码上线后,也有回滚的可能性,上线回滚不会对主干分支的代码产生影响; 4. 分支管理需要满足快速小步迭代的敏 阅读全文
posted @ 2020-04-23 14:19 林子er 阅读(171) 评论(0) 推荐(0) 编辑
摘要:公司有一项储值卡充值业务:客户在微信公众号开通储值卡服务,通过微信支付往卡里面充值,充值成功后客户可收到消息通知,并进行消费。 看起来是一项很简单的业务,最初我们储值卡团队的实现也确实很简单。我们看看最初的实现: 相信聪明的你一眼就能看出问题: 1. 压根没有考虑分布式事务一致性,比如第 12 步根 阅读全文
posted @ 2020-04-20 21:10 林子er 阅读(287) 评论(4) 推荐(1) 编辑
摘要:(团队内部技术分享摘要) [TOC] 目前开发实践中的问题 1. 业务逻辑泄露。本应属于 Service 的业务逻辑泄露到其他各层中(Controller、Repository、View等),而原本内容丰富的 Service 反而变成了贫血类。 2. 全能Service,主要表现是超多的代码(如vs 阅读全文
posted @ 2020-04-20 21:08 林子er 阅读(382) 评论(0) 推荐(0) 编辑