我正在阅读有关接收邮件的教程.我按照说明更新了app.yaml文件:
application: hello-1-world
version: 1
runtime: python
api_version: 1
handlers:
- url: /favicon.ico
static_files: static/images/favicon.ico
upload: static/images/favicon.ico
- url: /_ah/mail/.+
script: handle_incoming_email.py
login: admin
- url: /.*
script: hw.py
inbound_services:
- mail
Run Code Online (Sandbox Code Playgroud)
并创造了一个 handle_incoming_email.py
import cgi
import os
import logging
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from google.appengine.api import mail
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
class ReceiveEmail(InboundMailHandler):
def receive(self,message):
logging.info("Received email from %s" % message.sender)
plaintext = message.bodies(content_type='text/plain')
for …Run Code Online (Sandbox Code Playgroud) 我只是想知道在团队中工作的人如何管理后端的逻辑和验证之间的关系,例如在php中,以及前端完全相同的逻辑和验证,例如在JavaScript中?
理想情况下,最后的说法应该由后端给出,但为了使应用程序更易于访问,最好使用JavaScript在前端尽可能多地模仿.我显然试图最大限度地减少代码重复,随着项目变得越来越大,我发现管理前端内容如何从后端的东西"复制"变得更加困难.危险在于,由于它们没有紧密耦合,有时前端验证可能与后端"不同步" - 特别是当有一个流氓JavaScript开发人员认为他们有更好的方法进行某些验证时!
有没有人有任何见解?
编辑
更简洁一点,我的问题实际上是关于人员团队在逻辑重复方面如何管理"papertrail"(或者前端如何按照Fanis的建议访问后端),而不是实际的实现.例如,您是否在后端代码中留下了"前端复制/访问此位"的注释,或者是否有更"专业"的方式来跟踪正在执行的操作?
我目前正在使用Hadoop 0.21.0、985326和由6个工作节点和一个头节点组成的集群的项目中工作。提交常规mapreduce作业失败,但是我不知道为什么。有人见过这种例外吗?
org.apache.hadoop.mapred.Child: Exception running child : java.io.IOException: Spill failed
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.checkSpillException(MapTask.java:1379)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.access$200(MapTask.java:711)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer$Buffer.write(MapTask.java:1193)
at java.io.DataOutputStream.write(DataOutputStream.java:90)
at org.apache.hadoop.io.Text.write(Text.java:290)
at org.apache.hadoop.io.serializer.WritableSerialization$WritableSerializer.serialize(WritableSerialization.java:100)
at org.apache.hadoop.io.serializer.WritableSerialization$WritableSerializer.serialize(WritableSerialization.java:84)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.collect(MapTask.java:967)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.write(MapTask.java:583)
at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:92)
at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:111)
at be.ac.ua.comp.ronny.riki.invertedindex.FilteredInvertedIndexBuilder$Map.map(FilteredInvertedIndexBuilder.java:113)
at be.ac.ua.comp.ronny.riki.invertedindex.FilteredInvertedIndexBuilder$Map.map(FilteredInvertedIndexBuilder.java:1)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:652)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:328)
at org.apache.hadoop.mapred.Child$4.run(Child.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:742)
at org.apache.hadoop.mapred.Child.main(Child.java:211)
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: org.apache.hadoop.io.ArrayWritable.<init>()
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:123)
at org.apache.hadoop.io.serializer.WritableSerialization$WritableDeserializer.deserialize(WritableSerialization.java:68)
at org.apache.hadoop.io.serializer.WritableSerialization$WritableDeserializer.deserialize(WritableSerialization.java:44)
at org.apache.hadoop.mapreduce.task.ReduceContextImpl.nextKeyValue(ReduceContextImpl.java:145)
at org.apache.hadoop.mapreduce.task.ReduceContextImpl.nextKey(ReduceContextImpl.java:121)
at org.apache.hadoop.mapreduce.lib.reduce.WrappedReducer$Context.nextKey(WrappedReducer.java:291)
at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:168)
at org.apache.hadoop.mapred.Task$NewCombinerRunner.combine(Task.java:1432)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1457)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.access$600(MapTask.java:711)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer$SpillThread.run(MapTask.java:1349) …Run Code Online (Sandbox Code Playgroud) 给定最简单的HTTP服务器,如何在BaseHTTPRequestHandler中获取post变量?
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
class Handler(BaseHTTPRequestHandler):
def do_POST(self):
# post variables?!
server = HTTPServer(('', 4444), Handler)
server.serve_forever()
# test with:
# curl -d "param1=value1¶m2=value2" http://localhost:4444
Run Code Online (Sandbox Code Playgroud)
我只想能够获得param1和param2的值.谢谢!
我在安装SQL Server 2008 R2 Express时遇到问题.
在我的电脑上,我安装了VC#和VWebdev 2010 express.它包括SQL Server 2008 Express.
之后,我升级到了SQL Server 2008 R2 Express.
结果是我无法连接到本地服务器本身.因此,我卸载所有SQLServer产品并重新安装.然后在我的屏幕上弹出一条错误消息,粘贴在此问题的末尾.
我的电脑在Win7 x64上运行.SQL Server安装程序是64位版本.我的System.dll,我认为这个问题的根源,程序集是2.0.0.0版本.
错误消息:
System.Configuration.ConfigurationErrorsException:为userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings创建配置节处理程序时出错: 无法加载文件或程序集'System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一.该系统找不到指定的文件.(C:\ Users\BenZ\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\10.0.0.0\user.config第5行)---> System.IO.FileNotFoundException:无法加载文件或程序集'System,Version = 4.0 .0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一.该系统找不到指定的文件.文件名:System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory上的System.Configuration.TypeUtil.GetTypeWithReflectionPermission(IInternalConfigHost主机,String typeString,Boolean throwOnError)中的'System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'.
所以我仍然是C#的新手,并且使用接口,当我认为我理解它们时,我意识到我并不完全.我发现我在寻求一些澄清的困惑是,当你创建一个接口,并有一个继承自它的类
public Interface ISomeInterface
{
//some methods/properties
}
public class FooClass : ISomeInterface
{
//implemented ISomeInterfaces methods/properties
}
Run Code Online (Sandbox Code Playgroud)
并且在程序中的某个实现中使用此类对象
public class BarClass
{
private ISomeInterface _someInterface;
public BarClass(ISomeInterface someInterface)
{
_someInterface = someInterface;
}
//rest of class
}
Run Code Online (Sandbox Code Playgroud)
我的困惑是为什么我这样设置它.我以为我会实例化一个FooClass类型的新对象,并在构造函数中使用类型为FooClass的对象:
public class BarClass
{
private FooClass _fooClass;
public BarClass(FooClass fooClass)
{
_fooClass = fooClass;
}
//rest of class
}
Run Code Online (Sandbox Code Playgroud)
理解这一点我错过了什么?我不认为我会直接声明接口的对象?
提前致谢.
Chrome中的输出:
<div id="content" contenteditable="true" style="border:1px solid #000;width:500px;height:40px;">
hey
<div>what's up?</div>
<div>
<button id="insert_caret"></button>
Run Code Online (Sandbox Code Playgroud)
我相信FF看起来像这样:
hey
<br />
what's up?
Run Code Online (Sandbox Code Playgroud)
在IE中:
hey
<p>what's up?</p>
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有很好的方法来制作它,以便每个浏览器插入一个<br />而不是div或p-tag,或者至少我在网上找不到任何东西.
无论如何,我现在要做的是,当我按下按钮时,我希望将插入符号设置在文本的末尾,所以它应该看起来像这样:
hey
what's up?|
Run Code Online (Sandbox Code Playgroud)
任何方式这样做,所以它适用于所有浏览器?
例:
$(document).ready(function()
{
$('#insert_caret').click(function()
{
var ele = $('#content');
var length = ele.html().length;
ele.focus();
//set caret -> end pos
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用两个UINavigationControllers的应用程序 - 一个用于菜单系统,另一个用于实际游戏.在我的appDelegate中声明了一个常见的UINavigationController.当应用加载时,它会加载菜单或游戏的UINavigationController.当然,玩家可以在两者之间导航.
从菜单到游戏时,我创建了一个新的UINavigationController,并按如下方式呈现:
GameViewController *rootController = [[GameViewController alloc] init];
UINavigationController *newNavController = [[UINavigationController alloc] initWithRootViewController:rootController];
[rootController release];
newNavController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:newNavController animated:YES];
[newNavController release];
Run Code Online (Sandbox Code Playgroud)
但是,我注意到当我这样做时,Menu的viewController从不调用dealloc.大概是因为仍然有人提到让它保持活力的东西.我发现当我明确地将App Delegate的UINavigationController设置为新的导航控制器时(在释放新的navController之前),它会释放菜单.我这样做如下:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.navController = newNavController;
[newNavController release];
Run Code Online (Sandbox Code Playgroud)
这是好习惯吗?我发现当从游戏导航回菜单时,同样的技巧似乎不起作用.即
MainMenuViewController *menuViewController = [[MainMenuViewController alloc] init];
UINavigationController *newNavController = [[UINavigationController alloc] initWithRootViewController:menuViewController];
[menuViewController release];
newNavController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:newNavController animated:YES];
//Setting the appDelegate's navController to the new navController allows the menu to dealloc.
//This must happen AFTER the newNavController …Run Code Online (Sandbox Code Playgroud) iphone delegates memory-management objective-c uinavigationcontroller
我很确定答案是"你不能使用模板,你必须使用虚函数(动态多态)",但似乎我必须复制很多代码,如果我去那条路线.这是设置:
我目前有两个类,ColorImageSegmentation和GrayscaleImageSegmentation.它们基本上是相同的,但有三个不同 - 它们在不同的类型(ColorImage和GrayscaleImage)上运行 - 一个参数,直方图的维度(3对1)是不同的 - PixelDifference函数根据图像类型而不同
如果我创建一个类
template <TImageType>
class ImageSegmentation
{
};
Run Code Online (Sandbox Code Playgroud)
我会很好的.但是,我希望将此对象作为另一个类的成员:
class MyMainClass
{
ImageSegmentation MyImageSegmentation;
};
Run Code Online (Sandbox Code Playgroud)
但是用户需要确定类型MyImageSegmentation(如果用户打开灰度图像,我想实例化MyImageSegmentation<GrayScaleType>.同样对于彩色图像,MyImageSegmentation<ColorType>.)
使用派生类,我可以存储指针,然后执行:
class MyMainClass
{
ImageSegmentation* MyImageSegmentation;
};
... user does something...
MyImageSegmentation = new ColorImageSegmentation;
Run Code Online (Sandbox Code Playgroud)
但是我怎么用模板做这样的事呢?问题是我有很多:
typedef TImageType::HistogramType HistogramType;
typedef TImageType::PixelType PixelType;
Run Code Online (Sandbox Code Playgroud)
发生了一些事情,所以我不知道如何将它们转换为动态多态模型而不重复一大堆代码.
对不起,漫无目的...有人对我有什么建议吗?
谢谢,
大卫
嘿那里,我在模拟器中尝试多任务(我只有第二代iPod和iPad),我仍然遇到一些问题.我的测试方法如下:
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"Entering %s",__FUNCTION__);
if (enteredFromBackground) {
NSLog(@"Entering from Background");
enteredFromBackground = NO;
}
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"Entering %s",__FUNCTION__);
enteredFromBackground = YES;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有从applicationWillEnterForeground看到NSLog,这就是为什么我在applicationDidBecomeActive中添加该行来向我展示一些东西.我得到的只是
2010-11-20 15:58:12.796 iBeat[45997:207] Entering -[AppDelegate_Shared applicationDidEnterBackground:]
2010-11-20 15:58:18.160 iBeat[45997:207] Entering -[AppDelegate_Shared applicationDidBecomeActive:]
Run Code Online (Sandbox Code Playgroud) iphone ×2
javascript ×2
objective-c ×2
python ×2
c# ×1
c++ ×1
caret ×1
cocoa-touch ×1
delegates ×1
email ×1
hadoop ×1
html ×1
http ×1
installation ×1
interface ×1
mapreduce ×1
php ×1
polymorphism ×1
post ×1
reduce ×1
templates ×1
validation ×1