摘要:
【MacBook】使用brew 管理软件 阅读全文
摘要:
今天在维护一个旧项目的时候,看到一个方法把string 转换为 byte[] 用的是写入内存流的,然后ToArray(),因为平常都是用System.Text.Encoding.UTF8.GetBytes(string) ,刚好这里遇到一个安全的问题,就想把它重构了。
由于这个是已经找不到原来开发的人员,所以也无从问当时为什么要这么做,我想就算找到应该他也不知道当时为什么要这么做。
由于这个是线上跑了很久的项目,所以需要做一下测试,万一真里面真的是有历史原因呢!于是就有了这篇文章。 阅读全文
摘要:
认证授权是很多系统的基本功能 , 在以前PC的时代 , 通常是基于cookies-session这样的方式实现认证授权 , 在那个时候通常系统的用户量都不会很大, 所以这种方式也一直很好运行, 随着现在都软件用户量越来越大, 系统架构也从以前垂直扩展(增加服务器性能) -> 水平扩展(增加服务器数量) 阅读全文
摘要:
Mongodb开启慢查询 , 查找慢查询 , 日志记录相关 阅读全文
摘要:
前置条件 用户有查询数据统计权限 GRANT VIEW DATABASE STATE TO database_user; CPU性能问题 正在发生 查看前X个CPU消耗查询 (汇总) SELECT TOP 10 GETDATE() runtime, * FROM ( SELECT query_sta 阅读全文
摘要:
记录常用MacBook快捷使用 阅读全文
摘要:
BenchmarkDotNet 将方法转换基准测试,可以追踪代码性能,作为性能测试的参考 阅读全文
摘要:
定义 为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类 抽象工厂是工厂方法的升级版,处理的多个产品,若只有一个产品,变化成工厂方法 优缺点 优点 1. 高层模块不依赖具体实现,依赖是抽象类/接口 2. 封装性,具体构造都封装在具体实现工厂,高层模块不需要知道如何创建 3. 产品等 阅读全文
摘要:
定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类 优缺点 优点 针对简单工厂不容易扩展,工厂方法将实例化延迟到子类工厂,从而提供扩展 缺点 每次新增产品都需要添加工厂和具体产品类,增加系统复杂性 角色 客户端 抽象工厂,具体工厂, 抽象产品 抽象产品 阅读全文
摘要:
定义 通过工厂类提供的方法,创建不同的派生类 通常创建的类都具有共同的基类/接口 优缺点 优点 客户端与具体的实现类解耦 缺点 新增产品需要修改原来工厂类的方法,不符合开闭原则 角色 客户端 静态工厂,抽象产品 抽象产品 具体产品 具体产品 静态工厂 抽象产品,具体产品 代码 抽象产品 具体产品 静 阅读全文