
各种理论
文章平均质量分 81
a1405
这个作者很懒,什么都没留下…
展开
-
聊聊 8种 架构模式
这个问题我问过的面试者不下于数十次,回答五花八门,在我看来,模式就是经验,设计模式就是设计经验,有了这些经验,我们就能在特定情况下使用特定的设计、组合设计,这样可以大大节省我们的设计时间,提高工作效率。作为一个工作10年以上的老码农,经历的系统架构设计也算不少,接下来,我会把工作中用到的一些架构方面的设计模式分享给大家,望大家少走弯路。总体而言,共有八种,分别是:单库单应用模式:最简单的,可能大家都见过内容分发模式:目前用的比较多查询分离模式:对于大并发的查询、业务。转载 2022-10-02 13:03:16 · 717 阅读 · 0 评论 -
常见代码重构技巧(非常实用)
为什么要重构项目在不断演进过程中,代码不停地在堆砌。如果没有人为代码的质量负责,代码总是会往越来越混乱的方向演进。当混乱到一定程度之后,量变引起质变,项目的维护成本已经高过重新开发一套新代码的成本,想要再去重构,已经没有人能做到了。造成这样的原因往往有以下几点: 编码之前缺乏有效的设计 成本上的考虑,在原功能堆砌式编程 缺乏有效代码质量监督机制 对于此类问题,业界已有有很好的解决思路:通过持续不断的重构将代码中的“坏味道”清除掉。什么是重构重构一书的作者Ma转载 2022-05-12 15:03:47 · 2050 阅读 · 0 评论 -
一张图看懂微服务架构路线
- 我为什么选择微服务架构 -众所周知,单体应用程序,由于其种种不足,几乎不支持敏捷方法。如果你想为一个大型或复杂的业务创建一个软件项目,最好从微服务架构开始。微服务架构是一种灵活的架构,可以显著性地提高应用程序灵活性、可扩展性等。- 微服务架构路线 -据我了解很多开发者,想知道他们应该如何开始微服务架构旅程,虽然有成千上万的资源可以使用,但是资源到处分散。我决定通过为微服务架构学习定义路线图,使这段旅程更加清晰。- 基本思路 ...转载 2022-01-11 11:02:17 · 222 阅读 · 0 评论 -
中间件到底是什么东西?
大师等于啥也没说,张大胖还是一头雾水张大胖还是不明白张大胖窥到了一点儿门径,他赶紧让大师举个例子。大师解释到,中间件这个概念,起源于上世纪90年代末,2000年初。当时IT界刮起了一股J2EE的旋风,旋涡的中心就是一个叫做“应用服务器”的中间件。应用服务器的核心就是EJB。当时很多企业都有信息化的需求,而Java天生适合服务器端编程,在实现复杂业务上非常有优势,跨平台,开发起来比C++快得多,于是迅速就流行开了。当然,...转载 2022-01-11 09:53:08 · 157 阅读 · 0 评论 -
5种用户密码加密方式,哪种最安全?
作为互联网公司的信息安全从业人员经常要处理撞库扫号事件(撞库是黑客无聊的“恶作剧”,黑客通过收集互联网已泄露的用户+密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登陆的用户),产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。以京东之前的撞库举例,首先京东的数据库并没有泄漏。黑客只不过通过“撞库”的手法,“凑巧”获取到了一些京东用户的数据(用户名密码),而这样的手法,几乎可以对付任何网站登录系统,用户在不同网转载 2021-01-19 11:17:20 · 28284 阅读 · 0 评论 -
外行都能看懂,漫画解读“中台”
没有中台的时代在传统 IT 企业,项目的物理结构是什么样的呢?无论项目内部如何复杂,都可分为“前台”和“后台”这两部分。什么是前台?首先,这里所说的“前台”和“前端”并不是一回事。所谓前台即包括各种和用户直接交互的界面,比如 Web 页面,手机 App;也包括服务端各种实时响应用户请求的业务逻辑,比如商品查询、订单系统等等。什么是后台?后台并不直接面向...转载 2020-01-12 13:51:40 · 792 阅读 · 0 评论 -
从MVC到前后端分离(附完整Demo)
一. MVC 概述1. 理解 MVCMVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器。其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(Plain Ordinary Java Object)来表示,其本质是一个普通的java Bean,包含一系列的成员变量及其getter/setter方法。对于视图而言,...转载 2019-08-01 17:46:01 · 883 阅读 · 0 评论 -
史上最深(sàng)入(xīn)浅(bìng)出(kuáng)的IT术语解读
假设你是个妹子,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人。你随时可以甩了现任男友,另外一位马上就能补上。这是冷备份。假设你是个妹子,同时和两位男性在交往,两位都是你男朋友。并且他们还互不干涉,独立运行。这就是双机热备份。假设你是个妹子,不安于男朋友给你的安全感。在遥远的男友未知的地方,和一位男生保持着联系,你告诉他你没有男朋友,你现在处于纠结期,一...转载 2019-06-04 10:05:13 · 204 阅读 · 0 评论 -
如何从0到1设计业务系统
本文以一个案例,向读者逐步揭示一套业务系统从 0 到 1 的设计过程。重点讲述架构、模型等业务系统最本质的设计精要。业务系统设计概述什么是业务系统互联网公司常常将产品方向分为两类,C 端和 B 端,C 端主要是面向客户和消费者的系统,B 端的范围则相对模糊,给供应商或商家使用的系统,给内部业务人员使用的系统,都统称为 B 端系统。C 端和 B 端系统建设的出发点和侧重点完全不同。C 端...转载 2019-06-06 16:25:27 · 586 阅读 · 0 评论 -
漫话:如何给女朋友解释系统高可用?
晚上下班后,女朋友回到家里面和我说,发现淘宝无法访问的十几分钟后又可以了。系统可用性系统的可用性,英文名字为 System Usability,即系统服务不中断运行时间占实际运行时间的比例。所以,可用性其实是一个百分比,如 99.9%。我们通常会听说一个词:高可用,其实指的就是高可用性。高可用指的就是系统服务不中断运行时间占实际运行时间的占比更大。要了解可用性,...转载 2019-05-26 17:13:18 · 180 阅读 · 0 评论 -
JavaWeb项目技术架构总结
初始搭建开始的开始,就是各种框架一搭,然后扔到Tomcat容器中跑就是了,这时候我们的文件,数据库,应用都在一个服务器上。服务分离随着系统的的上线,用户量也会逐步上升,很明显一台服务器已经满足不了系统的负载,这时候,我们就要在服务器还没有超载的时候,提前做好准备。由于我们是单体架构,优化架构在短时间内是不现实的,增加机器是一个不错的选择。这时候,我们可能要把应用和数据库服务单独...转载 2019-05-25 17:02:36 · 9588 阅读 · 0 评论