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

最近文章

  • Z-Image-Turbo 高性能 AI 图像生成模型 Z-Image-Turbo 是由阿里巴巴集团开发的高性能图像生成模型,基于 Z-Image 原始版本进行了深度蒸馏和强化学习。 这个模型采用了 6B 参数的轻量级设计,但能够在保证质量的前提下,实现闪电般的生成速度。
  • 小凹语音输入法 又一款语音转文字应用 在之前的文章中写过太多的语音转文字输入法,在 B 站的视频中也介绍了不少。包括 [[Aqua Voice]],[[Spokenly]],[[Wispr Flow]],[[superwhisper]], [[Whispering]] ,国内也有不少团队做出了类似 [[闪电说]],[[Ququ 蛐蛐]] 这样体验非常棒的应用。除了豆包语音输入法,现在又一家大语言模型公司下场做语音输入法,小凹语音输入法。
  • iPhone/iOS 利用 Whistle 代理抓包 之前的一篇文章当中介绍过 Whistle 这样一款非常强大的网络代理和抓包工具,我们可以轻松的利用 Whistle 实现系统级别的抓包。在之前的一篇视频当中,我介绍过如何在桌面版,比如说 macOS 和 windows 当中利用 Whistle。本文再来介绍一下如何在 iOS/iPhone 上利用 Whistle 进行抓包。
  • 语音转文字技术方案以及应用整理 在过去一年的博客当中,我介绍了不少和语音转文字相关的应用,有一些主打的是语音转文字的延迟低,有一些则以语音笔记为卖点,还有一些是语音输入法,我还介绍过很多开源项目,主打的是将视频内容转成文字。
  • Claude Code Skills 功能介绍以及使用经验 我们在使用 Claude Code 的过程当中,是否经常会遇到重复给 AI 提供相同的提示词,不停的告诉 Claude 我自己的工作方式和代码标准,虽然在之前我们可以通过 slash command 或者 CLAUDE.md 文件来部分实现。但今天我要介绍的 Claude Skill 可以更好的帮你解决这个问题。