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++

最近文章

  • Claw Cloud Run 提供永久免费的服务器 Claw Cloud Run 是 Claw Cloud 旗下的,类似 Vercel,Netlify 的在线开发和部署平台,可以部署非常多 SaaS 程序,包括 [[AList]],[[Appsmith]],[[Bytebase]],[[ChatGPT-Next-Web]], frp,[[Dify]] 等等非常多的服务。
  • Lenny's Newsletter 重磅福利:200 美元订阅换取 15000 美元 AI 工具包 昨天,科技圈被一则消息刷屏:Lenny’s Newsletter 推出了一项令人难以置信的优惠 - 只需支付 200 美元的年度订阅费,用户就能获得包括 Cursor Pro、V0、Bolt、Lovable、Notion Pro、Superhuman 和 Perplexity Pro 在内的多款顶级 AI 工具,总价值接近 15000 美元。这一举措迅速在互联网圈引发热议,许多人惊叹于这个”不可思议的交易”。
  • Google Agent2Agent 协议 现如今,AI Agent 已经能够自主处理非常多重复和复杂的任务,并且越来越多的企业也正在构建和部署 AI Agent。就在刚刚过去的 Google Cloud Next 2025 大会上 Google 宣布了全新的 Agent2Agent (A2A)协议。这是一个开放的 AI Agent 协议,目的是为了建立 AI Agent 框架之间的联系,实现安全高效的协作。
  • HostHatch 私有网络配置记录 我一直有使用 HostHatch 的 VPS,这也是我人生中购买的第一台新加坡的服务器,HostHatch 的服务一直比较稳定,可惜的是到国内的网络不太行,延迟比较高。但好在 2 核 8G 内存,40 G 存储,两年只要 68 美元,所以也就又续费了。
  • Cursor Rules 为 AI 设限 我自己使用 Cursor 已经有一段时间了,Cursor 提供了非常好用的代码补全,以及代码生成功能,但是在使用的过程中难免也发现了一些问题,最近看到 Cursor 推出了这个 Cursor Rules,看到了官方尝试来解决一些问题,也正好以此契机来完整地介绍一下 Cursor Rule,给 AI 设定一些界限,规则,不让其过分地自由发挥以至于发生意想之外的错误。