随笔分类 -  专业技能

摘要:年前我们一起聊了 程序员为什么要懂架构、架构是什么 和 架构都有哪些类型 这三个话题,今天我们来看看架构师是怎样开展工作的,他/她需要对接上下游哪些角色,以什么作为工作输入,最终要对外输出什么产物。这些内容既有助于我们跟架构岗同事更好的协作,也可以作为是否往架构转型的参考,接下来我们一起揭开架构师的神秘面纱吧! 阅读全文
posted @ 2020-01-02 08:46 IT老兵哥 阅读(6228) 评论(4) 推荐(2) 编辑
摘要:昨天我们聊了 架构是什么 ?今天我们来看看架构的前世今生。客户端-服务器(C/S)、浏览器-服务器(B/S)、面向服务架构(SOA)、微服务(Microservice)、无服务器(Serverless)、函数计算(FaaS)等,我们都听说过不少架构相关的名词,但它们之间究竟是什么关系,哪种架构更好?或许你跟我一样有类似的困惑,接下来我们一起来梳理一下。 阅读全文
posted @ 2019-12-31 08:56 IT老兵哥 阅读(2633) 评论(2) 推荐(2) 编辑
摘要:架构师,老兵哥刚参加工作那些年业界还没有这个职位,那时候跟技术相关的岗位就是开发工程师、测试工程师和系统工程师,后来随着软件规模不断增长而产生的,尤其是在互联网浪潮下用户数和访问量都是海量化的。在各种机缘巧合下,老兵哥结合个人喜好选择了走架构师路径,从懵懵懂懂边做边学,到现在总算摸出了些门道,回顾这个过程还是有很多经验可以分享的,接下来我准备把这些内容梳理后分享出来,给需要的小伙伴参考。今天我们先来看看什么是软件架构?它对软件研发来说有什么独特的价值? 阅读全文
posted @ 2019-12-30 12:12 IT老兵哥 阅读(5591) 评论(2) 推荐(7) 编辑
摘要:性能调优,是从开发岗跃迁至架构岗的拦路虎。升级思维的过程是痛苦的,尤其是在背负压力下的被动升级,跳出原先的舒适区,进入更大的舒适区,这样才能站上新平面。记得当时老兵哥我还有不少负面情绪,回顾过往才懂得要感谢当时的领导给我这份压力,逼迫我高强度学习并突破了旧的思维,机会和挑战是并存的。 阅读全文
posted @ 2019-12-27 09:47 IT老兵哥 阅读(1580) 评论(2) 推荐(2) 编辑
摘要:微服务改造是一个长期过程,这个过程会遇到各式各样的问题,方法论可以帮助我们更好地解决这些问题,并且降低风险。紧接昨天的上篇《如何把单体式应用拆解成微服务?【上】》,今天我们一起来看看具体的拆解场景。 阅读全文
posted @ 2019-12-26 08:32 IT老兵哥 阅读(2022) 评论(0) 推荐(2) 编辑
摘要:微服务是当下最流行的应用架构技术了,它跟容器服务、DevOps合称云时代的三剑客,可以帮我们化解业务发展过快导致的产品迭代压力,让我们可以自由选择最适合团队的技术栈,让系统能够承载互联网海量用户的访问,让我们可以更加轻松地运维大型的互联网系统。近些年在厂商、社区和用户等各方努力推动下,微服务相关的理论和产品都日趋成熟,不同语言的微服务开发及治理套件(例如:Spring Cloud/Dubbo等)让我们从零开始搭建微服务变得非常简单快捷,那我们是否就此可以全面进入微服务时代呢? 阅读全文
posted @ 2019-12-25 11:34 IT老兵哥 阅读(2786) 评论(2) 推荐(7) 编辑
摘要:WEB API的应用场景非常丰富,例如:将已有系统的功能或数据开放给合作伙伴或生态圈;对外发布可嵌入到其他网页的微件;构建前后端分离的WEB应用;开发跨不同终端的移动应用;集成公司内部不同系统等等。在上述场景里,你可能是WEB API的使用者,也可能是设计者,但你知道如何评判WEB API的优劣吗? 阅读全文
posted @ 2019-12-24 09:22 IT老兵哥 阅读(5871) 评论(21) 推荐(21) 编辑
摘要:如今大部分软件产品都通过互联网向用户提供服务了,在线文档才是最高效的客户服务通道,我们熟知的那些开源软件都配有高质量的在线文档。好文档是优秀产品的标配,它不仅可以帮你带来更多的用户,而且还可以帮你服务更多的用户。作为互联网程序员的你,要是不懂如何写一份好的技术文档,都不好意思跟人打招呼,更别想做出好的产品。 阅读全文
posted @ 2019-12-23 10:34 IT老兵哥 阅读(2328) 评论(0) 推荐(2) 编辑
摘要:本文主要是对 Spring 的核心技术和产品理念做了梳理,可以作为学习 Spring 的索引参考,最好的学习资料就是官方的帮助文档。这些知识点对于深入掌握 Spring 是非常有必要的,平时工作中老兵哥经常要帮同事分析定位技术问题,在它们的帮助下分析定位问题会更加游刃有余。同时,产品设计理念和运营策略对于老兵哥推广微服务框架也非常有借鉴意义,如何从零开始去推广一套应用开发框架,读者朋友们也可以考虑将这些策略运用在其他产品上。考虑到我们每个人的工作学习情况不同,平时遇到的问题也不同,本文内容无法覆盖所有人遇到的问题,欢迎大家留言提问,也欢迎关注「 IT老兵哥 」交流互动,谢谢! 阅读全文
posted @ 2019-12-08 13:30 IT老兵哥 阅读(634) 评论(0) 推荐(0) 编辑
摘要:IT 技术发展太快了,就像浪潮一样一波接着一波,朝你迎面扑来,稍不留神就会被巨浪卷至海底而不得翻身。我们必须要学会抓住那些不变的本质或规律,只有这样才能屹立潮头而不倒,乘风破浪,做这个巨变时代的弄潮儿! 阅读全文
posted @ 2019-12-08 13:22 IT老兵哥 阅读(981) 评论(0) 推荐(0) 编辑
摘要:Spring 家族变得越来越庞大,包括 Spring Framework、Spring Boot、Spring Cloud 等,如果我们对它没有一个全局的认知,那我们很容易迷失在技术细节当中,也用不好这款产品。本文是作者参与公司微服务框架研发过程中积累的经验认知,可以作为 Spring Cloud 知识体系的索引,后续可以根据它深入学习某个特性。 阅读全文
posted @ 2019-12-05 10:41 IT老兵哥 阅读(861) 评论(0) 推荐(0) 编辑
摘要:从 2004 年发布 1.0 版本开始,Spring 目前已经演进至 5.x 版本了,为不同时期的应用开发提供了强有力的支撑。现在我们正面对微服务、DevOps、云计算这些新的挑战,Spring 家族的新生力量 Spring Cloud 又将给我们提供哪些方面的支撑呢? 阅读全文
posted @ 2019-12-05 10:38 IT老兵哥 阅读(895) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud,它将帮我们填平横跨在应用开发与微服务、DevOps、云计算之间的沟壑,让我们轻松拥抱云上微服务,但你知道它是如何做到的吗?你对它有全面的了解吗?你知道如何正确使用它吗?新概念新技术层出不穷,让人云里雾里,你是否想拨开云雾对它们有更清晰的认知? 阅读全文
posted @ 2019-12-05 10:34 IT老兵哥 阅读(1536) 评论(0) 推荐(0) 编辑
摘要:本文主要价值是帮助大家梳理出端到端的全流程框架,也就是我们常说的全局视角或者上帝视角。有了这个框架之后,我们可以根据自己的需要按图索骥找相关节点的资料来研究学习,不至于陷入细节找不到方向。当然,考虑到我们每个人的工作学习情况不同,平时遇到的问题也不同,本文内容无法覆盖所有人遇到的问题,欢迎大家留言提问,也欢迎关注我的微信公众号“IT老兵哥”交流互动,我会尽力尽快解答大家提出的问题,谢谢! 阅读全文
posted @ 2019-11-30 17:42 IT老兵哥 阅读(1782) 评论(0) 推荐(0) 编辑
摘要:在穿越了 Web 容器和 Web 应用之后,HTTP 请求将被投送到 Spring 框架,我们继续剖析后续流程。Web 应用与 Spring MVC 的衔接是通过配置文件 mvc-servlet.xml 完成的,我们通过这份配置文件定义构成 Spring MVC 的各种核心组件和初始化配置,其中包括:控制器 Controller、视图解析器 ViewResolver、视图 View 等等。不同组件分别承担不同的功能,在介绍 Spring 框架处理 HTTP 请求流程之前,我们照例先了解一下这些核心组件。 阅读全文
posted @ 2019-11-30 17:37 IT老兵哥 阅读(1913) 评论(2) 推荐(0) 编辑
摘要:在穿越了 Web 容器之后,HTTP 请求将被投送到 Web 应用,我们继续以 Tomcat 为例剖析后续流程。Web 容器与 Web 应用的衔接是通过配置文件 web.xml 完成的。web.xml 是遵循 Java Servlet 标准规范的配置文件,我们通过这份配置文件定义构成 Web 应用的各种核心组件和初始化配置,其中包括:过滤器 Filter、监听器 Listener、伺服器 Servlet 等等。不同组件分别承担不同的功能,在介绍 Web 应用处理 HTTP 请求流程之前,我们照例先来了解一下这些核心组件。 阅读全文
posted @ 2019-11-30 17:28 IT老兵哥 阅读(2388) 评论(0) 推荐(1) 编辑
摘要:Web 容器以进程的方式在计算机上运行,我们知道进程是系统资源分配的最小单元,线程是系统任务执行的最小单元。从这个角度看,Web 容器就像是邮包收件人所居住的楼宇或小区,HTTP 这套物流快递体系只能将邮包投递到楼宇前台或者小区物业等处,而楼宇前台或小区物业并不属于物流快递体系,就像 Web 容器并不属于计算机网络基础设施一样。 之所以这样分工,原因是网络路由信息由域名服务器 DNS、路由器等设备掌握,Web 容器内部体系结构信息只有它自己知道。从 Web 容器接收到 HTTP 请求,到将其投送至特定的应用,这期间还会经历一个复杂的过程,了解这个过程对于日常开发和问题分析都会有所帮助。接下来,老兵哥我将陪着你一起来剖析这个过程。 阅读全文
posted @ 2019-11-30 17:23 IT老兵哥 阅读(3754) 评论(13) 推荐(0) 编辑
摘要:本系列文章将聚焦 Spring 处理 HTTP 请求的全流程,帮助大家了解掌握 Spring 这座摩天大楼里面的管路布线,让学习变得事半功倍,让使用变得游刃有余。 阅读全文
posted @ 2019-11-30 14:09 IT老兵哥 阅读(6091) 评论(2) 推荐(5) 编辑
摘要:从程序员到架构师的进阶过程,就像是用时间精力浇灌培植一棵树,让小树苗逐渐长成参天大树,先有主干,后有枝叶,待到枝繁叶茂就能开花结果了,也就是说等到架构师所需技能全都储备好了,那我们就有信心胜任新岗位工作了。 阅读全文
posted @ 2019-11-28 10:49 IT老兵哥 阅读(1075) 评论(0) 推荐(3) 编辑
摘要:前两天有位加了微信的小伙伴找我咨询如何提升技术能力,想起当年我也存在这方面的困惑,总觉得自己已经很努力了,但过了一阵子才发现依旧在原地踏步。对于参加工作 3 ~ 5 年的小伙伴来说,这是一个比较普遍的问题。因此,我就基于本次咨询稍作加工,剔除隐私,分享出来供大家伙参考。 阅读全文
posted @ 2019-11-25 16:51 IT老兵哥 阅读(748) 评论(2) 推荐(0) 编辑