首页
Leon's Blog
取消

[NLP] 对话系统系列技术文章-对话管理(DM)

坑先挖好,回头再填

[架构] 常用架构模式

架构模式描述了特定领域内系统组织的惯用方式。 架构风格 分层模式(N-Tier) 正交性原则: 层与层之间的关系应该是正交的 实现正交的考虑点: (1)、消除重复(代码内聚) (2)、分离关注点(接口抽象) (3)、管理依赖:缩小依赖的范围和向稳定的方向依赖(单向依赖、最小依赖) 单一抽象层次原则(SLAP): 同一层的组件处于同一个抽象层次 依赖: 下层模块...

[go] 常用go编程模式

单例模式 package patterns import "sync" type Singleton struct { Data map[string]string Id int } var ( once sync.Once singleton *Singleton idCount int ) func NewSingleton() *Singleton ...

[架构] 微服务演进历史回顾和服务拆分、服务接口的一些思考

微服务架构的特点 微服务架构风格大家基本上耳熟能详,有着显著的特点,包括并不限于: 应用组成:应用中包含多个小型组件或者服务。 部署特点:每个应用均可独立部署。 松散耦合:服务之间松散耦合,以API、RPC或者中间件方式进行通信。 开放技术栈:每个服务可以使用不同的技术栈实现,包括编程语言、库和开发工具。 微服务架构的演进历史回顾 和其他许多架构方法一样,微服务并非...

[架构] Spring Boot面向切片编程(AOP)原理

Spring Boot面向切片编程(AOP)原理 AOP思想 AOP的概念 增强/通知(advice),在特定连接点需要执行的动作。Spring下主要包括五种通知类型: 前置通知(Before) 后置通知(After) 返回通知(After-returning) 异常通知(After-throwing) 环绕通知(Around) 切点(pointcu...

2020-2021年书单

架构师必看系列 《系统架构:复杂系统的产品设计与开发》 System Architecture: Strategy and Product Development for Complex Systems 《数据密集型应⽤系统设计》Designing Data-Intensive Applications 《性能之巅》Systems Performance: Enterpris...

[算法]关于vector的push_back扩容过程的经典问题

在面试c++开发过程中,我经常问STL vector的内容,这里面挖掘的内容比较丰富,不限于: vector的内存配置器实现(经典内存池) vector扩容策略 at和[]操作符的区别 迭代器失效问题 打码实现一个vector 内存配置器 在STL标准下,内存配置器(allocator)是有标准的 // 申请内存空间 pointer allocator::allo...

[硬件]非一致性内存访问NUMA

什么是NUMA 非一致性内存访问Non-uniform memory access (NUMA)是多核计算机上的一种内存结构设计模型。这种构架下,不同的内存器件和CPU核心从属不同的Node,每个Node都有自己的集成内存控制器(IMC,Integrated Memory Controller),显而易见的是由于不用共享总线(UMA结构中存在)因此可以提升内存访问效率。 一张图对比NUM...

[C++]撸一个线程池

线程池的简单实现 C++11新增了多线程,实现线程池就比较简单了,要点是bind、函数对象和condition_variable。设计上是一个简单的生产消费者模型,通过一个队列维护任务,消费者(线程)获取并执行任务。 #ifndef THREADPOOL_H #define THREADPOOL_H #include <iostream> #include <condi...

[机器学习]ML性能指标工具-ROC曲线

ROC和AUC的作用 ROC即受试者工作特征曲线。 ROC stands for Receiver Operating Characteristic (from Signal Detection Theory) ROC曲线的横坐标是伪阳性率(False Positive Rate),纵坐标是真阳性率(True Positive Rate),因此ROC曲线越靠近左上角,模型的准确性...