V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  neoblackcap  ›  全部回复第 77 页 / 共 102 页
回复总数  2036
1 ... 73  74  75  76  77  78  79  80  81  82 ... 102  
2016-04-23 20:09:33 +08:00
回复了 chewuhe 创建的主题 Python python 如何单节点 1s 内生成 10000 个 http 请求?
@chewuhe windows 没有这个 fd 的限制,在 windows 上你操作的 sockets 仅跟你的机器资源有关
资料来源: https://msdn.microsoft.com/en-us/library/windows/desktop/ms739169(v=vs.85).aspx
2016-04-23 20:05:40 +08:00
回复了 gevin 创建的主题 Python Flask 和 Django 的比较
@gevin 所以你要说明白,你一句 Django ORM 综合起来比 SQLAlchemy 强,新手还以为是 Django ORM 特性多,性能高。
很多时候就是这样,高灵活性以及低抽象成本必然伴随高的学习成本。
你分享你的具体看法观点,我们都来切磋切磋,这样你我才能进步嘛,仅抛一个结论就出来跟『 vim 大法好』这样有什么区别:-)
2016-04-23 18:48:08 +08:00
回复了 gevin 创建的主题 Python Flask 和 Django 的比较
其他的我就不发表观点了,我只想说『 Django 的自带 ORM 非常优秀,综合评价略强与 SQLAlchemy 』这样的评价没有能说明任何问题,以下是我的见解

在 Python 以及关系型数据库 ORM 中对应的 Django 跟 SQLAlchemy 可谓两个很典型例子。 Django 很明显是从 RoR 里面得到启发,因此很多时候它也很像 RoR ,比如 Django 就是典型的 Active Record,数据库里面的行直接映射成 Model 的实例,并且所有对数据库的操作是直接与实例绑定,例子即为:
New.objects.create(title='sport', author_name='Neo')
对象(实例)不单单封装了数据库表里面的一行(数据)还封装了数据库的操作,以及在这些数据上面有领域逻辑,比如:
User.objects.create_user('john', '[email protected]', 'johnpassword')
Active Record 对象不仅仅有访问数据的一些方法,而且还有领域逻辑(我们实际的业务逻辑),而且领域模型中的数据跟数据库基本吻合

而 SQLAlchemy 的领域模型就不一样, SQLAlchemy 是基于 Data Mapper 设计而成的。 SQLAlchemy 的数据操作是不能直接作用与实例,它是通过一个 proxy(Data Mapper)来维护领域模型(大致上对应 SQLAlchemy 里面我们定义的 Model )跟数据库表的映射关系,它最大的优点便是数据库表跟领域模型是两个独立的概念,他们之间的关系是解耦的,因此他们可以独立演变,这之后需要做的只不过是我们去更新 Data Mapper 。因此 SQLAlchemy 给我的最大印象就是,它可以实现多态,比如一个 Animal 类可以对应数据库里面的 Dog 跟 Cat 表,以至于一个 Animal 的 cry 方法可以返回"woof"或者"meow"

同时 SQLAlchemy 还有 core 模块去提供高效率的查询(效率可以达到 raw sql 的水平)同时它的查询方式跟 Django 比起来更多样,比如 SQLAlchemy 的 ORM 模块能提供跟以下 SQL 语句对应的查询方式(仅通过一个查询):
select username, score from users join classmates on users.user_id=classmates.user_id where classmates.age > 20 group by (users.username, MAX(users.score));

我个人是觉得 SQLAlchemy 从功能以及灵活性来说都是源于强于其他 ORM ( python 以及对应关系型数据)。但是它跟 Django 比起来就是它有一个很陡峭的学习曲线,这是它的最大缺点。因此我是建议简单项目或者与 Django 相关的使用 Django ORM ,其他的话,若是你们团队协作,而且会有领域模型跟数据库表演进速度不一致的情况,那么选用 SQLAlchemy 是一个不错的选择。
2016-04-21 18:06:02 +08:00
回复了 leonlh 创建的主题 git 有没有办法一条命令可以快速 rebase?
@leonlh
同意 @wittyfox 的话,你们工作流或者分工不合理,要不然怎么会整天出现冲突。
你这样的目前这样操作是合理的,我是看不到有更少的步骤了,你当然可以写 alias ,但只能减少你命令输入的次数而已,出现冲突还是得人工干预, 也就是说你解决了冲突之后当然要 git rebase --continue ,这个步骤是自动不了的,要不然你不输入 git 怎么知道你解决了冲突了呢?
2016-04-21 17:51:48 +08:00
回复了 leonlh 创建的主题 git 有没有办法一条命令可以快速 rebase?
@leonlh
两个人互相提供接口?循环引用?
而且 rebase 本来就是像你说的一样啊,有冲突才会停止啊,只不过是你多了一步缓存你当前还没完成的内容而已。你像一楼说的 commit 就没事了。不要一个 commit 几千行啊, review 的人都要死了
2016-04-21 16:58:27 +08:00
回复了 leonlh 创建的主题 git 有没有办法一条命令可以快速 rebase?
关键就是你拉代码为什么会有这么多冲突?你有冲突当然要人工干预啊。

我的建议就是多执行 git pull --rebase ,你的代码要多分模块,多提交,多 push

冲突多没办法的,什么方案都救不了
2016-04-20 21:46:15 +08:00
回复了 sublimeyue 创建的主题 问与答 有靠谱的免费服务器吗?? 开发用...
@alex321 PaaS 的概念已经很久了,但是大家后来都不了这种,要不 SaaS 要不 IaaS
2016-04-19 23:16:11 +08:00
回复了 cdwyd 创建的主题 Python 分享大量数据去重的方法,顺便问下 python 内存占用问题
去重首先想到 Bloom Filter,
当然 6000 万的数据,我觉得用个数据库也可以简单解决,最多就是时间长一些。
2016-04-19 23:07:34 +08:00
回复了 hoythan 创建的主题 PHP 虚拟机中获取的 HTTP_USER_AGENT 是...
前端开发大忌是用 useragent 来识别客户端,你应该换成特性检验,这个特性不对就用另外一种方法解决这一的思路,还有就是推荐使用 modernizer
2016-04-18 18:33:39 +08:00
回复了 vJianZhen 创建的主题 Python 被编码问题搞炸了!
@vJianZhen
python 是 3.5.0, 各类包如下
dominate (2.2.0)
Flask (0.10.1)
Flask-Bootstrap (3.3.5.7)
Flask-Moment (0.5.1)
Flask-Script (2.0.5)
Flask-SQLAlchemy (2.1)
Flask-WTF (0.12)
itsdangerous (0.24)
Jinja2 (2.8)
MarkupSafe (0.23)
pip (7.1.2)
PyMySQL (0.7.2)
setuptools (18.2)
SQLAlchemy (1.0.12)
visitor (0.1.2)
Werkzeug (0.11.8)
WTForms (2.1)

至于 MySQL 也是使用 5.7 了
2016-04-18 18:13:42 +08:00
回复了 vJianZhen 创建的主题 Python 被编码问题搞炸了!
已经在 linux 下面实现过一次,像你截图一样调用 create_all 方法并不会报错。

估计还是你页面上收集到的数据没有做校验转码而产生的错误
2016-04-18 17:29:49 +08:00
回复了 Hant 创建的主题 硬件 准备撸台黑苹果,这样可以了吗。
@skyworker 你叫你老婆大人叫贱内,她同意了吗?你真的不用跪键盘吗?
1 ... 73  74  75  76  77  78  79  80  81  82 ... 102  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4964 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 73ms · UTC 09:03 · PVG 17:03 · LAX 01:03 · JFK 04:03
♥ Do have faith in what you're doing.