首页
学习
活动
专区
工具
TVP
发布

知一杂谈

专栏作者
37
文章
22637
阅读量
16
订阅数
软件系统复杂性治理方法
本文讨论了软件复杂性及其产生原因,介绍了如何度量软件复杂性,及 SOLID 软件设计原则,并探讨管理复杂性的方法,包括使用代码重构、设计模式、领域驱动设计等。通过遵循这些原则和方法,开发人员可以降低软件复杂性,提高代码质量和可维护性。这篇文章内容涵盖了软件开发的道与术,希望能对你所有帮助,欢迎评论交流~
知一
2024-02-15
1090
服务拆分的几种处理思路
目标是需要拆分出内部服务 Y 为独立的系统,且暂时不改变系统 A 的被依赖关系,拆分前的情况如下图。
知一
2022-11-28
4140
领域驱动设计精粹(下)
前文提到了事件风暴产出的领域模型是概念模型,到实际落地还有些距离,而落地的结果也是各不相同,我觉得说落地,要先回顾一下领域驱动设计的两个作用。
知一
2022-09-23
6000
领域驱动设计精粹(中)
领域驱动设计学习拦路虎之一就是众多的概念,第一次接触这些概念会有一定的理解成本,不过正是这些概念支撑起的领域驱动设计,接下来会以电商为例对其中的核心概念做介绍。
知一
2022-09-23
7630
Markdown 语法模板
基础语法示例 # H1 ## H2 ### H3 #### H4 ##### H5 ###### H6 引用 无序列表 无序列表 无序列表 有序列表 有序列表 有序列表 斜体 粗体 行内代码 多行代码 多行代码 分割线: ---- 数学公式 $$d=\sqrt{\sum_{k=1}^n(x\_{1k}-x\_{2k})^2}$$ 效果: d=\sqrt{\sum_{k=1}^n(x_{1k}-x_{2k})^2} 流程图 图片
知一
2022-09-23
4170
统一博客系统变更日志
这篇文章是汇总历史发布过的,所有关于我的博客编写发布系统文章。文章以时间线倒序的方式罗列整理。
知一
2022-09-23
3090
关于读写分离架构的思考
分布式系统主要的目的之一就是解决大量用户的高并发问题。自己做过几个业务系统,也和别人聊过他们所做过的业务系统,其实大家都使用了相同的数据库,有的系统会使用 Redis 缓存,会使用 MQ 做系统解耦,有的也会使用搜索引擎。这些系统的构件相同的地方都是在处理数据,只不过职责不同罢了。归纳有以下几类:
知一
2022-09-23
3120
技术项目复盘经验
基于多次复盘的经验汇总,仅以当前工作环境做汇总,供参考。 系统问题定位和解决 需要抓住足够多的证据链,不能臆测代码和运行机制。常用手段有 curl,日志,sentry。 能在本地复现不要跑到联调,降低定位成本。 排查超过两小时并且无清晰路径下需要扩大问题知晓范围,找人协助。 排查过程需要有详尽的记录,记录要字符串,减少截图数据。 RFC 设计 跨系统交互需要补充系统交互图,明确系统边界。 需要数据备份和回滚方案,做好预案。 设计文档需要同步小组群。 评审会需要拉上 leader 知晓。 系统设计需要考虑兼容
知一
2022-04-06
3060
架构设计的 ROI 关注点
ROI 是指投资回报率,对应系统架构设计上来说需要从业务发展和收益角度综合评估 ROI 来进行取舍。需要确保架构符合业务的发展,在设计开发时需要重点关注一下几个地方:
知一
2022-04-06
3730
统一博客编写环境
日常会在 macOS 和 Ubuntu 之间切换,博客是基于 Hexo 生成的,不同系统的 Node 版本会有较大差异、环境稳定性比较差,为了方便平时写博客,想到了用 Docker 统一博客生成环境,于是自己写了 Dockerfile,在结合VS Code 编写,可以做到系统无差。
知一
2022-02-14
1730
macOS 系统 10 倍高效工具
今天要说的是 macOS 下的一款效率软件 —— Alfred,想必大家就算没用过也耳闻过,老实说用好它带来的效率提升绝对不止 10 倍。博主已经安利给很多同事使用,他们普遍觉得上手有些困难,主要是配置复杂,今天的文章会一步步地介绍这款神器的高效之处。
知一
2022-01-25
6340
ETCD 运维笔记
关于自动压缩 https://etcd.io/docs/v3.4/op-guide/maintenance/#defragmentation
知一
2021-12-10
3.6K1
小米粥声控音箱总体计划
关注树莓派很久了,只是没有很感兴趣的应用场景,就没有买来玩。几个月前偶然得到一个小度音箱,发现了新大陆,各种语音控制功能,便捷性不言而喻,还买了一些外部设备可以通过小度控制,发现有红外遥控器可以控制家里的大部分红外家电,奈何码库不是很全,有些设备还是不能控制的,而且不支持定制功能。恰好在知乎看到了一些 geek 视频,想着自己也做一个,可以支持红外数据的定制,做到自由遥控。于是乎说干就干,从一个什么硬件都不懂的小白一步步的了解了点硬件知识,软件部分相对好实现一些。主要计划的功能是通过语音来控制红外家电、温湿度监控以及智能提醒等功能,先完成主体框架然后再不断开发插件形式来增强可玩性。
知一
2021-12-07
6390
领域基本概念字典
领域驱动设计中定义了超多的概念,如果不多找几篇资料综合的去看,正确的理解比较困难,下面搜集整理了大部分的领域驱动中的概念,并加以理解描述。
知一
2021-12-07
6870
业务流程模型和标记法(BPMN)
BPMN 有什么优势呢,用了一段时间主要使用在业务流程表达上,表达符号比较多,相比流程图可以更清楚的表达业务流程,同步、异步,异常中断、事件消息等等,如果看图的人都对这些符号有概念,可以比较轻松的看懂业务流程。缺点就是符号太多,学习成本相对高一些。学会了就会对业务表达上有很好的助力。
知一
2021-12-07
1.7K0
订单系统建模思考
本文是对于订单建模的一点思考整理,里面应用一些对领域驱动设计的思考,默认读者对于领域概念有一些基本了解。
知一
2021-12-07
6260
聊聊知乎订单系统迁移
本文主要介绍知乎订单系统后端语言栈的转型升级过程,包括其间踩过的一些坑和遇到的一些问题。一来是想通过本篇文章为其它应用服务转型提供借鉴经验,二来是总结对于订单系统的理解。鉴于文字功底不足,对于业务理解不充分的地方,欢迎留言交流。文章大纲如下:
知一
2021-12-07
6320
管道模式在电商售后中的应用与优化
在以上两个流程的处理流程有个共通的地方,就是一次操作需要涉及多个子流程的处理,这就是接下来需要讲的通用售后流程抽象。多个子流程的处理意味着要和多个子系统分别进行沟通处理退货、换货和退款。
知一
2021-12-07
7130
软件重构的三个层次
你有没有遇到过一个函数几百行长度,如果没有可以跳过本文章了,如果没有那么应该看看下面的内容。一个超长函数的复杂性不在于那些胶水代码,而是其中的逻辑分支,大量的逻辑分支导致你的代码难以理解。而重构的过程分为两步:
知一
2021-12-07
6620
调研技术组件模板V1 —— 以 Drools 为例
Drools通过 事实、规则和模式相互组合来完成工作,drools在开源规则引擎中使用率最广,但是在国内企业使用偏少,保险、支付行业使用稍多。
知一
2021-12-07
7000
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档