学与思
未读
分享:斯多葛哲学的控制三分法
纷扰和杂念 最近又到了一年一度的保研计算和综测计算的时候了,在一年比一年更内卷的环境下,真的很难让人不产生焦虑的情绪。上一级的同学已经为了保研各自尽其所能,论文、专利层出不穷,又创新高。大创、竞赛、论文、专利、认证,一年比一年更卷的环境让大家都要往六边形的战士们卷,保研门槛也一年比一年高。 安宁,似
技术
未读
动手学设计模式:七种OOP设计原则是哪些?
前言 软件开发是一门技术,更是一门艺术。在学习开发的过程中,不管是阅读书籍和博客,还是浏览一些框架和语言的底层源码,我们常常发现设计模式贯穿其中。例如,在HTTP框架中的拦截器(或中间件)的设计,就是典型的职责链设计模式;Java中常见的各种Builder就是典型的建造者设计模式。 然而,对于为什么
技术
未读
星优灵犀项目介绍 | 中软杯国二 | 数智化教育应用平台
项目背景 在当今世界,以大模型为核心的AI技术的迅猛发展正遇上中国高等教育的数字化转型。握住了大模型的教育应用场景,就意味着掌握了教育数字化转型的“杀手锏” 我们团队成员在大学的学习中深刻地体会到:传统高等教育在课前、课时、课后的三个领域面临着诸多挑战,如知识孤岛、资料迷宫、评估耗时长等问题。基于此
后端开发
未读
可解释性文档问答系统后端GPU服务器部署文档
文档问答系统后端部署手册 本手册为针对Linux操作系统 + GPU服务器上的部署手册。 GPU服务器上部署本程序会踩很多坑,本人就曾经一个弄两天还没部署成功,最后成功后,没想到十几天后因为服务器断电坏了,所以所有东西需要重新部署,又把所有坑踩了一遍。 这次我吸取教训,部署的同时写个部署手册,后续系
Golang
未读
Go语言修炼(十三):Go语言是如何抽象Epoll的?
前言 Epoll,作为Linux下性能极佳的I/O事件通知机制,它突破了传统select/poll机制的种种限制,以更加高效、灵活的方式处理大量的并发连接。 然而,直接使用Epoll进行网络编程往往需要深入理解底层的系统调用与复杂的状态管理,这对于大多数开发者来说是一个不小的挑战。 幸运的是,Go语
Golang
未读
Go语言修炼(十二):高并发下的通信方式Channel
前言 想象一下,在一个繁忙的交通枢纽(业务系统),车辆(Go协程)川流不息,它们需要高效、有序地交换信息以完成各自的使命。 而Channel就像是这些车辆之间的专用通道,既保证了信息的准确传递,又避免了交通拥堵和混乱。通过Channel,Go协程之间可以安全地进行数据交换,无需担心数据竞争和同步问题
Golang
未读
Go语言修炼(十一):Go语言的读写锁是怎么工作的?
前言 在Go语言的并发编程世界中,锁机制是确保数据一致性和线程安全的重要工具。随着应用程序对并发性能要求的不断提升,传统的互斥锁(Mutex)虽然简单有效,但在某些场景下可能会成为性能瓶颈。 为了优化这种情况,Go语言引入了读写锁(sync.RWMutex),它允许多个goroutine同时读取数据
Golang
未读
Go语言修炼(十):Go语言的互斥锁是怎么工作的?
前言 互斥锁,顾名思义,是提供互斥(Mutual Exclusion)能力的锁机制,确保同一时间只有一个goroutine能够访问某个特定的资源或代码段。在Go的标准库中,sync包为我们提供了强大的同步原语,其中sync.Mutex是实现互斥锁功能的关键。掌握sync.Mutex的工作原理和使用方
Golang
未读
Go语言修炼(九):Atomic操作与sema锁
前言 在并发编程中,确保数据的一致性和程序的正确性始终是开发者面临的重大挑战。Go语言以其独特的并发模型——协程(Goroutine)和通道(Channel),为开发者提供了强大的并发编程工具。 然而,仅仅依靠协程和通道还不足以解决所有并发问题,特别是在需要精细控制资源访问和数据一致性的场景下。这时