V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  caviar  ›  全部回复第 1 页 / 共 3 页
回复总数  50
1  2  3  
@SwinBlackSea 非常值得,买了之后只会后悔买晚了
另外打个广告(手动狗头) https://www.v2ex.com/t/814500
@anxxv2 本质上每个程序只是一个 state machine ,完整的 state 在内存里,update 在持久化储存里,而且程序也不止一份。
对于数据库,数据分析集群的节点来说,1tb 根本不算大
另外我前老板的理念是 几条内存远比开发人员时间便宜,所以为了方便我们有服务直接数据全在内存里 😂
@wensonsmith 感谢支持~ 主要就是靠猜和试啦,总的来说感觉作者并没有非常刻意的混淆,可见[1]。
[1] https://github.com/CaviarChen/fog-machine/blob/main/src/utils/FogMap.ts
@caviar 总的来说,这里是个取舍吧,对于 `tryLoadOrStore` 来说, `load` path 需要越快越好,而 `store` path 可以稍微 costly 一些。
并不是特别了解 go,纯粹从已有代码的注释上推断,可能有误:
这两个问题是相关的,把那两句 if 判断单独拿出来 + 显式的复制一次来避免 entry 已经存在或者是 expunged 状态下的 heap allocation 。

如果只有一个循环,那么 `atomic.CompareAndSwapPointer` 这里会让 `ic` 也就是 `i` escape,导致 `i` 永远需要 heap allocation 即便 `i` 并没有真正的替换进去。

而现在这种写法,`i` 可以在 stack 上,`ic` 需要在 heap 上,如果 entry 符合那两种不需要更新 map 的情况,`ic := i` 不会执行到,也就不会有 heap allocation 了。
308 天前
回复了 caviar 创建的主题 分享创造 做了个 世界迷雾 数据解析器
@kappa 我到还真没考虑过这个思路😅 不过印象里我在 reddit 上看到有人为了能擦除路径还是什么的尝试去问过,无果。
@Phishion os.getpid() 拿的是系统的 pid,个人并不觉得有连续的保证。uwsgi 提供的 worker id 是从 1 开始连续递增的。就像你前面说的,使用 pid 在大部分情况下不会有问题,但是既然有提供更好的 worker id,为什么不用呢。
既然是用 uwsgi,直接拿 uwsgi 的 worker id 咯 https://uwsgi-docs.readthedocs.io/en/latest/API.html#uwsgi-worker-id
确实....困扰一段时间了
2021-01-27 20:23:42 +08:00
回复了 LeeReamond 创建的主题 Python 想要开发一个供 Python 使用的静态类型检查项目
说实话没有完全看懂。
如果是静态检查的话,可以看下 https://github.com/python/mypy

如果是运行时检查的话,可以看下 https://typeguard.readthedocs.io/en/latest/userguide.html
有你说的用 decorator 的,也有用 profiler hook 的。
2020-11-01 12:00:32 +08:00
回复了 uiosun 创建的主题 程序员 收到的简历有错字,你们一般怎么处理?
无面试官经验,个人觉得简历有错别字非常不应该,但是就一处的话不至于一票否决。简历整体的细节可能更为重要吧。真要考验细节还是多注重下面试 coding 时 bug free 一遍过的能力为好。

主要我还真干过这种蠢事,几年前投微软的时候,简历(中文)临时加了段经历,里面出了个错别字,还交了上去,不过后来也没受到负面影响。作为一个英语渣,英文简历虽然找人看过,但是感觉还是有些地方语法略微崩坏,投海外大厂的时候好像他们也没有那么在意。
2020-10-28 18:50:35 +08:00
回复了 Yc1992 创建的主题 C++ c++ 有没有能够对标 golang 的 goroutine 的协程库啊?
2020-08-06 11:39:14 +08:00
回复了 chaohuang 创建的主题 程序员 在线写代码编译这种是如何实现的呢?
常见的是发到服务器上编译执行。
推荐一篇博客 https://blog.golang.org/playground 介绍 go playground 是怎么实现的,非常有趣。
包含如何伪造文件系统和网络,如何伪造时间(甚至跳过 sleep ),规避副作用使得结果可以复用。
2020-07-30 17:41:14 +08:00
回复了 Alpacino 创建的主题 问与答 Python 中 string += 'a' 这种写法效率很低吗?
呃... wtf-python 我是很早之前读的,好像记错了,那一段并没有详细讲这件事....
2020-07-30 17:30:32 +08:00
回复了 Alpacino 创建的主题 问与答 Python 中 string += 'a' 这种写法效率很低吗?
个人感觉说这话的人也不是特别的科班。
确实 python 的 str 是 immutable 的,所以理论上 for loop 中 使用 string += "a" 的复杂度非常恐怖,尤其是在 string 很长的情况下,毕竟每次都要完整复制一份。
但是实际上因为这个 case 太常见了,CPython 很早就有这个优化。即,如果这个 string 没有别的 reference ( non-alised )的时候,会直接 destructive update (官方的叫法是 in-place string concatenation )。因此从某种角度上说,python 的 str 可能会是 mutable 的,类似 list,每次创建时增长一下预留的空间。详细的说明可以看 wtf-python 里的 let's make a giant string
https://github.com/satwikkansal/wtfpython#-lets-make-a-giant-string

当然如果场景合适或数量非常大甚至是瓶颈的话,还是用 join 之类的为好。
2020-07-30 12:55:34 +08:00
回复了 JL1990 创建的主题 问与答 大 A 股自动打新是否有办法实现?
之前自己做过一个,后来证券的客户端改版了,调整了很多东西。感觉赚的比不上花的时间,就没继续弄了。
2020-07-01 12:06:47 +08:00
回复了 wangxiaoaer 创建的主题 问与答 Git 工作流问题
没必要 fork,每个人都在自己的名字下开 branch 就行吧。例如 username/foobar 这类
2020-06-28 11:13:02 +08:00
回复了 cheng6563 创建的主题 问与答 tcp 有对数据进行校验吗?
一般基本的应用不需要考虑这些,tcp 有 crc 的校验,如果是 https 的话那就更安全了,毕竟 TLS 层又做了一次。
不过 tcp/udp 的 crc 校验确实出了名的弱,尤其是由于网络设备(例如交换机)的故障导致一直在随机 flip 一些 bit 的话,混过 crc 的概率并不低。近期读了一篇公司内部的 Postmortem 就是讲这样的事故,错误的数据被接受甚至处理了。
1  2  3  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2791 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 13:16 · PVG 21:16 · LAX 06:16 · JFK 09:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.