文章目录

  • 游戏行业大数据分析
    • 1 数据分析流程以及分析指标
        • 1.1 数据来源
        • 1.2 数据收集和落地
        • 1.3 离线分析
        • 1.4 实时数据分析
        • 1.5 用户肖像
    • 2 相关知识
      • 2.1 离线数据统计技能相关要求
        • 2.1.1 Hadoop
        • 2.1.2 Hive
        • 2.1.3 HBase
        • 2.1.4 Spark Core
        • 2.1.5 Spark SQL
      • 2.2 实时数据统计技能相关要求
        • 2.2.1 KafKa
        • 2.2.2 Flume
        • 2.2.3 Flink
        • 2.2.4 Spark Streaming
      • 2.3 其他技能要求
        • 2.3.1 Redis
        • 2.3.2 Mysql
        • 2.3.3 MongoDB
        • 2.3.4 ElasticSearch
        • 2.3.5 常见排序方法
        • 2.3.6 常见设计模式
    • 3 相关需求
        • 3.1 Hadoop编程
        • 3.2 Flink编程
        • 3.3 Spark SQL编程
      • 3.4 Redis编程
    • 4 大数据任务分析梳理
      • 4.1 架构设计
      • 4.2 数据收集
        • 4.2.1 创建kafka的topic
        • 4.2.2 配置Flume脚本(自定义拦截器将Kafka数据存储到S3)
        • 4.2.3 启动Flume
        • 4.2.4 S3存储数据分类效果概览
        • 4.2.5 每天数据落地大小
      • 4.3 离线数据分析
      • 4.3.1 Hive表的创建
        • 4.3.2 自定义UDF函数天周月起始时间
        • 4.3.3 Hive加载分区脚本
        • 4.3.4 Hive定时任务脚本
        • 4.3.5 Zeppelin整合Spark和Hive
        • 4.3.6 Spark作业日志
      • 4.4 实时数据分析
        • 4.4.1 Flink的WebUI
        • 4.4.2 Flink统计每小时内购总数并写到ES
        • 4.4.3 ES统计每天内购总额

游戏行业大数据分析

1 数据分析流程以及分析指标

1.1 数据来源

​ a) WEB服务器日志如:Tomcat,Nginx。

​ b) 游戏打点记录。

1.2 数据收集和落地

​ a)Nginx日志 + HDFS或S3。

​ b)Kafka+ Flume+ HDFS或S3 进行输入与输出。

1.3 离线分析

过滤清洗数据Nginx请求日志,ETL工作:

​ a) 统计每日请求量。

​ b) 统计哪一时段为用户活跃期。

​ c) 统计响应请求数量和未能响应的数量。

游戏打点记录业务逻辑:

​ a) 统计每日新增,新增留存。

​ b) 统计每日活跃人数维度如:平台(安卓/IOS),国家,终端(华为/iPhone)。

​ c) 休闲类游戏如有关卡,统计关卡通关率。

​ d) 统计广告点击率。

​ e) 游戏中价值替代物如钻石或者金币,统计其产出和消耗。

​ f) 统计出游戏中作弊用户。

​ g) 统计分析各种活动的利益价值。

​ h) 统计内购数量。

​ i) 统计游戏玩家启动次数,玩游戏的时长。

1.4 实时数据分析

a) 实时统计每小时内新增用户,活跃用户。

b) 实时统计每小时内购数量。

1.5 用户肖像

批处理+实时处理统计每个用户肖像:

a) 基础信息如:性别,国家,年龄,婚否,是否有车房。

b) 购买能力:根据消费金额和频率进行评估过。

c) 是否作弊:是否是破解包。

d) 广告用户:看广告频率多,不进行内购。

e) 玩家分类:频繁,经常,常常,一般,偶尔。

f) 玩家等级:高,较高,中上,中,较低,低。

2 相关知识

2.1 离线数据统计技能相关要求

2.1.1 Hadoop

​ a) 要求熟练掌握Hadoop读写流程;

​ b) 要求熟练掌握MapReduce作业流程;

​ c) 要求熟练掌握Job提交流程以及源码;

​ d) 要求熟练掌握Map Task和Reduce Task流程;

​ e) 要求熟练掌握YARN运行原理;

​ f) 要求掌握小文件优化,小表JOIN大表优化方案;

​ g) 要求掌握Job串行流程以及TOPN实现方案;

​ h) 要求熟练掌握ETL;

2.1.2 Hive

​ a) 要求熟练掌握内部表、外部表、分区表的创建;

​ b) 要求熟练掌握分区和分桶的区别;

​ c) 要求熟练掌握数据的导入导出;

​ d) 要求熟练掌握行转列和列转行的使用场景;

​ e) 要求熟练掌握窗口函数;

​ f) 要求熟练掌握Rank函数进行排名;

​ g) 要求熟练掌握自定义UDF和UDTF;

​ h) 要求熟练掌握文件存储格式以及区别;

​ i) 要求熟练掌握调优案例:小表和大表JOIN、大表JOIN大表、MapJoin、合理设置Map数量、小文件合并、合理Reduce数、JVM重用等;

2.1.3 HBase

​ a) 要求熟练掌握HBase读写流程;

​ b) 要求熟练掌握HBase的Memstore Flush;

​ c) 要求熟练掌握HBase的文件合并StoreFile Compaction;

​ d) 要求熟练掌握HBase的Region拆分流程;

​ e) 要求熟练掌握HBase的API;

​ f) 要求熟练掌握HBase的优化如:预分区;RowKey设计、内存优化、优化 HStore 文件大小、优化 HBase 客户端缓存、flush,compact,split 机制等;

2.1.4 Spark Core

​ a) 要求熟练掌握Spark通信架构;

​ b) 理解Spark DAG有向无循环图的设计思想;

​ c) 要求掌握Spark各个节点启动流程;

​ d) 要求掌握Spark的Job提交和Task的拆分;

​ e) 要求掌握Spark Shuffle过程;

​ f) 要求掌握Spark三种部署模式的区别;

​ g) 要求掌握 Transform和Action算子;

​ h) 要求掌握groupByKey和reduceByKey的区别;

​ i) 要求熟练编写wordCount程序;

2.1.5 Spark SQL

​ a) 要求掌握RDD、DataFrames、DataSet三者的关系;

​ b) 要求掌握自定义UDF函数和自定义聚合函数;

​ c) 要求掌握数据的输入与输出;

​ d) 要求掌握优化方案;

2.2 实时数据统计技能相关要求

2.2.1 KafKa

​ a) 要求掌握Topic的创建查询删除命令;

​ b) 要求掌握Kafka的存储机制及高效读写的原理;

​ c) 要求掌握Kafka生产者:分区原因及原则、ISR机制、故障处理细节、Exactly Once精准一次性;

​ d) 要求掌握Kafka消费者:push和pull区别和场景、分区分配策略RoundRobin和Range、offest的维护、重新消费等。

​ e) 要求了解Producer事务和Consumer事务;

​ f) 要求掌握Kafka自定义拦截器;

​ g) 熟练掌握Kafka数据积压处理方法;

​ h) 要求了解kafka如何保证顺序发送;

​ i) 要求了解会使用Kafka监控插件Kafka Eagle;

2.2.2 Flume

​ a) 要求掌握Flume组成架构Source、Channel、Sink;

​ b) 要求掌握Flume Agent内部原理;

​ c) 要求熟练编写拦截器;

​ d) 要求掌握Flume整合Kafka和Hdfs;

​ e) 要求了解数据流监控如:Ganglia;

2.2.3 Flink

​ a) 要求理解Flink特性:时间驱动型、流与批的世界观、分层Api;

​ b) 要求掌握Standalone模式和YARN模式;

​ c) 要求掌握作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager)、分发器(Dispatcher)它们之间的关系;

​ d) 要求掌握任务提交流程和任务调度原理;

​ e) 要求理解TaskManger和Slots之间的关系;

​ f) 要求掌握Source的类型, 流的合并和侧输出流;

​ g) 要求掌握Transform算子,常见聚合算子;

​ h) 要求掌握滚动窗口、滑动窗口、会话窗口;

​ i) 要求掌握时间语义和Wartermak; Flink底层8个Process Function:

​ 1.ProcessFunction

​ 2.KeyedProcessFunction

​ 3.CoProcessFunction

​ 4.ProcessJoinFunction

​ 5.BroadcastProcessFunction

​ 6.KeyedBroadcastProcessFunction

​ 7.ProcessWindowFunction

​ 8.ProcessAllWindowFunction

​ j) 要求掌握Sink的输出类型;

​ k) 要求掌握状态编程;

​ l) 要求掌握检查点checkPoint的原理;

​ m) 要求掌握Flink+Kafka实现端到端的exactly-once;

2.2.4 Spark Streaming

​ a) 要求掌握Spark Streaming消费Kafka的偏移量是如何维护的;

​ b) 要求掌握Spark Streaming读取Kafka数据的两种方式;

​ c) 要求掌握Spark Streaming读取kafka数据时如何保证数据不丢失问题,至多,至少,精准一次语义;

​ d) 要求理解updateStateByKey底层是如何实现保存数据原来的状态;

​ e) 要求掌握窗口函数;

​ f) 要求熟练编写WordCount程序;

2.3 其他技能要求

2.3.1 Redis

​ a) 要求掌握String、Hash 、List、Set、 Sorte Set操作;

​ b) 要求掌握并理解Redis哨兵模式;

​ c) 要求掌握RDB和AOF的区别;

​ d) 要求理解并运用Redis实现游戏周榜、月榜;

​ e) 要求理解并运用Redis锁实现高并发;

2.3.2 Mysql

​ a) 要求理解Mysql存储引擎InnoDB、MyISAM的区别;

​ b) 要求熟练掌握索引创建和索引失效的情况;

​ c) 要求了解Mysql读写分离;

​ d) 要求掌握Mysql存储机制;

​ e) 要求理解并运用实现高并发锁;

2.3.3 MongoDB

​ a) 要求理解MongoDB存储结构;

​ b) 要求熟练掌握集合的创建、删除、导入导出操作;

​ c) 要求熟练掌握数据的备份与恢复;

​ d) 要求熟练掌握索引的创建;

2.3.4 ElasticSearch

​ a) 要求掌握文档的创建删除查询;

​ b) 会使用elasticsearch-head;

​ c) 要求掌握和Kibana联合使用;

2.3.5 常见排序方法

​ a) 要求熟练掌握冒泡排序;

​ b) 要求熟练掌握快排;

​ c) 要求熟练掌握选择排序;

​ d) 要求熟练掌握插入排序;

​ e) 要求熟练掌握归并排序;

2.3.6 常见设计模式

​ a) 要求熟练掌握单例模式;

​ b) 要求熟练掌握观察者模式;

​ c) 要求熟练掌握工厂模式;

​ d)要求熟练掌握代理模式;

3 相关需求

3.1 Hadoop编程

假设下面是一部分nginx请求日志经过数据清洗后的数据。固定格式为:(用户ID IP 日期 请求URI 请求地址 请求状态 请求Agent)

e4ec9bb6f2703eb7 180.21.76.203 2020-06-30T09:11:14+00:00 /u3d/v2/appconfig 127.0.0.1:8080 200 “BestHTTP”

1f85152896978527 171.43.190.8 2020-06-30T09:11:14+00:00 /u3d/v2/userAction 127.0.0.1:8080 200 “BestHTTP”

要求:

​ a) 统计每天的日活跃人数;

​ b) 统计每小时的活跃人数;

​ c) 统计每小时请求URL排名前十名;

​ d) 统计出国家|省每日活跃数;

​ e)根据User Agent统计每日终端信息

3.2 Flink编程

假设有下面是一部分用户登录状态的日志。固定格式为:(用户ID IP 请求状态 时间)

e4ec9bb6f2703eb7 180.21.76.203 success 1558430815

1f85152896978527 171.43.190.8 fail 1558430826

要求:

​ a) 使用状态编程输出5秒内连续登录失败超过3次的用户;

​ b) 使用CEP输出5秒内连续登录失败超过3次的用户;

3.3 Spark SQL编程

假设有两张表new_users每天大约6M和play_stages表每天大约10G数据。两张表都包含以下字段:

userID 用户ID appName 游戏名称 appVersion 游戏版本 appPlatform 平台安卓|IOS

要求:

​ 统计新增用户留存1-7,15,30,90这10天的留存率;

3.4 Redis编程

假设一个游戏有2000W用户,每天DAU大约100W左右,现在要求根据关卡值做一个游戏排行榜 ,你会如何设计?

4 大数据任务分析梳理

4.1 架构设计

在这里插入图片描述

4.2 数据收集

​ 客户端发送日志到接口,将数据发送到kafka消息中间件, flume将kafka作为source写入到亚马逊s3。

4.2.1 创建kafka的topic

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-diamond
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-ads
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-launch
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-stage
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-gift
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-shop
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-prop
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-ball
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 2 --topic topic-s3-airdrop

4.2.2 配置Flume脚本(自定义拦截器将Kafka数据存储到S3)

a1.sources=r1
a1.channels=c1
a1.sinks=k1
a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type = com.pusidun.applogs.flume.interceptor.S3CollInterceptor$Builder
a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource
a1.sources.r1.batchSize = 5000
a1.sources.r1.batchDurationMillis = 2000
a1.sources.r1.kafka.bootstrap.servers = localhost:9092
a1.sources.r1.kafka.zookeeperConnect = localhost:2181
a1.sources.r1.kafka.topics.regex = ^topic-s3-.*$
a1.channels.c1.type=memory
a1.channels.c1.capacity=100000
a1.channels.c1.transactionCapacity=10000
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = s3a://bricks-playable/logs/%{logType}/%Y%m/%d
a1.sinks.k1.hdfs.filePrefix = events-
a1.sinks.k1.hdfs.rollInterval = 600
a1.sinks.k1.hdfs.rollSize = 0
a1.sinks.k1.hdfs.rollCount = 0
a1.sinks.k1.hdfs.fileType = DataStream
a1.sources.r1.channels = c1
a1.sinks.k1.channel= c1

4.2.3 启动Flume

nohup bin/flume-ng agent \
-c conf \
-n a1 \
-f conf/s3.conf  & \
-Dflume.root.logger=DEBUG,console &

4.2.4 S3存储数据分类效果概览

在这里插入图片描述

4.2.5 每天数据落地大小

文件名称 文件大小/天 文件描述
ads 2.8G iOS用户广告行为
diamond 2G iOS钻石产出与消耗数据
diamondShop 30M 钻石商店页面
dingyue 7KB 订阅消息
gift 1.2G 礼物盒子消息
launch 650M 游戏启动上报数据
prop 500M 游戏道具产出消耗
shopWindow 60M 弹窗消息
stage 10G 关卡信息
airdrop 400M 空头包
ball 900KB 球皮肤
bussiness 17G 安卓商业广告消息
appsflyer 18.7G 安卓用户广告消息
nginx-logs 5G WEB端请求日志

4.3 离线数据分析

​ Hive On Spark进行离线数据分析。

4.3.1 Hive表的创建

# 创建Hive外部表
# s3_stage | s3_launch | s3_ads | s3_diamond | s3_diamondShop | s3_gift | s3_airdrop | s3_prop | s3_ball|s3_shopWindow
CREATE EXTERNAL TABLE  表名(
uid STRING,
appVersion STRING,
appName STRING,
appPlatform STRING,
ip STRING,
countryCode STRING,
systimestamp BIGINT,
currentTime BIGINT,
clientTimeStamp STRING,
groupId STRING,
kindType STRING,
params Map<STRING,STRING>
)PARTITIONED BY
(ym string, day string)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
STORED AS TEXTFILE;

4.3.2 自定义UDF函数天周月起始时间

#添加编写的jar
ADD JAR /opt/apache/hive-3.1.2/lib/app-logs-hive-udf.jar
#注册UDF自定义函数 天周月起始时间
CREATE FUNCTION getdaybegin    AS  'com.pusidun.applogs.udf.hive.DayBeginUDF';
CREATE FUNCTION getweekbegin   AS  'com.pusidun.applogs.udf.hive.WeekBeginUDF';
CREATE FUNCTION getmonthbegin  AS  'com.pusidun.applogs.udf.hive.MonthBeginUDF';
CREATE FUNCTION formattime     AS  'com.pusidun.applogs.udf.hive.FormatTimeUDF';

4.3.3 Hive加载分区脚本

vim .exportData.sql
ALTER TABLE  s3_stage   ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/stage/${ym}/${day}/';
ALTER TABLE  s3_launch  ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/launch/${ym}/${day}/';
ALTER TABLE  s3_ads     ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/ads/${ym}/${day}/';
ALTER TABLE  s3_diamond ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/diamond/${ym}/${day}/';
ALTER TABLE  s3_gift    ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/gift/${ym}/${day}/';
ALTER TABLE  s3_airdrop ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/airdrop/${ym}/${day}/';
ALTER TABLE  s3_prop    ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/prop/${ym}/${day}/';
ALTER TABLE  s3_ball    ADD PARTITION(ym='${ym}',day='${day}') LOCATION 's3a://bricks-playable/logs/ball/${ym}/${day}/';

4.3.4 Hive定时任务脚本

vim hive-exec.sh
#!/bin/bash
systime=`date -d "1 day ago" +%Y%m-%d`
ym=`echo ${systime} | awk -F '-' '{print $1}'`
day=`echo ${systime} | awk -F '-' '{print $2}'`
cp /opt/s3/.exportData.sql   /opt/s3/exportData.sql
sed -i 's/${ym}/'${ym}'/g'   /opt/s3/exportData.sql
sed -i 's/${day}/'${day}'/g' /opt/s3/exportData.sql

4.3.5 Zeppelin整合Spark和Hive

在这里插入图片描述

4.3.6 Spark作业日志

在这里插入图片描述

4.4 实时数据分析

​ Fink消费kafka数据统计每1小时内购总额并写入ES、每小时url请求Top10、每小时日活人数。

4.4.1 Flink的WebUI

在这里插入图片描述

4.4.2 Flink统计每小时内购总数并写到ES

在这里插入图片描述

4.4.3 ES统计每天内购总额

在这里插入图片描述

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

相关文章

  1. Selenium超级详细的教程

    前言 相信搞过Python的人绝大部分都会一点点爬虫技能,但是很多时候爬虫也不是万能的,这个时候就需要我们的自动化测试框架了,于是Selenium就应运而生了,它可以算的上是自动化测试框架中的佼佼者,因为它解决了大多数用来爬取页面的模块的一个永远的痛,那就是Ajax异步加载,…...

    2024/5/2 18:18:17
  2. 学不下去了怎么办?

    读死书死读书 学习,就是件痛苦的事情。 要是有人跟你们说:学习其实是一件很快乐的事情,真不知道你们怎么想的鬼哭狼嚎。 请一定不要犹豫,拖出去打,往冒烟儿了打。 但是吧,打完之后我们还是得继续回来学习,我们要学会苦中作乐,怎么作乐,这不就是来找乐子的嘛。 我也不是…...

    2024/5/2 20:11:43
  3. 2020年,做嵌入式开发工程师还能找到工作吗?20届应届生的一些应聘经历

    ** 1.做嵌入式开发工程师是否好找到工作?就今年疫情情况来说 ** 从今年疫情期间,的确很多公司受到了影响,不管是生产还是销售都会有相应的影响,不开工,代表不能盈利。我是20届应届生,对这个深有体会,去年秋招的时候薪资待遇都会比6月7月去找的薪资待遇会高不少,可能是秋…...

    2024/4/15 19:55:38
  4. 智云通CRM:2020年亲子教育机构困境重重,如何破解?

    2020年是不平凡的一年,大连又出现新病例,2020年的下半场注定是在这样的波折中不断的来回折腾,企业面临着内忧外患。内忧:员工离职,客户流失严重;外患:客户开拓难,同行间抢夺客户愈演愈烈。亲子教育机构也面临着同样的问题,困境重重,大型的亲子教育机构都会选择CRM客户…...

    2024/4/25 11:49:20
  5. Android Studio 与 Tomcat 交互案例(新)

    首先默认已经装了Tomcat了,这方面的教程网上一大堆。 文章目录两数求和 两数求和 参考android与tomcat数据交互 移动端输入两个数,点击按钮,在web端计算结果并返回,最后在页面弹出Web端:web项目名:WebProject_war 只写了个Servlet进行逻辑的运算,Servlet名为:Servlet p…...

    2024/4/24 21:18:49
  6. 剑指 Offer 19. 正则表达式匹配

    题目描述: 请实现一个函数用来匹配包含.和 * 的正则表达式。模式中的字符.表示任意一个字符,而 * 表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab * ac * a&q…...

    2024/4/15 19:55:34
  7. Java面向对象编程的相关

    1.面向对象之继承1.1什么继承?继承是面向对象三大特征之一,封装居首位,封装之后形成了独立体,独立体 A和独立体B 之间可能存在继承关系。其实程序中的继承灵感来自于现实生活,在现实生活中继承处处可见,例如,儿子继承了父亲的财产,儿子不需要努力就很有钱。生活中的继承…...

    2024/4/15 13:57:17
  8. Microsoft SignalR Map Controller具有页面可见性API和事件模糊功能,可映射文档管理系统(DMS)中的用户交互

    介绍信息技术已成为企业中的战略因素,在业务流程中提供了强大的支持[6]。当前,来自多个部门的技术人员的使用直接影响了所获得的组织成果[3]。管理文档的能力已成为管理业务知识必不可少的工具[9]。在这种情况下,一个加剧的因素是,在许多不同的部门中,组织都无法放弃其流程…...

    2024/4/17 4:41:29
  9. YouTube热门视频的分析

    YouTube热门视频的分析1 概述2 数据的预处理3. YouTube数据集的探索性分析3.1 简单的描述性分析3.2 相关性分析3.3 gropby分组函数3.3.1 gropby分组函数搜寻YouTube Top20的频道3.3.2 gropby分组函数 category类别出现的频率排序3.3.3 gropby分组函数 浏览量最多的Top20频道3.3…...

    2024/4/25 12:02:34
  10. Python大方向的学习路线

    Python是一门​应用极其广泛的编程语言。目前在Web开发领域、爬虫领域、数据分析领域、人工智能领域、机器人开发领域都有非常广泛的应用。而且Python语法相对简单,很多人采用自学或者参加培训的方式学习Python技术。那对于以就业为目的的同学,学习Python技术,应该参考怎样的…...

    2024/4/15 13:57:13
  11. vue开发去哪儿网App的知识点和错误点整理

    简介:vue开发去哪儿网App项目是跟着慕课网上面的教程进行学习、编码完成的。这篇文章主要记录的是-我在编码过程中运用的主要知识点和遇到的bug以及对bug的修复,目的是加深对vue基础知识的记忆和理解。 项目文件地址为https://gitee.com/zjinxiaoliang/Travel_GoWhere 一、主…...

    2024/4/15 13:57:13
  12. 产品经理哪些事

    注:本文内容主要接自《结网》和《人人都是产品经理》,主要是产品设计过程中比较关注的点及概念性内容为主。内容比较散乱,部分内容有重复。兴奋度对于团队的重要性保持团队的兴奋度有三大要素: 对目标的共识、工作的节奏、来自用户的正反馈互联网产品经理的工作内容互联网产…...

    2024/4/20 23:59:52
  13. Java31——多线程(超级详细)

    一、程序、进程、线程的理解01. 程序(programm) 概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。02. 进程(process) 概念:程序的一次执行过程,或是正在运行的一个程序。 说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内…...

    2024/4/24 4:27:15
  14. 2020超详细亚马逊卖家店铺帐号防关联要点汇总,只看这篇文章就够了!

    亚马逊在帐号防关联方面,要求严苛,不仅仅在资料上唯一,登录环境唯一,设置路由器也要唯一,才能做到一个帐号纯净不关联,这对亚马逊经营带来许多不便。日常管理:安排专人把所有资料进行整理归档,并定期检查。如有新增资料,需通过专人审阅。 网络关联:每个店铺配备独立的…...

    2024/4/23 21:57:47
  15. 浅谈微信小程序

    2017年1月9日,张小龙在2017微信公开课Pro上发布的微信小程序正式上线。 2018年2月,微信官方发布公告称:已对涉及假货高仿、色情低俗和违规“现金贷”等超过2000个微信小程序,进行永久封禁处理。 2019年8月9日,微信向开发者发布新能力公测与更新公告,微信PC版新版本中,支…...

    2024/4/15 19:55:35
  16. 后渗透攻击:权限提升

    后渗透攻击:权限提升 通常,我们在渗透测试过程中很有可能只获得了一个系统的guest或者user权限。低的权限级别将使我们收到很多限制,在实施横向渗透或者提权攻击时将很困难。在主机上如果没有管理员权限就无法进行获取Hash、安装软件、修改防火墙规则和修改注册表等各种操作…...

    2024/4/15 19:55:33
  17. MyEclipse 2017汉化版安装教程

    安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。1.选中【myeclipse2017】压缩包,鼠标右击选择【解压到myeclipse2017】。2.双击打开【myeclipse2017】文件夹。3.选中【jdk-8u144-windows-x64】鼠标右击选择【以管理员身份运行】。4.点击【下…...

    2024/4/15 19:55:31
  18. 通过MultiMAGNA++实现多个网络对齐

    摘要动机:网络比对(NA)旨在找到不同物种的分子网络之间的节点映射,以识别拓扑或功能相似的网络区域。与基因组序列比对类似,NA可用于在比对的网络区域之间将生物学知识从研究较好的物种转移到研究较少的物种。成对NA(PNA)在两个网络之间查找相似的区域,而多个NA(MNA)可以对…...

    2024/4/15 19:55:30
  19. Python可视化:`legend()`函数详细参数

    Python可视化:legend()函数详细参数 legend()函数是用来设置图像图例相关参数的函数,其所有参数解释如下: Signature: plt.legend(*args, **kwargs) Docstring: Place a legend on the axes.Call signatures::legend()legend(labels)legend(handles, labels)The call signat…...

    2024/4/15 19:55:30
  20. JVM_03 CPU的乱序执行

    上次我们提到了JVM为了安全推出的 双亲委派机制那么双亲委派机制可能被打破吗? 可以,那么如何打破呢? ClassLoader.loadClass 方法定义了类加载的双亲委派机制,重写该方法即可跳出双亲委派。 历史上出现过几次双亲委派被破坏的案例JDK 1.2 之前,想自己实现类的加载必须重写…...

    2024/4/15 19:55:28

最新文章

  1. android studio项目实战——备忘录(附源码)

    成果展示&#xff1a; 1.前期准备 &#xff08;1&#xff09;在配置文件中添加权限及启动页面顺序 ①展开工程&#xff0c;打开app下方的AndroidManifest.xml,添加权限&#xff0c;如下&#xff1a; <uses-permission android:name"android.permission.CAMERA"…...

    2024/5/2 20:31:54
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. DevOps三步法之反馈:流动是油门,反馈是刹车

    打个比方&#xff0c;流动是油门&#xff0c;反馈是刹车。流动是关于行使&#xff0c;反馈是关于安全。车辆要想持续平稳运行&#xff0c;需要油门与刹车良好配合&#xff0c;否则就有可能车毁人亡。核电站需要使核反应处于临界状态&#xff0c;超出临界状态就是核爆炸这也需要…...

    2024/5/2 2:37:13
  4. __dirname 在ES模块中的使用

    前言 ECMAScript模块是 JavaScript 的新标准格式。在Node.js中越来越多的库逐渐从从CommonJS转移到ES模块 注&#xff1a;这里是指“真”ES 模块并不是指代码中 Node.js 中使用 import 写法但是实际被 tsc 转成 commonJS 的形式 但是Node.js ES 开发中此前有一个棘手的问题是获…...

    2024/5/1 13:26:15
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/2 11:19:01
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/1 21:18:12
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/2 9:47:31
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/2 9:47:31
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/2 6:03:07
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/2 9:47:30
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/1 11:24:00
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/1 20:22:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/2 9:47:28
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/2 9:47:27
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/2 0:07:22
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/2 9:47:26
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/1 14:33:22
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/2 18:46:52
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/2 7:30:11
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/1 20:56:20
  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