惬意的一段旅行工作,花了点时间读了点闲书,其中就有这一本《高效能人士的七个习惯》。对于这七个习惯个人有自己的一点反思与想法。

Mark的同时,鼓励自己不断改进调整。

积极主动

我想自己至少在学习方面还算是主动,回忆最近的一年比较觉得有所收获的是

  1. 阅读,尤其是英文阅读的提升,其结果就是英文阅读上越来越小。
  2. 沟通,咨询,性格使然,我应该不属于闭塞的人,所以很多时候喜欢去聊,去交流,去提问,去分享。
阅读全文 »

最近工作内容有一部分是在与SQL打交道,还是遇到了点坑,这里mark下。

背景

当前系统,面对数十万的数据表进行复杂update操作会出现问题,最终采用一条条的更新方式解决

程序源码

办法见源码

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<template>
<div>{{a.b}}</div>
</template>
<script>
export default {
data(){
return {
a:{}
}
},
created(){
this.a.b= 1
},
mounted(){
this.a.b=2
}
}
</script>

分析

  • vue会在初始化实例时对property执行setter/getter转化,所以property必须在data对象上才能转化为响应式的。so,a.b是非响应式的,视图不会刷新
  • Vue组件生命周期,created早于mouted,所以视图显示会是1
  • 这道题涵盖两个知识点,Vue的响应式原理+created与mounted生命周期区别

例子测试链接戳这里

总结

阅读全文 »

如下为一道前端试题,要求是修改代码不造成死循环

1
2
3
while (1) {
console.log(Math.random());
}

分析

首先要知道

  • JS是单线程
  • JS不存在真正意义的并行,但存在并发
阅读全文 »

学会看Git log也是一个必备的技能,之前对于Commit中父子关系有所疑惑,这里梳理总结下

如果不存在MR,实际上单个branch下commit是一条线,而因为有了MR,整个commit图谱就会是个树结构。

总结

  • 针对一次commit,它创建时基于的commit也就是上次的commit就会是它的parent commit

  • 针对一次commit,如果是基于它创建的commit,就会是它的child commit

  • 每个commit的parent commit,child commit都不一定唯一

    如下,该merge提交会有两个parent

阅读全文 »
0%