Justin's Words


  • Home

  • About

  • Archives
Justin's Words

容量评估

Posted on 2019-03-12 | In Data |

原来的容量评估

各个团队给出的评估方案包括:

  1. 根据我们以往所能承受的最高峰值来评估。据我所知,我们业务最近承受过的最高峰值是在王者荣耀决赛的时候,那就拿那个时候的数据来评估,那个时候我们用了多少台机,世界杯期间就先部署多少台机,不够再加。这个方法就是简单粗暴,直接堆机器。
  2. 接口压测。直接对我们的接口进行压测,把机器压到爆,那么快把机器压到爆那个QPS,就是我们机器所能承受的最大QPS。但其实这种场景还是不够真实反映线上数据,因为压测往往只是压测几个接口,但是我们所有接口可没那么少,仅仅靠压测来评估还是欠缺准确性。
Read more »
Justin's Words

前端发布系统设计

Posted on 2019-03-11 | In Front-End |

这里主要针对移动端js bundle的发布,前端发布也可以沿用。

时序图:

时序图

Read more »
Justin's Words

前端旁路系统

Posted on 2018-07-15 | In Front-End |

为什么要有旁路系统

痛点

  • 活动越来越多,每次活动都要给页面加各种弹窗各种浮层各种提示,没有一个地方统一管理
  • 每次要加一些无关主流程的代码都要去修改主流程的代码,代码侵入性和代码耦合性太强
  • 每次修改完成旁路逻辑后都要统一发一次代码,非常担心会拖累主逻辑
Read more »
Justin's Words

用户行为系统

Posted on 2018-07-15 | In Front-End |

什么是用户行为系统

用户行为系统应该是一个可以追溯用户操作路径、提供用户操作分析和解决用户投诉的系统。它可以帮我们回溯用户从进来页面后,他的每一步操作,点击了页面哪个位置,做了何种行为,比如抽奖、付款、充值等。

Read more »
Justin's Words

Service workers

Posted on 2017-08-13 | In Front-End |

常用 web 静态资源的缓存

  • 代理服务器缓存
  • CDN 缓存
  • 浏览器端缓存

浏览器缓存

  • Cache-Control: max-age=3600(s) | no-cache | no-store
  • Pragma: no-cache | Pragma
  • Expires: Fri, 11 Aug 2017, 17:00:00 GMT
  • Last-Modified: Fri, 11 Aug 2017, 17:00:00 GMT
  • If-Modified-Since: Fri, 11 Aug 2017, 17:00:00 GMT
  • Etag: “v2.6”
  • If-None-Match: “v2.6”

no-cache 是允许缓存的,但是使用缓存之前必须和服务器进行新鲜度对比,no-store 才是禁止缓存。

Read more »
Justin's Words

正则匹配 XML 里面的属性

Posted on 2016-03-07 | In Front-End |

我遇到了这么一段字符串:

1
<p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">vip范围</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">上架起始时间</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">上架道具ID</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">下架时间</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">充值时间</p>

现在需要做的是把 tag 里面的 style 属性全部去掉变成这样 <p>...</p>。

这里可以用的正则是 /\sstyle="[^"]*"/ig。

1
2
3
let str = `<p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">vip范围</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">上架起始时间</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">上架道具ID</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">下架时间</p><p style="font-size: 12px; line-height: 12px; font-family: PingHei, Myriad Set Pro, Hiragino Sans GB, Microsoft Yahei, STHeiti, Helvetica, Arial, Verdana, sans-serif;">充值时间</p>`;
let reg = /\sstyle="[^"]*"/ig;
str.replace(reg, ''); // "<p>vip范围</p><p>上架起始时间</p><p>上架道具ID</p><p>下架时间</p><p>充值时间</p>"
Justin's Words

杀掉占用某个端口的进程

Posted on 2016-01-16 | In Linux |

操作如下:

1
2
3
netstat -lntu
lsof -i:[PORT]
kill [PID]

参考:

  • Get a list of Open Ports in Linux
  • How to kill a process running on particular port in Linux?
Justin's Words

在服务器间迁移 wordpress

Posted on 2015-10-26 | In PHP |

我尝试把博客从 SAE 迁到阿里云,过程有些小磕碰,不过还是成功了,记录下。

迁移数据库

SAE 数据库是 MySQL,由于我数据过于庞大,不能通过 phpMyAdmin 导出,所以我使用了 SAE 的 DeferredJob 功能进行数据库导出。

Read more »

Justin's Words

我遇到的前端面试问题

Posted on 2015-10-23 | In Front-End |

清除浮动

clear
1
2
3
4
/* 放在浮动元素之后清除浮动 */
.clear {
clear: both;
}
Read more »
Justin's Words

JavaScript 二叉树

Posted on 2015-10-22 | In Algorithm |

像我这种野生程序员连各大公司校招笔试都过不了,主要是数据结构和算法薄弱,今天小米出了道二叉树,考二叉树的分层遍历,我当然是不会做,然后就没有然后了。

节点定义

二叉树节点定义:

1
2
3
4
5
function Node(data, left, right) {
this.data = data;
this.left = left;
this.right = right;
}
Read more »
12…11
Justin Young

Justin Young

You Deserve A Better Life

107 posts
15 categories
54 tags
RSS
Github Twitter
© 2014 - 2019 Justin Young
Powered by Hexo
Theme - NexT.Mist