小编Hor*_*Fat的帖子

战略/模式,以防止GAE/memcache上的更新/竞争条件丢失

例:

  1. 进程A - 从memcache获取最新版本的实体
  2. 进程B - 从memcache获取实体的最新版本
  3. 进程A - 对在(1)中检索的实体进行一些更新,然后puts在db/memcache中进行更新
  4. 进程B - 对在(2)中检索的实体进行一些更新,然后puts在db/memcache中进行更新

更新3.丢失.

可以使用什么策略/模式来防止这种情况?

python concurrency google-app-engine google-cloud-datastore

5
推荐指数
1
解决办法
477
查看次数

在 Gmail 上从 GAE dev_appserver 发送邮件时 SMTPSenderRefused

这是我的电子邮件相关 dev_appserver 选项:

--smtp_host=smtp.gmail.com --smtp_port=25 --smtp_user=me@mydomain.com --smtp_password="password"

现在,这仍然不起作用,每次 Google 发布新的 dev_appserver 时,我都必须编辑 api/mail_stub.py 以使事情按照此S/O answer在本地工作。

但是,即使是这种解决方法现在也已停止工作。我收到以下异常:

SMTPSenderRefused: (555, '5.5.2 Syntax error. mw9sm14633203wib.0 - gsmtp', <email.header.Header instance at 0x10c9c9248>)

有没有比我更聪明的人知道如何解决它?

更新 我能够通过使用电子邮件地址(例如发件人和收件人)以简单字符串 ( name@domain.com)的“普通”格式而不是使用尖括号样式 ( Name <name@domain.com>)来在 dev_appserver 上发送电子邮件。这在生产中不是问题:收件人和发件人电子邮件地址可以在mail.send_mail呼叫中使用尖括号。我提出了关于 dev_appserver 和生产之间这种不同行为的票:https : //code.google.com/p/googleappengine/issues/detail? id = 10211 & thanks = 10211 & ts = 1383140754

google-app-engine

5
推荐指数
1
解决办法
1211
查看次数

为什么包含 &lt;!DOCTYPE html&gt; 后 html 布局会发生变化?

没有<!DOCTYPE html>以下 html:

<style>
input { width: 400px; }
span { width: 160px; display: inline-block; }
div { width: 560px; }
</style>
<div>
    <span>Slug</span><input type=text placeholder="enter-article-slug-here">
</div>
Run Code Online (Sandbox Code Playgroud)

在 Chrome 和 FF 中渲染如下:

没有文档类型

但是当包含该行时<!DOCTYPE html>,html 呈现如下:

带文档类型

为什么是这样?

html css

5
推荐指数
1
解决办法
428
查看次数

GAE应用程序是否记录了它发送的电子邮件?

想知道是否可以看到GAE应用程序发送的电子邮件历史记录?需要查看历史记录以进行调试.

请注意,当我发送电子邮件或bcc用户时,记录不是这个特定问题的选项,因为我好奇的时期是过去(从那时起我们就是bcc'ing).

python google-app-engine

4
推荐指数
1
解决办法
87
查看次数

Python如何比我的硬盘更快地读取此文件?

Python如何能够比我的硬盘驱动器(Mac Mini运动SSD)的理论最大速度更快地读取文件?bigfile是完全随机数据的3.22 GB文件,根据QuickBench的硬盘读取速度<500 MB/s.

t0 = time.perf_counter()
f = open('/Volumes/V/bigfile', 'rb')
checksum = 1
bites = f.read(1048576)
while bites:
    checksum = zlib.adler32(bites, checksum)
    bites = f.read(1048576)

print('Checksum: %s, Time taken: %s' % (checksum, time.perf_counter() - t0))
Run Code Online (Sandbox Code Playgroud)

打印:校验和:520807048,拍摄时间:0.8804108270001052

这是不可能的!我错过了什么?

python macos file-io

2
推荐指数
1
解决办法
281
查看次数

最优雅的方法,用另一个字符串中的单个字符初始化字符串

是否有更优雅的方法使用第一个字符串中的单个字符串初始化第二个字符串?例如.没有求助于字符串(size_t n,char c)构造函数?

string first = "foobar";
string second(string(1, first[0]));
Run Code Online (Sandbox Code Playgroud)

c++ string char

1
推荐指数
2
解决办法
1898
查看次数

在不更改代码的情况下将C++输出流重定向到VS 2010中的文件?

在命令提示符下,我可能编译我的程序,然后运行如下:

myprogram > output.txt
Run Code Online (Sandbox Code Playgroud)

是否有类似的方法在VS2010中重定向输出流?我想在IDE中调试/运行我的程序,但有cout流到文件.

windows stream visual-studio-2010 visual-studio visual-c++

1
推荐指数
1
解决办法
339
查看次数