轻量 架构 原则 三个
RTL设计的两点原则以及如何具体执行
## RTL设计的两点原则 1. 大道至简 2. 考虑物理后端的实现 ## 如何遵循原则去执行 ### 大道至简 1. 大道至简的意思是我们设计的电路,要保证功能正确性的同时,电路要尽可能简洁。 2. 大道至简的好处是,更少的资源,更低的功耗,更容易实现的高时钟频率。 3. 这就需要我们对各种微架构 ......
设计模式学习1 设计原则
# 设计原则 ## 1.开闭原则 **对扩展开放,修改关闭**。在程序需要扩展的时候,不能去修改原有代码,实现一个热插拔的效果。为了使程序的扩展性好,易于维护和升级 为了达到这样的效果,我们需要使用接口和抽象类 ## 2.里氏代换原则 **任何基类可以出现的地方,子类一定可以出现。**也就是子类继承 ......
display的三个元素
一、inline(行内元素):可以与其他行内元素共享一行,不独占一行;不可以改变元素的height和weight,大小由内容撑开;可以使用padding上下左右,margin只能使用left和right; 二、block(块级元素):独占一行,不设置宽度情况下默认填满父元素宽度;height和wid ......
分布式架构
[TOC] # 认识微服务 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署 特点:简单方便、高度耦合、扩展性差,适合小型项目。例如:学生管理系统 ![](https://img2023.cnblogs.com/blog/2688333/202309/2688333-202309021 ......
微服务架构|go-zero 的自适应熔断器
**原文链接:** [go-zero 的自适应熔断器](https://mp.weixin.qq.com/s/r1kTYUK_r-JalvhzAKKQwg) 上篇文章我们介绍了微服务的限流,详细分析了计数器限流和令牌桶限流算法,这篇文章来说说熔断。 熔断和限流还不太一样,限流是控制请求速率,只要还能 ......
多级缓存架构(5&6)
多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 造成缓存穿透的基本原因有两个: 第一, 自身业务 ......
合成复用原则及设计模式概述
#### 合成复用原则 ##### 基本介绍 尽量使用合成或聚合方式,而不是使用继承。 ##### uml类图 ![](https://img2023.cnblogs.com/blog/2883613/202309/2883613-20230901214027810-569491626.png) 此 ......
百亿级访问量,如何做缓存架构设计
文章很长,且持续更新,建议收藏起来,慢慢读![**疯狂创客圈总目录 博客园版**](https://www.cnblogs.com/crazymakercircle/p/9904544.html) 为您奉上珍贵的学习资源 : 免费赠送 :[**《尼恩Java面试宝典》**](https://www. ......
架构师必会之-DBA级问题的数据库底层设计思想
大家好,我是sulny_ann,这期想跟大家分享一下我之前在面试里面问过比较难的数据库相关的问题。 大家经常也在调侃后端好像就是技术数据库的增删改查,所以作为后端开发,你对应数据库这一块掌握的怎么样,是非常能看出你整个开发的技术能力水平。 接下来就分享 3 个我之前问到的关于数据库的 3 个问题。 ......
[读书笔记]架构设计原则
架构设计面向的是不确定性,需要面对多种可能性时进行选择。 > 选择的前提是知识和经验,知识是指有哪些技术、可用组件、实现思路等,这个决定了可选的范围。经验是对当前的业务、情形进行分析,能识别对当前的工作最有效的要素,能从选择空间里做出选择。 > > 多学习:扩大可选择的空间和范围 > 多实践、思考: ......
G6实现可向下向上扩展的自定义流程图/层级图/架构图
参考原文链接:https://www.cnblogs.com/demeter/p/16821514.html 效果: index.html:cdn引入 <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.g6-3.7.1/dist/ ......
Pygame的工程架构
用bat作为启动: start.bat 内容: cd contentpyg.exe hellsheep.py content里放素材和程序: hellsheep.py import pygame from pygame.locals import * from sys import exit fro ......
无共享架构
存储成本降低85%,携程历史库场景的降本实践 存储成本降低85%,携程历史库场景的降本实践 https://mp.weixin.qq.com/s/lL5xfmRYSqy5K4Pt-Sv5fA OceanBase OceanBase 2023-08-31 17:31 发表于江西 携程,一家中国领先的在 ......
Kafka的分布式架构与高可用性
导语 一开始我们就说过Kafka是一款开源的高吞吐、分布式的消息队列系统,那么今天我们就来说下它的分布式架构和高可用性以及双/多中心部署。 Kafka 体系架构简介 以下是 Kafka 的软件架构,整个 Kafka 体系结构由 Producer、Consumer、Broker、ZooKeeper 组 ......
软件架构师考试其实很轻松
首先这是一份记录稿,因为成绩还没出,不能算是成功经验,但的确是备考经验。 我的态度,如果你想以考促学,这将是一个非常不错的出发点,系统架构师教程它是有知识体系的,不是零散的知识点,对锻炼一个人的高层次架构思维助益颇多,当然这些只有在你认真学习过后才能体会的到。如果你仅仅是把它当作一次考试,也是值得的 ......
Single Responsibility Principle,SRP-单一职责原则
C#中的单一职责原则(Single Responsibility Principle,SRP)要求一个类应该只负责单一的职责。这意味着一个类应该只有一个引起它变化的原因。 遵循单一职责原则的好处包括: 提高代码的可维护性:一个类只负责一个职责,当需求变化时,只需要修改与该职责相关的代码,降低了变更对 ......
云桌面办公的三个优点
这几年来云桌面办公开始在企业里流行起来,在网上也有很多关于云桌面办公的一些评价的,有说它很好用的,也有说它不好用的,各种各样的评价都有,在这里我也来说说自己在使用青椒云桌面办公后的一些体验的,在切身体验后我觉得它有三个优点和两个缺点,这里就来和大家说说的,看看大家是否有和我一样的感受的。 ......
RunnerGo:轻量级、全栈式、易用性和高效性的测试工具
随着软件测试的重要性日益凸显,市场上的测试工具也日益丰富。RunnerGo作为一款基于Go语言研发的开源测试平台,以其轻量级、全栈式、易用性和高效性的特点,在测试工具市场中逐渐脱颖而出。 RunnerGo是一款轻量级的测试工具,使用Go语言研发,具有轻便灵活的特点。与JMeter等重量级测试工具相比 ......
技术科普:汽车开放系统架构AUTOSAR
01.AUTOSAR简介 汽车是现代人类实现“千里江陵一日还”的交通工具,而计算机则是使人脱离繁杂重复脑力劳动的生产技术,两者的结合催生了汽车电子产业的蓬勃发展。 21世纪初,随着汽车电子应用需求的不断增多与硬件资源不断丰富,软件系统也随之变得日趋复杂。汽车电子的主要任务本应是实现新的功能,然而越 ......
读写分离---mysql的主主结构和主从架构
前言: 为什么要对mysql做优化? 因为数据都来源于数据库,如果数据库慢了,无论是多线程、各种识别模式优化还是很慢,因为查sql就很慢。 官方说法:单表2000万数据,增删改查就到达瓶颈了。所以为了保证查询效率,得让每张表的大小得到控制。 Mysql架构: 实际生产过程中,查询业务更多,增删改中也 ......
ELT已死,EtLT才是现代数据处理架构的终点!
![file](https://img2023.cnblogs.com/other/3195851/202308/3195851-20230831114702799-1091292653.jpg) 提到数据处理,经常有人把它简称为“ETL”。但仔细说来,数据处理经历了ETL、ELT、XX ETL(例 ......
六大程序设计原则 + 合成复用原则
程序设计领域的`设计模式六大原则` + `合成复用原则`(Composite Reuse Principle) ,都是一些很**泛**的思想(既可以指这个,也可以代指那个),无法生搬硬套,无法做到很具体的指导。我的建议是,有空多看几遍,多思考看看怎么能运用上在实际项目中,在未来时保佑自己在设计程序时 ......
常用的数据库架构及主从的工作原理
数据库常用的架构 目前市面上常用的架构主要有两种: 1、一主多从 2、双机热备 下面我们来了解一下,什么是一主多从呢? 在数据库系统中,一主多从(Master-Slave)架构是一种常见的设计模式。在这种架构中,有一个主数据库(Master)和一个或多个从数据库(Slave)。主数据库负责处理写操作 ......
系统设计(架构师)指南2封底估算&新浪微博实例
#2 封底估算 在系统设计面试中,有时会要求你使用 "封底估算"(back-of-the-envelope estimation)来估算系统容量或性能需求。根据谷歌高级研究员杰夫-迪恩(Jeff Dean)的说法,"封底估算是你结合思想实验和常见性能数字进行的估算,目的是让你对哪些设计能满足你的要求 ......
clang架构与示例实践
clang架构与示例实践 1 C语言编译器Clang 1.1 Clang和GCC编译器架构 Clang编译器是由APPLE公司的编译器大牛ChrisLattner主导下编写的,其目标是替换大名鼎鼎的GCC编译器; 从源代码到可执行程序一般经过预处理、编译、链接过程,而编译是编译器的工作,编译分为三个 ......
开闭原则
#### 开闭原则 ##### 基本介绍 - 1.开闭原则(Open Close Principle)是编程中最基础,也最重要的原则。 - 2.一个软件实体如类,模块,和函数应该对扩展(增加)开放,对修改关闭。用抽象扩展结构,用实现扩展细节。 - 3.当软件需求变化时,尽量通过扩展软件实体的方式来实 ......
MVVM架构
一.MVVM架构和Jetpack MVVM即Model-View-ViewModel的缩写,它的出现是为了将图形界面和业务逻辑,数据模型进行解耦。在前面章节所学习的Jetpack组件,大部分是为了能够更好地架构MVVM应用程序而设计的。在本章,我们通过ViewModel,LiveData,Room和 ......
系统设计(架构师)指南1从零扩展到百万用户
#1 从零扩展到百万用户 设计支持数百万用户的系统是一项挑战,是需要不断完善和无止境改进的过程。在本章中,我们将构建一个支持单个用户的系统,并逐步将其扩展到为数百万用户提供服务。 ## 1.1 单服务器设置 下图展示了单服务器设置的示意图,其中所有内容都运行在一台服务器上:网络应用程序、数据库、缓存 ......
搭建LNMP 架构
搭建LNMP 架构 环境准备 lnmp 需要 安装 nginx mysql php 软件 #关闭防火墙 systemctl disable --now firewalld #临时禁用SELinux的强制访问控制机制 setenforce 0 1 安装依赖包 yum -y install pcre-d ......