uuid

Python windows下获取MAC地址的一种方法

我的未来我决定 提交于 2020-04-10 16:54:33
我最近有一个项目,使用Python在win32下开发一个COM组建,该COM组建其中一个方法是获取本地电脑的MAC地址。 需求很简单,虽然我是Python新手中的新手,但我还是会使用搜索引擎进行搜索。 百度一下,发现大部分都介绍使用import UUID获取MAC地址,或使用os.popen("ipconfig /all")的方式获取。而后者容易受到操作系统中英文环境影响。 如这篇文章:http://www.cnblogs.com/Jerryshome/archive/2011/11/30/2269365.html 所以,我很乖的使用了被大部分网页推荐的第一种方法, def get_mac_address(): import uuid node = uuid.getnode() mac = uuid.UUID(int = node).hex[-12:] return mac 很幸运,直接能用。 然后用C++编写一个访问COM的程序。 但问题来了(我不会问学挖掘机哪家强的-_-///) 居然弹出C RUNTIME Error!! --------------------------- Microsoft Visual C++ Runtime Library --------------------------- Runtime Error! Program: E:\Blender

Spring优雅整合Redis缓存

99封情书 提交于 2020-04-06 06:06:00
“小明,多系统的session共享,怎么处理?”“Redis缓存啊!” “小明,我想实现一个简单的消息队列?”“Redis缓存啊!” “小明,分布式锁这玩意有什么方案?”“Redis缓存啊!” “小明,公司系统响应如蜗牛,咋整?”“Redis缓存啊!” 本着研究的精神,我们来分析下小明的第四个问题。 准备: Idea2019.03/Gradle6.0.1/Maven3.6.3/JDK11.0.4/Lombok0.28/SpringBoot2.2.4RELEASE/mybatisPlus3.3.0/Soul2.1.2/ Dubbo2.7.5/Druid1.2.21/Zookeeper3.5.5/Mysql8.0.11/Vue2.5/Redis3.2 难度:新手-- 战士 --老兵--大师 目标: Spring优雅整合Redis做数据库缓存 步骤: 为了遇见各种问题,同时保持时效性,我尽量使用最新的软件版本。源码地址: https://github.com/xiexiaobiao/vehicle-shop-admin 1 先说结论 Redis缓存不是金弹,若系统DB毫无压力,系统性能瓶颈不在DB上,不建议强加缓存层! 增加业务复杂度:同一缓存必须被全部相关方法所覆盖,如订单缓存,只要涉及到订单数据更新的方法都要进行缓存逻辑处理。 同时,KV存储时,因各方法返回的类型不同

Python学习-django-Form组件

久未见 提交于 2020-04-01 02:24:35
Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1、创建Form类 + View Code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 from django.forms import Form from django.forms import widgets from django.forms import fields class MyForm(Form): user = fields.CharField( widget = widgets.TextInput(attrs = { 'id' : 'i1' , 'class' : 'c1' }) ) gender = fields.ChoiceField( choices = (( 1 , '男' ), ( 2 , '女' ),), initial = 2 , widget = widgets.RadioSelect ) city = fields.CharField( initial = 2 , widget = widgets.Select(choices = (( 1 , '上海' ),( 2 , '北京' ),)) ) pwd =

获取Android设备唯一标识码

非 Y 不嫁゛ 提交于 2020-03-30 05:49:44
概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码。虽然Android系统中提供了这样设备识别码,但是由于Android系统版本、厂商定制系统中的Bug等限制,稳定性和唯一性并不理想。而通过其他硬件信息标识也因为系统版本、手机硬件等限制存在不同程度的问题。 下面收集了一些“有能力”或“有一定能力”作为设备标识的串码。 DEVICE_ID 这是Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且唯一性良好。 这个DEVICE_ID可以同通过下面的方法获取: TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String DEVICE_ID = tm.getDeviceId(); 它会根据不同的手机设备返回IMEI,MEID或者ESN码,但在使用的过程中有以下问题: 非手机设备:最开始搭载Android系统都手机设备,而现在也出现了非手机设备:如平板电脑、电子书、电视、音乐播放器等。这些设备没有通话的硬件功能,系统中也就没有TELEPHONY_SERVICE,自然也就无法通过上面的方法获得DEVICE_ID。 权限问题:获取DEVICE_ID需要READ_PHONE

实现基于网络的yum源和包管理工具

六眼飞鱼酱① 提交于 2020-03-30 00:37:46
1、自建yum仓库,分别为网络源和本地源; 配置本地源#### 建立本地源目录 [root@qingcheng-db lgp]#mkdir /mnt/cdrom [root@qingcheng-db lgp]#mkdir /yum 挂载Centos光盘 [root@qingcheng-db lgp]#mount /dev/cdrom /mnt/cdrom 备份repo [root@qingcheng-db lgp]#cd /etc/yum.repo.d/ [root@qingcheng-db lgp]#mkdir backup [root@qingcheng-db lgp]#mv CentOS-Base.repo CentOS-CR.repo CentOS-Vault.repo CentOS-Vault.repo ./backup 编辑Centos-Media.repo [root@qingcheng-db lgp]#vim Centos-Media.repo 清除yum缓存 [root@qingcheng-db lgp]#yum clean all 配置网络源: yam -y install httpd 编辑 2、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。 1下载httpd2.4源码包到当前路径,并解压 2使用yum安装若干依赖包: 3进入解压后的文件夹

Ubuntu 开机挂载分区

Deadly 提交于 2020-03-27 12:26:47
3 月,跳不动了?>>> 主要步骤为 1.查看分区的UUID 2.修改 /etc/fstab *.为什么不用 mount 命令挂载 参看分区的 UUID UUID 是什么?说的简单一点就是每一个有一个“身份证号码”便于操作系统识别和访问。详细的解释请参考这里 UUID 维基百科 | UUID 百度百科 。 具体的查看命令很简单,在 shell 窗口中以 root 权限执行 blkid 命令「输入 sudo -s 获取 root 权限」,可以看到如下输出: 可以看到每一行 /dev/sd** 后有UUID=** ,请注意 /dev/sdb5 这行。 /dev/sdb5 是已经分好的分区,可以看到 UUID="f009f83c-6ba9-4e4a-94d2-cc9545950aaa" ,复制 UUID 信息,为下面额步骤准备。 我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。 修改 /etc/fstab 在 shell 窗口中输入 vim /etc/fstab 可以看到如下信息: # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a #

什么是 UUID ?

耗尽温柔 提交于 2020-03-27 12:24:10
3 月,跳不动了?>>> UUID 是指Universally Unique Identifier,翻译为中文是 通用唯一识别码 ,UUID 的目的是让分布式系统中的所有元素都能有唯一的识别信息。如此一来,每个人都可以创建不与其它人冲突的 UUID,就不需考虑数据库创建时的名称重复问题。 定义 UUID 是由一组32位数的16进制数字所构成,是故 UUID 理论上的总数为16^32=2^128,约等于3.4 x 10^123。 也就是说若每纳秒产生1百万个 UUID,要花100亿年才会将所有 UUID 用完 格式 UUID 的十六个八位字节被表示为 32个十六进制数字,以连字号分隔的五组来显示,形式为 8-4-4-4-12,总共有 36个字符(即三十二个英数字母和四个连字号)。例如: 123e4567-e89b-12d3-a456-426655440000 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 数字 M 的四位表示 UUID 版本,当前规范有5个版本,M可选值为 1, 2, 3, 4, 5 ; 数字 N 的一至四个最高有效位表示 UUID 变体( variant ),有固定的两位 10xx 因此只可能取值8 , 9, a, b UUID版本通过M表示,当前规范有5个版本,M可选值为 1, 2, 3, 4, 5 。这5个版本使用不同算法

第六周作业

旧街凉风 提交于 2020-03-25 12:18:19
3 月,跳不动了?>>> 1、自建yum仓库,分别为网络源和本地源 配置网络源: 阿里云yum源链接:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11Al1i4w 备份: # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # yum makecache # yum repolist 配置本地源: [root@www ~]# mount /dev/cdrom /mnt/ [root@www ~]# rm -rf /etc/yum.repos.d/* [root@www ~]# vim local.repo [centos] name=centos baseurl=file:///mnt gpgcheck=0 enabled=1 [root@www yum.repos.d]# yum clean all Loaded plugins: fastestmirror, langpacks Cleaning

python--UUID唯一标识符

你离开我真会死。 提交于 2020-03-25 03:46:23
UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 bit ) python的uuid模块提供UUID类和函数uuid1(), uuid3(), uuid4(), uuid5() 来生成1, 3, 4, 5各个版本的UUID uuid.uuid1([node[, clock_seq]]) : 基于时间戳 使用主机ID, 序列号, 和当前时间来生成UUID, 可保证全球范围的唯一性. 但由于使用该方法生成的UUID中包含有主机的网络地址, 因此可能危及隐私. 该函数有两个参数, 如果 node 参数未指定, 系统将会自动调用 getnode() 函数来获取主机的硬件地址. 如果 clock_seq 参数未指定系统会使用一个随机产生的14位序列号来代替 import uuid x=uuid.uuid1() #<class 'uuid.UUID'> e5fc64ca-081c-11ea-b609-74d02bb73e44 #74d02bb73e44 是16进制的mac地址 print(type(x),x) uuid.uuid3(namespace, name) :

Android开发中蓝牙应用开发

ε祈祈猫儿з 提交于 2020-03-21 05:50:29
安卓开发中蓝牙应用也是比较常见的,那么现在整理下了蓝牙开发中的应用,现在来看安卓蓝牙开发浅析:   1. 使用蓝牙的响应权限   <uses-permission android:name="android.permission.BLUETOOTH" />   <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />   2. 配置本机蓝牙模块   在这里首先要了解对蓝牙操作一个核心类BluetoothAdapter   BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();   //直接打开系统的蓝牙设置面板   Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);   startActivityForResult(intent, 0x1);   //直接打开蓝牙   adapter.enable();   //关闭蓝牙   adapter.disable();   //打开本机的蓝牙发现功能(默认打开120秒,可以将时间最多延长至300秒)   discoverableIntent.putExtra(BluetoothAdapter.EXTRA