模式 设计模式 原型 示例

U3D编辑器开发&粒子特效/动画预览器示例

概述 U3D提供了一套拓展编辑器的接口,可以用于直接在编辑器非播放模式运行程序。常用于运行一些工具程序,例如资源管理。在做技能编辑器等工具程序时,也可以使用运行模式接口会比较简单(这样也方便开放游戏创意工坊给玩家)。使用编辑器去做一些渲染相关的预览(如粒子系统,动画预览)会麻烦一点,有时候需要查询和 ......
粒子 示例 编辑器 特效 动画

NodeJS 实战系列:如何设计 try catch

本文将通过一个 NodeJS 程序里无效的错误捕获示例,来讲解错误捕获里常见的陷阱。错误捕获不是凭感觉添加 try catch 语句,它的首要目的是提供有效的错误排查信息,只有精心设计的错误捕获才有可能完成这个使命。针对哪些方面去精心设计就是本篇文章里想讨论的内容 ......
实战 NodeJS catch try

手把手教你搞定菜单权限设计,精确到按钮级别

一、介绍 在实际的项目开发过程中,菜单权限功能可以说是后端管理系统中必不可少的一个环节,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单进行相应的扩展。 今天小编就和大家一起来讨论一下,怎么设计一套可以精确到按钮级别的菜单权限功能,废话不多说,直接开撸! ......
按钮 菜单 权限 级别

设计「业务」与「技术」方案

三天研发,两天设计; 01 【优先做设计方案】 职场中的那些魔幻操作,研发最烦的是哪个? 作为一个数年且资深的互联网普通开发,可以来说明一下为什么是:缺乏设计; 面对业务需求的时候,可能都听过这样一句话: 这个很简单,直接开发,三天内上线; 产品听了流泪,测试见了崩溃,研发眉头一皱直呼什么鬼; 如果 ......
业务 方案 技术

深度剖析 Linux 伙伴系统的设计与实现

在上篇文章 《深入理解 Linux 物理内存分配全链路实现》 中,笔者为大家详细介绍了 Linux 内存分配在内核中的整个链路实现: 但是当内核执行到 get_page_from_freelist 函数,准备进入伙伴系统执行具体内存分配动作的相关逻辑,笔者考虑到文章篇幅的原因,并没有过多的着墨,算是 ......
深度 伙伴 系统 Linux

从 Cloud-Native Relational DB 看数据库设计

论文内容:Amazon Aurora: Design Considerations for HighThroughput Cloud-Native Relational Databases 里面介绍了一种云原生的关系型数据库 Aurora 的体系结构,以及导致该体系结构的设计考虑因素。我觉得和普通的 ......

SOFAJRaft源码阅读-RheaKV的初始化与Multi-RAFT-GROUP模式

SOFAJRaft的SOFAJRaft-RheaKV 是基于 SOFAJRaft 和 RocksDB 实现的嵌入式、分布式、高可用、强一致的 KV 存储类库。SOFAJRaft-RheaKV 集群主要包括三个核心组件:PD,Store 和 Region。 @Author:Akai-yuan @更新时 ......

从设计110序列检测器来看--同步时序电路设计

#从设计110序列检测器来看--同步时序电路设计 开学临近,本人查缺补漏,应对推迟的期末考试 同步时序逻辑设计,难度有所增加,本人欲通过110序列检测器来解决这一问题点: ##设计步骤: 1.获取原始状态图与状态表--分析状态图表 2.最简化状态图表 3.状态编码 4.利用状态转移表与触发器特征设计 ......

搞懂设计模式——代理模式 + 原理分析

举个栗子,众所周知,我们是可以在京东上购买机票的。 但机票是航司提供的,我们本质上是代理销售而已。 那为什么航司要让我们代理销售呢? 我们又是如帮他做代理的呢? 别急,本文将展开说说他们之间的关系。。。 ......
模式 设计模式 原理

认知篇:CQRS架构模式的本质

CQRS只是一种非常简单的模式(pattern),CQRS本身并不是一种架构风格,和最终一致性/消息/读写分离/事件溯源/DDD等没有必然的联系,它最大优势是给我们带来更多的架构属性选择 ......
架构 本质 模式 CQRS

最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性

1 介绍 策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度。 反例:使用策略模式对一个boolean类型的变量进行优化 2 背景 我负责的有一个基于流程引擎开发的项目,有一个功能模块是查看申请单的详 ......
可扩展性 易懂 分支 原则 策略

随机高并发查询结果一致性设计实践

物流合约中心是京东物流合同管理的唯一入口。为商家提供合同的创建,盖章等能力,为不同业务条线提供合同的定制,归档,查询等功能。由于各个业务条线众多,为各个业务条线提供高可用查询能力是物流合约中心重中之重。同时计费系统在每个物流单结算时,都需要查询合约中心,确保商家签署的合同内容来保证计费的准确性。 ......
一致性 结果

【教程搬运】分析并编写suricata规则(内含两个示例)

suricata规则分析 参考1 参考2 Suricata 签名的结构 在高层次上,Suricata签名由三部分组成: Action:当流量符合规则时采取的行动 Header:一个标题,描述主机、IP地址、端口、协议和流量方向(传入或传出) Options:选项,指定诸如签名ID(sid)、日志信息 ......
示例 suricata 规则 两个 教程

(Java)设计模式:结构型

前言 这篇博文续接的是 UML建模、设计原则、创建型设计模式、行为型设计模式,有兴趣的可以看一下 3.3、结构型 这些设计模式关注类和对象的组合。将类和对象组合在一起,从而形成更大的结构 * 3.3.1、proxy 代理模式 定义:为某对象提供一种代理以控制对该对象的访问。即:客户端通过代理间接地访 ......
结构型 设计模式 模式 结构 Java

Qt界面设计--侧边栏隐藏和滑出

在日常项目中,界面布局上经常使用到侧边栏的方式,在侧边栏放置控件进行复合使用,可以实现子功能界面的隐藏和滑出,效果展示如下: 界面控件很简单,主界面QWidget,侧边栏也用一个QWidget和一个按钮QPushbutton来进行组合。通过点击按钮来显示和隐藏侧边栏。主要用到的是控件的move()函 ......
侧边 界面设计 界面

Flutter异常监控 - 伍 | 关于异常监控框架设计的思考

前言 最近阅读 Catcher、BugSnag、Rollbar 三个 Flutter 异常监控开源框架,文章链接如下: Flutter 异常监控 - 壹 | 从 Zone 说起 Flutter 异常监控 - 贰 | 框架 Catcher 原理分析 Flutter 异常监控 - 叁 | 从 bugsn ......
框架 Flutter

一文读懂 Kubernetes 存储设计

在 Docker 的设计中,容器内的文件是临时存放的,并且随着容器的删除,容器内部的数据也会一同被清空。不过,我们可以通过在 docker run 启动容器时,使用 --volume/-v 参数来指定挂载卷,这样就能够将容器内部的路径挂载到主机,后续在容器内部存放数据时会就被同步到被挂载的主机路径中 ......
Kubernetes

设计模式之单例模式

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.c ......
模式 设计模式

【RocketMQ】消息拉模式分析

RocketMQ有两种获取消息的方式,分别为推模式和拉模式。 推模式 推模式在【RocketMQ】消息的拉取一文中已经讲过,虽然从名字上看起来是消息到达Broker后推送给消费者,实际上还是需要消费向Broker发送拉取请求获取消息内容,推模式对应的消息消费实现类为DefaultMQPushCons ......
RocketMQ 消息 模式

使用gm/ID方法设计二级运算放大器

1 设计指标 运算放大器采用图1所示的电路结构,电路中的电流源均采用共源共栅结构,可以获得较高的共模抑制比和电流复制精度。其性能指标为增益带宽积GBW=100MHz,负载电容CL=2pF。本设计采用的工艺库中NMOS的最小沟道长度为0.5μm,PMOS的最小沟道长度为0.55μm。 图1 二级运算放 ......
运算放大器 放大器 方法 gm ID

面对集中式缓存实现上的挑战,Redis交出的是何种答卷?聊聊Redis在分布式方面的能力设计

对于一个集中式缓存的分布式能力构建,必须要额外提供一些机制,来保障数据在各个节点上的安全与一致性。本文以Redis为代表,看下集Redis面对上述问题交出的是怎样一份答卷。 ......
Redis 答卷 分布式 缓存 方面

使用Python库pyqt5制作TXT阅读器(一)-------UI设计

项目地址:https://github.com/pikeduo/TXTReader PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/pyqt5/ QtDesigner学习地址:https://youcans.blog.csdn.net ......
阅读器 Python pyqt5 pyqt TXT

【Azure 存储服务】.NET7.0 示例代码之上传大文件到Azure Storage Blob (一)

问题描述 在使用Azure的存储服务时候,如果上传的文件大于了100MB, 1GB的情况下,如何上传呢? 问题解答 使用Azure存储服务时,如果要上传文件到Azure Blob,有很多种工具可以实现。如:Azure 门户, Azure Storage Explorer, 命令行工具 az copy ......
Azure 示例 Storage 代码 文件

【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(scan模式迁移)

在线数据迁移方式 对于大多数场景下的Redis的数据迁移,还是比较推荐大家参考我之前的前两篇文章。 【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移 Redis 数据实战指南(在线同步数据) 【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线 ......
实战 模式 数据 Redis 指南

【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)

承接上文 上一篇文章说到了Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。那么接下来我们将要针对于AT模式下进行分布式事务开发的原理进行介绍以及实战。 Seata AT模式 在AT、TCC、SAGA 和 XA 这四种事务模式中使用最多,最方便的 ......
实战 Seata 深入浅出 分布式 原理

【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)

离线迁移 与在线迁移相比,离线迁移适宜于源实例与目标实例的网络无法连通的场景,或者源端实例部署在其他云厂商Redis服务中,无法实现在线迁移。 存在的问题 由于生产环境的各种原因,我们需要对现有服务器进行迁移,包括线上正在运行的redis集群环境 如何去做? 涉及到数据源变动,原有数据如何平滑迁移到 ......
数据 实战 Redis 模式 指南

【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)

从实战出发使用RedisShake进行Redis数据在线+离线模式迁移指南 RedisShake基本介绍 RedisShake是基于redis-port基础上进行改进的是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。数据可平滑迁移,当部署在其他云厂商Red ......
数据 实战 Redis 模式 指南

MySql树形结构(多级菜单)查询设计方案

背景 又很久没更新了,很幸运地新冠引发了严重的上呼吸道感染,大家羊过后注意休息和防护 工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的查询(多级查询),常见的场景有:组织架构(用户部门)查询 和 多级菜单查询 比如,菜单分为三级,一级菜单、二级菜单、三级菜单,要求用户按树形结构把各级菜单查 ......
树形 菜单 结构 方案 MySql

ActiveMQ 常见集群模式

Master Slave 架构模式 这种模式是基于文件共享锁的高可用集群,个人理解其实是一种 Failover 模式,可以是一主一从,也可以是一主两从。 本文使用 Docker 搭建一个主从模式的 ActiveMQ 5.8.0 集群,一个主节点,两个从节点。 ActiveMQ 镜像的创建可以参考 构 ......
集群 ActiveMQ 常见 模式

你知道微服务架构中的“发件箱模式”吗

前言 微服务架构如今非常的流行,这个架构下可能经常会遇到“双写”的场景。双写是指您的应用程序需要在两个不同的系统中更改数据的情况,比如它需要将数据存储在数据库中并向消息队列发送事件。您需要保证这两个操作都会成功。如果两个操作之一失败,您的系统可能会变得不一致。那针对这样的情况有什么好的方法或者设计保 ......
架构 模式