springboot第32集:redis系统-android系统-Nacos Server

Error parsing HTTP request header HTTP method names must be tokens

检查发送HTTP请求的客户端代码,确保方法名中不包含非法字符。通常情况下,HTTP请求的方法名应该是简单的标识符,例如"GET"、"POST"、"PUT"等。

如果你使用的是浏览器发送HTTP请求(例如使用JavaScript中的Fetch或XMLHttpRequest),请检查你的代码中是否正确指定了HTTP方法名,并且没有包含非法字符。

  1. and: SQL中的逻辑运算符,用于连接多个条件,表示所有条件必须同时满足。 示例:SELECT * FROM users WHERE age > 18 AND gender = 'male';

  2. extractvalue: XML类型的SQL函数,用于从XML文档中提取特定值。 示例:SELECT EXTRACTVALUE(xml_column, '/path/to/node') FROM table; 注解:由于容易导致XPath注入攻击,已被弃用。

  3. updatexml: XML类型的SQL函数,用于在XML文档中更新指定的节点值。 示例:UPDATE table SET xml_column = UPDATEXML(xml_column, '/path/to/node', 'new_value') WHERE id = 1; 注解:容易导致XPath注入攻击,已被弃用。

  4. exec: SQL Server中的命令,用于执行存储过程或批处理命令。 示例:EXEC sp_who; 注解:容易导致SQL注入攻击,已被弃用。

  5. insert: SQL中的关键字,用于向数据库表中插入新的数据。 示例:INSERT INTO users (name, age) VALUES ('John Doe', 25);

  6. select: SQL中的关键字,用于从数据库表中查询数据。 示例:SELECT * FROM products WHERE category = 'Electronics';

  7. delete: SQL中的关键字,用于从数据库表中删除数据。 示例:DELETE FROM users WHERE status = 'inactive';

  8. update: SQL中的关键字,用于更新数据库表中的数据。 示例:UPDATE employees SET salary = 50000 WHERE department = 'IT';

  9. drop: SQL中的关键字,用于删除数据库表或其他数据库对象。 示例:DROP TABLE users;

  10. count: SQL中的聚合函数,用于统计满足条件的记录数量。 示例:SELECT COUNT(*) FROM orders WHERE status = 'completed';

  11. chr: SQL中的函数,用于返回指定编码的字符。 示例:SELECT CHR(65); -- 返回 'A'

  12. mid: SQL Server中的函数,用于返回字符串的子串。 示例:SELECT MID('Hello, World!', 1, 5); -- 返回 'Hello'

  13. master: SQL Server中的系统数据库。 示例:USE master;

  14. truncate: SQL中的关键字,用于快速删除表中的所有数据。 示例:TRUNCATE TABLE logs;

  15. char: SQL中的函数,用于返回指定ASCII码对应的字符。 示例:SELECT CHAR(65); -- 返回 'A'

  16. declare: SQL中的关键字,用于声明变量或游标。 示例:DECLARE @name VARCHAR(50);

  17. or: SQL中的逻辑运算符,用于连接多个条件,表示任意一个条件满足即可。 示例:SELECT * FROM products WHERE category = 'Electronics' OR price > 500;

  18. +: SQL中的算术运算符,用于加法运算。 示例:SELECT price + tax AS total FROM products;

  19. user(): SQL中的函数,用于返回当前登录用户。 示例:SELECT user();

  20. like: SQL中的条件运算符,用于模糊匹配字符串。 示例:SELECT * FROM products WHERE name LIKE '%apple%';

  21. between: SQL中的条件运算符,用于指定范围内的条件。 示例:SELECT * FROM sales WHERE amount BETWEEN 1000 AND 5000;

  22. in: SQL中的条件运算符,用于指定多个条件之一的匹配。 示例:SELECT * FROM customers WHERE country IN ('USA', 'Canada', 'UK');

  23. not: SQL中的逻辑运算符,用于取反条件。 示例:SELECT * FROM products WHERE NOT category = 'Electronics';

  24. join: SQL中用于连接多个表的操作,常见的有INNER JOINLEFT JOIN等。 示例:SELECT orders.order_id, customers.name FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id;

  25. union: SQL中用于合并多个查询结果集的操作。 示例:SELECT name, email FROM customers WHERE country = 'USA' UNION SELECT name, email FROM customers WHERE country = 'Canada';

  26. group by: SQL中用于对查询结果进行分组的操作。 示例:SELECT category, COUNT(*) AS total FROM products GROUP BY category;

  27. having: SQL中用于在GROUP BY子句中添加条件过滤。 示例:SELECT category, COUNT(*) AS total FROM products GROUP BY category HAVING total > 10;

  28. order by: SQL中用于对查询结果进行排序的操作。 示例:SELECT * FROM products ORDER BY price DESC;

  29. as: SQL中用于为列或表起别名。 示例:SELECT id AS product_id, name AS product_name FROM products;

  30. case: SQL中的条件语句,类似于编程语言中的switch语句。 示例:SELECT name, grade, CASE WHEN grade >= 60 THEN 'Pass' ELSE 'Fail' END AS result FROM students;

  31. ANDOR:用于逻辑条件的连接,在查询条件中使用。 示例:SELECT * FROM employees WHERE age > 30 AND department = '销售部门';

  32. INSERT:用于向数据库表中插入新的行。 示例:INSERT INTO employees (name, age, department, salary) VALUES ('John', 35, '销售部门', 2000);

  33. UPDATE:用于更新数据库表中的行。 示例:UPDATE employees SET salary = 2200 WHERE department = '销售部门';

  34. DELETE:用于从数据库表中删除行。 示例:DELETE FROM employees WHERE age > 60;

  35. SELECT:用于从数据库表中检索数据。 示例:SELECT name, age, department FROM employees WHERE salary > 3000;

  36. DROP:用于删除数据库对象,如表、视图等。 示例:DROP TABLE employees;

  37. COUNT:用于统计满足条件的行数。 示例:SELECT COUNT(*) FROM employees WHERE department = '人事部门';

  38. CHARMIDMASTER:用于字符串处理和其他一些特定的操作。 示例:SELECT * FROM employees WHERE name LIKE '%Smith%';

  39. DECLARE:用于声明存储过程或变量。 示例:DECLARE @deptName VARCHAR(50) = '销售部门';

  40. EXEC:用于执行存储过程或动态SQL语句。 示例:EXEC usp_GetEmployeeByID @empID = 1001;

-- 错误示例(容易受到SQL注入攻击)
const name = userInput;
const query = `SELECT * FROM employees WHERE name = '${name}';`;-- 正确示例(使用参数化查询)
const name = userInput;
const query = `SELECT * FROM employees WHERE name = ?;`;
db.query(query, [name]);
  1. Redis配置:检查服务器上的Redis配置,确保其设置正确。可能存在与数据逐出策略或TTL(生存时间)相关的设置,导致缓存在一定时间后被清除。

  2. Redis数据持久性:在某些情况下,Redis可能被配置为使用非持久性存储模式,这意味着数据仅保存在内存中而不保存到磁盘。这可能会导致服务器重新启动后数据丢失。

  3. 多个实例:如果您的应用程序在多个服务器实例上运行(负载均衡环境),而Redis缓存在它们之间没有共享,每个实例可能有自己的缓存,导致不一致的行为。

  4. 内存限制:服务器可能有限的可用内存,如果Redis缓存大小超过了限制,可能会导致数据逐出或清空。

  5. 缓存过期:检查存储在Redis缓存中的令牌是否设置了特定的到期时间(TTL)。如果令牌过期得太快,可能会导致缓存被清除。

  6. user www www;: 指定Nginx运行的用户和用户组,通常设置为www用户和www组。

  7. worker_processes auto;: 设置Nginx的工作进程数,auto表示根据系统的CPU核心数自动设置。

  8. error_log /www/wwwlogs/nginx_error.log crit;: 指定错误日志文件的路径和日志等级,这里设置为crit表示只记录严重错误。

  9. pid /www/server/nginx/logs/nginx.pid;: 指定Nginx主进程的PID文件路径。

  10. worker_rlimit_nofile 51200;: 设置每个Nginx工作进程允许打开的最大文件数。

  11. stream { ... }: 定义一个stream块,用于配置TCP/UDP代理和负载均衡。

  12. events { ... }: 定义一个events块,用于配置Nginx的事件处理器,例如使用epoll作为事件驱动机制。

  13. http { ... }: 定义一个http块,用于配置HTTP服务器的行为和虚拟主机。

  14. include mime.types;: 包含mime.types文件,该文件定义了MIME类型与文件扩展名的映射关系。

  15. include proxy.conf;: 包含proxy.conf文件,该文件用于配置Nginx的反向代理行为。

  16. default_type application/octet-stream;: 设置默认MIME类型为application/octet-stream。

  17. server_names_hash_bucket_size 512;: 设置服务器名称哈希桶的大小。

  18. client_header_buffer_size 32k;: 设置接收HTTP请求头的缓冲区大小。

  19. large_client_header_buffers 4 32k;: 设置接收大型HTTP请求头的缓冲区大小。

  20. client_max_body_size 50m;: 设置客户端请求体的最大大小为50MB。

  21. sendfile on;: 启用sendfile机制,提高文件传输性能。

  22. tcp_nopush on;: 启用tcp_nopush选项,减少TCP传输的延迟。

  23. keepalive_timeout 60;: 设置HTTP keep-alive连接的超时时间为60秒。

  24. tcp_nodelay on;: 启用tcp_nodelay选项,提高TCP传输性能。

  25. fastcgi_...: 一系列FastCGI相关的配置,用于设置FastCGI连接和缓冲区的参数。

  26. gzip ...: 一系列Gzip相关的配置,用于启用Gzip压缩和设置压缩参数。

  27. limit_conn_zone ...: 设置连接数限制的相关配置。

  28. server_tokens off;: 禁止在响应头中显示Nginx版本号。

  29. access_log off;: 禁用访问日志记录。

  30. server { ... }: 定义一个虚拟主机,监听在端口888,用于处理名为phpmyadmin的请求。

  31. location ~ /tmp/ { ... }: 匹配以/tmp/开头的URL,当请求该URL时返回403禁止访问。

  32. location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { ... }: 匹配以.gif、.jpg、.jpeg、.png或.bmp结尾的URL,设置其过期时间为30天。

  33. location ~ .*.(js|css)?$ { ... }: 匹配以.js或.css结尾的URL,设置其过期时间为12小时。

  34. location ~ /.: 匹配以.开头的URL,拒绝访问。

  35. access_log /www/wwwlogs/access.log;: 设置访问日志文件的路径。

redis:# 地址,根据实际情况填写host: localhost# 端口,默认为6379,根据实际情况填写port: 6379# 数据库索引,根据实际情况填写database: 0# 密码,如果设置了Redis密码访问限制,填写正确的密码,否则留空password:# 连接超时时间,根据实际网络状况和请求响应时间调整,10秒可能需要调整timeout: 30slettuce:pool:# 连接池中的最小空闲连接,根据服务器并发连接数需求调整min-idle: 10# 连接池中的最大空闲连接,根据服务器并发连接数需求调整max-idle: 50# 连接池的最大数据库连接数,根据服务器并发连接数需求调整max-active: 100# 连接池最大阻塞等待时间(使用负值表示没有限制),根据服务器响应速度调整max-wait: 500ms# 开启RDB快照持久化,每900秒(15分钟)至少1个修改则持久化
save 900 1# 开启AOF日志持久化,每秒fsync
appendonly yes
appendfsync everysec# 指定RDB快照和AOF日志的存储位置,根据实际磁盘空间和目录权限调整
dir /path/to/redis-data/# 开启tcp-keepalive,防止长时间空闲连接被关闭
tcp-keepalive 60# 关闭Redis的服务器信息,避免泄露服务器信息
databases 16# 关闭Redis的服务器信息,避免泄露服务器信息
server_tokens no# 关闭访问日志,避免记录敏感信息
access_log off# 如果服务器有足够的内存,开启内存碎片整理
activedefrag yes
23944815c964749704ed86595aaa4481.png
image.png

AOF(Append-Only File)持久化是Redis一种持久化数据的机制,它可以在Redis服务器运行期间将写命令追加到AOF文件中,以保证数据在服务器重启后的持久性。

具体来说,以下两个配置参数与AOF持久化相关:

  1. appendonly: 这个配置项用于开启(yes)或关闭(no)AOF持久化。如果设置为yes,表示开启AOF持久化,Redis会将每个写命令追加到AOF文件中,以记录所有数据更改操作。如果设置为no,则关闭AOF持久化,Redis将不会将写命令追加到AOF文件,从而不记录数据更改操作。

  2. appendfsync: 这个配置项用于设置AOF文件刷新(sync)的频率。当AOF持久化开启时,Redis会将写命令追加到AOF文件中,但数据并不立即写入磁盘,而是先存放在操作系统的缓存中,然后根据appendfsync的设置进行刷新到磁盘。可选的值有以下三种:

  • always: 表示每个写命令都立即强制刷新到磁盘,保证数据的完全持久化。这是最安全的选项,但也会导致IO性能较差。

  • everysec: 表示每秒钟执行一次刷新操作,将缓存中的数据刷入磁盘。这在很多场景下是一个不错的折中方案,可以保证较好的持久性,同时又不会对IO性能造成太大影响。

  • no: 表示不进行强制刷新,由操作系统自行决定刷新时机。这种配置可以获得最好的性能,但在服务器发生故障时可能会有数据丢失的风险。

需要注意的是,如果关闭AOF持久化(appendonly设置为no),在Redis重启时可能会丢失从上次RDB快照以来的所有数据更改,因为写命令没有被记录在AOF文件中。因此,如果需要数据的持久性和较高的数据安全性,建议开启AOF持久化,并根据业务需求选择合适的appendfsync选项。如果服务器的磁盘空间较小,可以选择everysec,如果对数据持久性要求非常高,可以选择always,但要注意对IO性能的影响。

// 心跳消息
const heartbeatMessage = 'ping'
// 定时发送心跳消息
setInterval(() => {socket.value.send(heartbeatMessage)
}, 5000000000)
// 监听消息事件
socket.value.onmessage = (event: { data: any }) => {const message = event.dataif (message === heartbeatMessage) {// 收到心跳消息,做相应处理} else {// 处理其他消息}
}
// 为了保持 WebSocket 连接的活跃状态,可以使用心跳机制定期发送心跳消息。

Installed Build Tools revision 33.0.1 is corrupted. Remove and install again using the SDK Manager.

使用了el-rowel-col来构建网格布局。el-row代表一行,el-col代表网格列,通过在el-col上设置不同的响应式属性(如:md:sm)来控制列在不同屏幕尺寸下的宽度。

installed build tools revision 31.0.0 is corrupted. remove and install again using the sdk manager

这个错误表明安装的 Build Tools 版本 31.0.0 是损坏的,需要使用 SDK Manager 删除并重新安装。

使用 SDK Manager 删除 Build Tools 的步骤如下:

  1. 打开 SDK Manager。

  2. 在左侧导航栏中选择 "SDK Tools"。

  3. 找到 "Android SDK Build-Tools",选择它并点击 "Uninstall" 按钮。

  4. 按照提示完成删除操作。

重新安装 Build Tools 的步骤如下:

  1. 打开 SDK Manager。

  2. 在左侧导航栏中选择 "SDK Tools"。

  3. 找到 "Android SDK Build-Tools",选择版本 31.0.0 并点击 "Apply" 按钮。

  4. 按照提示完成安装操作。

最后还需要配置环境变量,使系统可以找到这些工具。

完成以上操作后,应该能够解决 "installed build tools revision 31.0.0 is corrupted" 的错误。

服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件。

SpringCloud是基于SpringBoot提供的一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件。使用的组件包括 Eureka、Ribbon、Fegin、Hystrix、Zuul等。

Eureka 服务注册与发现

Ribbon和Feign负载均衡

Hystrix服务熔断

  • 服务熔断

某个服务故障或者异常,类似现实世界中的“保险丝”,当某个异常条件被触发,直接熔断整个服务,而不是一直等到此服务超时。

  • 服务降级

就是当某个服务熔断后,服务将不再被调用,此时客户端可以自己准备一个本地的fallback回调,返回一个缺省值,这样做,虽然服务水平下降了,但好歹可用,比直接挂掉要强。

6a04d4e5817aed3d1ce65ff6f5d95c37.png
image.png
48fcd707b6ad98d0457aac99d2ad6b0e.png
image.png
08a4d2df764575a8e0368951591725a8.png
image.png
dd6859e289784236cca811b0ded2da13.png
image.png
1873f29ab1dd826d357500b3001864b5.png
image.png
45d83ae4a4927b7d5dfe0592e0edf724.png
image.png
92bd4d12c57438924853bb9a5c2a8c49.png
image.png

搭建Eureka Server集群

在本地的hosts文件中添加如下配置

95248839855a88e90ebbb9c63fa2a8a4.png
image.png
e64267aeb0c5b372eeac988595667938.png
image.png
523dcbfaa41ccf11e10116fbd68bd1ea.png
image.png

微服务

Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。

  • Nacos:阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

  • Sentinel:面向分布式服务架构的轻量级流量控制产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

  • RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

  • Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架,用于实现服务通信。

  • Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

  • Spring Cloud Netflix Eureka:服务注册中心。

  • Spring Cloud Zookeeper:服务注册中心。

  • Spring Cloud Consul:服务注册和配置管理中心。

  • Spring Cloud Netflix Ribbon:客户端负载均衡。

  • Spring Cloud Netflix Hystrix:服务容错保护。

  • Spring Cloud Netflix Feign:声明式服务调用。

  • Spring Cloud OpenFeign(可替代 Feign):OpenFeign 是 Spring Cloud 在 Feign 的基础上支持了 Spring MVC 的注解,如 @RequesMapping等等。OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

  • Spring Cloud Netflix Zuul:API 网关服务,过滤、安全、监控、限流、路由。

  • Spring Cloud Gateway(可替代 Zuul):Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单而有效的统一的 API 路由管理方式。Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

  • Spring Cloud Security:安全认证。

  • Spring Cloud Config:分布式配置中心。配置管理工具,支持使用 Git 存储配置内容,支持应用配置的外部化存储,支持客户端配置信息刷新、加解密配置内容等。

  • Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。

  • Spring Cloud Stream:消息驱动微服务。

  • Spring Cloud Sleuth:分布式服务跟踪。

  • Spring Cloud Alibaba Nacos:阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

  • Spring Cloud Alibaba Sentinel:面向分布式服务架构的轻量级流量控制产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

  • Spring Cloud Alibaba RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

  • Spring Cloud Alibaba Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架,用于实现服务通信。

  • Spring Cloud Alibaba Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

采用前后端分离的模式,微服务版本前端

  • 后端采用Spring Boot、Spring Cloud & Alibaba。

  • 注册中心、配置中心选型Nacos,权限认证使用Redis。

  • 流量控制框架选型Sentinel,分布式事务选型Seata。

faa536f17012aa5ab5a06326c4fdcc0c.png
image.png

Nacos Server下载地址:

https://github.com/alibaba/nacos/releases

提供了zip 包,nacos-server-1.1.3.zip

上传到linux,并解压缩

1、上传到 /work,然后解压缩

cd  /workunzip  nacos-server-1.1.3.zip

2、或者,从虚拟机的共享目录,复制到 /work目录,然后解压缩:

cp  /vagrant/nacos-server-1.1.3.zip  /work/
cd  /work
unzip  nacos-server-1.1.3.zip

如果unzip命令不存在,则安装unzip命令

yum install -y unzip zip

启动服务器

单机模式运行启动方法:

/work/nacos/bin/startup.sh -m standalone

如果在windows服务器,也就启动的命令不同而已

startup.cmd -m standalone

设置Nacos开机启动

编辑启动配置文件 /etc/rc.local,加入开机启动项,里面添加内容:

# 开机启动 Nacos
/usr/bin/su  - root  -c   "/work/nacos/bin/startup.sh -m standalone"

访问后台

Nacos Server的后台访问地址:

http://192.168.233.128:8848/nacos

默认账号和密码为:nacos nacos

会用到的命令

停止 : /work/nacos/bin/shutdown.sh启动 : /work/nacos/bin/startup.sh   -m standalone

加群联系作者vx:xiaoda0423

仓库地址:https://github.com/webVueBlog/JavaGuideInterview

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/14049.shtml

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

相关文章

《TCP IP网络编程》第十二章

第 12 章 I/O 复用 12.1 基于 I/O 复用的服务器端 多进程服务端的缺点和解决方法: 为了构建并发服务器,只要有客户端连接请求就会创建新进程。这的确是实际操作中采用的一种方案,但并非十全十美,因为创建进程要付出很大的代价。…

免费商用 Meta 发布开源大语言模型 Llama 2

Meta 和微软深度合作,正式推出下一代开源大语言模型 Llama 2,并宣布免费提供给研究和商业使用。 Llama 2 论文地址:Llama 2: Open Foundation and Fine-Tuned Chat Models 据介绍,相比于 Llama 1,Llama 2 的训练数据多…

Tensorflow学习

一、处理数据的结构 案例代码如下: import tensorflow.compat.v1 as tf tf.disable_v2_behavior() import numpy as np# create data x_data np.random.rand(100).astype(np.float32) y_data x_data*0.1 0.3# 创建结构(一维结构) Weights tf.Variable(tf.random.uniform(…

C++模板

目录 函数模板隐式实例化显式实例化 类模板 下面是多种类型的交换函数 void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(ch…

Redis 哨兵 (sentinel)

是什么 官网理论:https://redis.io/docs/management/sentinel/ 吹哨人巡查监控后台 master 主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务。 作用:无人值守运维 哨兵的作用: 1…

Pytorch深度学习-----神经网络的卷积操作

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…

【状态估计】基于UKF、AUKF的电力系统负荷存在突变时的三相状态估计研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

SentencePiece android ndk编译

LLaMa等LLM语言模型一般使用SentencePiece tokenizer,在端侧部署需要编译和使用其c版本。 在安卓平台使用NDK编译 CMakeLists.txt需要进行一些修改: src/CMakeLists.txt如下位置加上log依赖,否则提示android log相关符号不存在。 此外&…

RNN架构解析——LSTM模型

目录 LSTMLSTM内部结构图 Bi-LSTM实现 优点和缺点 LSTM LSTM内部结构图 Bi-LSTM 实现 优点和缺点

解决IDEA的git非常缓慢方法

解决IDEA的git非常缓慢方法 xxxx\IDEA2021.1.3\IntelliJ IDEA 2021.1.3\bin

transformer代码注解

其中代码均来自李沐老师的动手学pytorch中。 class PositionWiseFFN(nn.Module):ffn_num_inputs 4ffn_num_hiddens 4ffn_num_outputs 8def __init__(self,ffn_num_inputs,ffn_num_hiddens,ffn_num_outputs):super(PositionWiseFFN,self).__init__()self.dense1 nn.Linear(ffn…

微服务项目,maven无法加载其他服务依赖

微服务项目,导入了工具类工程,但是一直报错,没有该类, 检查maven 这里的Maven的版本与idea版本不匹配可能是导致依赖加载失败的最重要原因 检查maven配置,我这是原来的maven,home 修改之后,就不报错了

Autosar通信实战系列02-CAN报文发送周期测试脚本开发及周期不准优化

本文框架 前言1. CAN发送报文的周期测试脚本开发2. 发送报文周期不准的可能原因及优化策略2.1 发送报文的控制逻辑2.2 送报文周期不准的可能原因及优化策略前言 在本系列笔者将结合工作中对通信实战部分的应用经验进一步介绍常用,包括但不限于通信各模块的开发教程,代码逻辑…

【ArcGIS Pro二次开发】(53):村规制表、制图【福建省】

这篇算是村规入库的一个延续。 村庄规划中有一些图纸是需要严格按照规范制图,或形成一定规范格式的。 这些图纸的制作基本算是机械式的工作,可以用工具来代替人工。 一、要实现的功能 如上图所示,在【村庄规划】组,新增了两个工…

【雕爷学编程】MicroPython动手做(16)——掌控板之图片图像显示3

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

vue3+vite——打测试包+正式包+本地预览打包后的文件——基础积累

最近在学习vue3vite的内容,发现vite和webpack类似,下面将区别及使用方法做一下记录: 1.vite添加环境配置文件 ... ├── src ... ├── .env # 通用环境变量配置 ├── .env.development …

机器学习:提取问题答案

模型BERT 任务:提取问题和答案 问题的起始位置和结束位置。 数据集 数据集 DRCDODSQA 先分词,然后tokenize 文章长度是不同的,bert的token的长度有限制,一般是512, self-attention的计算量是 O ( n 2 ) O(n^2) O(n…

opencv+ffmpeg环境(ubuntu)搭建全面详解

一.先讲讲opencv和ffmpeg之间的关系 1.1它们之间的联系 我们知道opencv主要是用来做图像处理的,但也包含视频解码的功能,而在视频解码部分的功能opencv是使用了ffmpeg。所以它们都是可以处理图像和视频的编解码,我个人感觉两个的侧重点不一…

无涯教程-jQuery - Selectable选择函数

选择能力功能可与JqueryUI中的交互一起使用。此功能可在任何DOM元素上启用选择能力功能。用光标绘制一个框以选择项目。按住Ctrl键可进行多个不相邻的选择。 Select able - 语法 $( "#selectable" ).selectable(); Select able - 示例 以下是一个简单的示例&…

目标检测应用场景—数据集【NO.14】行人跌倒测试

写在前面:数据集对应应用场景,不同的应用场景有不同的检测难点以及对应改进方法,本系列整理汇总领域内的数据集,方便大家下载数据集,若无法下载可关注后私信领取。关注免费领取整理好的数据集资料!今天分享…