事情是这样的,前段时间做代码review的时候,发现项目中有一个方法代码量超鸡儿多,而且大部分都是写的参数校验的代码,得,我们先抓着缕一缕需求先. 产品需求 找到产品要到了需求文档,需求是这样得: excel数据模板下载 excel数据导入 导入得时候根据模板得校验规则来进行筛选,导入成功得返回成功列表,数据有问题得返回失败列表,失败列表支持数据编辑修正 好吧.看到需求第一眼可能就是第三列有点难度,我们知道,传统得数据校验是在DTO上面加注解 如下: //第一种 public Result te…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery.text-effects&l…
原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/kandian 先验货 访问DEMO你也可以点击这里 源代码可以点击这里 如你体验所见,流程的滚动的同时还能支持头部的动画?不断地加载新数据还能做到流畅的滑动!怎么做得的?使用AlloyTouch CSS 0.2.0及以上版本便可! 头部动画 加载更多 实现代码 var infoList = document.getElementById("infoList"), mockHTML =…
原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/kandian 先验货 访问DEMO你也可以点击这里 源代码可以点击这里 如你体验所见,流程的滚动的同时还能支持头部的动画?不断地加载新数据还能做到流畅的滑动!怎么做得的?使用AlloyTouch CSS 0.2.0及以上版本便可! 头部动画 加载更多 实现代码 var infoList = document.getElementById("infoList"), mockHTML =…
先贴上最终代码感受一下: #include <bits/stdc++.h> using namespace std; int i, N, M, wi[21], res = 0; int main() { cin >> N >> M; for(i = 1; i <= N; i++)cin >> wi[i]; int S = (1 << (N - M)) - 1; //(1) while (S < 1 << N) //(2)…
MVC开发中,经常会遇到在razor中插入简单的逻辑判断. @if (clientManager.IsAdmin) { if (!Model.Topic.Top) { <a asp-action="Top" asp-controller="Topic" asp-route-id="@Model.Topic.ID" class="btn btn-default btn-xs" title="置顶">…
说的有点夸装,实际上并不只是巴航代码,加上前面的变量声明之类的一共有40多行的样子吧,好像是在知乎上看到的,现在有时间再把它写下来: 其中用到了一些c++11特性,例如lambda 以及给予范围的 for循环. 其他的没什么好说的,看代码,上面也有注释的. #include <iostream> #include <algorithm> #include <vector> #include <set> using namespace std; void ei…
tableView空数据问题 一般项目中tableView若数据为空时会有一个提示示意图 为了更好的管理这种提示示意图,笔者利用extension进行了简单的拓展 解决思路 利用swift面向协议的特点,使用协议来进行设置. 设计空视图协议 tableView设置空视图代理 每次重绘tableView时判断添加或移除空数据提示图 具体实现 空视图协议,遵守协议必须实现showEmtpy属性 private let EmptyViewTag = 12345; protocol EmptyViewP…
转自:https://studygolang.com/articles/12483 什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论.本文使用golang的bufio.Scanner来实现自定义协议解包. 协议数据包定义 本文模拟一个日志服务器,该服务器接收客户端传到的数据包并显示出来 type Package struct { Version []byte // 协议版本,暂定V1 Length int16 // 数据部分长度 Timestamp int64 // 时间戳 Host…
js 页面 Page({ data: { realScrollTop: 0,//页面滚动距离 driveHeight //屏幕高度可初始化设置 }, scroll(e){ if(e.detail.scrollTop > this.data.realScrollTop){ this.setData({ realScrollTop: e.detail.scrollTop }); } } }); wxmal页面 <scroll-view scroll-y="true" scrol…