V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geebos  ›  全部回复第 3 页 / 共 8 页
回复总数  148
1  2  3  4  5  6  7  8  
@myBatis 另外层数少也确实减少 IO 次数,因为比较的次数减少了 IO 次数自然会减少。
@myBatis 确实不太准确,B+树的内部节点只保存了指针数据都在叶子节点上, 所以 B+树的内部节点比 B 树要小一些,因此同样的页大小能够保存更多的内部节点,所以 IO 的次数会更少一些。但是你说的磁盘随机访问时间我没太搞懂。
2021-04-11 12:35:02 +08:00
回复了 mirone 创建的主题 程序员 最近做的所见即所得的 Markdown 编辑器: Milkdown
感觉不错,收藏了。

提个小 bug:不能编辑和修改图片的链接。

还有就是支持样式自定义吗。
一般不会问原理吧,记住主要的特性和典型的应用场景就差不多了,当然想要流畅回答还是得把原理搞懂,但是我觉得这些原理能口述讲清楚还真有点难度。比如:

问:B+树的特点是什么
答:B+树的特点就是子节点多,层数少。子节点深度一致。所有子节点组成一个链表。
问:为啥这样搞
答:因为层数少减少 IO 次数。子节点深度一致,查询性能稳定。链表更好地支持范围查询。

我觉得这样基本够用了,可能再和 B 树或者红黑树比较一下,顺便问问红黑树。
2021-04-06 00:34:28 +08:00
回复了 geebos 创建的主题 程序员 有线键盘转无线一般怎么操作
@xiaotianhu 我想自己动手改装,享受改装的过程。而且我这几天看了一些教程,发现不算工具(电烙铁这些)的话,总共的花费只需要 3-40 。现在已经淘宝下单了,等快递到了就开搞。
2021-04-05 15:30:58 +08:00
回复了 geebos 创建的主题 程序员 有线键盘转无线一般怎么操作
@Lant248 秀哇,我现在打算用 ESP32 带 WiFi 和蓝牙的模块试试能不能 DIY,如果不行直接换新键盘(机智)。
2021-04-04 20:45:05 +08:00
回复了 king888 创建的主题 程序员 所谓的不用写服务器代码了!老哥们是怎么看的?
看了一下文档,类似于把模板放到前端渲染了,真正的业务逻辑还是要通过云函数来实现。
2021-04-04 18:49:21 +08:00
回复了 geebos 创建的主题 程序员 有线键盘转无线一般怎么操作
@hhyvs111 主要还是想折腾一下,现在看还是直接买新的算了
2021-03-16 13:30:46 +08:00
回复了 magichacker 创建的主题 问与答 求助!最近 GitHub 间歇性连不上
深受其害,所以我在 v2rayN 的基础上加了个定时检测,每十分钟检测一次,自动切换到能访问 github 的代理。
@drunkdog 意思是防止使用者用来干违法的事牵扯到自己吗
@ww2000e 比如有人搞了个破解软件,加了这个声明可以做到法律上免责吗?就算没有盈利破解软件还是给软件公司造成损失了吧。
2021-03-10 12:39:53 +08:00
回复了 yehx 创建的主题 Java 春招 Java 简历,求帮点评。
“了解数据库的引擎与相关事务”,如果我是面试官肯定要问一下事务,事务的实现,锁等等
2021-03-10 03:05:32 +08:00
回复了 lxl1531 创建的主题 Python Python 的字符串拼接函数 join()是怎么实现的
@geebos 补充一下,不仅仅是内存分配的时间,还有数据复制的时间
2021-03-10 03:04:26 +08:00
回复了 lxl1531 创建的主题 Python Python 的字符串拼接函数 join()是怎么实现的
for 循环慢是因为字符串在 python 里面是常量,每次创建一个新的字符串都要重新分配内存,所以使用 for 循环的话因为每次循环都要创建一个新的字符串,所以会花费很多时间在内存分配上。

如果自己实现的话,问题的关键就是如何避免重复分配内存。

可以遍历一遍字符串计算出需要的内存,一次分配好。或者像 #14 所说的每次把 buffer 翻倍,但是我觉得这样没必要,我们一般在所需内存不确定的时候才会使用这个方案,如果所需的内存是确定的话一次到位是更好地选择。
这个问题应该是 windows 的控制台默认编码是 gbk 的问题,改一下控制台编码就行。

实际你的结果已经没有问题了,只是包含有不能转成 gbk 编码的字符,所以在用 print 输出的时候会报错,保存到文件在看就是正常的了。

如果实在觉得膈应的话,可以用下面的代码把 gbk 不支持的字符全部过滤掉。

def encoding_transform(text:'str', target_encoding:'str')->str:
"""
将字符串转换成目标编码,不能被目标编码编码的字符全部舍弃
"""
if not isinstance(text, str):
return text

text_list = []
while True:
try:
text = text.encode(target_encoding).decode(target_encoding)
text_list.append(text)
break
except UnicodeEncodeError as e:
position = int(re.findall(r'position (\d+):', str(e))[0])
text_list.append(text[:position])
text = text[position+1:]
return ''.join(text_list)
2021-03-07 20:16:51 +08:00
回复了 geebos 创建的主题 分享创造 闲来无事用 pyqt 写了个 windows 上的启动台
@liuxey 我任务栏是隐藏的,磁贴没那么方便
2021-03-07 19:07:39 +08:00
回复了 geebos 创建的主题 分享创造 闲来无事用 pyqt 写了个 windows 上的启动台
@learningman emm,我用的是 Listary 。不过比起搜索启动,我更喜欢直接点击启动这种方式。
2021-02-25 21:25:29 +08:00
回复了 xuqiccr 创建的主题 宠物 迫于要有猫了,想知道大家的宠物都起的啥名
黑炭
2021-01-31 20:05:09 +08:00
回复了 louishwh 创建的主题 奇思妙想 5T 的书籍/电影/音乐资料,怎么检索比较好?
listary 了解一下
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2638 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 06:16 · PVG 14:16 · LAX 23:16 · JFK 02:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.