当前位置: 首页 > news >正文

Flutter项目之table页面实现

目录:

    • 1、首页页面
      • index.dart(首页table页面)
      • searchbar.dart (搜索页面)
      • common_swiper.dart (轮播图)
      • index_navigation.dart (导航区域)
      • index_navigatorItem_list.dart (数组构造)
    • 2、房屋推荐
      • index_recommond.dart (房屋推荐区域)
      • IndexRecommendItem.dart (构造数据)
      • IndexRecommondWidget.dart (点击图片的处理逻辑)

1、首页页面

效果图:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

index.dart(首页table页面)

import 'package:flutter/material.dart';
import 'package:flutter_haoke/pages/home/info/index.dart';
import 'package:flutter_haoke/pages/home/tab_index/index_navigation.dart';
import 'package:flutter_haoke/pages/home/tab_index/index_recommond.dart';
import 'package:flutter_haoke/widget/common_swiper.dart';
import 'package:flutter_haoke/widget/search_bar/index.dart';class TabIndex extends StatelessWidget {const TabIndex({Key? key}) : super(key: key);Widget build(BuildContext context) {return Scaffold(appBar: AppBar(automaticallyImplyLeading: false,title: SearchBar(showLocation: true,showMap: true,onSearch: () {Navigator.of(context).pushNamed("search");},),backgroundColor: Colors.white,),body: ListView(children: [CommonSwiper(),IndexNavigation(),IndexRecommond(),Info(showTitle: true,),],),);}
}

searchbar.dart (搜索页面)

import 'dart:convert';import 'package:city_pickers/city_pickers.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_haoke/config.dart';
import 'package:flutter_haoke/pages/home/tab_index/index_recommond_item.dart';
import 'package:flutter_haoke/scopoed_model/city.dart';
import 'package:flutter_haoke/utils/common_toast.dart';
import 'package:flutter_haoke/utils/model/general_type.dart';
import 'package:flutter_haoke/utils/scopoed_mode_helper.dart';
import 'package:flutter_haoke/utils/store.dart';class SearchBar extends StatefulWidget {final bool? showLocation; //是否显示位置final void Function()? goBackCallback; //回退final String? inputValue; //搜索框值final String? defaultInputValue; //默认显示值final void Function()? onCancel; //取消按钮final bool? showMap; //是否显示地图按钮final void Function()? onSearch; //点击搜索框触发// final Function? onSearch;final ValueChanged<String>? onSearchSubmit; //点击按键回车触发const SearchBar({Key? key,this.showLocation,this.goBackCallback,this.inputValue = '',this.defaultInputValue = '请输入搜索词',this.onCancel,this.showMap,this.onSearch,this.onSearchSubmit}): super(key: key);_SearchBarState createState() => _SearchBarState();
}class _SearchBarState extends State<SearchBar> {String _searchWord = '';late TextEditingController _controller;late FocusNode _focus;_onClean() {_controller.clear();setState(() {_searchWord = '';});}_onChangeLocation() async {//打开第三方的选择页面var resultCity = await CityPickers.showCitiesSelector(context: context, theme: ThemeData(primarySwatch: Colors.green));//选择之后返回选择的数据String? cityName = resultCity!.cityName;if (cityName == null) return;//检测选中的城市是否在 四个城市中//查找数组中是否有这个名字 有就返回这个城市model 没有就返回空的类var city = Config.availableCitys.firstWhere((city) => cityName.startsWith(city.name), orElse: () {CommontToast.showToast("该城市暂未开通!");return GeneralType('', "");});//保存选中的城市_saveCity(city);}_saveCity(GeneralType city) async {if (city.name == null ||city.name =="") return;//保存到全局ScopoedModelHelper.getModel<CityModel>(context).city = city;//保存到本地var store = await Store.getInstance();//转化成json字符串格式var cityString = json.encode(city.toJson());store.setString(StoreKeys.city, cityString);}void initState() {_focus = FocusNode();_controller = TextEditingController(text: widget.inputValue);super.initState();}Widget build(BuildContext context) {//从全局里拿到cityvar city = ScopoedModelHelper.getModel<CityModel>(context).city;if (city.name == null || city.name == "") {city = Config.availableCitys.first;//存储下此时的city_saveCity(city);}return Container(child: Row(children: [if (widget.showLocation != null)Padding(padding: EdgeInsets.only(right: 10),child: GestureDetector(onTap: () {_onChangeLocation();},child: Row(children: [Icon(Icons.room,color: Colors.green,size: 15,),Text(city.name,style: TextStyle(color: Colors.black, fontSize: 14),)],),),),if (widget.goBackCallback != null)Padding(padding: EdgeInsets.only(right: 10),child: GestureDetector(onTap: widget.goBackCallback,child: Icon(Icons.chevron_left,color: Colors.black,)),),Expanded(child: Container(height: 34,decoration: BoxDecoration(color: Colors.grey.shade100,borderRadius: BorderRadius.circular(17)),margin: EdgeInsets.only(right: 10),child: TextField(focusNode: _focus,controller: _controller,style: TextStyle(fontSize: 14),onChanged: (value) {setState(() {_searchWord = value;});},onTap: () {//判断没有使用搜索功能则失去焦点if (null == widget.onSearchSubmit) {_focus.unfocus();}if(widget.onSearch !=null)widget.onSearch!();},onSubmitted: widget.onSearchSubmit,textInputAction: TextInputAction.search,decoration: InputDecoration(hintText: widget.defaultInputValue,hintStyle: TextStyle(color: Colors.black, fontSize: 14),contentPadding: EdgeInsets.only(top: 2, left: -10),border: InputBorder.none,icon: Padding(padding: EdgeInsets.only(top: 4, left: 8),child: Icon(Icons.search,size: 18,color: Colors.grey,),),suffixIcon: GestureDetector(onTap: _onClean,child: Icon(Icons.clear,size: 18,color:_searchWord == '' ? Colors.grey.shade100 : Colors.grey,),)),),)),if (widget.onCancel != null)Padding(padding: EdgeInsets.only(right: 10),child: GestureDetector(onTap: widget.onCancel,child: Text("取消",style: TextStyle(color: Colors.black, fontSize: 14),),),),if (widget.showMap != null)Image.asset("static/icons/widget_search_bar_map.png")],));}
}

common_swiper.dart (轮播图)

import 'package:flutter/material.dart';
import 'package:flutter_swiper/flutter_swiper.dart';const List<String> defaultImages = ['http://ww3.sinaimg.cn/large/006y8mN6ly1g6e2tdgve1j30ku0bsn75.jpg','http://ww3.sinaimg.cn/large/006y8mN6ly1g6e2whp87sj30ku0bstec.jpg','http://ww3.sinaimg.cn/large/006y8mN6ly1g6e2tl1v3bj30ku0bs77z.jpg',
];
// 图片宽高 1200 800
const imageWidth = 1200.0;
const imageHeight = 800;class CommonSwiper extends StatelessWidget {final List<String> images;const CommonSwiper({Key? key, this.images = defaultImages}) : super(key: key);Widget build(BuildContext context) {var heigth = MediaQuery.of(context).size.width / imageWidth * imageHeight;return Container(height: heigth,child: Swiper(itemBuilder: (context, index) {//Image.network网络图片,前提需开启网络权限return Image.network(images[index], fit: BoxFit.fill);},itemCount: images.length,autoplay: true,),);}
}

index_navigation.dart (导航区域)

import 'package:flutter/material.dart';
import 'index_navigation_item.dart';class IndexNavigation extends StatelessWidget {const IndexNavigation({Key? key}) : super(key: key);Widget build(BuildContext context) {return Container(child: Padding(
//‌EdgeInsets‌是Flutter中用于定义组件的填充和边距的一个类。它提供了几种便捷的方法来设置组件的填充值,包括://EdgeInsets.fromLTRB(double left, double top, double right, double bottom)‌:分别指定四个方向的填充值。
//EdgeInsets.all(double value)‌:所有方向使用相同数值的填充。
//EdgeInsets.only({left, top, right, bottom})‌:可以设置具体某个方向的填充(可以同时指定多个方向)。
//EdgeInsets.symmetric({vertical, horizontal})‌:用于设置对称方向的填充,vertical指top和bottom,horizontal指left和right‌padding: const EdgeInsets.only(top: 10, bottom: 10),child: Row(mainAxisAlignment: MainAxisAlignment.spaceAround,children: indexNavigatorItemList.map((item) => InkWell(child: Column(children: [Image.asset(item.imageUrl, width: 40),Text(item.title,style: TextStyle(fontWeight: FontWeight.w500, fontSize: 14.0),)],),onTap: () {item.onTap(context);},)).toList(),),),);}
}

index_navigatorItem_list.dart (数组构造)

import 'package:flutter/material.dart';//准备数据:title,image
class IndexNavigatorItem {final String title;final String imageUrl;final Function (BuildContext contenxt) onTap;IndexNavigatorItem(this.title,this.imageUrl,this.onTap);
}List<IndexNavigatorItem> indexNavigatorItemList=[IndexNavigatorItem('整租','static/images/home_index_navigator_total.png',(BuildContext context){Navigator.of(context).pushNamed('login');}),IndexNavigatorItem('合租','static/images/home_index_navigator_share.png',(BuildContext context){Navigator.of(context).pushNamed('login');}),IndexNavigatorItem('地图找房','static/images/home_index_navigator_map.png',(BuildContext context){Navigator.of(context).pushNamed('login');}),IndexNavigatorItem('去出租','static/images/home_index_navigator_rent.png',(BuildContext context){Navigator.of(context).pushNamed('login');}),
];

2、房屋推荐

在这里插入图片描述

index_recommond.dart (房屋推荐区域)

import 'package:flutter/material.dart';
import 'package:flutter_haoke/pages/home/tab_index/index_recommond_data.dart';
import 'package:flutter_haoke/pages/home/tab_index/index_recommond_item.dart';class IndexRecommond extends StatelessWidget {final List<IndexRecommendItem> dataList;const IndexRecommond({Key? key, this.dataList = indexRecommendData}): super(key: key);Widget build(BuildContext context) {return Container(padding: EdgeInsets.all(10),decoration: BoxDecoration(color: Color(0x08000000)),child: Column(children: [Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,children: [Text("房屋推荐",style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.w500),),Text("更多")],),Padding(padding: EdgeInsets.all(10)),Wrap(spacing: 10,runSpacing: 10,children: dataList.map((item) {return IndexRecommondWidget(item);}).toList(),)],),);}
}

IndexRecommendItem.dart (构造数据)

class IndexRecommendItem{final String title;final String subTitle;final String imageUrl;final String navigateUrl;const IndexRecommendItem(this.title,this.subTitle,this.imageUrl,this.navigateUrl);
}const List<IndexRecommendItem> indexRecommendData=[const IndexRecommendItem('家住回龙观','归属的感觉', 'static/images/home_index_recommend_1.png', 'login'),const IndexRecommendItem('宜居四五环', '大都市生活','static/images/home_index_recommend_2.png', 'login'),const IndexRecommendItem('喧嚣三里屯', '繁华的背后','static/images/home_index_recommend_3.png', 'login'),const IndexRecommendItem('比邻十号线','地铁心连心', 'static/images/home_index_recommend_4.png', 'login'),
];

IndexRecommondWidget.dart (点击图片的处理逻辑)

import 'dart:ui';import 'package:flutter/material.dart';
import 'package:flutter_haoke/pages/home/tab_index/index_recommond_data.dart';var textStyle = TextStyle(fontSize: 14.0, fontWeight: FontWeight.w600);class IndexRecommondWidget extends StatelessWidget {final IndexRecommendItem data;const IndexRecommondWidget(this.data, {Key? key,}) : super(key: key);Widget build(BuildContext context) {return GestureDetector(onTap: () {Navigator.of(context).pushNamed(data.navigateUrl);},child: Container(padding: EdgeInsets.all(10),decoration: BoxDecoration(color: Colors.white),width: (MediaQuery.of(context).size.width - 10 * 3) / 2,height: 100,child: Row(mainAxisAlignment: MainAxisAlignment.spaceAround,children: [Column(mainAxisAlignment: MainAxisAlignment.center, children: [Text(data.title,style: textStyle,),Text(data.subTitle,style: textStyle,)]),// Image.asset展示的本地图片Image.asset(data.imageUrl,width: 40,)],),),);}
}

相关文章:

Flutter项目之table页面实现

目录&#xff1a; 1、首页页面index.dart&#xff08;首页table页面&#xff09;searchbar.dart (搜索页面)common_swiper.dart (轮播图)index_navigation.dart (导航区域)index_navigatorItem_list.dart (数组构造) 2、房屋推荐index_recommond.dart (房屋推荐区域)IndexRecom…...

Stable Virtual Camera 重新定义3D内容生成,解锁图像新维度;BatteryLife助力更精准预测电池寿命

在数字内容创作的激烈竞争中&#xff0c;Stability AI 正站在命运的十字路口。这家曾以 Stable Diffusion 引爆图像生成革命的公司&#xff0c;却因上层管理问题陷入了危机。近期&#xff0c;Stability AI 推出了 Stable Virtual Camera 模型&#xff0c;不知能否以一记重拳打破…...

物理安全——问答

目录 1、计算机的物理安全包含哪些内容 1. 设备保护 2. 访问控制 3. 电力与环境安全 4. 数据存储保护 5. 硬件防护 6. 监控与审计 7. 灾难恢复与应急响应 8. 拆卸与维修安全 2、物理安全有哪些需要关注的问题 1、计算机的物理安全包含哪些内容 1. 设备保护 防止盗窃&…...

「查缺补漏」巩固你的 RabbitMQ 知识体系

1 MQ 存在的意义 消息中间件一般主要用来做 异步处理、应用解耦、流量削峰、日志处理 等方面。 1.1 异步处理 一个用户登陆网址注册&#xff0c;然后系统发短信跟邮件告知注册成功&#xff0c;一般有三种解决方法。 串行方式&#xff0c;依次执行&#xff0c;问题是用户注册…...

前后前缀

一种特殊的前缀方法&#xff1a; 通过前后两次前缀&#xff0c;可以求出目的区间值 例题1&#xff1a; 最大或值&#xff1a;2680. 最大或值 - 力扣&#xff08;LeetCode&#xff09;&#xff08;贪心前缀&#xff09; 贪心可知只让一个数变化最后或值最大&#xff0c;所以通过…...

C++细节知识for面试

1. linux上C程序可用的栈和堆大小分别是多少&#xff0c;为什么栈大小小于堆&#xff1f; 1. 栈&#xff08;Stack&#xff09;大小 栈默认为8MB&#xff0c;可修改。 为什么是这个大小&#xff1a; ​安全性&#xff1a;限制栈大小可防止无限递归或过深的函数调用导致内存…...

构建高可用性西门子Camstar服务守护者:异常监控与自愈实践

在智能制造领域,西门子Camstar作为领先的MES系统承载着关键生产业务。但在实际运维中,我们发现其服务常因数据库负载激增(如SQL阻塞链超时)或应用服务器资源耗尽(CPU峰值达90%以上)导致服务不可用。传统人工干预方式平均故障恢复时间长达47分钟,这对连续生产场景构成了严…...

DeepSeek-V3-250324: AI模型新突破,性能超越GPT-4.5

DeepSeek 于 3 月 25 日宣布完成 V3 模型的小版本升级&#xff0c;推出 DeepSeek-V3-250324 版本。新版本在推理能力、代码生成、中文写作及多模态任务上实现显著优化&#xff0c;尤其在数学和代码类评测中得分超越 GPT-4.5&#xff0c;引发行业高度关注。 DeepSeek-V3-250324…...

OSPF邻居状态机

OSPF&#xff08;Open Shortest Path First&#xff09;协议的邻接关系状态机描述了两台OSPF路由器之间建立和维护邻接关系的过程。以下是每个状态的简要描述&#xff1a; Down State&#xff08;关闭状态&#xff09; 描述&#xff1a;这是OSPF邻接关系的初始状态&#xff0c;…...

使用tensorflow实现线性回归

目录 前言使用TensorFlow实现算法的基本套路:实战 前言 实现一个算法主要从以下三步入手: 找到这个算法的预测函数, 比如线性回归的预测函数形式为:y wx b, 找到这个算法的损失函数 , 比如线性回归算法的损失函数为最小二乘法 找到让损失函数求得最小值的时候的系数, 这时一…...

CF每日5题Day4(1400)

好困&#xff0c;感觉很累&#xff0c;今天想赶紧写完题早睡。睡眠不足感觉做题都慢了。 1- 1761C 构造 void solve(){int n;cin>>n;vector<vector<int>>a(n1);forr(i,1,n){//保证每个集合不同a[i].push_back(i);}forr(i,1,n){string s;cin>>s;forr(…...

Vala 编程语言教程-继承

继承‌ 在 Vala 中&#xff0c;一个类可以继承自 ‌一个或零个‌ 其他类。尽管实际开发中通常继承一个类&#xff08;不同于 Java 等语言的隐式继承机制&#xff09;&#xff0c;但 Vala 并不强制要求必须继承。 当定义继承自其他类的子类时&#xff0c;子类的实例与父…...

CLion下载安装(Windows11)

目录 CLion工具下载安装其他 CLion CLion-2024.1.4.exe 工具 系统&#xff1a;Windows 11 下载 1.通过百度网盘分享的文件&#xff1a;CLion-2024.1.4.exe 链接&#xff1a;https://pan.baidu.com/s/1-zH0rZPCZtQ60IqdHA7Cew?pwdux5a 提取码&#xff1a;ux5a 安装 打开…...

QEMU源码全解析 —— 块设备虚拟化(12)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(11) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 特此致谢! QEMU初始化阶段的块设备虚拟化 从模板生成类和类的实例化 本回继续解析QEMU类Java反…...

如何使用VS中的Android Game Development Extension (AGDE) 来查看安卓 Logcat 日志

一、首先按照以下 指引 中的 第1、2步骤&#xff0c;安装一下 AGDE &#xff0c;AGDE 的安装包可以在官网上找到。 UE4 使用AndroidGameDevelopmentExtension&#xff08;AGDE&#xff09;对安卓客户端做“断点调试”与“代码热更”-CSDN博客 在执行第二步骤前&#xff0c;记得…...

Z字形变换

将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I I G Y I R 之后&#xff0c;你的输出需要从左往右…...

跟着尚硅谷学vue-day1

前言&#xff1a;企业多用vue3,但是考虑到时间较充足,先学vue2,学vue3较为方便。 1.vue是什么&#xff1f; 一套用于构建用户界面的渐进式Javascript 框架 构建用户界面&#xff1a;数据->界面 渐进式&#xff1a;Vue可以自底向上逐层的应用 简单应用: 只需一个轻量小…...

平板实现 adb connect 连接的步骤

1. 检查设备的开发者选项 确保平板设备已开启开发者模式&#xff0c;并启用了USB调试。 2. 检查设备和电脑的网络连接 确保平板和电脑连接到同一个Wi-Fi网络&#xff0c;确认设备的 IP 地址是否正确。 通过 ping 命令测试&#xff1a; ping 192.168.3.243. 通过USB线进行初…...

VUE3+TypeScript项目,使用html2Canvas+jspdf生成PDF并实现--分页--页眉--页尾

使用html2CanvasJsPDF生成pdf&#xff0c;并实现分页添加页眉页尾 1.封装方法htmlToPdfPage.ts /**path: src/utils/htmlToPdfPage.tsname: 导出页面为PDF格式 并添加页眉页尾 **/ /*** 封装思路* 1.将页面根据A4大小分隔边距&#xff0c;避免内容被中间截断* 所有元素层级不要…...

windows第十八章 菜单、工具栏、状态栏

文章目录 创建框架窗口菜单菜单的风格通过资源创建菜单菜单的各种使用通过代码创建菜单在鼠标位置右键弹出菜单 CMenu常用函数介绍工具栏方式一&#xff0c;从资源创建工具栏方式二&#xff0c;代码创建 状态栏状态栏基础创建状态栏 创建框架窗口 手动创建一个空项目&#xff…...

C语言中的位域:节省内存的标志位管理技术

位域&#xff08;Bit-field&#xff09; 是 C 语言中的一种特性&#xff0c;允许在结构体&#xff08;struct&#xff09;中定义占用特定位数的成员变量。通过位域&#xff0c;可以更精细地控制内存的使用&#xff0c;尤其是在需要存储多个布尔值或小范围整数时&#xff0c;可以…...

单端信号差分信号

单端信号和差分信号是电路中常见的两种信号传输方式&#xff0c;它们在具体的应用场景和特点上有着明显的区别。下面就来详细说明一下单端信号和差分信号的区别。 首先&#xff0c;单端信号是指信号通过一个信号线传输&#xff0c;通常一个信号线携带一个信号。这种传输方式适…...

数据设计(范式、步骤)

文章目录 数据设计1.数据库设计的三大范式2、数据库设计的具体步骤 数据设计 1.数据库设计的三大范式 关系型数据库的三大范式&#xff0c;指导如何设计一个关系型数据库。 1NF&#xff1a; 关系表的每个字段&#xff0c;都应该是不可再分的&#xff0c;——保证原子性。 字…...

Linux 中查看文件大小方法

目录 方法一&#xff1a;ls -l 输出的第五列方法二&#xff1a;du 命令的输出信息方法三&#xff1a;stat -c %s 的输出 方法一&#xff1a;ls -l 输出的第五列 ls 是列出指定目录下文件列表的命令&#xff0c;通过 -l 选项可以显示文件的属性信息&#xff0c;第五列显示的就是…...

SEO(搜索引擎优化)详解

SEO&#xff08;搜索引擎优化&#xff09;详解 SEO是Search Engine Optimization的缩写&#xff0c;中文称为"搜索引擎优化"。它是指通过一系列技术和方法&#xff0c;提高网站在搜索引擎自然&#xff08;非付费&#xff09;搜索结果中的排名&#xff0c;从而获得更…...

软考-高项,知识点一览十二 质量管理

十二 质量管理 项目质量管理包括把组织的质量政策应用于规划、管理、控制项目和产品质量要求&#xff0c;以满足干系人目标的各个过程。 项目质量管理需要兼顾项目管理与项目可交付成果两个方面&#xff0c;它适用于所有项目&#xff0c;无论项目的可付成果具有何种特性。 管…...

Docker 设置国内镜像源

Windows 和 macOS 用户 1、一般使用Docker Desktop软件&#xff0c;在 Docker Desktop 的图形界面中完成镜像源的更换操作。具体步骤如下&#xff1a; 打开 Docker Desktop 后&#xff0c;在菜单栏依次点击 Settings -> Docker Engine。此时会弹出一个 JSON 编辑框&#xf…...

探秘Transformer系列之(19)----FlashAttention V2 及升级版本

探秘Transformer系列之&#xff08;19&#xff09;----FlashAttention V2 及升级版本 文章目录 探秘Transformer系列之&#xff08;19&#xff09;----FlashAttention V2 及升级版本0x00 概述0x01 FlashAttention V21.1 动机1.2 方案1.2.1 减少冗余计算1.2.2 增加并行1.2.3 调整…...

《白帽子讲 Web 安全》之跨站请求伪造

引言 在数字化时代&#xff0c;网络已深度融入人们生活的方方面面&#xff0c;Web 应用如雨后春笋般蓬勃发展&#xff0c;为人们提供着便捷高效的服务。然而&#xff0c;繁荣的背后却潜藏着诸多安全隐患&#xff0c;跨站请求伪造&#xff08;CSRF&#xff09;便是其中极为隐蔽…...

C++20:make_shared_for_overwrite与make_unique_for_overwrite

文章目录 一、背景与动机二、std::make_shared_for_overwrite2.1 语法与用法2.2 优势 三、std::make_unique_for_overwrite3.1 语法与用法3.2 优势 四、应用场景4.1 高性能计算4.2 大型对象管理4.3 实时系统 五、总结 C20 引入了两个新的标准库函数&#xff1a; std::make_sha…...

北斗导航 | 改进奇偶矢量法的接收机自主完好性监测算法原理,公式,应用,RAIM算法研究综述,matlab代码

改进奇偶矢量法的接收机自主完好性监测算法研究 摘要 接收机自主完好性监测(RAIM)是保障全球导航卫星系统(GNSS)安全性的核心技术。针对传统奇偶矢量法在噪声敏感性、多故障隔离能力上的缺陷,本文提出一种基于加权奇偶空间与动态阈值的改进算法。通过引入观测值权重矩阵重…...

【React】基础版React + Redux实现教程,自定义redux库,Redux Toolkit教程

本项目是一个在react中&#xff0c;使用 redux 管理状态的基础版实现教程&#xff0c;用简单的案例练习redux的使用&#xff0c;旨在帮助学习 redux 的状态管理机制&#xff0c;包括 store、action、reducer、dispatch 等核心概念。 项目地址&#xff1a;https://github.com/Yv…...

onlyoffice实现office文件在线编辑保存

一、简介 onlyoffice是开源的在线文档编辑软件,支持主流的office格式,可实现文档在线编辑保存,多人协作编辑等场景,是目前我用过的功能最完善且强大的在线office编辑软件; 二、安装onlyoffice 这里仅介绍docker安装 简单运行查看sudo docker run -i -t -d -p 80:80 --…...

Transformer革命:人工智能如何突破语言理解的边界

Transformer革命&#xff1a;人工智能如何突破语言理解的边界&#xff1f; 当你在手机输入法中打出"苹果"时&#xff0c;系统是否知道你要输入水果还是手机品牌&#xff1f;这个看似简单的选择&#xff0c;背后隐藏着自然语言处理领域二十年来最深刻的变革。2017年谷…...

禅道品牌全面战略升级:开创项目管理国产化替代新格局

2025年&#xff0c;禅道软件完成企业品牌战略深度升级。此次升级&#xff0c;从产品力、服务力到生态圈构建等方面进行了全面优化&#xff0c;以更智慧的解决方案、更开放的生态布局&#xff0c;更安全的国产化解决方案&#xff0c;助力企业实现从“工具应用”到“价值创造”的…...

软件项目管理课程之第4讲:软件需求管理

讲授内容 项目案例 软件需求管理的基本概念 软件需求开发 软件需求管理 项目案例 案例背景&#xff1a;小王作为软件项目负责人&#xff0c;带领团队开展需求调查工作&#xff0c;但在需求分析和后续开发过程中出现了一系列问题。 问题表现&#xff1a; 项目规模庞大&…...

java基础知识和语法

1.类的信息加载完成后&#xff0c;会自动调用静态代码块&#xff0c;可以完成静态属性的初始化功能 对象准备创建时&#xff0c;也会自动调用代码块&#xff0c;但不是静态的&#xff1b; public class java_3_24 {public static void main(String[] args) {new User08();}} …...

横扫SQL面试——事件流处理(峰值统计)问题

横扫SQL面试 &#x1f4cc; 事件流处理&#xff08;峰值统计&#xff09;问题 “会议室预定冲突怎么查&#xff1f; &#x1f50d; 服务器瞬时负载如何算&#xff1f;&#x1f3a2; 健身房的‘人挤人’高峰究竟出现在几点&#xff1f;&#x1f3c3;‍♂️” 这些看似毫不相干…...

如何降低频谱分析仪的底噪

测量微小信号的时候&#xff0c;底噪可能会淹没有用的信号&#xff1a;&#xff08;如下图&#xff0c;底噪为-60dB&#xff09; 如何降低底噪&#xff1a; 1.分辨率带宽RBW设置小一点&#xff0c;可以减小信号的底噪 2.减小衰减器&#xff08;频谱分析仪底噪的功率随着输入衰…...

C语言基础知识09---文件操作

目录 文件操作 1.1 文件操作 1.2 文件操作的数据传输形式 1.3 文件操作的分类 1.4 文件存储格式 1.5 文件流指针 1.6 函数名&#xff1a;fopen() 1.7 函数名&#xff1a;fclose() 1.8 函数名&#xff1a;fprintf() 1.9 函数名&#xff1a;fscanf() 1.10 函数名&…...

GRS认证的主要步骤是什么?

GRS认证的具体步骤&#xff0c;是一个严谨而系统的过程&#xff0c;旨在确保产品从原料来源到最终消费的每一个环节都符合全球回收标准&#xff08;Global Recycle Standard&#xff0c;简称GRS&#xff09;的严格要求。 首先&#xff0c;企业需要向GRS认证机构提交申请&#…...

探究 CSS 如何在HTML中工作

2025/3/28 向全栈工程师迈进&#xff01; 一、CSS的作用 简单一句话——美化网页 <p>Lets use:<span>Cascading</span><span>Style</span><span>Sheets</span> </p> 对于如上代码来说&#xff0c;其显示效果如下&#xff1…...

软件工程面试题(七)

1、DAO设计模式及DELEGATE模式 DAO(Data Access Object)模式实际上是两个模式的组合,即Data Accessor 模式和 Active Domain Object 模式,其中 Data Accessor 模式实现了数据访问和业务逻辑的分离,而Active Domain Object 模式实现了业务数据的对象化封装,一般我们将这两…...

AfxMessageBox()如何显示string字符串

书籍&#xff1a;《Visual C 2017从入门到精通》的2.7 字符串 环境&#xff1a;visual studio 2022 内容&#xff1a;几个字符串类型->&#xff08;将单字节char*转换为宽字节wchar_t *&#xff09; 在 MFC 中&#xff0c;AfxMessageBox 默认支持显示 CString 或宽字符字符…...

基于 kubekey -实现懒人一键部署K8S集群

基于 kubekey -实现懒人一键部署K8S集群 操作步骤 官网&#xff1a; https://kubesphere.io/zh/ 一、执行以下命令快速创建一个 Kubernetes 集群。 Master节点 如果您访问 GitHub/Googleapis 受限&#xff0c;请登录 Linux 主机&#xff0c;执行以下命令设置下载区域。 [roott…...

19款超级华丽动画的图片轮播HTML5+CSS3模板源码

大家好&#xff0c;我是分享源码和设计思想的程序媛&#xff0c; 今天给大家分享一个 19款超级华丽动画的图片轮播HTML5CSS3模板源码。 纯CSS3HTML5代码实现&#xff0c;没有任何其它杂乱的框架东西。 图片演示 1. 3D立方体轮播效果 2. 视差滚动轮播效果 3. 卡片堆叠轮播效果 4…...

第十六:redis 的 帖子投票要点

ZADD orders 100 order1 ZADD orders 200 order2 ZADD orders 300 order3 zadd myzset 100 nameorder // 添加一个有序集合 其中存储了用户的订单信息&#xff0c;每个订单用一个唯一的 ID 表示 ZSCORE myzset nameorder  // myzset 是key  nameorder 是成员&#xff…...

51c深度学习~合集4

我自己的原文哦~ https://blog.51cto.com/whaosoft/12327892 #robustlearn 本文提出了「鲁棒关键微调」&#xff0c;通过「微调」对抗训练模型的「非鲁棒关键性模块」&#xff0c;充分利用其冗余能力提升泛化性。 对抗训练&#xff08;Adversarail Training&#xff09;…...

解决Vmware 运行虚拟机Ubuntu22.04卡顿、终端打字延迟问题

亲测可用 打开虚拟机设置&#xff0c;关闭加速3D图形 &#xff08;应该是显卡驱动的问题&#xff0c;不知道那个版本的驱动不会出现这个问题&#xff0c;所以干脆把加速关了&#xff09;...

Arduino硬件控制开发基础资料

Arduino 的程序可以划分为三个主要部分&#xff1a;结构、变量&#xff08;变量与常量&#xff09;、函数。 结构部分 一、结构 1.1 setup() 1.2 loop() 二、结构控制 2.1 if 2.2 if...else 2.3 for 2.4 switch case 2.5 while 2.6 do... while 2.7 break 2.8 cont…...