程序员视角下的三体世界随想

新年的第一篇博客迟迟没有落笔,我想,大抵是因为过去一年并没有一个“圆满”的结局,而这一切就好像,你总是要写完一个句号,方能心安理得地另起一行。我猛然意识到,这场疫情无形中放大了故乡在时间和空间上的距离感。因此,面对阔别久矣的故乡,我甚至选择

Featured image of post 程序员视角下的三体世界随想

关于 Docker 容器配置信息的渐进式思考

作为一名软件工程师,不,或许应该叫做 YAML 工程师、Markdown 工程师、Dockerfile 工程师……等等,这绝非自谦,更多的是一种自嘲。毕竟,从入行的那一天开始,追求配置上的动态灵活,就如同思想一般刻进每个程序员的 DNA 里。可当你意识到,在这个

Featured image of post 关于 Docker 容器配置信息的渐进式思考

在 Docker 容器内集成 Crontab 定时任务

有时候,我们需要在容器内执行某种定时任务。譬如,Kerberos 客户端从 KDC 中获取到的 TGT 默认有效期为 10 个小时,一旦这个票据失效,我们将无法使用单点登录功能。此时,我们就需要一个定时任务来定时刷新票据。此前,博主为大家介绍过 Quartz 和 Hangfire 这样的定时任务

Featured image of post 在 Docker 容器内集成 Crontab 定时任务

为你的服务器集成 LDAP 认证

回顾我这些年的工作经历,面向企业(2B)和面向用户(2C)的项目都曾接触过。我个人觉得,面向企业的项目更注重业务,参与决策的人数多、周期长,目的是为企业提供生产经营价值,如缩减成本、提升效率等等,而面向用户的项目更注重体验,参与决策的人数少

Featured image of post 为你的服务器集成 LDAP 认证

似花还似非花

周末独自前往大唐芙蓉园,心中盘桓已久的想法,于此时此地显得不合时宜,因为无论是指渐渐转凉的天气,还是指此消彼长的疫情,都俨然有一点沉默和突兀。更不必说,冬天的雾霾会让整个城市呼吸困难,蓝色的口罩像一张巨网,将相关或者不相关的人们笼络于其中。

Featured image of post 似花还似非花

视频是不能 P 的系列:使用 Dlib 实现人脸识别

本文是 #视频是不能 P 的系列# 的第三篇。此前,我们已经可以通过 OpenCV 或者 Dlib 实现对人脸的检测,并在此基础上实现了某种相对有趣的应用。譬如,利用人脸特征点提取面部轮廓并生成表情包、将图片中的人脸批量替换为精神污染神烦狗 等等。当然,在真实的应用场景中,

Featured image of post 视频是不能 P 的系列:使用 Dlib 实现人脸识别

浅议分布式链路追踪与日志的整合

最近拜读了 Artech 大佬的新文章 《几个Caller-特性的妙用》,可以说是受益匪浅。不过,对我而言,最大的收获当属这篇文章里的第二主角,即 ActivitySource 和 Activity,这组 API 可以认为是微软针对 OpenTelemetry 规范的一种实现,即:每一个 Activity 都对应着一个 Span 。在以前的博客 《En

Featured image of post 浅议分布式链路追踪与日志的整合

关于 Git 大文件上传这件小事

很多年后,当我在命令行中熟练地操作 Git 的时候,我总会不由地想起从前意气风发的自己。毕竟不知不觉间,三十岁的年龄已然被更年轻的人们嫌弃“苍老”,除却生理上不可逆转的自然衰老,更多的或许是一种心态上的衰老。以前,我是非常鄙夷在 Git 仓库里提交 Word 或者 Excel

Featured image of post 关于 Git 大文件上传这件小事

.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 实现表情包
Built with Hugo v0.110.0
Theme Stack designed by Jimmy
已创作 265 篇文章,共计 1000946 字