V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Kobayashi  ›  全部回复第 8 页 / 共 55 页
回复总数  1093
1 ... 4  5  6  7  8  9  10  11  12  13 ... 55  
我明白什么是 LSP ,vim 中也在用着。我不明白的是把格式化工具集成到 LSP 和直接使用它有什么区别。我的理解格式化工具就是接受一个文件,帮你格式化,毕竟大多格式化工具支持的命令行用法就是这样。集成或者不集成到 LSP 初步感觉不会有什么区别。周末再查吧。
2022-06-09 22:47:03 +08:00
回复了 wand 创建的主题 Apple 关于 2021 款 14 寸 MacBook Pro 底部外壳异响的问题
上视频
原来也可以通过 python.formatting.blackPath 参数指定 black 位置非当前 venv 啊? flake8, pylint 位置同理。我想搞明白的是这个“使用语言服务器协议来提供格式支持”,有没有什么优势。嗯……有时间再研究。
我不明白了,为什么 linter ,formatter 也要拆成扩展?
把浏览器的安全 DNS 关了?
2022-06-06 07:34:39 +08:00
回复了 27 创建的主题 问与答 两层代理使用什么软件比较合适?
SSH local forwarding
2022-06-05 18:42:42 +08:00
回复了 vone 创建的主题 程序员 SSH 私钥设置 passphrase 后, VSCode 的版本控制如何推送代码
ssh agent
2022-06-05 08:31:14 +08:00
回复了 acctv2 创建的主题 Python 有没有一些高质量的 Python 内容推荐?
你要想深入底层,书籍有的是:雨痕的《 Python 学习笔记》,新一点的有英文的 Python Internal 。我这 2 本书都买了,但辞职后读了几个开源项目后想法完全变了:第一二层自己都没理解,没必要一脚踹到第五六层。

你要想学设计模式,好的编程风格,开源项目这里边有的是。而我自己最初想写 Python 编译器这种所谓高大上的方向,随着学习反而想明白了这是一种被忽悠瘸了的行为。等我读了很多开源项目之后才明白,那些最对你有帮助的知识是你脚底下的那一二层,而绝不是上来就深挖十几层干到编译器,越是经过层层封装、底层的东西,对你干活的影响越小、越反馈不上来。不说别的,你要能读完标准库,就能超越 90%做 Python 的人。

博客不是学习深度知识的好地方,博文只能作为借鉴项目经验、趟过雷的地方。确实有很多博客帮你解读 Python 项目、底层的,但能讲好得不是没有,实在太少了。有一大部分人写的根本算不上博客,把深入的东西将给别人听并不简单,大部分人都写成了自己的笔记——只有他自己根据博文理解那些弯弯道道,别人根本搞不明白。
2022-06-03 18:15:07 +08:00
回复了 victorc 创建的主题 Kindle 你们真的觉得 kindle 好用吗
你不做笔记就是好用。你写点注释,eink 刷新率就是垃圾。Eink 的良品率也是个问题,反正我不认可 Eink ,就是 JB 垃圾。
2022-06-02 22:01:14 +08:00
回复了 lakie 创建的主题 问与答 相亲认识之后该怎么办?
@foxppp
2022-06-02 22:00:56 +08:00
回复了 lakie 创建的主题 问与答 相亲认识之后该怎么办?
相亲之后,相遇、相识、相知、相惜、相爱、相许、相守。
2022-06-02 21:36:32 +08:00
回复了 TcDhl 创建的主题 Python 请教一下 Gunicorn 的一些疑惑
Gunicorn 采用 arbiter/manager + worker 管理进程。

arbiter 作为管理者,不断循环,在每轮循环检测 worker 状态,比如杀死超时 worker ,创建新 worker 。
而 worker 负责处理请求,多个 worker 监听在同一个 socket 上接受新请求。worker 模式多样,最简单的就是进程模式和线程模式。

max request 被设计用来限制一个 worker 所能处理的做法请求数量。其初衷是担心代码中内存泄漏,worker 运行一段时间后能被杀死,回收掉内存。

worker 里边也是循环处理新请求。在每次处理请求前,worker touch 一个 WorkerTmp 对象(好像是一个文件来着),更新其时间戳。而 arbiter 每轮循环检测到 worker.tmp ,就明白 worker 空闲有一定时间了,会干掉它。Arbiter.run() 是循环代码,Arbiter.murder_worker() 尝试清理 worker 。

Arbiter 管理 worker 方式基于信号。Arbiter 和 Worker 实例化时都会初始化自己的信号管理函数。总之 arbiter 发送 abrt 或者 kill 信号给 worker ,空转 worker 接受到信号后自杀。( worker 空转是因为其达到最大请求数后不再处理新请求)根据 base worker 中 abrt 信号处理函数,worker 执行了 sys.exit(1) 直接退出。

max requests jitter 是在最大请求数目上加点抖动值,避免所有 worker 同一时间停止接受新请求,服务摊了。不过我觉得请求耗时不大可能完全一样,加不加差不大多。

Gunicorn vs Uvicorn vs Supervisor

Gunicorn 很独特的一点是,它既是一个 wsgi 服务器(对标 Uvicorn ),也是一个进程管理器(对标 supervisor )。所以你看到过 Gunicorn+ Uvicorn 部署 asgi 应用,Uvicorn 作为一个 gunicorn 运行。和 supervisor 相比,Gunicorn 进程管理方式相对较弱,完全基于信号,好像 supervisor 基于 RPC 调用啥的,交互式 shell 管理进程、web page 管理进程一应俱全。

主要相关代码参考 arbiter.py 和 workers/base.py
2022-06-02 21:04:38 +08:00
回复了 gentoals 创建的主题 浏览器 似乎和微软有类似协议的公司不止 duckduckgo 一家?
每天有上亿的数据摆在你眼前,你说你没挖过这个金矿才有鬼吧。
2022-06-02 08:33:14 +08:00
回复了 mm163 创建的主题 宽带症候群 OpenDNS timeout?
@mm163 你们再讨论讨论,我有事先撤了
timemachine
2022-05-31 13:47:52 +08:00
回复了 yuhangch 创建的主题 问与答 各位推荐些播客吧
This American Life, Planet Money, Invisibilia
2022-05-30 13:44:17 +08:00
回复了 lee88688 创建的主题 买买买 618 想买一个 500 以内的矮轴键盘有推荐的吗?
@lee88688 没有,京造、keychron 、贱驴,都是一个。
2022-05-29 20:38:28 +08:00
回复了 Davic1 创建的主题 Apple MX Master 2S 在 macOS 上不如 Windows 上好用
@dcty For Mac 就是智商税。没有任何改进,砍了 2.4G 无线,所谓的 for Mac 都是利用罗技软件对于 Mac 下软件的快捷支持,没什么卵用。
2022-05-28 09:22:29 +08:00
回复了 Ayanokouji 创建的主题 Apple 各位在 mac 上都用什么快捷键切换输入法
Karabiner 映射 shift 为 F16 。直接映射 shift 到 cmd+shift 会有问题,某些情况下切换不成功。
2022-05-27 14:11:08 +08:00
回复了 shanejix 创建的主题 程序员 Web3 入门,有平滑的路线推荐么?
学它马勒格八子,这玩意儿有个屁用。
1 ... 4  5  6  7  8  9  10  11  12  13 ... 55  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5331 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 45ms · UTC 05:53 · PVG 13:53 · LAX 22:53 · JFK 01:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.