Jackyfei
摘要:距离写作《软件开发模式:瀑布与敏捷》已经1年了,在新公司又带了1年新团队,中间陆续有看了一些软件工程的文章,是时候写点总结性的东西了。 我们知道要构建高质量软件,就要解决软件过程中的混乱,将软件开发过程中的沟通、计划、建模、构建和部署等活动有效地组织起来。 而软件过程,就是在软件项目的生命周期内,也 阅读全文
posted @ 2020-05-19 09:15 张飞洪[厦门] 阅读(1811) 评论(27) 推荐(13) 编辑
摘要:目前公司系统多个应用分层结构各不相同,给运维和未来的开发带来了巨大的成本,分层架构看似很简单,但保证整个研发中心都使用统一的分层架构就不容易了。 那么如何保证整个研发中心都使用统一的分层架构,以达到提高编写代码效率、保证工程统一性的目的? 这里给出个人的规划设计,希望对你有所启发。 1.分层目标 简 阅读全文
posted @ 2020-01-07 08:42 张飞洪[厦门] 阅读(5679) 评论(42) 推荐(44) 编辑
摘要:很多做软件开发同学的梦想都是成为一名架构师,而架构师的核心工作就是做好软件设计。软件设计是软件开发过程中的一个重要环节,那么如何进行软件设计,其输出标准又是什么呢?软件设计过程中,如何和各个相关方沟通,使软件设计能同时满足用户的功能需求和非功能需求,并降低公司的开发成本? 前期思考 很多软件开发同学 阅读全文
posted @ 2019-12-25 08:51 张飞洪[厦门] 阅读(4638) 评论(39) 推荐(29) 编辑
摘要:2019 中国.NET 开发者峰会目前在国内的.NET社区还是很有影响力的,宣传的内容也都是比较新潮和前言的技术栈。 有一个不争的现实是基本上主题都是关于.NET Core的,以及基于该主题之上的延展。比如ML.NET相关的机器学习;基于.NET Core的微服务实战;传统转型.NET Core的实 阅读全文
posted @ 2019-12-20 10:05 张飞洪[厦门] 阅读(6214) 评论(54) 推荐(35) 编辑
摘要:orm 阅读全文
posted @ 2019-05-24 08:47 张飞洪[厦门] 阅读(4590) 评论(109) 推荐(13) 编辑
摘要:我们知道微服务是一种理念,没有确切的定义和边界,好比设计原则,是属于抽象的概念。在定义不明确的情况下谈划分也是一种各说各话,具体问题需要具体分析,所以这篇文章谈到的划分也不是绝对标准,仅供参考。 有人说微幅不难,难的是服务的划分,虽然我持保留意见。但是从侧面也反应了划分具有一定的困难。这里的矛盾在于 阅读全文
posted @ 2019-05-14 08:37 张飞洪[厦门] 阅读(6220) 评论(10) 推荐(20) 编辑
摘要:老A说的一句话让我很受启发,想要深入了解框架,你要把精力聚焦在架构设计的层面来思考问题。而透彻了解底层原理,最好的笨办法就是根据原理对框架核心进行重建或者说再造。看起来没有捷径,也是最快的捷径。 题外话 题外话 相信很多读者已经看过老A写的这篇文章《200行代码,7个对象——让你了解ASP.NET 阅读全文
posted @ 2019-05-10 09:45 张飞洪[厦门] 阅读(9452) 评论(29) 推荐(38) 编辑
摘要:.NET架构师招聘不如JAVA那么顺利,可以搜索到的.NET架构师可以说是凤毛菱角。当然好的架构师都是需要长期观察和挖角才能得手,如何去招聘到合适的.NET架构师可能是摆在所有求贤者面前的难题。这里的难分两方面,一个是数量少,二个是考核点难。那么到底.NET架构师需要具备哪些必备的技能和素质呢?这里 阅读全文
posted @ 2019-02-20 09:58 张飞洪[厦门] 阅读(7567) 评论(93) 推荐(54) 编辑
摘要:面对微服务如火如荼的发展,很多人都在了解,学习希望能在自己的项目中帮得上忙,当你对微服务的庐山真面目有所了解后,接下来就是说服自己了,到底如何评估微服务,什么时候使用微服务,什么时间点最合适,需要哪些技术储备和资源投入等等,这些都是你需要面对和解决的。 本文从单体架构,微服务架构,微服务风险评估,微 阅读全文
posted @ 2018-12-13 08:46 张飞洪[厦门] 阅读(2668) 评论(9) 推荐(10) 编辑
摘要:瀑布和敏捷不是什么新概念,这里只是个人在团队合作中不得不去思考而做的归纳和总结,同时记录自己曾经踩过的坑,新瓶装旧酒,希望对你有所启发。 瀑布和敏捷不是什么新概念,这里只是个人在团队合作中不得不去思考而做的归纳和总结,同时记录自己曾经踩过的坑,新瓶装旧酒,希望对你有所启发。 瀑布模式 瀑布模型是比较 阅读全文
posted @ 2018-12-07 08:49 张飞洪[厦门] 阅读(6174) 评论(0) 推荐(3) 编辑
摘要:希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注。 如何学习 学习是一个人的核心竞争力,终生持续学习是别人离不开你的秘诀,如果能分享和教会别人,你的收获可能是双边甚至更多。就技术领域的学习,我还是一个在海边玩耍的小孩, 阅读全文
posted @ 2018-11-27 08:45 张飞洪[厦门] 阅读(3495) 评论(3) 推荐(9) 编辑
摘要:经常听到园里.NET开发人员在抱怨生态不如JAVA,想要转JAVA,所谓打不过你,我就加入你!杜兰特的思维方式固然是获取总冠军的一种方式,但是我们要关起门来问自己有没有杜兰特的实力。 用开发生态来类比NBA不是特别恰当,因为NBA只有一个总冠军,但是开发生态一枝独放不是春,百花齐放春满园。我个人觉得 阅读全文
posted @ 2018-11-21 09:16 张飞洪[厦门] 阅读(17772) 评论(121) 推荐(45) 编辑
摘要:创业团队如何招聘到合适的程序员是每个招聘主管的头等大事。 我所在的团队只有10来号人,随着业务发展,目前正在积极扩建,所以前前后后面试了有1年的时间。 其中有成功的,也有很失败的,有干一年就跑掉的,最短三天就走人,让人无比郁闷,如何才能找到满意的人员,如何能得到性价比高的程序员,可能是创业当中的你绕 阅读全文
posted @ 2018-03-13 17:07 张飞洪[厦门] 阅读(3617) 评论(42) 推荐(13) 编辑
摘要:参考资料: 《互联网大厂如何玩转代码评审》 梁松华 京东高级开发工程师 《学习Facebook真正发挥代码审查的提效作用》 葛俊 前Facebook内部工具团队Tech Lead 《代码审查哪种方式更适合我的团队》 葛俊 前Facebook内部工具团队Tech Lead 《聊一聊代码审查》熊燚(四火 阅读全文
posted @ 2020-07-15 08:30 张飞洪[厦门] 阅读(1987) 评论(8) 推荐(16) 编辑
摘要:距离写作《软件开发模式:瀑布与敏捷》已经1年了,在新公司又带了1年新团队,中间陆续有看了一些软件工程的文章,是时候写点总结性的东西了。 我们知道要构建高质量软件,就要解决软件过程中的混乱,将软件开发过程中的沟通、计划、建模、构建和部署等活动有效地组织起来。 而软件过程,就是在软件项目的生命周期内,也 阅读全文
posted @ 2020-05-19 09:15 张飞洪[厦门] 阅读(1811) 评论(27) 推荐(13) 编辑
摘要:作为一名开发者,你肯定经常听到像“我们采用了可伸缩的微服务架构”、“我们正在计划切换到微服务架构”之类的话,然后你寻思着:微服务到底是什么?近日,西达尔特·马霍特拉(Sidharth Malhotra)通过真实世界的比喻解释了什么是微服务架构,重点内容如下。 大冰激凌机——单体 冰激凌机由四个部件组 阅读全文
posted @ 2020-02-22 16:30 张飞洪[厦门] 阅读(479) 评论(2) 推荐(0) 编辑
摘要:一旦决定在开发实践中引入微服务架构,如何将积累下来的庞大的巨无霸系统润物细无声的过渡到微服务架构将是一个巨大的挑战。同程旅游微服务开发团队给出了他们的建议。 他们认为推倒重来不可取,架构师们最想通过微服务化取代的部分,往往是公司的主要盈利核心,改造难度不亚于飞行中更换引擎。从业界公开的信息来看还没有 阅读全文
posted @ 2020-02-22 15:36 张飞洪[厦门] 阅读(148) 评论(0) 推荐(1) 编辑
摘要:关于微服务架构是什么,没有一个明确的定义,每个实践者有自己的理解,但是有人给出的一个公式值得思考: 微服务架构 = 80% 的 SOA 服务架构思想 + 100% 的组件化架构思想 + 80% 的领域建模思想 不管怎样,微服务架构现在都很受欢迎,近日,一名博主 h4cd 在其博客中列举了当前最为火热 阅读全文
posted @ 2020-02-22 15:26 张飞洪[厦门] 阅读(200) 评论(0) 推荐(0) 编辑
摘要:微服务是软件架构的银弹吗?或许不是。这个世界上很少有东西是百分百正确的,微服务也不例外。最近,技术作家迈克尔·丘奇曼(Michael Churchman)发文分享了在设计或重构应用程序时,哪些场景可以使用微服务,哪些场景要避免使用微服务。以下为原文编译内容。 微服务是一个具体的软件服务,通常是基于应 阅读全文
posted @ 2020-02-22 10:47 张飞洪[厦门] 阅读(353) 评论(0) 推荐(0) 编辑
摘要:微服务是一种软件架构风格,以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。在过去 阅读全文
posted @ 2020-02-22 10:44 张飞洪[厦门] 阅读(125) 评论(0) 推荐(0) 编辑
摘要:虽然微服务概念流行已有一段时日,但任何技术都有其优缺点。看到微服务同时扮演正派和反派角色之后,ThoughtFocus 的技术架构师埃宾·约翰(Ebin John)发文建议开发者,如果你是倾向于将微服务作为默认架构的架构师或设计师,最好问自己以下几个问题。 1. 你的应用程序庞大得足以细分成微服务吗 阅读全文
posted @ 2020-02-22 10:41 张飞洪[厦门] 阅读(123) 评论(0) 推荐(0) 编辑
摘要:本文是学习颜群的《如何快速且深入的学习一门技术》的一篇记录文章,同时记录下我的一些个人感想,对方的很多观点让我很受启发,虽然自己平时对学习方法有些心得,但是真正去总结时间却很少。缺少盘点的结果就是任凭本能和生物钟状态,显然这种方法是不可持续的。为了提升个人或团队的学习效率,如何摸索一套针对技术类型的 阅读全文
posted @ 2020-02-16 13:39 张飞洪[厦门] 阅读(2046) 评论(7) 推荐(5) 编辑
摘要:云原生是当下的热点话题,但是很多人对云原生有很多误解,特别是传统产业物联网或工控、物联网行业对云原生显得"后知后觉"。与其在这里说是预测,不如说是现在进行时,只是由于传统产业本身的技术包袱和组织个人认识程度差异,目前发展并不见快。目前大部分的系统还是停留在旧年代,只是不到火候,还没到尝鲜和推倒重来的 阅读全文
posted @ 2020-01-14 11:22 张飞洪[厦门] 阅读(3144) 评论(32) 推荐(15) 编辑
摘要:如何确保一个方法,或者一块代码在高并发情况下,同一时间只能被一个线程执行,单体应用可以使用并发处理相关的 API 进行控制,但单体应用架构演变为分布式微服务架构后,跨进程的实例部署,显然就没办法通过应用层锁的机制来控制并发了。那么锁都有哪些类型,为什么要使用锁,锁的使用场景有哪些?今天我们来聊一聊高 阅读全文
posted @ 2020-01-10 08:38 张飞洪[厦门] 阅读(1421) 评论(3) 推荐(2) 编辑
摘要:前言 多年的开发积累让我一直在思考一个问题:如何能拥有一个开箱即用的框架?或者说针对不同的业务规模,能有一系列相应的框架版本,这样每次新项目上线的时候,或者业务增长变更的时候,都无需重新造轮子,我们所要做的是对号入座,即根据业务实际拿一个相应的版本过来微调即可高效上路且不翻车?做到用最少的时间,最低 阅读全文
posted @ 2020-01-07 09:01 张飞洪[厦门] 阅读(1452) 评论(3) 推荐(8) 编辑
摘要:目前公司系统多个应用分层结构各不相同,给运维和未来的开发带来了巨大的成本,分层架构看似很简单,但保证整个研发中心都使用统一的分层架构就不容易了。 那么如何保证整个研发中心都使用统一的分层架构,以达到提高编写代码效率、保证工程统一性的目的? 这里给出个人的规划设计,希望对你有所启发。 1.分层目标 简 阅读全文
posted @ 2020-01-07 08:42 张飞洪[厦门] 阅读(5679) 评论(42) 推荐(44) 编辑
摘要:记得之前在规划和设计微服务架构的时候,张队长给了我一个至今依然记忆深刻的提示:『你的设计蓝图里为什么没有看到DDD的影子呢?』 随着对充血模型的领域认知的加深,我越加感觉到DDD的重要性。于是网上一顿海找,并做了学习笔记。 DDD内容繁多,个人浅见,它不同于传统贫血的最核心的一点就是把原先传统的贫血 阅读全文
posted @ 2020-01-03 08:45 张飞洪[厦门] 阅读(2914) 评论(15) 推荐(8) 编辑
摘要:经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。 另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考我的另外一篇<ORM的权衡和抉择>。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当 阅读全文
posted @ 2019-12-31 09:23 张飞洪[厦门] 阅读(2758) 评论(7) 推荐(8) 编辑
摘要:此前,在由 ThoughtWorks 举办的领域驱动设计峰会 DDD-China 2019 上,InfoQ 记者就开发团队为何需要 DDD、目前业界实践 DDD 的挑战等问题对中兴通讯资深软件架构师张晓龙进行了采访。以下为重点内容,这里记录采访内容的学习笔记。 张晓龙认为,开发团队真的需要 DDD。 阅读全文
posted @ 2019-12-29 11:05 张飞洪[厦门] 阅读(340) 评论(0) 推荐(1) 编辑
摘要:很多做软件开发同学的梦想都是成为一名架构师,而架构师的核心工作就是做好软件设计。软件设计是软件开发过程中的一个重要环节,那么如何进行软件设计,其输出标准又是什么呢?软件设计过程中,如何和各个相关方沟通,使软件设计能同时满足用户的功能需求和非功能需求,并降低公司的开发成本? 前期思考 很多软件开发同学 阅读全文
posted @ 2019-12-25 08:51 张飞洪[厦门] 阅读(4638) 评论(39) 推荐(29) 编辑
摘要:昨天写了一篇<微服务的时间和成本去哪儿了>,有人在底下留言: 我的回答是: "微服务可以不用服务发现和负载均衡吗?它是微服务一个核心组件。怎么能说没有关系?" 我觉得有必要来思考和总结一下服务发现技术是如何演进的。于是周末一通阅读和消化,希望能掰开揉碎在这里讲一下服务发现技术的演进历史。 催生的背景 阅读全文
posted @ 2019-12-23 10:18 张飞洪[厦门] 阅读(539) 评论(0) 推荐(8) 编辑
摘要:2019 中国.NET 开发者峰会目前在国内的.NET社区还是很有影响力的,宣传的内容也都是比较新潮和前言的技术栈。 有一个不争的现实是基本上主题都是关于.NET Core的,以及基于该主题之上的延展。比如ML.NET相关的机器学习;基于.NET Core的微服务实战;传统转型.NET Core的实 阅读全文
posted @ 2019-12-20 10:05 张飞洪[厦门] 阅读(6214) 评论(54) 推荐(35) 编辑
摘要:本月的功能在踉跄中勉强上线了,这个月有实验的味道,有摸索的代价,有分工和衔接上的问题,有技术储备方面的不足,有业务梳理方面的欠缺,也有个人能力和意识上的不足,梳理整个开发流程,目前存在的几大问题: 一、代码质量问题: 描述分析 1.性能层面: 从综合维度看,代码质量好坏取决于开发人员整体的编程经验: 阅读全文
posted @ 2019-12-03 08:22 张飞洪[厦门] 阅读(562) 评论(0) 推荐(3) 编辑