自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 [DDD架构]不同数据模型DTO、VO、PO、DAO、DO的含义

DDD中不同object的含义

2025-03-22 22:07:38 1091

原创 golang Error的一些坑

Go错误处理需规范预定义错误变量(如var ErrX = errors.New("x")),避免动态生成导致errors.Is失效;自定义错误应封装结构体并仅暴露接口,返回nil时确保接口类型为nil,防止非预期判断。优先使用errors.Is/As进行链式检查,规避指针和nil陷阱。

2025-03-22 13:59:50 1020

原创 CQRS (Command Query Responsibility Segregation,命令查询职责分离)

CQRS(命令查询职责分离)通过将数据写入(命令)与读取(查询)分离优化系统架构。在微服务场景中,数据分散导致查询效率低下时,可通过创建只读视图数据库聚合数据。该视图库订阅各服务领域事件,实时同步更新(如文档型NoSQL),解决跨服务查询性能问题。需权衡数据一致性(容忍短暂延迟,结合离线和在线数据)与系统复杂度。CQRS与DDD结合,支持高并发读写分离场景,适用于订单状态等动态业务,提升扩展性和响应速度。

2025-03-13 23:43:45 912

原创 【大厂文章学习】腾讯会议高性能录制列表查询系统设计实践

👋 大家好,我是思无邪,某go中厂开发工程师,也是OSPP2024的学生参与者!🚀 如果你觉得我的文章有帮助,记得三连支持一下哦!🍂 目前正在深入研究源码,与你们一起进步,共同攻克编程难关!📝 欢迎关注我的公众号【小菜先生的编程随想】,一起学习、一起成长,勇敢面对互联网寒冬!💡。

2025-02-05 18:51:38 891

原创 Golang sync.pool源码解析

sync.Pool 是 Go 中用于对象复用的工具,可减少频繁创建和销毁对象的开销,从而优化内存使用和降低 GC 压力。本文通过分析其用法、真实案例及源码结构,详细解读了 sync.Pool 的读写流程及其背后的高效设计思想,为性能优化提供了实用参考。

2025-01-24 14:06:24 1002

原创 【大厂文章学习】合并编译的学习与思考

合并编译通过将微服务的远程调用优化为本地函数调用,显著降低CPU开销和容器资源需求,但需权衡服务隔离、版本管理等挑战,适用于资源密集、调用关系紧密的场景。

2025-01-22 20:46:07 470

原创 对rpc长连接与短连接的思考

RPC项目中长连接和短连接各有优劣,长连接适用于少量客户端,提高效率;短连接则更适合大量客户端,避免服务器过载。结合L4和L7负载均衡,合理选择连接方式,提升系统性能和稳定性。

2025-01-16 21:34:55 711

原创 Timer、Ticker使用及其注意事项

在 Golang 中,Timer 和 Ticker 是常用的定时器工具,但它们的使用易出错,尤其是初学者。本文将深入探讨定时器的正确使用方式、常见误区,并通过源码解读帮助你更好地理解它们的工作原理。

2025-01-06 23:41:55 1092

原创 golang1.23版本之前 Timer Reset方法无法正确使用

在 Go 1.23 之前,正确使用 Timer.Reset 是一个挑战,因为 Stop 和抽取操作之间的状态可能不一致,导致定时器异常触发。最好的做法是避免复用定时器,每次都创建一个新的定时器,这样代码更简洁、健壮,也更容易维护。

2025-01-06 00:45:48 623

原创 关于重构一点简单想法

在当前的工作背景下,组内正面临PHP到Go技术栈迁移的挑战,导致开发过程中需要同时考虑两种技术栈的逻辑。随着项目复杂度的增加,开发效率下降、bug频发,因此,重构成为了提高后续维护和开发效率的关键手段。

2025-01-05 15:17:08 891

原创 秒杀场景的设计思考

秒杀场景是大家常说的高并发场景,但是实际上其与单纯的高并发还有一点不同,主要区别就是其流量来的猛增,几乎是一个垂直的增长,而非线性增长的并发。瞬时高并发读多写少不能超卖秒杀场景是一个高可用场景中的典型类型,其拥有:高并发、读多写少、严格数据保证(不能超卖)的特点。首先的思路是降低直接打入DB的并发量,可以考虑分层降低流量和增加步骤等操作降低并发。其次库存扣减时机和超卖问题也有很多值得讨论的地方。最后,再复杂的设计也有可能发生意外,因此我们必须考虑高可用的方案(planb)。

2024-12-29 21:47:51 1262

原创 MySQL分页性能思考

MySQL分页性能思考及其应用

2024-12-22 01:21:09 1018

原创 关于分布式锁的的思考

关于分布式锁的的思考

2024-12-21 14:18:09 737

原创 阿里云开启ssl证书过程记录 NGINX

🤞作者简介:大家好,我是思无邪,2024 毕业生,某厂 Go 开发工程师.。,持续更新,希望对你有帮助。🐞如果文章或网站知识点有错误的地方,烦请指正!和大家一起学习,一起进步👀🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦在阿里云租用了一个云服务器,已经开启了 DNS,但是还没有配置 ssl 证书,访问的时候由于是 http 访问,因此安全性没有保障。而且没有开启 https 会有浏览器提示不安全、搜索引擎不索引等弊端。这里开启了,今天记录一下过程。

2024-06-25 21:15:47 683 2

原创 项目中协程加入的原因和过程分享

欢迎大家给项目来个star哈哈哈。在中本仓库完成了加入协程库,因为协程作为一个比较大的特性,所以在这里分享一下加入协程的前世今生,也希望得到大家的指点。

2024-02-27 19:55:26 958

原创 SourceTree SSH第一次登录需要交互确认的问题

2.初始化putty。因为source Tree好像是使用putty作为秘钥验证的工具。这样的话就一直没法提交代码了。1.在界面上使用命令行模式推送代码。

2023-12-31 13:09:43 1005

原创 vscode python remote debug极速入门

当前工作目录(current work directory),因为代码项目中可能会涉及到使用相对路径,如果不改工作目录的话就可能会出现问题,一般来说这个就改到。注意:这时候修改了程序的话需要重新启动debug才会按照你修改之后的程序运行,不重新启动的话运行逻辑还是修改之前的。文件所在的目录,或者按照项目的README.md文件中的目录写即可。:要启动的主程序,个人习惯写绝对路径,好像相对路径也是可以的。:这次debug项目的名字,可以任意取。3.启动:点击绿色三角即可。:附带的参数,每个参数用。

2023-11-12 15:02:11 265

原创 使用_begin{thebibliography}__bibitem 如何参考文献

本人是tex新手,如果各位大佬有更好的方法欢迎分享,不胜感激。

2023-11-01 10:13:33 1321

原创 三、深度学习分类模型的代码讲解 持续更新 2023年MathorCup大数据竞赛A题基于计算机视觉的坑洼道路检测和识别 思路论文代码

本文用于如何使用深度学习处理分类问题。在前面的文章中我们明确了最关键的是将该问题看做(转换)成一个深度学习处理图片分类的问题。那么只有了解如何使用深度学习处理一个基本的分类问题,再根据本文将其适配到本文的问题上即可。当然后续还需要更多的调优以及针对该问题对模型和处理步骤做出一些调整才能达到更高的准确率以及完成论文。

2023-10-31 20:26:46 238

原创 二、深度学习分类模型的理论基础 2023年MathorCup大数据竞赛A题基于计算机视觉的坑洼道路检测和识别 思路论文代码 持续更新

到这里就已经明白了深度学习分类模型的输入输出的含义,其中的模块又如何设计就比较复杂了,虽然复杂,但是其大部分都是 卷积+bn+relu 这样的单元嵌套,也有一定章法可循,后续如果有必要再拿出来说道说道。经过Softmax之后,1000个值的绝对大小发生了改变,但是其元素的相对顺序并没有改变,这1000个值,每个值表示对应类别的概率值,概率值越大表示模型认为该样本属于该类别的可能性越高。卷积层C3:有384个核,核大小为3 × 3 × 256,与卷积层C2的输出(归一化的,池化的)相连。

2023-10-30 21:04:43 236

原创 一、赛题及其思路分析 ---持续更新 ---2023年MathorCup大数据竞赛A题基于计算机视觉的坑洼道路检测和识别 思路论文代码

其实本题在实现上的一个最基础的理论基础就是:深度学习的xx模型。而深度学习发展到这么多年,其分类模型数不胜数,在建模如此短的时间需要学完是不可能的,尤其是以前没怎么接触过深度学习的同学,而且本题目只是数学建模中的一道题,如果难度太高思路全部需要原创显然是不现实的。在坑洼道路检测任务中,传统的分类算法往往不能取得很好的效果,因为坑洼图像的特征往往是非常复杂和多变的。问题 1: 结合给出的图像文件,提取图像特征,建立一个识别率高、速度快、分类准确的模型,用于识别图像中的道路是正常或者坑洼。

2023-10-30 20:38:55 192

原创 python ModuleNotFoundError_ No module named ‘xxx‘的解决方案

本文主要针对的自己写的包无法正常import的情况,如果是第三方包的话正常来说没有问题。

2023-10-26 21:33:56 533

原创 google gtest框架入门使用案例

急速入门、资源网站。

2023-10-16 13:44:13 99

原创 笔试算法题分享

​ dp含义:dp[i][j]表示考虑前i个数字的情况下,组合成j的最少数字个数。​ a.当天箭头的数量是前面箭头数量和+1,由。如果写过斐波拉切数列那么本题思路就会比较明确。只需要输出最后的个数,因此大概率是dp。​ 属性:最小值,最少数字个数。

2023-10-10 14:02:52 137

原创 rpc项目中的长连接与短连接的思考

类似于http的长连接和短连接的概念,rpc项目中的短连接是指处理完一次rpc请求后就断开连接,长连接是指处理完一次rpc请求后不断开连接,复用连接。http中长连接是指处理完一次http请求和响应之后不断开tcp连接,http短连接是指处理完一次http请求和响应之后断开tcp连接(一般是服务器断开,至于为什么是服务器断开,则又是一篇小文章了hhh)。

2023-10-10 13:34:39 611

原创 2021-10-24 springboot学习——黑马视频补充

文章目录前言一、SpringBoot读取配置文件的内容?二、SpringBoot整合Junit1.通过SpringInitializr快速创建SpringBoot项目2.调整测试类3.创建service类三、SpringBoot整合redis1.通过SpringInitializr快速创建SpringBoot项目2.测试:四、SpringBoot整合mybatis1.创建项目2.修改配置文件3.编写mapper.xml与mapper类4.运行测试:2.读入数据总结前言由于黑马视频的笔记比较少,故本文

2023-10-06 14:37:45 321 1

原创 LaTeX极速环境入门

本文只简单说明LaTeX环境如何安装,其他的请自己摸索。

2023-06-18 13:40:11 796

原创 内存淘汰策略|页面置换算法对比总结

当 Redis 进行内存淘汰时,会使用。

2023-04-06 22:45:21 430

原创 LeetCode 力扣 205. 同构字符串

给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例 1:输入:s = "egg", t = "add"输出:true示例 2:输入:s = "foo", t = "bar"输出:false示例 3:输入:s = "paper", t = "title"

2023-04-05 14:00:08 107

原创 mysql外键创建不成功/失效

当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约束时创建表格:stu与grade,目标:grade的id随着student的id级联更新,且限制删除。创建student表格: CREATE TABLE student ( id INT ( 8 ), NAME VARCHAR ( 20 ), department VARCHAR ( 20 ),INDEX ( id )) ENGINE = INNODB;创建grade表格:CREATE TA

2022-03-07 16:31:38 896

原创 2021-10-27 mybatisPlus学习的一些细节知识

Dao层1.在插入数据时,mybatisplus如果识别到实体类里面有个字段叫id,那么会默认把这个字段当成主键。当传入的实体id=null时,mp会自动生成一个全局唯一的主键如:==> Preparing: INSERT INTO table1_employee ( id, name, gender, email, dept_id ) VALUES ( ?, ?, ?, ?, ? )==> Parameters: 478154753(Integer), 王麻子(String), 1

2021-10-28 11:58:20 265

原创 2021-10-27 java源码学习2:接口和抽象类

1.接口和抽象类不同的应用场景:转载自:https://cloud.tencent.com/developer/article/1677833讲解的很好。2.接口与抽象类的不同,转载了一段:JDK1.8中对接口增加了新的特性:(1)、默认方法(default method):JDK 1.8允许给接口添加非抽象的方法实现,但必须使用default关键字修饰;定义了default的方法可以不被实现子类所实现,但只能被实现子类的对象调用;如果子类实现了多个接口,并且这些接口包含一样的默认方法,则子类必须重写默

2021-10-27 08:55:19 82

原创 2021-10-24 Java源码学习1:Iteger.parseInt方法

参考文章:https://juejin.cn/post/6844904104251097095转载(防止原页面失效):Integer#parseInt() 是我们经常使用的一个函数, 是 String 类提供的一个静态工具方法, 其作用就是将字符串的数字转换为 int 类型.一个更通用的 parseInt() 的方法拥有两个参数, 其函数签名定义如下:public static int parseInt(String s, int radix) throws NumberFormatExcepti

2021-10-25 18:43:23 164

原创 SSM整合

本次整合是基于Maven整合项目,首先放出整合后的文件目录:整合的总体思路:先启动SpringMVC,然后在MVC中配置引入spring的配置文件从而整合spring,最后在spring配置文件中引入配置mybatis的sqlsessionfactorybean来整合启动mybatis 正式开始1.引入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/P..

2021-10-22 10:18:08 84

原创 学习myBatis的一些坑

1.学习增删改方法时,sqlSession报空指针异常,以前可以正常使用的方法也报空指针异常解决方法: 开始写了mybatis不认识的integer,后改为Integer类的全类名就正常了(虽然mybatis对常用的类有自带的别名,但是个人觉得懒得记忆)猜测:mybatis在加载配置文件的时候也会加载全部的mapper文件,因此检索到异常后无法正常获取sqlSession对象。...

2021-10-15 11:08:16 105

原创 数据库错误:Parameter index out of range (1 > number of parameters, which is 0).

错误发生原因其实很简单,就是当设置参数时,没有相应的问号与之匹配(或者根本就没有?号).如果是:Parameter index out of range (26 > number of parameters, which is 25).翻译为:找到了25个问号,却插入了26个值,导致参数越界(根据得到的信息打印将很容易判断数据是否与数据库字段匹配等小问题)。与sql语句有关的原因如下:1.?号被单引号包围。(如setString(...

2021-08-07 14:00:42 667

原创 Java学习笔记 2021-7-10 2021-7-11 2021-7-16

Java学习笔记模块化模块化概述三级目录模块化模块化概述模块化的好处举例:三级目录

2021-07-16 17:38:49 152

原创 Java学习笔记 2021-7-1 2021-7-8

Java学习笔记Stream流1 Stream流的体验stream流的生成操作stream中间流操作filterlimit和skipconcat和distinctsortedmap和mapToIntstream终结操作stream流的收集操作三级目录Stream流1 Stream流的体验//附加:String s ="";,注意s.length()为0,但是此时s !=null;如果要实现需求:那么按照正常的操作:public static void main(String[] args)

2021-07-10 02:03:47 112

原创 Java学习 2021-6-19

Java学习笔记Lambda表达式Lambda表达式标准格式Lambda表达式的练习Lambda使用注意Lambda表达式和匿名内部类的区别接口组成更新(新特性)接口组成更新概述![在这里插入图片描述](https://img-blog.csdnimg.cn/20210619153119409.png)364 接口中的默认方法接口中的静态方法接口中的私有方法方法引用Lambda表达式支持的方法引用函数式接口函数式接口概述函数式接口作为方法的参数函数式接口作为方法的返回值常用函数式接口三级目录Lambda表

2021-07-01 14:12:17 100

原创 Java学习笔记 2021-6-12 2021-6-13 2021-6-14

Java学习笔记特殊操作流标准输入输出流打印流---字节打印流与字符打印流315 字符打印流对象序列化流与反序列化流对象序列化流对象反序列化流319 对象序列化流的一些问题特殊操作流标准输入输出流两个静态成员方法(可以直接通过类名调用):输入流演示:范例:实现键盘读取一个字符:public static void main(String[] args) throws IOException { //首先试着创建字节输入流 BufferedInputStream test = n

2021-06-12 22:03:11 2035 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除