前言

豆瓣内部有一些基础设施我认为做得都很好,比如 bridge 和 p. 一是身为用户的体验,一个是我以开发的角度会去想我能不能做的更好.

这些基础设施凝聚了豆瓣早期的工程师文化的精髓,至今还在影响着每个豆瓣的工程师.

今天我们聊到的是 p - 一个文件上传托管服务,一个被严重低估了的工具,它已经被清风老师拆分出来不需要跑在 dae 上. 而我今天推荐的就是我用 react+es6plus+webpack 重写的版本 r

为什么说我认为被低估呢?目前 star 也才五十几。当时开始用 p. 我对效果非常惊艳.

如果你很好奇是不是也会这么认为。可以先看个 heroku 的 demo . 因为连接了 heroku 的远程 cleardb (mysql 的封装), 上传反映略慢。而本地会很流畅。主要看效果吧.

r 的用途

身在互联网工作,会经常有这样的需求

  1. 希望上传后的文件 (包含图片) 可以被永久存放.
  2. 想在 github (CODE) 上,能方便的引用一些 bug 截图 (甚至在多个地方引用).
  3. 希望上传的文件 (包含图片), 能有一个比较好的预览页 (包含文件大小,文件类型,上传时间等), 下载地址,也能生成短链接,二维码
  4. 希望能对某上传的图片传一些参数做对应的缩放和剪切
  5. 身在互联网,页面太 low, 效果不炫,作为工程师,用起来是会有抵制心情的.

对. r (p) 就可以做这些事.

用到的其他技术

Flask, SQLAlchemy, Mako, Pillow