1.mac 安装redis【mac】
(1)下载安装包,解压,make,test, install
(2)重开一个终端,redis-server,作为服务端
(3)再开一个终端作为客户端,redis-cli
描述:由于系统的redis总是挂,所以在大神的指导下自己装个redis,网上找教程看懂了大部分,但是很容易陷入误区。其实安装就好了,简单使用没问题,复杂配置我也不会。初始化可以不用设置密码也是可以使用的。
2.computed vs methods【vue】
可以使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。
可以说使用 computed 性能会更好,但是如果你不希望缓存,你可以使用 methods 属性。(网上看来的)
3.Navicat 查询结果无法修改【mysql】
我在使用Navicat的时候喜欢直接修改值,然后提交,有一次碰到了查询以后却无法修改,显示只读,原因是查询的时候没有带主键,通常是ID,所以使用MySQL客户端查询一般要带主键。
4.算日期间隔天数【脑洞】
来自女朋友的特殊需求,瞎写一波。
public static void main(String[] args) {
String[] dates1 = {"2018-01-09","2017-11-07","2017-12-13","2017-12-15","2018-01-26",
"2017-12-07","2017-11-25","2017-11-07","2017-12-20","2017-10-09",
"2017-12-29","2017-12-19","2017-12-08","2017-12-06","2018-03-07",
"2017-11-10","2017-12-01","2017-12-06","2017-12-14","2017-12-01",
"2017-12-18","2017-12-26","2017-12-18"};
String[] dates2 = {"2018-02-01","2017-12-29","2017-12-29","2017-12-29","2018-03-15",
"2018-01-26","2018-01-18","2018-01-12","2018-01-22","2018-02-05",
"2018-03-05","2018-03-05","2018-03-05","2018-03-09","2018-03-09",
"2018-01-02","2018-01-03","2018-01-03","2018-02-05","2018-02-05",
"2018-01-26","2018-01-26","2018-01-26"};
List
try {
for (int i = 0; i < dates1.length; i++) {
Date date1 = DateUtil.strToDate(dates1[i]);
Date date2 = DateUtil.strToDate(dates2[i]);
Integer r = (int) ((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000));
result.add((int) ((date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000)));
System.out.println(r);
}
}catch (Exception e){
}
}
5.组件通信【vue】
(1)父子组件通信
在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。
(2)组件之间通信
(1)创建一个事件总线,例如demo中的eventBus,用它作为通信桥梁
(2)在需要传值的组件中用bus.$emit触发一个自定义事件,并传递参数
(3)在需要接收数据的组件中用bus.$on监听自定义事件,并在回调函数中处理传递过来的参数
用一个Vue实例来作为中央事件总线来管理组件通信的方法只适用于通信需求简单一点的项目,对于更复杂的情况,Vue也有提供更复杂的状态管理模式Vuex来进行处理(百度来的,实际理解需要结合项目)