使用 Node.js 实现图片的动态裁切

背景&概览

目前常见的图床服务都会有图片动态裁切的功能,主要的应用场景用以为各种终端和业务形态输出合适尺寸的图片。

一张动辄以 MB 为计量单位的原始大图,通常不会只设置一下显示尺寸就直接输出到终端中,因为体积太大加载体验会很差,除了影响加载速度还会增加终端设备的内存占用。所以要想在各种终端下都能保证图片质量的同时又确保输出合适的尺寸,那么此时就需要根据图片 URL 来对原始图片进行裁切,然后动态生成并输出一张新的图片。

阅读全文 »

浅谈摄影作品站的架构

背景

2011 年的时候拥有了人生第一部相机,喜欢上了摄影,坚持摄影拍片也有好几年了,积累了一些作品。

在 360 做图搜的时候萌生了要开发一个自己的摄影作品站的念头,开始动工是在 2015 年加入美团的时候,当时并不急着把网站做出来,光是在产品和技术设计上就花了不少时间,断断续续的开发直到 2018 年初网站才上线。

上线时整理这几年的摄影作品时才感觉能拿得出手的作品并不多,不过摄影作品以后会慢慢积累,毕竟摄影于我来说已经是不可或缺的兴趣爱好了。

概览

麻雀虽小,五脏俱全,虽是一个小的图片主题的网站,该有的后台服务都要有,像图床服务、评论等。除了看不到的后台服务,前端的交互体验也很重要,像是多端的适配等都需要仔细打磨体验。以下是摄影作品站的简单的架构图。

接下来我会展开来做简单的介绍。

阅读全文 »

2017 年度总结

0

2017 年已经过去了,一直不想写年终总结,主要是因为没心情,最近感冒折腾得我够呛,恢复后觉得还是应该写写,技术文章已经好久不写了,想想不能放任自己“懒下去”。

1

2017 年的工作,因为组织架构和业务的调整,业务方向变了两次,而且期间也发生了一些不愉快的事,有点无奈,但变来变去,团队还在,还是有些不离不弃的小伙伴。虽说能理解公司的安排,因为信任还在,但心里不爽总会有的,不过也让我想明白了一些事情。

大家都知道大公司的螺丝钉理论,但是就算身为螺丝钉也要有一颗螺丝钉的追求。所以我经历这些事情后,大概想明白了自己想要什么,想明白后才开始慨叹世事无常。一颗质量过硬又好使的螺丝钉放哪都能发挥出价值,这是一颗有坚强的螺丝钉该有的追求。在职场中努力让自我价值得到肯定,是我职场焦虑的主要源头。

2017 年结束我刚好 30 岁,工作也有7~8年了,却越来越有危机感了,从 2016 年底到 2017 年上半年带的几个还可以的新人都相继跳槽,有的急着定居,有的急着谋求安稳,有的急着谋求更丰厚的薪资。看到他们,我都会不自觉的回想我在他们这个工作阶段在做的事,想想当时还是比他们更能沉下心来学点东西,做点事。当然,那时的我起点更低,学东西也慢,或许现在的新人学东西更快。

时代变化越来越快了,到处都在谈论人工智能,就算互联网行业一如既往地往好里发展,不会出现什么泡沫,不会受经济危机的影响,也会担心人工智能很快就会取代低端的程序员,那么我的核心竞争力在哪?10 年后会怎样?这是我最近半年一直在思考的问题。

阅读全文 »

关于被冒充身份的声明

今天有网友及同事反馈,有人在使用我之前的头像、网名、Blog 地址冒充我在技术社区、微信技术群发言,而且看情况还比较活跃。有必要声明下,我并没有注册过掘金,也没有加过微信的技术讨论群。

我以前喜欢使用的头像来自电影《V字仇杀队》中的主角,冒充者就是用的这个头像。

因为熟悉的人说头像可能有点让人“感觉不适”,就换成了下面这个,喜欢的乐队 Amethystium 的专辑封面。

阅读全文 »

前端单页 Web 应用的数据管理

单页 Web 应用相较于传统的 Web 页面通常都具有较长的生命周期,页面(前端路由实现的“虚拟页面”)切换时的数据如何有效的保存或销毁,应用会不会内存泄漏亦或是内存会不会被无限制的使用而导致系统资源耗尽。基于这样的应用场景,数据的通信和传输、管理和存储对于前端单页 Web 应用来说越来越重要。而如何基于单页 Web 应用的 UI 渲染模式设计出与之契合的数据管理的架构模式,这是我一直在尝试和探索的方向。

基于 React 的单页 Web 应用,Flux 在目前仍然是较好的架构模式,但 Flux 更多的是侧重于数据的通信和传输,在这方面,我在之前的 Ballade: 重新诠释 Flux 架构 中有详细的介绍。

而本文主要介绍的是数据的管理和存储,并且在这方面是可以脱离于 Flux 的架构模式去独立探索和发展的。

阅读全文 »
第 1 页,共 18 页12345...10...最旧 »