V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ClericPy  ›  全部回复第 104 页 / 共 133 页
回复总数  2649
1 ... 100  101  102  103  104  105  106  107  108  109 ... 133  
2019-10-28 01:13:17 +08:00
回复了 AltairXsss 创建的主题 Python 并发和异步的问题
你 sqlalchemy 的 driver 用的是 pure Python 的还是有 C 加速的, 后者会在 gevent 里无法打猴子补丁导致 block, 如果是纯 Python 的 pymysql 的话, 这玩意性能你就算使用了各种事务连接池合并提交什么的操作, 性能也很差的; 再加上 sqlalchemy 本身也不是以性能出名的

对你目前架构来说, 数据库操作想提速试试走消息队列吧

都用上 Python 了, 而且还不用 asyncio + uvloop, 就别指望性能有多好看了..

至于 celery, 不管是 redis 还是 rabbitmq, 我只评价一句: 又慢又占内存.

另: 如果是 Python2, 请无视我上面所有话. Python2 和 Python3 在同步框架里, 除了 falcon , 其他性能都不够看
2019-10-28 01:04:33 +08:00
回复了 vazo 创建的主题 浏览器 微软发布基于 chromium 内核稳定版 edge 浏览器
@shadowwalker2644 好的感谢, 这方面信息不知道从哪看, 那我再等等吧. 只希望别用微软那个内置的 app store... 能独立出个网站就好
2019-10-28 00:01:12 +08:00
回复了 vazo 创建的主题 浏览器 微软发布基于 chromium 内核稳定版 edge 浏览器
想推荐给不懂电脑的那些朋友, 之前让他们用 chrome, 他们又没法去外面的市场下扩展, edge 有什么办法下扩展么, 现在那些民间的都开始扫码下载了...
2019-10-27 19:45:59 +08:00
回复了 Achilless 创建的主题 Python 关于 py 的线程池,并发请求接口
@Achilless 我居然没收到提醒有人回复我...

这估计和 go 没什么关系, 对 goroutine 来说 10 个和 100 个差别不该这么大, 主要开销还是在服务端的样子, 服务端扛不住太高并发, 而不是本地 CPU 扛不住
2019-10-27 17:56:42 +08:00
回复了 aptx4689 创建的主题 Android 微信因为效率太差被加入 90Hz 黑名单
一楼你没带狗头, 就显得不像段子像真事了

我以前听过一个让我震惊很久的设计思想: 只要你的软件够慢, 用户留存时间就会增长.
2019-10-27 17:54:11 +08:00
回复了 wszgrcy 创建的主题 问与答 自己是不是有点强迫症?
强迫症是病, 你这只是习惯
2019-10-27 11:33:16 +08:00
回复了 xtx 创建的主题 问与答 请问关于编程,零基础的人应该先学些什么?
指望编程吃饭, 目前就是 java, 目前市场最大, 缺口也不小
指望编程让已经有的饭好吃, 那就是 python, 节省时间提高效率
指望学点东西改善生活, 当然是 JS, 就算不用 node.js, 也是可以用原生 js + chrome 油猴实现大多数自动化操作了
HTML 是标记语言, 稍微看看就大致懂了, 不求职的话 H5 不用深入, 每次要什么去看文档都来得及

简单的说, 计算机基础扎实懂得机器思维, 就从编译型语言入手, 性能靠谱, 上 java golang 什么的都可以; 计算机方面略有基础但是不深, 甚至毫无基础, 就从脚本语言着手, python js 学起来不会太辛苦, 大部分原理都是所见所得的, 比较符合人类思维

祝好运, 喜欢自学的人总归不会太笨. 李笑来有一个和自学有关的东西, 讲了 python, 不过有点啰嗦, 想看就试试.

java / golang 教程, 有计算机底子的, 不需要教程, 就是上官方文档硬怼, 刷 50 多道 leetcode 就上手了, 多读别人源码就行了.

python 教程方面, 只说最权威的
官方中文教程 https://docs.python.org/zh-cn/3/tutorial/index.html
微软中文教程 https://docs.microsoft.com/zh-cn/windows/python/
至于其他民间教材, 在三年前信息爆炸知识匮乏的年代可以考虑, 目前已经不推荐看了, 毕竟不是专门搞教程的, 平时多看看 realpython 和 awesome python 的周报即可; 入门以后就是三本书, 都有中文的
《 Python 进阶》( Intermediate Python 中文版)
python cookbook
Fluent python


javascript 教程
目前除了 MDN 那个 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide 比较全面
就是看现代 javascript 教程. https://zh.javascript.info/

入门教材选不好, 可能会让人和学习目的失之交臂, 所以现在基本不会推荐一些民间的东西了, 不是说不好, 起码与时俱进就不见得比官方新, 很多开免费教程的人有可能需要恰饭以后, 就顾不上维护了.
很多东西搜一下省多少字
The Celery worker itself does not process any tasks. It spawns child processes (or threads) and deals with all the book keeping stuff. The child processes (or threads) execute the actual tasks. These child processes (or threads) are also known as the execution pool.
2019-10-26 18:58:33 +08:00
回复了 sunmker 创建的主题 Python 请问如何判断多个关键词是否都不存在于指定的字符串中
考虑性能就是 AC 自动机
考虑原生就是正则表达式里的零宽断言
2019-10-26 18:26:31 +08:00
回复了 qazwsxkevin 创建的主题 Python multiprocessing 的进程池,能否做到监控一些状态?
ProcessPoolExecutor 可以看做一个进程池执行器, 朝里面提交函数和参数以后, 会返回一个 Future, 这时候任务就开始执行了, 所以常见的用法就是:
1. 新建一个进程池执行器, 设置好并发数 pool = ProcessPoolExecutor(5)
2. futures = [pool.submit(func, var[0], var[1]) for var in var_list]
这时候任务都在后台派出的线程执行中
3. 然后就该等待任务完成了, 如果想要按执行结束的顺序来处理, 就
from concurrent.futures import as_completed
for future in as_completed(futures):
result = future.result(timeout=None)
如果无所谓完成顺序, 但是在意任务匹配顺序, 就
for future in futures:
result = future.result(timeout=None)
这里 timeout 可以配置成一个 float, 然后 try catch 住 timeouterror, 不过不确定多进程会不会杀死超时任务, 因为平时我大都用线程, 线程是肯定杀不死的...

如上, 并发的好处就体现出来了, 也就是说, 在没达到并发限制的情况下, 整个任务理论上完成耗时不会超过最慢任务的耗时, 虽然实际上会受并发限制和 CPU 数量影响
@qazwsxkevin
2019-10-26 16:42:12 +08:00
回复了 CSGO 创建的主题 分享发现 没人关注“一刻相册”APP 吗?
这个, 自从上次说过 XX 人不需要隐私, 以后... 我感觉自己不需要拍照...
2019-10-26 16:29:05 +08:00
回复了 isukkaw 创建的主题 程序员 BootCDN Down Again
昨天脑子坏了用了这个 cdn... 赶紧换到 staticfile 上去了...

PS: 我看着怎么没挂呢
@qazwsxkevin with 上下文用法其实就是对一个包含 __enter__ 和 __exit__ 魔术方法的对象的一种语法糖, 也就是不管是否报错, 都会在代码块结束时候执行 exit 那部分. 找个靠谱点的教程吧, 或者单独搜搜 python with 的用法

cdp 全称好像是 chrome devtools protocol, 是一套与 chrome debug remote 启动模式的交流协议, 包含 http 和 WebSocket 两部分, 而 chrome devtools 说白了, 可以简单理解成 chrome 浏览器按 F12 后底部出现的那个 devtools, 也就是和它交互用到的协议

稍微理解的话, 可以点我头像的 github 里面有个 ichrome 项目, 通过 pip 可以安装上, 如果对协程不了解, 可以先用同步的那个版本, 看 example 的代码就知道了, open link 好像用的是 set_url 函数, 点击用的是 click 函数, 不过只支持 css 选择器
鉴于 cdp 的 DOM 操作很多坑 (那个 pyppeteer 作者也这么说的), 所以还是使用注入 js 的方式来操作浏览器比较省事.
同步和异步的 ichrome 调用方式里, chrome daemon 那个类使用 with 的方式是可以自动关闭进程的, 多个实例就是多个端口(需要区分端口)的进程

说多了也没用, 直接体验吧, 前两天刚开了博客, 还没开始写操作 chrome 的博文, 估计得等一两周才会写...
不过最简单的除了 atexit 和 with 外, 还是把任务写成 class, 在 __del__ 里面做处理, 这样每次回收内存就会杀死对应进程, 与你标题的要求比较贴近
说的都真麻烦, 以前我也写过操作 Chrome 的库, 用的方式无外乎三个
1. 用 with 包起来, exit 的时候清理进程
2. 使用 weakref, 弱引用可以用 set 也可以用 dict, 自己选择, 维护一个 instance pool, 然后每隔一段时间扫一下不存在的, 做清理.
3. 注册到 atexit 里面去

你这是 Windows 上操作啊... 杀进程跨平台最好用还是 psutil, 不过看你只会用 Requests-html... 就不聊 cdp 方面的东西了
2019-10-26 01:20:43 +08:00
回复了 Colorful 创建的主题 问与答 关于 Python 的几个问题
三个内置库的用法, 一搜教程一大把
sqlite3
json
csv
pickle

从上往下
2019-10-25 23:08:57 +08:00
回复了 won 创建的主题 问与答 密码为什么通常是 6 位
因为生日
2019-10-25 16:52:23 +08:00
回复了 0clickjacking0 创建的主题 Python 关于 python3 导入包的问题
@ungrown stackoverflow 一搜一大片啊... 我以前在上面看的, 现在去找有点麻烦, 随手搜了个
https://zhuanlan.zhihu.com/p/76974787
也就是 pyinstaller 里为什么要给你个 exclude 参数, 因为好多库你不想要啊~
1 ... 100  101  102  103  104  105  106  107  108  109 ... 133  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1006 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 21:49 · PVG 05:49 · LAX 13:49 · JFK 16:49
Developed with CodeLauncher
♥ Do have faith in what you're doing.