我的Rails应用程序需要为用户生成电子优惠券.每张优惠券都应该有一个独特的优惠券代码,可以在我们的系统上兑换.
例如,免费墨西哥卷饼的优惠券.User A收到免费墨西哥卷饼User B的优惠券,然后收到免费墨西哥卷饼的优惠券.2张优惠券应该有唯一的优惠券代码.
生成像这样不易伪造的代码的最佳方法是什么?我不希望用户输入随机数和兑换其他人优惠券的成功率很高.
我想这就像背面有一个唯一编号的礼品卡就是我要找的东西.
我在单机,仅限本地的设置中运行hadoop,我正在寻找一种在eclipse中调试映射器和减速器的一种不错的,无痛的方法. Eclipse运行mapreduce任务没有问题.但是,当我去调试时,它给了我这个错误:
12/03/28 14:03:23 WARN mapred.JobClient:没有工作jar文件集.可能找不到用户类.请参阅JobConf(Class)或JobConf#setJar(String).
好的,我做了一些研究.显然,我应该使用eclipse的远程调试工具,并将其添加到我的hadoop-env.sh:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5000
Run Code Online (Sandbox Code Playgroud)
我这样做,我可以在eclipse中逐步完成我的代码.唯一的问题是,由于"suspend = y",我无法使用命令行中的"hadoop"命令来执行查看作业队列等操作; 它挂起,我想象,因为它正在等待调试器附加.此外,当我处于这种模式时,我无法运行"hbase shell",可能是出于同样的原因.
所以基本上,如果我想在"调试模式"和"正常模式"之间来回切换,我需要更新hadoop-env.sh并重新启动我的机器.主要的痛苦.所以我有几个问题:
有没有更简单的方法在eclipse中调试mapreduce作业?
为什么eclipse可以很好地运行我的mapreduce作业,但是对于调试我需要使用远程调试?
有没有办法告诉hadoop使用远程调试mapreduce作业,但是在正常模式下操作所有其他任务?(例如"hadoop queue"或"hbase shell").
是否有更简单的方法来切换hadoop-env.sh配置而无需重新启动我的机器?hadoop-env.sh默认情况下不可执行.
这是一个更普遍的问题:当我在仅本地模式下运行hadoop时究竟发生了什么?我的机器上是否有任何"始终打开"并执行hadoop作业的进程?或者,当我从命令行运行"hadoop"命令时,hadoop只执行操作吗?当我从eclipse运行mapreduce工作时,eclipse正在做什么?我必须hadoop-core在我的引用pom.xml中使我的项目工作.eclipse是否将作业提交到我已安装的hadoop实例,还是以某种方式从hadoop-core-1.0.0.jar我的maven缓存中运行它?
这是我的主要课程:
public class Main {
public static void main(String[] args) throws Exception {
Job job = new Job();
job.setJarByClass(Main.class);
job.setJobName("FirstStage");
FileInputFormat.addInputPath(job, new Path("/home/sangfroid/project/in"));
FileOutputFormat.setOutputPath(job, new Path("/home/sangfroid/project/out"));
job.setMapperClass(FirstStageMapper.class);
job.setReducerClass(FirstStageReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个基于Java的Web应用程序,它接收包含用户名和密码的Web表单的内容,并使用kerberos对基于Windows的域进行身份验证.
显然,KDC地址配置为在每次查找时映射到不同的IP地址,这可以通过命令行中的ping命令来确认.
对于大多数请求,呼叫立即响应,但间歇性响应缓慢(5-10秒甚至更长).我认为这可能是由于使用了哪个域控制器.
我试图打开kerberos日志记录但是没有显示域控制器的IP地址.如何打开更详细的日志记录来尝试识别狡猾的域控制器?
代码提取从文件系统中获取kerb.conf和kerb_context.conf.
kerb.conf是:
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
CYMRU.NHS.UK = {
kdc = example.com:88
admin_server = example.com
kpasswd_server = example.com
}
Run Code Online (Sandbox Code Playgroud)
kerb_context.conf是:
primaryLoginContext {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=false
refreshKrb5Config=true
debug=true;
};
Run Code Online (Sandbox Code Playgroud)
示例来源是:
static NadexUser executePerformLogin(String username, String password) throws LoginException {
char[] passwd = password.toCharArray();
String kerbConf = ERXFileUtilities.pathForResourceNamed("nadex/kerb.conf", "RSCorp", null);
String kerbContextConf = ERXFileUtilities.pathURLForResourceNamed("nadex/kerb_context.conf", "RSCorp", null).toExternalForm();
System.setProperty("java.security.krb5.conf", kerbConf);
System.setProperty("java.security.auth.login.config", kerbContextConf);
try {
LoginContext lc = new LoginContext("primaryLoginContext", new UserNamePasswordCallbackHandler(username, password));
lc.login();
return new _NadexUser(lc.getSubject());
}
catch (javax.security.auth.login.LoginException …Run Code Online (Sandbox Code Playgroud) 我正在尝试让我的项目提交 - 但我遇到了错误.
我正在查看同步透视图,并不理解所有文件图标的含义.有人能给我一个很好的参考,告诉我每个图标的含义是什么吗?
如:
我正在测试我的应用程序使用Push Notifs.它整天运作良好,突然停了下来.设置完全没有变化.经过多次调试后,我发现该函数didRegisterForRemoteNotificationsWithDeviceToken不再被调用.我在这个函数上设置了一个断点,当应用程序启动时,它根本没有被调用,或者我重新安装了应用程序.如果我想允许push notifs,我会得到动作表,但之后从未调用过委托.
settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings!)
UIApplication.sharedApplication().registerForRemoteNotifications()
Run Code Online (Sandbox Code Playgroud) 我正在使用mapkit.我希望地图缩放以显示用户的位置和注释点,而不是仅缩放到用户的当前位置.
目前我有:
let annotation = MKPointAnnotation()
annotation.coordinate = CLLocationCoordinate2DMake(mapLat, mapLon)
annotation.title = mapTitle
self.map.addAnnotation(annotation)
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let userLoction: CLLocation = locations[0]
let latitude = userLoction.coordinate.latitude
let longitude = userLoction.coordinate.longitude
let latDelta: CLLocationDegrees = 0.05
let lonDelta: CLLocationDegrees = 0.05
let span:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, lonDelta)
let location: CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude)
let region: MKCoordinateRegion = MKCoordinateRegionMake(location, span)
self.map.setRegion(region, animated: true)
self.map.showsUserLocation = true
}
Run Code Online (Sandbox Code Playgroud)
它只是缩放到用户的位置,它被锁定在该位置.当我尝试滚动时,它会直接跳回用户的位置.我究竟做错了什么?如何让用户在不跳回当前位置的情况下缩放或移动地图?
我正在尝试放大以在同一视图上显示注释和用户的位置.即使注释很远,我也希望它能够缩放以显示用户和注释.
我需要创建一个java程序,它将创建线程来搜索特定文件夹(源文件夹)中的文件,并在源文件夹中找到该文件后立即选择该文件进行处理工作(将其转换为csv文件格式).我现在面临的问题是来源文件夹的文件是大尺寸(FTP工具用于将文件从服务器复制到源文件夹),线程在完全复制到源文件夹并抛出异常之前立即挑选该文件.如何在文件完全复制到源文件夹之前停止线程?只有在将文件完全复制到源文件夹后,才必须选择要处理的文件.
我想制作一个类似Facebook的iOS应用程序,当用户点击它时,它会从时间轴全屏显示.
更新:
我正在使用UICollectionView在单元格中显示图像,所以我似乎应该使用collectionView:didSelectItemAtIndexPath:方法?并且imageView在单元格中,所以我还能直接扩展到全屏吗?
附上几张图片:


是否可以在 Ruby 中连接两个正则表达式变量?
r1 = /my_str/
r2 = /my_str1/
r3 = r1+r2
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供任何建议吗?