刷新
从业务开发中学习和理解架构设计

博主头像 在软件开发领域经常会接触到架构这个词汇,在我最初的印象中,架构是一个很高级的词汇。它似乎代表了复杂的工程结构、高层次的抽象设计、最新的开发语言特性等等。对于当时只专注于写业务逻辑的我来说,不免心生对架构的敬畏。工作中对架构的讨论很少,出现则是一些高级晦涩的描述,但是从来没有人清楚地解释过架构做了哪些... ...

简单易用的任务队列-beanstalkd

博主头像 概述 beanstalkd 是一个简单快速的分布式工作队列系统,协议基于 ASCII 编码运行在 TCP 上。其最初设计的目的是通过后台异步执行耗时任务的方式降低高容量 Web 应用的页面延时。其具有简单、轻量、易用等特点,也支持对任务优先级、延时/超时重发等控制,同时还有众多语言版本的客户端支持, ...

如何实现一个状态机?

博主头像 何为状态机? 从字面上简单粗暴地理解,状态机是一个跟状态有关的机器,但其实状态机并不是一种物理机器,而是一种模型,一种表达事物状态及状态变化过程的数学模型。 状态机全称是有限状态机(finite-state machine,缩写:FSM)或者有限状态自动机(finite-state automato ...

重构

博主头像 参数过长 影响: 方法不易被理解、使用,方法签名容易不稳定,不易维护 解决方法:反复使用提炼方法+内联方法,消除多余参数 ​ 尽量把方法移进相关的类中 ​ 如实体类中的get方法在其他类中没有被调用可以删除 ​ 实际工作中,可以结合参数数量、以及自身对业务的理解,在 最小知道 和 保持对象完整性 之 ...

从编译器对指令集的要求看API设计原则

博主头像 摘要:最近看《计算机体系结构:量化研究方法(第五版)》,发现指令集设计中的一些原则,对API设计也同样适用,给大家分享一下。 本文中的所有内容来自工作和学习过程中的心得整理,如需转载请注明出处。周荣华@燧原科技 1 正交 指令集需要满足操作、数据类型和寻址方式三个方面的功能就是正交的。所以API设计 ...

程序分析与优化 - 11 多分支分析

博主头像 本章是系列文章的第十一章,主要介绍GPU的编译原理,分析了多核运行过程中的内存分岔和控制流分岔的分析和处理。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 11.1 什么是GPU 11.1.1 GPU的发展历史 软件控制的VGA帧缓冲区 频繁 ...

Twitter系统架构参考

博主头像 Twitter系统架构参考Push、Pull模式每时每刻都有用户在Twitter上发表内容,Twitter工作是规划如何组织内容并把它发送用户的粉丝。 实时是真正的挑战,5秒内将消息呈现给粉丝是现阶段的目标。 投递意味着内容、投入互联网,然后尽可能快的发送接收。 投递将历时数据放入存储栈,推送通知, ...

kubernetes1.24+containerd搭建

1. 安装containerd k8s1.24不支持docker作为运行时容器,需要采用containerd k8s1.24可以支持docker的远程镜像 1.1. 安装 apt-get install containerd.io=1.6.6-1 1.2. 生成containerd默认配置文件(所有 ...

java基础

博主头像 java基础知识图解 软件开发 软件开发 软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。 人机交互方式 图形化界面(Graphical User Interface GUI):这种方式简单直观,使用者易于接受,容易上手操作。 命令行方式(Command Line ...

可落地的DDD(7)-战术设计上的一些误区

博主头像 几年前我总结过DDD战术设计的一些可落地的经验,现在回过头来发现,当初对这些概念的理解还是没有到位。比如战术设计的各个模块是如协作的。哪些是问题空间问题,哪些是解方案空间问题 这篇文章重新阐述下。 ...

几步看懂晶闸管的结构和工作原理

博主头像 之前小亿有讲解过二极管和三极管的内容,感兴趣的朋友可以去网站主页搜索,今天我们来了解晶闸管。 晶闸管结构 单向晶闸管(晶体闸流管)是N-P-N-P四层半导体结构,中间形成了三个PN结。有三个电极,分别是阳极A,阴极K,门极G(也叫控制极)。 导电特性 如画面中的电路,开关S1闭合时,但是门极G没有触 ...

Python设计模式-六大设计原则

博主头像 Python设计模式-六大设计原则 单一职责原则 (Single Responsibility Principle) 顾名思义,单一职责的原则是说一个类只负责一项职责(操作)。如果一个类负责多个职责,其中一项职责发生变化就需要修改整个类,这可能会导致其他的职责运行错误。一个类,只应该有一个引起它变化 ...

Python设计模式-结构型:适配器模式,装饰者模式,代理模式,组合模式,外观模式

博主头像 Python设计模式-结构型:适配器模式,装饰者模式,代理模式,组合模式,外观模式 适配器模式定义及简单实现案例 装饰者模式定义及简单实现案例 代理模式定义及简单实现案例 组合模式定义及简单实现案例 外观模式定义及简单实现案例 适配器模式 adapter 电子产品的电源插头插在转换插头上,然后转换插 ...

Python设计模式-行为型:策略模式,观察者模式,命令模式,模板方法

博主头像 Python设计模式-行为型:策略模式,观察者模式,命令模式,模板方法 行为型模式会涉及到算法和对象间的职责分配,不仅描述对象或类的模式,还描述它们之间的通信方式,刻划了运行时难以跟踪的复杂的控制流,它们将你的注意力从控制流转移到对象间的关系上来。 策略模式定义及简单实现案例 观察者模式定义及简单实 ...

程序分析与优化 - 10 指令级并行

博主头像 本章是系列文章的第十章,主要介绍CPU流水线、超标量体系架构等硬件设计,和编译器怎么使能这些功能来减少计算的时钟周期。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 10.1 概念 指令级并行是是让一个程序中的多个操作同时执行的方法 指令级并 ...

单机高并发模型设计

博主头像 在微服务架构下,我们习惯使用多机器、分布式存储、缓存去支持一个高并发的请求模型,而忽略了单机高并发模型是如何工作的。这篇文章通过解构客户端与服务端的建立连接和数据传输过程,阐述下如何进行单机高并发模型设计。 ...

微服务之分布式事务解决方案(Seata)

博主头像 前言 在分布式的微服务架构中,鉴于服务单一职责性,各个微服务都分布在不同的服务器节点,且每1个微服务是独立的; 在后端每个微服务都是分散和独立的,可能使用不同编程语言,使用不同的数据库,通过RPC调用完成前端用户发送的请求(任务); 假设1个用户在1个分布式微服务架构的电商网站购物,购买了1件商品点 ...

关于cpu体系架构的一些有趣的故事分享

博主头像 从排查一次匪夷所思的coredump,引出各种体系架构的差异。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 1 背景 从全世界有记载的第一台计算机Z1 (computer) - Wikipedia在1936年发明,到1946年冯诺依曼体系架 ...

<1···4950