- 博客(12)
- 收藏
- 关注
原创 golang——viper库学习记录
在实际项目开发中,一旦涉及到第三方中间件,就无可避免需要整合相关的配置信息,较典型的:MYSQL、REDIS数据库的相应配置(HOST、DATABASE、PASSWORD…)等。如果全都手动实现硬编码,的确,从运行等方面并无大问题,但着实不太方便、雅观。import ("flag""fmt""log""os""strconv"// Config 结构体定义应用配置// 1. 定义命令行参数。
2025-08-02 11:36:40
441
1
原创 session共享初步了解
对服务端而言,服务器无存储压力,可无限水平扩展,并且天然支持跨域和多端共享(如 Web、APP、小程序)。客户端发送请求到服务器,服务器生成唯一的session_id(通常为 32 位以上的随机字符串),并创建对应的 Session 数据(如用户 ID、登录时间、购物车内容等),随后通过 Cookie 将session_id返回给客户端。**Session 共享的核心目标,就是打破服务器本地存储的限制,让集群中的所有服务器都能访问到相同的 Session 数据,从而实现用户状态的跨节点一致性。
2025-07-26 10:30:34
362
原创 正则表达式及 Golang 中的应用
在现代软件开发中,文本处理是一项核心任务,而正则表达式(Regular Expression,简称 Regex)则是处理文本的瑞士军刀。其通过一种简洁的语法定义字符串的匹配模式,能够高效地完成复杂的文本检索、验证、替换和提取操作。正则表达式的应用场景几乎涵盖了所有需要处理文本的领域:Go语言亦内置了正则表达式支持,在其标准库包基于 RE2 引擎实现,保证了线性时间复杂度和线程安全性,非常适合在高性能应用中使用。正则表达式是由普通字符和元字符组成的字符串模式,用于描述一类字符串的特征。当我们使用正则表达式匹配
2025-07-18 21:00:53
658
2
原创 MYSQL学习——存储引擎/主InnoDB(部分)
存储引擎而得益于INNODB在.frm表定义文件.ibd数据文件和索引文件.frm表定义文件.myd数据文件.myi索引文件如果业务需要,InnoDB 几乎是唯一选择。而 MyISAM (等)仅适用于极少数简单场景(如只读报表、非事务型日志记录)。
2025-06-08 14:31:04
916
原创 数据结构学习——红黑树
红黑树是一种高效的自平衡的二叉查找树,在创建初期被称为平衡二叉B树(symmetric binary B-trees),后来才 修改为如今的红黑树。红黑树具有良好的效率,它可在O(logN) 时间内完成查找、增加、删除等操作。对于二叉搜索树,如果插入的数据是随机的,那么它就是接近平衡的二叉树,平衡的二叉树,它的操作效率(查询,插入,删除)效率较高,时间复杂度是O(logN)。但是可能会出现一种极端的情况,那就是插入的数据是有序的,导致整棵树变得不那么平衡,从而退化,那么所有的节点都会在根节点的同一侧。
2025-06-02 14:37:08
1034
原创 Go学习记录——runtime包
先前学习到goroutine协程与channel调节并发同步时,有涉及到关于runtime包管理goroutine运行时的知识点。由于没有接触过,并且出于goroutine的重要性(runtime听着很高大上)的原因,通过多方学习并博客记录。
2025-05-18 17:24:09
1023
原创 Go语言学习——协程(goroutine)调度初步学习
理解了goroutine调度原理,才能够更加得心应手地驾驭这个强大的工具。在实际开发中,记住:并发不是目的,而是手段;性能优化也不是盲目追求极限,而是在资源、可靠性和开发效率之间找到平衡。
2025-05-11 14:17:16
1132
原创 Go语言学习——slice及其底层逻辑
切片是用来描述底层数组的连续片段的数据结构,定义于runtime包中,本身并不保存数组数据,而只是保存数组连续片段的描述信息。通过结构体里的 array 段指针引用底层数组,长度和容量属性限制底层数组的读写片段。
2025-05-04 21:06:08
900
原创 数据结构——二叉搜索树(BST)
二叉搜索树(BST,Binary Search Tree)又称二叉排序树、二叉查找树首先,它可以是一棵空树;1. 非空左子树的所有键值小于其根节点的键值2. 非空右子树的所有键值大于其根节点的键值3. 左右子树也分别为二叉搜索树二叉搜索树一般不支持key值冗余(不允许有重复的key值)如图为一棵标准的二叉搜索树:相比较于常规的二叉树,二叉搜索树具有明显的大小区分度,对二叉搜索树进行中序遍历,所获取的键值便是严格从小到大排序的。
2025-04-27 15:47:54
1031
原创 数据结构——栈与堆的区别
栈(stack)及堆(heap)概念的最初了解起始于对C语言的基础学习。而对于他们的理解也只是浅尝辄止,停留在:栈内存由系统自动分配,函数调用时对其局部变量分配内存,调用结束则进行回收;堆内存由用户手动分配,需进行内存释放操作——即初步了解了free和malloc,calloc等;而在进行数据结构方面知识学习后,也进一步的对二者有了更深的理解应当说,对二者的初步理解总体上正确。在编程里,堆内存与栈内存属于内存管理的概念,二者在用途、分配方式、性能等方面,都存在显著差异。
2025-04-18 23:03:00
1432
原创 学生信息管理系统--C语言实现
虽然事前已经通过课设简单的完成过部分TTMS的模块,真正的到手上手自己独立的小项目,哪怕很多部分都很像,依旧感到有些困难。不过即使过程中很困难,做出一个哪怕这么很多方面有些草率的成品后,还是会有一些成就感,真正的感受的自己学的东西到底可以用来做什么,而不是考个试做个题这么简单。项目实现简单,请多指教!orz。
2025-04-11 13:10:15
823
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人