2024年度总结——宛如一碗拼好饭
国潮来袭现在是2024年12/25晚20:38,距离跨年还有大概一周的时间。
剩下的这一周估计也是整不出什么活了,而我也实在想不出什么开场辞了,直接进入正题。
在构思本文的副标题时,我想了很多词来形容2024年这尴尬的一年,最后从大水母老师的新作《拼好马》灵光乍现——这2024年就是一盘的巨大的拼好饭。
其实我根本没怎么吃过拼好饭,只有今年暑期在深圳打工的时候出于新奇点了一盘不到五块的牛肉炒饭。说实话,那盘牛肉炒饭说不上难吃,也确实都是牛肉。照理说作为不到五块的一碗牛肉炒饭,他就算一粒牛肉也没有我也得点个赞,事实上却是从此之后我再也不敢点拼好饭了。
拼好饭其实本身并没有问题,主要是商家可能(其实是大概率)会因为低额的利润给你粗制滥造,比如什么剩饭剩菜、边角料、缺斤少两等等,对于商家这一行为其实也不是不能理解,早在一两年前点外卖用天天神卷的时候就已经初见端倪了。
这时可能有人要问了,这篇文章不是要讲的2024年度总结吗,讲那么多拼好饭干嘛?其实是我讲岔了,我本来是想说这2024和拼好饭一样烂,但是也并非烂的毫无道理。
这世界的专业程度可能不如拼好饭的厨师——至少他真的会 ...
《宇宙机器人》:疑似TGA评委里任豚软驱已被风风光光
谢邀,人已坐时间机器回到12日,目前在洛杉矶孔雀剧院正准备现场击毙杰夫换奶龙上去颁奖。
本来都没计划给这小机器人专门开一篇专栏,而是留给剑星或者塞尔达的,
TGA夏季爸颁奖口头上骂骂也就过去了,无奈以PS5吧为首的部分精神索索和铁血索索以反猴的名义大肆清算,甚至和op共振吸纳互联网顶级低能群体作为战斗力四处开战,再加上本人作为任豚于王国之泪吧被攻陷时了解一些不为人知的真相,以及出生索尼近年干过的不当人的事屡屡频出。
故作此专栏一方面是理性评价小机器人,另外一方面是对索尼和其部分逆天锁钩的恶劣行径进行指控。
索尼没活了首先叠个甲,本人已在ps5平台白金了该作,且所有发言并非针对所有索尼玩家。
言归正传,小机器人确实不赖,但是只针对于索尼的粉丝,以及想找一款家庭冒险游戏的玩家。换句话来说就是:这游戏十分的挑用户,至于这一点也反映在了该游戏的销量上,具体数量记不清了,反正和各大社区上的小机器人玩家(疑似op冒充)对不上数。
至于《宇宙机器人》的游戏内容,抛开索索都有的斯特哥尔摩综合征情怀后,实则不如PS5上自带的免费那部惊艳,很难想象游戏后面几章竟然还在继续重复游戏前期出现 ...
宫崎英高的自适应神坛-Souls-like游戏的魅力在哪?
WHAT’S SOULS-LIKE?魂系游戏(Souls-like)是一类起源于《恶魔之魂》和《黑暗之魂》系列,主要以高难度、死亡惩罚、环境叙事为特点的游戏,多为角色扮演或动作类游戏。
部分魂小鬼把元素瓶和篝火机制也添加为魂系游戏判定标准,故把黑神话等也归为魂系游戏,实际这个设计也是宫崎英高从其他地方偷的,非要找个祖宗的话不太应该排得到宫崎英高,故贻笑大方。
“即使引导早已破碎,也请你当上艾尔登之王”——别怪我没提醒你我们的游戏引导是真的已经破碎了大多数玩家谈及魂类游戏首先想起的都应该是“高难度”“恶趣味”“宫崎英高小时候……”等等标签,抛开滤镜来看,魂类游戏的缺点很多:
不人性化的设计,反人类的敌人强度且未提供难度选项,谜语人的剧情,狗屎一坨的引导,小儿麻痹式的人物性能,毫无疑问这些都是此类游戏或多或少的缺点,但为什么大多数玩家都愿意捧宫崎英高上神坛呢?此事在艾尔登法环亦有记载:
说来惭愧,Shel的第一部正统魂系游戏就是艾尔登法环,故每次于贴吧等平台讨论时经常被人开除魂籍。
你在一个陌生的地方醒来,出门没几步被一个小boss剧情杀了,当你还没搞明白什么情况是突然给你塞到新手村,稀 ...
幽灵诡计爽完通关后对叙述性诡计的一点感叹
真不愧是巧舟,活该暴打不思进取的小高,在玩游戏前看见设定和名字就隐隐约约猜到巧舟要玩这出,没想到玩的这么牛逼。
首先解释下什么是叙述性诡计:叙述性诡计,指的是作者在行文中利用文章结构或文字技巧,利用读者的思维定式或盲点,把某些事实刻意地对读者隐瞒或误导,直到最后才揭露出真相,让读者出乎意料的一种写作技巧。多见于推理小说中,在一些悬疑类、剧情向的ACG作品中也有出现。、
说白了:告诉你的信息是具有误导性的,但不能是直接给错误的信息,要让读者理解错误。
同样的缺点也很明显:
公平性缺失
毫无意义、文字游戏
生硬、不自然、伏笔强行
叙诡揭晓之前的情节无聊、枯燥冗长
作为推理作品,读者和主角应该是保持着同一的视点的,所以欺骗读者这件事没把好度应该是大忌,如果能在最后关键性的解密环节做的足够巧妙,也就是作品的铺垫做的够多能让读者有能力逐步感觉的出来自己被骗了,最后再来稍微的点醒读者这样的作品也许就能带给读者相当的震撼。
简而言之:悬念要足,关键性证据要给,解密的时候不能再爆一个大的证据出来。
譬如比较有名的作品ever17, 一般来说到二周目玩家打完都能意识到,两次故事的视角不但不同,甚至连 ...
Web测试
一、实验目的1、了解Web系统中的界面测试、功能测试、链接测试、表单测试。
2、能熟练应用白盒和黑盒方法对web界面、功能、表单等方面进行测试用例设计并测试。
二、实验环境Windows环境,Word相关的办公软件,使用 Chrome内核(版本50以上) 和 IE9及以上内核 的浏览器。
三、实验原理Web测试主要包括界面测试、功能测试、表单测试、性能测试、兼容性测试等通过Web测试可以尽可能地多发现浏览器端和服务器端程序中的错误并及时加以修正,以保证应用的质量。本实验主要进行界面测试、功能测试、表单测试。
1、界面测试
用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。
2、功能测试
Web应用程序中的功能测试主要是对页面的链接、按钮等页面元素功能是否正常工作的测试。
链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些未知地址的页面的主要手段 ...
CSAPP实验之cachelab
一、实验截图
二、transpose_submit函数的实现原理
由writeup文件里的要求可知,partB的cache的参数为s=5, E=1, b=5,
可得出共有32列,每列可以存储8个int值,也就是说最多可同时存328个数据,第一问中是要转置3232矩阵,假设原矩阵为A,变换后矩阵为B,
暴力解法:
在将A导入缓存中由于在二维数组里相同行的数据在内存上也是连续的所以可以同时写入后面8个元素。
可以理解为每隔8个元素就会发生一次miss,这是不可避的。
在写入B的时候由于是按列写的,并不在空间上连续,所以每次写的时候都会出现miss,在写入一个数字后,同样也会将它同行后的7个元素也加入到缓存中,但是在第一列写完后缓存肯定已经饱和,加入缓存中的后7个元素早已被替换了,所以在写入第二列的时候也会发生和写入第一列时一样的情况。
分析:
只要矩阵的大小小于缓存的总大小,那么在理想的情况下,在最初的强制不命中(即缓存为空导致的不命中)后,整个矩阵都会被加载进入缓存。在这之后的所有对于B矩阵的不连续写的引用都会命中。
如果能有效利用在写入B时已经加 ...
junit测试
一、 测试脚本
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051plaintextimport org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*assertEquals*; import static org.junit.jupiter.api.Assertions.*assertThrows*; public class CalculatorTest { private Calculator calculator; @BeforeEach public void setUp() { calculator = new Calculator() ...
SAPP实验之malloclab
一、实验准备
下载并解压malloclab-handout文件,修改mm.c文件里面的term结构体内容,粘贴如以下截图
二、完成实验(粘贴如以下结果示例的自己的截图)
调试记录:
根据要求可知此实验是要求模拟c语言中对内存的操作的三个函数malloc、free、realloc
最初版本malloc线性寻找从头部开始搜寻找到即返回free合并思路while先向上回收再向下回收,realloc就按照函数的原意来写就行了,但是最后debug后效果并不是很好。
查阅资料决定加上一个双向链表,通过看size在哪个大小类区间从而寻找相对应的块如果不存在则向上一位继续寻找直到找到或者找到链表数组最后一位如果都没有满足的我们就直接向外申请内存填进来。
CSAPP实验之preflab
一、实验准备
下载并解压perflab-handout文件,修改kernels.c文件里面的term结构体内容,粘贴如以下截图
二、完成实验(粘贴如以下结果示例的自己的截图)
三、代码调试记录(粘贴如以下结果示例的自己的截图)
Rotato函数
根据要求文件的提示中的信息:dim为32的整数倍,根据此信息,进行2/4/8/16/32路循环展开
寻找出得分最高的分块
32:
16:
8:
……
经过一轮测试当取16分块的时候得分最高
再在此基础上展开循环
第一次展开后发现得分还变少了,再次测试发现程序得分并不稳定
经过多次求取平均值后发现在展开外层循环后得分反而变少了故保留Rotato函数为:
123456789101112131415161718192021222324plaintext`void rotate(int dim, pixel *src, pixel *dst) { for (int i = 0; i < dim; i += 16){ for (int j = 0; j < dim; ...
黑盒测试
一、实验目的
\1. 掌握黑盒测试的基础知识,理解黑盒测试概念和测试目的;
\2. 掌握黑盒测试的等价类划分方法、边界值分析方法等基本测试方法,能熟练应用这些测试技术进行测试用例设计;且能对测试用例进行优化设计;
\3. 能熟练应用边界值和决策表测试技术进行测试用例设计;
\4. 对测试用例进行优化设计;
二、实验环境
Windows环境,Word相关的办公软件, Java编程环境或C++编程环境;
三、实验原理
实验黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、因果图法、判定表法等。
等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒测 ...