大家好,这里记录,我每周碰到的,或想到的,引起触动,或感动的,事物的思考。这是 [一周XX思考] 的第11期,不见得都对,但开始思考总是好的。

极客时间与纸书

写书的时候,有的部分知识,为了“普世”的正确性,也就是不愿引起分歧性争议,有些作者就会写的很像“中医”,看了之后吧,“吃不好,也吃不坏”。

极客时间这样的不太一样,因为它底下有评论,而且不是一个人来评论,这样在众多学习者的互动和“监督“中,会逼迫作者去纠正那些“偷懒的地方”,这里区别于纸质书的重要一点是,可以迅速更正,这样偷懒的作者也就会写的更落地一些了。

另外呢,很多别人提的那些疑问,可能也是超出了你的理解范围的,刚好可以补充学习。

但其实这可能也会有个弊端,极客时间上的作者往往会被要求写的”多够一步“,如果写出来的知识点咀嚼的太碎,也就丧失了思考空间。

不知不觉间,我也”中医“了。

什么是好的系统

即使你开发的软件系统经过测试没有发现一个BUG,那么你也不能说你设计的软件架构或者你写的代码就是好的。

因为如果这套程序不便于扩展、不便于修改,我们说它同样不是一个好的系统或者不是好的代码。

考虑好,更多的是扩展的便利性,毕竟你要承接不停的需求。

没有BUG只是60分。

按下葫芦起来瓢

技术方案有时候就是这样的,按下葫芦起来瓢。

拿微服务的例子,它解决了原来中心化的问题,将功能系统从宏观上模块化,而且每个模块化的系统都是自治的(按下了葫芦),但是呢,这样也带来了,微服务治理的困难(起来了瓢)。

再比如,你做无状态化设计,需要将应用服务器上的状态去掉,那么就必须要把这个状态迁移到别处,比如远程的分布式缓存上(按下了葫芦),不过这也增加了缓存的成本,要多考虑热点的问题(起来了瓢)。

还有BFF的例子,APIGATE 的例子 等等,当然BFF也是一种特殊的网关。

在技术上,没有双利解。

成本不会消失,只能转移。

贫血模型是怎么流行起来的

我们都知道贫血模型,它们仅仅是将关系数据库中的数据模型映射到了对象而已,也就是那些对象都缺少了内在行为,就显得"营养不良"。

那么造成这种结果的原因,或者让这个方式流传的原因是什么呢,我最近看到《实现领域驱动》这本书的一段描述,觉得很有道理。

软件开发的学习过程中,大部分人刚开始的时候,都是参照书籍上或者博客上的示例代码来学习的,不过通常情况下这些示例代码只是用尽可能的简单方式来描述清楚一些概念或者把要表达的内容描述清楚即可。

这些代码起初也并不打算非要遵循那些较好的设计原则,这些示例代码中就包含了大量的getter和setter方法,于是这些包含getter和setter的代码每天被我们原封不动地来回复制。

贫血模型也不是不好,他也有适用的场景,那就是业务复杂度较小的业务环境中,那么如何识别一个业务场景是复杂还是简单呢。

业务复杂度的判断方法

仍然是在《实现领域驱动》这本书中给了些指导性的建议。

如果我们的软件就是以数据为中心,所有的操作都是CRUD,并且没有元数据的二次计算,那么这样的软件系统都是业务简单的,当然,这些系统也无需要借助DDD。

如果,系统有刚才说到的二次计算,但是呢,系统里面所有的业务操作少于30个,这里的业务操作怎么理解呢,就是我们当时梳理业务需求的时候的用户故事或者叫做用例流。

那么,你可能,要问了,30怎么来的,经验值,这不是你没有参考么,给一个经验值参考。

如果,系统里面的用户故事大于30个,基本上这个系统软件的业务复杂度就暴露出来了,这就已经数据业务复杂的系统了,当然了,按照书中的说法,我们就要采用DDD了。

也就最后用充血模型了,DDD提倡充血模型。

解决问题才是王道

无论你有什么本事,最终都是靠能否解决问题来验证的,更何况那种本事到底算不算上什么本事呢。

比如你有能力从外面请来一位专家,介绍了相关领域的知识,那么这些知识能否帮助到你的团队,去实际落地,有没有解决当前团队面临的问题呢,如果没有,也只是拓展了下大家的知识面而已。

比如你有“浑厚”的理论知识功力,讲的逻辑清晰、结构合理、思维饱满,但能否落地呢,或者当前不能落地,能否阶段性的落地呢。

如果都不能,说狠一点,也只是个“花瓶”,或者高大上点,成为“吉祥物”。

横向工作

你一个猛子扎进去,埋头苦干,最终实现出一个业务功能,进而上线,类似这样的工作是纵向,单个部门参与,或者是单个组参与,或者是外部依赖不用你协调。

反之,需要你协调,沟通、判断,跨多个组织,多个业务线,多个形态,这些都是横向工作,当然部门内部也有横向,只不过看“切面”的大小。

横向工作,根据目前我的认知判断,需要的技能,我总结下来有三力:专业力、思维力、反应力。

如果你是一位架构师。

专业力:需要你对业务背景以及将来所依赖的架构方向和基础都要有掌握,尤其是架构与架构之间的边界、依赖,这些都有依靠你的专业力来判断出来。

思维力:那就是要有高度和广度了,甚至就是需要立体起来,这里面有时候,不仅仅是技术层面的沟通,而是战略层面、意识形态层面的内容,对一个问题的认知要能够高度出来,这里的高度是动词。

反应力:这个就涉及到些,

这个反应力又分为两层,一层是响应外部工作的能力,比如别人对你工作进度的依赖,你要能够及时在内部及时组织起来,并把别人依赖的进度反馈出去。

另外一层,是你在横向的过程中,精确一点讲是在跟跨部门沟通的时候的自身反应能力,说的江湖一些,就是不要掉坑里。

生活二三事

一事。

我从某个时刻开始,一直控制着平时发朋友圈的次数,也是想着把自己的思考、学习心得等写在比如这期的XX思考中,捏在一起,发出来。

不过,由于我发的运动健身的朋友圈次数少了,甚至不发了,结果最近跟不少朋友沟通的时候,他们都会问起,现在是否还在运动。

于是,我下意识的想到,我偶尔发一次运动健身的朋友圈,是不是能给一些朋友带来某种力量呢,当然也可能我一厢情愿了,不过,我想,这毕竟也是正能量的事情吧。

二事。

上周,拉了一个几人的微信群,约好了周末聊点事情,由于是先前大家定下的时间,不巧,有一个朋友没有办法参加。

晚上的时候,这个朋友在群里发了一个红包,另外说了些表达歉意的话。

我注意到的时候,已经过去了一段时间,我第一想法是这个红包,一定要领,为什么呢,领了之后可以减少这位朋友由于未能参加约会而带来的“负罪感”。

而不是说,不去领,心里都想着,没事,没事,我们没有在意,但是为何不用行动表现出来呢。

哈,我给自己抢红包,还找了个借口。

三事。

早会上,有读书分享环节,这次有位同事分享了关于要思考的情节,原描述是,如果一个人忙,忙的无暇思考,肯定是不好的,结论是,要留出时间来思考。

我呢,一直也是这么认为的,人呢,肯定要思考的,比如我写的这篇就是思考嘛。

不过,老板给了自己的观点,忙,分两种,一种是被动的忙,一种是主动的忙。

如果一直是被动的忙,一味的是在接受工作,机械的完成,时间久了,人就废了。

如果是主动的忙,善于在忙中思考,总结,这种忙是有意义的,在进一步,还能够把被动变主动就更好了。

读了一点点“闲书”

我看了一点《亲密关系》这本书,给大家引荐一段话。

亲密关系的过程可以分为这样几个阶段:绚丽、幻灭、内省和启示。

很多人都会觉得奇怪,为什么当初在绚丽期爱的死去活来的两个人,在幻灭期可以形同陌路或仇人。

用最简单的语言来描述就是,我们通常会把自己从小到大得不到的、未满足的需求,全部投射在那个爱我们、让我们觉得特殊的人身上,觉得有了他(她),这些需求都会得到满足了。

关于这点,书中还给了,描述。

从人性上来说,我们倾向于保护自我最脆弱的部分,然而这也是造成关系冲突的主要原因。

题图:葫芦时刻

一周XX思考(第11期)相关推荐

  1. 一周XX思考(第12期)

    大家好,这里记录,我每周碰到的,或想到的,引起触动,或感动的,事物的思考.这是 [一周XX思考] 的第12期,不见得都对,但开始思考总是好的. 借鉴和传承 先有的SOA,再后来出现微服务,那么实际上微 ...

  2. 一周XX思考(第13期)

    大家好,这里记录,我每周碰到的,看到的,或想到的,引起触动,或感动的,事物的思考,不见得都对,但开始思考总是好的. 敏捷的错 这两天看到一篇文章,说是 敏捷 "杀死了" UML,其 ...

  3. 一周技术思考(第36期)-缓存踩踏与惊群效应

    图自网络 "10年前的那一天Facebook发生了什么",本想用这个题目,但不符合本系列的气质,那,那天到底发生了什么呢. Facebook的事故介绍 2010年9月23日,Fac ...

  4. 一周技术思考(第33期)-为什么会有高可用的问题?

    先开始我们这周的第一个话题. 我在今年2月份的时候看到一篇文章,以至于我对它里面描述的高可用的观点,印象真的很深刻,才导致我又翻开收藏夹去找寻它.当然,也有可能是马上又到双十一了,我们又开始备战了,总 ...

  5. sqlserver存储过程加锁后怎么解锁_【缺陷周话】第59期:重复加锁

     聚焦源代码安全,网罗国内外最新资讯! *声明:<缺陷周话>栏目系列文章由奇安信代码卫士团队原创出品.未经许可,禁止转载.转载请注明"转自奇安信代码卫士 www.codesafe ...

  6. https防止注入_【缺陷周话】第40期:JSON 注入

     聚焦源代码安全,网罗国内外最新资讯! *声明:<缺陷周话>栏目系列文章由奇安信代码卫士团队原创出品.未经许可,禁止转载.转载请注明"转自奇安信代码卫士 www.codesafe ...

  7. 中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)

    中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)  Lan   2020-05-03 14:21   369 人阅读  0 条评论 感谢中国大学MOOC提供的学习平台 ...

  8. 《预训练周刊》第11期:全球最大智能模型“悟道2.0”重磅发布、谷歌KELM:将知识图与语言模型预训练语料库集成...

    No.11 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第11期&l ...

  9. 心理月刊杂志心理月刊杂志社心理月刊编辑部2022年第11期目录

    心理月刊杂志心理月刊杂志社心理月刊编辑部2022年第11期目录 论著_学术探索     自我效能对脑卒中患者自我管理的影响:感知控制与自我感受负担的链式中介作用 钱金平;吴丹;钱国安;钱佩珺;苏娟; ...

最新文章

  1. 用 WEKA 进行数据挖掘,第 2 部分: 分类和群集
  2. flash cs3 代码提示 应该加强
  3. IOS控件的应用UIPageController与UIScrollView
  4. 51nod 1180 方格射击游戏
  5. 微信小程序之WebSocket
  6. 如何用python做一个时钟_Python使用turtle库制作一个时钟
  7. MAC安装Securecrt
  8. 当今主流软件产品家族及其开发语言
  9. ubuntu14.04 安装以太网网络卡驱动
  10. Python3中使用flask_sqlalchemy的问题
  11. 1. spark ML概述
  12. pcl_viewer的使用
  13. python学习需要多长时间
  14. word分散对齐调整宽度_Word文字对齐如何调整,word对齐方法大全
  15. 看完,如果你不分享,是我的失败!
  16. 搜狗搜索曝光“搜狗商店” 人工智能概念产品可提升人类能力
  17. 国际歌 英特纳雄耐尔一定要实现
  18. LeetCode 2021 力扣杯全国秋季编程大赛(第384名)
  19. CentOS tomcat自启动
  20. C#串口编程 XML作为程序的配置文件

热门文章

  1. VLC2.2.4命令参数
  2. ALTAS,LAPACK, SCALAPACK, MUMPS记录
  3. 程序员的数学思维修炼(趣味解读)还有哪些进制
  4. 一种改版后检查硬件PCB生产资料的方法***-----Gerber对比,检查的方法
  5. uniapp实现自定义相机
  6. 因果AI热度背后的打靶迷局
  7. alios things开发板_AliOS Things开发:让你的开发板支持AliOS Studio调试-阿里云开发者社区...
  8. jquery获取元素索引值index()
  9. 《公安机关办理刑事案件电子数据取证规则》
  10. 清除U盘内所占的隐藏空间(U盘容量突然变小了)