Spring Boot学习篇(十)
Spring Boot学习篇(十)
shiro安全框架使用篇(二)——登录实例(密码以密文方式存储,不含记住密码)
1.模拟注册时,生成密文到数据库中
1.1 在zlz包下创建util包,并在下面创建SHAUtil01类(初始里面无方法)和SHAUtil02类,其目录结构如下所示
1.2 两种生成密文的方式
1.2.1 自己指定盐
a 核心代码
public static String shaPassword(String oldPwd,String salt){return new SimpleHash("sha-256",oldPwd,salt,100).toString();
}
b 完整代码
package com.zlz.util;
import org.apache.shiro.crypto.hash.SimpleHash;
import java.util.Random;
public class SHAUtil01 {/*** 对密码使用sha256算法的方式加密* 加密不可逆: 无法通过新生成密文来反推出原来的密码* 盐是为了提高密码的安全系数的 随机生成的* 实际是拿你随机生成的盐和原来的字符串拼接在一起在来生成密文* 一般是可以使用随机字符串来表示盐的* hashIteration 表示加密计算的次数(拿盐和字符串拼接的次数) 散列次数越多 安全系越高* @param oldPwd 原密码* @param salt 盐* @return*/public static String shaPassword(String oldPwd,String salt){return new SimpleHash("sha-256",oldPwd,salt,100).toString();}public static void main(String[] args) {//想要对admin这个密码进行加密.sha-256是不可逆的加密方式,对同一个密码生成的密文是唯一的,无论你执行多少次//注意这个盐是建议每个账户一个,尽量不要重复String newPwd = SHAUtil01.shaPassword("admim", "q1");System.out.println(newPwd);}
}
1.2.2 随机生成盐
a 核心代码
//①定义一个随机生成10位含字母数字符号的盐
static Random random=new Random();
public static String getSalt(){//盐从以下这些字符中去随机取出10个出来,下面盐的字符串是可以自定义的,专门弄一个方法拿到盐String salts="ewsfjbwdufgsfsnuivhe123456789/*;[]";StringBuffer salt=new StringBuffer();for (int i = 1; i <=10; i++) {//charAt是取出索引处的字符char c=salts.charAt(random.nextInt(salts.length()));salt.append(String.valueOf(c));}return salt.toString();
}
//②sha-256的加密方式(不可逆的)进行加密得到密文
public static String shaPassword(String oldPwd){return new SimpleHash("sha-256",oldPwd,getsalt(),100).toString();
}
b 完整代码
package com.zlz.util;import org.apache.shiro.crypto.hash.SimpleHash;import java.util.Random;public class SHAUtil02 {/*** 对密码使用sha-256算法的方式加密* 加密不可逆: 无法通过新生成密文来反推出原来的密码** 盐是为了提高密码的安全系数的 随机生成的* 实际是拿你随机生成的盐和原来的字符串拼接在一起在来生成密文* 一般是可以使用随机字符串来表示盐的* hashIteration 表示加密计算的次数(拿盐和字符串拼接的次数) 散列次数越多 安全系越高* @param oldPwd 原密码* @return 字符串形式的密文*/public static String shaPassword(String oldPwd){return new SimpleHash("sha-256",oldPwd,getSalt(),100).toString();}static Random random=new Random();public static String getSalt(){//盐从以下这些字符中去随机取出10个出来,下面盐的字符串是可以自定义的,专门弄一个方法拿到盐String salts="ewsfjbwdufgsfsnuivhe123456789/*;[]";StringBuffer salt=new StringBuffer();for (int i = 1; i <=10; i++) {//charAt是取出索引处的字符char c=salts.charAt(random.nextInt(salts.length()));salt.append(String.valueOf(c));}return salt.toString();}public static void main(String[] args) {//想要对admin这个密码进行加密.sha-256是不可逆的加密方式,对同一个密码生成的密文是唯一的,无论你执行多少次String newPwd = SHAUtil02.shaPassword("admin");System.out.println(newPwd);}
}
1.3 手动变更数据表(以自己指定盐的方式)
1.3.1 生成账户"admin"所对应的密文
a 测试代码
public static void main(String[] args) {//想要对admin这个密码进行加密.是不可逆的加密方式,对同一个密码生成的密文是唯一的,无论你执行多少次String newPwd = SHAUtil01.shaPassword("admin", "q1");System.out.println(newPwd);
}
b 运行截图
1.3.2 账户"aaa"所对应的密文
a 测试代码
public static void main(String[] args) {//想要对admin这个密码进行加密.是不可逆的加密方式,对同一个密码生成的密文是唯一的,无论你执行多少次String newPwd = SHAUtil01.shaPassword("aaa", "q2");System.out.println(newPwd);
}
b 运行截图
1.3.3 账户"bbb"所对应的密文
a 测试代码
public static void main(String[] args) {//想要对admin这个密码进行加密.是不可逆的加密方式,对同一个密码生成的密文是唯一的,无论你执行多少次String newPwd = SHAUtil01.shaPassword("bbb", "q3");System.out.println(newPwd);
}
b 运行截图
1.3.4 手动更改sys_user表的salt字段,更改后的效果如下所示
1.4 sys_user表所对应的sql语句(生成对应密文后的版本)
/*Navicat Premium Data TransferSource Server : localhost_3305Source Server Type : MySQLSource Server Version : 80030Source Host : 127.0.0.1:3305Source Schema : db0618Target Server Type : MySQLTarget Server Version : 80030File Encoding : 65001Date: 15/01/2023 22:21:15
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (`id` int NOT NULL,`username` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`password` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`salt` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`suo` int NULL DEFAULT 0,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = COMPACT;-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 'admin', '7e84f2fbdc9de493dc1e17c44b163ebc9168bc472f26db231f472f1012e62d87', 'q1', 0);
INSERT INTO `sys_user` VALUES (2, 'aaa', '18ae76b69e6b7b2ae78100013442beafb692bbbad663b1ff5845f0036b446ad7', 'q2', 0);
INSERT INTO `sys_user` VALUES (3, 'bbb', '7c8425aa02dfdfc973257f3b2a4ded786eadee830d7a29a900669727fa7a5966', 'q3', 1);SET FOREIGN_KEY_CHECKS = 1;
2 在config包下创建域(MysqlRealm类)
package com.zlz.config;import com.zlz.entity.SysUser;
import com.zlz.mapper.SysUserMapper;
import org.apache.shiro.authc.*;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;
import org.apache.shiro.util.ByteSource;
import org.springframework.beans.factory.annotation.Autowired;public class MysqlRealm extends AuthorizingRealm {//授权方法@Overrideprotected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection pc) {return null;}@AutowiredSysUserMapper sysUserMapper;//认证方法@Overrideprotected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken at) throws AuthenticationException {//①在认证方法里面获取输入的用户名String username = (String) at.getPrincipal();SysUser user = sysUserMapper.findUserByUsername(username);if (user == null) {//②如果账户不存在,就抛出账户不存在异常throw new UnknownAccountException();}//③检查账户是否锁定 如果锁定的话,那就会抛出锁定异常if(user.getSuo()==1){throw new LockedAccountException();}//密码错误,shiro会自动帮你抛出密码错误这个异常的
// System.out.println("实例对象名称:");//④拿到盐(放在第三个形参的位置)-----变动的地方ByteSource salt = ByteSource.Util.bytes(user.getSalt());//⑤把对应的参数设置进去SimpleAuthenticationInfo s=new SimpleAuthenticationInfo(user.getUsername(),user.getPassword(),salt,getName());return s;}
}
3.在config包下创建ShiroConfig类(进行shiro的相关配置)
package com.zlz.config;import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class ShiroConig {//安全管理器的配置@Beanpublic DefaultWebSecurityManager securityManager(){DefaultWebSecurityManager dws=new DefaultWebSecurityManager();dws.setRealm(mysqlRealm());//设置会话管理器,保证第一次访问的时候不会出错dws.setSessionManager(new DefaultWebSessionManager());return dws;}@Bean("shiroFilterFactoryBean")public ShiroFilterFactoryBean factoryBean(){ShiroFilterFactoryBean sffb=new ShiroFilterFactoryBean();//设置安全管理器sffb.setSecurityManager(securityManager());//设置需要登录但没有登录的地址sffb.setLoginUrl("");//检测到没有权限时的跳转地址sffb.setUnauthorizedUrl("");return sffb;}@Beanpublic MysqlRealm mysqlRealm(){MysqlRealm mysqlRealm=new MysqlRealm();//变动的地方: 配置加密管理器 登录时 会使用该加密方式对输入的密码进行加密,再和数据库的密码进行比对HashedCredentialsMatcher hsm = new HashedCredentialsMatcher();hsm.setHashAlgorithmName("sha-256");//加密方式 与注册时保持一致hsm.setHashIterations(100);//散列次数 与注册时保持一致mysqlRealm.setCredentialsMatcher(hsm);return mysqlRealm;}
}
4 最终测试
4.1 当账户输入有误时
a 点击登录按钮前
b 点击登录按钮后
4.2 当账户被锁定时
a 点击登录按钮前
b 点击登录按钮后
4.3 当密码输入有误时(该用户并没有被锁定)
a 点击登录按钮前
b 点击登录按钮后
4.4 当账户密码输入均正确时
a 点击登录按钮前
b 点击登录按钮后
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4498220.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
C语言所有知识点小结
C语言 目录C语言一、基础知识(1)C语言关键字(2)C程序的主要部分(3)转义序列 escape sequence(4)基本运算符1.赋值运算符2.算术运算符、-、*、/3.逗号运算符,4.逻辑运算符&&、…...

php fread 逐行读取,php fread函数使用方法总结
php fread函数使用方法总结php fread函数用于读取文件(可安全用于二进制文件),其语法是fread(file,length),参数file必需,指规定要读取打开文件,length 必需,指规定要读取的最大字节数。php fread函数怎么用࿱…...

西门子plc如何用c语言编程软件下载,s7一200编程软件下载安装
s7-200编程软件是专为西门子s7-200系列可编程控制器而设计开发的一款工业化编程工具,该工具基于Windows系统而开发,功能强大,既可用于开发用户程序,又可实时监控用户程序的执行状态,是西门子PLC用户不可缺少的开发工具…...
CC2640之看门狗
测试环境 协议栈版本:BLE-STACK V2.1 IAR开发环境版本:IAR for Arm 7.40 硬件设备:Amo-SmartRF v2.0 开发板(对应TI官方的SmartRF06EB 开发板) 示例测试Demo工程:simpleBLEPeripheral工程 系统驱动层RTO…...

竞赛——【蓝桥杯】2022年11月第十四届蓝桥杯模拟赛第一期Java
1、二进制位数 问题描述 十进制整数 2 在十进制中是 1 位数,在二进制中对应 10 ,是 2 位数。 十进制整数 22 在十进制中是 2 位数,在二进制中对应 10110 ,是 5 位数。 请问十进制整数 2022 在二进制中是几位数? 答案…...

重启网卡
ifconfig eth0 up|down service network restart|start|stopTYPEEthernet #网卡类型 DEVICEeth0 #网卡接口名称 ONBOOTyes #系统启动时是否自动加载 BOOTPROTOstatic #启用地址协议 –static:静态协议 –bootp协议 –dhcp协议 IPADDR #网卡IP地址 NETMASK #网卡网络地址 GATEWA…...

楼市越来越冷,业主们能否靠出租增值?
国内二手房市场越来越冷。 刚刚过去的10月份,北京、上海、广州、深圳等一线城市的二手房成交量依旧低迷,要么出现了两位数的环比下滑,要么勉强维持在环比基本持平的局面,刺骨的寒意已经不需要再做赘述。 即便是曾经成交火爆的二…...

DVWA靶机安装教程
DVWA靶机详细安装教程 首先搭配环境windows10 1、先下载"PhpStudy"环境,官方链接:https://www.xp.cn/。 如图显示; 我用的是phpStudy v8.1版本最新版本。 下载后点击运行就直接无脑安装(注意:安装选盘…...

CentOS8重启网卡命令
CentOS已经更新到8.2了,整个系统也发生了许多的改变,比如:重启网卡的命令,万万刚拿到CentOS8的时候,配置完ip后熟练的systemctl restart network,但是紧接着就让我大吃一惊,居然报错了ÿ…...

中西医结合骨伤科学练习考试答案
一、单选题(每题2分,共50道小题,总分值100分) 1.伤后肘关节呈半屈曲位,肘内侧肿胀,疼痛,关节屈伸功能受限,明显畸形,有弹性固定感,肘后三点关系不正常,应考虑是:( ) A尺骨鹰嘴骨折 B肱骨外髁骨折 C肱骨内上髁Ⅰ~Ⅱ度骨折 D...
CC2640R2F BLE5.0 CC2640R2F的存储架构
存储架构 Flash Flash以4KB为一个Page进行擦除/写入操作(如果在一个Page需要写入一个字节,需要将整个Page擦出),Flash组成部分及其它们关联的链接器文件如下。 对于协议栈以库文件方式链接的工程(_lirary): Application Image Code Space(应…...

cc.formatStr
可以格式化字符串,目前支持 %d 和 %s cc.log(cc.formatStr("id%d, name%s", 100, abc));...

python关键词对联_如何用深度学习框架PaddlePaddle实现智能春联
引言:不知不觉春节假期马上到来,在今年的春节话题中,不难发现,除了七大姑八大姨亲切问候这些常规话题,人工智能的踪迹也是随处可见。AI在以全新的面貌向我们展示值得期待的未来,比如今天,我们可…...

linux重启网络报网卡激活失败,Centos重启网卡失败原因
准备重启网卡,用了两条命令都没能成功[rootlocalhost Desktop]# ifup eth0Active connection state: activatingActive connection path: /org/freedesktop/NetworkManager/ActiveConnection/1^C** Message: Caught signal 2, shutting down...[rootlocalhost Deskt…...

Linux下 Apache Kafka 安装与配置
一、linux版本:lsb_release -a 二、官网地址:http://kafka.apache.org/downloads 我们选择稳定版:2.8 三、安装ZooKeeper 当前下载的kafka程序里自带Zookeeper,可以直接使用其自带的Zookeeper;也可以自己安装 ZooKee…...

传统文化之广场舞乱相到底反映出中国社会怎样的深层次矛盾
“广场舞”在今天的中国业已成为一个充满争议的文化焦点。它流行的原因通常被解读为廉价和低门槛,或者是集体主义时代传统的回潮。伴随着这种解读,“广场舞”和广场舞者被接连不断的负面新闻淹没,似乎整个社会以“噪音污染”和“空间占用”为…...

CC2530 zigbee RS485通讯
通讯是RS485,之前代码在115200波特率下能正常工作,后来改成9600居然异常。实测数据,是发送不完整,甚至只发送了一个字节的错误数据。 分析原因,是RS485发送接收硬件切换脚的使能,没有等到发送完成就切换了…...
优化器(SGD、SGDM、Adagrad、RMSProp、Adam等)
1.1 SGD SGD全称Stochastic Gradient Descent,随机梯度下降,1847年提出。每次选择一个mini-batch,而不是全部样本,使用梯度下降来更新模型参数。它解决了随机小批量样本的问题,但仍然有自适应学习率、容易卡在梯度较小…...

Git和TortoiseGit的下载、安装和使用,以及git本地操作案例
附件提供了同版本(2.13.0)的Git和TortoiseGit(含汉化包),后续再了解版本之间的关系。 1.Git 1.1.Git的下载 官网下载地址:Git - Downloads 选择对应的版本下载即可 历史版本官方下载链接(下载速度慢): Releases git-for-windows/git Gi…...

用c语言编程实现进制的转换,C语言实现进制转换函数的实例详解
C语言实现进制转换函数的实例详解前言:写一个二进制,八进制,十六进制转换为十进制的函数要求:函数有两个参数,参数(1)是要转换为十进制的进制数,参数(2)是标示参数(1)是什么进制(2,8,16标示二进制ÿ…...

使用AsyncHttpClient碰到的问题及解决方法
使用AsyncHttpClient碰到的问题及解决方法参考文章: (1)使用AsyncHttpClient碰到的问题及解决方法 (2)https://www.cnblogs.com/RootPest/p/4891293.html 备忘一下。...

邻接矩阵用c语言,邻接矩阵无向图(一)之 C语言详解
本章介绍邻接矩阵无向图。在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了。和以往一样,本文会先给出C语言的实现;后续再分别给出C和Java版本的实现。实现的语言虽不同,但是原理如出一辙…...

linux重启网卡为down,linux重启网卡命令有哪些
linux重启网卡命令有:1、命令【service network restart】;2、命令【ifconfig eth0 down / ifconfig eth0 up】;3、命令【ifdown eth0 / ifup eth0】。本教程操作环境:windows7系统、linux7.3版本,DELL G3电脑…...

2021年中国在线教育行业投融资现状及未来发展趋势分析[图]
在线教育是以网络为介质的教学方式,通过网络,学员与教师即使相隔万里也可以开展教学活动;此外,借助网络课件,学员还可以随时随地进行学习,真正打破了时间和空间的限制,对于工作繁忙,…...

centos 重启网卡
1、centos6的网卡重启方法:service network restartcentos7的网卡重启方法:systemctl restart network2、DNS配置文件:cat /etc/resolv.conf 设置主机和IP绑定信息:cat /etc/hosts 设置主机名:cat /etc/hostname3、可以…...
sort()用法详解
sort() 方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串Unicode码点。 语法:arrayObject.sort(sortby);参数sortby可选。规定排序顺序。必须是函数。 注:如果调用该方法时没有使用参数,将按字母顺序对数组中…...

Kali重启网卡网络服务
在使用“vulfocus”靶机安装漏洞镜像的时候发现无法通过IP地址访问镜像管理后台(vulfocus无法通过“127.0.0.1”访问),想到可能是因为换了WI-FI的原因造成的。 重启系统耗时间,遂决定重启网卡。 systemctl restart network难受了…...

网站防止CC攻击的方法,CC攻击原理及防范方法
一、 CC攻击的原理: CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候…...

echart 属性以及用法详解;title、legend 、tooltip 、series;pie
记录一些关于echart的属性及用法 官方api:Documentation - Apache ECharts 数据 let pieData[{ value: 1048, name: PUSH},{ value: 148, name: 内容},{ value: 735, name: 短信},// { value: 1048, name: PUSH2},// { value: 148, name: 内容2},// { value: 735…...

Linux内存泄露案例分析和内存管理分享
作者:李遵举 一、问题 近期我们运维同事接到线上LB(负载均衡)服务内存报警,运维同事反馈说LB集群有部分机器的内存使用率超过80%,有的甚至超过90%,而且内存使用率还再不停的增长。接到内存报警的消息&…...

随机数生成算法
随机数生成算法 在这里插入代码片 class Random {int seed time(NULL); public:/**** return 随机整数,范围在0~Int之内*/int randomInt() {int randNumber;srand(seed);randNumber (int) (((double) rand() / RAND_MAX) * INT_MAX);seed (seed (int) (sqrt(se…...

制作ubifs和ubi镜像
#!/bin/bash#Author:allen.zhang #Date: 20211218# This variable will be populated during installation SCRIPT_PATH$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)# The following variables are populated during th...

什么是代理IP?作用是什么?
http代理服务器是什么 代理服务器(Proxy Server)是网上提供转接功能的服务器,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器…...

安卓服务器维护,安卓服务器6月14日2时维护公告
各位亲爱的道友:为保证服务器的运行稳定和服务质量,《问道》手游所有安卓服务器将于2016年6月14日凌晨02:00进行停机维护,预计需要维护420分钟,开服时间为09:00,如果在预定时间内无法完成维护内容,开机时间…...

JAVA版不祥之兆等级怎么看_我的世界Java版 19w13a 正式发布 “劫掠”进行调整
原标题:我的世界Java版 19w13a 正式发布 “劫掠”进行调整变更列表“辅助功能”按钮现已在主菜单中可用辅助功能及复述功能改进劫掠调整bug修复劫掠劫掠现在按照一套模板来确定在劫掠中刷新的掠夺组合数目:简单-3普通-5困难-7如果你或你的同伴在劫掠中/劫…...
c语言邻接表的构建_邻接表无向图(一)之 C语言详解
本章介绍邻接表无向图。在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了。和以往一样,本文会先给出C语言的实现;后续再分别给出C和Java版本的实现。实现的语言虽不同,但是原理如出一辙&a…...

indesign cc 2019 mac 破解教程
Adobe InDesign CC 2019 mac破解版第一时间来和大家分享!这是一款行业领先的InDesign排版软件,是专业排版领域的设计软件,面向公司专业出版方案的新平台;InDesign CC 2019破解版具备制作海报、书籍、数字杂志、电子书、交互式 PDF…...

Win10/11系统如何安装InDesign 2021中文 IDcc2021详细安装教程 解决安装错误问题
Adobe InDesign 2021中文直装版是专业的版面设计和桌面出版软件,使用旨在为用户提供设计、预检、发布等一体化的功能,为宣传册、海报以及其他印刷或数字媒体制作完美的布局。InDesign 的目标用户为服务于杂志、设计公司、广告公司、报纸、图书出版商和零…...
vue核心原理解析
1. MVVM原理 vue的精髓在于组件化和数据驱动视图。 组件化之前就有,比如php等语言,vue使用了组件化思想。进行了数据驱动视图的创新。之前的前端操作是静态渲染,要操作dom修改视图。 数据劫持的优势 无需显示调用,直接通知变化…...

matlab读取图片排序1 10 2出错解决方法/图片批量重命名
matlab读取超过10张图片,图片顺序发生变化,序号1后跟着序号10,采用对输入的图片批量重命名方法解决该问题。 在图片文件夹新建一个txt文件,输入以下代码: setlocal enabledelayedexpansion set n0 for /f “delims” …...

C语言编写函数求一元二次方程
《C语言程序设计教程(朱鸣华)第3版》第8章145页编程题5 原题:求方程 ax2bxc0a{x^2} bx c 0 % MathType!MTEF!2!1!- % feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubs…...
CC2650头文件
转载请注明出处:http://blog.csdn.net/chenHCYJ/article/details/53113930 在TI的蓝牙SDK中,提供了三种类型的头文件,分别为 7ID,5XD和4XS。其中数字7、5、4分别代表CC2650芯片的封装7*7,5*5,4*4ÿ…...

Python学习笔记-PyQt6对话框
对话框是界面编程中重要的窗体,一般用于提示或者一些其他特定操作。一、使用QDialog显示通用消息框直接使用QDialog类,可以及通过对话框进行通用对话框显示,亦可以通过自定义设置自己需要的对话框。# _*_ coding:utf-8 _*_import sysfrom PyQ…...

hive之生成唯一id
1.针对没有变话的一张表生成id。(表中数据固定不会增加修改) ROW_NUMBER ()over() 针对所有数据生成自增id,即使所有数据都相同。 2.针对没有变化的表,根据字段生成自增id 注意cc11 和cc12我故意没按顺序摆放 这样做的好处是 生成的id 和name产生了一…...

linux操作系统下 c语言编程入门
linux操作系统下 c语言编程入门 (一)目录介绍 1)Linux程序设计入门--基础知识 2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 7)Linux程序设计入门--线程操作 8)…...

计算机考研408每日一题 day156
不多说了,祝大家都能成功上岸,你终硕! 想要找题的话,善用ctrlf,题目我都放在摘要里了。 🐯 数据结构 如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是___。&…...

CC3200学习笔记
cc3200自带ROM中带有三部分程序:设备初始化固件,BOOTLOADER,外设驱动库 当设备上电、复位、或者从冬眠中唤醒时,先执行初始化程序,然后BOOTLOADER开始执行,将程序代码从FLASH复制到内部RAM中,最…...
CC2640 广播数据构成分析
第二章 CC2640广播数据构成 第一步:将SimpleBLEPeripheral例程烧录到蓝牙中然后就开启广播之旅了。。。。。。。。。 用Packet Sniffer 抓包 1 2 3 4 5 6 7 …...

cc攻击
生成大量正常请求来使服务器的数据库等服务cpu爆满。 cc与ddos的区别: DDoS攻击打的是网站的服务器,而CC攻击是针对网站的页面攻击的,用术语来说就是,一个是WEB网络层拒绝服务攻击(DDoS),一个是…...

Leetcode Hot-100
参考 hot100 视频leetcode讲解 【1-20】 1. 两数之和 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> umap;int i 0;for(int num:nums){if(umap.find(target-num)umap.end())umap[num]i;elseret…...

e5cc温控仪通讯参数设定_E5CC温控器参数表
参数名称设定值高级功能菜单INIT参数初始化FACTSUB1辅助输出1分配ALM1初始菜单IN-T输入类型2D-U温度单位CSL-HSP上限变量SL-LSP下限0INTLPID控制/ON_OFF控制变量S-HC标准控制/加热_冷却控制H-COREV正/逆动作OR-RALT1报警1类型2ALH1报警1滞后0.2调整菜单CMWT通信写入ONINS温度输…...

制作一个简单HTML旅游网站(HTML+CSS+JS)无锡旅游网页设计与实现8个页面
👨🎓静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计👩🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…...

CC2530 NV最细致讲解操作
刚开始接触CC2530NV时,我查的协议栈API函数,结果发现怎么也使用不对NV函数,我就开始各种测试,终于在我不懈努力下,弄清楚了NV操作,而且更重要的是,协议栈API函数说明对读者有误,在此…...

算法蓝桥杯-唯一的XX(XX题目)
更好的阅读体验 蓝桥杯题解 题目 问题描述 腿铮找2255有点事,但2255太丑了,所以腿铮不知道他的长相。正愁不知道到如何找他的时候,他突然看见计33班围成了一个圈在领微积分试卷。计33班有n个人,其中班长编号为0,…...

服务器冗余常见问题及解答汇总
对于众多组织来说,在灾难发生后能够访问数据至关重要。而硬件故障、应用程序故障、网络问题和其他此类问题会阻止服务器的正常运行,使用户无法访问服务和重要数据。这时企业可以通过采用服务器冗余来避免这些突发事件。下面是关于服务器冗余常见问题解答…...

一句js就可以嵌入到任何页面的开源客服工单系统
真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天给大家推荐一个开源的客服工单系统,类似与阿里,腾讯一样的工单系统。通过一句js就可以嵌入到任何页面,让工单内容简单化。 二、实现功能 网站首页 提交工单 常见问题 …...
SRCNN中的PSNR计算问题
最近用pytorch训练了一个SRCNN模型,然后在跟原始论文(Learning a Deep Convolutional Network for Image Super-Resolution)中的数据比较的时候,发现差别很大。 比如说使用Set5数据集中的baby这张图片,使用Bicubic先缩小两倍,然…...

C语言基础之9:函数
Tips1: 关键字:return 运算符:*(一元)、&(一元) 函数及其定义方式 如何使用参数和返回值 如何把指针变量用作函数参数 函数类型 ANSI C原型 递归 如何组织程序?C的设计…...

在Ubuntu20.04中搭建Python开发环境
Python 3 Ubuntu20.04 已经默认安装了 Python 3.8.2, 我们可以不用安装了: 值得注意的是, Python 2 已经退出了历史的舞台,Ubuntu20.04也顺便 移除了 Python 2: pip3 pip3 是一个用来安装 Python 软件包的工具。 安装pip3 $ sudo apt-…...

关于初识C语言!!!
1、自我介绍 想成为一位优秀的程序员! 2、学习编程的目标 都说c生万物,这句话的的确确是真理,大到整个底层,小到某一个app都离不开c语言,所以我个人认为在学习编程的时候,首要先把C语言的基础打好…...

日志捕获小工具
背景 开发过程中,为了便于调试,会输出很多打印日志,而只有当电脑连着真机进行调试的时候,Xcode控制台才会有日志输出。这也就意味着如果未处于调试状态时,是看不到Xcode控制台的日志输出的,那么如果还想看…...

conda的environment未被激活解决方案
Warning: This Python interpreter is in a conda environment, but the environment has not been activated. cmd控制台输入:conda activate myenv Replace myenv with the environment name or directory path 比如在我的电脑中:cond…...

英语单词 Yang liang
目录 1--60 1--60...

Liang-Barsky 裁剪算法
算法原理: 分别计算原直线与四条边框延长线的四个交点,在中间的两个交点即为裁剪完成的两个点。 p1-p2黑色直线为原直线; 红色矩形为裁剪边框; 绿色线为裁剪边框的延长线; 紫色为原直线的延长线; ABCD分别为…...

计算机图形学2-Liang-Barsky直线裁剪算法
计算机图形学2-Liang-Barsky直线裁剪算法效果代码效果 首先点击两个点画一个矩形窗口,接下来继续点两点画个直线,画完之后按下“x”键则会用liang方法裁剪直线,将在窗口外的部分除去,按下”q”退出 代码 import cv2 import nu…...

C语言Matrix编程题——[Recursion]D. Liang 8.1 Computing factorials
[Recursion]D. Liang 8.1 Computing factorials Description: 用以下的函数完成一个计算阶乘的函数 long factorial(int n) Input: 正整数n(n<30) Output: 输出n! Sample Input: 3 Sample Output: 6 Hint: Don’t submit the …...

C语言Matrix编程题——[Recursion]D. Liang 8.2 Fibonacci number
[Recursion]D. Liang 8.2 Fibonacci number Description: 用以下的函数完成一个计算斐波那契数列的函数 long fib(int n) Input: 非负整数n(n<40) Output: 输出斐波那契数列的第n项fib(n) Sample Input: 3 Sample Out…...

[Arrays]D. Liang 6.5 Printing distinct numbers.c
Description Write a program that reads in n integers and displays distinct numbers (ie., if a number appears multiple times, it is displayed only once). Input The first line is a positive integer t for the number of test cases. Each test case contains...

[Functions]D. Liang 5.25 Emirp.c
Description An emirp (prime spelled backwards) is a prime number whose reversal is also a prime. For example, 17 is a prime and 71 is a prime. So 17 and 71 are emirps. Write a program that reads an interger n, and output the nth emirps. Input An inte...

直线裁剪算法(Cohen-Sutherland,中点裁剪,Liang-Barsky)
什么是裁剪:确定图形哪些部分落在显示区之内,哪些落在显示区外。这个选择的过程就称为裁剪。 1.Cohen-Suther land算法 (1)若端点完全在裁剪窗口内----“简取”之 (2)若端点完全在裁剪窗口外,…...

计算机图形学裁剪算法应用,计算机图形学裁剪:关于梁友栋-Barsky算法(Liang-Barsky算法)...
直线的裁剪: 梁友栋-Barsky算法(Liang-Barsky算法)1. 算法的基本思想以直线的参数方程为基础,对不同情况下的裁剪求得相应的参数值。2. 算法的推导过程情形一 pk0(1)p1=p2=0若q1<0或q2<0,则可删除直线段若q1>…...

Liang-Barskey裁剪算法(计算机图形学)
在Opengl应用框架下实现Liang-Barskey算法。完成一个四边形对两条线段的裁剪:四边形的左上角和右下角顶点分别为(100,100),(300,200),线段2的两个端点为(180&…...

计算机图形学直线裁剪原理,计算机图形学-3.2用Liang-Barsky算法实现直线段裁剪...
计算机图形学-3.2用Liang-Barsky算法实现直线段裁剪计算机图形学-3.2用Liang-Barsky算法实现直线段裁剪(1)算法设计原理依次处理(p1,q1)(p2,q2)(p3,q3)(p4,q4)四组数据:把(pk,qk)作为ClipT函数的输入变量p1p20时,若q1<0或q2小于0,直线在窗…...

Liang-Barsky直线段裁剪
随便记一下书上的代码 好多奇怪的BUG哦。 #include<gl/glut.h> #include<stdio.h> #include<stdlib.h> bool bInput, accept, bDraw; struct ClipWindow {float xmin, ymin, xmax, ymax; }rect; struct Point {int x, y; }pt[2]; void LineGL(Point pt0, Po…...

裁剪算法——中点分割算法/Liang-Barsky算法
三、中点分割法 首先对直线段的端点进行编码。 【核心思想:通过二分逼近来确定直线段与窗口的交点。】 具体方法: 1、若中点不在窗口内,则把【中点】和离窗口边界【最远点】构成的线段丢掉,以线段上的另一点和该中点再构成线段…...

Liang-Barsky算法思想及简单cpp实现
liang-barsky算法是针对标准矩形更快的直线段裁剪算法 基本出发点是直线的参数方程 首先给定一个矩形的窗口,我们将矩形的窗口的四条边分成两类:入边和出边 我们将需要裁剪的直线段(黑色表示)看成一条有方向的线段,该线段使用参…...
Liang-Barsky算法剪裁实例
Liang-Barsky算法剪裁实例 1:写出线段头尾横纵坐标、窗口左下右上坐标 A(-2,6) x1-2,y16;B(7,-2) x27,y2-2;窗口:wx10,wxr4,wyb0,wyt3;2:求AB的▲x和▲y,Pi,qi,Uiqi/Pi P1-▲x-(72)-9 q1w1…...

Liang-Barskey算法以及代码实现
最近计算机图形学,学习了Liang-Barskey算法,然后实现了Liang-Barskey算法,对于Liang-Barskey算法的原理和含义,可以下一篇博客,讲述了 Liang-Barskey算法的原理。 https://blog.csdn.net/ZY_cat/article/details/7829…...

Liang-Barsky裁剪算法
//#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )//去除控制台窗口 #include <iostream> #include <gl/GLUT.h> #include <map> #include <vector> #include<cmath> #include <list> #include <alg…...

liang-Barskey算法
liang-Barskey算法(python) 实验目的 通过参数的计算,把二维裁剪问题转化成为一维裁剪问题。 算法思想 要裁剪的线段是P0P1。 P0P1和窗口边界交于A,B,C,D四点,见图。算法的基本思想是从A,B和P0三点中找出最靠近P1的点,图中要找的点是B。从C,D…...

Python+OpenGL实现Liang-Barsky算法裁剪直线
开学第一课:一定不要这样问老师Python问题中国大学MOOC“Python程序设计基础”第6次开课时间董付国老师Python系列教材推荐与选用参考推荐教材:《Python数据分析、挖掘与可视化》(慕课版)(ISBN:978-7-115-5…...

【OpenGL 实验二】Liang-Barsky 裁剪算法
实验内容: 实现 LiangLiangLiang-BarskyBarskyBarsky 裁剪算法 画线过程: 由于 LiangLiangLiang-BarskyBarskyBarsky 算法是矩形窗口对于直线段的裁剪,考虑到鼠标的交互性,需要添加画线程序。 因此调用了 STL 中的 vector 来保存…...

Liang-Barsky算法
Liang-Barsky算法 在Cohen-Sutherland算法提出后,梁友栋和Barsky又针对标准矩形窗口提出了更快的Liang-Barsky直线段裁剪算法。 梁算法的主要思想: (1)用参数方程表示一条直线 (2)把被裁剪的红色直线段看 成…...
计算机小白也看得懂的Liang-Barsky算法
个人博客:www.vectormoon.net 算法背景 Liang-Barsky算法由梁友栋和Barsky共同发表,是目前计算机图形学最经典的算法之一。他们认为线段裁剪的问题是:裁剪窗口是二维对象,而线段是一维对象,两个对象的维度不同不便比较…...

Linux--线程互斥与同步--0112 13
线程互斥 1.背景概念 临界资源:多线程执行流共享的资源就叫做临界资源。 临界区:每个线程内部,访问临界资源的代码就叫做临界区。 互斥:任何时刻,互斥保证有且只有一个执行流进入临界区 ,对临界资源起保…...

Liang Yichen
a cinematographer many of years walking around the Himalayas....

计算机图形学——Liang-Barsky算法
Liang-Barsky算法是计算机图形学的一个经典算法,也是一个以中国人命名的计算机图形学算法。 Liang-Barsky算法思想 用参数方程来表示一条直线。 xx1u(x2-x1) yy1u(y2-y1) 其中: (x,y)是直线上任意一点 (x1,y1&…...

香侬专栏 | 独家对话斯坦福大学计算机系教授Percy Liang
专栏介绍:《香侬说》为香侬科技打造的一款以机器学习与自然语言处理为专题的访谈节目。由斯坦福大学,麻省理工学院, 卡耐基梅隆大学,剑桥大学等知名大学计算机系博士生组成的“香侬智囊”撰写问题,采访顶尖科研机构(斯…...

python运维工程师前景及待遇_运维工程师的前景如何?
展开全部工作前景运维所涉及的知识面32313133353236313431303231363533e4b893e5b19e31333433616239、专业点非常广,对从业人员素质也要求非常高,运维工作在大型互联网公司也越来越重要。随着互联网的高速发展、网站规模越来越大、架构越来越复杂…...
linux运维工程师前景怎样 就业薪资待遇高吗
linux运维工程师前景怎样?就业薪资待遇高吗?很多准备从事运维工作的人都会考虑这些问题,如果没有一个好的就业前景,又有什么学习的必要。而从市场需求以及从业人员的薪资来看,linux运维确实是一个非常不错的选择。 lin…...

Linux运维工程师是做什么的?运维发展前景到底怎么样?
Linux运维工程师到底是做什么的?如果你想要进入运维管理领域这一行,首先你应该了解linux运维工程师是干什么的。他主要是对Linux下各种网络服务、应用系统、监控系统等进行自动化脚本开发的工作,并根据项目对系统进行性能优化。Linux运维工程师可以做的…...

python运维工程师前景及待遇_运维工程师有前途么?
看怎么定义前途?我直接点吧,不拿那些虚的精神生活来定义前途了,免得说忽悠,还是直接用物质水平吧如果对于普通人来说,前途是指能赚个买房买车钱,那肯定没问题如果想实现阶级跃升,进入富人阶级&a…...

运维工程师的发展和前景
运维工程师的职责和前景 运维中关键技术点解剖:1 大量高并发网站的设计方案 ;2 高可靠、高可伸缩性网络架构设计;3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案;5 海量数据存储架构一、什么…...

Linux运维工程师前景
什么是Linux运维 如果我们是一辆高速行驶在高速公路上的汽车,那运维工程师就是司机兼维修工,这个司机可不简单,有时需要在高速行驶过程中更换轮胎、并根据道路情况换档位、当汽车速度越来越快时,汽车本身不能满足高速度时对汽车性…...

运维工程师前景
我觉得因该是有前途的,看个人能力和努力程度,本人现在正在往此方向发展。随着国家大力提倡互联网,互联网时代会加速普及,运维大有作为。只是随着云计算时代的来临,传统运维岗位可能会大大减少,而掌握云计算…...

不会数学的程序员,只能走到初级开发工程师!
作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!😄 在我还是初级程序员时,每天也都粘贴着代码和包装着接口。那个阶段并没有意识到数学能在编程中起到什么作用ÿ…...

【S013】盈时策略:焦炭策略,收益风险比0.94,夏普率盈亏比接近2
关注公众号:盈时 策略盈亏曲线图 策略基本信息 策略名称:YS_j_30min_S013 (焦炭) 日内或隔夜:隔夜 数据周期:30min 开仓方式:每次1手,不连续建仓 回测时间范围:2011-04-18 ~ 2020-10-26 …...

【S013】盈时策略:焦炭策略,收益风险比1.4,夏普率盈亏比接近2
关注公众号:盈时 策略盈亏曲线图 策略基本信息 策略名称:YS_j_30min_S013 (焦炭) 日内或隔夜:隔夜 数据周期:30min 开仓方式:每次1手,不连续建仓 回测时间范围:2011-04-18 ~ 2020-08-11 …...

机器学习预测股票,保存对比图,计算夏普率以及得分
运用两层LSTM,激活函数为tanh,损失函数为mean_squared_error,optimizer为ADAM 导入库: import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.pylab import rcParams rcParams[figure.figsize]20,10 from keras.m…...

【S013】盈时策略:焦炭策略,收益风险比1.44,夏普率盈亏比接近2
关注公众号:盈时 策略盈亏曲线图 策略基本信息 策略名称:YS_j_30min_S013 (焦炭) 日内或隔夜:隔夜 数据周期:30min 开仓方式:每次1手,不连续建仓 回测时间范围:2011-04-18 ~ 2020-06-05 …...

【S013】盈时策略:焦炭策略,收益风险比1.46,夏普率盈亏比接近2
关注公众号:盈时 策略盈亏曲线图 策略基本信息 策略名称:YS_j_30min_S013 (焦炭) 日内或隔夜:隔夜 数据周期:30min 开仓方式:每次1手,不连续建仓 回测时间范围:2011-04-18 ~ 2020-04-13 回测环…...

【backtrader源代码解析17】sharpe.py源代码解析(backtrader计算夏普率的方式)
这篇文章依然很枯燥,我也在思考一个问题,如何能把源代码讲的有趣一些,感觉挺难的。 from __future__ import (absolute_import, division, print_function,unicode_literals)import mathfrom backtrader.utils.py3 import itervaluesfrom backtrader import Analyzer, TimeF…...
(股票,数字货币)年收益率,标准差和夏普率的计算
我们先来谈谈股票。股票的年收益率(年化率)很好理解,等于一年赚的钱除以这一年的本金,代表你的本金在这一年的回报水平。银行存一年的利率大概是1.5%。当然,在股票投资的时候,时间不太可能就是整整一年&…...

计算Sharp夏普率的python和c++代码
夏普率(The Sharpe ratio)(预期收益率 - 无风险利率)/投资组合标准差 也叫报酬与波动性比率,可能是最常用的投资组合管理度量标准。它采用的方法是,组合中超过无风险利率的那部分收益要用投资组合的标准差…...

计算夏普 The Sharpe ratio
夏普比率越大,说明基金单位风险所获得的风险回报越高。 夏普比例(The Sharpe ratio)=(预期收益率- 无风险利率)/投资组合标准差,也叫报酬与波动性比率,可能是最常用的投资组合管理度量标准。 它采用的方法是,组合中超过无风险利率的那部分收益要用投资组合的标准差来衡…...

【答读者问47】一场由夏普率引发的乱斗(backtrader和joinquant计算夏普率的方式哪一种更稳定?)
云子量化免费阅读传送链接 接着上一篇文章【答读者问46】一场由夏普率引发的乱斗(backtrader,pyfolio和聚宽都是怎么计算夏普率的?),本文尝试用蒙特卡洛模拟的思想,模拟1000次,随机生成1000个交易日的收益率序列,然后按照backtrader和聚宽计算夏普率的方式计算出结果,…...

.NET 夏普比率,波动率的公式讲解和代码实现运算
.NET中实现金融股票的一些简单算法(精简处理)(波动率,收益率,年化,夏普比率等算法简化) 最近接手一个关于股票的系统,显示端需要显示一些庞大且可分析性的比率数据,其中就用到了一些简单且实用的算法(标题…...

【答读者问46】一场由夏普率引发的乱斗(backtrader,pyfolio和聚宽都是怎么计算夏普率的?)
云子量化免费阅读传送链接 在很早之前的文章中,对绩效分析的指标夏普率做过一些简单的探索,对比了不同平台上夏普率的计算方式,这次再次深入探索一下,为啥各个平台的夏普率的结果存在很大差别。这次主要探索backtrader、pyfolio和聚宽,对于夏普率如何计算。 多变的夏普率…...

unity获得两条直线的交点
//获得交点public Vector2 GetIntersection(Vector2 lineAStart, Vector2 lineAEnd, Vector2 lineBStart, Vector2 lineBEnd){float x1 lineAStart.x, y1 lineAStart.y;float x2 lineAEnd.x, y2 lineAEnd.y;float x3 lineBStart.x, y3 lineBStart.y;float x4 lineBEnd.x…...

两直线平行交叉相乘_四年级数学上册第六单元相交与平行测试题西师版
第1篇:四年级数学上册第六单元相交与平行测试题西师版四年级数学上册第六单元相交与平行测试题(西师版)一、填空。1、在同一个平面里,两条直线相交,有()个交点,形成()个角。2、两条直线相交成直角时,这两条直线()&…...

计算几何学 | 直线的正交/平行判定 | Parallel/Orthogonal | C/C++实现
问题描述 对于直线s1、s2,当二者平行时输出2,正交时输出1.s1通过点p0、p1,s2通过点p2、p3。 输入: 第1行输入问题数q。接下来q行给出q个问题。各问题的点p0、p1、p2、p3的坐标按照以下格式给出: xp0x_{p0}xp0 yp0y…...

计算两条直线的交点
/// <summary> /// 计算两条直线的交点 /// </summary> /// <param name"lineFirstStar">L1的点1坐标</param> /// <param name"lineFirstEnd">L1的点2坐标</param> /// <…...

Java判断两条直线,JAVA版判断两条线是否相交
/*** 判断两条线是否相交 a 线段1起点坐标 b 线段1终点坐标 c 线段2起点坐标 d 线段2终点坐标 intersection 相交点坐标* reutrn 是否相交: 0 : 两线平行 -1 : 不平行且未相交 1 : 两线相交*/public int segIntersect(Point A, Point B, Point C, Point D) {Point intersection…...

SAP 物料账未分摊差异分析
今天在开发处理未分摊差异程序的时候,偶然在网络上看到一篇这样的文章,挺有意思的,特意转载过来,方便大伙学习之用,若有异议,立即撤回。 利用CKMLCP运行完物料分类账之后,差异科目余额通常为0&…...

opencv求解两条直线的交点
假设现在有一个点集,需要拟合出最能够表达点集轮廓的几条直线,并求直线之间的交点。 从点集中拟合直线可以采用的方法:随机抽样一致性(RANSAC),霍夫变换(though transform) 思路1 利用点斜式表…...
找两条平行直线的中间直线
要求 如图所示,需要找到白色过道中间直线方程,为了下一步放置挡板用,挡板中轴线与过道中轴线的误差不超过1cm。 效果图 程序代码 ****************************************************************************************/ #include&l…...

判断两直线正交 平行问题
方法一: 用内积外积判断正交平行时,形参为线段 #include<iostream> #include<cmath> using namespace std;#define EPS (1e-10) #define equals(a, b) (fabs((a) - (b)) < EPS)//实数判断是否为0的方法class Point//建立point类…...
c如语言何判断两直线相交,(2)符号语言:(平行的传递性.具有传递性的情况下.可以连记为a∥b∥c)自主思考: (1)怎样判断两条直线平行?共面情况下初中方法.定义.平行公理.(2)经过线外一点.有几
变形2.如图,是正方体的平面图,在这个正方体中:①BE∥ED;②CN与BE是异面直线;③CN与BM成600的角;④DM⊥CN.以上四个命题中,正确的序号是________(③④ )例3、.已知空间四边形ABCD各边长与对角线都相等,求异面直线AB与CD所成的角的大小.解:分别…...

matlab 平行,MATLAB判断两条直线平行
两条直线平行的判据比较简单,只要斜率相等就可以了。但也有特殊情况,比如平行于y轴的直线斜率没有定义。综合考虑以上情形,就不难将程序写出来,具体如下:函数 isparallellines.mfunction flag isparallellines(line1,…...
学习OpenCV3:判断两条直线平行,并计算平行距离
一、问题 已知两条直线l1(x1,y1,x2,y2)l_1(x_1,y_1,x_2,y_2)l1(x1,y1,x2,y2)和l2(x3,y3,x4,y4)l_2(x_3,y_3,x_4,y_4)l2(x3,y3,x4,y4),现希望判断l1l_1l1与l2l_2l2间是否平行。若平行,计算出两条直线间的平行距离。 二、分析 y−…...

Linux下LED设备驱动开发(LED灯实现闪烁)
文章目录一、配置连接说明二、更新设备树(1)将led灯引脚添加到pinctrl子系统(2)设备树中添加LDE灯的设备树节点(3)编译更新设备树三、驱动开发与测试(1)编写设备驱动代码(…...

IoC 之 Spring 统一资源加载策略
《JavaPub源码》 IoC 之 Spring 统一资源加载策略 Spring 框架的核心是 IoC(Inversion of Control),它将应用程序的对象依赖关系管理和控制反转到容器中。在 Spring IoC 容器中,组件的创建和配置是通过外部配置文件(…...

如何学习docker
学习Docker可以遵循以下步骤: 了解Docker的基本概念和架构。学习Docker前,需要了解Docker的基本概念和组成部分,包括Docker镜像、Docker容器、Docker仓库、Docker网络等等,同时也需要了解Docker的整体架构和工作原理。 安装和配…...

比肩ChatGPT的国产AI:文心一言——有话说
🔗 运行环境:chatGPT,文心一言 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好&am…...

数据结构与算法--栈的应用:基于C++STL利用栈实现中缀表达式求值(数域限于非负整数)。
利用栈原理实现简单的中缀表达式求值的一个课程实验定义string ex;存放中缀表达式定义两个栈stack<char> op;//操作符栈stack<int> num;//操作数栈分别存放操作符和操作数核心问题一:如何分离string类型中的数字、运算符、括号?我们注意到如…...

智慧商场精准客流统计系统
随着店铺的精细化运营的深入,对各个店铺的客流进行统计,输出明确的客流统计报表,对店铺的运营及分析有较大的帮助。尤其是在连锁门店、超市、便利店等进行客流统计,能够让总部更快速的了解到各个分店的客流人数,方便店…...

工业识别手眼标定
目录 1 手眼标定的理论基础 1.1 AXXB1.2 约束条件分析 1.2.1 旋转矩阵所需的方程数量1.2.2 平移向量的约束数量2 基于平面运动的外参标定方法 2.1 传感器的旋转轴与平面法向量重合2.2 引入其它约束参考文献附录A 一、手眼标定的理论基础 1.1 AXXB 手眼标定(hand …...

基于ssm流浪动物救助及领养管理系统(文档)024
大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…...

使用binlog把数据恢复到指定时间
使用场景 我们的数据库都有在凌晨3点做数据全备份,假如我们的数据库在上午10点出了故障,那我们就可以用备份把数据还原到凌晨3点时的状态,但是3点到10点间的数据变动是没有的,如果要将数据库恢复到故障点之前,那么需要…...

华清远见重庆中心—后端基础阶段技术总结/Java高级/个人总结
目录String字符串String类使用时注意总结字符串String类中的常用方法可变字符串StringBuilderStringBuffer构造方法常用方法注意System类常用方法和属性Runtime类特点Date类构造方法常用方法SimpleDateFormat类构造方法日期模板常用方法包装类特点异常异常的产生异常的分类Exce…...

Android Kotlin协程之Channel的使用
Channel提供了一种便捷的方法使单个值在多个协程之间进行相互传输。 通道提供了一种在流中传输值的方法。 简单说就是Channel用于多个协程之间的通信,让协程之间的协作更加的顺畅。 主要内容: 一、通道基本使用二、通道的容量三、迭代Channel四、prod…...

在 AI 上训练 AI:ChatGPT 上训练另一种机器学习模型
ChatGPT 可以像 Linux 终端一样运行,并在给出以下提示时返回执行结果。下面我来带大家操作起来。 文章目录终端操作训练机器学习模型镜像演示终端操作 输入:I want you to act as a Linux terminal. I will type commands and you will reply with what…...

Docker之路(8.Docker网络、Docker0)
理解 Docker0 1.首先使用 ip addr 查看 lo: 是我们本机的回环地址eth0: 是我们系统的内网地址,例如我的就是阿里云内网地址docker0: 安装docker后 docker0 的地址 2. docker 是如何处理容器网络访问的? 2.1 先运行一个tomcat容器来测试 docker run…...

【Unity】创建一个自己的AR安卓程序
目录1 环境配置2 下载官方提供的AR Starter工程3 AR Starter工程中的包以及打包设置3.1 Package Manager3.2 Player Settings4 创建一个新的AR场景5 AR场景中的物体6 在unity中运行AR场景7 在AR场景的基础上添加自己的想法7.1 修改Cube的旋转速度/方向7.2 将Cube替换为其他物体…...

sensor 噪声
目录 改善信噪比SNR: 随机噪声: 空间噪声(模式噪声 pattern noise,非均匀噪声non-uniformity noise) 噪声来源: 在sensor层次改善噪声: 内容为学习记录,大部分从网上摘抄的。 …...

Linux下,几个关于容量获取命令
序言:Linux下存在很多命令,其中也存在很多获取容量的命令开发应用的经常会碰到一些需求,例如:1. 获取下当前设备存储空间,例如,总大小多少,剩余大小多少之类类似,还有检测U盘&#x…...

计算机常见的进制和单位
1. 十进制 - 进制说明:以 10 为基数的进制。 - 应用场景:常见的计数方式,如人民币金额、年龄等。 - 中文表达:十进制。 2. 二进制 - 进制说明:以 2 为基数的进制。 - 应用场景:计算机内部使用的基本计数…...

【AI工具大全】不应该只知道ChatGPT
AI工具导航:AI导航 | 深度导航 ChatGPT网址导航:GitHub - LangLangShanDeNanKe/chatgpt: ChatGPT网址导航,分享免费好用AI网站! 最大的AI工具目录:Futurepedia - The Largest AI Tools Directory | Home 生成图片或…...

ICG-PEG-CRGD-吲哚菁绿-聚乙二醇-环肽;ICG可用于肝脏手术的肝段及半肝染色显影、肿瘤边界界定及肝断面胆漏侦测等方面。
ICG-PEG-CRGD-吲哚菁绿-聚乙二醇-环肽 中文名称:-吲哚菁绿-聚乙二醇-环肽 英文名称:ICG-PEG-CRGD 性状:绿色粉末 溶剂:二氯甲烷等常规性溶剂 稳定性:冷冻保存 分子量:1000、2000、3400、5000等&#…...

Go 设计模式中工厂方法模式应用
工厂方法模式(Factory Method Pattern)是一种常见的设计模式,它属于创建型模式。在 Go 语言中,工厂方法模式经常被用于对象的创建和初始化。 在工厂方法模式中,我们定义一个抽象的工厂接口,用于创建一系列…...

机器学习中的五种回归模型及其优缺点
线性回归 回归是在建模过程中用于分析变量之间的关系、以及变量是如何影响结果的一种技术。线性回归是指全部由线性变量组成的回归模型 线性回归的几个特点: 1. 建模速度快,不需要很复杂的计算,在数据量大的情况下依然运行速度很快。 2. 可以…...

verilog的经典电路详解
经典的电路的控制 例如 :spi 控制器 文档 design spec (1) IO postlist (2) feature list (3) 框图:对其进行分解,分隔 ,查看每个模块接口都有那些信息 设计人员 : 对自己的代码心里有数 全加器 提供进位输出&#x…...

神经网络之反向传播算法(加入Nesterov动量的误差反向传播算法)
文章目录1、Nesterov动量2、结合Nesterov动量的误差反向传播算法3、算法实现3.1 训练过程3.2 测试过程4、参考源码及数据集1、Nesterov动量 在动量法提出不久之后,Nesterov动量也随之被提了出来,此方法属于动量法的进一步发展,与动量法不同的…...

在Ubuntu上使用VSCode编译MySQL Connector/C连接库
首先下载并解压MySQL Connector/C源码,然后执行以下步骤: 1、安装MySQL Connector/C依赖:在终端中输入以下命令来安装MySQL Connector/C的依赖项: sudo apt-get install build-essential cmake 2、下载并解压MySQL Connector/C源…...

LeetCode 2395 - 和相等的子数组
给你一个下标从 0 开始的整数数组 nums ,判断是否存在 两个 长度为 2 的子数组且它们的 和 相等。注意,这两个子数组起始位置的下标必须 不相同 。 如果这样的子数组存在,请返回 true,否则返回 false 。 子数组 是一个数组中一段…...

游戏平台商店化的功能特点
帮助用户高效的获取游戏以及游戏相关内容是游戏平台的核心,基于这个需求在平台功能的设计上与其他类型产品也有着类似的思路。商店模式的特点诸如百货商店、超市、书店以及其他类型的商店,都会根据推荐、分类两个特点提供商品。 如果把游戏比作书籍&…...

多线程进阶学习08------CAS与原子类详解
CAS CAS介绍 CAS的全称是:比较并交换(Compare And Swap)。在CAS中,有这样三个值: V:变量var,也即AtomicInteger类当中被声明为volatile 的valueE:期望值(expected)U:新…...

牛刀小试(牛客小题)
今天为大家带来了几道牛客网的题 很简单 注重基础BC105 矩阵相等判定描述KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。输入描述:第一行包含两个整数n和m,表…...

开启新航路,拓尔思发力AIGC市场 | 爱分析调研
2022年,随着AI聊天机器人GhatGPT在世界范围内持续火爆,极具创意、表现力、个性化且能快速迭代的AIGC技术成功破圈,成为全民讨论热点。 AIGC是指在确定主题下,由算法模型自动生成内容,包括单模态内容如文本、图像、音频…...

彻底关闭Windows更新
一、关闭Windows Update服务 1、按“Windows R”键,打开运行对话框,并输入“services.msc”,然后再单击“确定”。 2、在弹出的服务窗口中,找到“Windows Update”选项并双击打开它。 3、在弹出的“Windows Update的属性”对话框…...

Array.from() 超全用法详解
Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。 下面是一个类似数组的对象,Arr…...

IP编辑框(官方、网上、自定义)——QtWidget
前言 最近小工具界面上用到了ip编辑框,目前是直接放了个编辑框QLineEdit,因为属于自用,就不用写诸多限制。但是时间上有多余,就用官方的(即在QLineEdit基础上直接设置的)、网上的(QLineEdit拼接…...

【Note8】
#!/bin/bash # # Copyright 2019-present Huaqin. All Rights Reserved. # # This program file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; versio...

ELK企业级日志分析平台(二)
文章目录一、kibana数据可视化1.部署2.定制数据可视化(1)网站访问量(2)访问量排行榜(3)创建dashboard,大屏展示二、ES集群监控1.启用xpack认证2.metricbeat监控3.filebeat日志采集一、kibana数据…...

金三最冷春招?你工作找的怎么样?
今年3月,说它是史上“最冷春招”也不为过,不少朋友都反馈说自己投的简历石沉大海,这些似乎都证明了一件事:今年找工作真的难! 破局最重要的一点是:不断提升个人价值。 一个人在职场里、在专业领域、在技术…...

C# 连接Oracle数据库和读取数据
一直没有Oracle数据库使用的经验,现在项目对接需要使用Oracle数据库,正好花点时间来学习学习,学点皮毛然后使用用在项目上就好了。 前面的文章对Oracle数据库的安装,以及Navicat for Oracle可视化工具安装、数据库视图/表的创建进…...

面试准备啊
fail fast 是把数组原来的更改次数记住 每次都去比较 变了 就抛异常 如果数组容量没到64 会先扩容 再树化 缺点:全是偶数 hash分布不均匀 质数比较好(二次哈希也不需要) 效率好 2的n次幂 使用内存屏障解决指令重排序 第一次扩容和之后的不…...

一篇学会redis
一、Redis概述 Redis是一个开源的key-value存储系统。支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集…...

这几个免费PPT模板、素材库,你绝对不能错过
1、菜鸟图库 ppt模板免费下载|ppt背景图片 - 菜鸟图库 网站有各种类型的素材,主要以设计素材为主,但办公类素材也很多,PPT模板就有上万个,而且经常更新。模板质量都很高,分类也很清晰,全部都能免费下载&am…...

JS-对象篇
内容 简单介绍 重点介绍三个 Array,String和JSON 后面这两个不是重点 BOM-浏览器对象模型 DOM-文档对象模式(JS中每个HTML标签都封装成一个DOM对象) Array 和java不同 方式一 JS中是var 变量 new Array()(这个变量名后面没有[]这个标记&…...

vue项目使用xshell部署到服务器
萌新小白疯狂百度,累哭了。 后端部署:后端jar部署 百度,csdn上的大致分两条路线 1,服务器上 安装tomcat 部署服务 2,服务器上安装 nginx部署服务 我下面使用的是第二种方法,第一种我也没有成功…...

Leetcode 二分查找的一些思考
正常做法是class Solution { public:int search(vector<int>& nums, int target) {int l0,rnums.size();while(l<r) {int mid(lr)/2;if(nums[mid]<target){lmid1;}else if(nums[mid]>target){rmid;} elsereturn mid;}return -1;} };为什么是 rnums.size() 而…...

五、k8s 生命周期管理和服务发现
文章目录前言深入理解 Pod 的生命周期Pod 的完整生命周期如何确保 Pod 的高可用健康检查探针优雅启停案例Service 对象Service 对象Endpoint 对象EndpointSlice 对象Service、Endpoint 和 Pod 的对应关系kube-proxyNetfilter 和 iptableskube-proxy 工作原理DNS 与 域名服务k8s…...

个人练习-Leetcode-835. Image Overlap
题目链接:https://leetcode.cn/problems/image-overlap/ 题目大意:给出两个位图矩阵img1[][]和img2[][],其中元素只有0和1。一次平移是指将一个图像里【所有的1】都向左/右/上/下移动一格。求经过若干次平移后,两个图像能重叠的1…...

Java ---包
(1)定义 包是Java语言有效地管理类的一个机制。在不同Java源文件中可能出现名字相同的类,如果用户想区分这些类,就需要使用包名。使用包名可以有效地区分名字相同的类,当不同Java源文件中的两个类的名字相同时&am…...

【前沿技术】文心一言 PK Chat Gpt
目录 写在前面 一、文心一言 二、Chat GPT 三、对比 四、总结 写在前面 随着人工智能技术的不断发展和普及,越来越多的智能应用走入了人们的日常生活,如智能语音助手、智能客服、机器翻译等等。在这些应用中,自然语言生成(…...

Centos系统服务器怎么查看端口是否开放?
不同的linux系统查看端口是否开放的不同,在某些环境下,需要依赖于服务,如果centos中并没有装相关的服务,就不一定能生效。所以具体使用哪种方法,取决于环境,可以每一种都试试。 方法:1、利用tel…...

每天学一点之Servlet
一、web资源 1、web资源的概念 将web应用部署到tomcat中,web应用中所有的内容都是服务器中的资源 2、web资源的分类 web资源的分类:web应用中src中编写的动态资源,web应用中web中编写的静态资源 静态资源:每次访问时…...

记人生第一次正式马拉松!
历时近五个小时,完成了人生的第一次正式的马拉松比赛;起步阶段,很多人朝前挤,我想先热身再说,不用太着急,慢慢跑;还试着边跑边看电影,但不成,只要一熄屏电影就不播了。跑了2公里&…...

【必须收藏】别再乱找TiDB 集群部署教程了,这篇保姆级教程来帮你!!| 博学谷狂野架构师
TiDB 基础使用 TiDB dashboard使用 TiDB Dashboard 是 TiDB 自 4.0 版本起提供的图形化界面,可用于监控及诊断 TiDB 集群。TiDB Dashboard 内置于 TiDB 的 PD 组件中,无需独立部署。 [外链图片转存中…(img-nQFfHgkf-1679905899529)] 集群概况 查看集群…...

Slope One:一种简单但实用的推荐算法
Slope One推荐算法 Slope One是一种简单但实用的协同过滤推荐算法。它的基本思想是如果两个项目对同一用户有相同的评分差值,那么这两个项目对其他用户也应有相同的评分差值。 Slope One通过对评分差值的利用从而减少所需的数据,这使得它在数据稀疏的情况下仍能有效运行。 算…...

安装MinIO
MinIO是一个高性能的、分布式的对象存储服务,能够在常规硬件上支持PB级别的存储规模。本文将介绍在CentOS系统中安装MinIO的步骤。步骤1:安装wget在开始安装MinIO之前,需要安装wget命令行工具。可以使用以下命令在CentOS系统中安装wget&#…...

今年面试好激烈!
金三银四过去一半,市场火热,但是大家就业压力却没有缓解多少。 很多粉丝后台留言,Java程序员面临的竞争太激烈了…… 我自己也有实感,多年身处一线互联网公司,虽没有直面过求职跳槽的残酷,但经常担任技术面…...

Matbox V1.0.7更新预览与手册
哔哩哔哩地址 : Click Me! Github地址 : Click Me! YouTube演示地址 :Click Me! 快速更新命令 pip install https://github.com/PythonnotJava/MTBOX/releases/download/matbo1.0.7/matbox-1.0.7-py3-none-any.whl --upgradePyPi 链接 :…...

DAY58|单调栈739.每日温度、496.下一个更大元素 I(哈希表)
单调栈里面是递增或者递减的 739.每日温度 今天正式开始单调栈,这是单调栈一篇扫盲题目,也是经典题。 大家可以读题,思考暴力的解法,然后在看单调栈的解法。 就能感受出单调栈的巧妙 class Solution {public int[] dailyTempe…...

RabbitMQ Explain in Detail
“Hello World”(using the Java Client) RabbitMQ is a message broker: it accepts and forwards messages. A queue. Although messages flow through RabbitMQ and your applications, they can only be stored inside a queue. A queue is only bound by the host’s me…...

Windows安装mysql5.5图文安装教程(详细说明+安装包)
mysql 安装图解 mysql图文安装教程(详细说明) 大家都知道MySQL是一款中、小型关系型数据库管理系统,很具有实用性,对于我们学习很多技术都有帮助,前几天我分别装了SQL Server 2008和Oracle 10g数据库,也用了JDBC去连接他们&#x…...

借LeNet简单的模型对深度学习训练过程中的注意事项进一步总结
本文是在卷积神经网络(LeNet)详解_欲游山河十万里的博客-CSDN博客博文的基础之上,对深度学习过程遇到的一些常见的问题进行总结。本文所总结的问题,不仅仅适用于这个简单的模型,更适用在其他的多个应用场景之下。 一、训练过程中模型的保存 …...

Java基础八股文
https://zhuanlan.zhihu.com/p/516271873 1.java八大基本数据类型 6 种数字类型: 4 种整数型:byte、short、int、long2 种浮点型:float、double 1 种字符类型:char1 种布尔型:boolean。 2.基本类型和包装类型的区别…...

安卓面经_安卓面试题(27/30)APK打包流程和反编译
系列专栏: 安卓高频面经解析大全专栏链接:150道安卓高频面试题全解析安卓高频面经解析大全目录详情 : 安卓面经_anroid面经_150道安卓常见基础面试题全解析安卓系统Framework面经专栏:Android系统Framework面试题解析大全安卓系统Framework面经目录详情:Android系统面经_Fr…...