架构师之路
文章平均质量分 65
Sudouble
动静结合,持之以恒!
展开
-
如何做好软件架构
期间也会涉及到和各个部门或组的人进行交流,会涉及到一些软技能。因此要把一个架构做好,需要密切的团队合作,很考验架构师的综合素质和实力。总的来说,软件架构是基于实际业务需求,无法为实际业务服务,再花哨的软件架构都无法产生任何价值。最近学习了Udemy的一个软件架构课程,在此做一个记录和分享。当需求到来,我们需要分以下几个大致步骤进行分析和拆解。原创 2024-03-23 11:53:49 · 272 阅读 · 0 评论 -
简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别
POSIX同步IO、异步IO、阻塞IO、非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下。POSIX(可移植操作系统接口)把同步IO操作定义为导致进程阻塞直到IO完成的操作,反之则是异步IO按POSIX的描述似乎把同步和阻塞划等号,异步和非阻塞划等号,但是为什么有的人说同步IO不等于阻塞IO呢?先来说说几种常见的IO模型吧。IO模型这里统一使用Linux下的系统调用recv作为例转载 2022-03-27 23:13:17 · 570 阅读 · 0 评论 -
高性能网络编程(引自即时通讯网)
我的见解:对于高性能软件,一直认为只要在应用端做足够的性能优化就可以了。这两天看了下面的一系列文章,极大的开阔了视野。将可能的性能瓶颈,从用户态程序转移至内核态程序。固然操作系统对硬件设备做了一层处理,极大的方便了用户进行调用。但在有的场景下,这一层处理速度是否足够,其实也是要打一层问号。如果真的碰到了性能瓶颈,用户态程序、内核态程序都有很大的优化空间,要对其进行综合优化,涉及到大量知识,如操作系统设计(线程、进程、线程切换、阻塞IO、非阻塞IO、同步调用、异步调用)、应用程序开发等。如下图,从最基原创 2021-12-16 23:25:39 · 466 阅读 · 0 评论 -
架构漫谈(九):理清技术、业务和架构的关系 + 我的思考
我的思考:架构师接触的工作内容,已不仅仅是技术的范畴,更需要协调好人与人之间的合作关系。技术仅仅是用于解决问题的一种方式,问题具体是如何解决的,是非技术人员所不关心的,他们关心更多的是能不能以更低成本,来处理好当前的问题。因而在解决问题的时候,更需去关注问题的本质,相似的问题完全可以借用类似的案例。谨记:技术得以进步的一大动力是因为可以更高效的解决问题,本质的驱动力是成本和利益的述求。转自In...转载 2019-01-28 22:16:16 · 798 阅读 · 0 评论 -
架构漫谈(七):不要空设架构师这个职位,给他实权 + 我的思考
我的总结:在做好本职工作的同时,仔细观察和推敲事物背后的其他关系,及其相互之间的影响。就如架构师,光让下面的人执行流程肯定不行,得真正让他们从心底里认可这个事情。这里有太多的内容值得去推敲,技术方面的、管理方面的(这和项目经理完全一样啊不是?)。结合前面的文章,架构师的主要目的,是以长期下的低成本,换来高效率。本文是漫谈架构专栏的第七篇,作者 Kevin 探讨了什么是架构师、成为架构师的前...原创 2019-01-15 23:18:43 · 9094 阅读 · 2 评论 -
架构漫谈(八):从架构的角度看如何写好代码 + 我的思考
我的总结:当先前对于利益相关者的关系理清了,系统基本架构和测试方法等也有了,进入实际Coding阶段。在Coding前,需要我们考虑好业务功能的分配,关注于功能会频繁变更的部分,为未来的维护和扩展打下良好基础。诚然,这确实是一个基础,限于当时的资源、环境等约束,难以将所有问题一步到位的解决,还待于后期的功能修复和完善。 功能模块、功能模块,以期达到松耦合、高弹性的效果,便于后期维护和新功能的部署。...原创 2019-01-23 23:19:24 · 10901 阅读 · 0 评论 -
架构漫谈(六):软件架构到底是要解决什么问题? +个人思考
概括:结合上文(漫谈六),为满足业务方在利益方面的诉求,将业务在计算机上虚拟化(软件化),软件工程师开始对业务进行建模和实现,这是一个顺序过程。软件方面,随着这个过程愈发复杂,需要不同人参与到不同部分,进行职能的细分和并行开发,达到效率的最大化。随着日后处理量的上升,对软件架构和硬件性能有着更高的要求,需要对软件运行单元进行划分,并在其他硬件进行部署。总的来说:业务方为降低运营成本将业务软件化...原创 2018-12-19 22:00:52 · 372 阅读 · 0 评论 -
架构漫谈(五):什么是软件
概括的说:软件的作用在于模拟人的行为,其价值在于可以进一步的降低成本、提高效率。而因为软件开发的愈发复杂,随着而出现了分工,形成的一个新的利益组织架构。架构漫谈是由资深架构师王概凯 Kevin 执笔的系列专栏,专栏将会以 Kevin 的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。本文是漫谈架构专栏的第五篇,作者将会从自己的认知角度再次反思什么是软...转载 2018-12-06 22:54:09 · 329 阅读 · 0 评论 -
架构漫谈(四):如何做好架构之架构切分
几句话的概括:明白了问题的主体、情况后,对问题的解决方法进行分割,使之符合时间、空间、利益等方面的需求,形成一个方案,较为顺利的去解决这个问题。架构漫谈是由资深架构师王概凯 Kevin 执笔的系列专栏,专栏将会以 Kevin 的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。本文是漫谈架构专栏的第四篇,作者将会介绍架构的切分,并直戳切分的本质其实就是...转载 2018-12-06 22:48:14 · 266 阅读 · 0 评论 -
架构漫谈(三):如何做好架构之识别问题
概括来说就是,理解他人问题的主体,并分步化解、解决问题。按照之前架构的定义,做好架构首先需要做的就是识别出需要解决的问题。一般来说,如果把真正的问题找到,那么问题就已经解决了 80% 了。这个能力基本上就决定了架构师的水平。那么面对问题有哪些困难呢?我们先看一则笑话。女主人公:老公,把袋子里的土豆切一半下锅。结果老公是把袋子里的每个土豆都削了一半,然后下锅。当然很多人会说,这个是沟...转载 2018-11-27 22:54:37 · 258 阅读 · 0 评论 -
架构漫谈(二):认识概念是理解架构的基础
杯子只是为解决一个问题的具象化物体。返璞归真,认清事物后面的问题本质——为更好解决问题打下基础。架构漫谈是由资深架构师王概凯 Kevin 执笔的系列专栏,专栏将会以 Kevin 的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。专栏的目的是希望能抛出一些观点,并引发大家思考,如果你有感触或者新的感悟,欢迎联系专栏负责人 Gary(微信 greenguol...转载 2018-11-14 23:12:01 · 282 阅读 · 0 评论 -
架构漫谈(一):什么是架构?
架构定义:分工合作,效率最大化,自发而成的一个结构。作者:王概凯2016 年 2 月 17 日话题:架构语言 & 开发架构漫谈是由资深架构师王概凯 Kevin 执笔的系列专栏,专栏将会以 Kevin 的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。专栏的目的是希望能抛出一些观点,并引发大家思考,如果你有感触或者新的感悟,欢迎联系专栏...转载 2018-11-13 23:16:53 · 199 阅读 · 0 评论