发表新串


技术宅

•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

无标题无名氏No.62437019

2024-05-19(日)00:16:05 ID: qh5EPD9 回应

肥哥们求助
怎么下载
https://fim.heartshine.gay/?s=1&e=1&res=1080&lo=0
的辅助字幕
jp串内

回应有 3 篇被省略。要阅读所有回应请按下回应链接。

无标题无名氏No.62437206

2024-05-19(日)00:28:09 ID: y9MtU4y

好jp

无标题无名氏No.62437385

2024-05-19(日)00:39:29 ID: r47luXF

https://static.heartshine.gay/g4-fim/vtt/s01e01-en.vtt

无标题无名氏No.62438372

2024-05-19(日)02:29:39 ID: qh5EPD9 (PO主)

感谢肥哥

无标题无名氏No.62439731

2024-05-19(日)09:49:16 ID: y9MtU4y

问下po这个网站是干嘛的?看小马?

无标题无名氏No.62442088

2024-05-19(日)14:05:07 ID: qh5EPD9 (PO主)

>>No.62439731
没错就是看小马


无标题无名氏No.62357332

2024-05-12(日)15:37:42 ID: TPWHppd 回应

肥哥们,我现在在做一款小游戏的开发,我们有一个需求是在某些特定的时刻触发指定的函数,并且这个指定的函数要能够被修改

无标题无名氏No.62357384

2024-05-12(日)15:43:17 ID: TPWHppd (PO主)

我现在的做法是用两个文件分别放置对象的属性键值对,和对象对应的各类函数

比如bug_lib.json里存放了“工蚁”的属性,然后bug_func_lib.js里通过变量存放“工蚁”对象的函数键值对,如图所示

然后创建“工蚁”对象的时候会把这个json里的属性填装到class的生成函数里,然后绑定上对应的js文件里的函数

在这之后如果有需要触发指定函数的时候,就调用绑定在对象内部的指定函数就行了

但现在的问题是我们需要在某些情况下对一个对象的某些函数进行修改,但是我发现直接修改函数对象的话,会导致其他有着相同函数对象的对象的函数也跟着修改,似乎修改的是js文件里的变量的值,我猜测这个是因为js里面的绑定用的是指针

我本来打算用深拷贝复制一个函数对象然后绑定的,但是如果每一个对象都有一个完整的函数对象的话,之后的优化可能会出一些问题

我们目前比较理想的方法就是只修改对象绑定的指定的函数的指针情况,其他的函数继续绑定对应的对象指针,但是不知道这个要怎么实现呢|-` )

无标题无名氏No.62385830

2024-05-14(二)19:19:47 ID: 70V5d50

>>No.62357384
是纯c++吗,肥遇到这类问题会选择用观察者模式|∀゚

无标题无名氏No.62392939

2024-05-15(三)10:20:03 ID: j3lJQyS

一般这种情况可以使用策略模式,将函数设置为可配置的,js非常适合这种模式.
我没有从事js开发,不太明白每个对象都有一个完整的函数对象,会出现什么优化问题,可以浅谈一下吗.

class Ant{
constructor(){
this.hp = 10;
this.atk = 1;
this.say = function(){ console.log("default"); }
}
}
Let ant1 = new Ant();
Let ant2 = new Ant();

ant2.say = function(){ console.log("hi boy"); }
ant1.say();
ant2.say();

无标题无名氏No.62413633

2024-05-16(四)23:05:16 ID: nnWCtvH

js的每个类都会在引擎内部抽象出一个抽象类来加快运行,具体的不很了解了

无标题无名氏No.62429560

2024-05-18(六)12:40:41 ID: mmnugQ3

代理模式


无标题无名氏No.62406445

2024-05-16(四)11:47:36 ID: ZrcLcjA 回应

听说华为发布会出了点小问题(`・ω・) 有人说这个sleep就是用来假装加载并且直接替换图片来演示的 可惜没有找到演示用的一模一样的代码 各位肥肥有什么看法

回应有 17 篇被省略。要阅读所有回应请按下回应链接。

无标题无名氏No.62420679

2024-05-17(五)16:14:36 ID: Rrfm4tk

>>No.62416948
可是我觉得这样被知道之后还是挺令人寒心的 毕竟大部分都是来看你这真本事的 你却实现准备好来唬我|ー` )

无标题无名氏No.62420878

2024-05-17(五)16:35:15 ID: TvYZ7bQ

>>No.62416948
如果是准备好的数据、那谁知道是不是大模型跑出来的

无标题无名氏No.62420916

2024-05-17(五)16:39:21 ID: vDcR69A

>>No.62416948
按你这种理解,你开产品技术发布会,就只是准备点PPT和准备好的内容,一点也不展示实际内容吗(`ヮ´ )秀秀肌肉吗?

很简单的逻辑,上过班就知道。这个是发布会,不是内部报告汇报,性质不一样的

况且其他人可是现场秀肌肉,被发现不是实时有作假嫌疑的倒了大霉。

发布会的作用是什么,来看PPT吗?底下投资者,是来看你谁都可以做到的事先准备好的PPT吗?(`ヮ´ )
自己手里的投资资金决定你是准备投给真实秀肌肉的还是作秀的?

你要是发布会说这些因为是服务直播,都是事先准备好的素材,都是可以理解的,大伙看一看就行了(`ヮ´ )你看你领导急不急,其他投资人和现场观众会不会看傻子一样看你

无标题无名氏No.62422522

2024-05-17(五)19:14:48 ID: 83YvGLK

>>No.62419660
原来这么做就属于是 欺诈啊 谢谢解释 那问题的确有点大

无标题无名氏No.62422622

2024-05-17(五)19:25:19 ID: 83YvGLK

>>No.62420679
>>No.62420878
原来如此 懂了 产品发布会和普通直播不一样的

>>No.62420916
现在懂了 别骂了|д` )

看来的确是翻车了|ー` )

不过既然是产品发布会 还这样把源码露出来是不是有点不太好 用编译型语言感觉逼格更高啊


无标题无名氏No.62398013

2024-05-15(三)18:09:46 ID: a9R96aF 回应

问道于肥
在本地用MPV播放NAS中的番剧,会占用NAS的CPU吗?
动漫刮削可以在本地使用emby刮削NAS中的动漫吗?

回应有 6 篇被省略。要阅读所有回应请按下回应链接。

无标题无名氏No.62410796

2024-05-16(四)19:04:16 ID: QVtDlGV

>播放视频卡
首先看看你nas和播放设备之间有多大带宽,占没占满,其次看看你视频解码在nas还是播放设备上
// 说真的你在nas和播放设备上分别看看CPU占用不就行了嘛
>刮削视频
这个我看了一下,应该只要把nas挂载成远程驱动器就行了吧,nfs和smb应该都行,ftp不知道,应该也行吧。
//说起来这种东西应该在nas上也能完成吧?为啥非得在PC上做?

无标题无名氏No.62411055

2024-05-16(四)19:29:04 ID: rUy5z0p

>>No.62410244
说点题外话,如果你只是为了弄个看视频的服务器,外加存点东西,不需要手机在nas上备份图片啥的(也就是群晖的手机备份功能),
你可以选择装个win再装个jellyfin,好处是调试方便,
远程调试就todesk,然后公网用sakura frp加域名解决,
说回播放卡的问题,我的看法是得加钱(),指望视频都让播放设备解码让nas轻轻松松是不太现实的,还是换个好点的配置吧,我nas弄得就是e31275v3自带核显,然后按照上面那个弄得win

无标题无名氏No.62411665

2024-05-16(四)20:28:26 ID: a9R96aF (PO主)

>>No.62410796
就是群晖这个型号配置太低所以就想只把它当作个会自动下载番剧的大容量硬盘,如果再挂个emby的话cpu遭不住

无标题无名氏No.62411692

2024-05-16(四)20:30:19 ID: a9R96aF (PO主)

>>No.62411055
倒也是个办法,我再研究研究吧(つд⊂)

无标题无名氏No.62419206

2024-05-17(五)13:38:24 ID: QVtDlGV

>>No.62411055
笑死,我自组nas直接用旧PC装Ubuntu server


无标题无名氏No.62390298

2024-05-15(三)00:49:08 ID: N7Bv1P4 回应

最近在玩《14种扫雷变体》,里面有大量的考逻辑能力的扫雷谜题,但是如此大的题量不像是人类出的,想问问有没有肥懂这个是怎么批量生产出高质量有唯一解能一步一步确定的扫雷的

无标题无名氏No.62390312

2024-05-15(三)00:50:10 ID: N7Bv1P4 (PO主)

而且把“高质量”这个条件删掉我都整不来 (´゚Д゚`)

无标题无名氏No.62417200

2024-05-17(五)09:52:33 ID: C4wQnc7

我记得开发者说过是通过算法用BFS生成的,游戏里应该是给了参考资料,肥哥可以看看


无标题无名氏No.62326498

2024-05-09(四)23:37:00 ID: TPWHppd 回应

肥哥们,我现在在实现这样一个功能:

如果设施a存在,为巢穴提供一个数值+1

我现在的实现方式是在设施a被修建起来时令巢穴的数值+1,然后在被摧毁时令巢穴的数值-1

但这样的话就要写两个函数,感觉不够优雅,工作量也很大,有没有更好的实现方式呢(つд⊂)

回应有 21 篇被省略。要阅读所有回应请按下回应链接。

无标题无名氏No.62379254

2024-05-14(二)09:42:18 ID: j3lJQyS

>>No.62326498
一般Buff的的做法就是单位带一个集合(可以再包一层正面、负面、光环等等方便拿),里面是buff内容,然后通过别的对象的事件来增加/移除buff 同时调用Buff的创建、销毁方法(+ -属性、效果之类的),并且可以增加expireTime/常驻 属性, 拉一个线程出来计算过期时间。
如果是会移动的光环的buff,需要发起方隔一段时间查一遍范围内符合条件的单位并上一个时间大于光环搜索间隔的buff,如果是不会移动的,可以给该光环加一个对象集合,该单位创建时给附近单位放buff并放到对象集合里,该光环销毁时遍历集合remove buff(这个集合也可以放到移动光环内)。

无标题无名氏No.62379272

2024-05-14(二)09:44:36 ID: j3lJQyS

正常的buff都要有 创建 销毁方法的。

无标题无名氏No.62379951

2024-05-14(二)10:44:03 ID: j3lJQyS

其实写两个函数恰恰是最优雅,工作量最小的方法,如果要支持创意工坊的话,架构很重要,现在写10行能够避免以后写一百行,写两行就能跑的那种是脚本 XD,就是在10行的基础上才能实现的,简述一下我的架构希望能交流下:

Buff Timer线程:
List< task(时间戳,对象Id,buffId,创建/销毁) >[]; //一个线程专门用来创建和销毁Buff,可以统一管理buff,避免了每个对象单独跑占资源,当然不只是buff,也可以用来管全局事件。
比如可以在给对象objA 加buffA时,在buffA创建方法里写加一个 new task(当前时间+buffA.过期时间, objA.Id, buffA.Id, 销毁), 到期时调用
objA.removeBuff( buffA.Id){
this.buffList[ id ].dispose();
this.BuffList.remove(id);
}

Buff基类{
id;//方便调用及销毁;
过期时间;//
影响对象集合[];//一般不会频繁改变的才用这个,如果需要时时刻刻调范围的,不如直接现加;
//对于具体的buff实现,可以再+属性,比如需求要的效果,就可以+ 基础增益数值、每层增益数值、当前层数、最高层数等,还可以加一些通用属性如是否可见、buff图标等。

创建方法();//比如在给buff的时候给属性加一个装饰器,销毁时删掉;
销毁方法();
}

属性基类{
属性基本值;
属性实际值;//仅调用属性刷新方法才更新,若更改频繁,这个也可以用方法替代;
属性文本;//这里有需要可以再加,什么属性图标、属性描述等,不赘述;
属性装饰器[];//

刷新方法();//会遍历属性装饰器更新属性实际值及属性文本,就能实现 >>No.62336585 需求的效果。
}

属性装饰器{
buffId buffId;
追加方法(str oriStr ){ //一个buff影响属性文本的例子,如果是游戏引擎的话,这里可以写超文本;
Buff buff = this.buffList[buffId];
return oriStr + buff.buff层数 + 'x' + buff.每层值;
}
}

在上述基础上,若要实现巢穴根据周围设施A数量提供增益,可以这样写:
* 设施A放下时,给范围内巢穴.buffList.add( new BuffA());
>add中调用buffA的create方法;
>>create中为 对象属性add buffA装饰器;
>>>属性.add装饰器 调用刷新显示文本及属性方法;
* 设施A销毁时,遍历影响对象集合调用buffList.remove(buffA.id),后续如上;

都是伪代码较粗糙,有瑕疵say sry。

无标题无名氏No.62391055

2024-05-15(三)02:56:54 ID: QbwxZDS

>>No.62379951
老哥是写unity的吗,读起来有种c#的范式




↑That's true OO

无标题无名氏No.62404259

2024-05-16(四)07:51:59 ID: NPzcKpG

用多个函数实现一个功能才是正确的
分开多个函数看似很麻烦,我把所有功能用一个函数实现不是更方便吗。但实际上使用多个函数可以增加代码的可读性,方便修改和维护,在debug时也能更快找到出问题的部分
模块化设计还能增加后续的功能拓展性,当你想写一个新的功能时,或许就能直接从已有的函数中进行调用
虽然在编写的时候看起来好像很麻烦,但从长远来看工作量是降低了的


无标题无名氏No.61962369

2024-04-09(二)01:06:06 ID: caIK7Vc 回应

肥哥求助!
走关系找了个网络安全方面的工作,但小肥大学是警校跟计算机不搭边,从零开始学网络安全怎么入手比较好(;´Д`)

回应有 11 篇被省略。要阅读所有回应请按下回应链接。

无标题无名氏No.62058766

2024-04-16(二)23:13:36 ID: caIK7Vc (PO主)

>>No.62034748
好!感谢肥哥(=゚ω゚)=

无标题无名氏No.62058790

2024-04-16(二)23:14:46 ID: caIK7Vc (PO主)

>>No.62000007
包培养是指?

无标题无名氏No.62058802

2024-04-16(二)23:15:32 ID: caIK7Vc (PO主)

>>No.62015091
好的!

无标题无名氏No.62058858

2024-04-16(二)23:18:38 ID: O0DRUtA

很符合我对网安人员的刻板印象……

无标题无名氏No.62397104

2024-05-15(三)16:47:36 ID: YefiGDd

>>No.62058858
安服仔是吧(`ヮ´ )


无标题无名氏No.62362985

2024-05-13(一)00:07:15 ID: D8Dapm8 回应

肥哥们,Ubuntu 24.04 LTS版本在vm虚拟机下。我修改了netplan里的内容。想把ip改成静态,但是无法上网。
ping网关和我自己主机可以ping通,我也加了dns。
该怎么样解决上网问题。

无标题无名氏No.62369562

2024-05-13(一)14:59:34 ID: QbwxZDS

ifconfig什么说法

无标题无名氏No.62369596

2024-05-13(一)15:02:23 ID: wLzwKsd

没有图没法说啊( ・_ゝ・)

无标题无名氏No.62372841

2024-05-13(一)19:05:07 ID: fRxb3v2

虚拟网卡是什么模式

无标题无名氏No.62375276

2024-05-13(一)22:23:38 ID: D8Dapm8 (PO主)

>>No.62372841
>>No.62369596
>>No.62369562
谢谢老哥们的回复,我已经通过查资料和网络设置搏斗了两三小时。现在把几台的虚拟机配置好了。


无标题无名氏No.62237634

2024-05-01(三)23:32:00 ID: OdgaIpS 回应

想问问固态有坏道咋办,重要文件已经拷出来了,尝试用diskgenius修复坏道,修复0个。尝试格式化,显示有写保护(;´Д`)

回应有 4 篇被省略。要阅读所有回应请按下回应链接。

无标题无名氏No.62372617

2024-05-13(一)18:51:04 ID: OLQPuTG

细说固态坏道( ゚∀。)

无标题无名氏No.62372635

2024-05-13(一)18:52:00 ID: RtcoMaD

( ゚∀。)半懂不懂的坏处.jpg

无标题无名氏No.62372647

2024-05-13(一)18:52:47 ID: ah0lQKo

固态不能扫坏道,傻仔

无标题无名氏No.62372654

2024-05-13(一)18:53:03 ID: ah0lQKo

没意义的

无标题无名氏No.62375217

2024-05-13(一)22:18:49 ID: 5vY0tgq

固态没有坏道,但看你说的这么专业也不太像小白,估计是说岔了,把写入保护说成坏道了,把数据提取出来硬盘放一边挂起来当手办看就行


无标题无名氏No.62366296

2024-05-13(一)10:04:29 ID: tJxjYVa 回应

求助,SQL server 里面怎么计算一个值在一行内出现的次数?

回应有 3 篇被省略。要阅读所有回应请按下回应链接。

无标题无名氏No.62366505

2024-05-13(一)10:23:34 ID: cJNuRSn

找到一个相关的,https://bbs.fanruan.com/wenda/question/187242.html#ath

无标题无名氏No.62369890

2024-05-13(一)15:26:32 ID: rxP8w5q

在 SQL Server 中,要计算一个值在所有字段内针对一个特定 ID 出现的次数,您通常需要针对每个字段单独进行计数,并且根据 ID 进行分组。下面是一个示例查询,展示了如何做到这一点:

假设您有一个名为 your_table 的表,其中包含 id 列和多个其他列(例如 field1, field2, field3 等),您想要计算值 'your_value' 在每个字段内针对每个 id 出现的次数:

sql
SELECT
id,
SUM(CASE WHEN field1 = 'your_value' THEN 1 ELSE 0 END) AS count_in_field1,
SUM(CASE WHEN field2 = 'your_value' THEN 1 ELSE 0 END) AS count_in_field2,
SUM(CASE WHEN field3 = 'your_value' THEN 1 ELSE 0 END) AS count_in_field3,
-- ... 为其他字段添加类似的语句
SUM(
CASE WHEN field1 = 'your_value' THEN 1 ELSE 0 END +
CASE WHEN field2 = 'your_value' THEN 1 ELSE 0 END +
CASE WHEN field3 = 'your_value' THEN 1 ELSE 0 END
-- ... 加上其他字段的计数
) AS total_count_per_id
FROM
your_table
GROUP BY
id;

这个查询会针对每个 id,分别计算 field1, field2, field3(以及您可能添加的其他字段)中 'your_value' 出现的次数,并且还有一个 total_count_per_id 列,它显示了每个 id 的总计数。

请注意以下几点:

您需要将 your_table, id, field1, field2, field3, 和 'your_value' 替换为您实际的表名、列名和要查找的值。
对于每个字段,我们都使用了一个 CASE 语句来检查字段的值是否等于我们想要查找的值,并据此计数。
GROUP BY id 确保我们按 id 分组结果,这样每个 id 都会有其自己的计数。
total_count_per_id 列计算了每个 id 的总计数,这是通过将每个字段的计数相加得到的。
如果您的表有很多字段,手动编写这样的查询可能会很繁琐。在这种情况下,您可能需要编写一个脚本来动态生成 SQL 查询,或者考虑重构您的数据库设计,以便更容易地进行此类查询。

无标题无名氏No.62370214

2024-05-13(一)15:50:43 ID: j3lJQyS

看看我的:

CREATE Table #tb(
Id integer,
day1 varchar(10),
day2 varchar(10),
day3 varchar(10),
day4 varchar(10)
);

DECLARE @Targ varchar(10);
SET @Targ = 'y';

INSERT INTO #tb VALUES( 1, 'n', 'y', 'y', 'y');
INSERT INTO #tb VALUES( 2, 'n', 'y', 'y', 'n');
INSERT INTO #tb VALUES( 3, 'n', 'n', 'y', 'n');

SELECT * FROM #tb;

WITH map AS(
SELECT
Id, Datee, stat
FROM
#tb
UNPIVOT(
stat FOR Datee IN (day1, day2, day3, day4) ) pv
WHERE pv.stat = @Targ
)

SELECT * FROM map;

DROP TABLE #tb;

效果如图(省略了一个GroupBy,自己写吧,WithAs不能调两遍太丑了).

无标题无名氏No.62371222

2024-05-13(一)17:02:15 ID: 3UQCtcF

( ゚ᯅ 。)
刚刚痛苦打完作业结果打开岛又是SQL,这种巧合补药啊|д゚ )

无标题无名氏No.62371224

2024-05-13(一)17:02:19 ID: y7XR5Zo

在SQL Server中,如果你想计算一个特定值在一行内出现的次数,你可以使用一种称为LEN和REPLACE的组合方法来实现。这种方法可以帮助你找到一个特定字符串在另一个字符串中出现的次数。这里有一个具体的例子:
假设你有一个名为YourTable的表,其中有一列名为YourColumn,你想要计算这个列中每一行特定值YourValue出现的次数。下面是相应的SQL查询语句:
sqlCopy code
SELECT
YourColumn,
(LEN(YourColumn) - LEN(REPLACE(YourColumn, 'YourValue', ''))) / LEN('YourValue') AS ValueCount
FROM
YourTable
这个查询的工作原理是:
REPLACE(YourColumn, 'YourValue', ''):这个函数将YourColumn中的所有YourValue替换为空字符串,这样就删除了所有的YourValue。
LEN(YourColumn) - LEN(REPLACE(YourColumn, 'YourValue', '')):这个表达式计算替换前后字符串长度的差,这个差值就是所有YourValue的总字符长度。
最后,用上述得到的长度差除以YourValue的长度,就可以得到YourValue在每行中出现的次数。
注意,这种方法假设YourValue的长度非零,并且YourValue不包含任何可能被SQL语法特殊处理的字符。此外,这种方法只适用于文本字段。如果你在查找数字或日期等类型的数据,可能需要其他方法。