东京行

浅草寺

春娟同学趁着五一假期,约我去日本走走,为了强迫自己办理签证,我先定好机票然后办理签证,签证过程中一波三折,终于赶在4月28日拿到签证,4月29日早上的机票,好险!

自己第一次出国,攻略我是一点都没有做,只是在网上偶尔看了看,当时都没有考虑在外面手机怎么通信,春娟买了个移动wifi,28日下午,我查了一下,是可以购买流量卡的,这个比移动wifi更加好用,马上淘宝查了一下北京的地区的商家,自己直接打个车去取流量卡,其实坐地铁更快 -_-!

阅读 “东京行” itemprop="discussionURL"发表评论

sourcemap 上传到sentry异常监控系统的配置记录

前端异常监控和性能监控基本是web开发的标配了,很多公司都开发自己的异常监控和页面性能监控系统,sentry是个不错的开源的性能监控平台,功能丰富,还能和gitlab ,钉钉等各个平台进行结合,将异常监控上报到gitlab或与钉钉机器人结合,这对于一般公司来说,够用了,这对于线上前端出现的异常能够实时的发现,修复。

基于sentry的基础配置就不多说了,本文的目的就是怎么将sourcemap上传到sentry服务中去,让技术人员在分析异常的时,更加方便。

将js的sourcemap文件上传到sentry 有如下三种方法,1.realases API, 2.sentry-cli 3, sentry-webpack-plugin 都可以达到我们的目的。

现在我们来通过第三种方式来实现sourcemaps文件上传到sentry服务中。我以vue-cli3的配置来一步步实现配置。阅读 “sourcemap 上传到sentry异常监控系统的配置记录”

itemprop="discussionURL"发表评论

10月的故宫

北平之秋就是人间的天堂,也许比天堂更繁荣一点呢!

有人说春住杭州,夏住青城,秋住北京,冬住昆明,秋天的北京也许是人家的天堂,没有雾霾的时候,天蓝的清澈,☁️如棉花糖一天躺在天上。

长安街上的汽车

一个人一路小跑,在一个大风的日子,又游了一遍故宫。阅读 “10月的故宫”

itemprop="discussionURL"发表评论

一致性hash算法在分布式缓存服务中的应用

示意图

上一篇文章,我利用redis缓存来减轻数据库的压力,但是我这仍然是个在同一台服务器,开了redis缓存服务。在现在那些高并发的下,并保证高可用性的环境下,基本会将redis服务部署在不同机器上,当并发过多的时候,单点的redis服务很难保证高可用性,假如机器宕机,那么怎么办?假如缓存数量上亿计,查询对应的缓存列表也会耗时,这样也会导致延迟。这个时候很容易想到我们设置多台缓存服务器,当一台缓存服务器宕机的时候,然后请求发到没有宕机的缓存服务器上,但是又碰到了一个问题,我们怎么将请求打在对应缓存服务器中,假如同一个请求过来一次,请求的还是上一次请求的缓存服务器。阅读 “一致性hash算法在分布式缓存服务中的应用”

itemprop="discussionURL"发表评论

alonehero.com站点优化记录

lighthouse测评

夜空中最亮的星的个人站点,虽然是一个,cpu为单核,运行内存为1G ,带宽为2Mb的个人wordpress站点,但是经过自己几天的优化,访问的响应速度大大提高,First Contentful Panit 比之前快了将近400ms,

当然跟那些并发上百亿的服务比是天壤之别,但是优化的点还是可以记录下的。

这边正的要感谢阿里云的快速发展,让任何人配置自己的站点更加容易。在这个优化过程中,用的阿里云产品有云服务器,CDN服务,证书服务,OSS存储服务,性能测试服务,快照服务。

阅读 “alonehero.com站点优化记录”

itemprop="discussionURL"发表评论

Puppeteer在21世纪绘本大赛测试初次体验

https://alonhero.oss-cn-qingdao.aliyuncs.com/wordpress/web/WX20181024-105911.png
我们是Puppeteer 幕后控制人

前端Web UI自动化测试,一直是个难点,需要针对不同的设备,但是大部分的WebUi测试,我们还是可以模拟的,之前有PhantomJS 用于前端UI无渲染测试,可以进行图像的对比,但是Puppeteer的横空出世直接宣告PhantomJS的的死刑。Puppeterr的具体信息,见官网

我们碰到的需求是,在21世纪大赛中的分享页面,如果某一个作品的在三分钟内点赞超过400次,那么给于点赞过于频繁的提示,虽然在测试环境测试通过,但是在线上回归测试的,怎么模拟这个现象。一种使用脚本调用点赞接口,但是这种情况,我们无法看到真实的界面,怎么截图看到提示,另一种就是我们利用Puppeteer来模拟的用户的操作,这种情况下,不需要自己调用接口。

阅读 “Puppeteer在21世纪绘本大赛测试初次体验”

itemprop="discussionURL"发表评论

canvas中getImageData(),toBlob(),toDataURL()跨域问题的解决

井冈山会师
井冈山会师

 

昨天在吃饭过程中,和同事聊到canvas跨域的的限制,我一开始以为canvas所有的API接口操作不同域的图片都会跨域,但是这是一个错误的想法,比如使用drawImage()方法将图片渲染在canvas中是没有跨域的限制的。

在了解跨域的时候,我们首先要搞清楚什么是浏览器的同源策略。阅读 “canvas中getImageData(),toBlob(),toDataURL()跨域问题的解决”

itemprop="discussionURL"发表评论

崀山一日游

国庆回家,买了大疆的mavic zoom 无人机,10月3日赶不上德进的婚礼,和堂姐,表姐一起商量,带着大宝,小宝,老七,和堂姐,表姐的家里的娃一起去崀山浪一天。在家里飞了几次无人机,决定用它在崀山大干一场。

大疆mavic 2 zoom
大疆mavic 2 zoom

当时一直纠结买zoom 还是pro ,现在想想其实zoom够用了,用它跟小宝拍了一张自拍照。阅读 “崀山一日游”

itemprop="discussionURL"发表评论