V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ipwx  ›  全部回复第 40 页 / 共 201 页
回复总数  4006
1 ... 36  37  38  39  40  41  42  43  44  45 ... 201  
2021-12-13 16:10:07 +08:00
回复了 kingofzihua 创建的主题 Linux 问一个协程方面的问题
其实这里有两条技术路线

callback => promise / future
event loop => coroutine

要理解协程就要去理解这两条技术路线的区别。
2021-12-13 16:08:47 +08:00
回复了 kingofzihua 创建的主题 Linux 问一个协程方面的问题
并发种类:

1. 多线程:太慢

2. callback:代表作为 Node.js 、python tornado ,boost asio 。但是会陷入 callback 地狱。

3. Promise / Future:java, scala, js, 比 callback 好多了,目前是主流技术之一。缺点是要仔细管理闭包的嵌套。

4. event loop:一般 c/c++ libev libuv ,还有 python gevent 。心智负担比上述三种都大,但是可以更精细操作、更高效。底层实现一般为 kqueue 和 linux 上的 epoll ,或者 fallback 到 select 。

大名鼎鼎 nginx 就靠 event loop 暴打同时代。

5. 协程。

协程一般用 event loop 实现,这种协程就是对 event loop 的抽象。要理解协程,建议稍微学习一下 event loop 。
2021-12-13 16:03:24 +08:00
回复了 kingofzihua 创建的主题 Linux 问一个协程方面的问题
“如果阻塞是系统调用阻塞,线程就会挂起,调度到其他的线程了,你协程没用”

所以协程要配合非阻塞 IO 。

原先 callback 或者 Future.map 就是非阻塞的,但是写起来心智负担太大。所以抽象了一种 IO ,形式上是阻塞的,但是实质上是非阻塞的。await non-blocking read 会把控制流立刻转向其他协程,而当这个 non-blocking read 成功以后这个协程会重新进入调度队列。
2021-12-13 15:25:17 +08:00
回复了 JohnXu20151211 创建的主题 C++ 求问 C++一个问题
1. 虽然原则上在 mac 上开发 linux 上运行的 c++ 也不是不行。
2. 但是最方便的还是在对应平台上开发,不然断点调试麻烦。
3. 所以你可以买一台比如,联想
2021-12-13 15:15:09 +08:00
回复了 balabalaguguji 创建的主题 问与答 自己开发一个 Typora 的 Markdown 编辑器靠谱吗?
@3dwelcome 真没必要这么快。Typora 的渲染速度已经够了,看上去也不是纯 GPU 的亚子.
2021-12-13 14:36:18 +08:00
回复了 balabalaguguji 创建的主题 问与答 自己开发一个 Typora 的 Markdown 编辑器靠谱吗?
@balabalaguguji 呃,Typora 不贵吧。。。虽然不是没竞品。

MarkText 不好用,渲染性能有点问题。Milkdown 这个控件还不错,但是只有控件没有 app 。
2021-12-13 13:38:18 +08:00
回复了 balabalaguguji 创建的主题 问与答 自己开发一个 Typora 的 Markdown 编辑器靠谱吗?
你自己开发付出的时间成本还不如买一份授权。

如果是觉得它不够用那另说。
2021-12-13 10:32:19 +08:00
回复了 kexming888 创建的主题 软件 想支持正版软件,但是又心疼钱
@xz410236056 下馆子和朋友撮一顿也要 100-200 啊这个时代。你一年不下馆子个几十回么?

99 刀一个 Xshell 确实离谱,我上面也说了,用竞品。但是 99 人民币总算不贵了吧?你电脑上常用软件、没有免费开源竞品的,能有几十个嘛?
因为现实世界中可能有突如其然的大量数据,让 es 暂时宕机。此时如果你每个客户端都自己重试,就会让这个突如其来再度翻几倍,那么你将损失一大批数据。Kafka 的写入比 es 快很多,所以相当于一个缓冲区,还是分布式的。
2021-12-12 19:48:55 +08:00
回复了 kexming888 创建的主题 软件 想支持正版软件,但是又心疼钱
@IxIIxI 你这用破解版的可真恬不知耻。你自己做的软件别人如果白嫖,你自己不会生气嘛?

用不起就换一个竞品,这才是正确的回答吧。
2021-12-12 18:29:08 +08:00
回复了 kexming888 创建的主题 软件 想支持正版软件,但是又心疼钱
Xshell 是太贵了没必要。
2021-12-11 23:25:16 +08:00
回复了 AndyAO 创建的主题 Python 那些 Python 语言设计上的重大失误
@c0xt30a 哦你说跑实验的代码?

https://github.com/haowen-xu/ml-essentials
https://github.com/haowen-xu/mlstorage-server

不过这两个相对而言没怎么写好文档。。。
2021-12-11 23:23:43 +08:00
回复了 AndyAO 创建的主题 Python 那些 Python 语言设计上的重大失误
@c0xt30a 啥玩意儿的代码?

我论文代码: https://github.com/NetManAIOps/Donut
我后来整理出来的一些模型代码: https://github.com/haowen-xu/tfsnippet
1. 对于不能 asyncio 的部分你可以用 loop.run_in_executor() 转换到线程池上做,不过……
2. 很多数据库都有 asyncio 版。比如 aiopg (postgres), aiomysql (mysql), motor (mongodb)
3. 文件交互可以用 aiofiles ,如果 service static file to http 直接丢给比如 starlette 。
4. 其实 asyncio 写起来很爽。
2021-12-10 10:44:30 +08:00
回复了 ruxuan1306 创建的主题 Python Python 一个整型居然最少 24 字节
可是 python 对于小整数是复用对象的嘛(对象池)

而且如果你要处理大量数字,你该上 numpy
2021-12-09 17:41:40 +08:00
回复了 nianyu 创建的主题 信息安全 关于 token 过期的疑惑,为什么需要 refresh token?
加密签名,可以验证 AccessToken 没有被篡改和捏造(解密出来“什么时候过期”,它就一定是正确的过期时间。客户端无法捏造这个时间)。那么每个后端服务器只要有一套解密的密钥就行了。

甚至集中的认证服务器,可以根据要访问的业务,调用不同的加密密钥去加密,这样的 Access Token 自然只有对应的业务才会承认。

这就是 Stateless 的核心 —— AccessToken 不用连接任何中央服务器,就能迅速检验它是合法的、不是捏造的。时间戳附带签名就能证明其真实性。
2021-12-09 14:04:25 +08:00
回复了 yttsam 创建的主题 推广 C/C++学起来难,还是 Rust 学起来难呢?
同 C++ 程序员,C++17 我都觉得很好用了,并且在等 C++20 。Rust 对我吸引力很小。
哦补充:看 prob_vec 第几项 <= p 可以用二分。

所以整个复杂度是 O(N + log N),额外空间 O(N)
0. 设置一个 prob_vec = [0.6, 0.7, 0.8, 0.9, 1.0]
1. random.random() 得到一个随机数 p ,p 在 0 ~ 1 之间。
3. 看 prob_vec 第几项是最后一个 <= p 的,如果是就取对应的数。

比如你 p = 0.45 ,那么就取 1 。
如果 p = 0.65 ,就去 2
2021-12-08 16:00:05 +08:00
回复了 dwlovelife 创建的主题 程序员 typora 收费了,有什么好的替代产品
@xiaoFine 公式、表格。

裸写 MD 完全不行。
1 ... 36  37  38  39  40  41  42  43  44  45 ... 201  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   967 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 58ms · UTC 21:10 · PVG 05:10 · LAX 13:10 · JFK 16:10
Developed with CodeLauncher
♥ Do have faith in what you're doing.