三方库总结
一、Glide
目标:熟练掌握各种使用方法,了解其设计,背后原理
如果我设计一个图片显示框架,我会怎么做?
1.加载图片资源-从网络上下载图片资源、从本地加载图片资源
如果是从网络上加载图片,需要用到相关的网络知识,更深一点,加载失败重试等策略的设置
2.用第一步拿到的图片资源展示图片
拿到图片资源,应该是转换成bitmap,然后使用相关的控件进行展示
更多的一些细节是比如图片的缓存策略,还有图片的加载展示怎么和页面生命周期保持一致
带着问题去读Glide源码及解析,问题如下:
1.Glide是怎么从网络上下载图片资源的,用的什么?怎么下载?有没有重试策略?
2.Glide拿到图片资源后是怎么做缓存的?缓存的是什么?会不会影响内存?什么时候缓存会被清理?
3.Glide是如何感知页面生命周期的?
总结博客:https://blog.csdn.net/Chushiniudao/article/details/130768974?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22130768974%22%2C%22source%22%3A%22Chushiniudao%22%7D
二、Okhttp
常用的操作就是Client.newCall(request).enqueue(),会调用Dispatcher.enqueue方法,Dispatcher是一个调度器,用于控制并发的请求,当异步请求队列数量小于64并且请求主机数小于5时,把请求加载到runningAsyncCalls中并在线程池中执行,否则加到readyAsyncCalls中进行缓存等待。
在一次请求结束后,会从readyAsyncCalls中取出下一个请求进行处理
在发起请求时,首先会检查处理拦截器设置(getResposeWithInterceptorChain),之后调用HttpEngine的sendRequest方法,如果有缓存会使用缓存,否则进行网络请求
复用连接池,ConnectionPool,用RealConnection来包装socket,通过引用计数法计算StreamAlloction来计算socket被引用的次数,如果为0则表示可以回收
几种拦截器:
1.重定向拦截器,会根据响应码做重定向和重试
2.桥接拦截器,将用户请求转换为对服务器的请求,将服务器的响应转换为给用户的响应,比如请求时如果有请求体,添加content-type、content-length;没有host,解析url取出host;没有user-agent,添加user-agent。响应时如果解析header的cookie,如果想要的格式gzip,则使用GzipSource进行解压
3.缓存拦截器,如果有缓存优先使用缓存
4.连接拦截器,进行连接的创建、复用和回收
5.读写拦截器,负责实现网络io,将header、body通过网络传输给服务器,对服务器的响应解析并构造出Response
Retrofit
使用注解和动态代理来解析处理请求,修饰方法的常用注解有get、post,方法参数类注解有@Path、@Query、@QueryMap(Get请求相关),post相关:@Field(传输数据类型为键值对)、@Body(传输数据类型为Json字符串);单个文件上传@Part,允许多个@Part,使用@Multipart修饰方法,@PartMap表示多个文件上传;添加消息报头,用@Header,比如接受的编码格式,user-agent等
源码:
首先Retrofit使用建造者模式来构建一个Retrofit对象,Retrofit.Builder构造函数里会获取Platform,根据不同的平台提供不同的线程池;构建retrofit对象时baseUrl是必须指定的,另外如果需要指定OkhttpClient对象的话,可以通过设置callFactory来完成;
Retrofit的流程是调用Retrofit对象的create方法,里面会通过动态代理,生成接口的对象,调用接口相关方法时会执行InvocationHandler里的invoke方法,首先会判断serviceMethod里是否有缓存,如果没有的话就创建一个ServeciMethod,里面会生成calladapter对象,获取返回的具体数据类型,遍历coverterfactory找到合适的数据转换工厂类,然后解析方法和参数注解,最后生成serviceMethod并缓存,然后创建一个OkHttpCall,传给serviceMethod.calladapter.adat方法,请求数据会执行enqueue方法,最后获取数据后会对接口响应数据进行转换,返回我们在方法生命的数据类型
LeakCanary
1.初始化:利用provider进行初始化,保证在application的attachBaseContext和onCreate之间初始化
2.添加相关监听对象的销毁监听:Activity、Fragment
3.收到销毁回调后,根据要回收对象创建KeyedWeakReference和ReferenceQueue,并关联(5s,两次检查,遍历queue,并从watchObjects中移除)
4.如果没有被回收就dump heap(有条件,比如位于前台时5个以上才转储堆,后台1个)
5.通过shark解析hprof文件,获取泄漏对象到gcroot的最短路径
6.合并多个泄漏路径并输出分析结果
项目难点:当时项目有三个表,消息表(0-1)、密友(>1)、未回复表(==0),每次收到消息后总要根据当前消息双方的亲密度将消息放入不同的表,因为收消息比较频繁,所以每次进行几个数据库表的查询更新插入操作就变得代价很大,
当时就考虑把三个表合成一个表,首先是在冷启动登陆成功时,会查询未回复表、密友表中的消息,然后转换为消息表消息的数据格式,然后插入消息表中,再删掉密友表和未回复表中的数据,然后在对应消息页、密友页、未回复页面,通过给定亲密度查询条件,查询对应的数据并展示;最后在收到消息后,根据将消息统一转换为消息表中的数据格式,插入或更新到消息数据表中;同时同步给服务器
阿里ARouter全面全面全面解析(使用介绍+源码分析+设计思路)_arouter init-CSDN博客
堆排序
公司认识了解
个人发展规划:会沉淀技术,多去学习新技术的同时,研究技术的原理,并用技术赋能产品,提高产品的质量和用户使用体验
float 数组链表区别 配置修改活动重建恢复 个人规划 缺点 遇到什么困难的问题
项目中难点,oom问题如何产生,怎么解决,内存泄漏都有哪些 api implemention compile区别
内存泄漏产生的几种场景:
1.静态变量持有大的对象
2.广播、EventBus注册未注销
3.Cursor、InputStream、OutputStream用完未关闭,Bitmap用完未回收
4.非静态内部类隐式持有外部类对象导致外部类对象无法被回收(典型如handler)
5.单例类持有activity、service对象,导致其无法正常销毁,使用弱引用包裹
6.webview内存泄漏,可以新开一个进程专门用于webview展示,使用aidl进行通信
可对可以讲的项目,照片墙播放videoview 全屏,轮播, 遇到的问题,怎么解决的,videoview第一次点击不暂停,第二次点击暂停,马甲包的配置开发流程,一些基础面试知识
照片墙轮播,可轮播照片、视频,照片3s自动轮播到下一张,视频播放完毕自动轮播到下一张,也可收到滑动轮播,可无限轮播,实现是data size*200,初始位置设在了10*data size 用到了videoview,有设置静音非静音选项(首次设置通过setOnPreparedListener回调里的mediaplayer完成,后续通过发射拿到mediaplayer完成设置),可暂停、播放视频,遇到的问题,从别的页面回来,发现无法轮播,因为轮播是在onpageselected回调里调用的,从别的页面回来如果当前离开时当前索引是第一张图片时,页面不会回调onPageSelect,故不能轮播,解决方法:离开时判断是第一张图片,则viewpager滑动到它的下一张图片;videoview第一次点击暂停无反应,第二次点击才能暂停,如果设置focusableInTouchMode属性的话,它的行为是首先尝试获得focus,如果获得成功的话其onClickListener是不会触发的,只有当你第2次再点击它时,才会执行onClickListener
intent 隐式跳转 action category data intent中action只要匹配上activity intent-filter中action其中一个就行(data也是如此),category是intent中如果要指定category,那么必须是activity中intent-filter中配置的其中之一,不指定也没事,系统会自动加上DEFAULT category,所以如果activity要支持隐式跳转,必须在intent-filer中加上category(<category android:name="android.intent.category.DEFAULT"></category> );data由uri(scheme、host、port、path四部分)和mimetype组成,必须匹配上uri和mimetype才能算匹配上data
参考连接:https://blog.csdn.net/Leo_Liang_jie/article/details/92836838
singleTop适用于接收通知显示内容的页面,这样不会每点一个通知就创建一个新的页面;singleTask适用于app主页,app主页就能始终保持只有一个;singleInstance适合需要与程序分离开的页面。例如闹铃提醒,将闹铃提醒与闹铃设置分离,不要用于中间页面,跳转会有问题
Android service使用场景,比如播放音乐,service创建完成后如果不主动停止或解绑,会一直在后台运行,而线程只要运行完毕就可能会被回收,因此service适合在后台处理一些不需要和用户交互的任务,如播放音乐;service还能和多个activity绑定通信,而线程不能;service具有生命周期,可以跨进程调用,通信;
架构能力-设计-如何设计一个好的架构-什么是好的架构-好的架构有什么特点-为什么架构好?解决了什么问题?优化了什么?
独立开发能力(app、sdk)-完整的开发app、sdk开发流程-如何开始-如何设计(要有架构能力,不然app、sdk可能只是能用,不过前期不用要求那么高)-如何测试-如何上线
自动化测试能力-怎么自动化测试-
音视频能力-音视频开发到底在开发什么?-能做到什么?
网络能力-客户端需要掌握的网络开发技术有哪些?-为什么需要掌握这些?-掌握这些能有用来干什么-有哪些适用场景-网络框架是怎么实现的
手机系统认知能力-系统底层的运行原理-用到了哪些技术-为什么这么用,不那么用-有哪些是可以借鉴到应用层开发的
学习能力-新技术-新变动-能提高什么?还是只是新?
编码能力-随时写出想写的代码-就算是伪代码页可以-有思路-有设计-有逻辑-有细节
数据结构算法能力-时间空间复杂度-选用哪种数据结构-为什么选这种数据结构-这种数据结构有什么好处优势-都适用于什么场景
马甲包
组件化
插件化
滑动大图
aidl
webview
相关文章:
三方库总结
一、Glide 目标:熟练掌握各种使用方法,了解其设计,背后原理 如果我设计一个图片显示框架,我会怎么做? 1.加载图片资源-从网络上下载图片资源、从本地加载图片资源 如果是从网络上加载图片,需要用到相关的网…...
用DeepSeek-R1-Distill-data-110k蒸馏中文数据集 微调Qwen2.5-7B-Instruct!
下载模型与数据 模型下载: huggingface: Qwen/Qwen2.5-7B-Instruct HF MirrorWe’re on a journey to advance and democratize artificial intelligence through open source and open science.https://hf-mirror.com/Qwen/Qwen2.5-7B-Instruct 魔搭&a…...
知识图谱的推荐实现方案(Vue)
使用 Vue 实现知识图谱思维导图展示的完整方案,结合主流库和最佳实践: 一、技术选型 组件库特点适用场景MindElixir国产开源、中文文档完善、支持关系线教育类知识图谱GoJS功能强大、商业许可、适合复杂交互企业级应用(需付费)D3…...
Nessus安装
Nessus:https://pan.quark.cn/s/f5fb09b6d4fb 1.软件安装 点击安装,剩下的下一步即可。 直接下一步安装即可 2.Web端安装 会弹出一个web窗口 开始初始化 创建用户 开始初始化 3.Cracker 会弹一个黑窗口 运行完,回车即可。访问https://loc…...
【大模型基础_毛玉仁】0.概述
更多内容:XiaoJ的知识星球 【大模型基础_毛玉仁】 系列文章参考 系列文章 【大模型基础_毛玉仁】0.概述 【大模型基础_毛玉仁】1.1 基于统计方法的语言模型 更新中。。。。。。 参考 书籍:大模型基础_完整版.pdf Github:https://github.co…...
quillEditor 禁用复制粘贴图片,以及class转style等问题
<template><div><div class"search-term"><el-form :inline"true" :model"searchInfo" class"demo-form-inline"><el-form-item label"案例标题"><el-input v-model"searchInfo.titl…...
C语⾔数据类型和变量
C 语言的数据类型 类型分类: C 语言提供丰富的数据类型,包括字符型(char、signed char、unsigned char)、整型(short、int、long 等多种,且各有 signed 和 unsigned 修饰形式) 、浮点型&#x…...
centOS 环境 安装redis方法
一、准备centOS环境 参考文章:Hyper-V 安装CentOS7_代码草率了的博客-CSDN博客 二、redis官网 地址:Download | Redis 演示版本为?redis-5.0.14.tar.gz 三、redis源码编译 登录后创建soft目录 进入目录使用wget下载所需资源包 命令:w…...
【Mac】2025-MacOS系统下常用的开发环境配置
早期版本的一个环境搭建参考 1、brew Mac自带终端运行: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Installation successful!成功后运行三行命令后更新环境(xxx是mac的username&a…...
深入理解动态绑定与多态
动态绑定介绍 Java中的动态绑定,是一种在程序运行时确定方法执行版本的过程。它与多态紧密联系。 在Java中,动态绑定通常发生在以下情况: 方法覆盖:当子类重写父类的一个方法时,调用该方法的行为会根据对象的实际类…...
【数据结构】二叉树总结篇
遍历 递归 递归三部曲: 1.参数和返回值 2.终止条件 3.单层逻辑(遍历顺序) var preorderTraversal function(root) { // 第一种let res[];const dfsfunction(root){if(rootnull)return ;//先序遍历所以从父节点开始res.push(root.val);//递归…...
Zookeeper 及 基于ZooKeeper实现的分布式锁
1 ZooKeeper 1.1 ZooKeeper 介绍 ZooKeeper是一个开源的分布式协调服务,它的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。 原语:操作系统或…...
内嵌踢脚线怎么做能省钱?
家里装修内嵌踢脚线应该怎么做?哪种做法更经济? 先回答内嵌踢脚线应该怎么做? 做内嵌踢脚线有两种办法,简单点来说就是前凸和后挖。 前凸是踢脚线安到原来墙面上,踢脚线是从墙面上凸出来的,想要实现内嵌的效…...
DeepSeek集成到VScode工具,让编程更高效
DeepSeek与VScode的强强联合,为编程效率树立了新标杆。 DeepSeek,一款卓越的代码搜索引擎,以其精准的索引和高速的检索能力,助力开发者在浩瀚的代码海洋中迅速定位关键信息。 集成至VScode后,开发者无需离开熟悉的编辑…...
大模型应用:多轮对话(prompt工程)
概述 在与大型语言模型(如ChatGPT)交互的过程中,我们常常体验到与智能助手进行连贯多轮对话的便利性。那么,当我们开启一个新的聊天时,系统是如何管理聊天上下文的呢? 一、初始上下文的建立 1. 创建新会…...
洛谷 P1601 A+B Problem(高精)详解c++
我们之前做题碰到的数据范围一般是10^9,多点会达到10^18级别,处理10^9用int就可以存下,10^18次方要用到long long,接着解决加减乘除的问题,但是当数据范围达到了10^10^6的时候,当数据的值特别⼤,…...
【云原生】Spring Cloud是什么?Spring Cloud版本介绍
什么是SpringCloud 上一章节介绍了总体的SpringCloud的总体学习章节,因为最近项目刚好需要用到SpringCloud来搭建微服务项目、所以就跟着大家一起来再学习巩固下SpringCloud的相关知识 SpringCloud是基于SpringBoot提供了一套微服务解决方案,包括服务注…...
最节省成本的架构方案:无服务器架构
无服务器架构(Serverless Architecture)是一种颠覆性的云计算执行模型,它允许开发者专注于编写和部署代码,而无需担心底层服务器基础设施的管理。这种架构以其按需付费、自动伸缩和简化部署等优势,在成本优化方面表现出…...
C++入门续集:
1. 缺省参数: 我们看我们的上图,我们可以看我们的函数Func,我们可以看到我们的函数里面的参数写的是int a 0;这个写法是我们没有见过的,我们之前在C语言里面只见到过说是函数里面会设置参数,但是参数是没有…...
线代[9]|线性代数主要内容及其发展简史(任广千《线性代数的几何意义》的附录1)
文章目录 向量行列式矩阵线性方程组二次型 向量 向量又称为矢量,最初应用与物理学。很多物理量如力、速度、位移以及电场强度、磁感应强度等等都是向量。大约公元前350年前,古希腊著名学者亚里士多德就知道了力可以表示成向量,两个力的组合作…...
C++ Primer 动态内存与智能指针
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...
AI在原型设计中的革命性应用:效率与创新的双重突破
引言 在数字化转型加速的今天,产品开发周期被压缩至前所未有的程度。原型设计作为产品开发的核心环节,其效率和质量直接影响最终产品的市场竞争力。传统原型设计流程依赖人工绘制、反复修改和用户测试,耗时且成本高昂。而人工智能࿰…...
网络学习(四)HTTPS中,SSL的单向认证与双向认证
目录 一、什么是SSL?1.1 SSL 的主要功能1.2 SSL 的工作原理1.3 SSL 的核心组件1.4 SSL 的应用场景1.5 SSL 与 TLS 的区别 二、SSL 单向认证、双向认证2.1 SSL 单向认证2.2 SSL 双向认证2.3 总结:SSL 单向认证和双向认证的区别 一、什么是SSL?…...
分类任务和回归任务的区别
分类任务和回归任务是机器学习中两种常见的监督学习任务,尽管它们都属于预测性的分析,但它们的目标和应用场景存在显著的差异。 分类任务 定义:分类任务是指将输入样本映射到一个有限且离散的类别集合中的过程。目标是对数据进行分类&#…...
android接入rocketmq
一 前言 RocketMQ 作为一个功能强大的消息队列系统,不仅支持基本的消息发布与订阅,还提供了顺序消息、延时消息、事务消息等高级功能,适应了复杂的分布式系统需求。其高可用性架构、多副本机制、完善的运维管理工具,以及安全控制…...
V4L2框架基础
一、V4L2视频设备驱动基础 1.V4L2是专门为Linux设备设计的整合视频框架(其主要核心在Linux内核,相当于Linux操作系统上层的视频源捕获驱动框架)。为上层访问系统底层的视频设备提供一个统一的标准接口。V4L2驱动框架能够支持多种类型&#x…...
【微知】如何通过mlxlink查看Mellanox网卡和光模块相关的信息?( mlxlink -d 01:00.0 -m)
背景 通过mlxlink可以查看Mellanox网卡的一些链路信息和硬件信息,也可以查看所插入的光模块的一些信息。 兄弟篇通过ethtool查看的方法:如何查看Mellanox网卡上的光模块的信息? 命令 mlxlink -d 01:00.0 -mman手册介绍: 如果…...
使用pytorch和opencv根据颜色相似性提取图像
需求:将下图中的花朵提取出来。 代码: import cv2 import torch import numpy as np import timedef get_similar_colors(image, color_list, threshold):# 将图像和颜色列表转换为torch张量device torch.device(cuda if torch.cuda.is_available() el…...
HTML label 标签使用
点击 <label> 标签通常会使与之关联的表单控件获得焦点或被激活。 通过正确使用 <label> 标签,可以使表单更加友好和易于使用,同时提高整体的可访问性。 基本用法 <label> 标签通过 for 属性与 id 为 username 的 <input> 元素…...
SQL注入的分类靶场实践
前言 SQL 注入(SQL Injection)是一种常见且危险的 Web 安全漏洞,攻击者通过在输入字段中插入恶意 SQL 代码,能够绕过应用程序的验证机制,直接操纵数据库。本文将介绍 SQL 注入的分类,并通过 Pikachu 靶场进…...
用matplotlib构建BI看板:Superset插件开发实战
目录 前言:当经典可视化库遇见BI航母 一、Superset插件架构精要 1.1 核心模块解析 1.2 插件通信机制 二、开发环境准备 2.1 依赖矩阵 三、开发自定义可视化插件 3.1 插件脚手架 3.2 渲染引擎适配 四、Superset深度集成 4.1 控制面板配置 4.2 动态参数传递…...
【Linux】之【Bug】VMware 虚拟机开机 一直卡在黑屏左上角下划线闪烁界面
解决 参考: 解决Ubuntu20.04 开机黑屏光标闪烁进不去系统 Centos根目录100%解决思路 当前界面 ctrlaltf3-f6 暂时进入终端界面 df -h 查看发现根目录 磁盘空间已满 执行命令 查看当前目录占用内存明细 sudo du -h -x --max-depth1清理无用的大内存文件 或者安装…...
【练习】【链表】力扣热题100 19. 删除链表的倒数第 N 个结点
题目 删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例 2: 输入:head [1], n 1 输出&…...
SQL-labs13-16闯关记录
http://127.0.0.1/sqli-labs/less-13/ 基于POST单引号双注入变形 1,依然是一个登录框,POST型SQL注入 2,挂上burpsuite,然后抓取请求,构造请求判断漏洞类型和闭合条件 admin 发生了报错,根据提示闭合方式是(…...
【Linux】进程信号——信号保存和信号捕捉
文章目录 信号保存信号相关的概念信号是如何保存的呢?有关信号保存的系统调用sigprocmask信号的增删查改查看pending表验证接口 信号捕捉用户态与内核态信号捕捉流程 总结 信号保存 信号相关的概念 信号递达:指 操作系统 将一个信号(Signal…...
任务9:交换机基础及配置
CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?typeblog 一、交换机基础 交换机的概念:交换机是一种网络设备,用于连接多台计算机或网络设备,实现数据包在局域网内的快速交换。交换机基于MAC地址来转发数据包&#x…...
【DFS/回溯算法】2016年蓝桥杯真题之路径之谜详解
目录: 1.题目描述: 输入格式 输出格式 2.题解: 3.详细c代码 1.题目描述: 小明冒充 X 星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。…...
深度学习R8周:RNN实现阿尔兹海默症(pytorch)
🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 数据集包含2149名患者的广泛健康信息,每名患者的ID范围从4751到6900不等。该数据集包括人口统计详细信息、生活方式因素、病史、临床测量、认知和功…...
字节跳动发布 Trae AI IDE!支持 DeepSeek R1 V3,AI 编程新时代来了!
3 月 3 日,字节跳动重磅发布国内首款 AI 原生集成开发环境(AI IDE)——Trae 国内版! Trae 不只是一个传统的 IDE,它深度融合 AI,搭载 doubao-1.5-pro 大模型,同时支持DeepSeek R1 & V3&…...
智能合约安全指南 [特殊字符]️
智能合约安全指南 🛡️ 1. 安全基础 1.1 常见漏洞类型 重入攻击整数溢出权限控制缺陷随机数漏洞前后运行攻击签名重放 1.2 安全开发原则 最小权限原则检查-生效-交互模式状态机安全失败保护机制 2. 重入攻击防护 2.1 基本防护模式 contract ReentrancyGuarde…...
DeepSeek 全套资料pdf合集免费下载(持续更新)
有很多朋友都关注DeepSeek相关使用的教程资料,本站也一直持续分享DeepSeek 学习相关的pdf资料,由于比较零散,这篇文章主要就是做一个汇总,并且持续更新,让大家可以及时获取下载最新的相关DeepSeek的资料。 持续更新地…...
IDEA 接入 Deepseek
在本篇文章中,我们将详细介绍如何在 JetBrains IDEA 中使用 Continue 插件接入 DeepSeek,让你的 AI 编程助手更智能,提高开发效率。 一、前置准备 在开始之前,请确保你已经具备以下条件: 安装了 JetBrains IDEA&…...
将md格式转jupyter并运行
将md格式转jupyter并运行 有时候我们需要将这种文档以学习的形式记笔记到jupyter中(任务) 但是内容太多了,一个一个粘贴又不方便,怎么办呢? 发现直接粘贴到md中是带格式的!!! 那…...
SOUI基于Zint生成EAN码
EAN码广泛应用与欧洲的零售业。包括EAN-2、EAN-5、EAN-8和EAN-12码。分别编码 2、5、7 或 12 位数字。此外,可以使用 字符将 EAN-2 和 EAN-5 附加符号添加到 EAN-8 和 EAN-13 符号中,就像 UPC 符号一样。 EAN-8校验码计算: 从左往右奇数位的…...
StarRocks-fe工程在Cursor中不能识别为Java项目
SR简介 StarRocks 是一款高性能分析型数据库,支持实时、多维度、高并发的数据分析。本指南旨在解决在使用 VSCode 或 Cursor 开发 StarRocks 后端项目时遇到的模块识别问题。 问题描述 使用 Cursor 或 VSCode 打开 StarRocks 的后端工程 fe 时,spark-…...
AI是否能真正理解人类情感?从语音助手到情感机器人
引言:AI与情感的交集 在过去的几十年里,人工智能(AI)的发展速度令人惊叹,从简单的语音识别到如今的深度学习和情感计算,AI已经深入到我们生活的方方面面。尤其是在语音助手和情感机器人领域,AI不…...
【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(成功版)
【Linux】【网络】UDP打洞–>不同子网下的客户端和服务器通信(成功版) 根据上个文章的分析 问题可能出现在代码逻辑上面 我这里重新查找资料怀疑: 1 NAT映射可能需要多次数据包的发送才能建立。 2 NAT映射保存时间太短ÿ…...
【微知】如何查看Mellanox网卡上的光模块的信息?(ethtool -m enp1s0f0 看型号、厂商、生产日期等)
背景 服务器上插入的光模块经常被忽略,往往这里是定位问题最根本的地方。如何通过命令查看? 命令 ethtool提供了-m参数,m是module-info的意思,他是从光模块的eeprom中读取数据。(应该是用i2c协议读取的)…...
图论基础算法: 二分图的判定(C++)
二分图的基本概念 什么是二分图? 二分图(Bipartite Graph)是指一个图的顶点集可以被分割为两个互不相交的子集 U U U 和 V V V, 并且图中的每一条边都连接 U U U 中的一个顶点和 V V V 中的一个顶点. 换句话说, 二分图中的顶点可以被分成两组, 组内的顶点之间没有边相连…...
AI赋能校园安全:科技助力预防与应对校园霸凌
校园本应是学生快乐学习、健康成长的地方,然而,校园霸凌却成为威胁学生身心健康的隐形“毒瘤”。近年来,随着人工智能(AI)技术的快速发展,AI在校园安全领域的应用逐渐成为解决校园霸凌问题的新突破口。通过…...