Monday, May 10, 2021

V2EX - 技术

V2EX - 技术


请问 app 端如何做证书绑定?(支持无缝升级)

Posted: 10 May 2021 04:33 AM PDT

目前有个需求是防抓包,同时要支持证书无缝升级。(每年都要换一次证书<del>万恶之源</del>,而且运维人员换证书可能不会提前和你说。而且保证存量用户不影响升级)

我的想法是限定 root CA 证书指纹,这样即使证书升级也能无缝切换,也能防止抓包。

目前的证书链是这样的
CA -> CA2-> AA

  1. 最开始的想法: 比对下 CA 的 hash, 和 AA 证书的 SAN(Subject Alternative Name)。 hash 在白名单并且 SAN 匹配域名那就通过。

    后来发现,同样在 CA 申请的合法证书 BB.com 放在 Charles 里面竟然也能通过验证,
    浏览器看了下,显示的结构变成
    CA -> CA2 -> BB -> AA1

  2. 好,再改,将 SAN 验证从叶子到 root 一路验证, 凡是有 SAN 字段的,就验证 SAN,如果不匹配就报错。

  3. 然后我想到一点,如果对方从 CA2 申请一个不含 SAN 的证书,岂不是又可以跳过? 我尝试了下, 申请了一个用于代码签名的 证书 CC 放到 Charles 里面,又能跳过验证了。岂可修!!!(当然,浏览器报错)

    CA -> CA2 -> CC -> AA2

卡住了,请教各位,下面该怎么走呢?

对了,有时加一个自签名 ca 作为白名单,方便出 bug 自己抓包。

已经无法阻止 Windows10 更新了吗?

Posted: 10 May 2021 04:28 AM PDT

1 、Win+R 键打开运行窗口,输入 gpedit.msc 确定打开组策略。
2 、依次打开"计算机配置\管理模板\Windows 更新\配置自动更新",选择"已禁用"。

20H2 补充
1 、计划任务"\Microsoft\Windows\WindowsUpdate\Scheduled Start",选择禁用。
2 、wuauserv ( Windows Update )、WaaSMedicSvc ( Windows 更新医生服务),都禁用。
3 、打开注册表 Regedit,打开路径"计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc"
"Start"修改数值"3"改成"4" ,"FailureActions"修改数值,左起第五列,第三、四行数值从"01"改成"00",服务"恢复"那栏都显示"无操作"表示成功。


按上面的操作也是不行了,那个更新服务和更新医生及任务计划会自动重置状态。
是不是三大流氓的程序员跑微软工作了?这机制怎么那么像??

最近不知道得罪了哪位大佬,对我连续 DDoS 一个月

Posted: 10 May 2021 04:27 AM PDT

从 4 月 19 号开始,对我的 5-6 台阿里云 ECS 疯狂攻击,最高峰值 40 多 G 的流量,阿里云的 5G 基础防御一瞬间就崩溃了,更可怕的是这个 B 是持续不断的攻击,导致阿里云无限循环黑洞,不知道他是不是对我有什么误会,以为我是日活百万的大站?

服务器提供的是 TCP 长连接,没法办通过 CDN 的方式防御,入门级 20G 的高防一个月 2w 多块钱,像我这种穷逼+屌丝是万万不可能买的起的。我现在只知道他是通过域名进行攻击的,期间我更换了很多 IP,根本无济于事。

不知道 V 社有没有大佬遭遇过这种事情。攻击者也没有主动联系过我,感觉不像是敲诈勒索,同行之间的恶意攻击也有可能,比我做的大的多了去了,但是为什么死盯着我不放呢?之前有几个向我推销高防服务器的被我怼回去了,不可能是他们对我的报复吧?

我对这种 DDoS 攻击没有什么概念,也不知道他们的成本有多高,通过抓包工具分析只知道的攻击方式是 udp flood,哎,真的心累!

gNp61A.png

gN9U3j.png gN9Pj1.md.png

高三暑假实习?

Posted: 10 May 2021 04:25 AM PDT

国际部高三学生,今年刚申请完大学。父母说最好暑假实习 2 个月左右,增长一下阅历。目前申请的专业不是 CS,但是会 Rust/Python/Java 之类的,也有一定学习能力。各位有什么 CS 领域实习的建议或者推荐吗?

idea 2021.1.1 是不是有大 bug , 导致整个 Mac 系统 UI 卡死

Posted: 10 May 2021 04:17 AM PDT

升级 idea 2021.1.1 版本之后, 写代码的过程中偶发性整个系统界面会卡住, 其他程序也不能打开, 所有软件窗口响应都非常慢. 鼠标会变成"忙"的状态, 必须在任务管理器中把 idea 的所有进程都停止, 然后就好了, 但是过几个小时又是这样, 今天一天我已经重启 idea 好多次了, 烦死了.

基本排除其他软件的问题和系统版本的问题, 因为我两台电脑, 一台 10.15.7 , 一台 11.1 都是这样, 我太后悔更新了 idea 了, 已经后悔过多次, 但是每次又忍不住升级.

再说明一下, 我没有用盗版的, 目前处于 30 天试用中.

我发帖是想求证一下, 是因为 idea2021.1.1 版本的问题还是我的人品问题? 看看大家有没有遇到

大佬们怎么学习官方全英文的技术文档

Posted: 10 May 2021 04:16 AM PDT

对于我这个英文渣渣来说,好多技术都是英文官方文档,看起来太费劲了。部分文章用中文讲的又不细节

之前都是每一段话复制谷歌翻译看的,但是翻译还是有偏差

大佬们都这么学习英文技术文档的?

是不是很多人都像我一样,买数码产品都是三分钟热度,买完用不了多久就吃灰了?

Posted: 10 May 2021 04:11 AM PDT

19 年双 11 买了个小米的照片打印机,当时购买欲望很强烈,但买回来之后打印了几次照片就没有新鲜感了。

后来又买了个惠普的打印机(我也不知道为啥当时想买个打印机),没用多久又在那里吃灰了。

最近又看上了 nas,又特别想买群晖 nas,但我买回来估计又跟前面两个一样吃灰。

有什么备用安卓机可以推荐的

Posted: 10 May 2021 03:54 AM PDT

因为 ios 国区很多应用都没有 频繁换区太麻烦了 每次要解绑银行卡 交通卡 iCloud 之类的 换区成本太高 所以需要一部二手安卓备用机。

需求:
1.!能完美支持谷歌框架
2.!不要光学防抖
3.不是小米 vivo 系统(或者能刷)
4.typec
5.小屏
6.省电
7.性价比高

以上除了第 1,2 点必须,剩下的权重依次降低。 

HOTWIRE(HTML OVER THE WIRE),少使用或不使用 javascript 开发现代 web 应用,大家谈谈对这个技术的看法?

Posted: 10 May 2021 03:50 AM PDT

基于 basecamp 衍生出的框架,目的是用较少或不用 javascript 来构建复杂交互的 web app,感觉思路不错,现在 react/vue 越来越复杂了,实际上很多系统不需要复杂的技术。官网 https://hotwire.dev/

买手机

Posted: 10 May 2021 03:36 AM PDT

3500 买安卓手机,要求:玩游戏较为流畅,摄像些许清晰!

Oracle Cloud 支持 IPv6 了

Posted: 10 May 2021 03:26 AM PDT

IPv6 on Oracle Cloud Infrastructure

对于已存在的 VCN:

在 Virtual Cloud Network Details -> CIDR Blocks 可以直接添加 Add IPv6 CIDR Block

然后编辑 SubnetsENABLE IPV6 CIDR BLOCK ,我这一步无法正常编辑 NotAuthorizedOrNotFound

最后到 Instance Details -> Attached VNICs -> VNIC Details -> IPv6 Addresses

香,真香!

有没有游戏行业的老哥,生化危机 8 第一幕场景需要多少钱能做出来?

Posted: 10 May 2021 03:22 AM PDT

看王老菊直播有感。对于不了解的朋友稍微介绍一下,王老菊是一个独立游戏主播,前几年因为积攒下了一些名气,再加上有游戏梦,以非专业人员的起点开始公开募集人员制作独立游戏。

今天发了生化危机 8 的视频,可能由于这代游戏做的没啥紧张感,再加上开头节奏比较慢,老菊就侃大山吐了吐游戏制作方面的槽,片段如下:

"这个 3A 游戏啊,以后可能越来越少了"

"(省略若干对话)"

"3A 游戏,就是好,啊。你看这个游戏开头的教学场景,做的这么精致"

"我猜这么温馨的场景,整个游戏也就用一次"

"做一个就得几十万"

"(省略若干对话)"

"给我几十万可能我都做个游戏出来了,人家就拿来做个教学"

我产生了一个疑问,生化危机 8 开头的房子的场景,大量的可互动原件,房间精致的建模连光影调教都做的很完美,老菊肯定也不知道具体制作成本,随口一说几十万,然而我感觉几十万不够吧,毕竟做的这么精细。有没有业内老哥聊聊

视频地址: https://www.bilibili.com/video/BV185411u77x

三年经验的 Vue er 终于接受了 React

Posted: 10 May 2021 03:15 AM PDT

迫于最近收的"徒弟"太懒,觉得 React 难接受,文档也懒得看 ̄□ ̄||

为了抬杠,我录了一个 五分钟上手 React 开发的视频,快速接受 Vite + JSX + React hooks 的开发方式~

一直觉得 React 难以接受的童鞋也终于觉得 OK 了~

链接在这里 https://www.bilibili.com/video/BV1H84y1c7Ym

想要上手 React 开发,又懒得看文档的童鞋可以看看,顺便帮我看看我的技术自媒体之路还有必要走下去不 ̄□ ̄||

录完了这个视频,我怎么觉得 React 也挺渐进式的呢,useState 和 useEffect 足够 CRUD 了,其它用得上的再看也不迟啊!

很荣幸的中了和美国一样的加密勒索病毒

Posted: 10 May 2021 02:57 AM PDT

哈哈,我们可幸运多了

vscode 使用 remote 然后在 vscode 的 terminal 里面 ssh,然后 tmux, tmux 显示有问题,有人遇到过吗

Posted: 10 May 2021 02:52 AM PDT

如题

弄的我现在要用 terminal 连到 remote 在 ssh 到 server 在 tmux,感觉有点烦躁

MySQL 中数字类型和字符类型字段大小比较

Posted: 10 May 2021 02:49 AM PDT

背景

涉及到有状态变化的数据表会包含一个状态字段,有设计成用数字类型的,也有设计成字符串类型的,其中的利弊各执一词。

本文针对两种类型在存储大小的角度出发,论述两者的差异。

数字类型和字符类型的存储

数字类型

请记住所有的数字类型,底层存储都是固定长度的,比如 smallint 在硬盘据就是占 2 个字节( 16 bit )。

DCL 中,出现 smallint(2) 这样的声明,和字符类型代表的意义是不一样的,并不是代表最大可存储长度,仅仅影响展示效果。

假设有一个 smallint(2) 的字段,保存了数字为 1,硬盘中一样是占了 2 个字节,使用 select 查询这条数据会显示 "02"。这是数字类型括号数字声明的作用,在查看的时候,会用 0 去填充实际显示效果。

这种建表方式很鸡肋,一般显示数字效果,会让前端后者服务器端处理,不会通过数据库去实现,所一般的表结构声明不会出现数字类型加括号数字的情况。

字符类型

字符类型的存储有两个概念

  • 存储长度

    影响最多可以存储几个字符,每个字符占 1 个字节。也就是说 char(30) 和 varchar(30) 在存储长度方面表达的意义是一样的,都是最多能存储 30 个字节,超过则报错。

  • 是否可变

    影响硬盘存储长度。假设两个字段分别为 char(30) 和 varchar(30),在都是存储 30 个字符的情况下,硬盘存储长度是一样的。假设是存储 20 个字符,则 char 字段用空格填充至 30 个字符,在硬盘是占用 30 个字节;而 varchar 则是采用字符 + 长度的方式,在硬盘中一共占用 21 个字节。

案例分析

有了以上的概念,通过一个实际案例比较来直观比较两者的差异。

业务场景

一个订单系统,有 "下单"、"待发货"、"配送中"、"已完成"、"已评价" 五个状态。

字段设计

用数字类型来存储

使用 tinyint 来存储状态,用 0~4 分别表示这 5 个状态。

用字符类型来存储

使用 varchar(1) 来存储状态,用 '0'、'1'、'2'、'3'、'4' 分别表示这 5 个状态。

比较

在底层存储中,以上两种方案,都是占用 1 个字节,两者在存储方面并无法体现各自的优势。

假设现在为了让状态有语义,把 varchar 长度改成 10,分别用 'order'、'ready'、'delivery'、'done'、'feedback' 来表示这 5 个状态,数字类型在节约空间方面确实体现了优势。

在拓展性方面,tinyint 可以在不修改表结构的前提下可以标识 128 种不同的状态,而 varchar 则需要把 1 个字符长度修改为 3 才能达到 tinyint 的效果,在这基础上还需要付出 3 个字节存储长度的代价。

总结

在状态变迁值不多的情况下,两者的在存储大小方面的优劣几乎无法体现。在状态量递增的情况下,数字类型的状态量记录方式,在硬盘持久化存储方面确实优于字符类型。

我天真的以为全栈说的是前后端, 现在才知道原来是 全干!

Posted: 10 May 2021 02:47 AM PDT

社会水太深,我把握不住

wishimg

有没有一劳永逸的网盘或者类似的产品

Posted: 10 May 2021 02:43 AM PDT

可以接受付费产品。

用途: 个人资料备份,随时随地远程操作,如果能当服务器来用更好。

个人比较倾向: 直接买 10 年或以上的云服务器......哈哈哈哈

不希望得到的回答: 请不要推荐什么百度网盘,坚果云之类的。也不要推荐什么 NAS 之类的持续供电运行的硬件设备。

二进制数据累加求和,取低八位

Posted: 10 May 2021 02:40 AM PDT

以下是 16 进制表示,我把每一个 16 进制转换成 10 进制,然后进行累加,得到 2551

echo 2551&0xff; 

转换成 16 进制是f7

5a 54 08 1f 01 01 61 00 50 53 0a 09 4e 01 64 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 50 53 0a 09 4f 03 64 00 00 00 00 00 00 00 50 53 0a 09 46 04 64 00 00 00 00 00 00 00 50 53 0a 0a 09 05 64 00 00 00 00 00 00 00 50 53 0a 0a 08 06 64 00 00 00 00 00 00 00 50 53 0a 09 34 07 64 00 00 00 00 00 00 00 50 53 0a 0a 0a 08 64 00 00 00 00 00 00 00 

但是硬件那边传过来的求和校验是0x47,是我哪里算错了吗

通过 chrome 扩展发送文字内容到安卓(小米)手机,可保存到便签

Posted: 10 May 2021 01:27 AM PDT

功能特点

  • 基于小米推送,低功耗

  • 便签功能基于发呆便签 是一款开源的 Android 便签,实现了主流便签的基本功能,并不断完善中。 特点:Material Design 设计、MVP 设计模式; 增加了推送功能小米推送

如何使用叮咚便签

有没有深度学习的大佬帮忙解答几道面试题

Posted: 10 May 2021 01:06 AM PDT

本人做 java 开发的,对深度学习基本属于一窍不通,今天部门老大要面试一个深度学习的人,给了份深度学习的面试题要我帮他找下答案(部门老大对深度学习也不太懂所以就把这个烫手的山芋给我了),有人能帮忙解决一下吗?

(1)谈谈你项目中使用过的深度学习模型或网络,为什么选择这个算法? (2)conv2d(kernel=7, stride=1, padding=0 )可以用什么代替? (3)训练神经网络,假如 train loss 已经降为 0,valid loss 为 0.2. 有什么方法可以尝试使 valid loss 再进一步下降,为什么这种方法可以? (4)选择熟悉的框架语言,设计一个简单的孪生网络。可以从 keras 、tensorflow 及 pytorch 选择一个框架,如用 pytorch,写出__init__和 forward 过程即可。 (5)用已知参数写出简单的分类训练的伪代码(参数:train_image, valid_image, net ) (6)能否使用 VC 维解释模型的过拟合和欠拟合

不懂就问:工作流是什么?其用途是什么?

Posted: 09 May 2021 11:05 PM PDT

偶然间看过一些所谓工作流的框架,简单看了一下文档,但没有起个项目具体编写过代码学习。工作流的本质是什么,

工作流的目的是干什么?是为了简化某些类型的功能定制开发成本吗?

工作流最简单的表现是什么?数字数组?字符串数组? xml ?最高级最有逼格的表现是流程图设计吗?

工作流与可视化开发有什么区别吗?

leetcode(力扣)Plus 会员咨询

Posted: 09 May 2021 10:11 PM PDT

如果对于短时间内不以找工作为目标,仅以提升能力为主的刷题和学习的话,有没有购买会员 Plus 的必要性,主要还是看中了 Plus 在学习栏目中有不少可以免费阅读的资料,但是有下面两点考虑:

1.plus 费用有点小贵;

2.刷题本身已很累和耗时间,书籍资料永远都是不缺的,缺的是时间和毅力,可能会高估自己阅读能力;

所有有没有体验过或者长期使用该会员 Plus 的 v 友分享一下心得或者劝退

如何解决“您的 win10 版本已经停止服务”

Posted: 09 May 2021 09:02 PM PDT

为了使用 wsl gui,设置了 windows 的 DEV 更新,现在报出这种提示,如何解决?

andriod/Kotlin: 请问: 在 standby/doze/待机模式下 timer 定时器不执行, 如何解决?

Posted: 09 May 2021 08:29 PM PDT

小妹请教各位帅锅:

我的 APP 需要每 5 分钟计算逻辑后语音播报结果, 用 5 分钟的 timer 定时器执行, 但在 standby/doze/待机模式下 timer 不执行, 请问如何解决?

我试过: 白名单 /alarm manager/font service 都不行, 定时器被停止执行.


请问有没有框架 /库之类的 APP 保活方案确保在 standby/doze/待机 /省电模式下我的定时器 Timer 还是能继续每 5 分钟执行一次?


请帮小妹一把, 谢谢!

小白发现一个 dict 的奇怪现象,请问有什么办法可以避免

Posted: 09 May 2021 07:29 PM PDT

dd={"a":"1","b":"2"}
cc=dd
cc["c"]="3"
print(dd)
print(cc)

运行结果是
{'a': '1', 'b': '2', 'c': '3'}
{'a': '1', 'b': '2', 'c': '3'}

改变 cc 的值同时改变 dd 的值
list 变量有同样的问题
但是我他赋值给另一个变量的目的就是不改变它的值啊。请问有什么办法避免这个问题吗?还是说是我的 python 环境有问题呢?

求教,关于 IDEA 的本地 Coverage(代码覆盖率)统计问题!

Posted: 09 May 2021 06:22 PM PDT

IDEA 的本地 Coverage 扫描没有看到对条件语句分支覆盖统计,而 sonar 是要求有这部分覆盖统计的,导致提交代码是总是不符合公司要求。
=====
可能我的表述不太正确,我举个例子:
代码中存在
if (StringUtils.isNotBlank(str) && StringUtils.contains(str,",")) {
// TODO
}
IDEA 不会统计,str = null || str = "test" || str = "test,test" 这三种情况的覆盖,而 sonar 的覆盖率统计是要求有的。

信息安全未来的发展

Posted: 09 May 2021 06:01 PM PDT

其实小弟觉得这是一个十分值得思考的问题。

背景:随着开发的规范企业的安全建设越来越成熟以及 影响规模大的漏洞(例如 ms17-010 )出现的越来越少。

以往的 hvv 都是漏洞满天飞,今年五月的 hvv 攻击队好像没有什么动作。

1.在这种背景下 渗透测试工程师和甲方的安全人员的价值何在?

信息安全的航道十分多,二进制安全,web 安全,iot 安全,数据安全,区块链安全

小弟之前学习二进制安全就已深知这块水深并且工作不好找所以跑路到 web 安全,众所周知 web 安全已然是红海,无数脚本小子,野路子,吹牛逼的可谓 鱼龙混杂。

2 、如何选择一个航道的问题,是否应该在一个航道当中死磕?
小弟提这个问题是源于深深的危机感,源于 "即使你是塞班大神,也抵挡不了 nokia 没落"。也源于第一个问题的引申,有那么一天,企业安全建设足够了,就算有大杀器漏洞出现也不会出现什么大的问题的时候。你的价值何在?
或者是否是 传说中的 不管是什么安全,之间都是相通的,举个例子 你之前做二进制安全,后面对做 web 安全也有帮助(个人觉得帮助很小)

希望论坛里面前辈回答讨论,表达观点无论对错,不甚感谢!

百度搜索是不是在一定程序上默许爬虫?

Posted: 09 May 2021 05:36 PM PDT

访问频率 2 秒左右一次的话访问上万次只遇到一次验证码。
而谷歌随便访问几十次就有验证码,验证码还特别复杂。

我不换 ip 、不登录(完全公开数据)、不破解验证码、不改 ua(使用 selenium+chrome),就一台电脑一直访问不知道会不会有事,还是有点担心。

感觉百度可能在一定程序上默许,毕竟很多做 seo 的需要查排名,如果做太多限制或者验证码很复杂的话,那很多依靠百度获取排名等数据的一些大型网站可能都没法使用了。

测试了一下 btrfs 和 zfs

Posted: 09 May 2021 04:06 PM PDT

测试环境,最新的 Fedora 34,结论:
Btrfs:
btrfs 的 compression 形同虚设,一点都没有压缩率。
btrfs 的 dedup 没找到怎么打开,有些资料说要单独装一个 binary, 然后周期性运行???太 low 了。

ZFS:
compression,dedup 都是实打实的。
zfs 选择 lz4 在性能以及压缩率上,对比 zstd,gzip9,是综合最优的。

谷歌相册疑似改变策略,最终还是经不住被薅,手里的 pixel xl 顿时不香了

Posted: 09 May 2021 03:50 PM PDT

求教大佬们一个内存对齐的问题(c++ centos7 64 位系统)

Posted: 09 May 2021 12:27 PM PDT

/* 说明:程序是在 centos7 64 位系统下测试的 */ #include <iostream>  using namespace std;  struct A {     short var;      int var1;       long var2;      char var3;      string s;   };  int main() {     short var;     int var1;     long var2;     char var3;     string s;     A ex1;     cout << sizeof(var) << endl;  // 2 short     cout << sizeof(var1) << endl; // 4 int     cout << sizeof(var2) << endl; // 8 long     cout << sizeof(var3) << endl; // 1 char     cout << sizeof(s) << endl;    // 8 string     cout << sizeof(ex1) << endl;  // 32 struct     return 0; } 

输出结果:

[root workspace]#./align 2 4 8 1 8 32 

这里对齐怎么搞成了占用 32 个字节呢? 按照 8 字节对齐的话,5*8 = 40 字节 难道第一个 short 和 var1 共同占用 8 个字节? ( short 后面填充两个字节)

Java NIO 和 IO 多路复用中 select 的区别

Posted: 09 May 2021 11:51 AM PDT

小白求问,NIO 和 IO 多路复用中的 select 貌似都是单线程轮询,这两者有什么区别啊?

兄弟们想问一个 JS 里 new Array()的问题

Posted: 09 May 2021 05:14 AM PDT

今天小弟做到 leetcode 的 62 题

var uniquePaths = function (m, n) { // let grid = Array.from(new Array(m), () => new Array(n).fill(1)); let grid = new Array(m).fill(new Array(n).fill(1)) console.log('第一个 log',grid) for (let i = 1; i < m; i++){ for (let j = 1; j < n; j++){ grid[i][j] = grid[i - 1][j] + grid[i][j - 1]; } }; console.log('第二个 log',grid); return grid.pop().pop(); }; niquePaths(7,3);

先上一下代码,这里我想创造一个 m*n,每一项都是 1 的数组,所以用到了 new Array(m).fill(new Array(n).fill(1)); 在第一个 Log 里打印出来的是 [ [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ] ]; OK,正好是我想要的 但是在最后的结果里这个 grid 的数值变成了 [ [ 1, 7, 28 ], [ 1, 7, 28 ], [ 1, 7, 28 ], [ 1, 7, 28 ], [ 1, 7, 28 ], [ 1, 7, 28 ], [ 1, 7, 28 ] ]; 这完全不符合我的逻辑啊 于是看了一下别人代码,用另外一种方法创造数组: let grid = Array.from(new Array(m), () => new Array(n).fill(1));

最后的结果是 [ [ 1, 1, 1 ], [ 1, 2, 3 ], [ 1, 3, 6 ], [ 1, 4, 10 ], [ 1, 5, 15 ], [ 1, 6, 21 ], [ 1, 7, 28 ] ]; 这个答案是我想要且正确的 难道是第一步创造数组的时候出现了问题? 可在第一个 log 里打出来的 grid 都是 [ [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ] ]; 为什么后面会变化呢? 难道涉及到了我不知道的知识点么 有 JS 大佬讲解下么

一个可以在 PHP -FPM 环境来并发访问 HTTP 接口的工具类

Posted: 09 May 2021 05:04 AM PDT

https://github.com/CodeApePro/TcpMockHttp

这并不是一个开源的项目,只是个人在使用的一段工具类代码.

原理是通过 sockets 扩展创建 tcp 连接,在 tcp 连接上传输符合 http1.1 协议的数据,从而将发送数据与读取结果分开.

发出来以供遇到类似场景时参考.

No comments:

Post a Comment