Browsed by
标签:Shell

为什么在做微服务设计的时候需要DDD?

为什么在做微服务设计的时候需要DDD?

閱讀本文約花費: 9 (分鐘) 记得之前在规划和设计微服务架构的时候,张队长给了我一个至今依然记忆深刻的提示:『你的设计蓝图里为什么没有看到DDD的影子呢?』 随着对充血模型的领域认知的加深,我越加感觉到DDD的重要性。但是DDD内容繁多,是不是要深入去了解呢,我觉得不必入坑太深,个人浅见,它最核心的一点就是针对贫血模型的不足而设计,把原先传统的贫血模型里的业务逻辑层拎出来,融入到Domain层,这样面对复杂业务的规模化变更,我们只需要专注于Domain即可。 回到主题,我们要了解的是微服务和DDD到底有什么关系呢? 因为在互联网时代,软件所面临的问题域比以往要复杂得多,这种复杂性来源于不断扩展的问题域自身,也来源于创新变化,以及这种规模性增长所带来的挑战。 然而一个人一个团队,他对复杂的事物的认知是有极限的,面对这种复杂问题唯一的方法就是分而治之。分主要考虑的是如何去分;治意味着分出来的每一个部分要能够独立的运行,能够互相的协作,完成整体的目标,能够一来应对外部变化所带来的冲击。 微服务的缺陷 微服务架构在分和治两个方面都给出了很好的理论指导和最佳实践,那微服务是不是解决复杂问题的银弹呢?其实不然,很多团队在应用了微服务架构来构建他们的系统以后,发现并没有完全解决这种复杂性问题,甚至还带来了一些其他的问题。比如: 服务并没有解决复杂系统如何应对需求变化这个问题,甚至还加剧了这个问…

Read More Read More

武书连2020中国762所大学综合实力各省排行榜

武书连2020中国762所大学综合实力各省排行榜

閱讀本文約花費: 9 (分鐘) 第一部分请点击查看: 武书连2020中国大学综合实力排行榜 十六、武书连2020中国762所大学综合实力各省排行榜 综合实力在600名以后的,不列名次,排名不分先后。 (一)2020中国华北地区各省大学综合实力排行榜 华北地区包括北京市、天津市、河北省、山西省、内蒙古自治区,共5个省级行政区。 1、2020北京市大学综合实力排行榜 2020年评价北京市53所普通本科大学。北京市大学教师学术水平1.9164,全国第1名,教师绩效2.0422,全国第1名。 2、2020天津市大学综合实力排行榜 2020年评价天津市18所普通本科大学。天津市大学教师学术水平1.3263,全国第5名,教师绩效1.2985,全国第4名。 3、2020河北省大学综合实力排行榜 2020年评价河北省34所普通本科大学。河北省大学教师学术水平0.3827,全国第24名,教师绩效0.5683,全国第24名。 4、2020山西省大学综合实力排行榜 2020年评价山西省21所普通本科大学。山西省大学教师学术水平0.4398,全国第22名,教师绩效0.6278,全国第19名。 5、2020内蒙古自治区大学综合实力排行榜 2020年评价内蒙古自治区13所普通本科大学。内蒙古自治区大学教师学术水平0.2572,全国第30名,教师绩效0.4464,全国第31名。 (二)2020中国东北地区各省大…

Read More Read More

由12306.CN谈谈网站性能技术

由12306.CN谈谈网站性能技术

閱讀本文約花費: 31 (分鐘) 12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开的功能性的东西) 业务 任何技术都离不开业务需求,所以,要说明性能问题,首先还是想先说说业务问题。 其一,有人可能把这个东西和QQ或是网游相比。但我觉得这两者是不一样的,网游和QQ在线或是登录时访问的更多的是用户自己的数据,而订票系统访问的是中心的票量数据,这是不一样的。不要觉得网游或是QQ能行你就以为这是一样的。网游和QQ 的后端负载相对于电子商务的系统还是简单。其二,有人说春节期间订火车的这个事好像网站的秒杀活动。的确很相似,但是如果你的思考不在表面的话,你会发现这也有些不一样。火车票这个事,一方面会伴随着大量的查询操作,更BT的是下单的时候需要对数据库很多的一致性的操作,一方面是从起点到终点各个分段票的一致性,另一方面,买的人路线、车次、时间选择有很多,会不停地改变下单方式。而秒杀,直接杀就好了,没有那么多查询和一致性的问题。另外,关于秒杀,完全可以做成只接受前N个用户的请求(完全不操作后端的任何数据, 仅仅只是对用户的下单操作log),这种业务,只需…

Read More Read More

B站《后浪》是如何击中人心的

B站《后浪》是如何击中人心的

閱讀本文約花費: 10 (分鐘) 五四青年节的前夕,忽如一夜春风来,朋友圈被B站的新广告刷屏了。何冰老师贡献了一个精彩的演讲《后浪》。(点击图片观看演讲视频) 我发现一个有趣的现象,在朋友圈里,不论70后、80后、90后、00后,都在转发这个视频,这是极少见的能打通多个人群的内容。在五四青年节,B站将会通过这个视频获得亿级的曝光量,并会大量获得超出原有用户年龄层的新用户。B站以六位数的投入,达成了一个千万级广告投放的效果,投资回报率惊人。这是一次出色的营销,也是一个精彩的商业演讲。一个演讲,B站是怎么做到让如此多不同人群来转发的呢?用一句话概括,就是把【共情】用到极致。作为沟通与表达的专业教练,我一直在研究:什么样的内容,不论是文字、还是视频,能够使人在看完之后产生强烈的冲动,想把它转发给更多人?我总结下来有这么几种类型:第一类,是一个全新的认知、知识、或信息,它对我们非常有用,对其他人也很有用,我们会很愿意分享。这是能够带来现实价值的一种新知。 第二类,能够带来娱乐价值的,博人一笑的。第三类,是看完之后能引发我们强烈的情绪。传播内容的情绪符合我们内心深处潜意识里的那种情绪,通常与个人的三观有关,因此会引发大量的传播。前不久当我们看到武汉的一位医生去世时,我看到很多人在各类社交媒体上进行转发纪念。同样的,一些容易引发人们群情激奋的事件,也容易获得迅速传播,比如渣男出轨,虐…

Read More Read More

如何超过大多数人

如何超过大多数人

閱讀本文約花費: 23 (分鐘) 当你看到这篇文章的标题,你一定对这篇文章产生了巨大的兴趣,因为你的潜意识在告诉你,这是一本人生的“武林秘籍”,而且还是左耳朵写的,一定有干货满满,只要读完,一定可以练就神功并找到超过大多数人的快车道和捷径……然而…… 当你看到我这样开篇时,你一定会觉得我马上就要有个转折,告诉你这是不可能的,一切都需要付出和努力……然而,你错了,这篇文章还真就是一篇“秘籍”,只要你把这些“秘籍”用起来,你就一定可以超过大多数人。而且,这篇文章只有我这个“人生导师”可以写得好。毕竟,我的生命过到了十六进制2B的年纪,踏入这个社会已超过20年,舍我其谁呢?! P.S. 这篇文章借鉴于《如何写出无法维护的代码》一文的风格……嘿嘿 相关技巧和最佳实践 要超过别人其实还是比较简单的,尤其在今天的中国,更是简单。因为,你只看看中国的互联网,你就会发现,他们基本上全部都是在消费大众,让大众变得更为地愚蠢和傻瓜。所以,在今天的中国,你基本上不用做什么,只需要不使用中国互联网,你就很自然地超过大多数人了。当然,如果你还想跟他们彻底拉开,甩他们几个身位,把别人打到底层,下面的这些“技巧”你要多多了解一下。 在信息获取上,你要不断地向大众鼓吹下面的这些事: 让大家都用百度搜索引擎查找信息,订阅微信公众号或是到知乎上学习知识……要做到这一步,你就需要把“百度一下”挂在嘴边,然后要经常在群或…

Read More Read More

如何写出无法维护的代码

如何写出无法维护的代码

閱讀本文約花費: 17 (分鐘) 酷壳里有很多我觉得很不错的文章,但是访问量最大的却是那篇《6个变态的Hello World》,和它能在本站右边栏“全站热门”中出现的还有“如何加密源代码”,以及编程真难啊等这样的文章。可见本站的读者们的偏好,我也相信你们都是“身怀绝技”的程序员。所以,今天给大家推荐这篇文章,相信一定能触动大家的兴奋点。 这篇文章的原文在这里(http://mindprod.com/jgloss/unmain.html),我看完后我想说—— 什么叫“创造力”,创造力就是——就算是要干一件烂事都能干得那么漂亮那么有创意的能力。什么叫“抓狂”,抓狂就是——以一种沉着老练的不屈不挠的一本正经的精神一点一点把你推向崩溃的边缘。 我把文章节选了一些,也并没有完全翻译,简译一下,也加入了一些自己的调侃。对于有下面这些编程习惯的朋友,请大家对号入座。另外,维护程序的朋友们,你们死定了!! If builders built buildings the way programmers write programs, then the first woodpecker that came along would destroy civilization. (如果建筑师盖房子就像程序员写程序一样,那么,第一只到来的啄木鸟就能毁掉我们的文明)~ Gerald Weinberg&…

Read More Read More

安永合伙人SM事件

安永合伙人SM事件

閱讀本文約花費: 10 (分鐘) 鲍毓明事件还没完全过去,新的大瓜又要袭来。 在校生,特别是要毕业的在校生,因为实习或者工作的需要,往往思想单纯,对工作多年的老油条缺乏抵御能力,容易受到欺骗。 经粉丝实名爆料,安永合伙人刘烨疑似装单身欺骗在校毕业生,以工作之名哄骗女性与之发展不正当关系。 我们来看一下举报信全文内容: 安永海南分所合伙人刘烨品德败坏,思想肮脏,私生活混乱,长期出轨,装单身骗人,以工作之名哄骗女性与之发展不正当关系。 去年上半年,我与刘烨相识,简单交流之后他表示很喜欢我要跟我进一步发展。当时我在北京找到了工作,但是刘烨让我别去。他告诉我第一份工作对人生成长很重要,让我不要着急,我毕业后由他给我提供工作,他是我男朋友所以理应照顾我。出于对他的崇拜,我信了他的话。起初刘烨对我一直很好,后来刘烨多次要求我去跟他开房,去伺候他。 到六月毕业前夕,刘烨单方面失联了。我找到刘烨要求他信守承诺给我找工作。刘烨否认自己的许诺并威胁恐吓问我,让我别惹他。我还在学校的那两个月,刘烨让我在学校学习英语,他每天监督我学习。后来刘烨说工作别想了但是可以给我钱,后我们商量精神损失费3万,刘烨拿着我们的通话录音告我敲诈勒索,矢口否认是他主动要给我钱的事实。后我联系刘烨说,钱我也不要了撤案两清。刘烨硬说自己受到伤害了,让我给他道歉,并对我叫嚣“你去举报吧。” 刘烨骗我去派出所,告我敲诈勒索。 刘烨此…

Read More Read More

AWS Solution Architecture Associate 认证攻略

AWS Solution Architecture Associate 认证攻略

閱讀本文約花費: 55 (分鐘) AWS认证介绍 AWS Certified Solutions Architect 系列认证是亚马逊从2013年开始推出的对云计算架构师能力的官方认证。考试不仅考察应试者对AWS相关云服务的熟悉程度,题目也多来源于实际中要解决的问题,要求应试者有全面的架构设计经验和积累,所以含金量很高。在美国招聘网站glassdoor上,AWS solution architect的身价平均在10万美金以上,可见业界对这个认证的认可程度。 它在国内的认可程度如何呢?根据我和考试认证中心的工作人员聊天打听到,国内来考试的分两类人,一类是工作单位和亚马逊有合作关系,单位出钱要求通过。另一类是云计算这个行业的早起的鸟儿,他们想充实自己的职业技能,在云计算这个浪潮中能有一席之地。所以相对来说了解和报考的人还是少数。 不过想顺利通过这个考试并不容易。一方面考试全程英文阅读量大。另一方面复习资料缺乏,只能通过官方的FAQ文档和白皮书进行学习,自学效率非常低。对于初次接触AWS云服务认证的同学来说,不花2,3个月的时间认证准备,是很难通过的。就算作者身边那些有2,3年AWS云服务使用经验的架构师,想裸考通过,成功率也几乎为零。所以,打算通过这个考试,一定要认真对待,规划好时间充分准备。 关于AWS认证考试更多的介绍,大家还可以参考网上刘涛同学的文章http://www.csdn…

Read More Read More

方方的成名之路最应该感谢政府

方方的成名之路最应该感谢政府

閱讀本文約花費: 9 (分鐘) 文|沉雁 昨天一位读者朋友私信我说,“方方被骂得那么惨,沉雁你还是该发文帮方方说说话”。我当时确实没看见骂方方的文章,我就回答了一句“在哪骂”。结果,这位读友就很不高兴了,给我回了一段有点生气的话,他认为我是装没看见。 之所以这位读友很不高兴我的没看见,根本原因是她太爱方方了,她不忍心方方被骂。我相信,像他一样爱方方爱到这般如痴如狂的状态,不是千万,而是亿万。莫名其妙,我内心深处升腾起一种说不清楚的嫉妒感。做作家能做到方方这程度,前无古人后无来者。我总觉得,方方不应该有这么冲天香阵透全球的名气,但事实不以我的意志为转移,方方现在的名气就有“我花开后百花杀”的破竹之势。 委实说,我除了看过方方几篇封城日记,我就没看她其它任何一部作品。再实话实说,我对她的封城日记没有特别的感觉,因为太没火药味了,根本不符合我们时评人的胃口。所以,我才写了那篇《我不同意方方的某些主张》。她宅心仁厚劝蔡丽之流自己辞职谢罪,我绝不同意,我坚决主张蔡丽之流应该剖腹或凌迟才算谢罪。 尽管后来我写了一篇10W加的《方方,这季暖阳下最亮的一抹芬芳》,但那不是源自我本能的冲动,而是因为什么呢?而是因为我看赞美方方的文章浩如烟海,但几乎都没把方方赞到点子上。为了显摆我看问题的穿透力,所以我才热情澎湃写了那篇10W加。 之所以我有点嫉妒方方,我始终认为,她有今天之大名,绝不仅仅是因为她文章…

Read More Read More

面试官:你知道java类是怎么跑起来的吗?问的我一脸懵

面试官:你知道java类是怎么跑起来的吗?问的我一脸懵

閱讀本文約花費: 15 (分鐘) 类从加载虚拟机内存中开始到卸载出内存为止,生命周期包括:加载、验证、准备、解析、初始化、使用、卸载。 加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序进行,而解析阶段则不一定,它在某些情况下可能在初始化阶段后在开始,因为java支持运行时绑定。 加载阶段 通过一个类的全限定名来获取定义此类的二进制字节流(没有指明二进制字节流要从一个Class文件中获取,可以从ZIP包中读取,从网络中获取,运行时计算生成等等) 然后,将这个字节流所代表的静态储存结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。 该Class对象作为方法区这个类的各种数据的访问入口完成后,虚拟机外部的二进制字节流就按照虚拟机所需格式储存在方法区中。 这里稍微理解一下对象和类的概念,对象是实例化的类。类的信息是存储在方法区中的,对象是存储在Java堆中的。类是对象的模板,对象是类的实例。 类的加载由类加载器完成,类加载器通常由JVM提供,这些类加载器也是前面所有程序运行的基础,JVM提供的这些类加载器通常被称为系统类加载器。除此之外,开发者可以通过继承ClassLoader基类来创建自己的类加载器。 其实加载阶段用一句…

Read More Read More