CSDN数据大屏可视化【开源】
项目简介
本次基于版本3 开源
版本3开源地址:https://github.com/nangongchengfeng/CsdnBlogBoard.git
版本1开源地址:https://github.com/nangongchengfeng/CSDash.git
这是一个基于 Python 的 CSDN 博客数据可视化看板项目,通过爬虫采集 CSDN 博客数据,并以现代化的可视化界面展示博主的各项数据指标。该项目采用前后端分离架构,集成了数据采集、数据存储、API 服务和数据可视化等多个功能模块。
版本一
版本二
版本三
技术栈
后端技术
- Python Flask: 作为 Web 框架,提供 RESTful API 服务
- SQLAlchemy: ORM 框架,用于数据库操作
- BeautifulSoup4: 网页解析,用于爬虫数据提取
- Requests: HTTP 请求库,用于数据爬取
前端技术
- ECharts: 强大的数据可视化图表库
- Axios: HTTP 客户端,用于前后端数据交互
- 现代 CSS: Flexbox 布局、CSS 变量、响应式设计
核心功能模块
1. 数据采集模块
数据采集模块通过spider.py
实现,是项目的核心组件之一。该模块采用了多种技术和策略来确保数据采集的准确性、稳定性和实时性。
1.1 核心技术栈
- Requests: 处理 HTTP 请求,支持自定义请求头和超时设置
- BeautifulSoup4: 使用 lxml 解析器进行高效的 HTML 解析
- 正则表达式(re): 用于精确提取数字和特定格式的数据
- SQLAlchemy: 实现数据持久化和 ORM 映射
- 随机延时策略: 使用
random.uniform()
避免频繁请求
1.2 数据采集功能
1.2.1 博主基础信息采集
-
采集内容:
- 用户名和头像
- 文章数量统计
- 粉丝数和访问量
- 点赞和评论数
- 等级和积分信息
- 博主排名数据
-
技术实现:
# 示例:用户信息提取 user_info = soup.find('div', class_='user-info d-flex flex-column profile-intro-name-box') author_name = user_info.find('a').get_text(strip=True)
1.2.2 文章分类信息采集
-
采集内容:
- 专栏名称和链接
- 专栏文章数量
- 订阅人数统计
- 阅读量和收藏数
- 专栏唯一标识
-
技术实现:
# 示例:分类信息提取 spans = soup.find_all('a', attrs={'class': 'special-column-name'}) for span in spans:href = span.get('href')blog_column = span.text.strip()
1.3 错误处理机制
-
多级异常处理
- 请求异常捕获
- 数据解析异常处理
- 数据库操作异常处理
-
重试机制
max_retries = 3 retry_count = 0 while retry_count < max_retries:try:# 请求逻辑except Exception:retry_count += 1time.sleep(5) # 失败后等待
1.4 数据更新策略
-
增量更新机制
- 检查数据是否存在
- 根据情况执行更新或插入
- 保持数据时效性
-
数据一致性保证
with app.app_context():existing_info = Info.query.filter_by(author_name=author_name).first()if existing_info:# 更新现有记录else:# 插入新记录
1.5 性能优化策略
-
请求优化
- 自定义请求头
- 连接超时设置
- 随机延时控制
-
解析优化
- 使用 lxml 解析器提升性能
- 精确的选择器定位
- 数据预处理和清洗
-
存储优化
- 批量数据处理
- 事务管理
- 会话复用
1.6 反爬虫策略应对
-
请求头模拟
headers = {'User-Agent': 'Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; Trident/5.0)','referer': 'https://passport.csdn.net/login' }
-
访问频率控制
- 随机延时间隔
- 请求限速
- IP 代理支持(预留)
2. 数据存储模块
数据存储模块采用 SQLAlchemy ORM 框架进行数据建模,实现了高效的数据持久化和查询操作。该模块设计了三个核心数据模型,每个模型都针对特定的数据场景进行了优化。
2.1 数据模型设计
2.1.1 博主信息模型 (Info)
class Info(db.Model):__tablename__ = 'info'id = db.Column(db.Integer, primary_key=True, autoincrement=True)date = db.Column(db.Text) # 数据更新时间head_img = db.Column(db.Text) # 博主头像URLauthor_name = db.Column(db.Text) # 博主用户名article_num = db.Column(db.Text) # 文章总数fans_num = db.Column(db.Text) # 粉丝数量like_num = db.Column(db.Text) # 获赞数量comment_num = db.Column(db.Text) # 评论数量level = db.Column(db.Text) # 博主等级visit_num = db.Column(db.Text) # 访问量score = db.Column(db.Text) # 积分rank = db.Column(db.Text) # 排名
特点说明:
- 使用自增主键确保记录唯一性
- 采用 Text 类型存储可变长度文本
- 包含完整的博主数据画像
- 支持时间序列分析(通过 date 字段)
2.1.2 文章分类模型 (Categorize)
class Categorize(db.Model):__tablename__ = 'categorize'id = db.Column(db.Integer, primary_key=True, autoincrement=True)href = db.Column(db.Text) # 分类链接categorize = db.Column(db.Text) # 分类名称categorize_id = db.Column(db.BigInteger) # 分类IDcolumn_num = db.Column(db.BigInteger) # 专栏数量num_span = db.Column(db.BigInteger) # 订阅数量article_num = db.Column(db.BigInteger) # 文章数量read_num = db.Column(db.BigInteger) # 阅读量collect_num = db.Column(db.BigInteger) # 收藏数
特点说明:
- 使用 BigInteger 类型存储大数值数据
- 支持分类数据的统计分析
- 包含完整的分类元数据
- 可追踪分类的受欢迎程度
2.1.3 文章详情模型 (Article)
class Article(db.Model):__tablename__ = 'article'id = db.Column(db.Integer, primary_key=True, autoincrement=True)url = db.Column(db.Text) # 文章链接title = db.Column(db.Text) # 文章标题date = db.Column(db.Text) # 发布日期read_num = db.Column(db.BigInteger) # 阅读数comment_num = db.Column(db.BigInteger) # 评论数type = db.Column(db.Text) # 文章类型
特点说明:
- 记录文章的基本信息和统计数据
- 支持文章时间序列分析
- 可追踪章的受欢迎程度
- 便于文章分类统计
2.2 数据库优化策略
-
字段类型优化
- 使用 BigInteger 存储大数值,避免数值溢出
- 采用 Text 类型存储变长文本,节省存储空间
- 主键使用自增 Integer,提高插入性能
-
查询性能优化
- 可以根据需要添加索引
- 支持复杂的聚合查询
- 优化的数据结构设计
-
数据一致性保证
- 主键约束确保记录唯一性
- 适当的字段类型确保数据完整性
- 支持事务操作
2.3 数据操作示例
- 数据插入
new_info = Info(author_name="博主名称",article_num="100",fans_num="1000"
)
db.session.add(new_info)
db.session.commit()
- 数据查询
# 获取博主信息
author_info = Info.query.filter_by(author_name="博主名称").first()# 获取分类统计
categories = Categorize.query.order_by(Categorize.read_num.desc()).all()# 获取热门文章
hot_articles = Article.query.order_by(Article.read_num.desc()).limit(10).all()
- 数据更新
info = Info.query.filter_by(author_name="博主名称").first()
info.fans_num = str(int(info.fans_num) + 1)
db.session.commit()
3. 可视化展示模块
前端采用现代化的可视化方案,基于 ECharts 实现了丰富的数据可视化功能,并通过 Axios 实现了与后端的数据交互。
3.1 技术架构
-
核心技术
- ECharts 5.5.1:数据可视化库
- Axios:HTTP 客户端
- CSS3:现代布局和动画
- Flexbox:响应式布局
-
设计规范
:root {--bg-primary: #f7f8fa;--bg-secondary: #ffffff;--text-primary: #333333;--text-secondary: #555555;--accent-color: #0066cc;--border-radius: 12px;--shadow: 0 4px 6px rgba(0, 0, 0, 0.05); }
3.2 图表组件实现
3.2.1 柱状图(季度数据分析)
-
数据流程
async function updateBarChart() {// 1. 获取数据const response = await axios.get("/api/quarter");// 2. 数据转换const dimensions = [...Object.keys(chartData[0]).filter((key) => key !== "category"),];const source = chartData.map((item) => ({product: item.category,...item,}));// 3. 图表配置const option = {legend: {},tooltip: {},dataset: {dimensions: dimensions,source: source,},xAxis: { type: "category" },yAxis: {},series: dimensions.slice(1).map((dim) => ({type: "bar",name: dim,})),}; }
-
交互特性
- 动态数据加载
- 点击事件响应
- 自适应布局
3.2.2 饼图(分类占比分析)
-
实现细节
async function updatePieChart() {// 1. 数据获取const response = await axios.get("/api/categorize");// 2. 图表配置const option = {tooltip: {trigger: "item",formatter: "{a} <br/>{b}: {c} ({d}%)",},series: [{name: "分类统计",type: "pie",radius: ["30%", "70%"],data: chartData,label: {show: true,position: "outside",formatter: "{b}: {d}%",},},],}; }
-
视觉优化
- 内外半径设计
- 标签自动布局
- 悬停动画效果
3.2.3 混合图表(阅读量分析)
async function updateMixChart() {const option = {color: ["#3E82F7", "#F86C6B"],tooltip: {trigger: "axis",axisPointer: {type: "shadow",},},legend: {data: ["文章数", "阅读量"],},grid: {top: "10%",bottom: "25%",right: "10%",},};
}
3.3 响应式布局实现
-
布局结构
<div class="dashboard-container"><div class="top-section"><div class="mac-header">...</div><div class="stats-grid">...</div></div><!-- 图表容器 --> </div>
-
样式优化
.dashboard-container {display: flex;flex-direction: column;height: 100vh;padding: 15px;gap: 15px; }
3.4 数据更新机制
-
初始化流程
function initCharts() {updateBarChart();updatePieChart();updateMixChart();updateHeatmap();updateArticleList(); }
-
数据刷新策略
- 页面加载时初始化
- 用户交互触发更新
- 定时自动刷新
3.5 交互设计
-
图表联动
- 点击饼图更新文章列表
- 柱状图分类筛选
- 数据钻取功能
-
视觉反馈
.stat-card:hover, .chart-card:hover {transform: translateY(-5px);box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08); }
3.6 性能优化
-
加载优化
- 异步数据加载
- 图表按需渲染
- 防抖和节流处理
-
渲染优化
- 合理的图表配置
- 数据预处理
- 动画性能调优
4. 后端实现逻辑流程
4.1 核心技术栈
- Flask: Web 框架
- Blueprint: 路由模块化
- Cache: 文件系统缓存
- SQLAlchemy: ORM 数据库操作
- PyMySQL: MySQL 数据库驱动
4.2 系统架构
4.3 核心功能实现
4.3.1 应用初始化
app = Flask(__name__)
# 配置缓存
cache.init_app(app, config={'CACHE_TYPE': 'filesystem','CACHE_DIR': 'cache-directory'
})
# 数据库配置
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:pass@host:port/db'
db.init_app(app)
4.3.2 路由注册机制
DEFAULT_BLUEPRINT = [(cs, '/'), # CSDN API蓝图
]
url_path_prefix = "/api"def config_blueprint(app):for blueprint, url_prefix in DEFAULT_BLUEPRINT:url_prefix = url_path_prefix + url_prefixapp.register_blueprint(blueprint, url_prefix=url_prefix)
4.4 API 接口设计
4.4.1 数据统计接口
- 季度数据统计
@cs.route('/quarter')
@cache.cached(timeout=60)
def GetQuarter():"""获取每年每季度博客数量"""year_quarter_count = defaultdict(lambda: defaultdict(int))data = GetArticle()for article in data:year = article["year"]quarter = article["quarter"]year_quarter_count[year][quarter] += 1return Result.success(result)
- 分类数据统计
@cs.route('/categorize')
@cache.cached(timeout=60)
def Pie():"""获取文章分类统计"""categorize_data = Categorize.query.all()pie_data = [{"value": item.article_num, "name": item.categorize}for item in categorize_data]return Result.success(pie_data)
4.4.2 数据处理流程
4.5 性能优化策略
-
缓存优化
- 使用文件系统缓存
- 60 秒缓存过期时间
- 针对高频访问接口启用缓存
-
数据处理优化
- 使用 defaultdict 优化数据聚合
- 批量数据查询
- 查询 据预处理和转换
-
查询优化
- ORM 延迟加载
- 查询结果缓存
- 合理的数据索引
4.6 数据流转流程
4.7 错误处理机制
-
全局异常处理
try:# 业务逻辑 except Exception as e:print(f"Error: {str(e)}")return Result.error(str(e))
-
数据验证
if not data or not data.labels:return Result.error("Invalid data format")
-
结果封装
class Result:@staticmethoddef success(data):return jsonify({"code": 200, "data": data})@staticmethoddef error(msg):return jsonify({"code": 500, "msg": msg})
技术总结
1. 技术栈全景图
相关文章:
CSDN数据大屏可视化【开源】
项目简介 本次基于版本3 开源 版本3开源地址:https://github.com/nangongchengfeng/CsdnBlogBoard.git 版本1开源地址:https://github.com/nangongchengfeng/CSDash.git 这是一个基于 Python 的 CSDN 博客数据可视化看板项目,通过爬虫采…...
C# 从控制台应用程序入门
总目录 前言 从创建并运行第一个控制台应用程序,快速入门C#。 一、新建一个控制台应用程序 控制台应用程序是C# 入门时,学习基础语法的最佳应用程序。 打开VS2022,选择【创建新项目】 搜索【控制台】,选择控制台应用(.NET Framew…...
什么是 DevSecOps 框架?如何提升移动应用安全性?
在如今数字化发展的时代,安全性已成为移动应用开发不可或缺的一部分。传统的开发模式通常将安全作为一个独立的部门,专门负责保护组织的整体系统,而 DevSecOps 框架则将安全融入到 DevOps 的每一个环节中,确保应用的开发、测试、发…...
数字后端项目Floorplan常见问题系列专题
今天给大家分享下数字IC后端设计实现floorplan阶段常见问题系列专题。这些问题都是来自于咱们社区IC后端训练营学员提问的问题库。目前这部分问题库已经积累了4年了,后面会陆续分享这方面的问题。希望对大家的数字后端学习和工作有所帮助。 数字IC后端设计实现floo…...
【C++读写.xlsx文件】OpenXLSX开源库在 Ubuntu 18.04 的编译、交叉编译与使用教程
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰: 2024-12-17 …...
Qt设置部件的阴影效果
QT中的比如QWidget,QLabel,QPushbutton,QCheckBox都可以设置阴影效果,就像这样: 以QWidget为例,开始尝试使用样式表的形式添加阴影,但没有效果,写法如下: QWidget#widget1::shadow{color: rgb…...
【iOS安全】NSTaggedPointerString和__NSCFString
概述 简而言之 : NSTaggedPointerString和__NSCFString都是NSString类型。NSTaggedPointerString善于存短字符串,__NSCFString善于存一般或长字符串在iOS运行时,系统会根据字符串长度自动在NSTaggedPointerString和__NSCFString之间进行转换…...
docker(wsl)命令 帮助文档
WSL wsl使用教程 wsl -l -v 列出所有已安装的 Linux 发行版 wsl -t Ubuntu-22.04 --shutdown 关闭所有正在运行的WSL发行版。如果你只想关闭特定的发行版 wsl -d Ubuntu-22.04 登录到Ubuntu环境 wsl --list --running 查看正在wsl中运行的linux发行版 wsl --unregister (系统名…...
nginx模块ngx-fancyindex 隐藏标题中的 / 和遇到的坑
首先下载nginx源码,编译时加上 --add-module/usr/local/src/ngx-fancyindex/ 例如 : ./configure --prefix/usr/local/nginx --with-select_module --with-poll_module --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module…...
Edge Scdn防御网站怎么样?
酷盾安全Edge Scdn,即边缘式高防御内容分发网络,主要是通过分布在不同地理位置的多个节点,使用户能够更快地访问网站内容。同时,Edge Scdn通过先进的技术手段,提高了网上内容传输的安全性,防止各种网络攻击…...
音频接口:PDM TDM128 TDM256
一、 PDM接口 在麦克风(Mic)接口中,PDM(Pulse Density Modulation,脉冲密度调制)和I2S(Inter-IC Sound,集成电路内置音频总线)是两种常见的数字输出接口。 1、工作原理…...
半连接转内连接规则的原理与代码解析 |OceanBase查询优化
背景 在查询语句中,若涉及半连接(semi join)操作,由于半连接不满足交换律的规则,连接操作必须遵循语句中定义的顺序执行,从而限制了优化器根据参与连接的表的实际数据量来灵活选择优化策略的能力。为此&am…...
虚拟机VMware的安装问题ip错误,虚拟网卡
要么没有虚拟网卡、有网卡远程连不上等 一般出现在win11 家庭版 1、是否IP错误 ip addr 2、 重置虚拟网卡 3、查看是否有虚拟网卡 4、如果以上检查都解决不了问题 如果你之前有vmware 后来卸载了,又重新安装,一般都会有问题 卸载重装vmware: 第一…...
2024159读书笔记|《南山册页:齐白石果蔬册鱼虫册》节选
2024159读书笔记|《南山册页:齐白石果蔬册&鱼虫册》节选 1. 《南山册页:齐白石鱼虫册》2. 《南山册页:齐白石果蔬册》 1. 《南山册页:齐白石鱼虫册》 《南山册页:齐白石鱼虫册》南山书画,大家之作&…...
校园社交圈子系统APP开发校园社交圈子系统校园社交圈子系统平台校园社交圈子系统论坛开发校园社交圈子系统圈子APP
关于校园社交圈子系统APP及平台的开发,以下是从需求分析、系统设计、技术选型、功能实现等多个方面进行的详细阐述: 点击可获得前后端完整演示查看 一、需求分析 校园社交圈子系统的开发需求主要来源于大学生的社交需求。通过问卷调查、用户需求收集等…...
【Leetcode 热题 100】437. 路径总和 III
问题背景 给定一个二叉树的根节点 r o o t root root,和一个整数 t a r g e t S u m targetSum targetSum,求该二叉树里节点值之和等于 t a r g e t S u m targetSum targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子…...
Solidity中的事件(Event)的结构与用法
Solidity中的事件(Event)的结构与用法 event的简单例子被索引的参数(Indexed Parameters)没有被索引的参数(Non-indexed Parameters) event扩展event 更多举例无参数的event有什么用 event的简单例子 在So…...
基于STM32的房间湿度控制系统设计与实现(论文+源码)
1.系统总体设计 根据系统的实际应用需求,从硬件电路以及软件程序两个方面展开房间湿度控制系统设计。如图所示为系统的整体架构图。系统采用单片机作为控制器,在传感器检测模块中包括DHT11温湿度检测、有害气体浓度检测,在系统执行模块包括加…...
docker 使用 xz save 镜像
适用场景 如果docker save -o xxx > xxx 镜像体积过大,可以使用 xz 命令压缩。 命令 例如 save busybox:1.31.1 镜像,其中 -T 是使用多核心压缩,可以加快压缩。 docker save busybox:1.31.1 |xz -T 8 > /tmp/busybox:1.31.1安装 xz Ubuntu/Debian sudo apt upda…...
Dockerfile文件编写
目录 Dockerfile文件编写 1.什么是Dockerfile 2. Dockerfile作用 3.dockerfile 的基本结构: 4.dockerfile指令: FROM 指定基础镜像,dockerfile构建镜像的第一个指令 LABEL 指定镜像维护人信息 ADD/COPY 复制本地文件/目录到镜像中 …...
linux高性能服务器编程读书笔记目录建议
linux高性能服务器编程读书笔记目录&&建议 文章目录 linux高性能服务器编程读书笔记目录&&建议目录第一篇 TCP/IP协议详解第二篇 深入解析高性能服务器编程第三篇 高性能服务器优化与监测 自己总结的内容linux这本书上没有但是黑马上有的东西epoll反应堆模型本…...
java全栈day20--Web后端实战(Mybatis基础2)
一、Mybatis基础 1.1辅助配置 配置 SQL 提示。 默认在 mybatis 中编写 SQL 语句是不识别的。可以做如下配置: 现在就有sql提示了 新的问题 产生原因: Idea 和数据库没有建立连接,不识别表信息 解决方式:在 Idea 中配置 MySQL 数…...
页面加载速度优化策略:提升用户体验的关键
文章目录 前言一、为什么需要优化页面加载速度?二、前端优化技术三、后端优化策略四、构建与部署优化五、案例研究:实际效果展示结语 前言 在当今快节奏的互联网环境中,页面加载速度不仅是用户体验的重要组成部分,更是影响网站性…...
多模块程序的测试策略
例1.如图“自顶向下”: 采用广度优先:模块M1结合模块M2,M3和M4,然后再结合下一控制层中的模块M5,M6和M7,继续下去直到所有模块结合近来。 混合策略: 改进的自顶向下测试方法 基本上使用自顶向下的测试方法…...
聚水潭数据无缝集成到金蝶云星空的实现方案
聚水潭数据集成到金蝶云星空:聚水潭调拨对接金蝶直接调拨ok 在企业信息化管理中,数据的高效流动和准确对接是实现业务流程顺畅运行的关键。本文将分享一个具体的系统对接集成案例——如何通过轻易云数据集成平台,将聚水潭的数据无缝集成到金…...
electron打包linux环境
注意:新版的electron已经不支持在win上直接打包Linux的环境了,服务会卡住,会一直生成文件占用磁盘(我发现的时候占了我100G,而且文件夹很深,找了java代码while循环,好不容易删除的o(╥﹏╥)o) electron有一个专门打包的docker镜像,…...
设计模式--单例模式【创建型模式】
设计模式的分类 我们都知道有 23 种设计模式,这 23 种设计模式可分为如下三类: 创建型模式(5 种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。结构型模式(7 种)࿱…...
Mybatis分页插件的使用问题记录
项目中配置的分页插件依赖为 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.7</version></dependency>之前的项目代码编写分页的方式为,通过传入的条件…...
BERTective: Language Models and Contextual Information for Deception Detection
目录 概要 实验设置 数据集 实验条件 指标和基准 实验方法 神经网络基准 基于transformer的模型 基于BERT的模型 实验结果 分析 非上下文化模型 上下文化模型 欺骗语言 讨论 结论 概要 本文基于一组包含虚假陈述的意大利对话语料库,建立了一种新的…...
python 配置 oracle instant client
1.问题描述 想用python连接oracle数据库,百度得知需要cx_Oracle这个第三方库 import cx_Oracle# 设置Oracle数据源名称 dsn cx_Oracle.makedsn(host, port, service_nameservice_name)# 创建数据库连接 connection cx_Oracle.connect(userusername, passwordpas…...
【C语言】一文讲通 和*
&和*详解 前言符号 &:取地址符& 的用法& 用于函数参数传递 符号 *:解引用符* 的用法* 用于指针的初始化 结合使用 & 和 *1. * 和 & 配合使用示例 常见错误与注意事项总结 前言 在 C 语言中,* 和 & 是两个非常重…...
编译原理复习---基本概念+推导树
适用于电子科技大学编译原理期末考试复习。 本文只适合复习不适合预习,即适合上课听过一点或自己学过一点的同学。 1. 编译原理概述 编译原理是计算机科学的一个重要分支,它涉及将高级编程语言编写的源代码转换为机器能够理解和执行的低级代码的过程。…...
ThinkPHP 吸收了Java Spring框架一些特性
ThinkPHP 吸收了Java Spring框架一些特性,下面介绍如下: 1、controller 控制器层 存放控制器层的文件,用于处理请求和响应 2、model 实体类 存放实体类的文件,用于定义数据模型 3、dao DAO层 存放DAO(数据访问…...
【Java基础面试题019】什么是Java中的不可变类?
回答重点 不可变类是指在创建后无法被修改的类。一旦对象被创建,它的所有属性都不能被更改。这种类的实例在整个生命周期内保持不变。 关键特征: 声明类为final,防止子类继承类的所有字段都是private和final,确保它们在初始化后…...
JAVA开发时获取用户信息失败,分析后端日志信息
从日志信息(见文章最后)来看,JWT 认证过程似乎是成功的。具体来说,以下几点表明认证流程正常: Token 解析成功: 日志显示 Parsing token: eyJhbGciOiJIUzUxMiJ9.eyJ1c2VySWQiOjEsImV4cCI6MTczNDM2MzUwMH0.jQtaj1sTBCMh…...
Docker 安装 禅道-21.2版本-外部数据库模式
Docker 安装系列 1、拉取最新版本(zentao 21.2) [rootTseng ~]# docker pull hub.zentao.net/app/zentao Using default tag: latest latest: Pulling from app/zentao 55ab1b300d4b: Pull complete 6b5749e5ef1d: Pull complete bdccb03403c1: Pul…...
如何写好一份技术文档?
技术文档是传递技术信息、指导用户操作的重要工具。一份高质量的技术文档不仅能帮助用户快速理解和使用技术产品,还能减少后续的维护和支持成本。本文将详细介绍如何撰写一份优秀的技术文档。 一、明确目标受众 在开始撰写技术文档之前,首先要明确目标受…...
常用es命令
常用Elasticsearch命令 es别名链接和删除 POST /_aliases {"actions": [{"add": {"index": "index","alias": "alias"}},{"remove": {"index": "index","alias": &quo…...
AI大模型进一步推动了AI在处理图片、视频、音频、文本的等数据应用
AI处理图片、视频、音频、文本等数据应用一直都存在,但是大模型的出现让AI处理这些数据更加便捷快速。比如在安防的框选标记物,以前要在图像上框,现在用文字描述再让大模型处理成图片框就可以完成框选了。大模型正在二次加速AI处理。 随着AI…...
【MambaSR复现】【Windows系统下Mamba环境配置】triton 、causal conv1d和mamba_ssm模块配置保姆教程
注:在此之前确保环境中已经安装packaging模块 pip install packaging若此模块安装过程中出现图下报错:这是由于环境创建时候的权限问题导致的,具体解决方案见我另一篇博文! 1.Triton模块安装 注意:必须先安装triton&…...
前景物体提取
参考:精选课:C完整的实现双目摄像头图像采集、双目摄像头畸变矫正、前景物体提取、生成视差图、深度图、PCL点云图 前景物体提取是计算机视觉中的一个重要技术,可以用于视频监控、虚拟现实和计算机视觉等领域。 1.前景物体提取的原理 前景…...
【考前预习】4.计算机网络—网络层
往期推荐 【考前预习】3.计算机网络—数据链路层-CSDN博客 【考前预习】2.计算机网络—物理层-CSDN博客 【考前预习】1.计算机网络概述-CSDN博客 目录 1.网络层概述 2.网络层提供的两种服务 3.分类编址的IPV4 4.无分类编址的IPV4—CIDR 5.IPV4地址应用规划 5.1使用定长子…...
浙江省一体化数字资源系统(IRS)介绍(七个方面展开)
浙江IRS的主要做法包括“六个一”,即一本账管理、一站式浏览、一揽子申请、一体化生产、一平台调度、一张网管控。本期分享在2023年数字政府评估大会上,浙江省大数据相关老师发表的“打造一体化数字资源系统(IRS),赋能…...
Spring实例化的基本流程和Bean处理器
目录 Spring实例化的基本流程 Bean的处理器 Bean工厂后处理器(BeanFactoryPostProcessor) 动态注册beanDefinition Bean后处理器(BeanPostProcessor) Spring实例化的基本流程 在了解处理器之前,要清除spring实例化…...
对分布式系统的理解以及redis的分布式实现
对分布式系统有哪些了解? 分布式系统是由多个独立的计算节点(通常是计算机或服务器)组成的系统,这些节点通过网络相互通信和协作,共同完成任务。分布式系统的设计旨在提供可扩展性、容错性和高可用性,适用于大规模的数据处理和服务场景。 1. 分布式系统的核心特点 分布…...
torch.multiprocessing 向Process传递对象参数报错 Can‘t pickle local object
如下代码所示,使用torch.multiprocessing启动多进程,并传递了model和image_processor两个对象作为参数。 from torch.multiprocessing import Process, Queue, Manager...p3 Process(targetframe_memory_manager,args(model, image_processor, frame_q…...
Day9 神经网络的偏导数基础
多变量函数与神经网络 在神经网络中,我们经常遇到多变量函数。这些函数通常描述了网络的输入、权重、偏置与输出之间的关系。例如,一个简单的神经元输出可以表示为: z f ( w 1 x 1 w 2 x 2 … w n x n b ) z f(w_1x_1 w_2x_2 \ldots…...
[c++11(二)]Lambda表达式和Function包装器及bind函数
1.前言 Lambda表达式着重解决的是在某种场景下使用仿函数困难的问题,而function着重解决的是函数指针的问题,它能够将其简单化。 本章重点: 本章将着重讲解lambda表达式的规则和使用场景,以及function的使用场景及bind函数的相关使…...
22智能 狄克斯特拉算法复习
狄克斯特拉算法 图 根据边有无方向分为: 有向图、无向图 根据边有无权重变量分为: 有权图、无权图 根据顶点是否连通分为: 连通图和非连通图入度:表示有多少条边指向该顶点出度:表示有多少条边从该顶点指出算法步骤&a…...
Electronjs+Vue如何开发PC桌面客户端(Windows,Mac,Linux)
electronjs官网 https://www.electronjs.org/zh/ Electron开发PC桌面客户端的技术选型非常适合已经有web前端开发人员的团队。能够很丝滑的过渡。 Electron是什么? Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.…...