.NET 进程内队列 Channel 的入门与应用

最近,博主为 FakeRPC 增加了 WebSocket 协议的支持。这意味着,我们可以借助其全双工通信的特性,在一个连接请求内发送多条数据。FakeRPC 目前最大的遗憾是,建立在 HTTP 协议上而不是 TCP/IP 协议上。因此,考虑 WebSocket 协议,更多的是为了验证 JSON-RPC 的可行性,以及为接下来的要支持的 TCP/IP 协

Featured image of post .NET 进程内队列 Channel 的入门与应用

使用 Fody 实现 .NET 的静态编织

在很长的一段时间里,我们的项目中一直使用 OnMethodBoundaryAspect 这个基类来记录每个方法的日志。诚然,FodyWeavers.xml 这个文件的存在,早已在冥冥之中暗示我,Fody 才是这座冰山下真正的墨西哥湾暖流。可惜,因为某种阴差阳错的巧合,譬如两者都使用了 OnMethodBoundaryAspect 这个

Featured image of post 使用 Fody 实现 .NET 的静态编织

.NET Core + ELK 搭建可视化日志分析平台(下)

最近,我收到一位读者朋友的私信,问我 ELK 为什么没有下篇,道德感极强的我不得不坦诚相告,显然这一篇鸽了。这就是说,鸽子不单单会出现在吴宇森的电影里,只要你试图拖延或者逃避,你一样有鸽子可以放飞。话说回来,新冠疫情已然持续了三年,而这篇文章其实是

Featured image of post .NET Core + ELK 搭建可视化日志分析平台(下)

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

相信大家已经注意到我博客有了一点变化,因为博主最近利用空闲时间对博客进行了优化。经过博主的不懈努力,首屏渲染时间从原来的 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 读《一个叫欧维的男人决定去死》
Built with Hugo v0.104.1
Theme Stack designed by Jimmy
已创作 242 篇文章,共计 914893 字