- 博客(584)
- 资源 (6)
- 收藏
- 关注
原创 【设计模式】12、observer 观察者模式
发布订阅模式, client 都可以向 broker 注册, broker 管理所有 connection, 当 broker 收到某事件时, 广播给所有 clients.- 各种消息队列, 如 kafka, redis stream 都是这种结构 - websocket server, live video streaming server 也都是这样的
2024-04-25 22:48:49 199 1
原创 【设计模式】11、flyweight 享元模式
大量重复的对象, 如果很消耗资源, 没必要每次都初始化, 可以共用, 共享. 这就是 flyweight 享元模式.各种池技术: 线程池, 数据库连接池, http 网络连接池, 都是应用场景
2024-04-22 22:15:30 295
原创 【设计模式】10、composite 组合模式
树状结构, 适合用组合模式, 不断递归, 对各子节点求和, 直到叶子节点为止.例如, 一个大盒子, 内可以放置物体, 或若干小盒子. 而每个小盒子又同理.
2024-04-22 12:54:35 348
原创 【设计模式】9、facade 外观模式
如果有一个复杂的系统, 内部有很多子系统, 可以用 facade 封装一层, 只暴露出用户关心的简单接口.
2024-04-22 12:13:34 512
原创 【设计模式】8、adapter 适配器模式
通常用于老旧系统, 或第三方系统, 提供一层适配器或插件, 做协议转换PS: 如果开发新系统, 各层之间的解耦, 成为 bridge 桥接模式. 而如果是老系统则称为 adapter 适配器模式. 本质是一样的. 都是通过添加中间层实现的.
2024-04-21 22:26:22 230
原创 【设计模式】5、proxy 代理模式
proxy 模式:如果 client 需要操作一个 rawObject, 但希望 proxy 它时, 则可使用 proxy 模式.
2024-04-19 12:59:45 430
原创 【设计模式】4、prototype 原型模式
如果希望 复制对象, 可使用 "prototype 模式"如果 "待复制的对象" 是 interface 而不是 class, 或者如果 class 有 private 变量时. 无法知道 "待复制的对象"的细节, 则需要其实现 "clone()" 方法供外部调用.
2024-04-14 23:08:28 339
原创 【golang】28、用 httptest 做 web server 的 controller 的单测
用 httptest 做 web server 的 controller 的单测
2024-03-11 11:56:31 1034
原创 【golang】27、用 golang 实现一个数据库:lex、parse 解析、操作 sql
实现一个 parser 来解析 CREATE、INSERT、SELECT 语句,然后会在内存实现一个 db server,并支持 TEXT 和 INT 类型,实现一种 REPL(交互式终端)
2024-03-10 23:58:49 938
原创 【编译原理】1、python 实现一个 JSON parser:lex 词法分析、parser 句法分析
本文基于 lex 词法分析和 parser 句法分析,用 python 实现 JSON 的解析。把输入的 string 拆分为 tokens,过程中会忽略注释、空格。迭代解析字符串流,解析为基本的、非递归定义的语言结构,如正数、字符串、布尔文字。
2024-03-09 23:55:15 1091
原创 【问题解决】使用 pytorch 通用预训练模型时,如何不从pytorch官网下载,而是直接使用本地模型
当我们要用到一些通用预训练模型比如 VGG 时,有时候服务器从pytorch官网下载很慢,则可以对代码做如下修改,直接使用本地的模型即可,避免下载。
2024-03-07 10:17:57 412
原创 【golang】26、retry-go 使用示例和源码解析
在分布式情况下,因为网络或服务不稳定,经常需要 retry。golang 下有 retry-go 库,封装了常见的重试配置,很方便扩展。项目地址是 https://github.com/avast/retry-go。
2024-03-06 11:12:39 1146
原创 【问题解决】使用 OpenFace 提取人脸关键点报错:BLAS : Program is Terminated. Because you tried to allocate too many...
在 issue 中找到了解决方案,即在终端执行下面的命令后,再进行关键点提取即可。
2024-03-01 18:44:12 431
原创 【bash】2、手把手实现一个 bash shell:多个机器批量执行 shell 命令,支持 ip 补全
实现一个 bash shell:多个机器批量执行 shell 命令,支持 ip 补全
2024-03-01 12:35:33 1094
原创 【多模态】28、LLaVA 第一版 | Visual Instruction Tuning 多模态模型的指令微调
本文主要介绍 LLaVA 第一版模型
2024-02-29 17:31:15 1560 1
原创 【rust】10 project、crate、mod、pub、use、项目目录层级组织、概念和实战
rust: project、crate、mod、pub、use、项目目录层级组织、概念和实战
2024-02-24 18:13:58 1462
原创 【rust】8、连接数据库:sqlx
sqlx 是 rust 的数据库访问工具, 本身并不是 orm,但常见的 orm 都是基于它实现的。其有如下特点:
2024-02-22 09:25:17 788
原创 【Postgres】11、PROCEDURE 存储过程、FUNCTION 函数、使用方式和区别
在PostgreSQL中,存储过程(Procedure)和函数(Function)是两种可执行的数据库对象,它们之间有一些区别。总体来说,Function 功能更强大
2024-02-19 17:59:44 1218
原创 【Linux】28、命令行参数 语法格式
命令行参数很复杂,通过 --help 会看到很多符号,比如 [] {} () | ...,他们都是什么意思呢?一般格式如下:
2024-02-19 13:00:38 633
codelldb-x86-64-linux.vsix 下载,用于vscode 的LLDB 插件,用来debug调试 vscode
2022-11-14
assets的sample_sounds静态资源中的若干wav文件
2022-09-11
vscode codelldb mac版本--codelldb-x86_64-darwin.vsix--下载后VISX离线安装
2022-08-24
Matlab的cifar-10.mat文件,可以直接用
2018-08-09
Matlab的AR.mat文件,可以直接用
2018-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人