杨 发布的文章
awk
总结了下常用的语法
正常打印
awk '{print $1}'
表达式
awk '$1 == 2 {print $1}'
表达式中包含字符 用双引号
awk '$1 == "s" {print $3}'
打印整行 $0
awk '{print $0}'
打印最后一列 NF 大写
awk '{print $NF}'
NF 字段数量 大写
awk '{print NF}' //打印字段数量
-F 指定分隔符
awk -F ":" '{print $1, $3}' #以“:”为分隔符分割列,然后打印第一列和第三列
-v 变量赋值
awk -v OFS="" #指定输出分隔符
租房易忽视的点
- 卧室离路由器的距离不要太远,5米就很弱了,太远网不稳,除非自带路由器。
- 不要和情侣合租,不要和情侣合租,不要和情侣合租
- 最好就3户,人越少越方便。
- 不要路边的,会发现安静许多。
- 注意门锁、门禁是否可用
- 洗手池大小
工作中设计模式之策略模式
策略模式就类似于c++中的多态,同一行为有不同的实现。
在业务上会有这个场景,比如获取列表,不同的数据源获取不同的列表。那么可能会有这个实现
$upstreamType = $params['upstream_type'];
$list = [];
switch ($upstreamType) {
case 1:
$list = $this->list1**(**);
break;
case 4:
$list = $this->list4**(**);
break;
default:
}
前端问题总结
- 图表组件对参数的限制,数据必须是数值类型,不能是字符串类型
- 样式问题,居中,左右布局等等
- react Onclick事件要用箭头函数,不然报错
- 生命周期 componentDidMount、 componentWillReceiveProps
- 组件间通信,父子、子父、兄弟,
- 请求后没有加载页面,再次请求加载了,是由于缺少componentDidMount方法,这个方法是在页面加载之后再执行,如有state变化则需放在这里。
- eslint 检验es6语法问题,比如字符串拼接,对象数组的赋值操作等等
- 柱状图的值过多,文本过长覆盖,可通过旋转文本解决
- 趋势折线图,横坐标是日期,纵坐标是数值,日期过大,显示不了。把日期进行划分,1天内正常按小时展示。1天到15天,用天展示,15到36天按周展示,再多则按月展示。
- 所实现的功能:任务维度、人员维度、时效对比的展示,任务维度整体进审、已审的时间趋势。针对各任务的处置力度的展示,一个层叠条状图展示了每个任务下每个处置力度的数值,不用的颜色区分,点击对应的条会生成一个饼状图,看处置力度占比情况,最后是一个汇总表格。还有一个模块是处置的理由,理由和力度差不多,只是条状图变为饼状图,原始的饼状图,是各自理由的占比,点击对应的块会展示这个理由所有的处置力度的占比,最后也是一个表格汇总。
- 人员维度,统计员工的审核情况与上班情况。第一块是审核情况,展现形式是一个带有排序的条状图,左边为审核量,右边为审核时效。纵坐标是员工。下面是一个统计员工上班情况的表格,包括的指标有上班时间、暂停次数、暂停时长、超时条数。暂停有个记录暂停时间的表,一条记录包括员工id、暂停开始时间、暂停结束时间。
- 时效对比。两块,第一是新系统与老系统审核时间的对比;2是每个任务新老系统的对比。老系统的数据同步到实时流的表中,审核状态标记为2,
punycode
punycode 是一种DNS字符集编码。是一种表示Unicode码和ASCII码的有限的字符集。
出现的场景是应对国际化域名。
特点&组成:26个英文字母和[0-9]10个数字、以及'-'组成。
所以如果使用中文域名,那么服务器应配置punycode编码后的域名。
例如本域名。
php垃圾回收(GC)
linux 统计
// 访问最多的ip前十个
cat 'file' | awk '{print $x}' | sort | uniq -c | sort -nr | head -n 10
uniq
输出去重后的内容
// 去重并显示重复次数
uniq -c
mysql 索引
索引 说白了,索引问题就是一个查找问题。。。
数据库索引 ,是数据库管理系统中 一个排序的数据结构 ,以协助快速查询、更新数据库表中数据。
索引的实现通常使用B树及其变种B+树 。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。
react 周期函数
react 周期
- constructor
- componentWillMount
- render
- componentDidMount
- componentWillReceiveProps
- ...
本篇文章重点讲 componentDidMount 和 componentWillReceiveProps
首先这两个方法都是在页面渲染之后执行的,一般用来做数据变化后的重新渲染。
区别是
componentDidMount 只执行一次,多用于当前组件,有数据变化后的渲染。
componentWillReceiveProps 初始化不会调用,没有次数限制,只要状态发生变化就会调用该函数,一般用于子组件。