网络安全——拒绝访问攻击与防御 [TOC] 前置工作 实验系统设计 实验系统架构设计如下图所示。攻击集群由两台本地机器和⼀个云服务器节点组成。其中⽤于攻击的服务器节点配置为1C2G,带宽4Mbps,流量上限500GB/⽉。具体攻击⽅式和过程将在后续章节描述。攻击流量将经由互联⽹到达⼀台位于阿里云的服务器节点。该服务器配置为1C2G,带宽5Mbps,流量上限1000GB/月。 在被攻击⼀...
软件建模——分享我的业务建模经历
分享我的业务建模经历 我感触最多的是为公司开发一款进销存系统。 项目介绍 公司概况 东莞市久源建材贸易有限公司是一家小微企业,成立于2017年,注册资本100万元。主营业务为五金建材、建筑材料、五金配件、螺杆的加工制作。目前公司在职员工达30人,客户群体规模达300人。 系统功能简介 进销存系统功能是对公司产品采购、商品销售、产品生产、库存管理、财务汇总、数据分析等工作进行信息化...
白盒AES-tutorial 论文阅读笔记
论文原文链接 A Tutorial on White-box AES 总体思路 Chow2002年提出的白盒AES 基本思路是将原来AES的每一轮变换替换为查找表。 AES过程 白盒AES过程 查找表理解 什么是查找表,查找表(Lookup Table)另一个理解就是真值表,比如下图。 查找表的构建 枚举所有输入 计算出输入对应的输出 将(输入,输出...
Github pages提升加载速度—配置cdn
前置条件 绑定域名 网上说得很多,可以参考这一条知乎配置。 域名备案 使用CDN要求域名必须备案,这一步可能要3天左右。备案在阿里云备案。 下文的你的域名均指你申请的域名,而不是xxx.github.io,这个称为gitpages域名。 配置阿里云CDN加速 首先开通阿里云CDN,链接在此 阿里云CDN 创建加速域...
Maven 提升下载速度——配置阿里源
Maven 配置 打开 Maven 的配置文件(windows机器一般在maven安装目录的conf/settings.xml),在<mirrors></mirrors>标签中添加 mirror 子节点: <mirror> <id>aliyunmaven</id> <mirrorOf>*</mi...
ubuntu 提升下载速度—更换阿里源
经常发现ubuntu 安装软件(apt install)贼慢,非常痛苦。本文介绍更换阿里源提升下载速度。 ubuntu 更换国内源的方法 查看系统版本 lsb_release -c > Codename: focal #focal 说明是ubuntu20.04 ubuntu版本名与系统名对应关系,使用错误的版本源会导致依赖缺失和版本不对。 ...
Linux安装普罗米修斯监控系统
普罗米修斯监控系统简介 普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统,拥有强大的监控能力。 普罗米修斯监控系统分两部分,客户端和服务端。客户端部署在被监控的服务器上,负责收集本机数据。服务端部署在其他机器上,记录客户端发送的监控数据,提供页面供管理员查看。可以部署多个客户端同时监控多台机器。如下图所示 部署后最终效果 客户端部署 部署环境 ...
殷浩详解DDD系列 第五讲 - 聊聊如何避免写流水账代码
简介: 在过去一年里我们团队做了大量的老系统重构和迁移,其中有大量的代码属于流水账代码,通常能看到是开发在对外的API接口里直接写业务逻辑代码,或者在一个服务里大量的堆接口,导致业务逻辑实际无法收敛,接口复用性比较差。所以这讲主要想系统性的解释一下如何通过DDD的重构,将原有的流水账代码改造为逻辑清晰、职责分明的模块。 1. 案例简介 这里举一个简单的常见案例:下单链路。假设我们在做...
殷浩详解DDD系列 第四讲 - 领域层设计规范
简介: 在一个DDD架构设计中,领域层的设计合理性会直接影响整个架构的代码结构以及应用层、基础设施层的设计。但是领域层设计又是有挑战的任务,特别是在一个业务逻辑相对复杂应用中,每一个业务规则是应该放在Entity、ValueObject 还是 DomainService是值得用心思考的,既要避免未来的扩展性差,又要确保不会过度设计导致复杂性。今天我用一个相对轻松易懂的领域做一个案例演示,但在...
殷浩详解DDD系列 第三讲 - Repository模式
简介: 写在前面 这篇文章和上一篇隔了比较久,一方面是工作比较忙,另一方面是在讲Repository之前其实应该先讲Entity(实体)、Aggregate Root(聚合根)、Bounded Context(限界上下文)等概念。但在实际写的过程中,发现单纯讲Entity相关的东西会比较抽象,很难落地。所以本文被推倒重来,从Repository 第三讲 - Repository模式 写在...