V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ysmood  ›  全部回复第 5 页 / 共 15 页
回复总数  297
1  2  3  4  5  6  7  8  9  10 ... 15  
一直用自己写的,entr 这种兼容性很差,比如 docker 的 volume 就不行

我这个是完全跨平台的,感觉也没必要追求无 polling,gitignore 一般就够了 https://github.com/ysmood/kit#guard
2020-11-16 06:01:30 +08:00
回复了 keepwalk2020 创建的主题 Python 想知道现在还有多少人用 print 调试 debug?
成长阶段一般都是 print 到 break point 再到 print,不过高阶的 print 已经和最开始时的很不一样了。比如某个断点一次运行会被调用几百次且难以写条件断点时 log 很可能是更效率的 debug 方式,再比联调分布式布式系统也难以用断点, 典型的项目可以看 open tracing 。

我个人感觉只有调试非常简单的东西断点才会用断点。栈深点的算法用断点对普通人来说心智负担都很大,可能都会用动画级别的 log 来辅助大脑理解了。
2020-11-11 03:12:41 +08:00
回复了 EVJohn 创建的主题 Apple 你们会买 A14 Apple Silicon MacBook 嘛
https://github.com/docker/for-mac/issues/4733

没正式支持 docker 之前可以观望下。目前连个日期都没给出来。
@ClericPy github 这个预览确实很强,不过目前只是搜索关键词,还没支持 type-safe 的跳转
2020-10-07 00:28:02 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@soulteary 我不是回复了吗?看 38 楼。你做的哪些基本没有实用价值啊,我大概是不会优先费时间在上面的,除非有感兴趣的人想去实现,我可以指导下。这种功能只能算 driver 的一个很小的应用而已。
2020-10-01 14:33:46 +08:00
回复了 ysmood 创建的主题 Go 编程语言 Go 的测试踩坑
2020-09-27 09:41:18 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@Cabana 没事儿,正好增加回复,v 站只有回复才会增加排序,这帖子收藏比回复多 😂
2020-09-23 21:02:29 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
2020-09-23 19:56:35 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@wewewe 不都是用 sentry 之类的吗?
2020-09-22 22:01:30 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
2020-09-22 21:58:32 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@iiusky 截图都是我实际跑过结果的,底下的链接你可以访问然后自己跑。能说下 pjs 是什么意思吗?没看懂
2020-09-22 02:42:05 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@supermoonie cef 跟 cdp 要解决的问题完全不同。而且我要用 cef 的话,还用个毛的 java,直接 c++ 了,何必折腾自己呢。学个语言的成本比跨语言 embed 坑要少多了。

比如我可以立刻用同时用 puppeteer 和 rod 控制几千个 chromium 的集群,你用 cef 不又是要自己来一套 cdp 的轮子才能做到这种级别的解耦吗?
2020-09-21 23:26:11 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@supermoonie 就是个经典生产消费模型而已,了解了原理,让我用 java 写我也觉得挺简单的,就算不用 netty 也可以的,瓶颈不在这儿。我觉得没必要争论这个,个人主观感受而已,仁者见仁智者见智。

https://chromedevtools.github.io/devtools-protocol/ 这个我是知道的,rod 文档里也多次提到了这个,而且 rod 本身很多代码也是自动生成于这个的。

我认识的深入开发过 cdp 的人都觉得 https://chromedevtools.github.io/devtools-protocol/ 写的不够详细,比如 Page.createIsolatedWorld 的文档,我是看不懂的,比如 IsolatedWorld 和 v8 的关系,生命周期,作用范围啥都没说。一堆类似的不明不白的 API 说明。
2020-09-21 20:46:28 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@soseek 比如设计 “最短选择器搜索算法" ,对于想挑战的人应该还挺有趣的。
2020-09-21 20:39:40 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@soseek 这种项目挺多的 rod 也有相关 issue,我们是有计划要做这个的:

https://github.com/go-rod/rod/issues/139

https://github.com/go-rod/rod/issues/81

我是想指导个对这方面感兴趣的学生或者开发者来做个独立项目。实际项目能使用的范围不大,稍微复杂点的网站都很难录制。但是作为兴趣项目是非常有挑战价值的。
2020-09-21 19:56:28 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@supermoonie 写通信异步处理这块算是这个库最小儿科的部分了。核心代码只有 200 行 https://github.com/go-rod/rod/blob/03b1d54/lib/cdp/client.go#L118

这个项目真正难的是如何在没有详细文档和资料的情况下用 cdp 接口完成一些高级功能,chrome 官方的文档非常糟糕,而且 cdp 接口设计本身也问题很大。比如单是模拟完美的 click 都够你折腾一阵子,看似简单的 click 需要调用约十个接口完成,chrome 只列举了全部接口,但是要调用哪 10 个接口完成像人一样点击鼠标是没有说的。

你要是感兴趣,go 挺简单的,比起你去研究 puppeteer,把这个项目翻译成 java 估计会更简单。

其实更好的做法不是用各种语言实现一遍相同的功能,而是基于 rod 这种库开发语言中性的服务,我们有个 issue 你可以看看: https://github.com/go-rod/rod/issues/21

我们也有个语言中性化的试验性项目 https://github.com/go-rod/wayang
2020-09-21 19:03:38 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@yejianmail 和其他库的比较,里面有提到 selenium,可能对你有帮助: https://github.com/go-rod/rod#q-why-another-puppeteer-like-lib
2020-09-21 18:53:43 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@supermoonie 欢迎来 review 代码。有任何问题都可以去聊天室: https://discord.gg/PAaMGJw
2020-09-21 12:37:46 +08:00
回复了 ysmood 创建的主题 分享创造 分享一个用于自动化和爬虫的库
@supermoonie 相比 chrome,rod 的损耗可以忽略不计,就算你开 100 个 tab 也只有几个 goroutine,goroutine 数和 tab 没有关系,rod 使用了严格的 goleak 测试,极大的控制了 goroutine 的数量: https://github.com/uber-go/goleak
1  2  3  4  5  6  7  8  9  10 ... 15  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5562 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.