Presto+Ranger源码编译问题总结

由于最近想要整合prestodb和ranger,故想要对presto内部进一步了解,方便对其添加ranger的插件。

为此,我对presto进行了源码编译,同时对ranger0.7.1(线上用的版本)进行了源码编译。presto是在win10上编译的,ranger在ubuntu16.04上进行编译的,下面讲解下主要的编译流程

一、Presto源码编译

一、环境

WIN10、jdk1.8、presto-0.233、maven-3.8.2

二、步骤

1.修改presto-maven-plugin

Presto使用presto-maven-plugin编译。在Window下编译失败原因是编译过程中类找不到,而且文件路径错了。

这里Presto使用的presto-maven-plugin的版本为0.3,从 GitHub prestodb/presto-maven-plugin 0.3 下载源码。

修改ServiceDescriptorGenerator

String className = classPath.substring(0, classPath.length() - 6).replace('/', '.');

替换成

String className = classPath.substring(0, classPath.length() - 6).replace(File.separatorChar, '.');

因为类名是通过把类路径的文件分隔符替换成.来生成,Windows的分隔符是\,所以把’/'替换成File.separatorChar。

再将presto-maven-plugin,mvn clean install -DskipTests 到本地仓库中。

2. 修改根目录pom.xml

是否安装Python
可能和Python环境有关。文档由sphinx生成,未安装就注释。

<module>presto-docs</module>

是否创建GIT仓库,使用git clone方式下载的
有,就不用管。
没有,需要在的元素中,添加配置

<plugin>       <groupId>pl.project13.maven</groupId>       <artifactId>git-commit-id-plugin</artifactId>       <configuration>           <skip>true</skip>       </configuration>   
</plugin>

再注释

<Build-Time>${git.build.time}</Build-Time>
<Git-Commit-Id>${git.commit.id}</Git-Commit-Id>
<Implementation-Version>${project.version}-${git.commit.id.abbrev}</Implementation-Version>
3.配置类unix环境

Presto编译过程中会用到Linux中的命令,Git Bash带有一些类Unix的命令。

设置Windows的环境变量Path,加上:%GIT_HOME%\usr\bin,其中GIT_HOME是Git的安装路径,一般默认安装路径为:C:\Program Files\Git。

如果使用了Intellij Idea,配置好环境变量之后,需要重启Intellij Idea才能生效。

4.编译项目
mvn clean install -DskipTests

编译成功了之后,就要进入到presto-main中修改相关配置

三、修改配置

修改presto-main\etc\config.properties

# http端口
http-server.http.port=18080
# 这里在Coordinator中启用了Discovery的嵌入式版本,所以它应该是Coordinator的URI
discovery.uri=http://localhost:18080# 插件文件夹
plugin.dir=../presto-server/target/presto-server-0.240/presto-server-0.240/plugin
#plugin.bundles=\
#  ../presto-blackhole/pom.xml,\
#  ../presto-memory/pom.xml,\
#  ../presto-jmx/pom.xml,\
#  ../presto-raptor/pom.xml,\
#  ../presto-hive-hadoop2/pom.xml,\
#  ../presto-example-http/pom.xml,\
#  ../presto-kafka/pom.xml, \
#  ../presto-tpch/pom.xml, \
#  ../presto-local-file/pom.xml, \
#  ../presto-mysql/pom.xml,\
#  ../presto-sqlserver/pom.xml, \
#  ../presto-postgresql/pom.xml, \
#  ../presto-tpcds/pom.xml, \
#  ../presto-i18n-functions/pom.xml,\
#  ../presto-function-namespace-managers/pom.xml,\
#  ../presto-druid/pom.xml

修改presto-main\etc\catalog\hive.properties
将hive.properties重命名为hive.properties.bak。启动后默认会加载catalog目录下所有的连接器,本地无hadoop、hive等环境,就会报错导致启动失败。其他自带的catalog,如果没有用到,请修改名称,以免启动带来不必要的麻烦。

一般你可以验证mysql即可。

修改PrestoSystemRequirements.java

注释presto-main模块PrestoSystemRequirements的代码,相关代码片段用IDEA搜索功能查找

failRequirement("Presto requires Linux or Mac OS X (found %s)", osName);

修改文件描述符大小限制(手动改成10000):

private static OptionalLong getMaxFileDescriptorCount(){try {MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();//Object maxFileDescriptorCount = mbeanServer.getAttribute(ObjectName.getInstance(OPERATING_SYSTEM_MXBEAN_NAME), "MaxFileDescriptorCount");Object maxFileDescriptorCount = 10000;return OptionalLong.of(((Number) maxFileDescriptorCount).longValue());}catch (Exception e) {return OptionalLong.empty();}}

下面a/b步骤可以根据目的选一个,a步不包含任何插件,可以快速调试接口。b步包含完整插件,有完整的功能:
a、接下来,把PluginManager的插件注释掉,

   /*for (File file : listFiles(installedPluginsDir)) {if (file.isDirectory()) {loadPlugin(file.getAbsolutePath());}}for (String plugin : plugins) {loadPlugin(plugin);}*/

把etc/catalog的配置文件全部改名为.properties.bak
b、下载presto-server-0.207.tar.gz文件,解压到任意目录,把这里边的plugin目录作为IDEA工程的plugin目录,需要打开文件PluginManagerConfig.java,做如下修改:

//    private File installedPluginsDir = new File("plugin");private File installedPluginsDir = new File("D:\\presto-server-0.207\\plugin");

etc/catalog的配置文件根据需要改名为.properties.bak
最后运行PrestoServer。

四、启动

首先要配置好启动的jvm参数VM options

-Xmx800M -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent -XX:+CMSClassUnloadingEnabled -XX:+AggressiveOpts -XX:+HeapDumpOnOutOfMemoryError -XX:ReservedCodeCacheSize=150M -Dsun.security.krb5.debug=true  -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties 

然后选择presto-main项目,主类是com.facebook.presto.server.PrestoServer

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UFZtCKkN-1643349229752)(C:\Users\luohaizhang\AppData\Roaming\Typora\typora-user-images\1643106498641.png)]

五、遇到的问题

1、Cannot resolve symbol 'SqlBaseParser

在运行项目的时候,出现例如在presto-parser模块Cannot resolve symbol 'SqlBaseParser缺少代码的错误,这是因为源码不带anltr4的生成代码。可以在根目录运行生成anltr4代码的命令。

mvn antlr4:antlr4

在执行命令完成后,错误依旧没有消失,我们可以看看项目的结构。File -> Project Structure -> Modules -> presto-parser,将presto-parser的target -> generated-sources ->anltr4设置为Sources

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WUo7n1a5-1643349229753)(C:\Users\luohaizhang\AppData\Roaming\Typora\typora-user-images\1643106367431.png)]

参考文章:

https://blog.csdn.net/qq_36160730/article/details/109067896

https://www.cnblogs.com/ginponson/p/9500663.html

二、ranger源码编译流程

1. 部署准备

ranger: 进入apach官网下载 http://ranger.apache.org/download.html, 本次使用的是ranger0.7.1 ,地址为https://codeload.github.com/apache/ranger/zip/refs/tags/release-ranger-0.7.1

maven: 进入Apache的maven官网http://maven.apache.org/download.cgi下载, 本次用的是maven3.8.2

python2.7: 因编译及试用中需要Python2.7版本的Python,因此如果为Centos6系统,需要手动升级Python至Python2.7,升级过程可参考历史文章Python升级

MySQL: 需要mysql数据库,如无可用MySQL需要部署一套MySQL,部署方法请参考历史文章MySQL部署

mysql-connector-java: 进入MySQL官网下载 https://dev.mysql.com/downloads/connector/j/5.1.html

Jdk版本: 本次使用的jdk版本是1.8.0_321

具体安装这些组件的过程不再赘述,可以参考下面贴出来的两篇文章。

2.编译

将ranger0.7.1下载好,上传到ubuntu目录,可以放到你用户的家目录下,注意必须要当前账户有权限,否则会遇到很多权限不足的问题;

解压,导入到idea中。或者你不用idea直接解压也ok,idea为了方便看代码,后续做插件修改之类的。

修改ranger根目录的pom.xml文件

 <repository><id>apache.snapshots.https</id><name>Apache Development Snapshot Repository</name>
<!--            <url>https://repository.apache.org/content/repositories/snapshots</url>--><url>https://repo1.maven.org/maven2/</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>apache.public.https</id><name>Apache Development Snapshot Repository</name><url>https://repository.apache.org/content/repositories/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>

执行mvn命令,打包

mvn clean compile package assembly:assembly install -Dmaven.test.skip=true;

此处将单元测试全部略过,因为有的单元测试有问题会影响编译。

注意,一定要安装了python2,否则你编译不过ranger-util

成功编译的结果:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for ranger 0.7.1:
[INFO] 
[INFO] ranger ............................................. SUCCESS [  3.591 s]
[INFO] Jdbc SQL Connector ................................. SUCCESS [  1.632 s]
[INFO] Credential Support ................................. SUCCESS [  0.479 s]
[INFO] Audit Component .................................... SUCCESS [  1.731 s]
[INFO] Common library for Plugins ......................... SUCCESS [  2.892 s]
[INFO] Installer Support Component ........................ SUCCESS [  0.265 s]
[INFO] Credential Builder ................................. SUCCESS [  0.405 s]
[INFO] Embedded Web Server Invoker ........................ SUCCESS [  0.341 s]
[INFO] Key Management Service ............................. SUCCESS [  0.891 s]
[INFO] ranger-plugin-classloader .......................... SUCCESS [  0.198 s]
[INFO] HBase Security Plugin Shim ......................... SUCCESS [  1.319 s]
[INFO] HBase Security Plugin .............................. SUCCESS [  1.280 s]
[INFO] Hdfs Security Plugin ............................... SUCCESS [  4.005 s]
[INFO] Hive Security Plugin ............................... SUCCESS [  2.247 s]
[INFO] Knox Security Plugin ............................... SUCCESS [  0.550 s]
[INFO] Storm Security Plugin .............................. SUCCESS [  0.642 s]
[INFO] YARN Security Plugin ............................... SUCCESS [  0.462 s]
[INFO] Ranger Util ........................................ SUCCESS [  5.051 s]
[INFO] Unix Authentication Client ......................... SUCCESS [  0.330 s]
[INFO] Security Admin Web Application ..................... SUCCESS [ 13.658 s]
[INFO] KAFKA Security Plugin .............................. SUCCESS [  1.504 s]
[INFO] SOLR Security Plugin ............................... SUCCESS [  3.403 s]
[INFO] NiFi Security Plugin ............................... SUCCESS [  0.354 s]
[INFO] Unix User Group Synchronizer ....................... SUCCESS [  1.097 s]
[INFO] Ldap Config Check Tool ............................. SUCCESS [  2.643 s]
[INFO] Unix Authentication Service ........................ SUCCESS [  2.010 s]
[INFO] KMS Security Plugin ................................ SUCCESS [  2.111 s]
[INFO] Tag Synchronizer ................................... SUCCESS [  2.863 s]
[INFO] Hdfs Security Plugin Shim .......................... SUCCESS [  0.515 s]
[INFO] Hive Security Plugin Shim .......................... SUCCESS [  1.543 s]
[INFO] Knox Security Plugin Shim .......................... SUCCESS [  0.665 s]
[INFO] YARN Security Plugin Shim .......................... SUCCESS [  0.543 s]
[INFO] Storm Security Plugin shim ......................... SUCCESS [  0.536 s]
[INFO] KAFKA Security Plugin Shim ......................... SUCCESS [  0.572 s]
[INFO] SOLR Security Plugin Shim .......................... SUCCESS [  0.848 s]
[INFO] Atlas Security Plugin Shim ......................... SUCCESS [  0.332 s]
[INFO] KMS Security Plugin Shim ........................... SUCCESS [  0.577 s]
[INFO] Ranger Hive Utils .................................. SUCCESS [  1.189 s]
[INFO] ranger-examples .................................... SUCCESS [  0.126 s]
[INFO] Ranger Examples - Conditions and ContextEnrichers .. SUCCESS [  0.523 s]
[INFO] Ranger Examples - SampleApp ........................ SUCCESS [  0.844 s]
[INFO] Ranger Examples - Ranger Plugin for SampleApp ...... SUCCESS [  1.209 s]
[INFO] Ranger Tools ....................................... SUCCESS [  1.728 s]
[INFO] Atlas Security Plugin .............................. SUCCESS [  0.976 s]
[INFO] Unix Native Authenticator .......................... SUCCESS [  1.484 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  07:03 min
[INFO] Finished at: 2022-01-28T10:38:15+08:00
[INFO] ------------------------------------------------------------------------

我们可以在根目录的target文件夹下看到生成的tar.gz包。

root@ubuntu:/home/luohaizhang/ideaProjects/ranger/ranger-release-ranger-0.7.1# ls target
antrun                            ranger-0.7.1-hbase-plugin.tar.gz  ranger-0.7.1-kms.tar.gz             ranger-0.7.1-solr-plugin.tar.gz   ranger-0.7.1-usersync.tar.gz
archive-tmp                       ranger-0.7.1-hbase-plugin.zip     ranger-0.7.1-kms.zip                ranger-0.7.1-solr-plugin.zip      ranger-0.7.1-usersync.zip
maven-shared-archive-resources    ranger-0.7.1-hdfs-plugin.tar.gz   ranger-0.7.1-knox-plugin.tar.gz     ranger-0.7.1-src.tar.gz           ranger-0.7.1-yarn-plugin.tar.gz
ranger-0.7.1-admin                ranger-0.7.1-hdfs-plugin.zip      ranger-0.7.1-knox-plugin.zip        ranger-0.7.1-src.zip              ranger-0.7.1-yarn-plugin.zip
ranger-0.7.1-admin.tar.gz         ranger-0.7.1-hive-plugin.tar.gz   ranger-0.7.1-migration-util.tar.gz  ranger-0.7.1-storm-plugin.tar.gz  rat.txt
ranger-0.7.1-admin.zip            ranger-0.7.1-hive-plugin.zip      ranger-0.7.1-migration-util.zip     ranger-0.7.1-storm-plugin.zip     version
ranger-0.7.1-atlas-plugin.tar.gz  ranger-0.7.1-kafka-plugin.tar.gz  ranger-0.7.1-ranger-tools.tar.gz    ranger-0.7.1-tagsync.tar.gz
ranger-0.7.1-atlas-plugin.zip     ranger-0.7.1-kafka-plugin.zip     ranger-0.7.1-ranger-tools.zip       ranger-0.7.1-tagsync.zip

3.安装启动ranger-admin

2.3.1 修改配置文件

#  进入target目录
cd /opt/apache-ranger-1.2.0/target/#  解压ranger-1.2.0-admin.tar.gz
tar  -zxvf  ranger-1.2.0-admin.tar.gz# 进入ranger-1.2.0-admin目录
cd  ranger-1.2.0-admin# 修改 install.properties
vim install.propertiesSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java-8.0.17.jar   //  修改为准备工作中下载的jar包及路径db_root_user=root
db_root_password=123456
db_host=192.168.56.105db_name=ranger
db_user=rangeradmin
db_password=rangeradmin# 可以注销如下内容
#Source for Audit Store. Currently only solr is supported.
# * audit_store is solr
## audit_store=solr# * audit_solr_url URL to Solr. E.g. http://<solr_host>:6083/solr/ranger_audits
## audit_solr_urls=
## audit_solr_user=
## audit_solr_password=
## audit_solr_zookeepers=

这里不用solr组件统计了,测试而已

调用脚本./setup.sh 安装

注意,如果中途报如下错误

2019-08-20 08:54:22,460  [I] '/usr/local/java/bin/java' command found
setup.sh:行325: bc: 未找到命令
setup.sh: 第 325 行:[: -eq: 期待一元表达式

即缺少bc命令,安装后即可 。

注意,mysql一定要有访问权限,必须不限制当前机器的host。

最终出现如下结果

2019-08-20 09:00:18,240  [I] --------- Verifying Ranger DB connection ---------
2019-08-20 09:00:18,240  [I] Checking connection..
geradmin' -p '********' -noheader -trim -c \; -query "SELECT version();"
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
2019-08-20 09:00:18,838  [I] Checking connection passed.
2019-08-20 09:00:19,091  [I] DB FLAVOR :MYSQL
2019-08-20 09:00:19,092  [I] --------- Verifying Ranger DB connection ---------
2019-08-20 09:00:19,092  [I] Checking connection..
geradmin' -p '********' -noheader -trim -c \; -query "SELECT version();"
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
2019-08-20 09:00:19,660  [I] Checking connection passed.
Installation of Ranger PolicyManager Web Application is completed.

表示已完成安装。

4 .启动ranger-admin

#  进入ews目录
cd ews 
# 启动服务
./ranger-admin-services.sh  start
/**  正常情况下出现如下结果*/ 
Starting Apache Ranger Admin ServiceApache Ranger Admin Service with pid 236275 has started.#  查看是否启动
ps -ef|grep ranger
或
netstat -lntp|grep 6080

启动完成后,可以用web端登录验证,默认端口为6080,默认用户名密码均为admin

后续自行验证即可。

如果后面加了新的组件,比如写了presto的plugin,配置好后,编译,同样启动验证即可。

参考文章:

https://www.cnblogs.com/gjc592/p/11383778.html

https://blog.csdn.net/mm_bit/article/details/51208500

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. CnOpenData中国对联数据

    中国对联数据 一、数据简介 作为一种习俗&#xff0c;对联是汉族传统文化的重要组成部分。对联俗称“春贴”、“门对”、“春联”、“楹联”&#xff0c;来源于古代的桃符&#xff0c;是中国一种独特的文学形式。它以工整、对偶、简洁、精巧的文字描绘时代背景&#xff0c;抒发…...

    2024/5/5 6:06:46
  2. 【微服务】生产部署nacos集群(三个节点)

    使用docker部署nacos集群总是报错,于是使用普通方式 版本选择1.3.1,linux版 下载安装包 官网下载太慢,就不附官网连接了,直接云盘走起 链接:https://pan.baidu.com/s/1CD5JqucibK_1W7Yff95X3A 提取码:6ddh 下载完成后将安装包上传到linux服务器 解压 tar -zxvf na…...

    2024/4/14 0:29:43
  3. 【js03-条件语句及实例应用】

    一、传值&#xff1a;把一个变量传递给另一个变量 var 变量名值 var n3 var nm var a{name:"张丹";age:24} var ba &#xff08;1&#xff09;赋值传值:两份数据&#xff0c;两份数据之间不会影响 &#xff08;2&#xff09;引用传值&#xff1a;一份数据&#xff0c…...

    2024/4/14 0:30:13
  4. cesium 图层构建的那些事 (十六)

    今天我们来讲下聚合图层 首先我们定义参数 export enum ECluserLayerType { circle 0, shine 1, image 2,//未实现 } interface ClusterColor { value: number, color: string } export interface PBaseCluserLayer { enabled?: boolean,// 开启聚集统计 pixelRange?:…...

    2024/4/18 21:25:13
  5. 04 | 如何利用事务消息实现分布式事务?

    1.应用场景 主要用于解决消息生产者和消息消费者的数据一致性问题。 2.学习/操作 1.文档阅读 04 | 如何利用事务消息实现分布式事务&#xff1f;-极客时间 文章内容&#xff1a; 你好&#xff0c;我是李玥&#xff0c;今天我们来聊一聊消息和事务。 一说起事务&#xff0c;你可…...

    2024/4/14 0:29:53
  6. 大讲台大数据精英架构

    拉勾教育数据分析实战训练营目录&#xff1a; 第一阶段 数据分析师思维逻辑 第二阶段 拒绝工具人、表哥表姐、SQLBoy标签 第三阶段 掌握 BI 商业智能&#xff0c;数据可视化高人一等 第四阶段 核心 - 1V1 职业规划与指导 第五阶段 大数据存储与查询利器 Hive 第六阶段 数据分析…...

    2024/4/14 0:30:08
  7. (C#语言) httpClient使用put方式提交multiparty/form-data 数据类型 的 csv格式的文件【bear token鉴权】

    要求C#语言在微博service接口中使用content-type&#xff1a;multiparty/form-data属性&#xff0c;上传csv文件&#xff0c;且头部添加bear格式的jwt鉴权。实现通过接口完成批量数据的传输及同步。 //全局变量 public string urlHost“”&#xff1b; #region 主函数 [Web…...

    2024/5/5 6:28:52
  8. 【程序员学理财】有哪些普通人应该知道的经济学常识?

    文章目录一、前言二、宏观经济学1.名词定义2.主要内容三、微观经济学1.名词定义2.研究内容3.对比区别四、降息降准是什么意思&#xff1f;五、一些常用术语1.沉没成本2.边际成本一、前言 每天我们都在跟“经济”打交道&#xff0c;吃、穿、住、用、行这五样&#xff0c;没有一…...

    2024/4/14 0:29:38
  9. Android 开发面试中,面试过最喜欢问那些问题?,flutter真机调试

    msg.recycleUnchecked(); } } 这是循环消息时的部分代码&#xff0c;处理消息代码是msg.target.dispatchMessage(msg);&#xff0c;这里的target就是当时发送消息的handler。 二、网易&#xff08;2019.5.2面试&#xff09; 1、介绍项目 刚刚说了&#xff0c;不多介绍 2、说…...

    2024/4/16 1:54:42
  10. 18M 超轻量图像识别系统,商品、车辆、人脸识别一网打尽

    图像识别作为深度学习算法的主流实践应用方向&#xff0c;早已在生活的各个领域发挥作用&#xff0c;如安全检查和身份核验时的人脸识别、无人货架和智能零售柜中的商品识别&#xff0c;这些任务背后的关键技术都在于此。 图1 PP-ShiTu应用于商品识别效果示意&#xff08;开发者…...

    2024/4/18 19:58:59
  11. 过滤器与监听器

    过滤器&#xff1a;Filter 1. 什么是过滤器&#xff1a; 过滤器实际上就是对web资源进行拦截&#xff0c;做⼀些处理后再交给下一个过滤器或servlet处理&#xff0c;通常都是用来拦截request进⾏处理的&#xff0c;也可以对返回的response进行拦截处理。 2.过滤器的语法格式…...

    2024/4/19 1:19:03
  12. 中国非接触温度传感器市场现状研究分析与发展前景预测报告(2022)

    【报告篇幅】&#xff1a;118 【报告图表数】&#xff1a;157 【报告出版时间】&#xff1a;2021年12月 报告摘要 2021年中国非接触温度传感器市场销售收入达到了 万元&#xff0c;预计2028年可以达到 万元&#xff0c;2022-2028期间年复合增长率(CAGR)为 %。中国市场核心厂…...

    2024/4/7 18:19:19
  13. 日常记录之antDesign使用DatePicker组件(2)

    昨天跟大家分享了在antd官网如何使用DatePicker组件并且选择效果为周的方法&#xff0c;今天再跟大家分享一下如何去除DatePicker选择周的时候去掉最左边的周的那一列。 效果图如下&#xff1a; 对比原来的图&#xff1a; 今天一上班&#xff0c;leader就让我把左边标红的列去…...

    2024/4/14 0:30:03
  14. APB协议

    文章目录什么是 APB总线APB信号列表APB状态机写操作&#xff1a;读操作&#xff1a;AMBA(Advanced Microcontroller Bus Architecture)总线是由ARM公司提出的一种开放性的片上总线标准&#xff0c;它独立于处理器和工艺技术&#xff0c;具有高速度低功耗等特点。 它不是芯片与外…...

    2024/5/5 7:01:46
  15. 模板c++

    目录 一、模板简介 1、调用函数模板 隐式调用&#xff1a;正常函数传参即可调用 显示调用&#xff1a;函数名<类型名>(参数) 2、函数模板的两种形态&#xff1a; (1)、 普通函数函数模板 (2) 、类中函数函数模板 3、函数模板特殊写法:(1)缺省写法 (2)存在常…...

    2024/5/5 6:32:32
  16. Java-ArrayList集合快速入门

    文章目录1. 集合2. ArrayList集合3. ArrayList类的常用方法3.1 构造方法3.2 添加元素方法4. 泛型5. ArrayList集合常用API1. 集合 集合是与数组类似&#xff0c;也是一种容器&#xff0c;但是其存储容量可变。 数组的特点&#xff1a; 数组定义完成后&#xff0c;类型确定、长度…...

    2024/4/14 0:30:08
  17. 钉钉免费实现内网穿透绝对靠谱

    一、下载钉钉穿透工具&#xff0c;官网地址(https://github.com/open-dingtalk/pierced)&#xff0c;或者直接克隆到本地&#xff0c;git命令&#xff1a; git clone https://github.com/open-dingtalk/pierced.git二、启动运行&#xff0c;打开项目切换至 windows_64 目录下&…...

    2024/4/7 18:19:14
  18. (C语言之路-----p10:自定义类型详解结构体,枚举,联合)

    &#xff08;C语言之路-----p10&#xff1a;自定义类型详解:结构体,枚举,联合) 对于这篇博客的所有的自定义类型,除了枚举类型以外,其他的类型要访问函数可以通过. 或者 -> 访问, .操作符可以直接访问自定义类型, 而 ->是通过自定义类型的指针来访问成员 一.结构体 结…...

    2024/4/19 19:54:08
  19. AHB协议

    文章目录什么是AHB总线协议AHB总线组成AHB信号描述AHB传输Bust传输AMBA高级处理器总线架构&#xff0c;不同的速率要求构成了高性能SOC设计的通信标准:AHB高级高性能总线APB高级外围总线AXI高级可拓展接口 什么是AHB总线协议 AHB&#xff1a;主要是针对高速率、高频宽及快速系…...

    2024/4/16 21:51:11
  20. 中国酚醛环氧树脂市场现状研究分析与发展前景预测报告

    2021年中国酚醛环氧树脂市场销售收入达到了 万元&#xff0c;预计2028年可以达到 万元&#xff0c;2022-2028期间年复合增长率(CAGR)为 %。中国市场核心厂商包括Huntsman、GP Chemicals、Aditya Birla Group、DuPont和Hexion Inc.等&#xff0c;按收入计&#xff0c;2021年中国…...

    2024/4/14 0:30:29

最新文章

  1. oracle清空表的delete from和truncate table的優劣

    1.使用delete from 優點&#xff1a; 1.保留記錄&#xff0c;delete from不會立即刪除數據而是保留記錄 2.允許回滾&#xff0c;delete from的數據不會立即刪除數據&#xff0c;且會記錄到binlog裡面&#xff0c;後期可以回滾數據 3.可以選擇性的刪除數據 缺點 1.不會釋放…...

    2024/5/5 9:18:56
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 字符串匹配算法之BF与KMP算法

    目录 BF算法(暴力匹配算法) KMP算法 核心思想&#xff1a; next数组 next数组的优化 BF算法(暴力匹配算法) #include <assert.h> int BF(const char* str, const char* sub) {assert(str ! NULL && sub ! NULL);if (str NULL || sub NULL){return -1;}int…...

    2024/5/4 9:41:01
  4. GIS与数字孪生共舞,打造未来智慧场景

    作为一名数字孪生资深用户&#xff0c;近日我深刻理解到GIS&#xff08;地理信息系统&#xff09;在构建数字孪生体中的关键作用。 数字孪生技术旨在构建现实世界的虚拟镜像&#xff0c;而GIS则是这一镜像中不可或缺的空间维度框架和导航灯塔。数字孪生的核心是通过数字化方式…...

    2024/5/2 2:35:02
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/4 18:20:48
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57