Google Guava 中本地缓存 LoadingCache 使用

Cache 在实际场景中有着非常广泛的使用,通常情况下如果遇到需要大量时间计算或者获取值的场景,就应当将值保存到缓存中。Cache 和 ConcurrentMap 类似,但又不尽相同。最大的不同是 ConcurrentMap 会永久的存储所有的元素值直到他们被显示的移除,但是 Cache 会为了保持内存使用合理,而配置自动将一些值移除。 通常情况下,Guava caching 适用于以下场景: 花费一些内存来换取速度 一些 key 会被不止一次被调用 缓存内容有限,不会超过内存空间的值,Guava caches 不会存储内容到文件或者到 Read more ...

2016-02-24 google , guava , cache , local-cache , java

使用 certbot 自动生成 SSL 证书并自动续期

Let’s Encrypt 是一个免费 SSL 证书发行项目,自动化发行证书,证书有 90 天的有效期。于是有了另外一个项目可以自动安装,自动续期。 直接上网站 https://certbot.eff.org/ 选择 WEB 服务器版本,系统版本,然后执行脚本即可。 执行完成之后执行 certbot run 跟着步骤就行了。 在 crontab -e 编辑文件 0 0 1 * * /usr/bin/certbot renew --force-renewal 定时每天检查,如果要过期则自动延期。 指定域名 使用 -d 来指定域名 Read more ...

2016-02-23 certbot , ssl , https

每天学习一个命令:tail 打印到标准输出

tail 命令从指定点开始将文件写到标准输出。使用 tail 命令的 -f 选项可以方便的查阅正在改变的日志文件,tail -f filename 会把 filename 里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。 默认情况下 tail 会打印文件最后 10 行。 命令格式 tail [OPTION] file 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。 命令参数: -f 循环读取,只要文件有修改会立即显示 -q 不显示处理信息 -v Read more ...

2016-02-10 linux , tail , tailf , command

Linux 启动项管理

Linux 启动项管理 Debian/Ubuntu/Linux Mint 系利用 update-rc.d 来管理 Linux 自启动服务。RedHat/Fedora/CentOS 下貌似有一个 chkconfig 来管理。 而我使用的 Linux Mint 自带的启动服务管理配置地址在 ~/.config/autostart 目录下。 Linux 中的服务通常利用 /etc/init.d/ 目录下的脚本进行启动,停止或者重新加载等操作。一般情况下如果安装完服务之后,该服务会自动启动。比如安装完 apache2 之后, apache 服务会在下次启 Read more ...

2016-02-09 linux , 学习笔记

Genymotion 安装

在Linux下安装 Genymotion Android 模拟器。最近拾起 Android Development,Android 模拟器必不可少,用来用去 Genymotion 模拟器算是速度和效率最棒的模拟器了。 事前准备 Genymotion 依赖 VirtualBox 运行,在安装之前确保已经安装 VirtualBox. 在Linux Mint下直接去 Software Manager 搜索 VirtualBox 然后点击安装即可。 Genymotion 安装需要一个 Genymotion 的个人账号,Genymotion 高级功能需要付费 Read more ...

2016-02-08 Android , AndroidDev , Genymotion

django web framework 学习笔记

这两天大概看了一下Python的web框架—-Django,顺带复习一下Python。从刚开始的一无所知,到现在对Django中MVC的一些了解,感觉收获颇丰,还顺带回想起来以前学习过程中的一些MVC的知识,虽然Django不是完全按照MVC的命名模式 Model,View,Controller,但是它依然遵循类似的开发模式,Django自己说自己是 MTV 模式, Model,Template,View。 在看 Django 之前也了解了一些 Python 的Web框架,在之前的写字应用中用 webpy 作了一个简单的接口,webpy 实现很简单,用 Read more ...

2016-01-31 Django , Python , 学习笔记 , Web

每天学习一个命令:less 分页查看

less 命令可以对文件或其它输出进行分页显示,应该说是 linux 正统查看文件内容的工具,功能强大。less 的用法比起 more 更有弹性。在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容。除此之外,在 less 里拥有更强大的搜索功能,不止可以向下搜,也可以向上搜。 命令格式 less [options] 文件 命令功能 less 与 more 类似,more 仅能向前移动,却不能向后移动 Read more ...

2016-01-28 less , linux , command

FFmpeg 项目中便携式媒体播放器 ffplay 使用

FFplay 是一个使用 FFmpeg 和 SDL 库制作的简易轻便的媒体播放器,他可以用来测试 FFmpeg APIs。 使用方式很简答 ffplay [options] input_file 简单使用 播放 demo.mp4 ,播放完成后自动退出 ffplay -autoexit demo.mp4 以特定大小播放 demo.mp4 ffplay -x 640 -y 480 demo.mp4 从指定时间开始播放 ffplay -ss 10 demo.mp4 指定播放时长 ffplay -t 10 demo.mp4 关闭 Read more ...

2016-01-20 ffmpeg , ffplay , sdl , media , linux

boost 学习笔记 11:总结

至此boost一本书基本看完,很多内容粗略的扫过,大概知道了boost的能力,书中最后的总结很好,不仅指出boost的作用,同时把boost 力所不能及的地方指明,并且给了相应的解决方案。如此当遇上相同的需求时就能够快速的找到对应的解决方案。 boost 的缺点:没有达到 Java 和 Python 标准库“包罗万象”的程度:没有 GUI 库,没有 RPC 库,没有 COM+ CORBA 支持…… RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需 Read more ...

2016-01-18 boost , C++

boost 学习笔记 10:设计模式

设计模式是一个面向对象的通用解决方案,是一套被反复使用,多数人知晓的代码设计经验总结。 一般分为:创建型模式、机构型模式和行为模式 创建型模型 抽象工厂 Abstract Factory 提供统一的创建接口。 生成器 Builder 将复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 工厂方法 定义接口用于创建对象。 原型 Prototype 原型模式使用类的实例通过拷贝的方式创建对象,具体的拷贝行为可以定制。最常见的用法为类实现一个 clone() 成员函数,这个函数创建一个与原型相同或者相似的新对象。 单件 Singl Read more ...

2016-01-18 boost , C++

最近文章

  • Meta Muse 使用教程:上手设置、提示词技巧与实用案例 上一篇 Meta Muse 介绍与注册指南:一个会替你跑腿的个人 AI Agent 把 [[Muse]] 是什么、怎么注册、额度怎么算都整理了一遍,但是留了一个结尾:注册完之后到底该让它干什么。Muse 上线这几周,我查阅了一些测评体验,整理了 X 和 Threads 上用户晒出来的用法,发现大家的使用路径其实很像:从提醒和文件这类零风险的任务开始,确认它靠谱之后再慢慢接入邮箱、日历,最后才让它碰钱。这篇就按这个顺序来整理,从界面和设置讲起,再到具体的案例和踩过的坑。
  • Meta Muse 介绍与注册指南:一个会替你跑腿的个人 AI Agent 2026 年 9 月 8 日,[[Meta]] 发布了个人 AI Agent [[Muse]],宣传语只有一句:「它去做,而不是告诉你怎么做」。用 [[ChatGPT]] 或 [[Claude]] 时,我们得到的往往是一份说明书,真正动手的部分,打开网页、填表单、下单付款,还得自己来。Muse 想把这一段也接过去:你交给它的不是一个问题,而是一件事,它会自己打开浏览器一步步做完,需要你拍板时再回来问你。这是 Meta 迄今为止在消费级 AI 上下的最大一笔注,两周后的 Connect 2026 大会几乎整场都围绕它展开。
  • Jev:不聊天只做判断的 System One 决策模型 过去一两年,大模型的发展方向几乎都是更长的思考链、更大的上下文、更强的 Agent 能力。但在日常写代码和搭建自动化流程的过程中,我发现很多地方用到大模型,其实只是为了让它做一个简单的判断,却要付出几秒钟的等待和解析 JSON 的麻烦。TypeSafe AI 发布的 Jev 走了一条相反的路:不聊天、不写代码,只做快速的判断。
  • Executor:多 Agents 和外部世界之间的统一代理层 同时使用 Claude Code,Codex,Pi,OpenClaw 等等 Agent 工具时有一个非常尴尬的状况,就是不同的 Agent 工具维护了不同的配置格式,如果要配置 MCP server 就需要分别到不同的配置文件中定义,相同的配置散落在系统的各个角落中。同一份 API Key 也需要重复粘贴到不同的配置中,更麻烦的是如果一旦有更新或者 API Key 变动就需要重复修改多个地方,我之前还调查过如何[[跨平台管理 MCP]],主要的思路还是通过脚本和同步来对齐配置,但本质上还是在管理多个副本,直到我看到了 Executor 这个项目。
  • Stremio 免费开源的流媒体聚合中心,插件生态与使用体验 前段时间写过一篇 Plex 将终身会员涨价到 749.99 美元 的文章,当时就在思考一个问题:当自建媒体库的门槛(无论是硬件、资源还是订阅费)越来越高的时候,还有没有更轻量的方式来管理自己的观影需求。后来在折腾 [[Trakt]] 的时候,反复在各种播放器的集成列表里看到 Stremio 这个名字,于是花了一些时间把它装到了桌面和电视上认真体验了一番。这篇文章就来聊聊 [[Stremio]] 这款免费开源的流媒体聚合应用,它的设计思路和 [[Plex]]、[[Jellyfin]] 这类传统媒体服务器完全不同,某种程度上说它更像是「浏览器」而不是「硬盘」。