小编Bob*_*ore的帖子

生成独特的,难以猜测的"优惠券"代码

我的Rails应用程序需要为用户生成电子优惠券.每张优惠券都应该有一个独特的优惠券代码,可以在我们的系统上兑换.

例如,免费墨西哥卷饼的优惠券.User A收到免费墨西哥卷饼User B的优惠券,然后收到免费墨西哥卷饼的优惠券.2张优惠券应该有唯一的优惠券代码.

生成像这样不易伪造的代码的最佳方法是什么?我不希望用户输入随机数和兑换其他人优惠券的成功率很高.

我想这就像背面有一个唯一编号的礼品卡就是我要找的东西.

ruby algorithm ruby-on-rails uniqueidentifier

17
推荐指数
3
解决办法
1万
查看次数

如何从eclipse调试hadoop mapreduce作业?

我在单机,仅限本地的设置中运行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并重新启动我的机器.主要的痛苦.所以我有几个问题:

  1. 有没有更简单的方法在eclipse中调试mapreduce作业?

  2. 为什么eclipse可以很好地运行我的mapreduce作业,但是对于调试我需要使用远程调试?

  3. 有没有办法告诉hadoop使用远程调试mapreduce作业,但是在正常模式下操作所有其他任务?(例如"hadoop queue""hbase shell").

  4. 是否有更简单的方法来切换hadoop-env.sh配置而无需重新启动我的机器?hadoop-env.sh默认情况下不可执行.

  5. 这是一个更普遍的问题:当我在仅本地模式下运行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 eclipse debugging hadoop remote-debugging

15
推荐指数
3
解决办法
2万
查看次数

在java中启用kerberos的详细日志记录

我有一个基于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)

logging kerberos

14
推荐指数
2
解决办法
2万
查看次数

需要帮助理解Eclipse中的Git图标

我正在尝试让我的项目提交 - 但我遇到了错误.

我正在查看同步透视图,并不理解所有文件图标的含义.有人能给我一个很好的参考,告诉我每个图标的含义是什么吗?

如:

  • 指向左边的蓝色箭头
  • 双红箭头
  • 在红场的白色X.
  • 白色+超过双红色箭头
  • 指向左边的蓝色箭头与对此的一个白色破折号
  • 感叹号
  • 指向右边的灰色箭头
  • 指向右边的灰色箭头与白色+标志
  • 有白色星号的灰色箱子对此.

eclipse git

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

didRegisterForRemoteNotificationsWithDeviceToken停止被调用

我正在测试我的应用程序使用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)

push-notification swift

12
推荐指数
0
解决办法
506
查看次数

使地图缩放到用户位置和注释(swift 2)

我正在使用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)

它只是缩放到用户的位置,它被锁定在该位置.当我尝试滚动时,它会直接跳回用户的位置.我究竟做错了什么?如何让用户在不跳回当前位置的情况下缩放或移动地图?

我正在尝试放大以在同一视图上显示注释和用户的位置.即使注释很远,我也希望它能够缩放以显示用户和注释.

annotations mapkit ios swift

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

使用git commit -m时出现问题

运行时git commit -m "Commit message"它返回错误消息:

致命的:不允许使用空标识名(for((null)))

然后询问帐户的默认身份.

有关详细信息,请参阅命令提示截屏.

git

9
推荐指数
2
解决办法
2万
查看次数

如何处理不完整的文件?获得例外

我需要创建一个java程序,它将创建线程来搜索特定文件夹(源文件夹)中的文件,并在源文件夹中找到该文件后立即选择该文件进行处理工作(将其转换为csv文件格式).我现在面临的问题是来源文件夹的文件是大尺寸(FTP工具用于将文件从服务器复制到源文件夹),线程在完全复制到源文件夹并抛出异常之前立即挑选该文件.如何在文件完全复制到源文件夹之前停止线程?只有在将文件完全复制到源文件夹后,才必须选择要处理的文件.

java ftp file-io multithreading

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

触摸后如何将图像扩展为全屏?

我想制作一个类似Facebook的iOS应用程序,当用户点击它时,它会从时间轴全屏显示.

更新:

我正在使用UICollectionView在单元格中显示图像,所以我似乎应该使用collectionView:didSelectItemAtIndexPath:方法?并且imageView在单元格中,所以我还能直接扩展到全屏吗?

附上几张图片:

在此输入图像描述

在此输入图像描述

uiimage ios

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

是否可以连接两个正则表达式变量?

是否可以在 Ruby 中连接两个正则表达式变量?

r1 = /my_str/
r2 = /my_str1/
r3 = r1+r2
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供任何建议吗?

ruby regex

8
推荐指数
3
解决办法
4171
查看次数