刷新
设计模式之简单工厂模式(学习笔记)

博主头像 定义 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它定义一个用于创建对象的接口,但由一个单独的类来实现实际创建的工作。简单工厂模式通过在一个类中集中管理对象的创建过程,可以减少客户端与具体类之间的耦合,使得代码结构更加清晰和易于维护。通过专门定义一个类来负责创建 ...

设计模式:代理模式详解

博主头像 需求场景 按着惯例,还是以一个应用场景作为代理模式的切入点。现在有一个订单系统,要求是:一旦订单被创建,只有订单的创建人才可以修改订单中的数据,其他人则不能修改。 基本实现思路 按着最直白的思路,就是查询数据库中订单的创建人和当前Session中的登录账号ID是否一致。 class Order { ...

性能优化系列专题预告

本专栏一共包含6个专题,每个专题都涵盖了实际业务中常见的性能优化需求: 专题一:服务器硬件与基础设施优化 硬件升级与选择:讨论不同服务器硬件(CPU、内存、磁盘等)的选择及其对性能的影响。 负载均衡:介绍负载均衡的基本原理、常见方案(如Nginx、HAProxy),以及如何配置和优化。 网络优化:讲 ...

设计模式之装饰模式(学习笔记)

博主头像 定义 装饰模式(Decorator Pattern),又称为包装模式,是一种结构型设计模式。它允许在不改变现有对象结构的情况下,动态地添加新的功能。通过将每个功能封装在单独的装饰器类中,并且这些装饰器类通过引用原始对象来实现功能的组合,从而提供了灵活性和可扩展性的优势。装饰模式避免了通过继承方式增加 ...

防火防盗防CDN流量盗刷

博主头像 没想到自己的小破站也逃不掉被攻击的命,分分钟就给我刷欠费了。 本来不想写这篇文章的,但看到好多大佬(小林coding、 JavaGuide)近期cdn都被盗刷了。 还是来提醒下大家,防火防盗防cdn流量盗刷 事故时间:2024年7月5日晚8点左右 事故现场:好不容易到了周五,想着第二天就周末了,和朋 ...

Maven 整理

博主头像 Maven简介 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM:Project Object Model) 这玩意儿是使用Java开发的,所以采用的就是Java的思想:面向对象 Maven的作用: 项目构建:提供标准的、跨平台的自动化项目构建方式 依赖管理:方 ...

深度解析 Raft 分布式一致性协议

首先,Raft 集群必须存在一个主节点(leader),我们作为客户端向集群发起的所有操作都必须经由主节点处理。所以 Raft 核心算法中的第一部分就是选主(Leader election)——没有主节点集群就无法工作,先票选出一个主节点,再考虑其它事情。 其次,主节点需要承载什么工作呢?它会负责... ...

Redis 高阶应用

博主头像 生成全局唯一 ID 全局唯一 ID 需要满足以下要求: 唯一性:在分布式环境中,要全局唯一 高可用:在高并发情况下保证可用性 高性能:在高并发情况下生成 ID 的速度必须要快,不能花费太长时间 递增性:要确保整体递增的,以便于数据库创建索引 安全性:ID 的规律性不能太明显,以免信息泄露 从上面的要 ...

框架配置

博主头像 表格配置属性说明文档 页面添加引用: import BaseTable from ‘@/components/BaseTable/index.vue 1、grid-edit-width 表格操作栏宽度 例如:grid-edit-width:250 2、gridOtherConfig 属性 说明 示例 ...

验证码的识别和运用

验证码的主要目的是强制人机交互来抵御机器自动化攻击,为了确保服务器系统的稳定和用户信息的安全,越来越多的网站采用了验证码技术。图片验证码是目前最常用的一种,本文也主要讨论这种验证码的识别。最近在一个爬虫项目中遇到了验证码,需要机器自动识别绕过。这些验证码大都分辨率都较低,本身信息量不大。通常被加入一 ...

Spring Cloud微服务核心架构分析

博主头像 Spring Cloud是一个相对比较成熟的微服务框架。虽然,Spring Cloud于2016年才推出1.0的release版本, 时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。 Spring Cloud是一系列框架的有序集合。它利用Spri ...

组件/框架设计原则

博主头像 Windows应用软件开发,会有很多常用的模块,比如数据库、配置文件、日志、后台通信、进程通信、埋点、浏览器等等。下面是目前我们公司windows梳理的部分组件,梳理出来方便大家了解组件概念以及依赖关系: 每个应用里,现在或者以后都可能会存在这些模块。以我团队开发的全家桶为例,十多个应用对后台访问, ...

<1···192021···50>