lazyczx 最近的时间轴更新
lazyczx

lazyczx

V2EX 第 465939 号会员,加入于 2020-01-20 01:04:44 +08:00
lazyczx 最近回复了
1 天前
回复了 lazyczx 创建的主题 问与答 大家有没有好用的背包 or 挎包推荐啊?
@Marelbruim
我高中的时候就背这个牌子,到现在了还没坏,但是我买的太单薄了,背书合适,但是感觉笔记本在里面可能会形变或者磕到什么的,总之还是太单薄了=ω=。
2 天前
回复了 lazyczx 创建的主题 MySQL 在看《高性能 MySQL》第 3 版,有点问题想问
@keakon o 仔细看了下英文。。确实。。= =抱歉问了个蠢问题
2 天前
回复了 lazyczx 创建的主题 MySQL 在看《高性能 MySQL》第 3 版,有点问题想问
@Flourite
看了下,确实好东西。。。越来越怀疑我手上这本是不是已经太过时了。看这本书的时候看到和我网上搜出来,问 GPT 问出来的结论不一样的描述了已经。。

没解决的幻读是不是这两种:
- 事务 A 先快照读,读出 empty set ,事务 B 插入数据,事务 A 再 update 这个数据,然后再快照读,就能读出来这个数据了。这个情况下预期的应该是无法 update 也无法读出来才对。
- T1 时刻,事务 A 执行快照读,读出 3 条,T2 ,事务 B 插入一条记录,T3 ,事务 A 执行当前读,读出 4 条。这里的解决办法是再开启事务后,马上执行当前读语句。
2 天前
回复了 lazyczx 创建的主题 MySQL 在看《高性能 MySQL》第 3 版,有点问题想问
@ttoh 牛逼,这个判断确实完全解决了我的问题
2 天前
回复了 lazyczx 创建的主题 MySQL 在看《高性能 MySQL》第 3 版,有点问题想问
@keakon

> consistent read 一致读
> A read operation that uses snapshot information to present query results based on a point in time, regardless of changes performed by other transactions running at the same time. If queried data has been changed by another transaction, the original data is reconstructed based on the contents of the undo log. This technique avoids some of the locking issues that can reduce concurrency by forcing transactions to wait for other transactions to finish.
> 一种读操作,它使用快照信息基于某个时间点呈现查询结果,而不管同时运行的其他事务执行的更改如何。如果查询的数据被另一个事务更改,则根据 undo log 的内容重建原始数据。此技术通过强制事务等待其他事务完成来避免一些可能降低并发性的锁定问题。

这个重建原始数据的意思,就是找到本事务开始的时候的数据(快照)对吧?所以这一步是通过 MVCC 实现的对吧。

> MVCC
> Acronym for “multiversion concurrency control”. This technique lets InnoDB transactions with certain isolation levels perform consistent read operations; that is, to query rows that are being updated by other transactions, and see the values from before those updates occurred. This is a powerful technique to increase concurrency, by allowing queries to proceed without waiting due to locks held by the other transactions.

也就是说我这个问题的答案就是,MVCC 不仅支持向前回滚查找数据,也支持向后回滚?因为官方文档对 MVCC 的描述是 before those updates occurred ,但没有强调 transaction ID 的先后关系,就是不管哪个事务新哪个事务旧,反正都可以从 undo log 上找到当前这个事务开始的版本,取用?

但是不太懂这个描述的最后一句:强制事务等待其他事务结束,这个和我想问的问题有关系吗?

还是说这个数据快照不是通过 MVCC 实现的?
2 天前
回复了 lazyczx 创建的主题 问与答 大家有没有好用的背包 or 挎包推荐啊?
@hangbale 什么军事装备吗这是 hhh
2 天前
回复了 lazyczx 创建的主题 问与答 大家有没有好用的背包 or 挎包推荐啊?
@Shinu 那个看着太中二了哈哈哈
@epiloguess

把取件码搞错成密码了。。

再来一次

https://airportal.cn/81745/WQIRw8VCNn 复制链接到浏览器打开

123456
@epiloguess

老哥聊了那么多,可否给个微信好友位,为了不过度暴露自己的个人信息,我弄了只能下载一次的一个文件,哈哈反正个帖子应该也没什么人看到这么后面!

https://airportal.cn/519534/Fwr351S2E5

密码是 519534
@epiloguess

我看了老半天那个 pr ,不知道的东西太多了,还好有 chatGPT 的语境分析和解释( openAI 真的牛),我大概知道了,就是这个 postpone 是 react 用来解决 infinite promise 的,然后是通过抛出错误解决的,用来处理静态组件到动态组件的退化(我感觉这个描述和我们发现的问题高度相关)。。

我昨天试了一下你说的(一个组件上 noStore ,其他的组件 noStore + cache )把 .next 删了重新 build ,确实可以,后来我也发现我之前 build 成功的结果,是因为本地已经有缓存了,所以也许那个 cache 直接就没执行,因此也轮不到莫名其妙哪里来的 validate 0 和静态组件发生冲突了。

你后面的源码分析里面是不是说是因为那个动态的组件的缘故,然后导致数据库的请求全部默认 validate 0 了,也就是不缓存的意思,这样和静态组件冲突了?

确实就像你说的,静态的部分如果用了 db 就必须 noStore + cache 才可以。

我看了你的对源码的分析之后,今天去尝试了一下怎么 debug 本地的 npm 仓库(就是在仓库里打断点),我以前在 Java 的项目里,这个是很简单的。

我做的时候,用的是 npm link ,下了 nextjs 仓库然后 link 替换掉了 dashboard 项目里的 next ,但是运行命令的时候提示 next 找不到,于是我全局安装了 next ,但是运行各种命令都报错,报什么 m...interface 什么找不到,我去 next 里 npm i 了也没用(虽然好像默认是不需要自己跑过去 npm i 的吧?)。

然后搞了半天最后还是失败了,只能做到 debug 自己写的代码,不能 debug 库里的,用 symlink 连接 next 直接跑不起来,我现在都怀疑这个方法是不是根本不可行。

你知道怎么 debug 公共库里的代码吗?就是在公共库的代码上加断点这种,比如 debug next 的代码,或者 react 的代码。

然后,我重新 i 了 canary 50 ,然后 build 的时候提示出来的是 52 版本,然后我昨天试过的代码根本没变,就 build 失败了,还是那个 validate 0 ,should bail out 的错误,我这里先考虑是版本有问题,先把版本弄正确了再说。

然后我把 node_modules 删了,再把 global 的 canary 删了,再试了一下 build (确认原先安装的 next 已经删除),然后看到命令找不到之后,又 npm i 了结果出来的还是 52 ,然后删了好几次 node_modules ,npm i 下下来的都是 52 ,而我的 package.json 里的版本是 50 ,但是去 node_modules 里看的还是 52 。

然后我把版本改成 49 ,这次下的是 49 了,然后又改成 50 ,就成功把包改成 50 了,这什么情况,好诡异。。。。。。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1248 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 57ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.