• blog又搬家了
    blog又搬家了无评论

    这次又放弃了wordpress,因为wordpress的二次开发实在是挺难受的……一直想给编辑器加一个粘贴上传的功能,还有其他一些速度上的优化,或者玩玩service worker,但是尤其是service worker,想了想还不如干脆重写一个,正好还能得到一个前端试验场地,于是就有了

    https://github.com/bangbang93/freyja

    这个项目的第一个实例就是现在跑着的这个博客,特色有
    – 前端Vue+SSR,利用SSR解决SEO的问题,
    – 文章页的评论是ajax获取的,并不走ssr,提升速度
    – 支持一键导入wordpress的文章、评论、附件、分类以及标签[……]

    Read more

    Read more
  • ucloud 的 ufile js sdk 真菜……
    ucloud 的 ufile js sdk 真菜……无评论

    因为有上传大文件的需求,所以准备使用ufile做存储,可以有效利用服务器内网带宽

    于是开始看起ufile的sdk和文档,结果发现

    稍微再往下翻翻

    你用utf8读二进制文件……能不丢字节才有鬼哦

    tab和空格混写又是几个意思

    最终一怒之下放弃了nodejs的sdk,自己实现的签名算法,结果看前端的jssdk的时候

    初始化分片的xhr请求有个ajax.send(file),直接把文件发上去了,那我还分片个P啊……
    还好这里只是写的人脑残,把file拿掉就行

    然后发现最终合并分片的请求会403,报invalid signature,而且不是所有文件都会出现

    后来发现,一部[……]

    Read more

    Read more
  • what is npx
    what is npx无评论

    刚刚升级npm的时候才注意到现在npm安装的时候会带一个npx

    npx

    去npmjs上看了一下https://www.npmjs.com/package/npx,让我想起来以前一个叫做npm-run的package

    这个小工具可以让你替代以前的

    或者

    现在可以直接用

    并且如果本地没有安装的话,回去PATH里找,如果还是没有的话,会先执行npm install

    Read more
  • webpack忽略服务端垫片,优化webpack bundle体积
    webpack忽略服务端垫片,优化webpack bundle体积无评论

    最近打算把wp换掉,所以新开了个项目https://github.com/bangbang93/freyja

    Vue的SSR,但是在大体依赖完工之后,发现打包完成的bundle文件有2.3M……这个太可怕了,服务器带宽只有5M,意味着最好情况下也需要4秒多的时间才能够把bundle文件下载下来

    http://alexkuz.github.io/webpack-chart/分析了一下,可以看到最大的是node_modules里的内容,具体进去看的话

    很多都是markdown-it的插件依赖,但是还看到了一个iconv-lite,很好奇它是从哪来的,用npm ls看了一下

    发[……]

    Read more

    Read more
  • 精分的个推
    精分的个推无评论

    个推的restapi也太不清真了……返回明明是个json,请求带个accept: application/json就丢出406,不带倒是能用,但是丢出content-type: text/html (╯‵□′)╯︵┻━┻ ​

    Read more
  • nginx权限问题导致反代时报net::ERR_INCOMPLETE_CHUNKED_ENCODING
    nginx权限问题导致反代时报net::ERR_INCOMPLETE_CHUNKED_ENCODING无评论

    transmission可以启动一个http服务器,默认监听9091端口,就可以利用服务器的带宽下片,而且有公网优势,不存在内网还需要UPnP才能正常使用bt的p2p,于是在服务器上的nginx给个域名起个反代,最初用的还正常,但是最近突然发现页面加载不出来了……查看F12,只有jquery-ui.min.js会报net::ERR_INCOMPLETE_CHUNKED_ENCODING,而其他文件都正常加载。

    ERR_INCOMPLETE_CHUNKED_ENCODING的错误发生在用Transfer-Encoding:chunked方式发送内容时,发送了一半还没等到结束符就关闭了连接,Go[……]

    Read more

    Read more
  • weex初探
    weex初探无评论

    前言

    厂里需要快速出一个集成推送的app,功能方面先用webview凑合,但是厂里没有移动端开发,所以我就想到了ionic,React Native和Weex。
    ionic以前用过,几乎是纯webview实现,好处是可以和现有的网页上angular无缝对接,不过鉴于网页端本来就有点卡,所以这次想尝试混合开发。

    然后在RN和Weex之间犹豫了一阵,最终由于我更熟悉Vue,所以打算试一下Weex

    ios编译过不去

    第一个坑是iOS编译过不去,报fatal error: 'ATSDK/ATManager.h' file not found,这个网上已经有解决方案了,只要把platfor[......]

    Read more

    Read more
  • 又拍云bug导致post请求源站抛出500时会处理成504
    又拍云bug导致post请求源站抛出500时会处理成504无评论

    0x00 发现

    这次故障是在厂里生产环境发现的,表现为:
    1. 接口遇到错误时服务器抛出500错误,但是前端迟迟拿不到响应
    2. 前段pending很久之后拿到cdn返回的504错误

    0x01 分析

    最初是认为后端对500的响应处理有问题,但是这个问题仅在生产环境上可复现,测试环境和本地开发均能够正常的返回500。
    由于项目的历史原因,并没有完善的access log可以查看,所以先发布了一版带access log的版本观察,日志也显示线上环境能够正常返回500状态码,nginx日志也证实了这一点

    后来检查服务器日志的时候发现,一旦请求发生了500错误,请求都会被重复一次,而如果请[……]

    Read more

    Read more

Back to Top