- 博客(973)
- 资源 (9)
- 问答 (41)
- 收藏
- 关注
原创 jp(1) command
jq 是一个轻量级的、灵活的命令行 JSON 处理器,类似于文本处理工具 sed、awk、grep 等。jq 使用用可移植的 C 语言编写的,没有运行时依赖,允许您轻松地切片、过滤、映射和转换结构化数据。
2025-04-05 14:18:17
334
原创 领域驱动设计(DDD)实践入门
领域驱动设计(Domain-Driven Design, DDD)是一种复杂软件系统建模与设计方法论。领域驱动设计最早由程序员 Eric Evans 于 2003 年在他的同名书籍 Domain-Driven Design: Tackling Complexity in Software 中提出。领域驱动设计可以指导我们将复杂系统进行拆分,拆分出各个子系统间的关联以及是如何运转的,帮助我们解决大型的复杂系统在落地中遇到的问题。
2025-03-24 20:37:13
849
原创 Windows 常用快捷键
在使用 Windows 操作系统时,掌握一些基本的快捷键能显著提高工作效率。以下是一些 必知快捷键,涵盖常用操作、窗口管理、文件资源管理器等场景,这些快捷键适用于大多数 Windows 版本,如 Windows 10 和 Windows 11。
2025-03-24 20:34:54
753
原创 git branch
git branch 用于管理分支,包括查看、创建、删除、重命名和关联。git branch 是 Git 版本控制系统中用于管理分支的命令。分支是 Git 的核心功能之一,允许开发者在同一个代码库中并行开发不同的功能或修复问题。
2025-02-24 19:09:49
368
原创 星期几问题
这里要注意是否闰年,闰年 366 天,即 2 月有 29 天,平年为 365 天,2 月有 28 天。我让 ChatGpt 和 DeepSeek 分别求解一下这个问题,看看求解过程如何。思路就是算出两个日期之间相差多少天,然后每周七日,即可算出星期几。2024年5月1日是星期三,2026年5月4日是星期几?这个题很有意思,第一次遇到这类题目。
2025-02-23 17:34:43
475
原创 金融交易算法单介绍
算法交易基于一组预定义的 (算法) 的计算机程序来进行交易。定义的算法可以是基于时间、价格、数量或任何模型。计算机程序将自动监控股票价格并在满足定义的条件时下达买卖订单指令。TWAPVWAPPOV这三种算法都属于冲击驱动型算法交易,目的是最小化市场冲击成本来平稳地执行大额交易,从而实现以合理的价格买入或卖出。当然,还有很多不同的交易算法:来自 IB 官网。
2025-02-17 21:40:04
816
原创 Windows 常用程序名
在 Windows 操作系统中,有许多内置的程序和实用工具,它们可以通过在运行框(Win + R快捷键)中输入相应的程序名来启动。在使用这些程序名启动应用时,确保你了解它们的功能,特别是涉及系统设置或注册表编辑等可能影响系统稳定性的工具。同样,如果安装了Microsoft Office,可以通过此命令打开 Excel。打开 Microsoft Paint,一个简单的图像编辑工具。打开注册表编辑器,用于查看和编辑 Windows 注册表。打开任务管理器,查看和管理正在运行的应用程序和进程。
2025-02-15 22:40:55
530
原创 《富爸爸财务自由之路》金句
财务自由在这4个象限都能够实现,只不过拥有B或I的技能将使你更快地实现财务自由。从这个意义上说,每一个成功的E都应该努力使自己成为一个成功的I。
2025-01-25 18:01:30
198
原创 MySQL DCL 数据控制
host指定该用户在哪个主机上可以登录,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登录,可以使用通配符%。则在使用下面的命令撤销用户对所有数据库表权限时,并不能撤销该用户对test数据库中user表的SELECT权限。撤销用户某个库表的权限时,使用下面命令也不能撤销该用户对test数据库中user表的SELECT权限。password是用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登录MySQL服务器。
2025-01-17 21:32:27
1532
原创 C++ static 关键字
在类中声明的成员变量或成员函数如果使用 static,那么它们属于类本身,而不是类的某个实例。静态成员可以在没有创建类实例的情况下访问,且所有实例共享同一份静态成员数据。public:// 静态成员变量// 静态成员变量的定义// 输出 Count: 2return 0;
2025-01-16 17:22:04
371
原创 《富爸爸穷爸爸》金句
书中的某些观念思维很奇特,作为自己的第一本理财书,记录下对自己传统观念冲击较大的思维。做个大致总结,雁过留痕,以防今后忘记。要大胆做出这样的抉择,对自己而言,
2025-01-16 13:25:45
396
原创 GORM CRUD 10 分钟快速上手
使用ORM组件,可以让开发者通过操作对象的方式完成对数据库的操作(读写),避免手动书写SQL和完成数据到对象的转换,让我们更方便的操作数据库。填入DB对应的正确的用户名、密码、地址、端口、数据库名称等信息后,便可建立对应数据源的连接。字段后的tag用来定义字段在DB中的相关属性,如primarykey表示主键,index表示索引,type表示字段类型。本文简单介绍了ORM、GORM、以及GORM连接数据库,创建数据表和CRUD的简单操作,帮忙新手快速上手。
2025-01-14 18:31:31
2497
原创 软件有哪些部署环境
软件系统在开发、测试和部署的过程中通常会涉及多个部署环境。每个环境都有其特定的目的和配置,以支持软件的生命周期的不同阶段。不同环境之间都是独立的,相互隔离,互不影响。本文将列举一些常见的软件系统环境。
2025-01-09 21:06:36
416
原创 git tag
同大多数 VCS 一样,Git 也可以对某一时间点的版本打上标签,用于版本的发布管理。一个版本发布时,我们可以为当前版本打上类似于 v.1.0.1、v.1.0.2 这样的 Tag。一个 Tag 指向一个 Commit ID,同时还可以为 Tag 添加备注,如当前的版本功能。
2025-01-07 21:28:34
1169
原创 《富爸爸投资指南》金句
我仅仅把金钱看做一种交换的媒介。事实上,金钱本身没有多大价值。所以我一有钱,就想用它去交换有价值的东西。投资是计划,不是产品或过程。
2024-12-22 12:56:11
225
原创 后台运维操作建议
系统发布规范是指在软件系统开发和部署过程中,为了确保系统的稳定性、安全性和可维护性而制定的一系列标准和流程。服务配置变更是系统维护和优化的重要操作,但如果配置变更过程中出现错误,可能会导致线上问题。服务下线属于高危高作,可能会对系统的可用性和用户体验产生负面影响。为减少服务下线所带来的问题需要制定严格的规范流程和应急措施。发布依赖问题通常涉及到在软件发布过程中,系统组件、库或服务的依赖关系出现不一致或冲突,可能导致应用程序运行不稳定或失败。版本升级是软件维护和演进中的关键环节,但它可能带来一系列问题。
2024-12-19 21:34:37
1108
原创 微服务设计原则——功能设计
大的数据库事务,会造成其他客户端对数据库连接的请求获取不到,那么和这个数据库相关的所有服务都有可能处于等待状态,造成数据库连接池被打满,多个服务直接宕掉。【强制】在实现涉及数字精度处理的业务逻辑前,必须与需求方(如产品经理)确认需求的详细描述和业务背景,确保精度设计符合业务需求。在分布式系统中,生成全局唯一ID是非常重要的需求,因为需要确保不同节点、服务或实例在并发操作时不会生成相同的ID。【建议】合理的舍入策略,比如四舍五入:在进行浮点数计算时,可以使用四舍五入来减少累积误差。
2024-12-19 21:03:31
900
原创 DDD(领域驱动设计)—— 微服务架构
微服务架构模型有好多种,例如洋葱架构、六边形架构和 CQRS 架构等等。种架构模式虽然提出的时代和背景不同,但其核心理念都是为了设计出高内聚低耦合的架构,轻松实现架构演进。DDD 分层架构的出现,使架构边界变得越来越清晰,它在微服务架构模型中,占有非常重要的位置。
2024-12-14 14:19:12
1770
原创 DDD(领域驱动设计)—— 概念篇
领域驱动设计是一种复杂软件系统建模与设计方法论。DDD 的核心思想是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性。DDD 不仅可以用于微服务设计,还可以很好地应用于企业中台的设计,也适用于传统的单体应用。本篇文章主要介绍 DDD 的相关概念,让初学者对 DDD 有一个基础认知。本文简单介绍了 DDD 中常见的核心概念,这些概念共同构成了领域驱动设计的框架。
2024-12-09 18:39:48
2844
1
原创 Go 1.23 is released(翻译)
Dmitri Shuralyov,代表 Go 团队。2024 年 8 月 13 日。今天,Go 团队很高兴发布 Go 1.23,您可以通过访问获取它。如果您的计算机上已安装 Go 1.22 或 Go 1.21,您也可以在现有模块中尝试 go get toolchain@go1.23.0。这将下载新的工具链,让您立即开始在模块中使用它。稍后,当您准备好完全切换到 Go 1.23 并将其作为模块所需的最低 Go 版本时,您可以跟进 go get go@1.23.0。有关此功能的更多信息,请参阅。
2024-11-19 21:05:30
1162
1
翻译 Go 1.22 发行说明(翻译)
最新的 Go 1.22 比 Go 1.21 晚了 6 个月。它的大部分变化都在工具链、运行时和库的实现中。与往常一样,该版本保持了 Go 1 的兼容性承诺。我们期望几乎所有的Go程序都能像以前一样编译和运行。
2024-11-18 18:09:40
248
原创 git commit
git commit用于将工作区或暂存区的变更提交至仓库。每次使用 git commit 都会在本地版本库通过 SHA1 生成一个40 位的哈希值,这个哈希值也叫 commit-id。commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来任何时候通过git reset命令回退到指定版本。
2024-11-18 10:50:31
1009
翻译 Go 1.21 发行说明(翻译)
最新 Go 版本 1.21 在 Go 1.20 发布六个月后发布。它的大部分变化在于工具链、运行时和库的实现。与往常一样,该版本保持了 Go 1 的兼容性承诺。我们期望几乎所有 Go 程序都能像以前一样继续编译和运行。Go 1.21 对版本编号进行了小幅更改。过去,我们使用 Go 1.N 来指代整个 Go 语言版本和发行系列以及该系列中的第一个发行版。从 Go 1.21 开始,第一个发行版现在是 Go 1.N.0。今天,我们发布了 Go 1.21 语言及其初始实现,即 Go 1.21.0 发行版。
2024-11-17 13:19:39
196
原创 gomonkey 快速上手
gomonkey是一个使单元测试中 Monkey Patching 变得简单的库,Monkey Patching 的核心思想来自Bouke,你可以阅读来了解其工作原理。
2024-11-10 18:25:59
1126
原创 sysctl(8) command
sysctl(8) 是 Unix 和 Linux 系统中的一个管理和调试工具,用于在运行时查看和修改内核参数。该命令可以调整系统性能、优化网络设置以及管理内核行为,使系统管理员能根据实际需求进行系统调优。sysctl 命令的核心作用是管理系统内核参数,这些参数可以影响内核的多种行为。sysctl 常用于网络配置、文件系统优化、安全设置等多个方面。其主要的工作机制是对 /proc/sys/ 文件系统中的虚拟文件进行读取和修改,通常可以通过修改这些参数来调优系统性能,而不需要重启服务器。
2024-11-03 17:28:04
375
原创 git submodule
git submodule 用于管理子模块。有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。也许是第三方库,或者你独立开发的,用于多个父项目的库。现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。Git 通过子模块来解决这个问题。子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。
2024-11-03 16:35:49
1219
原创 Git 的特殊配置文件
Git 是一个强大的版本控制系统,它使用多个配置文件来管理项目的行为和设置。Git 默认是不跟踪空文件夹和空目录的,所以要想推送空文件夹或空目录,就必须在里面放一个文件,即使是空文件也行,但必须要有。于是,就有了一个不成文的规定,通常我们放一个名为 .gitkeep 的文件到空文件夹或空目录,以此实现其 Git 跟踪。该规定并没有在官方文档中定义,只是一个公认的约定罢了。.gitkeep 实则是一个空的占位文件,并没有其它特性,通俗点讲,.fu*k 可以实现和 .gitkeep 相同的功能。
2024-10-29 14:11:45
1477
原创 git ls-remote
git ls-remote 是一个 Git 命令,用于列出远程 Git 仓库的引用(refs),包括分支、标签等。这个命令非常有用,可以帮助你查看远程仓库中可用的分支和标签,而不需要将整个仓库克隆到本地。
2024-10-27 20:32:14
952
原创 go clean command
在 Go 语言的开发过程中,管理依赖和构建缓存是非常重要的。随着项目的迭代,旧的缓存和不再需要的依赖可能会影响构建的效率和准确性。Go 提供了一个非常实用的命令 go clean,可以帮助开发者清理不需要的文件和缓存。
2024-10-11 10:24:50
1066
原创 wrk(1) command
wrk 是由 Will Glozer 开发的,并首次发布于 2012 年。wrk 是一个现代的 HTTP 压力测试工具,利用现代多线程技术和高效的网络 I/O 处理,能够生成大量的并发请求,用以测试 HTTP 服务器的性能。它是作为一种更现代的压力测试工具而设计的,旨在替代旧的工具如 Apache HTTP server benchmarking tool (ab)。wrk 能够在保持高并发的同时,提供准确和详细的性能测试结果,包括吞吐率、延迟和错误率等。wrk 非常适合于高负载测试和性能分析。
2024-09-23 21:58:48
913
原创 sar(1) command
sar(System Activity Report)收集、报告或保存系统活动信息。sar(System Activity Report)是一个用于监控和报告系统性能的命令行工具。它是 sysstat 套件的一部分,能够收集和报告各种系统活动的信息,包括 CPU 使用率、内存使用情况、磁盘 I/O 等。通过定期收集数据,sar 可以帮助系统管理员分析性能瓶颈并进行优化。
2024-09-21 22:27:46
485
原创 htop(1) command
htop 是一种交互式、跨平台的基于ncurses的进程查看器。类似于top,但 htop 允许您垂直和水平滚动,并使用指向设备(鼠标)进行交互。您可以观察系统上运行的所有进程,以及它们的命令行参数,还可以以树形格式查看它们,选择多个进程并同时对它们进行操作。与进程相关的任务(终止、变更优先级)可以在不输入其 PID 的情况下完成。
2024-09-19 21:40:17
788
原创 openssl(1) command
openssl 命令行接口提供了多种子命令,支持从生成密钥和证书,到加密解密文件,再到测试 SSL/TLS 服务器等多种功能。这使得 openssl 成为系统管理员、开发人员和安全专家的重要工具。
2024-09-17 21:57:04
1142
原创 PEM 格式
pem 文件扩展名代表“Privacy Enhanced Mail”,但它被用于比电子邮件更广泛的上下文中,主要关联于加密、SSL/TLS 和证书管理。PEM 格式是一种用于存储和发送加密信息的标准,包括证书(如 SSL/TLS 服务器和客户端证书)、私钥、公钥和其他相关数据。
2024-09-17 20:24:59
1573
原创 Git 分支规范
Git 分支规范是一套约定,用以指导团队成员如何命名和管理Git仓库中的分支。这些规范有助于团队成员快速理解各个分支的作用,以及它们在项目中如何被使用。实施一致的分支规范可以提高团队协作效率,简化版本控制流程,并帮助自动化持续集成/持续部署(CI/CD)流程。
2024-09-12 20:30:11
967
原创 getopts(1) builtin command
getopts 是 Shell 内建命令,用于解析位置参数。getopts 是一个简化版的 getopt,出现的目的仅仅是为了代替 getopt 较快捷方便的执行参数分析。getopts 语法相对简单,不支持长选项(以--开头的长选项,如--help如果遇到非选项(非开头)参数就终止解析,后面的选项和参数将不会被解析。
2024-09-01 22:59:30
1150
1
原创 Golang 字面量的表示
在 Go 语言中,字面量是用来表示固定值的表达式。Go 支持几种类型的字面量,包括整型、浮点型、字符串、字符、布尔值以及复合类型(如数组、切片、结构体、映射等)。下面我将介绍一些在 Go 语言中使用字面量的常见技巧和最佳实践。
2024-08-30 16:06:12
1083
4
tinyxml2+示例代码+介绍文档
2015-09-26
HTML 如何设置图片宽高分别为原宽高的不同比例?
2020-08-22
Google C++编程风格指南中6.10节流中不支持字符串操作符重新排序 什么意思
2018-08-05
C++模板元编程和编写模板有什么区别?
2018-06-17
g++ -S将源码编译成汇编代码,使用的是哪个工具?
2018-06-11
从长度为n的数组中找出同时满足下面两个条件的所有元素,时间复杂度为O(n)。
2018-05-28
为什么C++局部数组变量地址间隔是16字节的倍数?
2018-05-17
缓冲溢出,为什么不报错?
2018-05-16
RLF、HRLF控制字符到底是什么
2018-05-10
printf关于浮点数的四舍五入的奇怪问题?
2018-05-09
stringstream的输入与输出的用法
2018-03-19
使用JS如何获取剪贴板内容
2018-03-06
Linux命名管道为什么叫FIFO?
2018-02-07
Linux下printf与wprintf不能同时使用?
2018-01-15
C标准库函数setvbuf的名称全称
2018-01-15
mysql count distinct 加条件
2017-06-15
awk如何获取除最后一行的所有行?
2017-05-19
rz命令如何上传文件夹
2017-05-07
CSS浮动为什么不会遮盖同级元素
2015-09-17
Linux下系统调用execl会等待一段时间才执行指定的可执行程序?
2015-09-11
为什么 Go range slice 时通过下标和值拷贝的性能是一样的?
2022-03-17
反向代理的上游服务指的是什么?
2021-03-12
Golang 接口类型可以有数据成员吗
2020-12-02
GoLand 如何自动批量换行
2020-10-07
Golang 如何进行标准错误输出
2019-12-24
git branch -dr origin/<branchname> 无法删除远端分支
2019-09-16
golang main包可以被import吗
2019-06-11
golang小数默认是float32还是float64?
2019-05-28
golang const 可以修饰函数形参吗
2019-05-28
ldconfig命令全称是什么呢?
2019-04-02
golang的struc成员后跟字符串有什么作用?
2019-03-15
Linux中 链接器 ld 命令的全称是什么英文单词?
2019-03-12
ssh命令默认端口如何查看
2019-02-15
ssh客户端为什么不指定端口也可以登录成功
2019-02-15
C/C++的预处理文件的后缀为什么约定为.i
2019-01-24
go为什么不能获取字符串某个字符地址?
2019-01-13
date命令将时间戳转为可读时间为什么需要加@符号
2018-12-06
GNU C++定义对象时对象名称被括号包围且前面有个下划线是什么意思
2018-10-09
git merge可以操作远端分支吗?
2018-08-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人