V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  henix  ›  全部回复第 3 页 / 共 4 页
回复总数  76
1  2  3  4  
164 天前
回复了 xiguaprince 创建的主题 Python Python 怎么管理依赖和工程化呢?
只是用别人的库的话不需要 setup.py
最简单的就是 Python 自带的 venv https://docs.python.org/zh-cn/3/library/venv.html + requirements.txt
venv 是每个项目一个虚拟环境,安装这个项目所需的 Python 版本和依赖,不同项目之间隔离
167 天前
回复了 jianghu52 创建的主题 Python 是我太菜了,还是 pandans 就是这么慢
遍历 6000 行的 df 需要 1s 也太慢。你用没用 df.iterrows 遍历? iterrows 跟整数索引( for i in range(len(df)))的性能差别挺大的。
一点建议:为啥非要用 excel 和 pandas ?因为 excel 不是文本格式,不方便程序处理。pandas 个人认为对初学者来说有很多坑。
一个架构上的建议:先将你这两个 excel 另存为 csv 格式,然后用 Python 自带的 https://docs.python.org/zh-cn/3/library/csv.html 把每个文件读进来存成一个 list ,算法跟你现在的保持不变,说不定都比你现在的方式快。
172 天前
回复了 Canglin 创建的主题 C 关于 C 语言的相关问题
C 语言本身内容较少,而且抽象层次很低,属于“系统编程语言”,也就导致,网络、IO 、GUI 这些功能在其他编程语言中可能已经抽象到标准库中了,但 C 语言标准库不包含这些,要用的话应该学习操作系统提供的 API 。不同的操作系统提供的 API 是不同的,需要分别去学,或者使用一些别人封装好的跨平台库。

Linux 推荐 Linux/UNIX 系统编程手册 https://book.douban.com/subject/25809330/
Windows 推荐 Windows 系统编程 https://book.douban.com/subject/5323432/
关于库的底层实现的 程序员的自我修养 https://book.douban.com/subject/3652388/

看了这些你能理解一些网络库的底层实现原理了,当然实际应用中可能更多会使用别人的开源库。比如 libuv 、mysql 的 C 接口、GTK 等等,那就去看具体的库的文档。
这种需求应该属于 data validation 吧,除了 pydantic 还可以看看 json schema
182 天前
回复了 pauluswanggang 创建的主题 Python 学 Python 具体能干什么?
Python 是动态类型语言,跟 C Java 这种静态语言的思维方式不同,更适合写一些短小的脚本、一次性任务。

生态方面,Python 相对于其他语言的优势是数据分析,科学计算和人工智能。很多库和框架是其他语言没有或者很难复刻的。比如数据分析的 pandas 、机器学习的 sklearn ,快速研究的 jupyter notebook 。
手写后缀树
204 天前
回复了 lucasj 创建的主题 Python 推荐几个你觉的很不错的 Python 库
pydantic https://docs.pydantic.dev/latest/ 基于类型标注的动态-静态数据转换,对于喜欢静态类型的人来说是必备
206 天前
回复了 sonnyclarity492 创建的主题 程序员 大家是怎么管理服务的?
端口号分配我思考过对应用名 hash 的方法: https://blog.henix.info/blog/port-hash/

命令行管理就 supervisor 咯
244 天前
回复了 lifi 创建的主题 Python 学 Python 也有半个月了
理论的学习和技能的学习:学习理论只需要看懂就行,但学习技能则只能通过实践。例如学骑自行车和学游泳、学做菜这一类,只学习理论是没用的。

个人认为学编程的最好方式就是用编程解决日常生活中的问题,编程可以让我们的生活变得更美好。
248 天前
回复了 W4J1e 创建的主题 程序员 开源项目开发者的歧视依然存在吗?
从 op 的问题和回复看,我认为 op 可能有一点崇拜开源贡献者,但最后发现开源贡献者不过是普通人,有点幻灭。
我的看法是,很多领域存在 20%-80% 现象。不排除有一些非常厉害或者说无私、道德高尚的开源贡献者,但大部分人都是普通人。
他们开源的理由可能是:不想搞商业化运营,嫌麻烦或没资质;不想对用户做出太多承诺;项目更多是自己的练习、实现自己的需求,反正对自己没什么坏处,所以就开源了;项目是为了展示自己的水平。
而且大部分开源项目都无人问津,能被大众知道的明星项目是极少数。
至于 op 为什么被踢,不了解具体情况,不知道,只能说这类社群里啥人都有。
可能 op 对接触开源贡献者很感兴趣,我觉得可以:1. 更多使用 github 交流,这里你能接触真正的代码贡献者 2. 关注一些开源贡献者的 blog ,在 blog 上直接跟本人交流
我理解应该有一个部署脚本(安装程序)吧,用户运行这个脚本来安装到 vercel 上,那么密码必须不固定,要么由用户自己设置,要么生成一个随机密码,返回给用户即可。
同理,如果要进一步提升安全等级,可以考虑两步验证( 2FA / TOTP ),用户运行安装脚本安装成功后,返回一个二维码,用户可以用各类验证器扫码,登录时要求输入两步验证码。
要防止被人暴力穷举密码,可以在登录页面加入文字验证码,或添加一定时间内 ip 的尝试次数限制。
253 天前
回复了 anUglyDog 创建的主题 程序员 程序员第二门语言
可以看看 七周七语言 https://book.douban.com/subject/10555435/
js 的四舍五入应该是:Math.round(99.1*1.05*100)/100 // => 104.06
这个应该要应用自己维护的吧。记录每个 fd 上一次操作的时间戳,你的第一种方法,epoll_wait 会在中途返回,返回时检查当前时间戳跟记录的 fd 上一次操作时间戳之差,如果超时了就执行某个动作,比如关闭连接。

这里采用的数据结构是堆( heap )或者时间轮( timing wheel )

可参考 [Linux 多线程服务端编程]( https://book.douban.com/subject/20471211/) 的“7.10 用 timing wheel 踢掉空闲连接”一章
276 天前
回复了 zywscq 创建的主题 Python 浅析 Python 中的 9 种常见反模式
如果是很重要的反模式,可以找找有没有 linter 能检查出来
288 天前
回复了 millet230413 创建的主题 GitHub 关于 github 文件下载的问题
320 天前
回复了 icoming 创建的主题 JavaScript 为什么 Promise 会有这种表现?
@NessajCN 传给 allSettled 时 promises 不是已经 map 过了吗
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2512 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 15:45 · PVG 23:45 · LAX 07:45 · JFK 10:45
Developed with CodeLauncher
♥ Do have faith in what you're doing.