V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CRVV  ›  全部回复第 5 页 / 共 27 页
回复总数  535
1  2  3  4  5  6  7  8  9  10 ... 27  
2022-07-08 10:28:46 +08:00
回复了 vvhhaaattt 创建的主题 Go 编程语言 fmt.Sprintf 方法的%q 是否可以防止 mysql 注入?
注入应该不会,但是你的字符串可能会变成错的。
比如 fmt.Printf("%q", "\x0b\x1b") -> "\v\x1b"
"\v\x1b" 在 MySQL 里面会变成 “vx1b"
因为 Redis 在调用 malloc 创建 RedisObject 的时候最大只申请 64 bytes 的内存,把什么 header 之类的去掉就是 embstr 的最大长度。
至于为什么只申请 64 bytes 的内存,我不知道是什么原因。随便瞎猜一下的话,可能是因为 cache line 是 64 bytes 的。也可能是一个为了优化内存使用的一个权衡,申请一大堆各种不同大小的内存显然会增加 fragmentation ,刚好限制在了 64 bytes 。
看了楼主的最后的“小结文章”,大概提一个问题。

isolation level 是数据库的接口,而锁是数据库的实现,实现和接口没有必然的联系。
当然 isolation level 这个接口不太好理解,用实现方式来讲确实更简单了,每个事务都加一把大锁就是 serializable 的效果。
但 serializable 的实现不一定要加一把大锁,比如 PostgreSQL 和 Oracle 。

常见的这四个 isolation level 是 SQL standard 定义的,但是 SQL 这个东西根本没人在乎它的 standard ,每个数据库想怎么实现就怎么实现,所谓 snapshot isolation 只是 SQL Server 自己搞的而已。
@dqzcwxb

> 常用的 TCC 模式不依赖于单机事务

能不能讲解一下,try 的那个步骤结束以后,现在需要 confirm 或者 cancel 了,怎么实现?
如果用数据库的事务,当然就是 commit 和 rollback 。

怎么样可以“不依赖于单机事务” 来实现 confirm 和 cancel ?
2022-06-25 11:34:42 +08:00
回复了 whisper98 创建的主题 问与答 如何使用一万块?
我只有一万块钱的时候,想买的东西一大堆,当然是直接挑一样最想要的就买了
你居然来问要买什么,没有想要的东西就存着多好
2022-06-21 05:05:40 +08:00
回复了 erquiasz0825 创建的主题 汽车 如果手上没车,现在买车你会考虑新能源还是油车呢?
买什么车是看需求的,很多人买了车一年开不到 1 万公里,电费按不要钱来算也就省最多 10000 块钱,如果买便宜的油车,车钱不到 10 万,再加上开了十几年的油钱,可能才刚够买一辆特斯拉的。

你要是不差钱,直接买自己喜欢的就完事了,不用来问别人。
你要是差钱,那就更不用来问别人的 “想法”了,还不如说说自己的需求然后可以给你推荐。
2022-06-21 04:56:45 +08:00
回复了 erquiasz0825 创建的主题 汽车 如果手上没车,现在买车你会考虑新能源还是油车呢?
这个电池衰减的问题我一直有个疑问,所有的厂商都说电池可耐用了,什么循环 1000 次还有 9x% 的容量,什么有人跑了好几十万公里还有 8x% 的容量。
但是为什么厂商都不给电池长里程的保修?
特斯拉的保修是 8 年 19 万公里 70% 容量,按续航里程算这才循环了不到 300 次。其它厂商也是类似的保修政策。
这种政策肯定是厂商算过的,而且所有厂商都很一致(只有蔚来一家标榜服务好给终身保修,而且蔚来的溢价也确实很高)。
我是不是可以认为,如果厂商真的给保修比如 500 次循环的里程数,这个保修的成本对厂商来说就太高了?
是不是说实际上有比较大的概率会在开到 30 万公里的时候电池容量低于 70%?

或者说这里其实是个保险的生意,换一个电池大概 10 万块钱,有没有厂商愿意收比如 5000 块把电池延保到比如 50 万公里(这也没到 1000 次循环)
2022-06-21 04:30:42 +08:00
回复了 changnet 创建的主题 全球工单系统 现在的手机都取消呼吸灯,简直是一种倒退
@Ley
这些需求其实不小众,很多人都想要其中的至少一个。
但是索尼很贵,和国产品牌相比,为了一个矩形屏幕多几千块钱,愿意花这个钱的人确实不多。
对我来说,如果索尼还有 lcd 屏幕我现在就下单。
这种事情不是观点的问题,你自己去超市看一下就知道答案了。

有那种现场用橙子给你做橙汁的机器,商场机场里都可能有。你去买一杯,看那个机器用了几个橙子,出来了多少橙汁。
然后去超市也买同样多的橙子,看看多少钱。
再去超市买同样多的橙汁,看看多少钱。

答案大约是这样的,一大杯(小于 500 ml 吧)橙汁大约需要 5 个橙子,那个机器不一定真的用了 5 个但也不会差很远
500 ml 便宜的橙汁大约 5 块钱,贵的二三十的好像也有。
5 个橙子在超市的价格和你所在的城市有很大关系
在深圳大约是 20-100 ,北京上海大约是 10-100 ,其它地方会有更便宜的
2022-06-15 14:05:53 +08:00
回复了 Aumujun 创建的主题 Linux [提问] 将容器的所有流量转发到指定的物理网卡上
ip rule add from 192.168.1.12/32 table 1000
ip route add default dev eth0 table 1000

然后我不确定是不是还要设置一下 NAT
2022-06-14 21:31:10 +08:00
回复了 asanelder 创建的主题 程序员 Java 原地修改字符串, how?
@asanelder

这是出题人的问题,出题的时候考虑的是用 C 来写,后来又加上了其它的语言。C 的 char* 当然可以随便改。
你把原来的 String 转成 char[] 来做就好了,返回的时候再转回去。
这种都是算法题,不是编程语言怎么用的题。
2022-06-13 10:50:32 +08:00
回复了 Echo28 创建的主题 生活 想学钢琴
顺便说一下,学乐器的时候,有人教和没人教的差别非常大。
所以这一行有个职位叫陪练,这个职位的人不太会教琴,但是可以在旁边提供很多帮助。
如果有好的老师加好的陪练,学习的效率可以高非常多。

自学基本没谱,就跟把 linux kernel 的代码扔给你说把它全看懂的感受差不多。
2022-06-13 10:42:04 +08:00
回复了 Echo28 创建的主题 生活 想学钢琴
钢琴好像有速成的课程,给成年人准备的,应该不用花很长时间就能弹流行曲之类的,应该适合楼主,我估计这种比正经的课程还便宜一些吧。

如果楼主的目的是正经学琴,想弹肖邦那种的,我觉得直接参考 20 楼,就不要学了。
楼主问的问题很初级,这些文件系统又不是辉晖自己写的,当然都可以读出来。
如果楼主要自己维护这个机器,都自己解决问题的话,ext4 出了问题会比 btrfs 好修很多。

实际上 btrfs 现在也很好修,最新的内核上要想把数据彻底搞丢也挺难的。但出了问题可能需要查内核文档,因为它的一些参数之类的经常变,网上的教程大概率是过时的。

RHEL 换了一个比 btrfs 还新的文件系统 Stratis ,我不觉得这个文件系统更可靠。

ZFS 比 btrfs 少一些功能,比如不能给文件系统加硬盘,也不能改 RAID level 。

我最近做了神奇的操作把一个 btrfs 文件系统搞崩了,然后查了查文档发现数据很容易就读回来了,其实 btrfs 没什么大问题。
@wonderfulcxm

如果没有往音乐方面发展的意向,可以试着学另一个东西。
绝大多数中国人不能区分清辅音和浊辅音,也就是 "dog 的 d" 和 "stop 的 t"
如果你能区分清浊辅音,那么有可能不能区分英文字母的 "C /si/" 和 汉字的 "西"(一部分广东人是这样的)
总之国际音标上有那么多音,对任意一个人类来说,他很容易找到两个听起来完全一样的音。

你可以试着练一下听出这种相似声音的差别,和 perfect pitch 差不多,也是成年人几乎不可能获得的技能。
这个能力在学习外语的时候非常有用,所以不同母语(汉语的不同方言也算)的人的英语口语能力会有显著的差别。


顺便说一下,一些小朋友在音乐氛围稍微多一点的家庭里面,到三五岁就"自然地"得到了 perfect pitch 这项能力。
对另一些人来说,这个技能需要 "付出巨大努力"。(假设这些发表的研究成果都是可信的)
这个是不是已经说明了天赋上的巨大的差距。


再顺便说一下,perfect pitch 的能力也分很多等级的,并不是只有 "学会了" 和 "没学会" 这两种状态。
@wonderfulcxm

“完美音高”,英文是 perfect pitch ,中文通常说“绝对音感”
这个能力不可能在 10 岁之后获得,你可以自己试一下
( 10 不太准确,但我确信实际上年龄上限小于 10 )

这个能力的获得比较复杂,需要基因加训练,并且要在年龄很小的时候训练,过时不候。
2022-05-10 00:32:31 +08:00
回复了 coloz 创建的主题 程序员 一个 nodejs 问题有偿求助
b.exe 的输出是由 a.exe 控制的。如果 a.exe 启动 b.exe 的时候让 b 继承自己的 stdout ,你就能获取到 b.exe 的输出了。

所以方法应该只有两个,一个是改 a.exe ,另一个是你自己调用 b.exe

相关的文档是 https://docs.microsoft.com/en-us/windows/win32/procthread/creating-a-child-process-with-redirected-input-and-output
1  2  3  4  5  6  7  8  9  10 ... 27  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5418 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 08:48 · PVG 16:48 · LAX 01:48 · JFK 04:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.