使用 ThreadLocal 存储用户信息

由于目前的 web 应用,几乎都是线程多路复用,同一时间的用户请求都在独立的线程中。所以可以把用户信息存储在 ThreadLocal 中,减少引用对象的传递。

实现 UserContext

public class UserContext {

    private static final ThreadLocal<User> local = new ThreadLocal<User>();

    public static void set(User user){
        local.set(user);
    }

    public static User get(){
        return local.get();
    }

    public static void remove(){
        local.remove();
    }
}

开源低代码引擎 Yao 体验

从生成式 ai 出来之后,低代码的热潮又被带动了一波。低代码可以实现少写代码,或者不写代码的方式来搭建一个稳定可用的系统。对于企业而言减少开发成本。

但是对于我自己来说,不怕难,但怕烦。公司内部业务系统较多,如果都要自己实现 也未免太麻烦了一点,人生苦短。应该把时间放在更有意义的事情上。

最近公司内部需要一个业务平台,来记录和统计一些数据,刚好借着这个机会,去了解一下。

Krpano 全景播放初探

Krpano 是一套全景解决方案 支持视频以及图片 也是商业化项目使用最多的全景播放器 不过它并不免费 其特点是在支持 HTML5 模式中 采用 WebGL 以及 CSS3D 实现 在不支持 HTML5 标准的浏览器中 可以使用 Flash 实现,而对于我们来说不需要关心 HTML5 和 Flash 的实现,成本就是需要学习 Krpano 的 DSL 语法 。

Krpano 的 DSL 语法类似 XML,它有完整的生态(插件机制)以及 Demo,也可以使用原生 JS 调用 Krpano 的 SDK 所以上手并不是特别困难 在这里我主要说下 Krpano 插件的解密、添加对于腾讯 X5 内核的支持以及各个浏览器的支持情况。

github.la 域名购买记

为什么我会入手一款非主流域名?完全是因为最近的微信小程序 (Lite App) 的概念,在腾讯云购买服务器的时候看见他们家正在安利 .la 域名

去网上查了查 .la 域名没有投资的价值 不过作为网站域名还是挺好玩的 (啦的拼音嘛)