uuid

UUID.randomUUID()生成唯一识别码

一曲冷凌霜 提交于 2019-12-01 02:17:25
1、UUID 的概念 UUID(Universally Unique Identifier):通用唯一识别码,是一种软件建构的标准。 UUID 目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。 2、UUID的组成 UUID由以下几部分组合: (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。 (2)时钟序列。 (3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。 UUID的唯一缺陷在于生成的结果串会比较长。 标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)。 ———————————————— 3、UUID.randomUUID()使用 直接生成的ID中有“-”存在,如果不需要,可以使用replace()方法去掉。 import java.util.UUID; public class UUIDTest {   public static void main(String[] args) {     String uId = UUID.randomUUID()

推广项目新架构新增清洗历史数据

前提是你 提交于 2019-12-01 02:02:04
1、背景: 数据在使用的过程中会慢慢衰减,原因是数据使用频繁会被冻结一段时间和其他一些造成数据某个时间点不可用的未知因素,基于这中现象有必要设计清洗历史数据。我们当前原始清洗过程只是负责获取基本信息,因为历史数据的清洗会出现获取基本信息后不能做任务,所以我的设计将清洗历史数据分成初次清洗和二次清洗两个阶段。初次清洗是获取基本信息,二次清洗是再从中提取出可以做任务的数据。 2、设计逻辑:   历史数据按每个月分三部分备份,例如:his_clean_t2018111,his_clean_t2018112,his_clean_t2018113 历史数据初次清洗是将每部分历史数据数据按照关键字段去重后存储到old_clean_t,工程xx-ck-clean分发数据到工程xx-rbt-clean获取初次清洗结果后存储到临时表old_short_succ_t,临时表old_short_error_t,为了保证数据不重复分发将已经分发的数据存储到临时表old_short_run_t,最后将基本信息持久化到表old_used_t。 历史数据二次清洗是将表old_used_t的数据插入到表old_used_task_t,如果已经存在的有效数据是不需要二次清洗的,所以二次清洗前需要将表old_used_task_t存在已经有效的数据删除过滤。工程xx-ck-task分发数据到工程xx-rbt

idea+springboot+mybatis整合及注意

梦想与她 提交于 2019-12-01 00:13:56
1:首先pom.xml导入jdbc和mybatis和druid相关依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.31</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> 2:application.yml中加入 spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/database?useUnicode\=true&characterEncoding\=UTF-8 username: root password:

IntelliJ IDEA Spring Boot学习(4) 集成mybatis

无人久伴 提交于 2019-12-01 00:10:11
接下来我们学习spring boot 集成一个数据库框架 mybatis。 上一篇 点击打开链接 中讲到没有集成其它数据库框架,发现了一个小意外,这里注明一下。 @Override public String saveUser (SystemUser user) { final String sql = "insert into system_user(uuid,username,password,isRoot,registerDate,status) values(?,?,?,?,?,?)" ; user.setUuid(UUID. randomUUID ().toString().replace( "-" , "" )) ; jdbcTemplate .update( new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement (Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement( sql ) ; ps.setString( 1 , user .getUuid()) ; ps.setString( 2 , user

How to solve uuid in jasper report

坚强是说给别人听的谎言 提交于 2019-11-30 21:58:41
I have some jasper report files, which I make them in iReport 3.7.5 version. It worked before, but after i decided to use iReport 5.0.0 version and made some changes into it, then it had a problem. I checked what the problem was and it said this Attribute 'uuid' is not allowed to appear in element 'jasperReport' It made me confused because there're many attributes of uuid on my report files. I guess it was built while the old version transformed to a new ones. I tried to delete all of uuid components in xml design of report files, but it ruined both its format and design. So, what kind of

主键uuid

谁都会走 提交于 2019-11-30 21:41:36
UUID是一堆-分割的16进制的数字。 是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。 在UUID的算法中,可能会用到诸如网卡MAC地址,IP,主机名,进程ID等信息以保证其独立性。 通俗讲UUID就是可以让项目每条数据具有唯一标识。在java向数据库插入一条数据之前生成一个UUID码当主键,这样那条数据就具有了唯一标识,效果比ID主键自增长要好。 代码如下: String guid = UUID.randomUUID().toString().replaceAll("-", ""); UUID的生成类参考 在分布式的软件系统中(比如:DCE/RPC, COM+,CORBA)就能体现出来,它能保证每个节点所生成的标识都不会重复,并且随着WEB服务等整合技术的发展,UUID的优势将更加明显。根据使用的特定机制,UUID不仅需要保证是彼此不相同的,或者最少也是与公元3400年之前其他任何生成的通用唯一标识符有非常大的区别。UUID最少在3000+年内不会重复。 通用唯一标识符还可以用来指向大多数的可能的物体。微软和其他一些软件公司都倾向使用全球唯一标识符(GUID),这也是通用唯一标识符的一种类型,可用来指向组建对象模块对象和其他的软件组件。第一个通用唯一标识符是在网络计算机系统(NCS)中创建,并且随后成为开放软件基金会(OSF)的分布式计算环境(DCE

Manjaro Linux无备份迁移home目录

 ̄綄美尐妖づ 提交于 2019-11-30 21:26:32
前几天安装了最新的manjaro kde 18.10,速度刚开始非常快,后来几乎每次重启都会出现无法挂在home分区的情况,刚开始以为是分区对齐的问题,但是后来发现根本不是。算了,干脆迁移下home分区,一切都是那么随意,到网上查了下,主要是修改: /etc/fstab文件   sudo vim /etc/fstab 添加一行内容: partitionmanger工具查看uefi分区的id,启动中可能需要root密码,输入就好:点钟分区属性,查看uuid: /*--> */ /*--> */ de8a5178-365c-484f-abb6-7f1adde37c32,请根据自己的情况修改即可, 我把原来的信息: #UUID=78a17f44-e413-445f-8cf7-e770c9f208e1 /home ext4 defaults,noatime 0 2 注释掉了,添加的新的,只要修改uuid UUID=de8a5178-365c-484f-abb6-7f1adde37c32 /home ext4 defaults,noatime 0 2 使用root添加用户, 重新启动登陆即可,将home目录复制过来基本就成了。 来源: https://www.cnblogs.com/guochaoxxl/p/11641042.html

16 bytes binary form of canonical uuid representation in php

三世轮回 提交于 2019-11-30 20:42:19
how can I get 16 bytes binary form of the uuid from its string/canonical representation: ex: 1968ec4a-2a73-11df-9aca-00012e27a270 cheers, /Marcin $bin = pack("h*", str_replace('-', '', $guid)); pack If you read accurately the chapter about the format and string representation of a UUID as defined by DCE then you can't naively treat the UUID string as a hex string, see String Representation of UUIDs (which is referenced from the Microsoft Developer Network ). I.e. because the first three fields are represented in big endian (most significant digit first). So the most accurate way (and probably

8种方案解决重复提交问题

左心房为你撑大大i 提交于 2019-11-30 19:05:18
1.什么是幂等 在我们编程中常见幂等 select查询天然幂等 delete删除也是幂等,删除同一个多次效果一样 update直接更新某个值的,幂等 update更新累加操作的,非幂等 insert非幂等操作,每次新增一条 2.产生原因 由于重复点击或者网络重发 eg: 点击提交按钮两次; 点击刷新按钮; 使用浏览器后退按钮重复之前的操作,导致重复提交表单; 使用浏览器历史记录重复提交表单; 浏览器重复的HTTP请; nginx重发等情况; 分布式RPC的try重发等; 3.解决方案 1)前端js提交禁止按钮可以用一些js组件 2)使用Post/Redirect/Get模式 在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面。这能避免用户按F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退按导致的同样问题。 3)在session中存放一个特殊标志 在服务器端,生成一个唯一的标识符,将它存入session,同时将它写入表单的隐藏字段中,然后将表单页面发给浏览器,用户录入信息后点击提交,在服务器端,获取表单中隐藏字段的值,与session中的唯一标识符比较,相等说明是首次提交,就处理本次请求,然后将session中的唯一标识符移除

python面向对象练习--选课系统

本秂侑毒 提交于 2019-11-30 18:50:14
这几天学完面向对象,然后找了一个练习做(题目如下):因为刚刚接触编程,可能有很多方面考虑得不周到 目录如下: import os import sys BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASEDIR) from core.admin_view import admin_main from lib.public_func import instanc from core.student_view import student_main from core.teacher_view import teacher_main def main(): msg = ''' --------------------选课系统--------------------- 1 管理员 2 讲师 3 学生 ''' msg_main = { '1' : admin_main, '2' : teacher_main, '3' : student_main } instanc(msg,msg_main) if __name__ == '__main__': main() bin.py import os BASEDIR = os.path.dirname(os.path