摘要:
SaaS软件工程师的成长需要循序渐进,和SaaS业务一样有耐心。SaaS工程师需要在“业务”、“技术”、“管理”三个维度做好知识储备、技能沉淀。本文基于“能力-知识-技能”模型,给出SaaS软件工程师成长路径、学习建议及要求。 阅读全文
摘要:
本文为《DDD》系列文章的导读,DDD系列blog记录了社区系统的DDD实践过程中的读书笔记、问题、解决方式、思考过程、心得。希望通过社区系统的DDD实践,挖掘出一些DDD的常见例子,抛砖引玉,共同进步。 阅读全文
摘要:
最近在做订单及支付相关的系统,在订单表的设计阶段,团队成员就‘订单状态’数据库字段设计有了一些分歧,网上也有不少关于这方面的思考和探讨,结合这些资料和项目的实际情况,拟对一些共性问题进行更深一层的思考,笔耕在此,和大家一起探讨。 阅读全文
摘要:
线上故障通常是指大规模的影响线上服务可用性的问题或者事件,通俗点讲就是:掉‘坑’里了,这个‘坑’就是线上故障!线上故障的处理过程可以形象地表达为:‘踩坑’、‘跳坑’、‘填坑’、‘避坑’。
线上故障的处理不仅是一项技术活,更是对技术人员/技术团队反应能力、决策能力、判定能力、组织能力的考验。面对突发的生产故障,需要快速定位问题,找到解决方案,快速实施解决方案并不是一件容易的事情。本文主要包括如下内容:线上故障处理的目标、思路、步骤、基础设施。 阅读全文
摘要:
martin fowler老爷子的《企业应用架构模式》一书在江湖上流传已久,在十几年前就企业应用中的典型场景及设计模式进行了思考和总结,可以看到书中提及的常用模式在如今流行的企业应用框架中已经落地。近日拜读,受益不少,将一些感悟和共鸣记录下来,整理下,不全面也不深入,只便于后续乱翻书。 阅读全文
摘要:
问题 java使用何种类型表示精确的小数? 结论 float和double类型的主要设计目标是为了科学计算和工程计算,速度快,存在精度丢失 BigDecimal用来表示任意精确浮点数运算的类,在商业应用环境下,不存在精度丢失 cookie 接受double实例化BigDecimal存在精度丢失问题, 阅读全文
摘要:
在产品迭代初期或者系统重构时期,业务模型的调整带来数据结构的变化,数据迁移不可避免。做好数据迁移需要考虑周全,且准备充分,做好预案,否则如果出现数据不一致问题,纠错成本高,同时核心业务数据的错误,会引起客户/业务方的投诉,团队也会承受巨大的压力。本文结合最近一个实际项目的数据数据迁移过程,讲述了踩过的坑,加上自己的一些思考得出的一些方法论,最后给出了数据迁移个脚本的一个实例 阅读全文
摘要:
本文简单介绍如何引入validation的步骤,如何通过自定义validation减少代码量,提高生产力。特别提及:非基本类型属性的valid,GET方法的处理,validation错误信息的统一resolve。 阅读全文
摘要:
在社区系统的DDD实践过程中,将遇到一些问题和产生的想法记录下来,共讨论。 阅读全文
摘要:
通过对社区“查询推荐好友”场景在各个架构风格下实现的探讨,介绍各个架构风格中关于会话管理的处理机制及优缺点,管中窥豹,希望能通过实际的服务设计场景,加深对不同架构风格的理解。 阅读全文
摘要:
《Google SRE》一书是google sre工程师根据google 运维演进总结出来的一些干货,非常值得学习。里面提到的分布式运维与传统运维的区别、分布式共识、监控、排障、自动化发布、拥抱风险是许多公司正在经历或者即将经历的,了解一下大有裨益。本文为该书的读后感。 阅读全文
摘要:
今天系统版本发布,多个因素凑到一起引发线上故障。这个排障过程做的不是很好,存在很多改进的地方,作为排障的反面教材,分享给大家。 阅读全文
摘要:
《The Twelve-Factor App》定义了一个优雅的互联网应用在设计过程中,尤其是在设计SAAS服务时,需要遵循的一些基本原则。本文为该设计原则的读书笔记,并备注了自己在项目实践中的一些实施经验,在后续的工作中,会陆续加入更多的落地资料和心得。 阅读全文