【业务功能篇68】电商项目相关核心设计
https证书
http
超文本传输协议:
超文本:包括:文字,图片,音频,视频等。
传输:客户端向服务端发东西,服务端向客户端发东西。
协议:三方协议。怎么传,错误处理。责权利。
总结:在计算机世界中:两点(客户端,服务端)直接传输 超文本的一个约定 、 规范。应用层协议。
域名解析过程:
- www.taobao.com
- 浏览器缓存
- 操作系统缓存。(hosts,有可能被篡改)
- LDNS(本地域名服务器)
- 根域名(cn,com):com
- 主域名服务器(taobao.com)
- 具体域名服务器(www.taobao.com)–>ip
- 缓存(ttl,过期时间)
服务端
公钥,私钥
keystore
存储:密钥和证书+公钥的一个实体。(1.公私钥对,2.证书公钥)
keytools
生成keystore
PS D:\Java\jdk1.8.0_131\bin> .\keytool.exe -genkeypair -alias dongbao-alias -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore e:\cer2\dongbao-alias.keystore -storepass 123456
您的名字与姓氏是什么?[Unknown]: chao
您的组织单位名称是什么?[Unknown]: msb
您的组织名称是什么?[Unknown]: msb
您所在的城市或区域名称是什么?[Unknown]: bj
您所在的省/市/自治区名称是什么?[Unknown]: bj
该单位的双字母国家/地区代码是什么?[Unknown]: cn
CN=chao, OU=msb, O=msb, L=bj, ST=bj, C=cn是否正确?[否]: 是PS D:\Java\jdk1.8.0_131\bin>
查看keystore
PS D:\Java\jdk1.8.0_131\bin> .\keytool.exe -list -v -keystore E:\cer2\dongbao-alias.keystore
输入密钥库口令:密钥库类型: JKS
密钥库提供方: SUN您的密钥库包含 1 个条目别名: dongbao-alias
创建日期: 2021-5-14
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=chao, OU=msb, O=msb, L=bj, ST=bj, C=cn
发布者: CN=chao, OU=msb, O=msb, L=bj, ST=bj, C=cn
序列号: be4b676
有效期开始日期: Fri May 14 20:17:28 CST 2021, 截止日期: Sat May 14 20:17:28 CST 2022
证书指纹:MD5: FE:6C:2B:E6:10:AF:4E:65:E6:23:31:2C:0E:7E:B5:65SHA1: 02:69:99:B8:FB:7A:84:FD:53:88:60:60:24:9F:91:9D:9A:0B:35:E4SHA256: ED:DF:DE:9E:15:EA:CB:68:76:94:FE:C1:C9:B2:89:93:51:FA:E8:5C:9E:9D:B6:03:05:79:87:DD:E0:89:EB:82签名算法名称: SHA256withRSA版本: 3扩展:#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: B4 B9 C3 B6 5A B8 4E 15 AA CB D3 4D 17 8C E1 38 ....Z.N....M...8
0010: 35 3D B5 94 5=..
]
]*******************************************
*******************************************PS D:\Java\jdk1.8.0_131\bin> .\keytool.exe -list -rfc -keystore E:\cer2\dongbao-alias.keystore
输入密钥库口令:密钥库类型: JKS
密钥库提供方: SUN您的密钥库包含 1 个条目别名: dongbao-alias
创建日期: 2021-5-14
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
-----BEGIN CERTIFICATE-----
MIICPjCCAaegAwIBAgIEC+S2djANBgkqhkiG9w0BAQsFADBSMQswCQYDVQQGEwJj
bjELMAkGA1UECBMCYmoxCzAJBgNVBAcTAmJqMQwwCgYDVQQKEwNtc2IxDDAKBgNV
BAsTA21zYjENMAsGA1UEAxMEY2hhbzAeFw0yMTA1MTQxMjE3MjhaFw0yMjA1MTQx
MjE3MjhaMFIxCzAJBgNVBAYTAmNuMQswCQYDVQQIEwJiajELMAkGA1UEBxMCYmox
DDAKBgNVBAoTA21zYjEMMAoGA1UECxMDbXNiMQ0wCwYDVQQDEwRjaGFvMIGfMA0G
CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEXr8P0dlvpZRhcKSkKgfzSRA3TpH8RfZc
7b529PeiaRQGm7cXlath5w0Nj1gs6jZWSzltcf7SIdMEkpxTX4/xbXt8v/87L7Dd
icGOt4+VVh6NOrqB9HhNqeEtGRMv+DAHg6zij3uA+YCNA40Oretojjf4v51QSsvf
Qv6W4DWhTQIDAQABoyEwHzAdBgNVHQ4EFgQUtLnDtlq4ThWqy9NNF4zhODU9tZQw
DQYJKoZIhvcNAQELBQADgYEAO44gcNl5M2J8aYovmV+yh48gvF3JXjE0UudfHony
/3Gy36HIvJxADrKcTZ+6ScCg9w/BzJdYaQyHYvALG/ICMc4EMQhwPsiDu4VGLQqF
HxWSY0Is5gBSIV+WHa+KxgQ5j05qeIOIxt5peBJg/+ShuAdyn2e0OIwzaUq6fcqh
698=
-----END CERTIFICATE-----*******************************************
*******************************************PS D:\Java\jdk1.8.0_131\bin>
代码验证过了。公私钥对没问题。
客户端
CA的公钥
导出证书
PS D:\Java\jdk1.8.0_131\bin> .\keytool.exe -exportcert -alias dongbao-alias -keystore E:\cer2\dongbao-alias.keystore -file e:\cer2\my.cer
输入密钥库口令:
存储在文件 <e:\cer2\my.cer> 中的证书
PS D:\Java\jdk1.8.0_131\bin>
生成带域名的keystore
PS D:\Java\jdk1.8.0_131\bin> .\keytool.exe -genkeypair -alias dongbao-alias -keypass 123456 -keyalg RSA -validity 365 -keystore e:\cer2\dongbao-alias.keystore -storepass 123456 -ext san=dns:localhost
您的名字与姓氏是什么?[Unknown]: chao
您的组织单位名称是什么?[Unknown]: msb
您的组织名称是什么?[Unknown]: msb
您所在的城市或区域名称是什么?[Unknown]: msb
您所在的省/市/自治区名称是什么?[Unknown]: cn
该单位的双字母国家/地区代码是什么?[Unknown]: cn
CN=chao, OU=msb, O=msb, L=msb, ST=cn, C=cn是否正确?[否]: 是PS D:\Java\jdk1.8.0_131\bin> .\keytool.exe -exportcert -alias dongbao-alias -keystore E:\cer2\dongbao-alias.keystore -file e:\cer2\my.cer
输入密钥库口令:
存储在文件 <e:\cer2\my.cer> 中的证书
PS D:\Java\jdk1.8.0_131\bin>
nginx
自己装openssl
PS E:\cer2\nginx> openssl genrsa -des3 -out dongbao.key 1024
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
..................++++++
....++++++
e is 65537 (0x10001)
Enter pass phrase for dongbao.key:
Verifying - Enter pass phrase for dongbao.key:
PS E:\cer2\nginx> openssl req -new -key dongbao.key -out dongbao.csr
Enter pass phrase for dongbao.key:
Loading 'screen' into random state - done
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:bj
Locality Name (eg, city) []:bj
Organization Name (eg, company) [Internet Widgits Pty Ltd]:msb
Organizational Unit Name (eg, section) []:msb
Common Name (e.g. server FQDN or YOUR name) []:cpf.com
Email Address []:asdasdf@qq.comPlease enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:
PS E:\cer2\nginx> openssl rsa -in .\dongbao.key.src -out dongbao.key
Enter pass phrase for .\dongbao.key.src:
writing RSA key
PS E:\cer2\nginx> openssl x509 -req -days 365 -in .\dongbao.csr -signkey .\dongbao.key -out dongbao.crt
Loading 'screen' into random state - done
Signature ok
subject=/C=cn/ST=bj/L=bj/O=msb/OU=msb/CN=cpf.com/emailAddress=asdasdf@qq.com
Getting Private key
PS E:\cer2\nginx>
conf
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}upstream com.cpf {server 127.0.0.1:8080; # 需要监听的端口名 我用的keepalive 64;}# HTTPS server#server {listen 443 ssl;server_name cpf.com;ssl_certificate E://cer2//nginx//dongbao.crt;ssl_certificate_key E://cer2//nginx//dongbao.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {proxy_pass http://com.cpf;}}}
参数防篡改
防篡改
api(接口) 公司用。
其他公司会用。
这俩参数:
appId(阿里的飞猪,xx部门,下应用id), appKey(appSecret)(网络中不传输。),默认值就是你当前公司的就ok了。
提供方将这两个参数 下发给 使用方。
思路
用户参数,用户的签名。
sign1=Md5/sha256(age=10name=张三appSecret=xxx)
传给后端:name=李四&age=10&sign=xxxxxxx,
sign2=Md5/sha256(age=10name=李四appSecret=xxx)
md5:
74f0c8c14fd2869121c910601e9ea859
sha256:
b5cd72e2fccedcc36b028cd1d995af7218ce53e30de72fc98d4ecc107f495b7b
加密不可逆的散列算法。
可加密的参数是任意长度的,所以用byte数组为输入参数。
sha256的碰撞几率 远远 小于 md5,sha256更安全。
防止重复请求
加时间戳(2min)
你请求过的url,我做了md5之后,放到redis。
参数自动获取
// 获取get中的参数Enumeration<String> parameterNames = httpServletRequest.getParameterNames();while (parameterNames.hasMoreElements()){//获取 nameString parametename = parameterNames.nextElement();// 获取值String parameterValue = httpServletRequest.getParameter(parametename);map.put(parametename,parameterValue);}
get和post区别
其实没有长度限制。get /uri http/1.1 post /uri http/1.1.长度的限制是由浏览器决定的。
其实参数位置一样。get?a=b&dd=d 可以放body的。 post body也可以放url中。参数位置可以一样。
只要是http,都不安全。
tcp和ip,可靠的。
汽车在高速路上。get post
运输公司 限制了参数长度的请求。
/asdfa/asdfasdf?asdfa=asdf&a=b md5值= redis中 , 无法保证 不误杀。(两次不同的请求是一样的摘要)
header里 :key value
商品中心
揪头发(把自己拔高)
京东,淘宝 spu和sku的 重视度不同?
淘宝减少 存储空间。多个sku共享一个详情页。
京东重视sku,更精细化以下,用户体验好。便于物流管理。
淘宝的商品量级:亿级,ioe。ibm,Oracle,emc存储
京东:百万级。
商品中心两部分:买家:多样化展示;管理端:方便管理,或者流转。
基本概念
SKU:Stock Keeping Unit: 库存保存单元。库存控制的最小可用单位。iphone12 plus 128g。它有多少个,库存。
SPU: Standard Product Unit:标准化产品单元。iphone12 (品牌苹果)。
spu是sku的大集。
sku 能对应 几个 spu?
一条白色花边xxxx修饰裤子=sku,对应2个spu:1. 七分裤夏季薄款运动休闲,2.男士大码小脚潮。xxx更多的。
买家也得关心sku。
商品 | 订单数量 | sku | 组合sku | 仓库发货sku |
---|---|---|---|---|
确定的桌子 | 1 | sku1 | 1*sku1 | |
确定的凳子 | 1 | sku2 | 1*sku2 | |
一套饭桌 套餐 | 1 | sku3 | 1sku1 + 4sku2(1) | 1sku1 + 4sku2 |
类目
SKU: 能定位到一个实际商品的信息。
SPU: 商品。
类目:sku的分类。
前台类目:便于用户搜索的。
后台类目:运营人员管理sku,(用户是商家或者平台)。
店铺类目:店家自定义类目。
后台类目:服装->女装->连衣裙; 前台类目:女装->连衣裙
前台:夏季热卖。
03年上线,08年才区分 前台和后台类目。
类目设计
数据结构 + 操作(删除需要删除标记,逻辑删除,排序需要排序字段)
属性。
管理类目(删除,属性和商品),管理商品(添加商品,增删改查)
树形结构。父类目ID。3、4级。
叶子类目。商品只存在于叶子类目。是否叶子节点。
操作
查询:
- 前台:用户端,一般静态。
- 后台:树形结构。延迟加载。后台管理类目的时候,都用动态。
新增,修改,
删除:
逻辑删除,有孩子不删除。
指向谁,谁是爹,谁多。
搜索词对应 前台类目。
品牌:
logo,中文名,英文名,产地,xxxxxx,xxxx。
品牌和类目的对应关系:
雀巢:咖啡,奶粉,饮料。
服装->女装:属性A们
通讯->手机:属性B们
促销系统
目的:
-
拉新。简历中,体现你的个人职责中的价值。
-
去库存。库存也是成本。减少公司的库存成本。节省几百万库存费用。
-
扩大系统品牌的知名度。
-
新app上线。
-
常态,竞争。
-
提高销量,客单量,客单价。(你用xxx技术,实现了xxx业务,给公司带来了xxxx销量,提高了xxx订单量,提高了xxx客单价)。
1.5亿日活。
长时间周期中,想测试哪个活动策略 最优。----A/B测试(灰度发布,金丝雀发布)。
10亿用户。1.5亿(在北京 55%做测试),8.5亿(在杭州)。
促销类型
满减促销:
- 阶梯满减:满100减10,满300减50.
- 每满减:每满100,减10。等差数列。
单品促销:数量限制,某个商品,打N折。
套装促销:A商品10,B商品10,C商品10,A+B+C=25。
赠品促销:买主商品,送N个赠品。
满赠促销:
- 满100送东西A,
- 满100,加10块,送东西B
- 满100送自拍杆,满200,送充电宝,满500,送手机。
多买优惠促销:
- M元买N件
- M件打N折
定金促销:
-
交100,到时候享受1000元购买2000元东西。
-
交10块,顶100元。(90元)
时间段
促销活动:
活动名称:618大促活动,活动规则:单品促销。时间段(开始时间,结束时间)
会员系统
目的:提高用户粘性,开发新用户,增加用户活跃度。
CRM:customer relationship management,客户关系管理系统。
两种
2C:会员基础信息,成长值,积分
2B:组织架构管理,客户拓展,店铺的会员体系。
设计上 产生重合。
设计系统之前,要充分理解需求。事半功倍。抽取系统的共同点。
场景
会员系统,被几乎所有的系统调用。
基础信息管理
基本信息:用户属性。(注册时间,手机号,性别,会员等级,积分,余额,收货地址。)
优惠券信息:隶属于 促销系统。 优惠券信息,消费明细,金额,使用条件,使用时间,有效期。
订单信息:id,冗余(快照)
售后信息:客诉,维保
会员等级:铁牌,铜牌,银牌,金牌。(有明确值的时候,需要有 变动记录)
会员积分。(有明确值的时候,需要有 变动记录) record
聚合的出口。
会员成长体系
淘宝:淘气值。100,对应不同 的会员等级:普通会员,超级会员,APASS
RFM模型。
京东:成长值。注册会员,铜牌,银牌,金牌,钻石。
用户行为增长模型。
RFM 客户消费行为特征分析模型
Recency, 最近一次消费时间。
Frequency, 某一个时间范围内的消费频次。
Monetary,某一个时间范围内:平均客单价,累计交易额。
字典表
R | 对应的值 | F | 值 | M | 值 |
---|---|---|---|---|---|
7天 | 50 | 10以上 | 50 | 1000元 | 50 |
100天 | -50 |
多条记录。
扩展:登录次数,评价次数,评价图,晒单等。
用户行为增长模型。
单向积累。
指标:登录一次,+几分。 login。购物后,+几分。评价后,+几分,晒单 +几分。退货后,-几分。,删除评论,-几分。
多个系统调用同一个功能,解耦。二方库。
第三方:1方,微信是3方。二方(我调我公司的接口,jar包)
给平台对你采取的措施,提供依据。
数据分析。
荣誉感。权益。APASS. (高级退货功能),不需要退货的。
积分体系
加:动作产生积分。
减:订单结算积分抵扣,积分商城购买商品,用户权益置换。
实际消费价值。
相关文章:
【业务功能篇68】电商项目相关核心设计
https证书 http 超文本传输协议: 超文本:包括:文字,图片,音频,视频等。 传输:客户端向服务端发东西,服务端向客户端发东西。 协议:三方协议。怎么传,错误…...

微信开发之一键退出群聊的技术实现
简要描述: 退出群聊 请求URL: http://域名地址/quitChatRoom 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wI…...

〔012〕Stable Diffusion 之 中文提示词自动翻译插件 篇
✨ 目录 🎈 翻译插件🎈 下载谷歌翻译🎈 谷歌翻译使用方法🎈 谷歌翻译使用效果 🎈 翻译插件 在插件列表中搜索 Prompt Translator可以看到有2个插件选项:一个是基于谷歌翻译 〔推荐〕、一个基于百度和deepl…...

【C++】一文带你初识C++继承
食用指南:本文在有C基础的情况下食用更佳 🍀本文前置知识: C类 ♈️今日夜电波:napori—Vaundy 1:21 ━━━━━━️💟──────── 3:23 …...

SDK是什么,SDK和API有什么区别
SDK(Software Development Kit)是一种开发工具包,通常由软件开发公司或平台提供,用于帮助开发人员构建、测试和集成特定平台或软件的应用程序。SDK 包含一系列的库、工具、示例代码和文档,旨在简化开发过程并提供所需的…...

golang中使用chan控制协程并发简单事例
func main() {processNum : 5ch : make(chan struct{}, processNum)for true {ch <- struct{}{}go func() {defer func() {<-ch}()fmt.Println("我是协程", time.Now().UnixNano())time.Sleep(time.Second * 5)}()} } 可以看到,这里每5s会执行一次带…...

好用画流程图软件推荐 excalidraw
作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐…...

【RP2040】香瓜树莓派RP2040之搭建开发环境(windows)
本文最后修改时间:2022年08月23日 01:57 一、本节简介 本节以树莓派pico开发板为例,搭建windows下的编译环境。 二、实验平台 1、硬件平台 1)树莓派pico开发板 ①树莓派pico开发板 ②micro usb数据线 2)电脑 2、软件平台 …...

基于springboot线上礼品商城
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

开源,微信小程序 美食便签地图(FoodNoteMap)的设计与开发
目录 0 前言 1 美食便签地图简介 2 美食便签地图小程序端开发 2.1技术选型 2.2前端UI设计 2.3主页界面 2.4个人信息界面 2.5 添加美食界面 2.6美食便签界面 2.8 美食好友界面 2.9 美食圈子界面 2.10 子页面-店铺详情界面 2.11 后台数据缓存 2.12 订阅消息通知 2.1…...

kubernetes集群(k8s)之安装部署Calico 网络
目录 安装部署Calico 网络 (一)环境准备 (二)部署docker环境 (三)部署kubernetes集群 (四)部署Calico网络插件 安装部署Calico 网络 (一)环境准备 IP地…...
【C/C++】C++11 Lambda 表达式捕获变量使用技巧
在 C11 中,lambda 表达式可以通过捕获列表来捕获指定的变量。捕获列表是放在 lambda 表达式参数列表之前的一对方括号 [] 中,用来指定 lambda 表达式捕获哪些变量。 捕获列表有以下几种形式: []:不捕获任何变量。[&]&#x…...

大势智慧软硬件技术答疑第八期
1.DasViewer可以使用同一个账号登录多台电脑,然后同时进行格式转换操作吗? 答:可以的 2.在DasViewer里面添加了标注点,能手动修改标注点坐标、手动输入坐标值 吗? 答:目前DasViewer暂不支持手动输入坐标 …...
jvm-jvm与java体系结构
1.JAVA及JVM简介 jvm发展历程 sun classic vm jdk1.4时完全被淘汰 2.虚拟机与JAVA虚拟机 java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行,每一条java指令,java虚拟机中都有…...

Three.js 实现材质边缘通道发光效果
相关API的使用: 1. EffectComposer(渲染后处理的通用框架,用于将多个渲染通道(pass)组合在一起创建特定的视觉效果) 2. RenderPass(是用于渲染场景的通道。它将场景和相机作为输入,使用Three.…...

【MFC】10.MFC六大机制:RTTI(运行时类型识别),动态创建机制,窗口切分,子类化-笔记
运行时类信息(RTTI) C: ##是拼接 #是替换成字符串 // RTTI.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <afxwin.h>#ifdef _DEBUG #define new DEBUG_NEW #endifCWinApp th…...

ui设计师个人年终工作总结2020最新范文5篇
ui设计师个人年终工作总结(一) 我于20年x育人x日成为公司的试用员工,安排在技术研发中心担任UI界面设计一职,现将我的工作情况分为三个阶段来总结如下汇报: 一、萌芽阶段 记得初次应聘时,我对公司的认识仅仅局限于行业之一&#x…...

开源数据库Mysql_DBA运维实战 (修改root密码)
MySQL——修改root密码的4种方法 本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set pass…...
javap获取Kotlin方法JNI方法签名
获取Kotlin方法签名和JAVA不一样的地方就是需要使用Kotlin 命令行编译器生成.class文件: 编写一个Kotlin类,添加JNI方法: class TestLib {external fun init(callBack: CallBack)interface CallBack{fun onData(count:Int,data:String)} }在…...

ARM-M0内核MCU,内置24bit ADC,采样率4KSPS,传感器、电子秤、体脂秤专用,国产IC
ARM-M0内核MCU 内置24bit ADC ,采样率4KSPS flash 64KB,SRAM 32KB 适用于传感器,电子秤,体脂秤等等...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...