- 博客(667)
- 资源 (34)
- 问答 (1)
- 收藏
- 关注

转载 (二)设计模式 6 大原则
文章目录转载声明1.六大原则-单一职责原则2.六大原则-里氏替换原则3.六大原则-依赖倒置原则4.六大原则-接口隔离原则5.六大原则-迪米特法则6.六大原则-开放封闭原则转载声明http://baijiahao.baidu.com/s?id=1645013441658118287&wfr=spider&for=pc软件设计模式,简称设计模式,它是一种反反复复被使用,多数人经过分类编目的,代码设计经验的总结。使用设计模式可以为了减少重复的代码,让代码变得更加简洁,让人更加容易理解,保证代
2021-09-02 16:37:40
206

原创 0.3、Spring源码学习-从一个UML模型讲起
文章目录前言本文的灵感给出一个UML图提出第一个问题提出第二个问题接口-父类-子类 模型的好处前言体能状态先于精神状态,习惯先于决心,聚焦先于喜好。本文的灵感最近的几个星期笔者在工作开发和Sping 源码学习中看到了一些“新奇”的代码写法,与此产生了一些灵感。开发中遇到的情况是这样的,笔者需要对一个对账功能进行改造,现有程序有两个特点,一个是对账功能无法指定时间,由定时任务调用...
2019-05-30 22:05:19
561
2

原创 (四)UML-接口
文章目录前言接口的一些小特性UML 中的接口前言接口的 UML 图要简单很多,原因在于接口的常规用法是非常有限的接口的一些小特性变量本身不可被覆盖重写,也不允许子类重名接口的变量默认就是 public final static 修饰的接口的 方法默认就是 public abstract 修饰的接口可以不用 public 修饰,尽可以被包内实现或者继承UML 中的接口...
2018-12-08 16:13:46
5990
原创 Cursor 开启 agent无需每一步骤确认模式(yolo mode)
但是删除文件还是需要谨慎,因此下面那个 delete file protection 需要特别勾选上。在设置时可以勾选 Enable yolo mode。
2025-04-28 14:21:40
203
原创 在 Cursor 中 配置 GitHub MCP Server
可以看到,自动调用了 MCP tool sequentialthinking,思考了 5 步。在 agent 模式下提出问题:如何在 cursor 配置 github mcp 呢。在 sequentialthinking MCP server 状态正常的前提下。这个 MCP 是一个可以自己思考并且自主调度其它 MCP Tool。首次进来,把 token 粘贴进去,点击 Connect。Github 最火爆的 MCP server (我们已经在上一篇文章中安装了。还提示我确认下用户名一类的。
2025-04-27 17:13:20
1054
原创 Cursor 配置 MCP(Model Context Protocol)
我们以 Sequential Thinking 这个 MCP Server 作为 demo 配置一下。配置完毕后,如果前面的点是绿色的,表示正常,否则表示配置没有生效。中 @xxx 部分 替换为 github 开源项目中提供的原始命令。Command 直接填写上面得到的。Type 选择 command。Name 是自定义的。你可以获取的命令就是。
2025-04-25 17:56:05
440
原创 Cursor 设置规则
比如你有一个现成的项目,你可以让 agent 自己总结出规则,然后添加到总规则中。注意,最开始规则设置已经作废(下图下面的红框)
2025-04-22 22:58:20
184
原创 Terminal 光标操作快捷键
3、清除屏幕: ctrl + l。5、清除当前行: ctrl + u。Terminal 光标操作快捷键(Mac 环境)7、单词为单位移动:option + 方向键。6、清除至当前行尾: ctrl + k。1、将光标移动到行首:ctrl + a。2、将光标移动到行尾:ctrl + e。4、搜索以前使用命令:ctrl + r。
2025-02-24 10:24:38
124
原创 C# 服务生命周期:Singleton、Scoped、Transient
在后端服务中(例如使用 ASP.NET Core 的应用程序),Scoped 和 Transient 是两种常用的服务生命周期管理方式,它们定义了服务实例的创建和使用方式。Transient :使用 Transient 主要是为了实现无状态的轻量级服务,每次都可创建独立实例的使用场景。即,每次获取服务都会得到一个新的实例。Scoped :使用 Scoped 主要是针对应用的请求/会话生命周期,适合单请求内的数据一致性场景。如果你将它注册为作用域服务,每个作用域(例如 HTTP 请求)中会创建一个新的实例。
2025-01-06 11:30:27
1212
原创 基于 Solana Playground (pg模式)发行自定义参数的代币
需要注意的是,Solana 的账户体系在发币过程需要三个账号。你的登录账号(用于付费)-代币账号-关联账号(用于承接发行的额度)
2025-01-03 11:57:14
1079
原创 从代币角度介绍solana账户体系
包含字段如:lamports(SOL的数量)、allocated data(分配的数据大小,以字节为单位)、owner(账户所有者程序的地址)、executable(一个布尔值,指示账户是否可执行)。• 租金(Rent):• Solana上的账户需要以SOL为单位的租赁押金,与存储的数据量成正比,该押金在账户关闭时可全额退还。这个账户包含了代币的基本信息,如铸币机构(即被授权铸造该代币的公钥),可以冻结代币账户的Freeze Authority,以及代币的总供应量、小数位数等附加数据。• 租金是可退还的。
2024-12-21 20:23:05
968
原创 (二十四)、在 k8s 中部署自己的 jar 镜像(以 springcloud web 项目为例)
Dockerfile 和 bestcxx-starter-deployment.yaml 文件内容下面介绍以openjdk 镜像为基础,生成新的自定义镜像# 使用官方的Java运行时作为父镜像# 将当前目录下的可执行jar包复制到容器中的/app目录下# 声明容器运行时需要开放的端口# 设置容器启动时执行的命令可能因为网络问题失败,因此提前运行 docker pull openjdk:8-jre-alpine ,一次即可。
2024-10-28 02:19:18
2152
2
原创 (二十三)、k8s(minikube) 部署mysql
Mac,注意芯片类型 和 workbench 版本适配(workbench最新版 8.0.40,对于image mysql:version, version 的值 M2 版本 8.0.30, Intel 芯片 8.0)在 MySQL Workbench 中,点击 Help 菜单,然后选择 About MySQL Workbench 查看版本。kubectl exec -it – mysql --version 查看k8s 中 mysql 版本。
2024-10-25 00:20:40
859
原创 (二十二)、k8s 中的关键概念
真实物理机(Physical Machine)定义:这是运行 Kubernetes 集群的实际硬件。角色:提供计算、存储和网络资源。集群(Cluster)定义:由多个节点(Node)组成的集合,形成一个统一的计算环境。角色:管理和调度容器化应用,提供高可用性和负载均衡。Node定义:Kubernetes 集群中的一个工作机器,可以是物理机或虚拟机。角色:运行容器化应用的实际环境。Node 上运行一个或多个 Pod。
2024-10-24 09:31:32
1238
原创 (二十)、从宿主机访问 k8s(minikube) 发布的 redis 服务
这个命令是特定于minikube环境的,它不仅列出名为redis-service的服务,还会自动配置你的主机的浏览器或默认的服务访问工具来访问该服务。这个命令用于获取集群中所有节点的信息,并且使用 -o wide 参数来显示更多的列,比如节点的IP地址和其他详细信息。输出将展示服务的名字、类型、端口、IP地址以及创建时间等信息。redis 对应的 pod 的内部ip是10.244.0.12,我们配置的端口映射为 6379->6379。VC Code (安装了 k8s 拓展插件 )
2024-10-16 09:49:39
1571
原创 (十九)、使用 minikube 运行k8s 集群
因为网络原因可能会报错,采用这个方法即可,自己会重试,重试期间可以自己运行下面命令,下面会手动下载一个镜像,然后启动,按照网上通用的安装虚拟机等命令没有行得通,最后本文上面的方法成功了(完全卸载了DockerDesktop 重新安装)然后重启 docker desktop,成功后看到下面内容就可以了。运行起来后,CPU 疯转(Activity monitor)
2024-10-14 23:55:29
1009
原创 (十七)、Mac 安装k8s (直接使用 Docker Desktop)
先把 https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml 内容保存到本地,比如存储为文件 aaa.txt。http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 出现页面即可。先确认状态,正常的话会有两个运行状态。
2024-09-28 22:23:26
3091
原创 (十六)、把镜像推送到私有化 Docker 仓库
当你使用 localhost:5000 作为镜像标签的一部分时,Docker 客户端会知道你要推送到本地的 Docker Registry。通过指定 ip和端口,可以把tag推送到本地仓库。本地 5001 映射 容器 5000 端口。前缀 localhost:5001。
2024-09-17 19:10:09
1040
原创 (十四)、为 SpringCloud 项目生成 Docker 镜像
为 SpringCloud 项目生成自定义镜像的基础镜像是 Java jdk镜像,基于此,添加 SpringCloud 启动模块的 jar 包,生成一个新镜像。这种原因是网络不好,可以使用命令行单独拉取镜像,然后再运行 build。中,基于 Nginx 已有镜像,可以生成新的自定义镜像。配置国内镜像源&清理缓存&手动拉镜像&build。docker-compose up -d 运行。顺利的话,你可以在本地看到新生成了镜像了。在文件夹目录下打开命令行,执行命令。在文件夹目录下直接运行。
2024-09-11 00:21:53
1004
1
原创 (十三)、将一个 SpringCloud 微服务运行 以 jar 方式运行
把 SpringCloud 项目打包获得 jar ,然后把 jar 基于 jdk 镜像打一个新镜像即可。
2024-09-09 23:46:47
909
原创 (十二)、借助 Dockerfile生成新镜像-以nginx为例
Dockerfile 是一个文本文件,其中包含了一系列用于构建 Docker 镜像的指令。每个指令都会在镜像上执行特定的操作。末尾的点 表示 Dockerfile 文件的相对路径。
2024-09-05 09:09:44
404
原创 019、子组件向父组件传递参数 this.$emit
这里父组件通过 @fn=“clickMenu” 获得子组件的上传的参数,然后交给 clickMenu(i) 函数处理。this.$emit 是 Vue.js 中一个非常重要的方法,它允许子组件向父组件发送自定义事件,并传递数据。这里,调用子组件 hdClick 方法时,将 index 函数传递给父组件,自定义变量为 fn。data: 你要传递给父组件的数据,可以是任何类型,例如字符串、数字、对象、数组等。eventName: 你要发送的自定义事件的名称。父组件需要使用一个函数接受子组件传递来的参数。
2024-08-17 22:22:21
1048
原创 命名规则 Kebab-case、camelCase、Pascal case
总的来说,三种命名约定都有各自的优缺点和适用场景。在实际开发中,开发者应该根据编程语言、框架、团队等因素,选择合适的命名约定,保持代码的一致性和可读性。
2024-07-26 09:49:02
3010
原创 Wireshark 对 https 请求抓包并展示为明文
我们监听 https 需要连接外网,我本地通过 WIFI 连接,故选择 Wi-Fi:en0。可以在具体某一条上,右键->Follow ,选择 HTTP 或者 TLS 都是可以的。作用是,Chrome 浏览器会把 https 请求中的秘钥保存到指定的文件,下一步。比如我们访问 https://www.baidu.com ,然后随便搜什么。如果没有本文的设置,左下角这一块内容是没有的,只会有一个密文信息。如果是想监听本地,就选择 Loopback:lo0。此时捕获的包已经是明文,可以通过域名进行过滤。
2024-07-10 16:41:45
10158
5
原创 Es 集群偶报 Search document failed at index aaa.bbbindex :no such index [aaa.bbbindex]
这意味着数据的冗余性和高可用性暂时降低,因为只有主分片是活跃的,而副本分片(如果有的话)还没有准备好。这并不意味着数据丢失或服务中断,但集群的健壮性和性能可能不是最优。由于服务和环境无变动,且自动恢复,不删档索引颜色,因此从 Es自身猜想,Es 副本抖动。集群调整:集群可能正在进行重新平衡或恢复过程,在此期间某些分片可能暂时未分配。配置问题:索引可能被配置了过多的副本分片,超出了现有节点的承载能力。节点资源不足:集群中可能没有足够的节点或资源来承载所有的副本分片。过了一会,自己恢复了。
2024-07-10 11:36:26
414
原创 (十一) Docker compose 部署 Mysql 和 其它容器
在容器中部署 Mysql 会有三种网络分布类型:单独部署 mysql 容器,宿主机通过端口映射访问 容器 mysql使用两个 compose 文件,分别部署 mysql 容器和其它容器(比如 apollo 的 config-service、admin-service、portal)
2024-07-09 03:06:38
2904
原创 (十) Docker compose 本地部署 apollo
Portal 登录页面,查看 config-service、admin-service 运行状态。未来客户端通过下面 url 获取配置信息的拉取 url,即 homepageUrl 字段。客户端访问 http://127.0.0.1:8080/services/config。Portal 登录地址,默认登录账户 apollo/admin。配置 apollo.portal.meta.servers。service-config 配置查询接口。配置 eureka.service.url。
2024-07-07 19:33:19
1443
原创 (九)Docker 的网络通信
使用–network=host参数启动容器时,容器将使用宿主机的网络堆栈,这意味着容器的服务可以直接通过宿主机的IP地址和端口访问,但这通常不推荐用于生产环境,因为它破坏了容器的隔离性。如果容器连接到了一个自定义网络,并且这个网络被配置成与宿主机网络或其他网络桥接,那么这些网络上的主机可能能够识别并访问容器的IP地址或名称。在某些情况下,宿主机上的NAT(Network Address Translation)规则可能会允许外部网络访问容器内的服务。宿主机的8080端口的请求都会被转发到容器内的80端口。
2024-07-07 18:41:25
677
原创 mysql 字符集(character set)和排序规则(collation)
这意味着它可以表示所有的 Unicode 字符,包括基本多语言平面的字符以及补充平面字符(例如表情符号和历史文字)。utf8 和 utf8mb4 在表示基本多语言平面(BMP)字符时是兼容的,但在表示补充平面字符时,只有 utf8mb4 能正确处理这些字符。精确比较:当需要对字符串进行精确的、区分大小写的比较时,utf8mb4_bin 是理想的选择。区分字符顺序:比较时严格按照每个字符的二进制编码值进行,utf8mb4_bin 会区分所有字符的顺序,包括大小写字母和其他符号。
2024-07-05 16:49:49
1230
原创 不同“chatGPT”比较
帮我写一个 shell 脚本,运行子文件夹 Package_1、Package_2 到 Package_10 中的脚本 demo.sh 要求是各个子文件夹脚本异步执行国内免费:【通义千问】https://tongyi.aliyun.com/qianwen【文心一言】https://yiyan.baidu.com【豆包】https://www.doubao.com/chat【360 智脑】https://chat.360.com/chat归属主体:【阿里-通义千问-免费-国内可访问】https://t
2024-03-20 23:39:08
884
springbootthymeleafdemo.zip
2020-03-21
Maven SpringMVC 项目study.zip
2019-07-30
The Unarchiver Mac
2018-09-05
SpringWebFlowDemo
2017-09-18
apache-activemq-5.14.5-bin.zip一枚
2017-06-21
zookeeper-3.3.6.tar.gz
2017-06-18
maven聚合实例
2017-06-18
eclipse开发axis2需要的插件和axis2包
2016-12-26
手机文件压缩上传所需js文件
2016-12-21
二维码生成的3种场景
2016-11-10
SpringAOP_aspescj
2016-10-15
Spring AOP需要的jar
2016-09-28
javax.inject.jar
2016-09-19
Spring-framework-3.0
2016-09-07
微信开发-域名验证代码-java
2015-12-03
redis +tomcat8+jdk1.8 共享session出现这个问题
2017-12-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人