阿里分布式事务seata
(一) seata 介绍
- Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案
- 这里演示学习使用SpringCloud/SpringBoot集成配置了Seata,并使用AT模式实现分布式事务回滚
- Seata GitHub
- Seata 官方文档
- Seata Demo GitHub
(二) Seata server 安装配置
环境准备
- Mac OS
- Mysql8
- Eureka注册中心
GitHub 下载v1.1.0 Seata v1.1.0
- unzip seata-server-1.1.0.zip
- cd /seata/conf
- 由于seatev1.1.0默认驱动是mysql5,在seata/lib目录下,将mysql-connector-java-8.0.19.jar版本的jar包替换原来的mysq5;修改file.conf中的driverClassName = “com.mysql.cj.jdbc.Driver”
- 修改file.conf如下;修改为db模式,并且配置自己的mysql数据库链接;注意service配置中的vgroupMapping.licaibo_tx_group,其中licaibo_tx_group为自己定义,到时SpringBoot集成seata的时候需要保持一致
## transaction log store, only used in seata-server
store {## store mode: file、dbmode = "db"## file store propertyfile {## store location dirdir = "sessionStore"# branch session size , if exceeded first try compress lockkey, still exceeded throws exceptionsmaxBranchSessionSize = 16384# globe session size , if exceeded throws exceptionsmaxGlobalSessionSize = 512# file buffer size , if exceeded allocate new bufferfileWriteBufferCacheSize = 16384# when recover batch read sizesessionReloadReadSize = 100# async, syncflushDiskMode = async}## database store propertydb {## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp) etc.datasource = "dbcp"## mysql/oracle/h2/oceanbase etc.dbType = "mysql"driverClassName = "com.mysql.cj.jdbc.Driver"url = "jdbc:mysql://localhost:3306/seat-server"user = "root"password = "root"minConn = 1maxConn = 10globalTable = "global_table"branchTable = "branch_table"lockTable = "lock_table"queryLimit = 100}service {#transaction service group mappingvgroupMapping.licaibo_tx_group = "default"#only support when registry.type=file, please don't set multiple addressesdefault.grouplist = "127.0.0.1:8091"#degrade, current not supportenableDegrade = false#disable seatadisableGlobalTransaction = false
}}
在自己的seat-server数据库需要创建三张表,具体脚本在 Seata-mysql-script
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
-- the table to store GlobalSession data
CREATE TABLE IF NOT EXISTS `global_table`
(`xid` VARCHAR(128) NOT NULL,`transaction_id` BIGINT,`status` TINYINT NOT NULL,`application_id` VARCHAR(32),`transaction_service_group` VARCHAR(32),`transaction_name` VARCHAR(128),`timeout` INT,`begin_time` BIGINT,`application_data` VARCHAR(2000),`gmt_create` DATETIME,`gmt_modified` DATETIME,PRIMARY KEY (`xid`),KEY `idx_gmt_modified_status` (`gmt_modified`, `status`),KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8;-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(`branch_id` BIGINT NOT NULL,`xid` VARCHAR(128) NOT NULL,`transaction_id` BIGINT,`resource_group_id` VARCHAR(32),`resource_id` VARCHAR(256),`branch_type` VARCHAR(8),`status` TINYINT,`client_id` VARCHAR(64),`application_data` VARCHAR(2000),`gmt_create` DATETIME(6),`gmt_modified` DATETIME(6),PRIMARY KEY (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8;-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(`row_key` VARCHAR(128) NOT NULL,`xid` VARCHAR(96),`transaction_id` BIGINT,`branch_id` BIGINT NOT NULL,`resource_id` VARCHAR(256),`table_name` VARCHAR(32),`pk` VARCHAR(36),`gmt_create` DATETIME,`gmt_modified` DATETIME,PRIMARY KEY (`row_key`),KEY `idx_branch_id` (`branch_id`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8;
修改registry.conf,配置注册的Eureka注册中心
registry {# file 、nacos 、eureka、redis、zk、consul、etcd3、sofatype = "eureka"nacos {serverAddr = "localhost"namespace = ""cluster = "default"}eureka {serviceUrl = "http://localhost:9001/eureka"application = "default"weight = "1"}redis {serverAddr = "localhost:6379"db = "0"}zk {cluster = "default"serverAddr = "127.0.0.1:2181"session.timeout = 6000connect.timeout = 2000}consul {cluster = "default"serverAddr = "127.0.0.1:8500"}etcd3 {cluster = "default"serverAddr = "http://localhost:2379"}sofa {serverAddr = "127.0.0.1:9603"application = "default"region = "DEFAULT_ZONE"datacenter = "DefaultDataCenter"cluster = "default"group = "SEATA_GROUP"addressWaitTime = "3000"}file {name = "file.conf"}
}config {# file、nacos 、apollo、zk、consul、etcd3type = "file"nacos {serverAddr = "localhost"namespace = ""group = "SEATA_GROUP"}consul {serverAddr = "127.0.0.1:8500"}apollo {app.id = "seata-server"apollo.meta = "http://192.168.1.204:8801"namespace = "application"}zk {serverAddr = "127.0.0.1:2181"session.timeout = 6000connect.timeout = 2000}etcd3 {serverAddr = "http://localhost:2379"}file {name = "file.conf"}
}
(三) SpringBoot/SpringClod集成Seata
在各个微服务的SpringBoot增加依赖
<dependencys><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-seata</artifactId><version>2.1.0.RELEASE</version><exclusions><exclusion><artifactId>seata-all</artifactId><groupId>io.seata</groupId></exclusion></exclusions></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-all</artifactId><version>1.1.0</version></dependency></dependencys>
在每个微服务的数据库创建undo_log,用于执行回滚记录;具体脚本在 Seata-mysql-script
-- for AT mode you must to init this sql for you business database. the seata server not need it.
CREATE TABLE IF NOT EXISTS `undo_log`
(`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'increment id',`branch_id` BIGINT(20) NOT NULL COMMENT 'branch transaction id',`xid` VARCHAR(100) NOT NULL COMMENT 'global transaction id',`context` VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization',`rollback_info` LONGBLOB NOT NULL COMMENT 'rollback info',`log_status` INT(11) NOT NULL COMMENT '0:normal status,1:defense status',`log_created` DATETIME NOT NULL COMMENT 'create datetime',`log_modified` DATETIME NOT NULL COMMENT 'modify datetime',PRIMARY KEY (`id`),UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`)
) ENGINE = InnoDBAUTO_INCREMENT = 1DEFAULT CHARSET = utf8 COMMENT ='AT transaction mode undo table';
resources目录下增加file.conf和registry.conf两个配置文件
- SpringBoot配置file.conf;注意service中的vgroupMapping.licaibo_tx_group,其中licaibo_tx_group和seata server的配置保持一致
transport {# tcp udt unix-domain-sockettype = "TCP"#NIO NATIVEserver = "NIO"#enable heartbeatheartbeat = true# the client batch send request enableenableClientBatchSendRequest = true#thread factory for nettythreadFactory {bossThreadPrefix = "NettyBoss"workerThreadPrefix = "NettyServerNIOWorker"serverExecutorThread-prefix = "NettyServerBizHandler"shareBossWorker = falseclientSelectorThreadPrefix = "NettyClientSelector"clientSelectorThreadSize = 1clientWorkerThreadPrefix = "NettyClientWorkerThread"# netty boss thread size,will not be used for UDTbossThreadSize = 1#auto default pin or 8workerThreadSize = "default"}shutdown {# when destroy server, wait secondswait = 3}serialization = "seata"compressor = "none"}service {#transaction service group mappingvgroupMapping.licaibo_tx_group = "default"#only support when registry.type=file, please don't set multiple addressesdefault.grouplist = "127.0.0.1:8091"#degrade, current not supportenableDegrade = false#disable seatadisableGlobalTransaction = false}client {rm {asyncCommitBufferLimit = 10000lock {retryInterval = 10retryTimes = 30retryPolicyBranchRollbackOnConflict = true}reportRetryCount = 5tableMetaCheckEnable = falsereportSuccessEnable = false}tm {commitRetryCount = 5rollbackRetryCount = 5}undo {dataValidation = truelogSerialization = "jackson"logTable = "undo_log"}log {exceptionRate = 100}}
SpringBoot配置registry.conf
registry {# file 、nacos 、eureka、redis、zk、consul、etcd3、sofatype = "eureka"nacos {serverAddr = "localhost"namespace = ""cluster = "default"}eureka {serviceUrl = "http://localhost:9001/eureka"application = "default"weight = "1"}redis {serverAddr = "localhost:6379"db = "0"}zk {cluster = "default"serverAddr = "127.0.0.1:2181"session.timeout = 6000connect.timeout = 2000}consul {cluster = "default"serverAddr = "127.0.0.1:8500"}etcd3 {cluster = "default"serverAddr = "http://localhost:2379"}sofa {serverAddr = "127.0.0.1:9603"application = "default"region = "DEFAULT_ZONE"datacenter = "DefaultDataCenter"cluster = "default"group = "SEATA_GROUP"addressWaitTime = "3000"}file {name = "file.conf"}}config {# file、nacos 、apollo、zk、consul、etcd3type = "file"nacos {serverAddr = "localhost"namespace = ""group = "SEATA_GROUP"}consul {serverAddr = "127.0.0.1:8500"}apollo {app.id = "seata-server"apollo.meta = "http://192.168.1.204:8801"namespace = "application"}zk {serverAddr = "127.0.0.1:2181"session.timeout = 6000connect.timeout = 2000}etcd3 {serverAddr = "http://localhost:2379"}file {name = "file.conf"}}
配置SpringBoot工程的application.yml
spring:cloud:alibaba:seata:tx-service-group: licaibo_tx_group
创建数据源代理
/*** 数据源代理* @author wangzhongxiang*/
@Configuration
public class DataSourceConfiguration {@Bean@ConfigurationProperties(prefix = "spring.datasource")public DataSource druidDataSource(){DruidDataSource druidDataSource = new DruidDataSource();return druidDataSource;}@Primary@Bean("dataSource")public DataSourceProxy dataSource(DataSource druidDataSource){return new DataSourceProxy(druidDataSource);}@Beanpublic SqlSessionFactory sqlSessionFactory(DataSourceProxy dataSourceProxy)throws Exception{SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSourceProxy);sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/*.xml"));sqlSessionFactoryBean.setTransactionFactory(new SpringManagedTransactionFactory());return sqlSessionFactoryBean.getObject();}}
(四) 启动测试
- 启动Eureka注册中心
- 启动seata ./seata-server.sh
- 启动集成好的参与分布式事务的SpringBoot工程
- 在服务的入口使用@GlobalTransactional(name = “xxx”,rollbackFor = Exception.class)开启分布式事务
- 本文是参考阿里的demo,这里使用的是 springcloud-eureka-feign-mybatis-seata
(五) 更多集成方式例子
- seata v1.1.0提供了seata-spring-boot-starte,是使用springboot自动装配来简化seata-all的复杂配置。1.0.0可用于替换seata-all
- 配置上则不需要registry.conf和file.conf文件,将配置信息写在application.yml
- 具体参考阿里demo seata-spring-boot-starter-samples
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3829203.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
使用Mybatis或Mybatis-plus查询返回值中,只有主键值为null,其余正常
使用Mybatis或Mybatis-plus查询返回值中,只有主键值为null,其余正常原因应该就是表中主键名称格式不对,(如我设置的n_id, s_id)所以,我们有三个选择 无脑,给你的主键改一个不带id的名字(如我把s_id改成了sno)很想保留id这个, 那就采用驼峰命名法,如s_id->sId不改变原表, 告…...

笨办法学Python第二十五天:更多练习
你离这本书第一部分的结尾已经不远了,你应该已经具备了足够的 Python 基础知识,可以继续学习一 些编程的原理了,但你应该做更多的练习。这个练习的内容比较长,它的目的是锻炼你的毅力,编辑以下内容: print…...

YMTC X3 NAND 232L 终露真容,全球领先|国产芯之光
上一篇文章(芯片级解密YMTC NAND Xtacking 3.0技术),我们结合TechInsights获取芯片级信息梳理了国产NAND芯片厂商YMTC的技术演进之路,从2016公司成立,2018年发布Xtacking 1.0 NAND架构,2019年发布Xtacking …...

HBase Shell启动缓慢及操作耗时长的原因分析与解决
1.现象 在内网搭了一个 hbase-2.2.6(hadoop-2.7.3)的环境,使用的是其内置的 zookeeper-3.4.10,16010端口对应的 web界面可以正常访问,且各项功能正常。 在使用 hbase shell的过程中,首先是 hbase shell启…...

FromBottomToTop第十二周项目博客
FromBottomToTop第十二周项目博客 本周项目计划 设计整体架构,收集素材,制作出静态界面部分 项目进展 已完成游戏整体架构设计已完成游戏界面、背景音乐等素材的收集正在进行静态界面部分的制作游戏整体架构 框架类及核心类 Activity的实现类MainGameAct…...

模拟,枚举与递推
模拟 模拟指的是将题目描述转化为可执行的代码,其中我们会用到编程语言的基础内容,最常见的就是循环。 简单的题目,通常直接模拟就够了,比如 874. 模拟行走机器人 。 而如果是中等和困难的题目,除了使用模拟&#x…...

【Java8 新特性 3】Supplier简介,java视频直播技术架构
Supplier persionSupplier Person::new; Arrays.asList(“a”,“b”,“c”).forEach(e->System.out.println(e)); 在Java8中增加的接口Supplier,最适合用于表示工厂。带有Supplier的方法,通常应该限制输入工厂的类型参数使用有限制的通配符类型&am…...

2022考研 计算机美术设计专业专业要求与就业方向
计算机专业如今竞争日趋激烈,考题形式多样涵盖的内容较多,对于报考计算机专业同学来说复习是难点,2022考研计算机的考生们要提早开始着手准备了。 本文整理分享“2022考研计算机:计算机美术设计专业专业要求与就业方向”相关内容&…...

C#报错:Could not find any resources appropriate for the specified culture or the neutral culture
WinForm程序报错,提示: Could not find any resources appropriate for the specified culture or the neutral culture 代码: object obj ResourceManager.GetObject("btn_bg_down", resourceCulture); 资源文件都在的&#…...

iOS 视频边下边播
直接切入主题,要实现的功能是:1、ios视频音频边缓存边播放,缓存时可以在已下载的部分拖拽进度条。2、缓存到一半退出,再次播放同一地址的视频时,视频继续下载,并且缓存进度已经走到上一次下载的位置。3、无…...

Android开发:xml布局中字母大写的问题
刚才写demo的时候碰到一个问题 Room只有首字母大写。然后在视图中表现出来的是全字母大写 解决方法:加一行代码 android:textAllCaps"false"...

【5G NR】物理资源
文章目录前言1. 天线端口1.1 天线端口的定义1.2 准共址的定义2. 资源网格3. 资源单元4. 资源块4.1 资源块概述4.2 Point A4.3 公共资源块4.4 物理资源块4.5 虚拟资源块5. 部分带宽参考文献前言 NR物理资源包括天线端口(Antenna Port)、资源网格…...

win10蓝屏:终止代码:CRITICAL_PROCESS_DIED
1.硬件驱动问题Win X打开设备管理器-扫描检测硬件改动看是否有硬件驱动问题(黄色标识),有的话更新或卸载重装2.查看蓝屏原因使用软件:BlueScreenViewWinX - 时间查看器window日志-系统:红色错误标识为系统错误问题3.一…...

idea搭建maven程序:03-80端口子程序的代码部分(RestTempl)
目录 一、说明 1.1 80端口 1.2 RestTemplate 1.3 负载均衡(SOA) 二、80端口子程序的代码部分 2.1 新建 2.2 pom.xml 2.3 application.yml 2.4 程序入口 UsersMain80.class 2.5 entities包和实体类 2.6 config包和对应类 2.7 controller包和对应类 三、运行 一、说…...

[附源码]Python计算机毕业设计Django茂名特产销售商城网站
项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…...

jmeter压力测试(windows,linux)
1、启动jmeter,打开界面工具,添加一个线程组,添加驱动 2、添加一个JDBC Connection Configuration,连接池配置文件。右键线程组【添加】--【配置元件】- -【JDBC Connection Configuration】 2.1配置数据库信息 3、右键线程组【添…...

html radio的onclick事件设置
<span οnclick"show()"><?php foreach($choice as $key>$value){ ?><label><input name"choice" type"radio" value"<?php echo $key?>"><?php echo $value; ?></label> &l…...

写给Android开发的一封信,没有深度技术的苦
前言 最近有一位读者去面试Android开发,这位读者师出名门(BAT中的一家公司),是有十年的软件开发经验的高级Android工程师,但却以没有技术深度的理由拒绝了他。 昨天早上,我在给他做模拟面试的时候也发现了…...

webpack与vue-cli的关系
目录 1、什么是Webpack 2、为什要使用WebPack 3、WebPack和Grunt以及Gulp相比有什么特性 4、什么是vue-cli 5、webpack与vue-cli的关系 🔽 扩展:vue-cli2.x 与 vue-cli3.x创建vue脚手架项目结构对比 📚 参考资料 vue-cli是基于nodej…...

国产音频CODEC芯片 CL7016
立晶半导体,由Cubic Lattice Inc于2017年2月在北京设立。主要从事开发高品质消费类音频芯片:音频ADC,音频DAC,音频Codec,音频CLASS D等(性能等同Cirrus Logic、 TI等公司同类产品)。 公司前身是美国Cubic Lattice Inc。由10名分别来自Texas …...

从局部信息推测基恩士的Removing BackGround Information算法的实现。
最近从一个朋友那里看到了一些基恩士的资料,本来是想看下那个比较有特色的浓淡补正滤波器的(因为名字叫Shading Correction Filter,翻译过来的意思有点搞笑),不过确鬼使神差的利用现有的简单函数实现了一个简易高效的去除纹理背景的算法。 最近从一个朋友那里看到了一…...

工作一年的java程序员薪资,纯干货
1 JVM的内存区域布局 java代码的执行步骤有三点 java源码文件->编译器->字节码文件字节码文件->JVM->机器码机器码->系统CPU执行 JVM执行的字节码需要用类加载来载入;字节码文件可以来自本地文件,可以在网络上获取,也可以实时…...

arduino的pinMode()函数
pinMode() 1 说明 通过pinMode()函数,你可以将Arduino的引脚配置为以下三种模式: 输出(OUTPUT)模式输入(INPUT)模式输入上拉(INPUT_PULLUP)模式 (仅支持Arduino 1.0.1以后版本) 在输入上拉(…...

new Data()、set Data()、get Data()方法
先看一个例子: 打印结果如下: 我们在newData()方法里设置一个日期,然后对该日期进行 -1,得到的并不是前一天2月28号,而是 0;如果在setData()里对日期设置进行 -1,可以得到28号。 1. new Data()…...

中国民生银行天眼日志平台架构演进的平凡之路
本文由 【AI前线】原创,原文链接:t.cn/RYgJ8hDAI 前线导读: “随着中国民生银行的 IT 业务系统的迅速发展,主机、设备、系统、应用软件数量不断增多,业务资源访问、操作量不断增加,对于应用整体系统智能分析与处理的要…...

本地存储 sessionStorage / localStorage 使用及区别
本地存储 特性: 1.数据存储在用户浏览器中 2.设置、读取方便,甚至页面刷新不丢失数据 2.容量较大,sessionStorage 约5M,localStorage约20M 3.只能存储字符串,可以将对象JSON.stringify()编码后存…...

Android使用其他应用打开文件
public class MapTable {/*** -- MIME 列表 --*/public static final String[][] MIME_MapTable {// --{后缀名, MIME类型} --{".3gp", "video/3gpp"},{".3gpp", "video/3gpp"},{".aac", "audio/x-mpeg&…...

k8s常用命令
k8s常用命令get 获取资源列表 [rootk8s-node1 mytestyaml]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deployment-85ff79dd56-8f8s2 1/1 Running 0 30s nginx-deployment-85ff79dd56-nmhvr 1/1 R…...

[附源码]计算机毕业设计springboot现代诗歌交流平台
项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...

软件测试之TCP、UPD协议详解
在网络层的中,使用ARP、IP、路由协议,实现了数据的转发,从而实现两个机器之间数据包的传输。但是当数据包特别大的时候,通过网络层的协议,没有办法保证数据的完整性。此时,就需要传输层的协议实现数据包的完…...

kali linux怎么装软件,linux安装软件的几种方式(kali平台)和一些实用的软件(持续更新)...
安装软件前我们先更改镜像源,编辑 /etc/apt/sources.list 文件, 在文件最前面添加以下条目:#中科大更新源deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contribdeb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-fr…...

弘玑RPA | 广告优化师的智能小助手
作为一名广告优化师,日常工作就是时报、日报、周报、各种报表,各种分析,最怕的还是周末或者节假日正在外面玩,客户突然让发时报,因此不管去哪里都得带个电脑,非常不方便。有时候在想,做报表不过…...

es module 和 commonjs 模块化实践
1、当export default 导出的值是基本数据类型时,其值是不能被改变的。 举个例子,我们新建文件: base.js let name Joker; export const fn (value) > {name value; } export default name;change.js import name, { fn } from ./base.j…...

ICC学习——LAB1
ICC学习——LAB1数据准备和基础流程 文章目录ICC学习——LAB1数据准备和基础流程Task1 创建Milkway库Task2 载入netlist,TLU,约束和控制Task3 基础流程:设计规划floorplanTask4 基础流程:布局placement学习目标: 1.完成…...

信息技术(计算机基础知识精华版)
第1部分 计算机基础知识 计算机特点与应用范围计算机特点速度快 MIPS(百万条指令/秒) BIPS(十亿条指令/秒)MIPS:Million Instructions per second; BIPS: Billion Instructions per second存储容量大 精度高 在程序控制下自动完成具有逻…...

MATLAB函数调用
数学建模matlab自定义函数时间2020年5月10日 学习Matlab自定义函数使用,并结合所学函数简单修改了一下上周的代码实现了Topsis法。 1.Matlab语句构成的程序文件称为M文件,以m作为文件的扩展名,分为函数文件和程序文件。 程序文件即脚本文件…...

Nginx配置之https
文章目录https配置openssl实现私有CA签发证书免费SSL证书申请教程(推荐)部署ssl证书实现httpshttps配置 生成私钥,生成证书签署请求并获得证书,然后在nginx.conf中配置 示例: server {listen 443 ssl;server_name www.idfsoft.com;…...

2021年11月28号布置的作业
CSP-J 章节 第64 66课 队列和栈,需要做后面的题 第68 70课 set map 只需要理解概念,并做笔记 加下面这道题 【拦截导弹2】 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷࿱…...

Windows下的性能调优工具
性能调优是通过定位软件性能瓶颈,在保证功能正常的前提下,使用相应的技术来优化软件性能,从而提高软件的性能。 本文主要探讨Visual Studio提供的Diagnostic Tools及Performance Profiler工具。 注1:限于笔者研究水平࿰…...

两台Linux机器scp不输密码
应用场景: 调试程序时,不想直接在运行节点上编译程序,因为这样做容易泄露代码。因此,在用户win系统终端上配置一个与运行节点环境相同的虚拟机,代码放在虚拟机上编译,然后将编译后的执行文件或者动态库放在…...

InnoDB;MyISAM;MEMORY
MySQL主要存储引擎: MyISAM不支持事务,也不支持外键,但其访问速度快,对事务完整性没有要求InnoDB存储引擎提供了具有提交,回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB的处理效率差一些并…...

研究型论文_CICIDS2017 数据集中基于异常的入侵检测系统的机器学习基准测试(英文论文)
文章目录Benchmarking of Machine Learning for Anomaly Based Intrusion Detection Systems in the CICIDS2017 Dataset论文摘要论文解决的问题1.ANN(人工神经网络)2.DT(决策树)3.knn4.NB(朴素贝叶斯)5.RF…...

Java并发编程实战~生产者-消费者模式
前面我们在《Worker Thread 模式》中讲到,Worker Thread 模式类比的是工厂里车间工人的工作模式。但其实在现实世界,工厂里还有一种流水线的工作模式,类比到编程领域,就是生产者 - 消费者模式。 生产者 - 消费者模式在编程领域的…...

fast无线路由器设置服务器,迅捷(Fast)FW150R无线路由器设置
本文介绍了Fast迅捷FW150R无线路由器的安装和设置方法,FW150R因其出色的性能、配置简单和超高的性价比,深受广大用户的喜欢;不过对于没有网络基础的用户来说,完成FW150R路由器的安装和配置上网参数,任然有一定的困难&a…...

怎么加强网站开发的安全性?
网站是一种项目投资和收益的性价比高较高的物品,可是网站有一个难题,便是安全性,尽管说现如今的网络信息安全相比前些年要好啦许多,可是依然会有一些网站被别人挂暗链,挂木马病毒或是留侧门。今日大家就而言说如何提升…...

OpenShift Security (12) - 用 RHACS 管理容器之间的网络访问策略
《OpenShift 4.x HOL教程汇总》 本文在 OpenShift4.9 RHACS 环境中进行验证。 部署测试应用资源 oc new-project project1oc label namespace project1 nameproject1oc new-project project2oc label namespace project2 nameproject2oc new-project project3oc label namesp…...

windows下远程访问linux中的mysql数据库(创建数据库新用户)
windows下远程访问linux中的mysql数据库(创建数据库新用户) 如果想要远程访问数据库,数据库必须开启权限,允许可以被远程访问。 1.进入Linux系统mysql数据库查看user表 mysql> use mysql; mysql> select User,Host from …...

Spring Boot (十九):使用 Spring Boot Actuator 监控应用
微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? 在这种框架下,微服务的监控显得尤为重要。本文主要结合 Spr…...

Dubbo源码解析-RegistryDirectory层的解析
前言: 在分析完Dubbo的整体架构之后,我们对每个层次来单独分析下。 我们的消费者在启动时,会去查询其所有对应的provider,并将URL转换为Invoker保存到当前内存,并启动对provider的监听,当其发生变动时&am…...

在 Visual Basic 6 中让用户在运行时移动和调整控件大小
标题在 Visual Basic 6 中让用户在运行时移动和调整控件大小描述此示例说明如何让用户在 Visual Basic 6 中在运行时移动控件和调整控件大小。关键词拖动、移动、调整大小、控件、Visual Basic 6类别控件,ActiveX 本示例构建了一个 ActiveX 控件,允许用…...

打造基于 PostgreSQL/openGauss 的分布式数据库解决方案
在 MySQL ShardingSphere-Proxy 逐渐成熟并被广泛采用的同时,ShardingSphere 团队也在 PostgreSQL ShardingSphere-Proxy 上持续发力。相比前期的 alpha 与 beta,5.0.0 正式版对 PostgreSQL 的协议实现、SQL 支持度、权限控制等方面进行了大量的完善,为后续全面对接 Postgre…...

webpack常用基本配置的释义
webpack常用基本配置的释义 /*** 配置详解* https://webpack.docschina.org/configuration/optimization/* entry:入口起点* 写法1:string ---> entry: ./src/js/index.js* 单入口* 打包形成一个chunk,输出一个…...

接口自动化测试工具- postman-基础篇 发送http Request
1. 最简单的示例 新建请求填写请求方式:Get天下请求URL:https://www.baidu.com 1.1. click New去新建请求 1.2. 选择http Request 2.3 发送请求 1. 带参数的示例 1.1 新建请求 1.2 填写请求方式:Get 1.3 填写请求URL:https://ht…...

kubectl删除node节点
删除节点 1、驱逐节点上的pod:kubectl drain 10.10.10.43(node节点主机名) --delete-local-data --force --ignore-daemonsets 2、删除节点:kubectl delete node 10.10.10.43(node节点主机名)创作打卡挑战赛赢取流量/现金/CSDN周边激励大奖...

APP性能测试之帧率测试
无论是手机端还是PC端,画面的流畅度一直被用户视为衡量应用视觉体验的重要标准。而对开发者来说,帧率(FPS) 通常作为衡量应用是否流畅的标准。 一帧就是一副静止的画面,连续的帧就形成动画,我们通常说帧数,简单地说,就…...

MongoDB的介绍及基础使用流程
一、MongoDB简介 1、NoSQL概述 NoSQL(NoSQL Not Only SQL),意即反SQL运动,指的是非关系型的数据库,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据…...

ADO.NET入门教程(八) 深入理解DataAdapter(上)
转载:https://www.cnblogs.com/liuhaorain/archive/2012/03/25/2399510.html 摘要 ADO.NET有两个核心组件:基于连接的Data Provider组件以及基于非连接的DataSet组件。基于连接的Data Provider组件常用于实时地从数据库中检索数据。而基于非连接的DataSe…...

前端学习--day8 | 定位
1 定位 1.1 为什么需要定位 1. 浮动可以让多个块级盒子一行没有缝隙排列显示, 经常用于横向排列盒子。 2. 定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子。 1.2 定位组成 定位:将盒子定在某…...

数字视频监控技术基本术语
//视频监控概述: 三个阶段的核心设备: 模拟监控阶段的核心设备: 视频切换矩阵; 数字监控阶段的核心设备: 硬盘录像机(DVR); 智能监控阶段没有核心设备; IVS : 智能网络视频监控系统 Intelligent Video Surverillance. VCA : 视…...

Golang(go语言)开发环境配置
VSCode开发环境配置 目录VSCode开发环境配置先到VSCode官网去下载适合自己系统的VSCode安装软件演示在WIndows下 安装使用演示在Linux(Ubuntu/centos)下安装vscode并使用。演示在MAC下安装vscode并使用Windows下搭建Go开发环境-安装和配置SDKSDK介绍下载SDK工具包windows下安…...

Koch Curve Aizu - ALDS1_5_C
Write a program which reads an integer n and draws a Koch curve based on recursive calles of depth n. The Koch curve is well known as a kind of fractals. You can draw a Koch curve in the following algorithm: Divide a given segment (p1, p2) into three e...

以等边三角形实现迭代次数在6次以内的kock雪花曲线并用键盘交互控制迭代次数
在https://blog.csdn.net/derbi123123/article/details/105397176中详细说明了kock曲线的原理并以直线段实现迭代次数在6次以内的kock曲线并用键盘交互控制迭代次数 代码: 功能:按a增加迭代次数,按d减少迭代次数。 迭代六次(按六…...

谢尔平斯基三角形分形 - 产生随机性的最简方法
1.什么是谢尔平斯基三角形? 谢尔平斯基三角形是一组多个(或无限)三角形。看看下面的谢尔平斯基三角形,看看它看起来有多无限。 这里的概念是,填充的三角形由中心的空等边三角形填充,使得这个三角形空间与围…...

KOCH曲线介绍
目录 一 什么是KOCH曲线 二 KOCH曲线的性质 三 KOCH曲线算法思路 四 KOCH曲线的应用 五 KOCH曲线生成的部分代码 一 什么是KOCH曲线 科克曲线(Koch curve)是一种典型的分形曲线。它是科克(Koch,H.von)于1904年构造出来的。 一个边长为1的等边三角形…...

window CHCH命令
CHCP是一个计算机指令,能够显示或设置活动代码页编号。 65001 UTF-8代码页 950繁体中文 936简体中文默认的GBK 437 MS-DOS美国英语 1258 越南语 1257 波罗的语 1256 阿拉伯语 1255 希伯来语 1254 土耳其语 1253 希腊语 1252 拉丁 1 字符 (ANSI) 1251 西里尔语 125…...

查找 c语言
//查找程序 #include <stdio.h> #include <windows.h> #include <math.h>#define TreeSize 100 typedef char SeqTree[TreeSize]; SeqTree tree;//相当于SeqTree 等于 定义一个数组(tree)void shuru(int ch[]);//输入初始化函数 void shunxu(int ch[]);//排…...

CHSH不等式以及它对量子力学的贡献
CHSH不等式 在经典中,假设量子纠缠是不存在,一个系统中的量子坍缩的结果是独立的。 假设现在有两个粒子,一个给Alice,一个给Bob,Alice测量方法用Q或者R,Bob测量方法用S或者T,用哪种方法随机&a…...

Webpack + VueJS 学习、跳坑和总结
这篇随笔会陆续地更新下去,用于汇集一些关于Webpack的初学跳坑总结还有VueJS的基础知识。 Webpack部分 ① 快速建立一个Webpack-Vue项目开发环境(4.39.1-2019/08/07) Step 1 安装 Webpack: COPYEXPAND1npm install webpack -gCOPYEXPANDStep 2 Webpack 4…...

poj2575
//poj2575 水 看清楚题意,是要所有的1-n-1都覆盖。 #include <iostream> #include <cmath> using namespace std; bool CC[3005]; int main() {int n;cin>>n;int a,b,diff;while(!cin.eof()){bool ok true;memset(CC, 0, sizeof(CC));cin>&g…...

最小生成
5 5 0 0 0 0 0 0 0 1 0 0 0 1 2 1 0 0 0 1 0 0 0 0 0 0 0#include <stdio.h> #include <stdlib.h> #include <string.h> #include <limits.h>#include <string> #include <stack> #include <map>using namespace std;#define CHCH...

【C++学习】编程删掉CPP文件里的注释和函数定义
开篇的闲话 学C的文件流输入输出的那一周,老师指了书上的两道题作为作业,并说“总算可以有现成的题可以直接布置给你们了”,还说这两道题要亲自批改,算作期末成绩。 我起初觉得,这可能只是由于老师之前总是发互评作业…...

Linux删除用什么命令,linux删除文件或目录用什么命令?
还是学生吗?我们都自己买资料看,记本记可记不全呀,《Linux指令速查手册》【语法】rm[必要参数][选择性参数][目录或者文件]【功能说明】rm指令用来删除文件或者目录,如果使用rm来删除文件,通常仍可以将文件恢复。如果想…...

【渝粤教育】国家开放大学2018年秋季 2726T畜禽生产概论 参考试题
试卷代号:2746 农科化学基础知识 试题(开卷) 2019年1月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考…...

对顶三角形
对顶三角形 Time Limit: 1000 ms Memory Limit: 65535 kB Description 写一个函数,生成对顶三角形,本题目要求不用全局变量。 Input 有多组测试数据。输入的第一行是整数T(0<T<100),表示测试数据的组数。每一组…...
顺序串算法
[cpp] view plaincopy /* * Copyright (c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目3.cpp * 作 者:泮春宇 * 完成日期:2016年10月18日 * 版 本 号:v1.0 *问题描述:…...

PHP语言学习之PHP 加解密字符串
本文主要向大家介绍了PHP语言学习之PHP 加解密字符串,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。 function encrypt($txt, $key){$chars "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.";$ikey "…...

char 判断字符是否为大小写
public static void main(String[] args) {char c S;System.out.println( c>A && c<Z?true:false); } 如果输出为 true 则说明 c 的字符为大写; 如果输出为 false 则说明 c 的字符为小写;...

hdu 4485 2013杭州邀请赛 Building bridges
Building bridges Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 62 Accepted Submission(s): 53 Problem DescriptionHululu and Cululu are two pacific ocean countries made up of many islands. These two c...

[FROM WOJ]#1515 不要62
#1515 不要62 数位DP模板题,题面应时做了一些改动…… 题面 ZXY2 3016noip惨跪,她依稀记得她的准考证号是62,现在她又将要面临一场比赛,她希望准考证号不出现62(连续),同时她又十分讨厌4&…...

Git Cloning into :error: RPC failed
[!] Error installing Presentation [!] /usr/bin/git clone https://github.com/hyperoslo/Presentation.git /var/folders/4y/m9ckznh17111xdfwvn7xg0w40000gn/T/d20190515-1396-1qv2skw --template --single-branch --depth 1 --branch 4.1.2 Cloning into ‘/var/folders/...

V - An easy problem
V - An easy problem 题目描述 we define f(A) 1, f(a) -1, f(B) 2, f(b) -2, … f(Z) 26, f(z) -26; Give you a letter x and a number y , you should output the result of yf(x). Input On the first line, contains a number T.then T lines follow, each li…...

chrome://version/可以直接查看chrome版本
chrome://version/...

mysql开远程访问权限
mysql> mysql -u root -p 输入密码: mysql> GRANT ALL PRIVILEGES ON *.* TO root"%" IDENTIFIED BY "root";任何主机都可以远程登录到该服务器上访问 mysql> flush privileges;更新权限 root用户连接mysql数据库出错 1045 access…...

++ch和ch+1的区别
ch1//将ch转换成int然后和1相加后输出(隐式类型转换,因为1是int型) ch//输出下一个对应的字符(输入A,就输出B) #include "stdafx.h" #include <iostream>int _tmain(int argc, _TCHAR* arg…...

【pta】好前缀好中缀好后缀(kmp算法的next数组应用)
好前缀 我们称一个字符串的前缀为好前缀,如果它满足如下条件: (1)它在字符串中至少出现2次; (2)满足条件(1)的最长者。 请编写程序计算一个字符串的好前缀长度&#…...

Ubuntu18.04安装cudnn v8
本着不折腾难受的原则,装一下cudnn 首先,下载安装包 下载 cuDNN Libaray for Linux 和下面的三个 Runtime、Developer 和 Code Samples 然后开始安装 解压 cuDNN 代码 tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz将文件复制到 CUDA 路径下࿰…...

这个日期格式是什么? 2011-08-12T20:17:46.384Z
本文翻译自:What is this date format? 2011-08-12T20:17:46.384ZI have the following date: 2011-08-12T20:17:46.384Z . 我有以下日期: 2011-08-12T20:17:46.384Z 。 What format is this? 这是什么格式? Im trying to parse it with Ja…...

6.ClickHouse的副本与分片
十、副本与分片 10.1 副本和分片 1.数据层面区分: 假设CK集群两个节点,host1,host2,两个节点都有结构相同的一张表table。 此时如果host1的table中的数据和host2的table中的数据不同,那就是分片; 此时如果host1的…...

java 检查有无父类_Java 中所有检查性异常类的父类是 类。_学小易找答案
【单选题】自然界DNA双螺旋结构存在的主要方式【单选题】气缸体的结构型式通常分为一般式、龙门式和【单选题】在N,N-二甲基甲酰胺(DMF)等非质子极性溶剂中卤素负离子的亲核性大小次序为F->Cl->Br->I-的原因是 ( )【单选题】对于产地的首次检查,检查范围应不少于( )的…...

含炔基聚乙二醇,2055014-94-1,CH2CHCH2-PEG8-COOH,Propargyl-PEG8-acid
英文名称:Propargyl-PEG8-acid 其他名称:CH2CHCH2-PEG8-COOH Propargyl-PEG8-COOH 中文名: 丙炔基-八聚乙二醇-羧酸 分子式:C20H36O10 分子量:436.5 CAS: 2055014-94-1 结构式: 纯度:95% 保存方法:-20…...

单分散短链小分子PEG试剂,2055022-18-7,Propargyl-PEG10-acid,CH2CHCH2-PEG10-COOH
名称:Propargyl-PEG10-acid 其他名称:CH2CHCH2-PEG10-COOH 中文名称:丙炔-十聚乙二醇-羧酸 分子式:C24H44O12 分子量:524.6 CAS: 2055022-18-7 结构式: 纯度:95% 保存方法:-20C避光,避湿 其他…...

C语言 #if ~ #endif
1.一般格式 #if 常量表达式程序段1;[#else程序段2;]#endif2.功能:当表达式为非0(“逻辑真”)时,编译程序段1,否则编译程序段2。 [案…...

C/C++中的#if()和 #endif
首先,看一下应用格式: #if 表达式 // 如果表达式为真 程序段1 #else // 否则 程序段2 #endif在程序中,应用比较多的#if 1或是#if 0,后面加#endif,其与if…else的应用区别不大。这个语句有很大的妙用。具体如…...

#if 与 #endif
对于 #if 与 #endif ,我主要说一下两种情况: 第一种就是#if 0 与#endif 这一种就相当于/* */的注释作用,在#if 0与#endif之间的内容就会被屏蔽,不会执行; 第二种就是#if 1与#endif 这一种使用之后,在#if 1与#endif之间的代码依然会执行; 大家有没有注意到…...

if 0 endif if 1 endif
一、在注释中嵌套注释 块注释符(/*...*/)是不可以嵌套使用的。 在其他语言中也要注意嵌套注释的使用。。。。。。 所以遇到这种情况,我们还可以使用 #if 0 ... #endif 来实现注释,且可以实现嵌套,格式为:…...

#if #endif作用
if 0 代码 #endif 即代表此程序不运行,作用类似/… /,若是 #if 1 ,则代码运行区别在于,如果有多个/.1. /.2./ …3./ ,可能想把 1 ,2,3全部注释掉,但实际程序只注释了1,2,即/* 只识别对应最近的*/为了解决这…...

# #ifndef/#define/#endif使用详解
#ifndef 的用法介绍1 #ifndef 的用法介绍2 #ifndef 的用法介绍3 #ifndef 的用法介绍4 条件指示符#ifndef的最主要目的是防止头文件的重复包含和编译。 假如你有一个C源文件,它包含了多个头文件,比如头文件A和头文件B,头文件B又包含了头文件…...

#ifndef、#define、#endif作用
1. 作用 防止头文件被重复引用,防止被重复编译。 2. 简介 #ifndef 它是if not define的简写,是宏定义的一种,确切的说是预处理功能(宏定义、文件包含、条件编译)三种中的一种——条件编译。 使用#ifndef可以避免以下错误:如果在.h文件中定…...

C 语言:#endif 指令
本文章解释了如何在 C 语言中使用 #endif 预处理器指令。更多C教程请访问码农之家 描述 在 C 编程语言中,#endif 指令关闭以下指令:#if、#ifdef 或 #ifndef。当遇到#endif 指令时,打开指令(#if、#ifdef 或#ifndef)的…...

c++中的# ifndef 与#endif
文章目录1 含义2 用法3 作用1 含义 #ifndef是“if not defined”的简写,是宏定义的一种,它可根据是否已经定义好了一个变量来进行分支选择。 2 用法 #ifndef X //先测试x是否被宏定义过,如果被定义则返回假,如果没有被定义则返…...

【机器视觉】 endif算子
00. 目录 文章目录00. 目录01. 概述02. 签名03. 描述04. 注意05. 参数06. 结果07. 附录01. 概述 endif - if命令的结束。 02. 签名 endif( : : : ) 03. 描述 endif是if,elseif或else块的最后一个语句。 原文描述: endif is the last statement of…...

#ifdef与#endif用法小结
大部分情况下,C/C源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件…...

#if...#endif用法总结
c预处理器 1. #表示预处理符号 2. #if…#endif是C种的条件编译预处理命令 有两种格式: 1: #ifdef 标示符 程序段1 #else 程序段2 #endif 表示:如果标示符已经被#define命令定义过,则编译程序段1&…...

关于ifndef...endif用法的详解和补充
** (直接看加粗的部分,if not define如果之前没有定义这个的话) 具体示例 1、 #ifndef x #define x //定义一个宏 … #endif //C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理࿰…...
#ifndef/#define/#endif使用详解
https://blog.csdn.net/abc5382334/article/details/18052757 想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?是不能在不同的两个文件中使用include来包含这个头文件吗?如果头…...

#ifndef, #define, #endif的作用
ifndef, #define, #endif的作用ifndef#ifdef#define1、无参宏定义2、带参宏定义ifndef 它是if not define 的简写,是宏定义的一种,实际上确切的说,这应该是预处理功能三种(宏定义、文件包含、条件编译)中的一种----条…...

#ifdef #endif #ifndef 定义+代码详解
1. 这些代码是什么?属于C/C中什么类型的词? #ifdef #endif #ifndef 属于C/C预处理指令,常见的预处理指令还包括#include #define #undef #elif #error等。 预处理指令定义:预处理指令是以 #号开头 的代码行。#号必须是该行除了…...

vs编译报错C1020: 意外的 #endif
生成vs项目解决方案时出现了错误如下: C1020: 意外的 #endif 普遍解决方案 各种百度,给出的解决方案都是在.cpp文件第一条语句加:#include “stdafx.h”, 报错写法: #include "cv.h" #include "cxcore.h&…...

#ifdef #endif
条件编译 当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句 格式 #ifdef 标识符 程序段1 #else 程序段2 #endif当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。 其中else后…...

c++语言中ifndef和endif的用法
1、#ifndef "if not defined"的简写,是宏定义的一种,它是可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等。实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和条件编译)中…...

ifndef/define/endif的使用
ifndef/define/endif:简而言之就是避免头文件被重复引用。 (ifdef/define/endif是已定义的宏为真,ifndef/define/endif是未定义的宏为真) 在一个大型软件工程编写code,可能会有多个文件同时包含一个头文件,…...

IFDEF和ENDIF的理解
"#ifdef 语句1 程序2 #endif“ 可翻译为:如果宏定义了语句1则程序2。 作用:我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。 代码举例:新建define.cpp文件 #include “iostream.h” …...

c语言中endif的作用,C语言中#ifdef,#ifndef和#endif的作用
现在规定一下头文件书写规范,根据陈皓编写的跟我一起些makefile,一定要记住:头文件中应该只是声明,而定义应该放在C/C文件中。否则如果出现有定义,比如头文件中有int a 2;如果有多个源程序文件引用该头文件,…...

c语言endif的用法,#ifndef...#endif 的用法
学着写头文件(其实是烧写芯片用到),发现c语言的宏定义里面有的东西需要理解,查了资料之后记下来,这里先说#ifndef…#endif背景知识C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理࿰…...

C++中 #ifdef 和#endif的用法与作用详解
一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满…...

#ifdef与#endif的作用及用法
一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满…...

C语言预处理
程序预处理 程序预处理是指在对源程序编译之前首先对预处理命令进行处理,将其替换成具有实际意义的内容,再进行编译。C语言常用的预处理功能有:宏定义、文件包含、条件编译。 宏定义 无参数的宏定义是用一个指令的标识符来代表一个字符串。…...

#if 0 和 #endif 的用处
#if 0 和 #endif 的用处主要分为两个: ① 和 /* */ 的作用类似,起注释的作用。 ② 系统裁剪,对代码进行优化的时候 例子: #include<stdio.h> int main() {int a,b,max;printf("请输入两个整数\n");scanf("…...

wincc多用户新增计算机名,关于Wincc V7.0安装完成后的计算机名称修改问题-工业支持中心-西门子中国...
作为冗余服务器上的Wincc V7.0安装完成后,对计算机名称做修改出现以下现象:修改计算机名称后,不能实现冗余自动切换。问题应该是SQL引起的。计算机名称修改了,SQL所定义的计算机名称未能修改。有资料说,在安装完 WinCC 和第一次调…...

修改计算机用户名bat脚本
修改计算机用户名bat,修改计算机名.bat ECHO OFF color 0A ECHO ---------------------------------------------------------------------------- ECHO. :name set /p cname请输入计算机名: echo REGEDIT4 >c:\windows\reg.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\Cu…...

迪赛智慧数——折线图(平滑折线图):近10年国内旅游市场规模
效果图经过全面开放和“阳康”,旅游市场已经开始复苏。现在恰逢寒冬,海南等国内许多旅游胜地成为热门旅游目的地,泰国等国际旅游频频上热搜。2022年,随着我国国内疫情发展形势的好转,旅游产品市场经济呈现一个积极复苏…...

Hive(2):Apache Hive 安装部署
1 元数据相关名词 1.1 Metadata Metadata即元数据。元数据包含用Hive创建的database、table、表的位置、类型、属性,字段顺序类型等元信息。元数据存储在关系型数据库中。如hive内置的Derby、或者第三方如MySQL等。 1.2 Metastore Metastore即元数据服务。Metast…...
区块链究竟是怎么形成的?你明白了吗?
区块链到底是啥?首先,不要把区块链想的很复杂。其实,区块链很简单,它本质上就是一套数据库存储系统,该系统分布在全球各地,并且能够协同运转。不过,与其他数据库存储系统不一样的是,…...

说话人识别概述
又称为话者识别,通过对说话人语音信号的分析处理,自动确认是别人是否在所记录的话者集合中,以及进一步确认说话人是谁。 和语音识别技术很相似,都是在提取原始语音信号中某些特征参数的基础上,建立相应的参考模板或模型…...

紫边形成原因理解
有人解释紫边:https://blog.csdn.net/xrdsjb001/article/details/73130675 衍射抵马赛克,我不是完全同意。 广义上紫边不是一种,而是有好几种类型的,一种是这样的:(这来源网络) 还有一种是这样…...

深度了解js闭包形成及其原理
闭包 一说到这个问题,很多人第一印象就是函数里返回一个函数,就是闭包。闭包也是被大家广泛讨论的一个问题,但是很多人都是只知其然,不知其所以然。 那么闭包到底是什么?我们放到后面来回答。 作用域与作用域链 作用域…...

一个人的对世界的认识是怎么形成的
一、外界事物的存在形式。 外界是怎么样的,一个人有过怎样的经历 就会对这个世界有怎么样看法。我们大脑中的知识到底是什么?在我看来是对这个世界的认识。 我们看到这个世界样子,也就形成了自己对世界的认识。 尅这样说,是这个…...

OAK-D树莓派点云项目【附详细代码】
编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 前言 Hello,大家好,这里是OAK中国,我是助手君。 本文来自IBM工程师Richard Hopkins的教程,由OAK中国整理更新。 Part 1 低…...

论文翻译:Real-Time High-Resolution Background Matting
论文地址:https://arxiv.org/pdf/2012.07810.pdf 文中所有图片与表格统一移动至了文末 实时高分辨率背景抠图 摘要 我们介绍了一种实时的、高分辨率的背景替换技术。使用现代GPU,在4K分辨率下,该技术的可以以30fps运行;在HD分辨…...

FFplay文档解读-44-视频过滤器十九
29.180 uspp 应用超slow/simple的后处理过滤器,在多个(或‘quality’level 8 - all的情况)位移的情况下压缩和解压缩图像并平均结果。 这与spp行为的不同之处在于uspp实际上使用libavcodec Snow对每个案例进行编码和解码,而spp使…...

【进击的算法】动态规划——01背包
🍿本文主题:动态规划 01背包 背包问题 C/C 算法 🎈更多算法:基础回溯算法 基础动态规划 💕我的主页:蓝色学者的主页 文章目录一、前言二、概念✔️动态规划概念✔️01背包的概念三、问题描述与讲解…...

Pytorch 卷积核填充和步幅、多输入多输出通道、池化层
Pytorch 卷积层里的填充和步幅 0. 环境介绍 环境使用 Kaggle 里免费建立的 Notebook 教程使用李沐老师的 动手学深度学习 网站和 视频讲解 小技巧:当遇到函数看不懂的时候可以按 ShiftTab 查看函数详解。 1. 填充(padding)和步幅&#x…...
图像质量评估(7) -- 图像稳定性(Image Stabilization)
图像稳定性(Image Stabilization)指的是相机在捕获图像过程中,相机内的光学系统有多稳定。如果相机不稳定,那么图像看起来会模糊。造成图像模糊的原因有很多,例如弱光环境,使用了长焦距,以及手持…...

小户型也能装中央空调吗?
房价的不断上涨,让越来越多想要定居大城市的小年轻们将目光转向了小户型,虽然面积较小,但是打扫起来方便快捷,能帮助忙碌的打工人们节省不少时间成本,而且对注重生活质量的人来说,尽管小户型,只…...
思维还停留在只有开发者才能学习Python?你真的与现代社会脱节了
不做程序员学Python有什么用?用处当然是十分广泛的,如果你的思维还停留在只有编程开发者才能学习Python,那就真的与现代社会脱节了。编程更像是一种工具,一种技能,而不仅仅只是一个职业岗位。尤其是以其高效简洁&#…...

一个用互联网思维颠覆租房业的奇葩案例
用微创新的角度去看,租房绝对是一个国民性痛点。以至于不少很火的年轻题材都是以合租为背景,比如《爱情公寓》。很多年轻人都有过租房的痛苦经历,但目前很多产品都是解决了信息流,没有介入服务流。 最近看到一个奇葩案例ÿ…...

女研究生做“思维导图”与男友吵架!堪称吵架届的“内卷之王”....
来源:募格学术(ID:mugexueshu)研究生吵起架来的“职业病”有哪些?近日,湖南长沙一女研究生因为“画思维导图与男友吵架”的视频火了。网友们纷纷表示,“原来女生吵架都是认真的。”9日晚&#x…...

一名UI设计师眼中的用户体验
一名UI设计师眼中的用户体验 最近在面试寻找设计方面的工作,因我的职业规划偏向于视觉、用户体验方面。在面试过程中,大部分的面试官都会问我:你怎么看待用户体验? 一直以来,我对用户体验和交互设计有点概念模糊&#…...

室内设计阅读书籍名单
1、《设计准则:成为自己的室内设计师》——(美)格里芬 纠正错误认知,思维方式和习惯。 2、《创意家具表情--风格小屋特辑六本套装》 六个国家真实的居住人家,家,不是样板间。3、《住宅设计解剖书》——&am…...

关于智能家居的四大思维误区 并非你想的那样
智能生活,并不是简单地用手机APP操控居家的灯光、门锁、窗帘、电器等。回到家时,门锁识别主人自动打开,空调提前半小时预设好最舒适的温度,门一开,灯光自动开启“回家模式”……真的智能,能够聪明地读懂主人…...
毕业5年,月薪涨25倍!高薪思维能力!
毕业5年,月薪涨25倍!高薪思维能力! 毕业5年,我的月薪从1900到现在50000,涨了25倍,没有读MBA,凭借的都是第一份工作带给我的逻辑思考能力。下面四点是我在平时工作中总结的高薪思维能力。 1.Be M…...

2020年9月26日-02-软件工程-工程化思维+瀑布模型+敏捷开发
此博客用于记录2020年9月26日每日分享, 软件工程中的集中常见模式,瀑布模型,敏捷开发等 日期:2020年9月26日 主题: 讨论讨论怎么使用软件工程的思想来解决问题软件工程中的集中常见模式,瀑布模型ÿ…...

js 把字符串转成json对象的三种方法
js 把字符串转成json对象的三种方法 不管字符串是否含有转义字符,都能转换成 Json 对象 1, js自带的eval函数,其中需要添加小括号eval((str)); function strToJson(str){var json eval(( str ));return json; } 2,new Function形式 function strToJso…...

java 探花交友项目day5 推荐好友列表 MongoDB集群 发布动态,查询动态 圈子功能
推荐好友列表 需求分析 推荐好友:分页形式查询推荐的用户列表,根据评分排序显示 代码实现: tanhuaController: /** * 查询分页推荐好友列表 */ GetMapping("/recommendation") public ResponseEntity recommendation(Recomme…...

用HTML5和JavaScript实现语音合成朗读
用HTML5和JavaScript实现语音合成朗读 win10环境下 先给出效果图,最后给出完整代码 完整代码如下: <!DOCTYPE html> <html><head><meta charset"UTF-8"><meta name"viewport" content"widthdevi…...

不当 95% 的劣质勤奋者
本文转载自池老师的 MacTalk 公众号。这几天正在读村上春树的新书《我的职业是小说家》,这是村上先生的自传体随笔。村上的书我是不加掩饰的喜爱,新作必买必读。不过,小说读起来费时费力,闲暇时我总喜欢读他的随笔,可以…...

劣质勤奋者
微信推送的文章,极有启发性。尤其在学习、工作过程中,经常碰到三种情景: 1. 将方法当做目的,为了实现某项技术而研究,忽视了技术(Engineering)的目的是支撑需求; 2. 工作永远低头走…...
朗读行者 | 用生命影响生命,把握自己的生命感知度。
作者 心灵导师人活一辈子,最怕的是什么? 记得小品里说, 怕的是人活着,没有钱; 但更怕的是,人死了,钱还在。我们努力的工作赚钱,为了什么呢? 很多人都会回答,幸…...
清华大学计算机专业学生埃朗读村,《朗读者~矣晓沅(清华大学计算机研究生 彝族)》...
矣晓沅(清华大学计算机研究生 彝族)笔记分享人 幸福娃这个世界上,可能有些路,并不是靠双脚走出来的。就像史铁生,在漫长的轮椅生涯中,创造了一座中国的文学高峰。就像霍金,不能行走,不能出声…...
《朗读者之遇见》
卷首语朗读者就是朗读的人,在我看来可以分为两部分来理解,朗读是传播文字,而人则是展现生命,将值得尊重的生命和值得关注的文字完美结合就是我们的《朗读者》。你有多久没有朗读了?很久了吧。因为很多人都觉得朗读,那…...

朗读者 (一) 节选
致儿子的一封信 麦家 儿子,当你看到这封信时,你已在我万里之外,我则在你地球的另一端。地球很大,我们太小了,但我们不甘于小,我们要超过地球,所以你出发了。这是一次蓄谋已久的远行,…...

朗读者李晓云清华大学计算机,世界杰出女科学家奖得主张弥曼现身《朗读者》...
原标题:世界杰出女科学家奖得主张弥曼现身《朗读者》“路漫漫其修远兮,吾将上下而求索。”两千多年前,郁郁不得志的屈原在《离骚》中写出这句千古名言,道尽了一个人对理想的渴望和追求。从古至今,无数仁人志士不约而同…...

动态规划-多种遍历与状态变量
##使用单变量的 一般涉及局部遍历统计,然后做全局统计 ###[最长连续递增序列](https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence) 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个…...
【SSD目标检测】2:如何制作自己的数据集
前言:因为要依赖上一章SSD目标检测(1):图片视频版物体定位(附源码)来训练预测自己的数据集,所以建立自己的数据集是一个复杂且避不开的步骤,以下给出了制作自己的数据集所要经过的简单步骤,而后…...

一个基于mxnet的目标检测
学习mxnet也有一段时间了,但依然感觉对mxnet没有入门,于是计划了一个yolo实验, 主要不是复现yolo,而是按照自己的喜好整理一下mxnet的各个接口,希望有助于加深对mxnet的理解. 抛开mxnet, 一个识别算法应该包括如下几个模块: * 样本生成/加载 * 模型生成/加载 * 模型训练/预…...

代码复现:遥感旋转目标检测(可训练自己的数据集)
follow了上交博士大佬yangxue的两个方法,这篇仅记录复现过程中碰到的问题,具体论文的介绍就不写了,大佬自己的知乎已经写得非常详细了。 SCRDet:https://zhuanlan.zhihu.com/p/107400817 CSL:https://zhuanlan.zhihu…...

Swin-transformer纯目标检测训练自己的数据集
Swin-transformer纯目标检测训练自己的数据集前言具体步骤及过程一、基本修改1.修改类别名称(两处)2.修改类别数3.修改数据集路径4.修改训练参数5.修改日志参数二、禁用mask三、遇到的问题及解决办法总结前言 快写成swin系列博客了,前两篇&a…...

【LeetCode】递增的三元子序列 [M](动态规划)
334. 递增的三元子序列 - 力扣(LeetCode) 一、题目 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < num…...
利用YOLO实现自己的目标检测
因为很多是我按照记忆来写的,可能会有错误,大家一定按照给的链接为准,参考这些即可。。。。。 最近,在师哥的引导下,接触了一下YOLO算法,是近年来一个比较好的目标检测算法,而且它有自己的开源深…...

给自己定的目标
今年一直充满了挫败感,感觉一直没有目标,也没有成就。想挣很多钱可是不知道该怎么办——工资一直很少;想努力改变自己的生活也不知道该怎么办——钱还是不够用。天生我材必有用,我怎么一点也没觉得这句话对我起作用呢... ...既然找…...

5个步骤实现目标检测
作者|DR. VAIBHAV KUMAR 编译|VK 来源|Analytics In Diamag 目标检测技术是当今计算机视觉领域的发展趋势。在场景图像和视频中,有许多方法被用来检测物体。在资源和执行时间方面,每种技术都有自己的优势和局限性。检测视频中的物体也需要大量的技术知识…...

给定一个整数数组 nums 和一个目标值
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums [2, 7, 11…...
给自己定个目标
07年又是新的一年,前段时间看新闻说有些人联合起来抵制新年,因为他们觉得现在是最好的,虽然有道理,毕竟时间流逝只能让我们老得更快。。呵呵,好笑归好笑,毕竟我们需要面对现实。 新的一年来了,看…...

给自己一个小目标
一个小目标 总想写点什么,却又不知道写点什么,闲来得空,必须正视自己,写写自己了。 一晃转行程序员已经快4年了,各种滋味,难以言说,但是最明显的感受是从18年下半年来,失去了曾经…...

给自己一个目标.
在一天繁忙的工作中度过,自己仔细想一想自己在这样的工作到底为了什么?自己为了什么,想达到什么的水平? 一连串的问题在快要下班的时候,出现在了我脑海里.我在到这个大城市就是简单的为了攒钱吗?我想这不是我想要的.那到底为了什么?自己的的目的现在自己也有点想不明白了.就…...

mysql核心知识(二)mysql事务原理MVCC
mysql核心知识(二)mysql事务原理MVCC数据库并发时可能产生的问题事务的四大隔离级别数据库并发时可能产生的问题 脏读 当A事务写入数据未提交时,事务B读取了不可重复读 当事务A两次读取数据时,在事务B修改数据未提交前和后分别读…...

蓝牙路由器是怎么回事?
蓝牙路由器的诞生是北京桂花网公司的一大专利发明,小编带大家了解下蓝牙路由器是什么。蓝牙路由器弥补了蓝牙技术的一些短板,从而更高效、广泛的应用到各行业各企业中。(蓝牙路由器又名蓝牙网关) 蓝牙路由器的8个功能特点…...

什么叫组网_小米科普:一文看懂路由器上的 Mesh 组网是什么
IT之家 6 月 12 日消息 近日小米路由器 AX1800 升级支持了 Mesh 技术,拥有两台以上 AX1800 的用户可以将它们进行 Mesh 组网,做到全屋信号无缝覆盖。小米称,小米 AIoT 路由器 AX3600 和 Redmi 路由器 AX5 也会很快升级支持 Mesh。那么 Mesh 组…...

无线网服务器端口是什么,无线路由器上的lan端口是什么意思?
问: 路由器上的lan端口是什么意思?有什么作用答案: 当前使用的家用无线路由器通常有一个Wan端口和四个Lan端口,那么这四个Lan端口是做什么用的?首先,了解什么是局域网LAN是局域网的缩写,中文名称: 局域网. 从功能的角度…...

【30】C语言 | 常见内存函数
目录 1、memcpy函数 2、memmove函数 3、memcmp函数 4、memset函数 1、memcpy函数 memcpy( )函数可以把内存中的数据进行拷贝。函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。这个函数在遇到0的时候并不会停下来。如果source和destination有…...

vue实现在一个段落内的填空题
具体实现 contenteditable 属性规定元素内容是否可编辑。属性说明 效果: 先说一下主要思路: 将填空部分设置为可编辑元素,通过监听input事件获取填空部分的innerText。通过text-decoration: underline;设置底部横线。 填空题初始状态在题目…...

Latex 中如何制作填空题的下划线
\underline{\hbox to 40mm{}}其中变化上面的数字 40 可以得到不同长度的下划线。...

C#程序填空题,根据注释内容,填补程序空白部分。
1.题目要求如下: C#程序填空题,根据注释内容,填补程序空白部分。 2.来吧展示: Class A { (填空)//定义一个public型字段z public A(double i) { zi; console.WriteLine(“类A的字段z:”,z); …...

word中试卷填空题的整理(括号型、横线型)
在试卷整理中,我们从网上找来的填空题往往直接带有答案,一个一个删除实在太难了,几十页几百页得删除很久,我们可以做一段VBA代码: ** 一、括号型题目: ** 整理完要求删掉所有的横线上的所有内容ÿ…...

c语言程序填空怎么给分,C语言程序填空题-20分
《C语言程序填空题-20分》由会员分享,可在线阅读,更多相关《C语言程序填空题-20分(7页珍藏版)》请在人人文库网上搜索。1、二、程序填空题(每空二、程序填空题(每空 2 2 分,共分,共 2020 分)分) 1 1下列程序是求下列程序是求 1001…...

OpenCV实践:获取填空题的下划线
问题描述: 对于下面的一张图片,获取其中的直线部分。 1、基本两种方式 先用canny检测边缘得到边缘图片,再用霍夫直线检测边缘图片中的直线;(效果差)先将图像通过形态学操作腐蚀掉字母,然后在通…...

Flex布局和主要属性用法详解
目录 前言 一个小例子 基本概念: 设置在主轴上的排列方式 设置在侧轴上的排列方式 更换主轴和侧轴方向 换行 align-content属性 元素(子容器)的相关属性 flex-basis flex-grow flex-shrink属性 flex属性 前言 flex布局是继标准…...

python会考题_python会考复习(50题 选择 填空 判断)
*你的班级: 一班 二班 *你的姓名:*你的学号: *1. 请将下列语句输出的结果填写上 print(”123”) *2. 请将下列语句输出的结果填写上 print(“hello”) *3. 请将下列语句输出的结果填写上 print(3.15) *4. 请将下列语句输出的结果填写上 p…...

二级C语言填空阶乘题,2017年计算机二级C语言精准预测上机训练题
2017年计算机二级C语言精准预测上机训练题下面是yjbys考试网小编整理的2017年计算机二级考试C语言精准预测上机训练题,提供给各位考生备考,更多考试资料请持续关注应届毕业生考试网。一、程序填空题请补充函数proc(),函数proc()的功能是求7的…...

计算机一级ws题库,计算机二级题库
1) 数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是A) DBS包括DB和DBMS B) DBMS包括DB和DBSC) DB包括DBS和DBMS D) DBS就是DB,也就是DBMS(2) 在Visual FoxPro中“表”是指A) 报表 B) 关系 C) 表格 D) 表单(3) 数据库系统与文件系统的最主要区别是A) 数据库…...