当前位置: 首页 > news >正文

【游戏引擎之路】登神长阶(五)

5月20日-6月4日:攻克2D物理引擎。
6月4日-6月13日:攻克《3D数学基础》。
6月13日-6月20日:攻克《3D图形教程》。
6月21日-6月22日:攻克《Raycasting游戏教程》。
6月23日-6月30日:攻克《Windows游戏编程大师技巧》。

下个目标:汇编语言学习。

今天收工,这周完成了80小时的净工作时间,没有一点的水份。

去年过年之后,我开始了骑行,那时候我只是骑了十公里就非常疲惫,而现在的我骑个60公里也没有任何压力。当时我爬上一座小的山坡的半山腰,然后内心绝望与希望交织。

我绝望的是我当时感觉自已的抑郁症是好不了了。我从2017年抑郁症正式爆发之后,一直想着恢复,我年年都觉得“今年能够恢复”了。可是一年一年地过去,自已的状况也没什么根本的改变。当然,好是一点点在好起来,不然去年也不会有动力骑行了。

我当时觉得,抑郁症就这样伴随我一生吧。我也不挣扎了。我向众神祈祷,我不求别的东西,只要我每天能够坚持工作8小时,我就满足了,我就能实现自已的愿望。

诸神回应了我。

自从骑行之后,我的身体状态是越来越好了。到了今年的六月,我感觉自已又恢复到了一个新的高度,我从2号开始,到现在已经没有一天休息了。这一周更是打破了自已的记录,工作了80小时。不过这样的“拼命”只能用在破记录这一次。我年轻的时候,这样的工作状态一点不是问题。但现在不行了。为了破记录,昨天晚上工作到9点多(我是5点起床的),然后今天早上就开始偏头痛了,真的是不能透支一点。

我现在晚上根本不敢玩游戏,短视频也戒了。戒短视频可能是我养成的最好的习惯。为什么不敢玩游戏,因为游戏太消耗精神了,我如果晚上不养好精神,用最低能耗的状态休息,身体就一定会崩溃。所以我晚上只能听听书,做那种干一会就想睡觉的事情。现在这些日子,我根本上都在9点到10点钟就睡觉了。没有超过10点的。这种作息简直想都不敢想。我年轻的时候经常晚上1-2点睡觉,然后早上9点起。

之所以能够有这么大的动作,除了自已把自已的身体调理好之外,还在于我找到了人生的方向。我终于完成了自已的“龙场悟道”。孔子说“四十不惑”,我现在终于明白那个“不惑”是什么意思了。

我几年前刚刚接触Unity的时候,那时候是我人生的一个重大转型。我之前是搞页游手游的,也赚了一些钱。但是,我总觉得这些游戏并不是“真正的游戏”。不是我想做的。所以当时自已的身体崩溃之后,我在那样的环境中,有一种“非宁静无以致远”的态度,然后做出我的人生中的一个重大决定,我决定不再搞自已的手游,而是追逐自已的梦想,开发独立游戏。

当时我开始学Unity,之后的几年里面,也一直在捣鼓Unity。每日也有进步。但是,我当时有那么一种心态,觉得这个时代就是可以“速成”的时代。不止我在内,这个时代的所有人都这么想,就包括Unity的设计思路,虚幻引擎的设计思路,就是可以让你“速成”。而这个时代也有无数这样的成功者。

用虚幻引擎做做FPS,不需要有多大的技术力,也能够获得成功。也有题材选得好的人,做做视觉小说类的游戏也能成功。这样的事情在游戏界很多很多,以至于大家开发游戏的思路都是那种“我要寻找到一种成功的方程,我找到这个密码,我就能成功”。

大家更加痴迷于题材,创意,把这些东西拔高到很高的地步。也美化了追求这些的游戏开发者。我其实并不怪这些人,因为我自已也是这么想的。我也想利用我的编程经验,快速上手Unity,然后快速地出作品。我脑子里面有很多好的想法,那种“我觉得这一定受欢迎”的点子有就箩筐。

然而,在开发的过程中,我却渐渐地感觉到了不对劲。我不知道怎么样形容这种感觉,就好像修仙小说里面,大家都很痴迷于学得更好的技能,什么天地玄黄,得到一个天阶技能,就能打遍天下。这种所谓“天阶”“地阶”,就是游戏的灵感,题材。

除了功法技能之外,大家也追求速成的道路。比如Unity里面,很多很多插件。能够让你“速成”,不需要你去开发。你想要物理材质,有Magical Cloth,你要攀爬系统,动作系统,骑乘系统,都有。我最初也是觉得我能够好好地利用这些插件快速地让自已的作品成型。

这些东西,就像是修仙小说里面那奇怪的能够快速提升实力的东西。然而,这些东西都有巨大的负作用,你每次使用这些东西提升自已,最终就会让你背负一样负担。最终你的系统会不堪重负。

我看到中国的独立游戏界,真的就像是看到修仙小说里面那些人在不择手段向上爬一样,每个人都想追求到什么功法,什么天材地宝,让自已一步登天。而事实上,每年也都有爆款,每年也都有成功者,这让这些人更加的狂热。

而时间一晃,如果从我开始学Unity的2020年,到现在已经4年了。这4年,诞生了很多成功的作品,可是,放眼中国独立游戏圈,这个圈子真的成长了吗?又诞生过多少大神呢?又有多少人从心底里面觉得,如果“照个这趋势发展下去,我们中国独立游戏界也能拿TGA”。

在我看来,中国独立游戏圈这些年,它的实力没有多少成长。

很多人会怪这是市场的趋势,那只是一部分原因。收益的成长不代表实力的成长,真正的成长是实力的成长。就像那些主角从来不会去服用那些追求短期利益而损失未来的丹药一样,我也不想成为那样的人,我想成为主角一样的人,我认为,这个世界是有“道”的。

所以当我一年前我骑上山坡的时候,我做了一个决定,一个我自已以前从来不敢想的决定,我决定,我要去攀登那座我之前只能仰望,而不能去攀登的山峰,我想要了解3D游戏制作的一切。

所有的武侠小说也好,修仙小说也好,都会告诉你,“基础”最重要。这些小说中的“道”,并不是虚假的,他是真实的“道”的印射,至少,我相信如此。想要做出最好的游戏,基础太重要了。

包括我的一些游戏制作的朋友,我在和他们聊这些的时候,都没有什么共同语言,而这些人,其实放在圈子里面,都属于相当有技术的人了。他们觉得他们手里面的技术够了,觉得做游戏最缺少的只是资源,又或者说,想游戏爆火,缺少的只是一个“点子”。

但我觉得,真正能够让游戏上一个台阶的,是真正的技术,不是那种能够运用引擎做出东西的技术,而是真正能够理解一切,才能够做出来最好的东西。我在自已做动作游戏的过程中,对这个就深有体会。我渐渐地知道了为什么国产的动作游戏和其它国外的游戏相比,总是差那么点意思,总是被人说打击感不行。这些东西你要做好,要用到3D知识里面最底层的东西。Unity的碰撞检查,连判定有时候都判定不准,我当时自已去找了一本3D数学的知识,然后自已写了一段我的物理引擎,给游戏附加了一套判定机制,这样才让自已满意。

而这,只是其中一样东西而已。游戏是靠无数这样的东西来组成的。

我不知道怎么说,因为有时候这个话题我自已都不清楚。如果你找一个人来和我辩论游戏怎么样才能成功,我也许也不能辩论过他。

可是,随着我自已做游戏,我越来越相信这一点,我越来越相信基础的重要。

于是一年前,我下定决心,从头开始。

直到现在,我仍然觉得这是一个需要勇气的决定。要知道,我已经很多年没有收入了。我现在就靠着自已仅剩的那点积蓄,苟活于世。我现在每个月的开销就是500。照这个开销,我想坚持多久就坚持多久。古时有人,一箪食一瓢饮,人在陋巷,不改其乐,我小时候学到这个的时候,我觉得这样的人真的好了不起,真的做不到。不过,我没想到自已有一天我也能做到了。哈哈。

从去年开始,我开始学习建模。在所有的知识之中,这是最难的一个。因为我是业余的。如果说到编程相关,我有十多年的经验。而建模,我完全一窍不通。

我开始学习Blender,然后其它所有的软件,什么Zbursh,Substance Painter,DAZ,能用的都用了。到了现在我已经能够做出《原神》那样的角色。我是真的没有想到,我居然还蛮适用干这个的。

学习了建模之后,我就再开始学习Shader。把技术美术的这一个关卡攻略下来。能够自已写Shader。我在这个过程中,真的是越来越感觉要做3D,有关3D知识,3D数学的基础实在太重要了。

到了今年。我把我的建模第一系角色做得差不多了之后,开始学习引擎部分。

我是卡马克的粉丝,在游戏行业,卡马克是我认可的唯一的真神。当时看《DOOM》启示录的时候,我就希望,要是自已有天也能像他那样就好了。我说的“像他那样”,不是指他的成就,而是指他的能力。我当时看到《DOOM启示录》里面说他“两个星期就能手搓引擎”的时候,我真的是惊为天人。

现在,我终于可以沿着神走过的路,去攀登这个登神长阶了。

我以前在B站,说自已要做能够上TGA的游戏。我真的是这样想的。我知道自已需要什么,就好像人这一生来到这个世界上,他是有自已的使命的,而我感觉自已就像找到了它一样。

最近这一个多月学的东西,我感觉比自已半年学的东西还多。我以前觉得那些学霸学东西好快啊,后来我才明白,学东西就是滚雪球,很多人以为别人学东西快,那是别人有天赋,其实不然,有人学得快,是因为他之前掌握的有东西,他所有的东西,都不是“全新”的,而只是“半新”的。所以他才学得快。

就比如说,我学这些东西,需要两个语言,C和c++。这两种语言我都十多年没用过了。以前我做页游,手游,用的是Java,我用了差不多十年。然后学Unity,我用的是C#。可是,我虽然已经不用C/C++十多年了。可是,当初我学编程的时候,我就是学C/C++起手的啊!这东西就像自已的母语一样,不可能忘记的。

C是这个世界上最优雅的语言,没有之一。即便我这些年用了无数其它的语言,我还是觉得这样。

3D数学这东西是看得头大。可是,当自已的知识一点一点积累起来之后,渐渐地也变得没那么可怕了。

我以前做动作游戏时,那些想做又做不出来的东西,随着自已的基础知识的增加,一点一点地变得清楚起来。

我希望自已的路没有走错。

这次《Windows编程大师技巧》,其实我毕业之后也买了这么一本。他后面还有《3D游戏编程大师技巧》,我以前也有,还用这个做了一个小小的3D战棋DEMO,当然,根本玩不了,可是,毕竟能够控制一个机器人在棋盘上走。可是那之后我就去做页游,这一晃就是十多年过去了。

这本书其实学完只学到了怎么用DirectX,几乎没有3D的内容。我学完之后做了一个《光明战神》的射击游戏。其实如果用Unity,最简单的初学者也可以做出这样的游戏,不过,对于我来说却是意义非凡,因为这就是我自已手搓的第一个引擎。这是真正的引擎。我在里面有很多引擎方面的构架,比如说,我就做了一个SpritePack,能够用XML定制Sprite的合集,这是以前我用COCOS或者Unity,要用附加工具才能做的,但是,我用一种非常灵活的方式做出来。这就是引擎的思路。

我觉得自已能够做的事情真的太多了。

而且有时候深入了底层,真的能够看到很多不一样的风景。比如说,上面显示的FPS是4000多,这不是BUG,是真的有4000帧率。就算我再渲染更多的东西,帧率还能这么高。

这就是底层的力量。因为我是用最底层的东西在加速,他的性能真就能这么变态。我的机器可是1080TI的老机器了,以前有钱的时候买的,随我征战多年,现在经济条件不好,所以也没得换了。

这次学完了这本,本来应该继续学《3D游戏编程大师技巧》的,可是我的书居然因为一些意外情况到不了,只好再重新买一次。所以我把之后应该学的汇编提上日程。学汇编,我想到这个事情,我自已都觉得有点好笑。我是这辈子真没想到自已会学汇编。因为汇编实际上对现在代的编程影响并不大了。

不过,我现在有点像《阿甘正传》里面的主角,觉得自已反正已经跑了这么远。那再跑远点又有什么呢?

我真的想看看,我自已一个人能够走多远。

我真的想看看,那不一样的风景。

我的《光明战神》,一个小小的成果:

虽然说Unity随便也能做出这种东西,但它已经拥有了一个引擎应该有的东西。至少,你不用因为下载量而付费了吧。哈哈。

相关文章:

【游戏引擎之路】登神长阶(五)

5月20日-6月4日:攻克2D物理引擎。 6月4日-6月13日:攻克《3D数学基础》。 6月13日-6月20日:攻克《3D图形教程》。 6月21日-6月22日:攻克《Raycasting游戏教程》。 6月23日-6月30日:攻克《Windows游戏编程大师技巧》。 …...

FireAct:使用智能体(agent)微调大语言模型

1.概述 近年来,针对语言模型(LMs)的研究致力于探索其与外部工具或环境互动的能力,以推进新型语言代理的发展。此类代理具备从环境反馈中汲取新知识、通过语言推理进行连续决策,以及借助自我反思提升任务解决能力的能力。工业界的进展,如ChatGPT插件,凸显了语言代理在实际…...

20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览

20240626让飞凌的OK3588-C开发板在相机使用1080p60分辨率下预览 2024/6/26 15:15 4.2.1 全编译测试 在源码路径内,提供了编译脚本 build.sh,运行该脚本对整个源码进行编译,需要在终端切换到解压 出来的源码路径,找到 build.sh 文件…...

python数据分析——数据分类汇总与统计

数据分类汇总与统计 前言一、Groupby分类统计语法按列分组示例一示例二示例三 遍历各分组示例 使用字典和Series分组示例 使用函数分组示例 二、数据聚合groupby的聚合函数示例一示例二 逐列及多函数应用示例一示例二 返回不含行索引的聚合数据示例 三、一般性的“拆分-应用-合…...

iOS17系统适配

iOS17 新功能 文章目录 iOS17 新功能iOS17支持哪几款机型Xcode15新特性iOS17-开发适配指南 横屏待机 在iOS 17中,还带来了横屏待机功能,苹果将这个新功能命名为“Standby”模式,为 iPhone 带来了全新的玩法。iPhone启用之后,默认情…...

树洞陪聊陪玩交友程序系统源码,解锁交友新体验

在繁忙的都市生活中,你是否渴望找到一片属于自己的秘密花园,倾诉心声、分享快乐?今天,就让我带你走进这片名为“树洞”的神秘之地,感受陪聊陪玩交友的全新魅力! 🌳树洞陪聊陪玩交友程序系统 你…...

区间动态规划——最长回文子序列长度(C++)

把夜熬成粥,然后喝了它。 ——2024年7月1日 书接上回:区间动态规划——最长回文子串(C)-CSDN博客,大家有想到解决办法吗? 题目描述 给定一个字符串s(s仅由数字和英文大小写字母组成&#xff0…...

无人机远程控制:北斗短报文技术详解

无人机(UAV)技术的快速发展和应用,使得远程控制成为了一项关键技术。无人机远程控制涉及无线通信、数据处理等多个方面,其中北斗短报文技术以其独特的优势,在无人机远程控制领域发挥着重要作用。本文将详细解析无人机远…...

240627_关于CNN中图像维度变化问题

240627_关于CNN中图像维度变化问题 在学习一些经典模型时,其中得维度变化关系总搞不太明白,集中学习了以下,在此作以梳理总结: 一般来说涉及到的维度变换都是四个维度,当batch size4,图像尺寸为640*640&a…...

食品行业怎么用JSON群发短信

食品作为日常生活不可缺少的元素,市场需求是很稳定的,但是份额就那么多,商家都要来抢占的话,就需要运营推广各凭本事,市场运营中选择合适的推广方式,可以增加店铺销售额,很多实体店或商城都会建…...

MySQL高级-MVCC-隐藏字段

文章目录 1、介绍2、测试2.1、进入服务器中的 /var/lib/mysql/atguigu/2.2、查看有主键的表 stu2.3、查看没有主键的表 employee2.3.1、创建表 employee2.3.2、查看表结构及其其中的字段信息 1、介绍 ---------------- | id | age | name | ---------------- | 1 | 1 | Js…...

探索PcapPlusPlus开源库:网络数据包处理与性能优化

文章目录 0. 本文概要1. PcapPlusPlus介绍1.1 概述1.2主要特性和功能1.3 PcapPlusPlus 主要模块关系和依赖1.4 网络协议层处理过程 2. 实例2.1 基于 PcapPlusPlus 的应用程序设计和封装流程:2.2 多线程示例代码2.3 代码说明: 3. 程序性能进一步优化3.1 避…...

深入理解SSH:网络安全的守护者

在当今数字化时代,网络安全已成为全球关注的焦点。随着网络攻击手段的不断升级,保护数据传输的安全性变得尤为重要。SSH(Secure Shell)作为一种安全的网络协议,为远程登录和网络服务提供了强大的安全保障,成…...

DDD学习笔记四

领域模型的构建 基础领域模型的基本组成有名称、属性、关联、职责、事件和异常 发掘领域概念3种策略: 1)学习已有系统,重用已有模型 2)使用分类标签。分类标签来源于领域,需要我们研究一些资料并做一些提炼。从采用5W…...

Head First设计模式中的典型设计模式解析与案例分析

Head First设计模式中的典型设计模式解析与案例分析 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 《Head First设计模式》是一本广受欢迎的书籍&#xff0c…...

iptables 防火墙(一)

iptables 防火墙(一) 一、Linux 防火墙基础防火墙分类 二、iptables 的表、链结构规则表规则链数据包过滤的匹配流程 三、编写防火墙规则iptables 的安装iptables的基本语法规则的匹配条件通用匹配隐含匹配显式匹配 四、总结 在网络安全的世界里&#xf…...

数据库物理结构设计-定义数据库模式结构(概念模式、用户外模式、内模式)、定义数据库、物理结构设计策略

一、引言 如何基于具体的DBMS产品,为数据库逻辑结构设计的结果,即关系数据库模式,制定适合应用要求的物理结构 1、在设计数据库物理结构前,数据库设计人员首先 要充分了解所用的DBMS产品的功能、性能和特点,包括提供…...

QT加载安装外围依赖库的翻译文件后翻译失败的现象分析:依赖库以饿汉式的形式暴露单例接口导致该现象的产生

1、前提说明 VS2019 QtClassLibaryDll是动态库,QtWidgetsApplication4是应用程序。 首先明确:动态库以饿汉式的形式进行单例接口暴露; 然后,应用程序加载动态库的翻译文件并进行全局安装; // ...QTranslator* trans = new QTranslator();//qDebug() << trans->…...

13_旷视轻量化网络--ShuffleNet V2

回顾一下ShuffleNetV1:08_旷视轻量化网络--ShuffleNet V1-CSDN博客 1.1 简介 ShuffleNet V2是在2018年由旷视科技的研究团队提出的一种深度学习模型&#xff0c;主要用于图像分类和目标检测等计算机视觉任务。它是ShuffleNet V1的后续版本&#xff0c;重点在于提供更高效的模…...

Linux系统编程--进程间通信

目录 1. 介绍 1.1 进程间通信的目的 1.2 进程间通信的分类 2. 管道 2.1 什么是管道 2.2 匿名管道 2.2.1 接口 2.2.2 步骤--以父子进程通信为例 2.2.3 站在文件描述符角度-深度理解 2.2.4 管道代码 2.2.5 读写特征 2.2.6 管道特征 2.3 命名管道 2.3.1 接口 2.3.2…...

docker-本地部署-后端

前置条件 后端文件 这边是一个简单项目的后端文件目录 docker服务 镜像文件打包 #命令行 docker build -t author/chatgpt-ai-app:1.0 -f ./Dockerfile .红框是docker所在文件夹 author&#xff1a;docker用户名chatgpt-ai-app&#xff1a;打包的镜像文件名字:1.0 &#…...

TLS + OpenSSL + Engine + PKCS#11 + softhsm2 安全通信

引擎库路径只有在 /lib 下才能被 "LOAD" 识别到&#xff0c;OpenSSL的ReadMe给的示例在/lib&#xff0c;大概是在构建OpenSSL时默认的configure指定了lib路径 // #define PKCS11_ENGINE_PATH "/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so" #define …...

Unity实现简单的MVC架构

文章目录 前言MVC基本概念示例流程图效果预览后话 前言 在Unity中&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;框架是一种架构模式&#xff0c;用于分离游戏的逻辑、数据和用户界面。MVC模式可以帮助开发者更好地管理代码结构&#xff0c;提高代码的可维护性…...

【简单讲解下OneFlow深度学习框架】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

FastGPT 调用Qwen 测试Hello world

Ubuntu 安装Qwen/FastGPT_fastgpt message: core.chat.chat api is error or u-CSDN博客 参考上面文档 安装FastGPT后 登录&#xff0c; 点击右上角的 新建 点击 这里&#xff0c;配置AI使用本地 ollama跑的qwen模型 问题&#xff1a;树上有3只鸟&#xff0c;开了一枪&#…...

Golang-GMP

GMP调度 golang-GMP语雀笔记整理 GMP调度设计目的&#xff0c;为何设计GMP?GMP的底层实现几个核心数据结构GMP调度流程 设计目的&#xff0c;为何设计GMP? 无论是多进程、多线程目的都是为了并发提高cpu的利用率&#xff0c;但多进程、多线程都存在局限性。比如多进程通过时…...

【PythonWeb开发】Flask自定义模板路径和静态资源路径

在大型的 Flask 项目中&#xff0c;确实可能会有多个子应用&#xff08;Blueprints&#xff09;&#xff0c;每个子应用可能都有自己的静态文件和模板。为了更好地管理和组织这些资源&#xff0c;可以使用static_folder 和template_folder 属性来统一管理。必须同时设置好主应用…...

Java对象创建过程

在日常开发中&#xff0c;我们常常需要创建对象&#xff0c;那么通过new关键字创建对象的执行中涉及到哪些流程呢&#xff1f;本文主要围绕这个问题来展开。 类的加载 创建对象时我们常常使用new关键字。如下 ObjectA o new ObjectA();对虚拟机来讲首先需要判断ObjectA类的…...

Does a vector database maintain pre-vector chunked data for RAG systems?

题意&#xff1a;一个向量数据库是否为RAG系统维护预向量化分块数据&#xff1f; 问题背景&#xff1a; I believe that when using an LLM with a Retrieval-Augmented Generation (RAG) approach, the results retrieved from a vector search must ultimately be presented…...

Rust-11-错误处理

Rust 将错误分为两大类&#xff1a;可恢复的&#xff08;recoverable&#xff09;和 不可恢复的&#xff08;unrecoverable&#xff09;错误。对于一个可恢复的错误&#xff0c;比如文件未找到的错误&#xff0c;我们很可能只想向用户报告问题并重试操作。不可恢复的错误总是 b…...

自动化测试:使用Postman进行接口测试与脚本编写

Postman 是一种流行的 API 测试工具&#xff0c;广泛应用于开发和测试过程中。它不仅可以用于手动测试&#xff0c;还支持自动化测试和脚本编写&#xff0c;以确保 API 的可靠性和性能。本文将详细介绍如何使用 Postman 进行接口测试与脚本编写&#xff0c;帮助你更高效地进行自…...

ONLYOFFICE 8.1 桌面编辑器测评:引领数字化办公新潮流

目录 前言 下载安装 新功能概述 1.PDF 编辑器的改进 2. 演示文稿中的幻灯片版式 3.语言支持的改进 4. 隐藏“连接到云”板块 5. 页面颜色设置和配色方案 界面设计&#xff1a;简洁大方&#xff0c;操作便捷 性能评测&#xff1a;稳定流畅&#xff0c;高效运行 办公环…...

基于大语言模型LangChain框架:知识库问答系统实践

ChatGPT 所取得的巨大成功&#xff0c;使得越来越多的开发者希望利用 OpenAI 提供的 API 或私有化模型开发基于大语言模型的应用程序。然而&#xff0c;即使大语言模型的调用相对简单&#xff0c;仍需要完成大量的定制开发工作&#xff0c;包括 API 集成、交互逻辑、数据存储等…...

解锁Transformer的鲁棒性:深入分析与实践指南

&#x1f6e1;️ 解锁Transformer的鲁棒性&#xff1a;深入分析与实践指南 Transformer模型自从由Vaswani等人在2017年提出以来&#xff0c;已经成为自然语言处理&#xff08;NLP&#xff09;领域的明星模型。然而&#xff0c;模型的鲁棒性——即模型在面对异常、恶意或不寻常…...

mybatis#号和$区别

在MyBatis中&#xff0c;#{}和${}都是用于实现动态SQL的占位符&#xff0c;但它们在使用场景和安全性上有明显的区别&#xff1a; 用途区别&#xff1a; #{}主要用于传递接口传输过来的具体数据&#xff0c;如参数值&#xff0c;它可以防止SQL注入&#xff0c;因为MyBatis会…...

AI绘画 Stable Diffusion【实战进阶】:图片的创成式填充,竖图秒变横屏壁纸!想怎么扩就怎么扩!

大家好&#xff0c;我是向阳。 所谓图片的创成式填充&#xff0c;就是基于原有图片进行扩展或延展&#xff0c;在保证图片合理性的同时实现与原图片的高度契合。是目前图像处理中常见应用之一。之前大部分都是通过PS工具来处理的。今天我们来看看在AI绘画工具 Stable Diffusio…...

Linux内核 -- 汇编结合ko案例之PMU获取cpu cycle技术

ARMv7汇编实现周期计数读取与清空 本文档详细描述了如何在ARMv7平台上使用汇编语言编写周期计数器读取与清空函数&#xff0c;如何在内核模块中导出这些函数供其他模块调用&#xff0c;以及如何使用Netlink接口供用户态程序进行调用。 1. 汇编函数实现 首先&#xff0c;编写…...

探索 Symfony 框架:工作原理、特点及技术选型

目录 1. 概述 2. Symfony 的工作原理 2.1 MVC 架构 2.2 前端控制器模式 2.3 路由机制 2.4 依赖注入容器 2.5 事件驱动架构 3. Symfony 的特点 3.1 高度可扩展性 3.2 强大的社区支持和生态系统 3.3 优秀的性能和可伸缩性 3.4 严格的代码规范和最佳实践 4. Symfony …...

从万里长城防御体系看软件安全体系建设@安全历史03

长城&#xff0c;是中华民族的一张重要名片&#xff0c;是中华民族坚韧不屈、自强不息的精神象征&#xff0c;被联合国教科文组织列入世界文化遗产名录。那么在古代&#xff0c;长城是如何以其复杂的防御体系&#xff0c;一次次抵御外族入侵&#xff0c;而这些防御体系又能给软…...

ISO 19110操作要求类中的/req/operation/formal-definition详细解释

/req/operation/formal-definition 要求: 每个要素操作实体必须具有一个形式定义&#xff08;formal definition&#xff09;&#xff0c;该定义应明确描述操作的行为和影响。 具体解释 定义 要素操作实体&#xff08;feature operation entity&#xff09;&#xff1a;这…...

豆包大语言模型API调用错误码一览表

本文介绍了您可能从 API 和官方 SDK 中看到的错误代码。 http code说明 400 原因&#xff1a;错误的请求&#xff0c;例如缺少必要参数&#xff0c;或者参数不符合规范等 解决方法&#xff1a;检查请求后重试 401 原因&#xff1a;认证错误&#xff0c;代表服务无法对请求进…...

AI辅助设计:如何通过机器学习革新创意工作流程

&#x1f341; 作者&#xff1a;知识浅谈&#xff0c;CSDN签约讲师&#xff0c;CSDN博客专家&#xff0c;华为云云享专家&#xff0c;阿里云专家博主 &#x1f4cc; 擅长领域&#xff1a;全栈工程师、爬虫、ACM算法&#xff0c;大数据&#xff0c;深度学习 &#x1f492; 公众号…...

轻松解锁电脑强悍性能,4000MHz的玖合星舞 DDR4 内存很能打

轻松解锁电脑强悍性能&#xff0c;4000MHz的玖合星舞 DDR4 内存很能打 哈喽小伙伴们好&#xff0c;我是Stark-C~ 很多有经验的电脑玩家在自己DIY电脑选购内存条的时候&#xff0c;除了内存总容量&#xff0c;最看重的参数那就是频率了。内存频率和我们常说的CPU主频一样&…...

SpringBoot | 使用jwt令牌实现登录认证,使用Md5加密实现注册

对于登录认证中的令牌&#xff0c;其实就是一段字符串&#xff0c;那为什么要那么麻烦去用jwt令牌&#xff1f;其实对于登录这个业务&#xff0c;在平常我们实现这个功能时&#xff0c;可能大部分都是通过比对用户名和密码&#xff0c;只要正确&#xff0c;就登录成功&#xff…...

Springboot基于Redis的高性能分布式缓存数据库的实现与实例

一、引言 在现代的分布式系统和高并发应用中&#xff0c;缓存机制显得尤为重要。Redis作为一种开源&#xff08;BSD许可&#xff09;的内存键值存储&#xff0c;因其高性能、丰富的数据结构和多样化的应用场景&#xff0c;成为开发者们的首选。在这篇博客中&#xff0c;我们将…...

防止多次点击,vue的按钮上做简易的防抖节流处理

话不多说,上个视频,看看是不是你要的效果 防抖节流 1.创建一个directive.js // directive.js export default {install(Vue) {// 防重复点击(指令实现)Vue.directive(repeatClick, {inserted(el, binding) {el.addEventListener(click, () > {if (!el.disabled) {el.disabl…...

云计算【第一阶段(21)】Linux引导过程与服务控制

目录 一、linux操作系统引导过程 1.1、开机自检 1.2、MBR引导 1.3、GRUB菜单 1.4、加载 Linux 内核 1.5、init进程初始化 1.6、简述总结 1.7、初始化进程centos 6和7的区别 二、排除启动类故障 2.1、修复MBR扇区故障 2.1.1、 实验 2.2、修复grub引导故障 2.2.1、实…...

Google 发布最新开放大语言模型 Gemma 2,现已登陆 Hugging Face Hub

Google 发布了最新的开放大语言模型 Gemma 2&#xff0c;我们非常高兴与 Google 合作&#xff0c;确保其在 Hugging Face 生态系统中的最佳集成。你可以在 Hub 上找到 4 个开源模型 (2 个基础模型和 2 个微调模型) 。发布的功能和集成包括&#xff1a; Hub 上的模型https://hf.…...

智能分析赋能等保:大数据技术在安全审计记录中的应用

随着信息技术的飞速发展&#xff0c;大数据技术在各行各业中的应用愈发广泛&#xff0c;特别是在网络安全领域&#xff0c;大数据技术为安全审计记录提供了强有力的支撑。本文将深入探讨智能分析如何赋能等保&#xff08;等级保护&#xff09;&#xff0c;以及大数据技术在安全…...

Django中,update_or_create()

在Django中&#xff0c;可以使用update_or_create()方法来更新现有记录或创建新记录。该方法接受一个字典作为参数&#xff0c;用于指定要更新或创建的字段和对应的值。 update_or_create()方法的语法如下&#xff1a; 代码语言&#xff1a;python obj, created Model.obje…...

Python处理excel数据详解

1.导入文件 注意&#xff1a;要把excel放到跟你的python文件在同一个地方 import pandas as pd import numpy as np dfpd.read_excel("鸢尾花训练数据.xlsx",engine"openpyxl") import pandas 先引入 (若没有下载 需要在终端下载 pip install pandas)…...

Maven列出所有的依赖树

在 IntelliJ IDEA 中&#xff0c;你可以使用 Maven 插件来列出项目的依赖树。Maven 插件提供了一个名为dependency:tree的目标&#xff0c;可以帮助你获取项目的依赖树详细信息。 要列出项目的依赖树&#xff0c;可以执行以下步骤&#xff1a; 打开 IntelliJ IDEA&#xff0c;…...

SSL 之 http只用crt格式证书完成SSL单向认证通信

背景 远程调用第三方服务时&#xff0c;之前都是双向认证&#xff0c;服务器提供jks格式的keystore证书&#xff0c;客户端配置好即可。 今天遇到个奇葩需求&#xff0c;服务器只给根公钥证书(root.crt)&#xff0c;还是第三方合法证书&#xff0c;要求单向认证&#xff0c;客户…...

selenium,在元素块下查找条件元素

def get_norms_ele_text(self):elementsself.get_norms_elements()locBy.CSS_SELECTOR,"div.sku-select-row-label"by loc[0] # 获取By类型&#xff0c;例如By.CSS_SELECTORvalue loc[1] # 获取具体的CSS选择器字符串&#xff0c;例如"div.sku-select-row-l…...

编译原理 第二章下: 推导,规约,句型句子,语言,文法分类,二义性

文章目录 2.3 推导2.3.1 直接推导/直接规约2.3.2 推导/规约2.3.3 规范推导 2.4 句型和句子2.5 语言2.6 文法的分类2.6.1 0型文法2.6.2 1型文法2.6.3 2型文法2.6.4 3型文法 2.7 推导语法树的构造2.8 递归规则和递归文法2.9 文法的二义性2.9.1 有关文法的实用限制 2.3 推导 2.3.…...

Java中缓存实现的最佳实践

Java中缓存实现的最佳实践 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在实际的软件开发中&#xff0c;优化和高效地使用缓存是提升系统性能的重要策略之一。…...

实惠有面子!风行M7诠释出行新主张,商务车中的超值之选!

在快速发展的商业环境中,出行不再是简单的位移,更是展示企业形象、提升工作效率的重要环节。对于商务人士而言,一辆合适的商务车不仅能提供舒适的乘坐体验,更是身份与品味的象征。在众多商务车型中,风行M7凭借其实惠的价格、体面的外观、宽敞舒适的空间以及高效的动力系统等特点…...

安全是对家人最强的守护!看星海V9如何锻造安全壁垒和不破金身

如今国产车的市场前景是越来越好了,特别是东风汽车。凭借着出色的造车技术在市场上混得风生水起。今天我们说的这款车也是来自东风汽车旗下,豪华智电头等舱MPV 星海V9全新上市。东风风行首款豪华新能源旗舰MPV——星海V9全新上市,预售价19.99万起,购车立享九重礼!东风风行…...

Linux驱动开发笔记(二) 基于字符设备驱动的I/O操作

文章目录 前言一、设备驱动的作用与本质1. 驱动的作用2. 有无操作系统的区别 二、内存管理单元MMU三、相关函数1. ioremap( )2. iounmap( )3. class_create( )4. class_destroy( ) 四、GPIO的基本知识1. GPIO的寄存器进行读写操作流程2. 引脚复用2. 定义GPIO寄存器物理地址 五、…...

用户接入和认证技术

一、用户接入和认证配置 称为网络接入控制&#xff0c;通过对接入网络的客NAC (Network Admission Control)户端和用户的认证保证网络的安全&#xff0c;是一种“端到端”的安全技术。包括802.1x认证、MAC认证与Portal认证。 二、三种认证方式简介 1、Portal认证 Portal认证通…...

【本地运行chatgpt-web】启动前端项目和service服务端项目,也是使用nodejs进行开发的。两个都运行成功才可以使用!

1&#xff0c;启动web界面 https://github.com/Chanzhaoyu/chatgpt-web#node https://nodejs.org/en/download/package-manager # 使用nvm 安装最新的 20 版本。 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source /root/.bashrc n…...

Android数据缓存框架 - 内存数据载体从LiveData到StateFlow

引言&#xff1a;所有成功者的背后&#xff0c;都有一份艰苦的历程&#xff0c;不要只看到了人前的风光&#xff0c;而低估了他们背后所付出的努力。 随着flow到流行度越来越高&#xff0c;有开发者呼吁我使用flow&#xff0c;于是我就如你们所愿&#xff0c;新增了StateFlow作…...