- 博客(100)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注

原创 关于系统重构实践的一些思考与总结
前段时间一个老的系统重构项目上线,在这个过程中出现了很多问题,遂想针对在这个过程中遇到的一些问题和实践,记录总结一套系统重构的范式,并回顾反思在这个过程是否有哪些值得改进的地方。
2025-02-01 18:37:36
1668

原创 context canceled 到底谁在作祟?
报警治理中context cancel报警凸显,通过探究go中context原理,结合业务实际使用场景,总结诱发场景和治理建议...
2024-09-08 21:41:23
3336

原创 【石上星光】context,go的上下文存储&并发控制之道
本文从概念、使用、原理探究以及思想,由浅入深地讲解了go的context包,同时阐述我自己的一些理解和思考。context本质的数据结构是一种多叉树,它和我们函数调用关系天然契合...
2024-04-10 22:01:16
2022
4

原创 穷且益坚,不坠青云之志——忆我的大学四年
一个自卑的人,如何走出困境,我的大学四年,或许对你有所启发。何必被这个世界的物欲横流所裹挟,别人看不起就让他看不起吧,你要明白人家所引以为傲的只是他们的父母给他们的,而这并不值得一提。穷且益坚,不坠青云之志。真正可怕的不是他人的想法,而是连自己都认为如此。同样的,我也希望未来的教育并不是只着眼于成绩的高低,更是作为人的培养。真正强大的人,必定都有一颗强大的内心。谨以此文纪念我的大学四年,同时更是献给那些曾经自卑迷茫找寻方向的人们,希望我的经历能对你们有所启发。
2023-07-09 13:26:31
4585
42

原创 【项目总结】玛嘉环境物联网平台(大三学生独立完成的真实企业外包项目)/网脉通用物联网平台/网脉铁塔监测系统
写这篇文章的目的主要是对过去做过的项目做一个整理,梳理项目中遇到问题和我当时的解决方案,回顾我做项目的过程,总结经验和教训,以便在来年找实习时有一个较好的思路去展示我做过的项目。
2022-01-13 22:11:13
8290
9
原创 【秋招总结】双非本小菜鸡的坎坷秋招之路(附面经)
因为大环境的影响,今年秋招hc骤缩,导致竞争的激烈程度比往年高了不少。在秋招的时候,经历过简历石沉大海的无奈,也体验过人家收割offer而自己却依旧0offer的焦虑,不过好在最终也拿到了还算满意的结果。如今我的秋招已基本结束,所以将我的秋招经历分享出来。
2022-12-24 22:45:13
7084
25
原创 数据存储方式——KVELL:快速持续键值存储的设计与实现
KVELL是一种比较新的数据存储方案,该方案主要是针对近年来性能不断提升的SSD去设计的。其核心就是内存索引+非顺序存储。同时对于SSD还有一些优化,比如类似fatcache的Slab机制,底层批处理I/O,非共享设计等等。总之,KVELL是针对现代SSD存储设计的一种存储方案,某种程度上又回到了原始的读写方式(顺序读写->随机读写)。不得不感叹一句,设计的魅力在于权衡!
2022-11-21 20:56:31
1635
原创 数据存储策略——lsm-tree
lsm-tree是一个以优化写操作的存储策略,核心思路就是顺序写替换随机写。lsm-tree在传统磁盘上的读写性能表现非常出色,在工业界非常流行,比如腾讯tendis和360的pika底层用的rocketdb就是采用lsm-tree来实现的。但是随着时代的发展,SSD性能的提升和读写方式的变化,使得lsm-tree渐渐暴露出一些问题,也让我们不禁去探寻一种更为高效的存储方式。
2022-11-21 19:16:18
2323
原创 Fatcache学习笔记
fatcache是来自Twitter, 基于SSD上面实现的cache, 使用mc的协议,数据存储在SSD (Ps:memcached是将数据放在内存中)。 fatcache的数据放在SSD(其实机械盘也可以,只是性能不佳), 所以相对于内存cache, 如memcached、redis,能容纳更多数据。
2022-11-16 20:01:55
522
原创 Leveldb学习笔记:leveldb的使用与原理探究
Leveldb是一个持久化存储的KV系统。实际上,它就是我们平时说的底层存储引擎,或者说是一个数据库,我们平时所熟知的redis底层用到存储引擎rocketdb就是从leveldb上演化过来的。
2022-11-14 21:45:16
5142
5
原创 【一年总结】我的大三
实习结束从外省回到学校,才发现自己已然是大四,回顾一年的大学生活,脑海中更多的是自己忙碌的身影,似乎做了很多,又似乎什么也没做。过去一年,亦有欣喜、亦有失落;亦有期待,亦有焦虑。临近就业,不得不在这个人生的十字路口,找一条属于自己的未来之路。
2022-10-15 19:08:45
36285
62
原创 【GoDance搜索引擎】搜索引擎集群模块实现笔记
本文主要是为了记录我自己在编写GoDance集群模块时遇到的一些问题和当时的思考以及解决方案。GoDance是一款用go语言编写的分布式搜索引擎,同时也是一款分布式文档数据库。支持分布式搜索以及分布式...
2022-06-11 16:07:31
1179
原创 搜索引擎模块设计与实现——分片模块
之前参加了字节青训营后端进阶班,我们选择的题目是搜索引擎,临近ddl,故有此文。GoDance是一款用go语言编写的分布式搜索引擎,同时也是一款分布式文档数据库。支持分布式搜索以及分布式存储功能,对外提供restful Api接口来操作GoDance。本文介绍的是分片模块...
2022-06-07 22:16:11
1499
原创 GoDance分布式搜索引擎——团队协作篇
本文介绍是GoDance团队在字节青训营中的一些团队协作,大家从对搜索引擎一无所知到渐渐独立去开发的过程,本文主要以截图方式展现
2022-06-07 11:57:25
862
1
原创 搜索引擎模块设计与实现——集群模块
本文讲解的是青训营GoDance团队关于搜索引擎大作业GoDance的集群模块的详细设计与实现,该模块实现了Raft算法并借鉴了ES的部分机制来达到分布式共识和自动发现的功能。这一路实现也是遇到了很多困难............
2022-06-06 20:26:16
1631
4
原创 关于暑期实习的一些碎碎念
须知少时凌云志,曾许人间第一流。只要我学到笔试面试把算法题都a出来、面试官问的问题都答出来的程度,我就不信他还能挂我!
2022-04-26 09:34:36
3968
23
原创 美团一面、阿里一面复盘总结
这两面的面试官风格截然不同,美团一面主要想看我基础知识到底扎不扎实,并不会继续进行深层次的追问,觉得我原理掌握的差不多就直接跳到另一个问题。而阿里一面给我的感觉就是思路很跳脱,面试官会不断根据我说的追问下去,而且问题往往不是那种标准的问法。相对而言,我美团一面表现的还不错,问题基本都答上来了,而且做了很多延伸,很多时候都是面试官打断我说可以了。而阿里面试官不会听我太多bb(hh,因为我回答问题都是根据我自己的理解然后用口语化的表达出来的,所以能讲很长时间
2022-03-26 22:21:58
22233
44
原创 【项目实践】记一次对后端服务进行跨域改造和HTTPS升级的探究和实践
因为jeecg数据大屏平台不再提供接口代理的服务,于是只能自己解决由此引发的跨域问题和HTTPS升级改造问题。而无论是浏览器同源策略引发的跨域问题,还是Https升级改造问题,都是浏览器端为了避免网络攻击而做出的约束。本文就是记录我对此的探究以及解决问题的过程。
2022-03-09 21:30:42
5160
原创 2021年总结:厚积薄发,突破自我
时光荏苒,转眼间已是大三。如果要用把八个字概括我的2021,我觉得应该是——厚积薄发,突破自我。无论是学业,还是技术,亦或者是生活,我都有所突破,而这一切得益于大一大二的积累。希望未来的我能不忘初心,努力奋斗,归来依旧是少年!
2022-01-10 21:22:41
8590
13
原创 算法设计与分析知识点整理
本文是针对算法设计与分析这门课的知识点整理,内容多来源于教科书以及我看到的一些优秀博文,其中我最推崇是《labuladong的算法小抄》,它的内容让我眼前一亮,不同于教科书的死板套路,它从不一样的角度去解读学习算法,语言通俗易懂,让我受益匪浅。我特别喜欢其中说的一句话计算机解决问题其实没有任何奇技淫巧,它唯一的解决办法就是穷举,穷举所有可能性。算法设计无非就是先思考“如何穷举”,然后再追求“如何聪明地穷举”。
2022-01-02 22:18:09
15611
1
原创 【软件测试】Jmeter性能测试(性能测试,Jmeter使用与结果分析)
性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。本文简单讲述了性能测试以及性能测试工具Jemeter。另外,我会将其他测试相关的文章也放在这个系列。
2021-12-25 15:58:53
142669
35
原创 【Python大作业】耦合网络信息传播
本文主要是趁着要写实验报告,所以顺手将实验报告的思路改写成博文,而作业题目也挺有意思的,是耦合网络信息传播,可以模拟病毒扩散或者信息的扩散
2021-12-15 09:08:28
4168
4
原创 【一年总结】记我的大二生活
回顾大二这一学年,不同于大一的单调色彩,大二我所经历的是非常丰富多彩的,尽管也很会遇到一些不如意的事情,有心酸,有遗憾,有愤慨,有无奈;但是我也遇到了一些非常有趣的人和事,懂得了一些只有经历才能明白的道理。我清楚地知道生活不应只有苦难,更多还有来自平凡之人、之物的感动,欣喜,还有希望。一路顺风的人生并不完美,也不可能有这样的人生。技术的追求与探索、会长的责任与担当、爱情的憧憬、梦想的追逐、现实的愤慨与无奈、平凡之人、之物的感动.......这一切的一切共同拼接成了我的大二生活,有苦有乐,有起有伏
2021-09-08 21:41:17
9908
33
原创 【2021软件创新实验室暑假集训】总结篇
本博文为21届软件创新实验室暑假集训的总结,用于记录2021软件创新实验室暑假集训,为往后的实验室集训提供参考。
2021-09-04 19:27:19
4627
8
原创 【2021软件创新实验室暑假集训】JDBC(原理、使用以及实现简单的数据库连接池)
本文主要讲解JDBC的由来,JDBC的使用,JDBC的原理,以及教大家实现一个简单的数据库连接池。
2021-07-20 22:41:44
1916
6
原创 【2021软件创新实验室暑假集训】SpringMVC框架(设计原理、简单使用、源码探究)
写本文的原因主要是为了实验室暑假集训备课所写,但是本着要么就不写,要写就写好的原则,同时也是为了让我复习技术,我就从开始的模式背景开始讲起,到SpringMVC的使用,再到SpringMVC的源码原理探究。也算自己对于SpringMVC框架的小总结吧。
2021-07-19 18:16:07
1077
7
原创 计算机网络知识汇总(超详细整理)
为了准备期末考试,同时也是为了之后复习方便,特对计算机网络的知识进行了整理。本篇内容大部分是来源于我们老师上课的ppt。而我根据自己的理解,将老师的PPT整理成博文的形式以便大家复习查阅,同时对于一些不是很清楚的地方,我去查阅了相关资料进行补充,当然也会有部分个人看法夹带其中来帮助大家理解。
2021-07-02 11:46:09
533205
853
原创 【项目实战】仓库信息管理系统(layui+SSM+SpringBoot)
此项目为仓库管理系统,是我大二下的实训课作业,虽然是从学期初开始写的,但是实际写项目的日子也就十多天(前面都没怎么动,果然只有临近ddl效率才高)。到我写这篇博文的时候,实际上项目还有小部分功能未完成,当然如果你不是逐个试过去你是发现不了的(笑哭)。说实话,我实在不想在未完成前写类似实验报告的文档,而且我也不喜欢写文档。我一直认为写项目根本不需要那么多死板的文档(反正也只是作业)。有人可能又会奇怪我不喜欢写文档为啥写那么多博文?这个嘛,我写博文的目的也只是想把我那时那刻的情感和经验分享出来,我更倾向于
2021-06-19 17:05:14
39420
59
原创 【源码系列】Java中的数据结构——栈,队列,链表与LinkedList
自从上次字节面试凉了之后,我就一直有这个想法,想写个源码系列的博客。无奈最近事情太多,无法真正静下心来写。原本是想暑假来好好写这个系列,但因为下周要由我来负责协会授课,所以只能在这周写完。也好,毕竟只有ddl才有效率嘛(笑哭)。
2021-05-29 21:40:45
2285
24
原创 【源码系列】Java中的数据结构——数组与ArrayList
自从上次字节面试凉了之后,我就一直有这个想法,想写个源码系列的博客。无奈最近事情太多,无法真正静下心来写。原本是想暑假来好好写这个系列,但因为下周要由我来负责协会授课,所以只能在这周写完。也好,毕竟只有ddl才有效率嘛(笑哭)。本文将介绍Java中的数据结构——数组和ArrayList,同时讲解ArrayList的源码原理。
2021-05-26 22:45:06
2013
18
原创 用servlet和过滤器实现简单的权限管理和敏感词过滤功能
JavaEE课要求用servlet和过滤器实现权限管理和敏感词过滤功能,故有此文。虽然早已知道了原理和用法,但是实际操作起来还是遇到了各种奇葩的情况。
2021-05-23 22:11:29
2683
14
原创 手把手教你用Java实现一套简单的鉴权服务(SpringBoot,SSM)(万字长文)
时遇JavaEE作业,题目要求写个简单web登录程序,按照老师的意思是用servlet、jsp和jdbc完成。本着要么不做,要做就要做好的原则,我开始着手完成此次作业(其实也是写实训作业的用户鉴权部分),而之前写项目的时候也有相关经验,这次正好能派上用场。
2021-05-05 21:30:09
14124
19
原创 【操作系统作业】哲学家就餐问题
什么是死锁呢?用专业点的话说就是:一组互相竞争资源的线程因互相等待,导致“永久”阻塞的现象。说白了,就是你拿了我想要拿的资源,我拿了你想要拿的资源,而双方各执一词,导致一直无法解决问题。那我的思路就是:双方各退一步,当发现我想要的资源不够我完成我所需的事情时,那就把之前拿到的资源放回。这样就不会导致双方互相等待导致死锁的情况。
2021-04-24 21:26:02
2301
8
原创 【操作系统作业】睡觉助教(用Java的ReentrantLock实现)
很多时候我在思考什么是多线程,什么是多进程,开始学的的时候我天真的以为我懂了,可后来发现我只是管中窥豹而已。包括现在,我也只是初入多线程而已。所以此文的思路并非最优解,只是我在学习过程中想到的一个可行方案。读者不必纠结于为什么这样,很可能你的想法比我的更好,也欢迎各位在评论去提出的想法。
2021-04-24 20:53:08
2372
原创 字节一面凉经
经过40多分钟的一面,我的暑假实习计划彻底泡汤,不过我也没气馁,至少我知道了接下来最要紧的事情是什么。40多分钟的面试,工程项目一点也没问,全是问计算机底层基础。主要在三块——多线程,数据结构,操作系统。外加一道简单的算法题。多线程:他这块问的是最深的,问到了“synchronized关键字的底层原理是什么?”,这块我答得是最乱的,很多问题我不知道该如何去答(多线程也是最近才开始接触的,面试前一天看过一些相关的文章)数据结构:这块我答得还可以,他也没问的很深,大概就问了几个数据结构的原理和概念操作系
2021-04-08 14:56:45
2584
26
原创 【操作系统作业】数独解决方案验证器(利用多线程解决)
文章目录一、题目二、设计思路三、代码四、总结一、题目数独谜题使用 9×9 的网格,其中每一列和每一行以及每 3×3 子网格中的每一个子网格必须包含所有数字 1···9。 图 1 给出了一个有效的数独游戏示例。这个项目包括设计多线程应用程序来确定数独谜题的解决是否有效。这个多线程应用程序有几种不同的设计。一种建议的策略是创建检查以下条件的线程:一个线程,检查每列包含数字 1 到 9一个线程,检查每行包含数字 1 到 99个线程来检查 3×3 子网格中的每个子网格是否包含数字 1 到 9这
2021-04-02 11:42:25
6145
10
个人博客源码(SSM,SpringBoot、thymeleaf、Semantic UI)
2020-07-26
图书信息管理系统.rar
2020-06-25
在用java做数据结构算法题时,效率和运存到底该怎么改进才算真正的改进?
2020-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人