- 博客(2138)
- 收藏
- 关注

原创 HTTPS 的通信加解密过程,证书为什么更安全?
证书中包含了服务器的公钥和其他身份信息。6.客户端和服务器使用对称密钥进行加密通信:客户端和服务器通过协商好的对称密钥进行加密和解密,这意味着数据传输过程中使用相同的密钥进行加密和解密,保证了数据传输的机密性和完整性。证书的使用能够确保服务器的身份和通信的安全性,增加了整个通信过程的安全性和可信度。4.客户端生成密钥:如果证书有效,客户端会生成一个用于对称加密通信的随机密钥,并使用服务器的公钥进行加密。5.服务器解密消息:服务器收到客户端发来的加密密钥后,使用自己的私钥对其进行解密,获取对称加密的密钥。
2023-12-13 14:02:52
516
原创 SQL语句(一)—— DDL
char 表示定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关,例如char(10)。通过这条指令,主要是用来查看建表语句的,而有部分参数我们在创建表的时候,并未指定也会查询到,因为这部分是数据库的默认值,如:存储引擎、字符集等。在上述的建表语句中,我们在指定字段的数据类型时,用到了int,varchar,那么在MySQL中除了以上的数据类型,还有哪些常见的数据类型呢?我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。用来对数据库表中的数据进行增删改。
2025-04-04 07:05:32
63
原创 探秘Transformer系列之(22)--- LoRA
探秘Transformer系列之(22)--- LoRA 从零开始解析Transformer,目标是:(1) 解析Transformer如何运作,以及为何如此运作,让新同学可以入门;(2) 力争融入一些比较新的或者有特色的论文或者理念,让老鸟也可以有所收获。 探秘Transformer系列之(22)--- LoRA目录探秘Transformer系列之(22)--- LoRA0x00 概述0x01 背景知识1.1 微调1.2 PEFT1.3 秩1.4 SVD分解0x02 LoRA2.1 定义2.1.1 训练2
2025-04-04 07:04:59
540
原创 Dify开发必备:分享8个官方文档不曾解释的关键技巧
通过跟踪dify的源代码,看到dify是通过读取docker/.env.example文件中的dify_config.FILES_URL配置来拼接这个前缀,全局搜索FILES_URL,看到在docker/.env文件中这个配置项默认是空,于是将其修改为我dify的访问地址:http://192.168.10.14(如果你的dify使用的不是80端口,记得在ip后面加上':端口号')。返回字典列表:{"result":[{"a":"aa"},{"b":123}]}→选择Array[Object]类型。
2025-04-04 07:03:50
165
原创 ShadowSql之功能简介
从概念上讲TableView分为6种,分别为Table、AliasTable、MultiTable(及JoinTable)、GroupByTable、GroupByAliasTable、GroupByMulti6种。以上功能还包含子功能,有Table、AliasTable、DB、TableView、Column(Field)、Query(SqlQuery)、Cursor、SelectField和SubQuery等。AliasTable很重要,在联表和子查询的时候都需要用到,用来区分不同表的不同字段。
2025-04-04 07:03:17
99
原创 zk基础—4.zk实现分布式功能
如果有大量的客户端在等待锁的释放,那么不仅会出现大量的Watcher通知,还会出现大量的获取"/shared_lock"的子节点列表的请求,但最后大部分客户端都会判断出自己并非是序号最小的节点。方法三:基于zk的临时子节点来实现心跳检测,让不同的机器都在zk的一个指定节点下创建临时子节点,不同机器间可以根据这个临时子节点来判断对应的客户端是否存活。同时其他没有成功创建节点的机器会在"/master"节点上注册Watcher监听,一旦当前Master机器挂了,那么其他机器就会重新往zk上创建临时节点。
2025-04-04 07:02:45
83
原创 感觉程序员要被 AI 淘汰了?学什么才有机会?
有了 AI 后,很多图例不用自己手绘了,我可以直接把作图的信息提供给豆包或者其他 AI,让它生成 Mermaid 文本作图语法,接下来就可以直接下载图片、或者把生成的代码放到 Mermaid 渲染工具中,就搞定了,非常方便。打个比方,我们有多个 AI 智能体,分别负责生成文字、生成图片、组合文字和图片,那么 LangGraph 像是负责人,可以安排这些智能体的工作顺序,一起搞大事。由于 AI 的脑容量不大,能接受的上下文是有限的,随着你的项目信息量不断增大,它有可能忘记之前的信息,导致生成的代码错误。
2025-04-04 07:02:10
387
原创 「硬核实战」回调函数到底是个啥?一文带你从原理到实战彻底掌握C/C++回调函数
作为一个在生产环境中与回调函数打了多年交道的开发者,今天我想分享一些真正实用的经验,带你揭开回调函数的神秘面纱,从理论到实战全方位掌握这个强大而常见的编程技巧。就像我们今天讲的回调函数,表面上只是"函数指针作为参数"这么简单,深入了解却发现它涉及控制反转、异步编程等高级概念,实战中还有各种坑需要避开。std::cout << "Lambda被调用,值是: " << value << std::endl;std::cout << "捕获到异常: " << e.what() << std::endl;
2025-04-04 07:01:37
103
原创 AI团队比单打独斗强!CrewAI多智能体协作系统开发踩坑全解析
对于这种工作流的鲁棒性问题,我调研到有一个同类agent框架smolagents的处理方法是把tool执行阶段的结果(包括报错)都记录到日志中,LLM读完日志再决定是否重试或者循环执行,直到final_answer工具(框架内置的工具,用来决定是否给出最终答案)被调用,最后agent的run()才返回它的参数,这样就能避免Agent在无法跳出程序错误的时候最后强行给出一个虚假的答案。在实际开发中,我们发现定义清晰的角色、明确的任务目标和精准的工具设计,是构建高效智能体系统的三大关键。(3)异常处理更完善;
2025-04-04 07:01:03
254
原创 线性判别分析(LDA):降维与分类的完美结合
简单来说,线性判别分析(LDA)旨在找到一个线性组合,将数据投影到低维空间,使得不同类别的数据尽可能地分开,同一类别的数据尽可能地紧凑。首先选择scikit-learn库中经典的鸢尾花数据集,这个数据集中每个数据有4个维度:花瓣的长度和宽度,花萼的长度和宽度。LDA在处理高维数据时具有显著优势,它通过将数据投影到低维空间,同时保持类别之间的分离度,来实现降维。但是,通过可视化降维后的数据,可以看到不同类别的数据点在新的二维空间中仍然保持了良好的分离度。
2025-04-03 07:05:28
161
原创 SearXNG私有化部署与Dify集成
SearXNG 是一个免费的互联网元搜索引擎,它聚合了来自各种搜索服务和数据库的结果,但摆脱了隐私追踪 —— 用户行为既不会被引擎跟踪也不会被分析。- json,扩展数据返回格式,增加json,否则设置SearXNG插件,添加访问search接口会报错403。limiter: false,禁用请求限制器,否则可能触发 too many requests 的问题。简单来说,如果你的AI模型没有联网功能,可以通过这个插件,来实现联网功能。使用结构化语言,逐步思考。登录到dify,点击工具,搜索SearXNG。
2025-04-03 07:04:55
247
原创 Web前端入门第 24 问:CSS 单位
相对于当前元素的字体大小,1em等于当前元素的字体大小。如果父元素有font-size属性,则子元素的em值是根据父元素的字体大小计算的。相对于根元素(html元素)的字体大小,1rem等于根元素的字体大小。css 单位根据其作用分为几大类:绝对单位、相对单位、视口单位、角度单位、时间单位、网格单位、频率单位、分辨率单位。相对于当前元素的字体宽度,1ch = 当前字体中 "0" 字符的宽度,适合文本排版对齐。相对于父元素的尺寸,例如width: 50%表示元素宽度为父元素宽度的50%。
2025-04-03 07:04:22
213
原创 当职场成战场:降职、阴谋与一场硬碰硬的抗争
商场如战场,同理,职场也如战场。在这个事情中,他曾经以为关系还不错(至少别人也都这么觉得,而且这个人是他自己面试进来的)的同事,在被领导针对的时候会帮帮他,但是,这个人是第一个出来“指证”他能力不行、态度不行、上班只知道玩手机的人。不过没想到的是,公司那边的几个人几乎全程半低着头没说啥话,只是委婉的说出公司确实某些行为不太合理,某些领导处理事情的方式有问题,公司已经针对你这个是组织了多次的复盘、总结,甚至某些人写了检讨等,能不能看在公司的面子,看在仲裁员的面子,这个事情就调解了,到此为止了。
2025-04-03 07:03:50
141
原创 Graph4Stream:基于图的流计算加速
可以看到在一跳、两跳场景中,Flink的性能要好于GeaFlow,这是因为在一跳、两跳场景中参与join计算的数据量比较小,join需要遍历的左表和右表都很小,遍历本身耗时短,而且Flink的计算框架可以缓存join的历史计算结果。流图是图在流场景中的应用,他依据数据流对图的更新将图分成历史图和增量图两个部分。通过结合图计算与流计算,蚂蚁图计算开源的GeaFlow引擎解决了传统流计算引擎在大数据关联关系计算中的性能瓶颈,尤其在多跳场景下性能显著优于Flink,对于实时知识图谱的构建,提供了基础技术底座。
2025-04-03 07:03:17
425
原创 vue3第二次传递数据方法无法获取到最新的值
更改数据</button><button type="button" @click="updateHandler">更改数据</button><button type="button" @click="updateHandler">更改数据
2025-04-03 07:02:44
290
原创 帮客户解决基于surging的物流速运网关内存泄漏问题
还有多协议适配(TCP,MQTT,UDP,CoAP,HTTP,Grpc,websocket,rtmp,httpflv,webservice,等),通过灵活多样的配置适配能够接入不同厂家不同协议等设备。有surging企业客户找到我,系统已经在线上环境运行,在使用过程中碰到内存不能释放的问题,每次都要和客户打招呼进行重启造成很坏的影响,问能不能彻底解决掉,然后我打包票可以解决,解决不了不收钱,通过以上分析就可以得出网关在处理Rpc远程调用的时候,未收到及时的返回,造成消息积。二、dump文件分析。
2025-04-03 07:02:11
181
原创 ShadowSql之.net sql拼写神器
跨平台、可扩展、支持多种数据库,可以自定义数据库方言,支持net7.0;Sql模式也支持逻辑对象,从这个层面上说sql模式功能更全,sql模式查询对象就是包含一个复合逻辑对象+Sql查询对象。以上功能逻辑模式大多都支持,逻辑模式是按And、Or来查询的。sql操作用的最多也是最复杂的就是查询,本工具包含两套查询模式:sql模式和逻辑模式。本工具很小、不依赖第三方包,不使用反射,应该支持AOT原生编译,不过我还没测试。逻辑模式不支持按原生sql查询,当然封装为逻辑对象就可以了,但不推荐这么做。
2025-04-03 07:01:38
197
原创 【解决方案】多租户技术架构设计入门(二)
作为入门系列的第二篇,本文主要分享的是**在业务系统的应用内部如何对多数据源进行切换**,而底层的数据库硬件资源管理这部分会简单带过(一般由运维团队来负责搭建)。对于整个多租户技术架构的设计而言,笔者认为最关键的就是 3 点:底层数据隔离模式(策略) + 统一的用户&权限体系(认证鉴权) + 业务层调用时的行为隔离(请求拦截)。在单租户的时候,每个系统只为一个客户服务,我们只需要在每个业务系统的配置文件上写一个数据库连接,就可以确保该系统的数据会进到这个对应的库表里。
2025-04-03 07:01:05
152
原创 langchain0.3教程:聊天机器人进阶之方法调用
最后将message列表一起发送给大模型,让大模型给出答案。当大模型遇到用户提出的问题时,会先思考是否应该调用工具解决问题,如果需要调用工具,和普通消息不同,这种情况下会返回“function_call”类型的消息,请求方根据返回结果调用对应的工具得到工具输出,然后将之前的信息加上工具输出的信息一起发送给大模型,让大模型整合起来综合判断给出结果。简单来说,Function calling让大语言模型拥有了调用外部接口的能力,使用这种能力,大模型能做一些比如实时获取天气信息、发送邮件等和现实世界交互的事情。
2025-04-02 07:05:36
557
原创 想让你多爱自己一些的开源计时器
他精心设计了底层实现,既确保了轻量级的特性,又提供了丰富的视觉效果和良好的交互体验。最初,作者只是想找到一种方式,来对抗自己“停不下来”的工作节奏,提醒自己定时离开电脑,稍作休息,以实现工作和健康的平衡。Catime 是一款轻巧易用的 Windows 计时工具,集时钟、倒计时和番茄时钟于一体,支持透明界面和丰富的自定义选项,让你的时间管理更简单、更高效。Catime 作者(vladelaina)是一名普通的大二学生,因为热爱开源,他牺牲了玩耍的时间开发 Catime 开源计时器,并为此倾注了全部热爱。
2025-04-02 07:05:03
406
原创 Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
例如,在 Cursor ⽣成 UI 代码时,可能会遗漏复杂交互的细节,导致实际使⽤时需要⼤量修改;不出所料,大家一致认为是Cursor,原因很简单:开源生态的繁荣为代码领域的AI突破提供了关键燃料,而程序员群体对开源的“狂热”在客观上创造了大量高质量语料库。上图是Cursor完成后⽣成的readme⽂件,项⽬可以正常启动,我阅读了⼤部分代码,都是正常可运⾏,但是测试⽤例并没有⽣成。综上所述,在完整的前端开发流程中,Cursor 能真正带来显著提效的环节主要是业务逻辑编码实现,在其他环节的作⽤⾮常受限。
2025-04-02 07:04:30
300
原创 虚拟电商-话费充值业务(二)话费充值对接供应商模块开发
步骤1:在chongba_recharge_supplier模块下创建包:com.chongba.supplier.inf,在该包下创建充吧系统对接供应商接口:SupplierService,接口中定义一个对接方法:void recharge(RechargeRequest rechargeRequest);chongba_recharge_supplier监听到支付成功消息之后,接收到的消息:RechargeRequest,具体对接的不直接写在监听类中,单独定义一个对接供应商服务接口。
2025-04-02 07:03:57
727
原创 C# 窗口过程消息处理 WndProc
需要附加消息处理过程的窗口句柄</param>/// <param name="handle">需要移除消息处理过程的窗口句柄附加消息处理过程到窗口
2025-04-02 07:03:24
799
原创 HttpClient使用方法总结及工具类封装
params.add(new BasicNameValuePair("name", "新名字"));params.add(new BasicNameValuePair("name", "新名字"));String jsonBody = "{\"id\":\"1\",\"name\":新名字}";String jsonBody = "{\"id\":\"1\",\"name\":新名字}";GET请求、PUT请求、DELETE请求添加请求头的方法同上。* @param response HTTP响应对象。
2025-04-02 07:02:51
495
原创 MCP (Model Context Protocol)初体验:企业数据与大模型融合初探
从记录可以看到,大模型非常聪明的根据已有的工具,做了系统性的探索,首先执行初步查询,发现查询名称可能不准确,使用list_tables命令查看可用表,识别可能包含"customer"信息的表,检查其他可能包含客户信息的表,并最终发现"CrmDemo"数据库中的"Customers"表,并识别CustomerType可能用于识别VIP客户。模型的知识通常止于训练数据的截止日期,对于企业内部的数据库、文档仓库等信息孤岛则完全不了解,即使模型具备一定的上下文窗口,也无法直接访问动态更新的业务数据。
2025-04-02 07:02:18
414
原创 小了 60,500 倍,但更强;AI 的“深度诅咒”
在 LLM 的情况下,这个训练过程叫做“预训练”,模型会被暴露在互联网级别的大数据集上,它要学会如何模仿这些内容(当然我们也会加些小技巧,让模型在推理阶段生成相似的内容,而不是一模一样的句子;再者,前面说过了,我们不希望 AI 是模仿,我们希望它“跳出框框”,或者更准确地说,在记忆不起作用的时候,探索出不同的解决方式。基本上我在讲的就是为什么普通的非推理类 LLM 在推理任务上很拉胯——它们不是被训练来“推理”的,而是训练来“复读”的,所以它们只能“执行”它们记住的任务,本质上就是死记硬背而不是逻辑思考。
2025-04-02 07:01:43
344
原创 抽离BlazorWebview中的.Net与Javascript的互操作库
做这个的目的是想使用 Blazor 中的 Javascript 与 C#中的互操作,但是又不需要加载 Blazor 整个类库,另外 BlazorWebView 组件没有支持直接通过 Http 协议加载 web 页面,调试的时候需要先把后端接口写好,然后前端打包,然后一起调试,感觉很麻烦,因此想能不能把互操作这部分功能单独抽离出来。开门见山,借助 Microsoft.JSInterop 和前端的@microsoft/dotnet-js-interop 包,便可实现 Javascript和C#的互操作。
2025-04-02 07:01:11
574
原创 【Guava】BiMap&Multimap&Multiset
Map 可以实现 key -> value 的映射,如果想要 value -> key 的映射,就需要定义两个 Map,并且同步更新,很不优雅。// BiEntry是HashBiMap中为的Map.Entry接口的实现类,这里定义了两个BiEntry,一个是实现使用Key找到value的,另一个是实现使用value找到key的。HashMap做的是唯一key值对应的value可以不唯一,而Bimap做的是唯一key值,value值也要唯一,方便从key找到value,从value找到key。
2025-04-02 07:00:39
675
原创 golang的条件编译
有这些后缀的文件只会在为特定的硬件平台编译程序时才会生效并加入编译过程。所以第一种方案只适合那种平台间差异巨大的代码,一个典型的例子是go自己的runtime的代码,因为协程调度需要很多操作系统甚至硬件平台的功能做辅助,因此runtime在每个操作系统上出了自己的api之外差异很大,因此使用文件名后缀的形式分成多个文件维护是比较合适的。写c/c++或者rust的开发者应该对条件编译不陌生,条件编译顾名思义就是在编译时让代码中的一部分生效或者失效,从而控制编译时的代码执行路径,进而影响编译出来的程序的行为。
2025-04-01 07:05:26
722
原创 SQL SERVER日常运维巡检系列之-实例级参数
带有工作负荷的第一个实例通常分配所有的内存。2.并行开销的阀值(cost threshold for parallelism) 仅当运行同一查询的串行计划的估计开销高于在“并行的开销阈值”中设置的值时,SQL Server 才创建和运行该查询的并行计划。这种方法的缺点是:当启动新的实例(或任何其他进程)时,运行的实例可能会花费一些时间来释放内存,如果实例必须将修改后的页写回到数据库中来释放内存,则花费的时间可能会更长。在某些情况下,即使查询的开销计划小于当前“并行的开销阈值”的值,也有可能选择并行计划。
2025-04-01 07:04:53
399
原创 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析
现在小编已经脱离了一线开发岗位,在带领团队的过程中,发现了很多的问题,究其原因,更多的是开发思维的问题。的,所以需要把变化的部分划分出来,使之可以在继承框架下既能重用也能独立变化,而不引发较大的影响,这就是继承的真正价值 —— 它帮助开发者在抽象与细节之间找到平衡,通过自下而上和自下而上的设计方法,引导我们从在局部与整体之间逐步完善对问题的认识。比如看到狗、猫、鸟,然后观察它们的行为,随后,我们总结它们有一些共同点,比如都会吃和睡觉,于是抽象出“动物”这个概念,也知道了动物都需要吃和睡。
2025-04-01 07:04:20
786
原创 tesseract引擎RVV代码学习笔记
1这里表示进入了循环,用RVV的好处就是循环过程中步长会自动调整,比如说长度为18,如果每次步长为8,传统的SIMD需要8+8+3,8是可以用向量指令集去实现,但是3这里就需要采用普通for循环手写,但是RVV会自动忽略掉这个过程,不用担心越界,只需关注循环内部本身即可,因为硬件会根据情况自动调整为向量步长为3。另外,这里vsetvli加载了num操作数到t0寄存器,寄存器存的是向量步长,e8代表元素大小,相当于int8类型,因为函数参数传入的也是int8 *的指针。
2025-04-01 07:03:47
349
原创 上周热点回顾(3.24-3.30)
用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp智能体框架开发语音交互 (绿荫阿广)· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想 (AI·NET极客圈)· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少 (AI粉嫩特攻队)· ThreeJs-16智慧城市项目(重磅以及未来发展ai) (Heymar-10)· Vite CVE-2025-30208 安全漏洞 (日升_rs)· 开发的设计和重构,为开发效率服务 (伍华聪)
2025-04-01 07:03:15
147
原创 Spring AI与DeepSeek实战三:打造企业知识库
5. {"type":"api","name":"收益明细2025","topic":"综合政务","industry":"信息传输、软件和信息技术服务业","remark":"2025年的收益明细信息表"}1. {"type":"api","name":"测试api服务01","topic":"综合政务","industry":"采矿业","remark":"获取采矿明细的API服务"}您是一个数据产品的智能搜索引擎,负责根据用户输入的内容进行精准匹配、模糊匹配和近义词匹配,以搜索相关的数据记录。
2025-04-01 07:02:09
300
原创 面试题:Linux 系统基础 (二)
3、永久设置环境变量: 将 export 命令添加到用户的 ~/.bashrc 或 ~/.profile 文件中,或者对于所有用户到 /etc/environment 或 /etc/profile 文件中。3、文件权限: 包括读(r)、写(w)和执行(x)权限。5、模块依赖关系: 使用modprobe命令自动处理模块依赖关系,例如加载一个模块时自动加载其所依赖的模块。4、使用环境变量: 在脚本或程序中可以通过引用环境变量(如 $VARIABLE_NAME)来使用它们的值。
2025-04-01 07:01:36
699
原创 [SDR] 蓝牙专项教程 —— 从 0 到 1 教小白基于 SDR 编写蓝牙协议栈
https git clone --branch ble_course_1 https://github.com/nbtool/auto_test_tool.git 小白懂 git 但不懂 ssh。[4]. SDR 教程实战(四) —— 利用 GNU Radio + HackRF 手把手深入了解蓝牙协议栈(从电磁波 -> 01数据流 -> 蓝牙数据包)[17]. GNU Radio 系列教程(十七)—— GNU Radio PDU TX 利用三个块实现最小的数据包(帧头+数据+校验)
2025-04-01 07:01:03
205
原创 OpenEuler RISC-V 上跑bitcoin(实战版)
编译出来的 bitcoin 主要有几个命令,bitcoin-cli、bitcoind、bitcoin-util、bitcoin-wallet、bitcoin-tx和test_bitcoin。bitcoin-cli getblockchaininfo(获取当前的区块链信息,每次输出可能不一样,因为区块链信息可能还没有同步完成到本地,另一方面,区块是不断生成的)bitcoind-util 包含了一系列比特币相关的实用工具函数和命令,主要用于处理比特币的基础数据,如地址编码、密钥生成、哈希计算等。
2025-03-31 07:05:44
394
原创 Java的IO模型、Netty原理详解
内核缓冲区到 Socket 缓冲区之间并没有做数据的拷贝,只是一个地址的映射,底层的网卡驱动程序要读取数据并发送到网络上的时候,看似读取的是 Socket 的缓冲区中的数据,其实直接读的是内核缓冲区中的数据。epoll_wait高效体现在它返回的是已经发生事件的文件描述符,而不是遍历所有注册的文件描述符。Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等。少了一次内存的拷贝,CPU 效率就得到的提升。
2025-03-31 07:05:11
733
原创 Netty源码—10.Netty工具之时间轮
通过指针移动来获得每个时间格中的任务列表,然后遍历这个时间格内的双向链表的每个任务并执行,依此循环。Netty的HashedWheelTimer是一个粗略的定时器实现,之所以称为粗略的实现是因为该时间轮并没有严格准时地执行定时任务,而是在每隔一个时间间隔之后的时间节点执行,并执行当前时间节点之前到期的定时任务。//到期一共需要走多少时间格(tick次数),deadline表示当前任务的延迟时间(从时间轮启动时计算),tickDuration表示时间格的时间间隔。
2025-03-31 07:04:39
848
原创 Go语言实现1024终端游戏-不到400行代码
我们使用的数字是 ANSI 转义序列中的颜色代码。在终端中,我们使用 \033[ 开头的转义序列来控制文本的显示效果。使用 go 语言实现的 1024 终端游戏,不到400行代码,代码简洁,以便理解和学习和掌握 go 语言开发.使用当前时间的纳秒数作为种子,可以确保每次运行游戏时都会得到不同的随机序列,使游戏更有趣和不可预测性。所以当我们使用 color = 90 时,就会显示亮灰色文字,这在游戏中用来表示空位(值为0的格子)。0m文本\033[0m")基于 go 语言的跨平台、可移植的终端游戏、包管理。
2025-03-31 07:04:00
230
windows计划任务python脚本调度器工具
2025-01-15
基于电商平台的订单数据进行深入分析,旨在通过数据挖掘和可视化手段,洞察电商业务的运营状况,识别市场趋势,优化产品策略,并提出针对性的营销策略建议 报告涵盖数据预处理、财务分析、产品分析、市场分析
2024-12-02
Java开发腾讯面试重点解析-关键字与语法
2024-11-27
大厂面试必备-深入剖析Java基础之面向对象特性
2024-11-27
咸鱼关键词多价格采集数据
2024-11-27
在虚拟机中模拟DDoS攻击,并配置相应防御策略 考试题目如下: 模拟SYN 洪水攻击及防御,模拟Smurf攻击及防御,模拟do
2024-10-18
【STM32单片机】贪吃蛇游戏设计
2023-12-13
自动化文件夹脚本程序,批量创建文件夹
2023-12-13
Typora是一款Markdown编辑器和查看器
2023-12-12
微博信息爬虫exe文件,下载打开双击运行即可
2023-12-05
java基础的注解和反射的相关知识点总结
2023-09-06
基于java的功能记事本程序
2023-08-15
javaweb前端相关入门关于变量的简单知识
2023-08-10
软件测试笔试理论知识点
2023-07-11
linux常用命令以及服务器工作中常用命令
2023-07-10
基于神经网络的外汇预测
2023-07-10
NAvicat用到的工具
2023-07-10
Windows使用记录查看工具
2023-07-10
数据恢复工具大家可以下载试试
2023-07-10
python基础学习+基础pdf文件
2023-06-08
分区助手,诸位c盘很小的C盘杀手,这个很好用免费的快下载
2023-05-26
混凝土强度预测 python 简单小项目
2023-05-26
数据库音乐管理系统很简单很low
2023-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人