聊一聊前端图片懒加载背后的故事

相信大家已经注意到我博客有了一点变化,因为博主最近利用空闲时间对博客进行了优化。经过博主的不懈努力,首屏渲染时间从原来的 2.0 秒缩短到了 1.7 秒。虽然这个优化相当得感人,不过我还是在这个过程中有所收获。Stack 这个主题中大量使用了图片这种元素,特

Featured image of post 聊一聊前端图片懒加载背后的故事

杂感·七月寄望

桃花潭里没有桃花,正如老婆饼里没有老婆,只要你没有期待,就永远不会失落。不同的是,长安这座城市,难保不会教人想起,那桩发生在天宝年间的人类早期电信诈骗事件。相传,对李白仰慕已久的汪伦,深知李白好饮酒、喜游历,便诚恳地给李白写了一封信,称当地

Featured image of post 杂感·七月寄望

支持外部链接跳转的 Vue Router 扩展实现

众所周知,Vue Router 是 Vue 中重要的插件之一,特别是在当下流行的 单页面应用/SPA 中,这种感觉会越来越明显。此时,路由的作用就是根据 URL 来决定要显示什么内容。诚然,页面这个概念在工程/模块中依然存在,可当你开始关注最终发布的产物时,你会发现本质上它

Featured image of post 支持外部链接跳转的 Vue Router 扩展实现

视频是不能 P 的系列:OpenCV 和 Dlib 实现表情包

2020 年年底的时候,博主曾心血来潮地开启过一个系列:视频是不能 P 的,其灵感则是来源于互联网上的一个梗,即:视频不能 P 所以是真的。不过,在一个美颜盛行的时代,辨别真伪实在是一件奢侈的事情,在各种深度学习框架光环的加持下,在视频中实现“改头换面”已

Featured image of post 视频是不能 P 的系列:OpenCV 和 Dlib 实现表情包

不得不说的 ASP.NET Core 集成测试

一直打算写一篇关于 ASP.NET Core 集成测试 的文章,因为一旦说起单元测试这个话题,多多少少会牵动我内心深处的理想主义色彩,虽然如今已然是程序员职业生涯的第七年,可在我看来依然有太多东西在原地打转。这一路跌跌撞撞地走过来,在不同的公司里,见识到了形态各异的

Featured image of post 不得不说的 ASP.NET Core 集成测试

再议 DDD 视角下的 EFCore 与 领域事件

在上家公司工作的时候,我们有部分业务是采用事件/消息驱动的形式。虽然,当时博主还没能用上诸如 Kafka、RabbitMQ 这样的消息中间件,可数据库 + Quartz 这样一个堪称“简陋”的组合,完全不影响博主对事件/消息驱动这种思想的启蒙。后来,在实现数据

Featured image of post 再议 DDD 视角下的 EFCore 与 领域事件

Vue.js 前端项目容器化部署实践极简教程

大概一周前,在某个「微雨燕双飞」的下午,我正穿梭于熙熙攘攘的车流人海当中,而被雨水濯洗过的天空略显灰白,傍晚亮起的路灯恍惚中有种朝阳初升的错觉,内心更是涌现出一种「一蓑烟雨任平生」的豁达,我还没来得及给这场内心戏添油加醋,兴哥的电话突然打断

Featured image of post Vue.js 前端项目容器化部署实践极简教程

再见,人间四月天

昨天从外面回来的时候,夕阳的余晖已被街市上的灯火掩没,直到渐渐地远离了闹市,夜晚的氛围终于在微风中扑面而来。抬头看时,深蓝色的天空中零星点缀着三两颗星星,我来不及驻足,已被人流裹挟着向前走去。像往常一样,我转身走进菜场,人依然是那些人,不过

Featured image of post 再见,人间四月天

Python 图像风格化迁移助力画家梦想

很多年前,星爷在《食神》这部电影里大彻大悟,「只要用心,人人都是食神」。从那个时候起,这句话就隐隐约约带着返璞归真、回归本心的意思。如同电影里描绘的餐饮行业一样,在资本市场的裹挟下,造神这项运动显得轻而易举,这个食神可以是史蒂·周,可以是唐

Featured image of post Python 图像风格化迁移助力画家梦想

在 Vue.js 中使用 Mock.js 实现接口模拟

最近这段时间,我一直在参与一个前端项目。每当我从庸碌的生活中赢得片刻喘息的时候,我不由得感慨,在程序员朴实无华且枯燥的职业生涯里,写自己喜欢的代码的机会少之又少,写别人喜欢的代码的机会俯拾皆是,更多的时候像是“为他人作嫁衣裳”。古人云,“遍

Featured image of post 在 Vue.js 中使用 Mock.js 实现接口模拟

利用 ASP.NET Core 中的标头传播实现分布式链路跟踪

在此之前,我曾写过一篇博客,《Envoy 集成 Jaeger 实现分布式链路跟踪》,主要分享了 ASP.NET Core 应用如何结合 Envoy 和 Jeager 来实现分布式链路跟踪,其核心思想是:生成一个全局唯一的 x-request-id ,并在不同的微服务或者子系统中传播该信息。进而,可以使得相关的信息像一条线上的珠子一

Featured image of post 利用 ASP.NET Core 中的标头传播实现分布式链路跟踪

读《一个叫欧维的男人决定去死》

最近读了一本书,来自瑞典作家弗雷德里克·巴克曼的处女作,《一个叫欧维的男人决定去死》,该书于 2015 年被改编成同名电影,主要讲述了一个孤独老者生命中最后三周的故事,它的情节是如此的简单和质朴:一个一心赴死的、固执老人,不断尝试使用各种方法“杀”死

Featured image of post 读《一个叫欧维的男人决定去死》

利用 gRPC 实现文件的上传与下载

几天前,某人同我抱怨,说是某接口无法正常工作,坦白地讲,这只是程序员生命里再枯燥不过的日常,因为无论“好”或者“不好”,他们都要努力回应来自灵魂深处的那声“为什么”。所以,善待程序员的方式之一,就是不要总问他“为什么”,因为他已经听了太多的

Featured image of post 利用 gRPC 实现文件的上传与下载

七种武器:延迟队列的原理和实现总结

“这是最好的时代,这是最坏的时代”,英国作家查尔斯·狄更斯在两百多年前写下的这句话,如果从辩证的角度来看,它或许可以适用于任何一个时代。我们生活在一个怎样的时代呢?我想,或许是一个矛盾的时代。因为,有时它让你对未来有无限的期待,有时它又会让

Featured image of post 七种武器:延迟队列的原理和实现总结

gRPC 流式传输极简入门指南

最近一直在研究 gRPC 的 ServerReflection,顾名思义,这是 gRPC 里提供的反射接口,当你需要获取某个接口的描述信息,或者是希望动态调用 gRPC 的时候,这一切就会变得非常有用,如果你经常使用 gRPC UI 这款工具来调试 gRPC 接口,那么,你一定会注意到一件事情,

Featured image of post gRPC 流式传输极简入门指南
Built with Hugo
Theme Stack designed by Jimmy