相关疑难解决方法(0)

GUID是100%独一无二的吗?

GUID是100%独一无二的吗?

它会在多个线程中保持独特吗?

language-agnostic guid

490
推荐指数
15
解决办法
16万
查看次数

如何使用node.js生成唯一ID

function generate(count) {
    var founded = false,
        _sym = 'abcdefghijklmnopqrstuvwxyz1234567890',
        str = '';
    while(!founded) {
        for(var i = 0; i < count; i++) {
            str += _sym[parseInt(Math.random() * (_sym.length))];
        }
        base.getID(string, function(err, res) {
            if(!res.length) {
                founded = true; // How to do it?
            }
        });
    }
    return str;
}
Run Code Online (Sandbox Code Playgroud)

如何使用数据库查询回调设置变量值?我怎么能这样做?

javascript node.js express

135
推荐指数
12
解决办法
16万
查看次数

如何在设备上卸载ios app后保留ios中的identifierForVendor?

我正在开发一个iOS应用程序,它调用web服务进行登录,然后我将登录凭据与供应商标识符(identifierForVendor)一起发送到Web服务器,以便为这些凭证唯一地标识设备.因此用户只能拥有一个设备和一个凭证.

我有了identifierForVendor

NSString *uuid = [[UIDevice currentDevice] identifierForVendor].UUIDString
Run Code Online (Sandbox Code Playgroud)

然后该标识符将存储在Web服务器的数据库中以及设备数据库中.当用户打开应用程序并尝试从Web服务器下载数据时,用户设备上的本地identifierForVendor将与存储在Web服务器上的标识符进行比较.

用户卸载应用程序并重新安装时出现问题,我发现identifierForVendor已更改.因此用户无法继续前进.

我阅读了苹果文档UIDevice Documentation

如前所述,如果来自同一供应商的所有应用程序都从设备卸载,则在从该供应商新安装任何应用程序时将采用新的identifierForVendor.

那么在我的案例中如何处理这个问题呢?

uuid identifier uniqueidentifier ios

66
推荐指数
4
解决办法
5万
查看次数

在随机生成的UUID中删除" - "有多安全?

我有这个代码:

String uuid = UUID.randomUUID().toString().replace("-", "");
Run Code Online (Sandbox Code Playgroud)

在生成的UUID中删除" - "有多安全?删除它会破坏它全局唯一的目的,并使生成的UUID容易发生冲突吗?

java uuid

64
推荐指数
5
解决办法
6888
查看次数

iPhone设备ID(UDID)的替代方案

可能重复:
UIDevice uniqueIdentifier已弃用 - 现在该怎么办?

即使Apple没有参加Barcelone的MWC(移动世界大会),也有人认为获得deviceID将在其他iOS SDK中弃用.

我不明白Apple为什么要限制这个,但那不是主题.

我必须准备我的应用程序,因为我的用户已被识别并且知道更好地使用我的应用程序(例如,不需要登录或创建帐户).而且我确信在那种情况下我并不孤单.

所以有人知道获取deviceID的替代方案吗?是否有其他唯一标识符,例如MAC地址?你如何准备你的应用程序?

iphone validation objective-c uniqueidentifier ios

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

在上传文件时为文件指定唯一名称

我正在开发一个应用程序,用户可以在其中发布图片.所以我想确保每次pic获得唯一名称.在PHP中,我用来将时间戳与userId连接起来.但是在node.js中我没有得到将时间戳转换为字符串的方法.所以请建议一种方法来确保我的文件不会出现重复的名称.

node.js

11
推荐指数
3
解决办法
9555
查看次数

如何在Scala中为类实例生成唯一ID?

我有一个类需要写入文件以与一些传统的C++应用程序进行交互.由于它将以并发方式多次实例化,因此最好为文件指定一个唯一的名称.

我可以使用System.currentTimemili或hashcode,但是存在冲突的可能性.另一种解决方案是将一个var字段放在一个伴随对象中.

作为一个例子,下面的代码显示了一个具有最后一个解决方案的类,但我不确定它是最好的方法(至少看起来是线程安全的):

case class Test(id:Int, data: Seq[Double]) {
    //several methods writing files...
}

object Test {
  var counter = 0

  def new_Test(data: Seq[Double]) = {
    counter += 1
    new Test(counter, data)
  }
}
Run Code Online (Sandbox Code Playgroud)

scala

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

如何防止MariaDB中导入的表中的重复ID?

(在那之前,我为我糟糕的英语道歉)我有这样的研究案例:

我目前在使用Web应用程序时出现问题.我为某个公司制作了一个Web应用程序.我使用CodeIgniter 3制作了应用程序.

我使用Maria DB构建了数据库.对于每个表中的id,我使用每个表的应用程序数据库的自动增量ID.我通常将Web应用程序部署到云服务器(有时公司有自己的专用服务器,但有时却没有).有一天,有一家公司,他们不想将我之前制作的应用程序部署到云端(出于安全目的,他们说).

该公司希望将该应用程序部署到员工的个人电脑上,而每个员工的电脑不相互连接(即独立的个人电脑/个人电脑/员工的笔记本电脑).他们说,他们会每5个月将员工个人电脑的所有数据收集到公司的数据中心,当然数据中心也没有连接到互联网.我告诉他们这不是存储数据的好方法.(因为当我尝试将所有数据合并为一个数据时,数据将重复,因为我的每个表的列ID都是自动增量ID,并且它是主键).不幸的是,该公司仍然希望以这种方式保留应用程序,我不知道如何解决这个问题.

他们至少有10名员工会使用这个网络应用程序.据此,我必须亲自将应用程序部署到10台PC上.

附加信息:每个员工都有自己从公司获得的唯一ID,我为每个员工创建了auto_increment id,如下表所示:

id   |  employee_id  | employee_name   |
1    | 156901010     |  emp1
2    | 156901039     |  emp2
3    | 156901019     |  emp3
4    | 156901015     |  emp4
5    | 156901009     |  emp5
6    | 156901038     |  emp6
Run Code Online (Sandbox Code Playgroud)

问题是每当他们从该应用程序填充表单时,某些表不存储员工的id,而是存储来自增量id的新id.

例如electronic_parts表格.它们具有如下属性:

| id  |  electronic_part_name  |  kind_of_electronic_part_id  |
Run Code Online (Sandbox Code Playgroud)

如果emp1从Web应用程序填写表单,表格的内容将在下面.

| id  |  electronic_part_name  |  kind_of_electronic_part_id  |
|  1  |   switch               |           1 …
Run Code Online (Sandbox Code Playgroud)

database codeigniter duplicates auto-increment mariadb

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

Python的id()有多独特?

tl; dr Python重用ID吗?两个具有非重叠生命期的对象获得相同ID的可能性有多大?

背景: 我一直在研究一个复杂的项目,纯粹用Python 3编写.我一直在看测试中的一些问题,并花了很多时间寻找根本原因.经过一些分析后,我怀疑当测试作为一个整体运行时(它由一个专门的调度程序编排并运行),它会重用一些模拟方法,而不是用原始方法实现新对象.检查翻译是否重复使用我id().

问题: id()通常可以工作并显示对象标识符,并让我告诉我的调用何时创建新实例而不重用.但是如果两个对象相同的话,会发生什么?文件说:

返回对象的"标识".这是一个整数,在该生命周期内保证该对象是唯一且恒定的.具有非重叠寿命的两个对象可以具有相同的id()值.

问题:

  1. 解释器id()什么时候可以重用值?是在它随机选择相同的内存区域时吗?如果它只是随机的,似乎极不可能,但它仍然无法保证.

  2. 有没有其他方法来检查我实际引用的对象是什么?我遇到了一个我有对象的情况,它有一个模拟的方法.该对象不再使用,垃圾收集器将其销毁.我创建相同类的新对象后,就得到了一个新的id(),但该方法得到了相同的ID,当它被嘲笑为,它实际上只是一个模拟.

  3. 有没有办法强制Python销毁给定的对象实例?从阅读中我看来没有,并且当它看不到对象的引用时它取决于垃圾收集器,但我认为无论如何都值得问.

python memory unit-testing python-3.x

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

在 Spring MVC + Hibernate 中自动生成唯一的随机字符串

背景

我正在使用 Spring MVC (Framework v4.0.6.RELEASE, JPA v1.6.2.RELEASE) 和 Hibernate (Core v4.3.6.FINAL, JPA API v2.1) 编写一个项目。在我的项目中,有名为“项目”的实体。这些项目中的每一个都有其唯一的、自动生成的 ID 作为主键。此 ID 由以下代码生成:

@Id
@Column(name = "project_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long projectId;
Run Code Online (Sandbox Code Playgroud)

此代码按预期工作并自动创建唯一 ID。

问题

这些项目中的每一个都应该有一个随机的、唯一的1 'secret' String,就像 Facebook、Twitter 等 API 提供商分配的那样。因此,为了实现这一点,我尝试使用以下代码,根据 Hibernate 文档:

@Column(name = "project_secret", nullable = false, unique = true)
@GenericGenerator(name = "uuid-gen", strategy = "uuid")
@GeneratedValue(generator = "uuid-gen")
private String projectSecret;
Run Code Online (Sandbox Code Playgroud)

但是,每当我尝试创建一个新的项目实体时,都会遇到一个org.springframework.dao.DataIntegrityViolationException根本原因:

@Id
@Column(name = "project_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long projectId;
Run Code Online (Sandbox Code Playgroud)

这应该由 Hibernate …

java uuid spring hibernate jpa

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