ipwx 最近的时间轴更新
ipwx

ipwx

V2EX 第 86855 号会员,加入于 2014-12-15 23:19:35 +08:00
今日活跃度排名 4412
ipwx 最近回复了
3 小时 35 分钟前
回复了 PowerDi 创建的主题 Markdown obsidian 文档格式
Obsidian 在普通功能上不见得比其他笔记强。

它强在插件生态、文档链接之类的。
3 天前
回复了 zxCoder 创建的主题 Python 有无这样一个 Python 框架
@ClericPy 集成外部系统可能意味着无止境的运维开发。
“可能会有少量的修改某个节点数据的操作”

反正我觉得就这一条,你就应该说服你的客户把 XML 换成数据库。因为在操作系统原理上,这个操作要做得快就是不可能的。
你这个场景,要么自己做一个类似数据库的索引,直接根据索引定位 XML 文件内容。最后你会得到一个 custom database 。要么你干脆做一个读写抽象层,读的时候从数据库读,写的时候更新 XML 与数据库。

====

另外吐槽一下 “可能会有少量的修改某个节点数据的操作”

在 XML 层面,凡是你修改了任何一个节点的数据,你都得把 100G 文件重新拷贝一份。我知道你希望找到一个假象中的类库,对于 XML 层面甚至可以原地修改。但是很抱歉,在操作系统原理上,这个是不可能的。

否则要数据库干嘛?
楼主应该把需求本身说清楚。

不然又是 XY problem 。
3 天前
回复了 jchnxu 创建的主题 程序员 jdbc 是个啥原理啊
@jchnxu JDBC 其实是个很奇怪的抽象层。一方面它试图填补各个 DB driver 的差异性。但是 SQL 语言本身的差异性它又无法填补,就导致这玩意儿好像有点用,但其实毛用也没有,换个 DB 还得重写程序。毕竟所有语言的 DB driver 一般都能找得到完善的 connection pool 。

所以真要跨数据库写代码还是得上 ORM 。比如 Python SQLAlchemy 。
4 天前
回复了 jchnxu 创建的主题 程序员 jdbc 是个啥原理啊
原因是 JDBC 其实是比“某个数据库的 Driver”更高一层的抽象,试图规范这个语言下的所有 DB Driver 接口。这需要强大的语言掌控力。Java 是个最初由 Sun 推动的商业型语言,所以 JDBC 出现了。

如果某个语言需要,就需要有人牵头搞一个。但是很遗憾,JS/Python 这种社区型语言,你退出某个 Javascript XXX 别人也不买账。你看 npm 上各种包。。。

====

其实 ORM 比 JDBC 封装层次更高,并不是要求各大 DB 遵守,而是反过来去适配各大 DB 的 driver 。ORM 才是更优解。
10 天前
回复了 klmd99 创建的主题 程序员 前端能学 Python 吗
“是为了理解后端的开发过程,让我这个前端能更好地和后端沟通合作”
全栈。进可当老板,退可打工人。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2864 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 12:37 · PVG 20:37 · LAX 05:37 · JFK 08:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.