V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  keakon  ›  全部回复第 8 页 / 共 51 页
回复总数  1014
1 ... 4  5  6  7  8  9  10  11  12  13 ... 51  
2017-07-25 10:14:13 +08:00
回复了 Livid 创建的主题 NGINX 关于 NGINX 的 upstream 配置的 fail_timeout=0 参数的意义
看了下源码,nginx 发现连接超时、读取超时、status code >= 300 就会尝试下一个 upstream,如果它成功就换它响应,如果它失败就自己返回失败。
所以对于动态服务器,确实应该禁用。
2017-07-19 10:41:03 +08:00
回复了 SlipStupig 创建的主题 Python Python 内存泄露怎么能快速诊断?
其实大多数时候没啥好办法,因为一般你写不出能内存泄露的代码,这些问题基本都是第三方库导致的。粗暴的话就每隔一段时间或处理一定请求后自动重启进程,非要找找可以参考这篇 http://www.jianshu.com/p/2d06a1a01cc3
2017-07-05 18:15:14 +08:00
回复了 jsonzz 创建的主题 Python 执行类方法前,如何获取方法入参并修改
你要做的就是修改 swimming 的实现,使用 override 不是最简单的么,看不出哪里复杂:
def swimming(self, action):
return C.swimming(self, self.add_punctuation(action)) # 或者 return super(C1, self).swimming(self.add_punctuation(action))

如果你有一堆方法需要修改参数,先写一个 decorator,用处是计算并传递新参数;然后再写个 metaclass,对满足要求的方法都应用上这个 decorator。
这个问题看着挺绕的,但是道理却很简单。

假如要用 native coroutine 来实现「 pause execution and force something to be sent down to the event loop 」,那么你写的代码大概如下:
async def native_coroutine(): # ...
async def f(): await native_coroutine()

再来看 native_coroutine 的函数体,你有如下选择:
1. await 一个 awaitable 对象:这会导致你需要再定义一个 native coroutine,递归回到前面的选择。
2. return 一个值:这会导致代码变成同步的,f 函数会立刻接收到 StopIteration 异常。
3. raise 一个异常:这会导致代码变成同步的,f 函数会立刻接收到异常。
4. yield 一个值:在 Python 3.5 或之前是语法错误;在 3.6 或之后它变成了 asynchronous generator (见 PEP 525 ),也不能用在 await 表达式里(它不是 awaitable,没有定义 __await__ 方法,会抛出 TypeError: object async_generator can't be used in 'await' expression )。

对于选择 1,你当然也可以自定义一个 awaitable:
class Awaitable(object):
----def __init__(self, count):
--------self.count = count
----def __await__(self):
--------yield from range(self.count)
这样你就不是用 generator based coroutine 来暂停执行了,但这也不是 native coroutine 了。

可见这完全是语言的限制,因为 yield 后面可以跟任意的值,yield from 可以接任意 generator 对象,而 await 却只能接 awaitable 对象。

所以纠结 native coroutine 为什么不能「暂停执行并强制性返回给事件循环」没多大意义,因为你实际在编写最底层调用的那句代码时,肯定要用 yield 或 yield from。但如果不是编写框架,你基本上只需要写到 await native_coroutine 这层的代码。
2016-05-23 15:28:29 +08:00
回复了 hellogbk 创建的主题 macOS 你们的 MAC QQ 掉线吗?
节能器里把「唤醒以供网络访问」关了就行了,否则会不定期把另一台 mac 的 qq 踢下线
有个东西叫缓冲区溢出,没有做好检查的话,会一直往后写,导致栈被修改掉。而函数的返回地址也在栈里,就导致返回时跳到其他区域,就能执行攻击代码了。
你的索引可能不能用来优化这个查询,导致需要全表扫描。你 explain 一下就知道原因了。
2016-04-25 12:35:50 +08:00
回复了 aiqier 创建的主题 Python 如何给 tornado 做一个 mock 类?
mock client 就行了,最简单的大概这样:

```
class MockedAsyncHTTPClient(AsyncHTTPClient):
_responses = []

@classmethod
def set_responses(cls, responses): # 需要是逆序的
cls._responses = responses

def fetch_impl(self, request, callback):
response = self._responses.pop()
response.request = request
callback(response)
```

如果能控制对象的生成过程,那就不需要写成类方法了。
2016-04-12 13:22:30 +08:00
回复了 eightqueen 创建的主题 Python python 的 cgi 程序没法用 ab 来做性能测试
最简单的做法是在最后一行加上 client.close(),子进程中只是把它这个 socket 的拷贝给 close 了,但因为父进程中还存在,所以不会关闭。
2016-04-06 14:21:36 +08:00
回复了 ivito 创建的主题 MySQL Mysql 有索引的情况下依然几乎扫描全表
没有 where 条件
2016-03-14 14:09:16 +08:00
回复了 JJaicmkmy 创建的主题 机械键盘 WASD Keyboard 开箱体验
@leejanfin 我到手后很喜欢这磨砂质感的 PBT
2016-03-14 14:07:41 +08:00
回复了 hardyfish 创建的主题 宽带症候群 DO 超级不稳定啊
主要是正在开两会,忍几天就好了。
2016-03-14 14:00:54 +08:00
回复了 JJaicmkmy 创建的主题 机械键盘 WASD Keyboard 开箱体验
看了好多键盘,发现 PBT 键帽 + 侧刻 + 布局合理够用 + 外观好看的只有 Leopold FC750R …
WSAD 和 Filco 都是因为 ABS 键帽被我排除了…
2016-03-09 04:23:19 +08:00
回复了 yeeyeung 创建的主题 然而并没有 吐槽知乎的邮件系统
知乎的邮箱应该是 @zhihu.com 的,用的是 Gmail ,官网给的地址是 [email protected] ,你发的那个 163 邮箱不知道是什么鬼,不过我也没确认过…
2016-03-09 02:22:12 +08:00
回复了 tanteng 创建的主题 Redis 关于 Redis 队列的一道面试题
@hxsf 我觉得我已经说得够清楚了,你实际去做的话,就知道面试官为什么会这样问了…
2016-03-08 19:00:38 +08:00
回复了 tanteng 创建的主题 Redis 关于 Redis 队列的一道面试题
@hxsf 你的服务有 10 万并发时,第一个堵塞了,后面的都傻眼?
2016-03-08 17:37:50 +08:00
回复了 tanteng 创建的主题 Redis 关于 Redis 队列的一道面试题
其实是让你用 epoll 之类的注册事件,等到可读时再去读…
2016-03-06 14:08:03 +08:00
回复了 fourstring 创建的主题 Python Python3 有什么好的秒级定时执行方案?
2016-03-06 14:00:46 +08:00
回复了 fourstring 创建的主题 Python Python3 有什么好的秒级定时执行方案?
不用第三方库,代价最低的应该是用 signal 。
2016-02-26 13:22:13 +08:00
回复了 XiaST 创建的主题 Python 从哪里可以得到包含了 Python3 所支持的所有语法的测试用例?
@dong3580 无法重现这个问题… V2EX 好像没有私信功能,为了不打扰别人,麻烦去提个 issue 吧: https://github.com/keakon/Doodle/issues/new

如果用 Chrome 的话,可以尝试打开 Developer Tools - Network ,把 Disable cache 勾上。如果还是不行,把 Developer Tools - Resources - Local Storage - https://www.keakon.net 的内容截个图发上去吧。
1 ... 4  5  6  7  8  9  10  11  12  13 ... 51  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1946 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 16:16 · PVG 00:16 · LAX 09:16 · JFK 12:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.