- 博客(81)
- 资源 (12)
- 收藏
- 关注
原创 shell实用笔记
使用shell脚本的一些基础技巧和经验。最今终于成为苦命打工人,写文章的机会也少多了。总结一下最近用的比较频繁的shell脚本编程,都只是简单介绍,个人为了回顾学习,以免遗忘了不好找资料看用的,跟大家分享一下,一起学习进步。
2024-08-04 20:24:37 923 1
转载 数据库设计范式及原则, 好文推荐
数据库设计范式及原则, 好文推荐。这是我之前在学习数据库表设计,拆表,设计表规则时候看到的文章。写的很好。故而转载以方便以后反复查阅。
2024-04-18 15:13:18 89 1
原创 使用 hiredis 客户端库封装一个简单的 Redis 类
redisConnect返回值都是靠redisContext连接上下文来接收的 eg: m_publish_context, m_subscribe_context,之后就通过操作redisContext对象来完成与Redis服务器的交互过程。然后,它会等待所有命令执行完成,并将执行结果存储在相应的回复对象中,以便程序后续处理。函数用于将输出缓冲区中的 Redis 命令发送到 Redis 服务器,并等待服务器的响应。它会阻塞当前线程,直到所有待发送的命令都已经发送完成,并且等待所有命令的执行结果返回。
2024-04-18 14:35:46 1012 3
原创 Web服务器架构设计(学习笔记)
Redis 的主从模式(1 master + n slave读写分离/负载均衡、应对读多写少,数据备份、主挂掉之后人工手动故障转移、恢复),sentinel/哨兵模式(自动切换、让哨兵节点进行监控故障的发生和转移,监控+通知+自动故障转移),cluster/集群模式(数据切片、横向扩展、打破单机硬件限制、适合数据量巨大的缓存场景)。在无状态服务中,虽然服务端通常不会直接存储客户端的会话信息,但是可以使用一些外部存储或者数据库来存储会话信息,实现类似于有状态服务的功能。比较适合流程简单,直观的开发场景。
2024-04-11 16:58:49 1434 5
原创 C/C++语言相关常见面试题总结
RTTI(Run-Time Type Information)是 C++ 提供的一种机制,用于在运行时获取对象的类型信息。RTTI 允许程序在运行时查询对象的类型,以便进行类型安全的操作,例如动态类型转换和异常处理。RTTI功能体现在两个运算符上:typeid运算符和dynamic_cast运算符typeid运算符,用于返回表达式的类型,可以通过基类的指针获取派生类的数据类型.因为虚表指针的初始化在构造函数中完成,由于此时虚表指针还没有完成初始化,所以基类的构造函数不能定义为虚函数。
2024-03-25 17:30:56 895 1
原创 春招面试高频题目总结
尽可能的利用抽象层隔离对具体对象的依赖),开闭原则(一个类应该对扩展开放,对修改关闭),组合优于继承,里氏替换(子类必须完成父类的职责),单例职责原则(一个类尽可能只有单一的一个变化点,只有一个引起它变化的原因)。因此,可以说聊天室应用中的即时通讯技术与发布订阅模式具有相似的机制和特点,都是为了实现消息的发布和订阅,以实现实时通讯的目的。怎么解决死锁的问题,如何避免死锁,定位死锁。通过以上优化查询的方法,可以有效提高MySQL在处理大表时的查询性能和效率,从而减少查询时间和资源消耗,提升系统的整体性能。
2024-03-19 11:52:05 874 3
原创 踩坑(乱改配置,电脑都打不开,无奈暴力重装)文末有惊喜喔
总结我的论文项目的傻逼开端。(想的很好,思路也对,也做了,但是过程和结果好像并不是想象中那么容易)故事讲解:本来我只有一台电脑,这个电脑上面东西比较杂。学习资料呀,笔记呀,各种软件呀就很多。我觉得呢?我如果在这台电脑上写毕设项目,一旦出现问题,尤其是环境问题之内的。我也不可能把这个电脑重装呀。那么多数据,备份也麻烦。加上也舍不得。于是一个想法在脑中萌生。买一台备用机,显卡可以垃圾,但是内存,处理器配置要好。于是我就找了一个不需要用到电脑的女孩子个体户买了一台二手的。刚买回来,很激动,很干净的环境。我兴致勃勃
2024-03-16 11:50:19 644 2
原创 消息队列思想学习(以及池化思想延展)
引言:为啥要把消息队列,池化技术放在一块进行思考,我觉着它们都利用队列容器来解耦合。都有着类似的思想在其中。也都有着生产者消费者的设计思想和理念在里面。
2024-03-16 11:06:51 1059 3
原创 从软硬件以及常见框架思考高并发设计
三高:高性能,高可靠/用,高可扩展。是在高并发基础之上的。想一想,如果只是上百并发量实现三高。对比上百万并发量实现三高。自然是后者更难。所以哦我们是站在高并发的基础上去研究高性能,高可用,高可扩展技术的。
2024-02-24 17:47:03 1294 1
原创 Mysql事务细节研究(进阶篇)
分享,成体系,避免无数知识碎片的冲击。将自己的所学用语言和视频讲出来,整理出来(成体系了,解决了很多问题,文章带有自己的风格,易懂)。费曼学习法(将一个新知识快速深入理解,记忆的方式就是探讨学习或者讲给别人或者写作,视频分享)。
2024-02-19 10:24:21 267 3
原创 基于无锁循环队列的线程池的实现
个人笔记:因为是跟着b站的教学视频以及文档初步学习,可能存在诸多的理解有误,对大家仅供借鉴,参考,然后是B站up阳哥的视频,我是跟着他学。大家有兴趣的可以到b站搜索。加油,一起学习。应用场景设计实现等待策略模块第一点,为啥需要封装不同的等待策略?第二点,有哪些等待策略?第三点,如何实现?对于第一个问题,是很容易根据常识得出结论的,就是具体问题,具体分析。具体场景,具体应对。在多线程编程的环境下,不同的应用场景,要求就需要应用不同的等待机制。每种等待策略。都有着它独特之处,有着它的特点。
2024-01-21 16:00:13 1257 4
原创 个人的感悟观点,即将毕业的应届生的对自己未来方向的思考和认识
复习的历程带个我心态的磨练,让我学会再在一种一眼看不到结果的过程中学着去自律,坚持。如果大家选数一,也要重视对知识的深度,基础的把握,框架性的,特定的训练减少。更早的进入套题的训练,重视套题的训练,以及抗压能力了。至于英语政治我没有太大的发言权,但英语我感觉重视单词,重视长难句,但最重要的还是单词。白天思维好,写作,写代码,学习别人成熟的基础组件,体味蕴含的面向对象的设计模式,以及项目导向性复习语法呀,网络呀各种重要知识。晚上在家,没有那么自控了,所以我选择写,写题目,写复试涉及的这些题目。
2024-01-13 12:07:07 1199 2
原创 搜索算法特训 ----- Week5/6/7 (它太重要了)
搜索算法的核心就在于在遍历搜索空间所有状态的过程收集特定的路径或者状态的过程。几乎无数算法的基础。如果是一道大家都没有做过的题目,我想大家拿到手上的第一个想法应该都是思考遍历。穷举。在穷举的过程中发现可以利用某一算法思想或是某一快速查找的数据结构对时间复杂度进行降阶。比如单纯的搜索 + 记忆化 + 状态积累。(动态规划) 单纯的线性查找 + hash表或者红黑树可以实现 O(1) 或者是 O(logN) 的查找时间复杂度降阶..... 种种迹象,无一不在重复着搜索算法以及穷举思想的重要性.
2023-06-26 17:47:05 475 6
原创 实训可视化项目小结 --- 开启Python初始之旅
Python学习成本相较于Java和C++更低,而且如果读研,到了实验室绝对要用。它可以帮助我们在C++难以快速深入和触及的方向让我们对一个项目,前后端呀感受的更多。而且它用来写个脚本,做个可视化。写个爬虫,部署一个框架,搭建服务器。都是非常的方便。学习,术业有专攻,方向要专一自然不错。但是如果有一颗包容的心,不畏惧新的东西,去学他。其实最后发现是可以学会的。也并没有我们想象的那么神秘。 ----- 最后祝大家天天开心,多锻炼身体,IT的学习枯燥,我们更要注重身体的保养。
2023-05-26 12:25:41 1420 7
原创 二分特训上------刷题部分----Week4(附带LeetCode特训)
二分特训上------刷题部分----Week4(附带LeetCode特训),真的,兄弟们,看看不吃亏,真的看懂,吃透,二分搜索随便打。很猛。
2023-05-17 19:08:24 1187 5
原创 二分特训上------理论部分----Week4(附带LeetCode特训)
上述代码改进代码如下:末尾有_的就是优化的可以避免死循环的二分骚操作。只能留着明天写下回了。1111111111111110000000型。000000000001111111111型。二分LeetCode切题。
2023-05-14 23:46:49 330 1
原创 LeetCode特训 --- Week2 (主打滑动窗口 + 字符串匹配题目)
如果,兄弟们可以看懂上述理论,那接下来完全有必要可以再瞅瞅,如果看不懂理论,下面还有滑动窗口题目的诸多细节也可以学习。究其根本,滑动窗口也仅仅只是一种思维而已,具体如何实现,各有所好,上述也仅仅只是提供一种思维角度。题目做得慢,bug频出,很多时候是由于各位兄弟蒙没有去自己总结这样的套路。虽然,编程讲究随意性,大佬不管怎么写都没问题,但是人家哪些杀出来的,真不是咱这点小训练可比的,最好就是一周周,勤劳的一个一个小点的攻克,攻克完了总结出自己的切题模板,套路出来
2023-04-23 12:27:10 573 5
原创 LeetCode 特训 ---- Week1
快慢指针(前后指针)用的好,链表,数组起码轻松打十个。删除有序数组中的重复项Ⅱ。删除链表中的重复元素。
2023-04-16 18:25:22 1025 2
原创 数据库主从复制,读写分离,分库分表理解 (数据库架构演变)
数据库主从复制,读写分离,分库分表理解 (数据库架构演变). 小杰以自己初步理解, 写下这个文章用于巩固和复习工作, 以后理解更深入之后会再做迭代更新
2022-12-07 21:55:35 2711 6
原创 MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)
MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)
2022-12-01 16:13:14 2972 8
原创 MySQL隔离级别的底层理解(MVCC+锁)
个人学习,理解写了一下MVCC多版本并发控制和锁,以及对事务隔离级别底层实现做了个对应。以及死锁现象和日志的粗浅理解. 希望和大家相互交流学习进步
2022-11-23 16:20:26 2678 9
原创 Mysql数据库连接池的简单实现(基于C++11), 基础学完, 包教包会.
Mysql数据库连接池的简单实现(基于C++11), 基础学完, 包教包会. 保姆级别教程, 作为简单上手项目再合适不过了
2022-10-10 21:09:23 1875 16
原创 Git快速上手, 理解学习
写作初心, 便于自己以后的知识回顾,查阅,将自己所学的Git基本使用做个简单的总结和自己的理解整理分享给大家, 希望也能对大家可以有所帮助.
2022-07-24 11:25:20 413 3
原创 强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍
强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍
2022-06-22 09:42:15 3556 54
原创 设计模式必知必会系列终章
好了各位老铁们,设计模式到此结束了.感谢各位兄弟们从一到现在的陪伴设计模式的学习确实是有点虚无的. 特别是我们这些没啥工作经验的,学完之后根本不知道咋用到实际项目中实现重构项目的设计,持续重构形成自己的设计模式。 我们也没有经历过没有任何设计原则的Bad Smell Code的维护,所以体会是没有实践过的前辈们深入的但是我觉得提早了解和具备遵循设计原则这样的大思想是我们需要具备的,不一定强行套入设计模式,可以先是我们的代码遵循设计原则。 遵循设计原则的代码往往更容易重构和维护......
2022-06-20 09:49:29 1524 106
原创 正确的姿势学习设计模式,设计模式必知必会(第二篇) --- 面试, 提升篇
正确的姿势学习设计模式,设计模式必知必会(第二篇) --- 面试, 提升篇
2022-06-14 18:58:21 875 79
原创 正确的姿势学习设计模式,设计模式必知必会 --- 面试, 提升篇
设计模式必知必会 --- 面试, 提升篇, 一定要以正确的姿势学习设计模式, 不要去死背固定的设计模式,而是体会其中的设计原则,重构中学习设计模式
2022-06-13 10:28:41 1793 91
原创 大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛
大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛
2022-05-26 10:55:04 6253 77
回溯算法的刷题笔记,回溯专训
2022-04-03
滑动窗口刷题笔记, 针对初学滑动窗口的人员合适
2022-04-03
参加LeetCode竞赛所学习地题目,在厮杀学习中进步:
2022-03-31
已掌握的各种排序算法的总结
2022-03-30
位操作运算符进行刷题,一篇笔记拿下位运算操作
2022-03-30
动态规划刷题笔记,面试必须必知必备
2022-03-30
LeetCode算法数据结构专训笔记,
2022-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人