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

datatables.js中文项目使用案例

官方下载地址

https://datatables.net/download/

中文官网:http://datatables.club/

资源引用

<link href="~/datatables/datatables.min.css" rel="stylesheet" />
<script src="~/jquery.min.js" type="text/javascript"></script>
<script src="~/datatables/datatables.min.js" type="text/javascript"></script>

汉化

注意:需在初始化之前对datatable进行扩展
//datatable汉化
// oSort是排序类型数组, 'chinese-asc'是自己定义的类型的排序(*-asc || *-desc)名称
// 插件应该会根据表格中的内容的类型(string, number, chinese)进行比较排序,
// 如果以chinese类型来排序则用oSort['chinese-asc']和oSort['chinese-desc']的方法
// oSort对应的function里面自定义比较方法
jQuery.fn.dataTableExt.oSort['chinese-asc'] = function (x, y) {//javascript自带的中文比较函数,具体用法可自行查阅了解return x.localeCompare(y);
};jQuery.fn.dataTableExt.oSort['chinese-desc'] = function (x, y) {return y.localeCompare(x);
};// aTypes是插件存放表格内容类型的数组
// reg赋值的正则表达式,用来判断是否是中文字符
// 返回值push到aTypes数组,排序时扫描该数组,'chinese'则调用上面两个方法。返回null默认是'string'
jQuery.fn.dataTableExt.aTypes.push(function (sData) {var reg = /^[\u4e00-\u9fa5]{0,}$/;if (reg.test(sData)) {return 'chinese';}return null;
});
汉化语言包 Chinese.txt:若中文乱码,则需要使用记事本等工具另存为->更改文件编码方式为UTF-8
{"processing": "处理中...","lengthMenu": "显示 _MENU_ 项结果","zeroRecords": "没有匹配结果","info": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项","infoEmpty": "显示第 0 至 0 项结果,共 0 项","infoFiltered": "(由 _MAX_ 项结果过滤)","infoPostFix": "","search": "搜索:","searchPlaceholder": "搜索...","url": "","emptyTable": "表中数据为空","loadingRecords": "载入中...","infoThousands": ",","paginate": {"first": "首页","previous": "上页","next": "下页","last": "末页"},"aria": {"paginate": {"first": "首页","previous": "上页","next": "下页","last": "末页"},"sortAscending": "以升序排列此列","sortDescending": "以降序排列此列"},"thousands": "."
}

初始化

HTMl

<table class="datatable table table-stripped no-footer"><thead><tr><th>姓名</th><th>职位</th><th>国籍</th><th>服务时长</th><th>日期</th><th>薪资</th><th>操作</th></tr></thead><tbody><tr><td>姓名</td><td>职位</td><td>国籍</td><td>服务时长</td><td>日期</td><td>薪资</td><td>操作</td></tr></tbody>
</table>

JS

$(function(){//datatable初始化function initDataTable() {if ($(".datatable").length > 0) {var mytable = $(".datatable").DataTable({//汉化方式一"language": {"url": "../../lib/datatables/Chinese.txt",//汉化"charset": "utf8"//指定编码字符,若无效,参考注释一},//汉化方式二"language":{  "processing": "处理中...","lengthMenu": "显示 _MENU_ 项结果","zeroRecords": "没有匹配结果","info": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项","infoEmpty": "显示第 0 至 0 项结果,共 0 项","infoFiltered": "(由 _MAX_ 项结果过滤)","infoPostFix": "","search": "搜索:","searchPlaceholder": "搜索...","url": "","emptyTable": "表中数据为空","loadingRecords": "载入中...","infoThousands": ",","paginate": {"first": "首页","previous": "上页","next": "下页","last": "末页"},"aria": {"paginate": {"first": "首页","previous": "上页","next": "下页","last": "末页"},"sortAscending": "以升序排列此列","sortDescending": "以降序排列此列"},"thousands": "."},ajax: '../../mydatatable.json',scrollX: false,bAutoWidth: true,columns: [{ data: 'name' },{ data: 'position', orderable: false },{ data: 'office', orderable: false },{ data: 'extn' },{ data: 'startDate' },{ data: 'salary' },{data: null,orderable: false,render: function (data, type, row, meta) {// row参数里面包含了本行的信息// meta 单元格的元数据, row,col的索引号//动态输出每行操作按钮var btnHtml = [], str;for (var i = 1; i < row.btn.length; i++) {str = '<li><a class="' + row.btn[i].class + '" data-myid="' + row.id + '"><i class="' + row.btn[i].icon + '"></i>' + row.btn[i].name + '</a></li>'btnHtml.push(str);}html = '<a type="button" class="dropdown-toggle btn-actions" data-toggle="dropdown" href="#">'+ '<i class="fa fa-ellipsis-vertical"></i>'+ '</a > '+ '<ul class="dropdown-menu btn-tablemore-list">'+ btnHtml.join("")+ '</ul>'return html;}}],order: [//排序[0, 'asc']]});}}
});

mydatatable.json

{"data": [{"name": "张高级","id": "1","position": "区域主任","office": "洛杉矶","extn": "5421","startDate": "2011/04/25","salary": "$320,800","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "fas fa-eye","name": "查看","class": "btn-detail text-warning"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "张三","id": "2","position": "营销设计师","office": "东京","extn": "8422","startDate": "2011/07/25","salary": "$170,750","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "傅慎行","id": "3","position": "Javascript 软件工程师","office": "洛杉矶","extn": "1562","startDate": "2009/01/12","salary": "$86,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "欧茉莉","id": "4","position": "软件工程师","office": "爱丁堡","extn": "6224","startDate": "2012/03/29","salary": "$433,060","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "乔钻石","id": "5","position": "区域主任","office": "伦敦","extn": "5407","startDate": "2008/11/28","salary": "$162,700","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "蓉貌好","id": "6","position": "首席营销官","office": "纽约","extn": "4804","startDate": "2012/12/02","salary": "$372,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "白读书","id": "7","position": "系统架构师","office": "洛杉矶","extn": "9608","startDate": "2012/08/06","salary": "$137,500","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "戚折","id": "8","position": "人事主管","office": "伦敦","extn": "6200","startDate": "2010/10/14","salary": "$327,900","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "何呵呵","id": "9","position": "首席运营官","office": "伦敦","extn": "2360","startDate": "2009/09/15","salary": "$205,500","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "蒲渔","id": "10","position": "开发人员","office": "伦敦","extn": "1667","startDate": "2008/12/13","salary": "$103,600","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "赵默笙","id": "11","position": "摄影师","office": "纽约","extn": "3814","startDate": "2008/12/19","salary": "$90,560","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "何以琛","id": "12","position": "律师","office": "旧金山","extn": "9497","startDate": "2013/03/03","salary": "$342,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "甄可以","id": "13","position": "高级营销设计师","office": "伦敦","extn": "6741","startDate": "2008/10/16","salary": "$470,600","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "高启兰","id": "14","position": "医生","office": "爱丁堡","extn": "3597","startDate": "2012/12/18","salary": "$313,500","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "撒挨踢","id": "15","position": "开发主管","office": "纽约","extn": "1965","startDate": "2010/03/17","salary": "$385,750","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "大天师","id": "16","position": "首席运营官","office": "纽约","extn": "1581","startDate": "2012/11/27","salary": "$198,500","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "安欣","id": "17","position": "售前支持","office": "纽约","extn": "3059","startDate": "2010/06/09","salary": "$725,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "fas fa-eye","name": "查看详情","class": "btn-detail text-warning"},{"icon": "fas fa-share","name": "转发","class": "btn-share"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "李承鄞","id": "18","position": "集成专家","office": "悉尼","extn": "1721","startDate": "2009/04/10","salary": "$237,500","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "王八卦","id": "19","position": "首席执行官","office": "伦敦","extn": "2558","startDate": "2012/10/13","salary": "$132,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "大膜王","id": "20","position": "软件工程师","office": "爱丁堡","extn": "2290","startDate": "2012/09/26","salary": "$217,500","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "李泽言","id": "21","position": "初级技术作者","office": "加拿大","extn": "1937","startDate": "2011/09/03","salary": "$345,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "魏什么","id": "22","position": "售前支持","office": "洛杉矶","extn": "6154","startDate": "2009/06/25","salary": "$675,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "欧活泼","id": "23","position": "软件工程师","office": "洛杉矶","extn": "8330","startDate": "2011/12/12","salary": "$106,450","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "买辣椒也用券","id": "24","position": "售前支持","office": "东京","extn": "3023","startDate": "2010/09/20","salary": "$85,600","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "要不要买菜","id": "25","position": "会计","office": "东京","extn": "5797","startDate": "2009/10/09","salary": "$20,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete btn-red"}]},{"name": "勋悟空","id": "26","position": "首席执行官","office": "伦敦","extn": "8822","startDate": "2010/12/22","salary": "$92,575","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "何猜想","id": "27","position": "初级技术作者","office": "旧金山","extn": "9239","startDate": "2010/11/14","salary": "$357,650","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "撒德巴","id": "28","position": "软件工程师","office": "旧金山","extn": "1314","startDate": "2011/06/07","salary": "$206,850","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "撒微笑","id": "29","position": "代言人","office": "旧金山","extn": "2947","startDate": "2010/03/11","salary": "$850,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]},{"name": "许红豆","id": "30","position": "区域经理","office": "上海","extn": "8899","startDate": "2011/08/14","salary": "$163,000","btn": [{"icon": "fa fa-edit","name": "","class": "btn-edit text-success"},{"icon": "fa fa-edit","name": "编辑","class": "btn-edit text-success"},{"icon": "far fa-trash-alt","name": "删除","class": "btn-delete text-danger"}]}]
}

可能遇到的问题

  1. json文件中文乱码,可通过指定编码字符集为utf8修复,若无效,则需检查文件编码,方式参考记事本更改文件编码

  1. 汉化语言包需要在datatable初始化之前进行扩展

  1. 当某一列既含有中文又含有英文时,排序规则为中文翻译为英文后的首字母顺序,这个bug目前除了统一语言,没有找到好的解决方案,欢迎私信交流

  1. 表头坍塌参考https://www.freesion.com/article/18301382656/

  1. 比较完整的属性汇总案例参考

  • https://www.shuzhiduo.com/A/MAzA34ln59/

  • https://blog.csdn.net/CSxiaoyuhan/article/details/77866178

相关文章:

datatables.js中文项目使用案例

官方下载地址https://datatables.net/download/中文官网&#xff1a;http://datatables.club/资源引用<link href"~/datatables/datatables.min.css" rel"stylesheet" /> <script src"~/jquery.min.js" type"text/javascript"…...

Hadoop小结

Hadoop是什么Hadoop是一 个由Apache基金 会所开发的分布式系统基础架构。主要解决,海量数据的存储和海量数据的分析计算问题。广义上来说&#xff0c;Hadoop通 常是指一个更广泛的概念一Hadoop 生态圈。Hadoop优势Hadoop组成HDFS架构Hadoop Distributed File System&#xff0c…...

经典卷积模型回顾14—vgg16实现图像分类(tensorflow)

VGG16是由牛津大学计算机视觉小组&#xff08;Visual Geometry Group&#xff09;开发的深度卷积神经网络模型。其结构由16层组成&#xff0c;其中13层是卷积层&#xff0c;3层是全连接层。 VGG16被广泛应用于各种计算机视觉任务&#xff0c;如图像分类、目标检测和人脸识别等。…...

#Vue2篇:keep-alive的属性和方法

定义 keep-alive 组件是 Vue.js 内置的一个高阶组件&#xff0c;用于缓存其子组件&#xff0c;以提高组件的性能和响应速度。 除了基本用法之外&#xff0c;它还提供了一些属性和方法&#xff0c;以便更好地控制缓存的组件。 属性 include属性用于指定哪些组件应该被缓存&a…...

webpack指南(项目篇)——webpack在项目中的运用

系列文章目录 webpack指南&#xff08;基础篇&#xff09;——手把手教你配置webpack webpack指南&#xff08;优化篇&#xff09;——webpack项目优化 文章目录系列文章目录前言一、配置拆分二、修改启动命令三、定义环境变量四、配置路径别名总结前言 前面我们对webpack的基…...

unicode字符集与utf-8编码的区别,unicode转中文工具、中文转unicode工具(汉字)

在cw上报的报警信息中&#xff0c;有一个name字段的值是\u4eba\u4f53 不知道是啥&#xff0c;查了一下&#xff0c;是unicode编码&#xff0c;用下面工具转换成汉字就是“人体” 参考文章&#xff1a;https://tool.chinaz.com/tools/unicode.aspx 那么我很好奇&#xff0c;uni…...

3D数学系列之——再谈特卡洛积分和重要性采样

目录一、前篇文章回顾二、积分的黎曼和形式三、积分的概率形式&#xff08;蒙特卡洛积分&#xff09;四、误差五、蒙特卡洛积分计算与收敛速度六、重要性采样七、重要性采样方法和过程八、重要性采样的优缺点一、前篇文章回顾 在前一篇文章3D数学系列之——从“蒙的挺准”到“蒙…...

Python错误 TypeError: ‘NoneType‘ object is not subscriptable解决方案汇总

目录前言一、引发错误来源二、解决方案2-1、解决方案一&#xff08;检查变量&#xff09;2-2、解决方案二&#xff08;使用 [] 而不是 None&#xff09;2-3、解决方案三&#xff08;设置默认值&#xff09;2-4、解决方案四&#xff08;使用异常处理&#xff09;2-5、解决方案五…...

VMware空间不足又无法删除快照的解决办法

如果因为快照删除半路取消或者失败&#xff0c;快照管理器就不再显示这个快照&#xff0c;但是其占用的空间还在&#xff0c;最终导致硬盘不足。 可以百度到解决方案&#xff0c;就是在快照管理器&#xff0c;先新建一个&#xff0c;再点删除&#xff0c;等待删除完成就可以将…...

类和对象(一)

类和对象&#xff08;一&#xff09; C并不是纯面向对象语言 C是面向过程和面向对象语言的&#xff01; 面向过程和面向对象初步认识&#xff1a; C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 C是基…...

Java 不同路径

不同路径中等一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。问总共有多少条不同的路径&#xff1f…...

【SAP PO】X-DOC:SAP PO 接口配置 REST 服务对接填坑记

X-DOC&#xff1a;SAP PO 接口配置 REST 服务对接填坑记1、背景2、PO SLD配置3、PO https证书导入1、背景 &#xff08;1&#xff09;需求背景&#xff1a; SAP中BOM频繁变更&#xff0c;技术人员在对BOM进行变更后&#xff0c;希望及时通知到相关使用人员 &#xff08;2&…...

最新研究!美国爱荷华州立大学利用量子计算模拟原子核

爱荷华州立大学物理学和天文学教授James Vary&#xff08;图片来源&#xff1a;网络&#xff09;美国爱荷华州立大学物理学和天文学教授James Vary和来自爱荷华州立大学、马萨诸塞州塔夫茨大学&#xff0c;以及美国能源部加利福尼亚州劳伦斯伯克利国家实验室的研究人员&#xf…...

零入门kubernetes网络实战-22->基于tun设备实现在用户空间可以ping通外部节点(golang版本)

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 本篇文章主要是想做一个测试&#xff1a; 实现的目的是 希望在宿主机-1上&#xff0c;在用户空间里使用ping命令发起ping请求&#xff0c;产生的icmp类型的…...

web安全——Mybatis防止SQL注入 ssrf漏洞利用 DNS污染同源策略

目录 0x01 Mybatis防止SQL注入 0x02 sqlmap中报错注入判断 0x03 ssrf漏洞利用 0x04 SSRF重绑定 0x05 DNS污染...

smp_init过程解析

当你看到这样的log&#xff0c;会不会很慌张&#xff1f;竟然由CPU没有启动成功&#xff0c;除了什么故障&#xff1f;本文将结合我遇到的一个问题&#xff0c;将启动过程中bringup secondary cpu的过程分析一下。smp_init代码如下&#xff1a;602 void __init smp_init(void) …...

判断推理之逻辑判断

考点一翻译推理&#xff08;一&#xff09;题目特征题干或选项中出现多组“逻辑关联词”&#xff0c;如&#xff1a;“如果……那么……”、“只要……就……”、“只有……才……”、“所有”、“有些”、“……且……”、“ ……或……”等典型逻辑关联词。&#xff08;二&am…...

2023金三银四常见Handler面试总结,附带答案

以下的Handler的面试题都是在面试过程中总结出来比较常见的面试题&#xff0c;现在分享给大家&#xff0c;希望可以帮助你们&#xff01;1.Handler的实现原理从四个方面看Handler、Message、MessageQueue 和 Looper Handler:负责消息的发送和处理 Message:消息对象&#xff0c;…...

为什么机器人操作系统ROS1、ROS2这么难学

AI回复&#xff1a;ROS1、ROS2是机器人操作系统&#xff0c;涉及到很多复杂的概念和技术&#xff0c;需要有一定的编程和机器人知识基础才能学习。此外&#xff0c;ROS1和ROS2的架构和设计也有很大的不同&#xff0c;需要花费一定的时间和精力去学习和适应。但是&#xff0c;一…...

day01

授课老师 &#xff1a;陶国荣 联系方式 &#xff1a; taogrtedu.cn 授课阶段 &#xff1a; Web前端基础 授课内容 &#xff1a; HTML CSS JavaScript 文章目录一、讲师和课程介绍二、Web前端介绍1. 什么是网页2. 网页的组成3. 网页的优势4. 开发前的准备三、 HTML语法介绍…...

第四十章 linux-并发解决方法五(顺序锁seqlock)

第四十章 linux-并发解决方法四&#xff08;顺序锁seqlock&#xff09; 文章目录第四十章 linux-并发解决方法四&#xff08;顺序锁seqlock&#xff09;顺序锁的设计思想是&#xff0c;对某一共享数据读取时不加锁&#xff0c;写的时候加锁。为了保证读取的过程中不会因为写入名…...

【SPSS】交叉设计方差分析和协方差分析详细操作教程(附案例实战)

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 方差分析概述 交叉设计方差分析...

playwright--核心概念和Selector定位

文章目录前言一、浏览器二、浏览器上下文三、页面和框架四、Selectors1、data-test-id selector2、CSS and XPath selector3、text 文本selector4、id定位selector5、Selector 组合定位五、内置Selector前言 Playwright提供了一组API可自动化操作Chromium&#xff0c;Firefox和…...

响应式操作实战案例

Project Reactor 框架 在Spring Boot 项目 Maven 中添加依赖管理。 <dependency><groupId>io.projectreactor</groupId><artifactId>reactor-core</artifactId> </dependency><dependency><groupId>io.projectreactor</g…...

NetApp AFF A900:针对任务关键型应用程序的解决方案

NetApp AFF A900&#xff1a;适用于数据中心的解决方案 AFF A 系列中的 AFF A900 高端 NVMe 闪存存储功能强大、安全可靠、具有故障恢复能力&#xff0c;提供您为任务关键型企业级应用程序提供动力并保持数据始终可用且安全所需的一切。 AFF A900&#xff1a;针对任务关键型应…...

使用Houdini输出四面体网格并输出tetgen格式

我们的目标是从houdini输出生成的四面体&#xff0c;希望是tetgen格式的。 众所周知&#xff0c;houdini是不能直接输出四面体的。 有三方案去解决&#xff1a; 输出点云ply文件&#xff0c;然后利用tetgen生成网格。输出Hounidi内置的.geo格式文件&#xff0c;然后写个脚本…...

组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多输入单输出回归预测对比

组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多输入单输出回归预测对比 目录 组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多输入单输出回归预测对比预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 MATLAB实现EMD-KP...

【C语言】操作符详解总结(万字)

操作符详解1. 操作符分类2. 算术操作符3. 移位操作符3.1 整数的二进制是怎么形成的3.2 左移操作符3.3 右移操作符4. 位操作符5. 赋值操作符6. 单目操作符6.1 单目操作符介绍6.2 sizeof 和 数组7. 关系操作符8. 逻辑操作符9. 条件操作符9.1 练习19.2 练习210. 逗号表达式11. 下标…...

mac系统手册(帮助/说明)

文章目录1. mac自带的帮助文档2. Mac使用技巧&#xff08;提示&#xff09;2.1 聚焦搜索2.2 截图&#xff08;录制屏幕&#xff09;2.3 调出右键菜单2.4 快速查看2.5 翻译2.5.1 词典解释2.5.2 翻译&#xff08;字、词和句&#xff09;3. macOS使用手册3.1 在聚焦中进行计算和转…...

VLC播放器Demo(录像,截图等功能),Android播放器Demo可二次开发。

VLC播放器Demo&#xff08;录像&#xff0c;截图等功能&#xff09;&#xff0c;可二次开发。 GitHub地址:https://github.com/ILoveLin/VlcRecordPlayer GitHub地址:https://github.com/ILoveLin/VlcRecordPlayer GitHub地址:https://github.com/ILoveLin/VlcRecordPlayer …...

WeSpeaker支持C++部署链路

WeSpeaker正式更新C部署链路&#xff0c;推理引擎使用OnnxRuntime&#xff0c;支持从语音中提取Speaker Embedding信息&#xff0c;代码详见WeSpeaker/runtime[1]。 Libtorch和onnx的选择? Speaker Embedding提取任务流程简单&#xff0c;并且声纹模型&#xff08;如ResNet\E…...

window vscode编辑appsmith源码

前言 本来最开始用的idea打开wsl中的appsmith&#xff0c;卡得一批。最后没办法&#xff0c;用自己的电脑装成ubuntu server&#xff0c;然后vscode的远程开发对appsmith源码进行编辑。如果自己电脑内存16个G或者更大可能打开wsl中的估计会还好&#xff0c;我公司电脑只有8g所…...

操作系统面试题

操作系统一、简介篇1.解释一下什么是操作系统2.操作系统的主要功能3.软件访问硬件的几种方式4.操作系统的主要目的是什么5.为什么Linux系统下的应用程序不能直接在Windows下运行6.什么是用户态和内核态7.用户态和内核态如何切换8.什么是内核二、进程和线程篇1.多处理系统的优势…...

Kafka入门(七)

下面聊聊Kafka的配置参数&#xff0c;包括生产者的配置参数、Broker的配置参数、消费者的配置参数。 1、生产者配置参数 acks 该参数控制了生产者的消息发送确认机制&#xff0c;用于指定分区中必须有多少个副本成功接收到消息后生产者才会认为这条消息写入是成功的&#xff0c…...

微服务介绍

微服务 微服务架构发展 微服务这个概念最早是在2011年5月威尼斯的一个软件架构会议上讨论提出的&#xff0c;用于描述一些作为通用架构风格的设计原则&#xff1b;2012年3月在波兰举行的Degree Conference大会&#xff0c;james lewis做演讲&#xff0c;讨论了微服务一些原则…...

搭建SpringBoot多模块微服务项目脚手架(三)

搭建SpringBoot多模块微服务项目脚手架(三) 文章目录搭建SpringBoot多模块微服务项目脚手架(三)1.概述项目结构2.接口返回统一信息模板2.1.封装返回统一信息思路介绍2.2.封装json数据格式1.导入依赖2.封装code码3.封装json格式模板4.使用统一返回信息3.接口统一请求信息模板3.1…...

对vue3中reactive、toref、torefs、ref的详细理解

reactive&#xff1a;将平常的一个对象转换成响应式对象。所谓的响应式对象就是当页面点击修改此对象时&#xff0c;页面无需刷新而在页面上的其他地方有用到这个对象的地方会自动同步修改过来例如&#xff1a; <template><div class"container"><di…...

C++ Primer Plus 第6版 读书笔记(6) 第 6 章 分支语句和逻辑运算符

第 6 章 分支语句和逻辑运算符 C是在 C 语言基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言&#xff0c;是C语言的超集。本书是根据2003年的ISO/ANSI C标准编写的&#xff0c;通过大量短小精悍的程序详细而全面地阐述了 C的基本概念和技术&#xff0c;…...

Java Class 加密工具 ClassFinal

Jar包加密工具 ClassFinal介绍环境依赖使用说明下载加密命令行示例maven插件方式无密码模式机器绑定启动加密后的jar启动参数给密码不加密码参数直接启动1. 密码文件获取2. 交互输入参考资料介绍 ClassFinal 是一款 java class 文件安全加密工具&#xff0c;支持直接加密jar包…...

【蓝桥杯集训·每日一题】AcWing 3555. 二叉树

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴最近公共祖先一、题目 1、原题链接 3555. 二叉树 2、题目描述 给定一个 n 个结点&#xff08;编号 1∼n&#xff09;构成的二叉树&#xff0c;其根结点为 1 号点。 进行 m…...

【JavaScript运行原理之V8引擎】V8引擎解析JavaScript代码原理

1. 编程语言的执行 高级语言最终都需要编译为低级语言才能被硬件执行&#xff0c;越高级的语言中间的转换时间越长&#xff0c;效率越低&#xff0c;越低级的语言执行素的越快&#xff0c;但是由于缺少高级语言便捷的语法特性所以很难编写代码。 2. 大杂烩JS 它是作者在1995…...

C++11:智能指针

文章目录1. 介绍1.1 动态内存与智能指针2. 使用2.1 创建2.2 使用3. 原理3.1 RAII3.2 像指针一样使用3.3 支持智能指针对象拷贝auto_ptrRAII4. 标准库中的智能指针4.1 unique_ptr模拟实现4.2 shared_ptr引用计数模拟实现定制删除器4.3 weak_ptrshared_ptr造成的循环引用问题与sh…...

ccc-pytorch-RNN(7)

文章目录一、RNN简介二、RNN关键结构三、RNN的训练方式四、时间序列预测五、梯度弥散和梯度爆炸问题一、RNN简介 RNN&#xff08;Recurrent Neural Network&#xff09;中文循环神经网络&#xff0c;用于处理序列数据。它与传统人工神经网络和卷积神经网络的输入和输出相互独立…...

docker安装(linux)

安装需要的软件包 yum install -y yum-utils 设置stable镜像仓库&#xff08;使用阿里云镜像&#xff09; yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 更新yum软件包索引 yum makecache fast 安装DOCKER 引擎 yum -y…...

【数据库概论】10.1 事务及其作用

事务是一系列的数据库操作&#xff0c;是数据库应用程序的基本逻辑单元 10.1 事务的基本概念 1.事务 事务是用户定义的一个数据库操作序列&#xff0c;是一个具有原子性的操作&#xff0c;不可再分&#xff0c;一个事务内的操作要么全做、要么都不做。一般来说&#xff0c;一…...

通讯录(C++实现)

系统需求通讯录是一个可以记录亲人、好友信息的工具。本章主要利用C来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中添加新人&#xff0c;信息包括&#xff08;姓名、性别、年龄、联系电话、家庭住址&#xff09;最多记录1000人显示联系人:显示通讯录…...

轻松掌握C++的模板与类模板,将Tamplate广泛运用于我们的编程生活

C提高编程 本阶段主要针对C泛型编程和STL技术做详细讲解&#xff0c;探讨C更深层的使用 泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。 模板 1.模板的概念 模板就是建立通用的模具&#xff0c;大大提高复用性 例如&#xff1a; 2.函数模板 C另一种编程思想称…...

pandas 数据预处理+数据概览 处理技巧整理(持续更新版)

这篇文章主要是整理下使用pandas的一些技巧&#xff0c;因为经常不用它&#xff0c;这些指令忘得真的很快。前段时间在数模美赛中已经栽过跟头了&#xff0c;不希望以后遇到相关问题的时候还去网上查&#xff08;主要是太杂了&#xff09;。可能读者跟我有一样的问题&#xff0…...

mmdetectionV2.x版本 训练自己的VOC数据集

mmdetection目录下创建data文件夹&#xff0c;路劲如图所示&#xff0c;不带yololabels 修改配置文件 mmdet/datasets/voc.py 配置图片格式 mmdet/datasets/xml_style.py 如果图片是jpg则改成jpg&#xff0c;是png格式就改成png&#xff0c;这里我不需要改&#xff0c;本…...

Shell - crontab 定时 git 拉取并执行 maven 打包

目录 一.引言 二.踩坑与实践 1.原始代码 2.mvn package 未执行与解决 [导入环境变量] 3.git pull 未执行与解决 [添加绝对路径] 三.总结 一.引言 git 任务部署在通道机&#xff0c;每天6点需要定时更新 jar 包并打包上线&#xff0c;所以需要在 linux 服务器上&#xff…...