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)
如何使用数据库查询回调设置变量值?我怎么能这样做?
我正在开发一个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.
那么在我的案例中如何处理这个问题呢?
我有这个代码:
String uuid = UUID.randomUUID().toString().replace("-", "");
Run Code Online (Sandbox Code Playgroud)
在生成的UUID中删除" - "有多安全?删除它会破坏它全局唯一的目的,并使生成的UUID容易发生冲突吗?
即使Apple没有参加Barcelone的MWC(移动世界大会),也有人认为获得deviceID将在其他iOS SDK中弃用.
我不明白Apple为什么要限制这个,但那不是主题.
我必须准备我的应用程序,因为我的用户已被识别并且知道更好地使用我的应用程序(例如,不需要登录或创建帐户).而且我确信在那种情况下我并不孤单.
所以有人知道获取deviceID的替代方案吗?是否有其他唯一标识符,例如MAC地址?你如何准备你的应用程序?
我正在开发一个应用程序,用户可以在其中发布图片.所以我想确保每次pic获得唯一名称.在PHP中,我用来将时间戳与userId连接起来.但是在node.js中我没有得到将时间戳转换为字符串的方法.所以请建议一种方法来确保我的文件不会出现重复的名称.
我有一个类需要写入文件以与一些传统的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) (在那之前,我为我糟糕的英语道歉)我有这样的研究案例:
我目前在使用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) tl; dr Python重用ID吗?两个具有非重叠生命期的对象获得相同ID的可能性有多大?
背景:
我一直在研究一个复杂的项目,纯粹用Python 3编写.我一直在看测试中的一些问题,并花了很多时间寻找根本原因.经过一些分析后,我怀疑当测试作为一个整体运行时(它由一个专门的调度程序编排并运行),它会重用一些模拟方法,而不是用原始方法实现新对象.检查翻译是否重复使用我id().
问题:
id()通常可以工作并显示对象标识符,并让我告诉我的调用何时创建新实例而不重用.但是如果两个对象相同的话,会发生什么?文件说:
返回对象的"标识".这是一个整数,在该生命周期内保证该对象是唯一且恒定的.具有非重叠寿命的两个对象可以具有相同的
id()值.
问题:
解释器id()什么时候可以重用值?是在它随机选择相同的内存区域时吗?如果它只是随机的,似乎极不可能,但它仍然无法保证.
有没有其他方法来检查我实际引用的对象是什么?我遇到了一个我有对象的情况,它有一个模拟的方法.该对象不再使用,垃圾收集器将其销毁.我创建相同类的新对象后,就得到了一个新的id(),但该方法得到了相同的ID,当它被嘲笑为,它实际上是只是一个模拟.
有没有办法强制Python销毁给定的对象实例?从阅读中我看来没有,并且当它看不到对象的引用时它取决于垃圾收集器,但我认为无论如何都值得问.
我正在使用 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 …
uuid ×3
ios ×2
java ×2
node.js ×2
codeigniter ×1
database ×1
duplicates ×1
express ×1
guid ×1
hibernate ×1
identifier ×1
iphone ×1
javascript ×1
jpa ×1
mariadb ×1
memory ×1
objective-c ×1
python ×1
python-3.x ×1
scala ×1
spring ×1
unit-testing ×1
validation ×1