已收录的网站不好优化白云区江夏附近做网站

news/2025/9/23 20:34:46/文章来源:
已收录的网站不好优化,白云区江夏附近做网站,域名信息查询系统,企业安全文化建设中的安全承诺是指前言 项目进行到新的一个迭代了#xff0c;赶了1周需求#xff0c;接口终于处理完了。分享记录下迭代中处理导入、导出、下载模版功能的细节吧。 一、场景 EasyExcel#xff08;阿里#xff09;实现Excel数据处理三层表头#xff0c;第二、三层表头动态数据根据第二、三层…前言 项目进行到新的一个迭代了赶了1周需求接口终于处理完了。分享记录下迭代中处理导入、导出、下载模版功能的细节吧。 一、场景 EasyExcel阿里实现Excel数据处理三层表头第二、三层表头动态数据根据第二、三层表头动态导出的模版动态数据区域下拉选择导入4的模版导入业务数据 模版效果 懂的都懂没有其他啥好说的直接上代码吧。 二、使用步骤 1.导出 controller导出方法 /*** 导出排班计划*/ResourceAction(id exportShiftPlan, name 导出排班计划)GetMapping(/exportShiftPlan)public void exportShiftPlan(PotAttendShiftPlanQueryRequestVo requestVo, HttpServletResponse response) {try {// 设置响应头response.setContentType(application/vnd.ms-excel);response.setCharacterEncoding(utf-8);String fileName URLEncoder.encode(DateUtil.format(DateUtil.date(), DatePattern.PURE_DATETIME_PATTERN) 排班计划导出 .xlsx, StandardCharsets.UTF_8).replaceAll(\\, %20);response.setHeader(Content-disposition, attachment;filename fileName);//组织导出数据MapString, Object exportDataMap service.exportShiftPlan(requestVo);ListListString headList (ListListString) exportDataMap.get(headList);ListListObject dataList (ListListObject) exportDataMap.get(dataList);ExcelWriterBuilder excelWriterBuilder EasyExcel.write(response.getOutputStream());excelWriterBuilder.head(headList).sheet(排班计划).doWrite(dataList);} catch (Exception e) {throw new RuntimeException(导出排班计划失败);}}exportShiftPlan方法实现 Overridepublic MapString, Object exportShiftPlan(PotAttendShiftPlanQueryRequestVo requestVo) {MapString, Object dataMap new HashMap();//处理动态列头ListListString headList new ArrayList();//前3列姓名、部门、员工账号ListString xmHeard new ArrayList();xmHeard.add(姓名);headList.add(xmHeard);ListString bmHeard new ArrayList();bmHeard.add(部门);headList.add(bmHeard);ListString yghHeard new ArrayList();yghHeard.add(员工账号);headList.add(yghHeard);//时间处理Date startTime requestVo.getStartTime();Date endTime requestVo.getEndTime();ListDateTime rangeDateList DateUtil.rangeToList(startTime, endTime, DateField.DAY_OF_MONTH);for (DateTime dateTime : rangeDateList) {ListString dateHead new ArrayList();//日期dateHead.add(DateUtil.format(dateTime, DatePattern.NORM_DATE_PATTERN));//星期int dayOfWeek DateUtil.dayOfWeek(dateTime);String weekName AttendConstant.weekDict.get(String.valueOf(dayOfWeek)).toString();dateHead.add(weekName);headList.add(dateHead);}//列头dataMap.put(headList, headList);//do your code循环处理组织一行数据放到list再放到map//动态列部分数据根据列头时间循环处理 dataMap.put(dataList, dataList);return dataMap;}2.下载模版 controller方法 /*** 下载排班计划导入模版** param response 响应*/ResourceAction(id exportShiftPlanTemplate, name 导出排班计划模版)GetMapping(/exportShiftPlanTemplate)public void exportShiftPlanTemplate(PotAttendShiftPlanQueryRequestVo requestVo, HttpServletResponse response) {try {// 设置响应头response.setContentType(application/vnd.ms-excel);response.setCharacterEncoding(utf-8);String fileName BusinessSerialNoUtil.genDateFmtSeqCode(redisService, , , 4, CommonConstant.SHIFT_EXPORT_TEMPLATE, 0, CommonConstant.COMPLET_BEFORE, DatePattern.PURE_DATE_PATTERN) 排班计划模版.xlsx;//防止乱码fileName URLEncoder.encode(fileName, StandardCharsets.UTF_8);response.setHeader(Content-disposition, attachment;filename fileName);//组织导出数据MapString, Object exportDataMap service.exportShiftPlanTemplate(requestVo);ListListString headList (ListListString) exportDataMap.get(headList);ListListObject dataList (ListListObject) exportDataMap.get(dataList);ListPotAttendShiftDTO shiftList (ListPotAttendShiftDTO) exportDataMap.get(shiftList);ExcelWriterBuilder excelWriterBuilder EasyExcel.write(response.getOutputStream());//动态设置下拉框excelWriterBuilder.registerWriteHandler(new CustomCellWriteHeightStrategy((short) 30, (short) 30));excelWriterBuilder.registerWriteHandler(new ShiftSheetWriteHandler(shiftList, headList.size(), dataList.size()));ExcelWriterSheetBuilder excelWriterSheetBuilder excelWriterBuilder.head(headList).sheet(排班计划);excelWriterSheetBuilder.doWrite(dataList);} catch (Exception e) {String errMsg e.getMessage();if (StringUtils.isBlank(errMsg)) {errMsg 导出导入模版失败;}throw new RuntimeException(errMsg);}}实际上就是在导出的基础上增加了一个样式核心拦截、一个数据处理的handler CustomCellWriteHeightStrategy         自定义单元格高度策略 /*** 自定义单元格高度策略* author zwmac*/ public class CustomCellWriteHeightStrategy extends AbstractRowHeightStyleStrategy {/*** 默认高度*/private static final Integer DEFAULT_HEIGHT 30;/*** 头部行高*/private Short headRowHeight DEFAULT_HEIGHT.shortValue();/*** 内容行高*/private Short contentRowHeight DEFAULT_HEIGHT.shortValue();public CustomCellWriteHeightStrategy(Short headRowHeight, Short contentRowHeight) {this.headRowHeight headRowHeight;this.contentRowHeight contentRowHeight;}Overrideprotected void setHeadColumnHeight(Row row, int relativeRowIndex) {int maxHeight autoCalMaxHeight(row);//row.setHeight((short) (maxHeight * DEFAULT_HEIGHT));row.setHeightInPoints(maxHeight * DEFAULT_HEIGHT);}Overrideprotected void setContentColumnHeight(Row row, int relativeRowIndex) {int maxHeight autoCalMaxHeight(row);//row.setHeight((short) (maxHeight * DEFAULT_HEIGHT));row.setHeightInPoints(maxHeight * DEFAULT_HEIGHT);}private int autoCalMaxHeight(Row row) {IteratorCell cellIterator row.cellIterator();if (!cellIterator.hasNext()) {return 1;}// 默认为 1行高度int maxHeight 1;while (cellIterator.hasNext()) {Cell cell cellIterator.next();switch (cell.getCellType()) {case STRING:if (cell.getStringCellValue().contains(\n)) {int length cell.getStringCellValue().split(\n).length;maxHeight Math.max(maxHeight, length);}break;default:break;}}return maxHeight;} }ShiftSheetWriteHandler         下拉框处理这里用的是隐藏域方式之前其实分享过另一种处理方式也提到了这种方式下拉框处理 /*** 排班sheetHandler** author zwmac*/ public class ShiftSheetWriteHandler implements SheetWriteHandler {/*** 一行的列数*/private Integer rowCelNum 0;/*** 行数*/private Integer rowNum 0;/*** 班次数据*/private ListPotAttendShiftDTO shiftList;/*public ShiftSheetWriteHandler(ListPotAttendShiftDTO shiftList, int rowCelNum) {this.shiftList shiftList;this.rowCelNum rowCelNum;}Overridepublic void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {}Overridepublic void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {//班次转mapMapString, String[] mapDropDown new HashMap();String[] shiftTimeArr new String[shiftList.size()];for (int i 0; i shiftList.size(); i) {PotAttendShiftDTO shift shiftList.get(i);String shiftName shift.getShiftName();ListPotAttendShiftTime shiftTimeList shift.getAttendShiftTimeList();StringBuffer sbf new StringBuffer();if (CollectionUtil.isNotEmpty(shiftTimeList)) {for (int j 0; j shiftTimeList.size(); j) {PotAttendShiftTime shiftTime shiftTimeList.get(j);String time DateUtil.format(shiftTime.getStartTime(), HH:mm) - DateUtil.format(shiftTime.getEndTime(),HH:mm);sbf.append(time);if (j ! shiftTimeList.size() - 1) {sbf.append(跳);}}}//长度估计是长了报异常//shiftTimeArr[i] shiftName sbf;shiftTimeArr[i] shiftName;}mapDropDown.put(1, shiftTimeArr);//获取工作簿Sheet sheet writeSheetHolder.getSheet();///开始设置下拉框DataValidationHelper helper sheet.getDataValidationHelper();//设置下拉框for (Map.EntryString, String[] entry : mapDropDown.entrySet()) {*//*起始行、终止行、起始列、终止列 起始行为1即表示表头不设置**//*//这里设置65535可能又问题因为这个是excel的最大行数如果数据量超过这个数就会报错CellRangeAddressList addressList new CellRangeAddressList(2, 65535, 3, rowCelNum - 1);*//*设置下拉框数据**//*DataValidationConstraint constraint helper.createExplicitListConstraint(entry.getValue());DataValidation dataValidation helper.createValidation(constraint, addressList);//阻止输入非下拉选项的值dataValidation.setErrorStyle(DataValidation.ErrorStyle.STOP);dataValidation.setShowErrorBox(true);dataValidation.setSuppressDropDownArrow(true);dataValidation.createErrorBox(提示, 输入值与单元格定义格式不一致);dataValidation.createPromptBox(填写说明, 填写内容只能为下拉数据集中的类型);sheet.addValidationData(dataValidation);}}*/private MapInteger, ListString selectMap;private int index;private char[] alphabet new char[]{A, B, C, D, E, F, G, H, I, J, K, L,M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z};public ShiftSheetWriteHandler(ListPotAttendShiftDTO shiftList, int rowCelNum,Integer rowNum) {//转mapMapInteger, ListString shiftMp transShiftListToMap(shiftList);this.selectMap shiftMp;this.index 0;this.rowCelNum rowCelNum;this.rowNum rowNum;}private MapInteger, ListString transShiftListToMap(ListPotAttendShiftDTO shiftList) {MapInteger, ListString mapDropDown new HashMap();ListString shiftTimeArr new ArrayList();for (int i 0; i shiftList.size(); i) {PotAttendShiftDTO shift shiftList.get(i);String shiftName shift.getShiftName();ListPotAttendShiftTime shiftTimeList shift.getAttendShiftTimeList();StringBuffer sbf new StringBuffer();if (CollectionUtil.isNotEmpty(shiftTimeList)) {for (int j 0; j shiftTimeList.size(); j) {PotAttendShiftTime shiftTime shiftTimeList.get(j);String time DateUtil.format(shiftTime.getStartTime(), HH:mm) - DateUtil.format(shiftTime.getEndTime(), HH:mm);sbf.append(time);if (j ! shiftTimeList.size() - 1) {sbf.append(跳);}}}String fullName DictTranslateor.translate(AttendConstant.SHIFT_NAME_DICT, shiftName);shiftTimeArr.add(fullName sbf);}mapDropDown.put(1, shiftTimeArr);return mapDropDown;}Overridepublic void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {if (selectMap null || selectMap.size() 0) {return;}// 需要设置下拉框的sheet页Sheet curSheet writeSheetHolder.getSheet();DataValidationHelper helper curSheet.getDataValidationHelper();String dictSheetName 字典sheet;Workbook workbook writeWorkbookHolder.getWorkbook();// 数据字典的sheet页Sheet dictSheet workbook.createSheet(dictSheetName);// 从第二个工作簿开始隐藏为了用户的友好性将字典sheet隐藏掉this.index;// 设置隐藏workbook.setSheetHidden(this.index, true);for (Map.EntryInteger, ListString entry : selectMap.entrySet()) {// 设置下拉单元格的首行、末行、首列、末列CellRangeAddressList rangeAddressList new CellRangeAddressList(3, 3 rowNum - 1, 3, rowCelNum - 1);int rowLen entry.getValue().size();// 设置字典sheet页的值 每一列一个字典项for (int i 0; i rowLen; i) {Row row dictSheet.getRow(i);if (row null) {row dictSheet.createRow(i);}row.createCell(entry.getKey()).setCellValue(entry.getValue().get(i));}String excelColumn getExcelColumn(entry.getKey());// 下拉框数据来源 eg:字典sheet!$B1:$B2String refers dictSheetName !$ excelColumn $1:$ excelColumn $ rowLen;// 创建可被其他单元格引用的名称Name name workbook.createName();// 设置名称的名字name.setNameName(dict entry.getKey());// 设置公式name.setRefersToFormula(refers);// 设置引用约束DataValidationConstraint constraint helper.createFormulaListConstraint(dict entry.getKey());// 设置约束DataValidation validation helper.createValidation(constraint, rangeAddressList);if (validation instanceof HSSFDataValidation) {validation.setSuppressDropDownArrow(false);} else {validation.setSuppressDropDownArrow(true);validation.setShowErrorBox(true);}// 阻止输入非下拉框的值validation.setErrorStyle(DataValidation.ErrorStyle.STOP);validation.createErrorBox(提示, 此值与单元格定义格式不一致);validation.setShowErrorBox(true);validation.setSuppressDropDownArrow(true);validation.createPromptBox(填写说明, 填写内容只能为下拉数据集中的类型);// 添加下拉框约束writeSheetHolder.getSheet().addValidationData(validation);}}/*** 将数字列转化成为字母列** param num* return*/private String getExcelColumn(int num) {String column ;int len alphabet.length - 1;int first num / len;int second num % len;if (num len) {column alphabet[num] ;} else {column alphabet[first - 1] ;if (second 0) {column column alphabet[len] ;} else {column column alphabet[second - 1] ;}}return column;} }service实现部分就不贴了跟导出的思路一致多了一个下拉框数据shiftList而已。 3、导入 controller方法 /*** 导入排班计划2** param file 文件*/OperateLog(moduleName moduleName, operateContent 导入排班计划)RequestMapping(value /importShiftPlan/{parkId}, method RequestMethod.POST)public RestResponse importShiftPlan2(RequestParam(file) MultipartFile file, PathVariable(parkId) Long parkId) {try {service.importShiftPlan(file, parkId);return RestResponse.success();} catch (Exception e) {log.error(导入排班计划失败, e);throw new RuntimeException(导入排班计划失败);}}importShiftPlan方法实现 Overridepublic void importShiftPlan(MultipartFile file, Long parkId) throws IOException {//参数校验Assert.notNull(file, 文件为空);Assert.notNull(parkId, 园区id为空);//解析文件//EasyExcel.read(file.getInputStream(), AttendShiftPlanExcelDto.class, new AttendShiftPlanListener()).sheet(0).doRead();//ListMapInteger,Object list EasyExcel.read(file.getInputStream(), AttendShiftPlanExcelDto.class, new AttendShiftPlanListener()).sheet(0).doReadSync();//headRowNumber设置表示设置的行与之前的行都是列头监听里的数据处理就从这个行之后开始读AttendShiftPlanListener attendShiftPlanListener new AttendShiftPlanListener();ListMapInteger, Object list EasyExcel.read(file.getInputStream(), attendShiftPlanListener).sheet(0).headRowNumber(3).doReadSync();ListString headList attendShiftPlanListener.getHeaders();Assert.notEmpty(list, 导入数据为空);Assert.notEmpty(headList, 表头信息为空);//do your code//有表头了有数据了剩下的就是大家表演了}AttendShiftPlanListener         监听处理数据其实保存数据可以在监听里就处理了。 /*** 排班计划导入监听器** author zwmac*/ Slf4j public class AttendShiftPlanListener extends AnalysisEventListenerMapInteger, String {private static final int BATCH_COUNT 5;private ListAttendShiftPlanExcelDto cachedDataList ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);Getterprivate ListString headers new ArrayList();// 存储自定义表头MapInteger, String customHeaders new HashMap();Overridepublic void onException(Exception exception, AnalysisContext context) throws Exception {super.onException(exception, context);}Overridepublic void invokeHead(MapInteger, ReadCellData? headMap, AnalysisContext context) {//列头处理Integer rowIndex context.readRowHolder().getRowIndex();if(rowIndex 1) {for (int i 3; i headMap.size(); i) {String header headMap.get(i).getStringValue();if (!null.equals(header) !isFixedHeader(header)) {customHeaders.put(i, header);}}MapInteger, String hdMap ConverterUtils.convertToStringMap(headMap, context);for (int i 0; i hdMap.size(); i) {headers.add(hdMap.get(i));}}}/*** 判断是否是固定表头*/private boolean isFixedHeader(String header) {//定义固定表头集合ListString list Arrays.asList(姓名, 部门, 账号);return list.contains(header);}Overridepublic void invoke(MapInteger, String data, AnalysisContext context) {//数据处理AttendShiftPlanExcelDto shiftPlanExcelDto new AttendShiftPlanExcelDto();StringBuilder sb new StringBuilder();shiftPlanExcelDto.setUserName(data.get(0));shiftPlanExcelDto.setOrgName(data.get(1));shiftPlanExcelDto.setUserAccount(data.get(2));JSONObject jsonObject new JSONObject();for (int i 0; i data.size() - 1; i) {jsonObject.put(customHeaders.get(i), data.get(i));}shiftPlanExcelDto.setShiftPlanDataJson(jsonObject.toJSONString());cachedDataList.add(shiftPlanExcelDto);if (cachedDataList.size() BATCH_COUNT) {//saveData();其实这里就可以直接处理保存cachedDataList.clear();} else {log.info(解析到一条数据:{}, data);}}Overridepublic void doAfterAllAnalysed(AnalysisContext context) {} }AttendShiftPlanExcelDto import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data;/*** author zwmac*/ Data public class AttendShiftPlanExcelDto {ExcelProperty(value 姓名, index 0)private String userName;ExcelProperty(value 部门, index 1)private String orgName;ExcelProperty(value 账号, index 2)private String userAccount;/*** 动态数据列*/ExcelIgnoreprivate String shiftPlanDataJson; }前3列是固定的后面是动态当成一个字段实际是json串 总结 EasyExcel阿里系的还是挺强目前我们的微服务也是阿里系的其实我个人不太喜欢阿里系的微服务导出可以使用模版这里横向、纵向都是动态感觉太麻烦还不如编码其实主要一点还是要自己有大致的思路自己要敢想         还是那句话思路很重要就分享到这里希望能帮到大家uping

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913813.shtml

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

相关文章

辽阳网站建设辽阳登录建设部网站

注:本博文代码基于ZRender 3.4.3版本开发,对应版本库地址:ZRender 库。 效果 实现分析 通过上面显示的效果图,可以看出,这种效果就是在Canvas中生成多个可移动的点,然后根据点之间的距离来确定是否连线&am…

平面设计网站有哪些比较好的中山外发加工网

需要用上插件:axupimgs插件作者:莫若卿支持版本:5.0.4支持语言:仅中文插件版本:1.6一、axupimgs 插件作用:这是一个tinymce多图片批量上传插件,支持拖拽文件添加,拖拽支持白名单&…

免费站推广网站2022php做门户网站

目录 1. 前言 2. 实验分析 2.1 导入包 2.2 决策树模型构建及树模型的可视化展示 2.3 概率估计 2.4 绘制决策边界 2.5 决策树的正则化(剪枝) 2.6 对数据敏感 2.7 回归任务 2.8 对比树的深度对结果的影响 2.9 剪枝 1. 前言 本文主要分析了决策树的分类和回…

markdown 使用指南

数学公式 分数 \frac{x+y}{2} 效果:\(\frac{x+y}{2}\) 求和 \sum_{x}^{n} \(\sum_{x}^{n}\) 积分 \int \(\int\)

第6.2节 Android Agent制作<三>

第6.2节 Android Agent制作<三>pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

专业外贸网站制作价格网络商城需要什么资质

Jenkins如何创建管理员用户? 接上一篇:企业实战04_Jenkins安装推荐插件https://blog.csdn.net/weixin_40816738/article/details/90383700 文章目录1. 创建管理员用户2. 请求地址Windows和Linux2.1. Windows的浏览器访问地址:2.2. Linux的浏览…

...温岭做网站企业宣传ppt案例欣赏

非原创,来源网络。感谢原作者奉献如此精彩文章。原文地址:http://www.jianbitou.com/post/20_websites-learn-master-css.html1. A List Apart CSS Topics A List Apart是一个CSS优秀文章的收集网站,从1999年开始收集文章,关注最佳…

中国建材工程建设协会网站网站建设课程设计心得

support-v4.jar是support library。路径为<sdk>/extras/android/support/v4/android-support-v4.jar.转载于:https://www.cnblogs.com/Magina-learning/p/7899788.html

建设厅网站初始数据入库html5 门户网站模版

选择编程语言需要考虑多个方面&#xff0c;包括语言的特性、社区支持、工作机会、学习曲线等。下面是关于Python Go和Rust的一些介绍。 1.基本语法 1. Python: Python 是一种脚本语言&#xff0c;以简洁、易读的语法著称。以下是 Python 的基本语法示例&#xff1a; # Hello…

做网站的大小wordpress如何去除分类

箭头函数是 es6 提出的this 指针指向 定义箭头函数的全局上下文或函数上下文&#xff0c;是固定的call\apply\bind无法改变箭头函数的this没有 arguments 对象&#xff0c;但是可以访问外部作用域中的 arguments 对象没有 prototype 属性不能用作 generator 函数&#xff0c;不…

珠海市手机网站建设公司WordPress众筹模板

文章目录 程序安全退出执行代码的基本:信号拦截执行代码的改进:信号拦截包装器实践捕获键盘输入示例代码go-svc介绍程序及服务的控制是指在计算机系统中对程序和服务进行管理、监控和调控的过程。这个过程可以涉及到多个方面,包括资源管理、运行状态监测、安全性控制等。本质…

怎么做网站能够增加人气网站开发分层

最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类。 最开始的时候用 Python 学会了 os.system() 这个方法是很多比如 C&#xff0c;Perl 相似的。 os.system(cat /proc/cpuinfo) 但是这样是无法获得到输出和返回值的&#xff0c;继续 Goog…

权威的顺德网站建设济南软件公司排名

1.分为三类 健康的桃子叶片 &#xff0c;251张 桃疮痂病一般&#xff0c;857张 桃疮痂病严重&#xff0c;770 张 2. GUI界面识别效果和predict.py识别效果如视频所示桃子叶片病害识别&#xff08;Python代码&#xff0c;pyTorch框架&#xff0c;深度卷积网络模型&#xff0…

个人网站备案电话访谈有哪些好的网站模版

这些人的赚钱思路是真灵活&#xff01; 这几天刷到艾维奇采访之昊的视频&#xff0c;做口语教育真赚钱&#xff0c;lv的包包随便买&#xff0c;住大房子&#xff0c;三辆车&#xff0c;有评论晒图一个九百的课&#xff0c;卖了1.3万份&#xff0c;直接千万到账。 然后我又想到…

seo是什么?东莞网站seo方法

分享嘉宾&#xff1a;卞东海 百度 高级研发工程师编辑整理&#xff1a;蒋郭鑫 河海大学出品平台&#xff1a;DataFunTalk导读&#xff1a;由于大数据时代的发展&#xff0c;知识呈指数级增长&#xff0c;而知识图谱技术又在近年来逐步火热&#xff0c;因此诞生了利用知识图谱技…

淘宝网站开发类目没法上架商品平台网站建设所需资质

1.3 List(列表)列表由一系列按特定顺序排列的元素组成。在Python中&#xff0c;用方括号[ ]来表示列表&#xff0c;并用逗号来分隔其中的元素。1.3.1 访问列表元素在Python中&#xff0c;第一个列表元素的索引为0&#xff0c;而不是1。>>> bicycles [trek, cannondal…

LVS 服务器 知识

LVS 服务器 集群 集群分类按分发器类型分 – LVS集群 – Nginx集群 – haproxy集群 – F5集群按业务类型分 – web集群 – 数据库集群 – 缓存集群 – …按功能分类:负载均衡集群 – LBC: 分担服务的总体压力 高可用…

万网站长上海网站推广营销设计

sys.default_constraints 是 SQL Server 的系统视图&#xff0c;它包含了数据库中所有默认约束的信息。默认约束是数据库对象&#xff08;如表中的列&#xff09;的约束&#xff0c;它为列定义了一个默认值&#xff0c;当在插入新行时没有为该列提供值时&#xff0c;将使用这个…

服装行业做推广网站wordpress 图片集

本文详解的讲解了使用IDEA创建Maven项目&#xff0c;及Maven的基础入门。 1、打开IDEA&#xff0c;右上角选择File->New->Project 2、如图中所示选择Maven&#xff08;可按自己所需添加&#xff0c;否则加载时速度很慢&#xff09; 3、添加项目所需Groupld,ArtifactId,Ve…

企业网站模板psd如何制作有关西安的网站

Safari浏览器&#xff1a; 1.safari执行history.go(-1);需要添加return false; Chrome浏览器 1.Chrome浏览器要预读图片&#xff0c;需要通过对图片的预加载。注&#xff1a;预加载前一定要将<img>加入<body> 1 /* 预加载图片 node-<img> func-回调函数 *…