OpenGL ShaderUp - 快速 2D 矩形阴影 在各种 UI 设计中,这样的控件阴影算是十分常见了,Material Design 中尤其多。一般来说这种阴影的原理十分简单,就是将原图内容的 Alpha 通道取出来,然后用阴影色填充,然后根据阴影的扩散程度,进行高斯模糊,然后要有一定色差效果的话,再做一定量的偏移即可。
Kubernetes Kubernetes Stack - 自定义容器自动缩放 Kubernetes 本身拥有基于 CPU 与 Memory 的 HPA(Horizontal Pod Autoscaler) 功能,但是很多情况下 CPU 与 Memory 并不能完全表示一个业务服务的繁忙状态,所以很多时候使用 HTTP 请求数当作繁忙标准是一个更好的选择。
Kotlin Kotlin VS C# - 协程与异步 众所周知,无论是怎样的协程,最后都逃不出什么 Dispatcher,Worker,EventLoop 之类的东西。所以当遇见了异步操作的时候,最后总是将当前的线程的处理能力交还给调度器,以实现非阻塞式的调用,然后将任务完成的委托注册下来,以便异步任务完成时调用,实现同步化的异步调用。
Spring Spring Trick - 重载方法参数继承注解 在基于 Spring 的后端技术栈中,经常会将 Feign Client 与 Spring MVC 结合使用,Feign Client 负责维持 API 接口约定,Spring MVC 的 Controller 则负责实现 API。当一个 Controller 实现 Feign Client 接口时,方法上的注解可以不用再写,但是参数的注解则需要再写一遍,本文会介绍通过歪门邪道的方式,让 Spring 支持读取重载方法的参数继承的注解。
Kanro Kanro:Cluster - 利用多核 CPU Kanro:Cluster 是 Kanro 1.1.2 版本新加的内容,自带了 Cluster 模式,在配置中开启即可享受运行在集群模式下的 Kanro 应用。开启集群模式之后 Kanro 会利用上所有 CPU 的核心资源,为高并发提供支持。Kanro:Cluster 会自动的创建工作进程,同步各个进程的状态,不需要额外的特异性的更改。
Kanro Kanro:App - Quick start Kanro 是一个拓展性强的 Web 后端框架,适用于一个纯粹的小型 API 服务应用,也可以将其拓展为十分庞大的微服务网络。其核心设计理念就是为小型 API 服务应用转型到大型后端应用,提供一个尽可能平滑的演变过程。
typescript Re: TypeScript - Namespace? Module? TypeScript 是我最喜欢的脚本语言之一,静态类型的特性可以让 IDE 提供非常强大的 CodeLens 与 IntelliSense 功能,再加上 MS 出品的信仰加成,NodeJS 的方便快捷,简直是开发后端的不二之选。本文将会简单的介绍 TypeScript 中容易让人混淆的概念--命名空间(namespace)与模块(module)。
ghost Ghost 调教日志 - 解决图片超过文章宽度 Ghost 默认的 CSS 会导致图片超过文章的总图宽度,而且会带动图片上面一段文字和图片等宽,就像下面的图片中红框部分一样。看起来十分的难看,我自己看也觉得十分的难受。所本篇文章就来告诉大家到底如何解决这个问题,让 Ghost 看起来更加美观。
ghost Ghost 调教日志 - 解决中文摘要的截取问题 在新版的 Ghost 中首页中文文章的摘要总是会出现截取字数太多,和下面的图片一样。但是如果直接减少模板的 excerpt 的 words,对于英文文章又会出现字数过少。如果更改 words 到 characters,又会出现英文单词截词只会截一半,展现效果不够美观好看。研究一段时间之后,终于算是找到了比较好的解决方式。
life of coder 旧博客文章存档 作为 MSP 福利,为期一年的 MSDN 订阅到期了,所附带的 Azure 的每月的信用额度也没有了,所以之前跑在 Azure 上面的博客就挂掉了。但是看到推酷上面之前爬过我的文章,所以好歹还有一份存稿,所以这篇文章就把之前所有旧博客的文章做一个索引、备份。