技术

Font Awesome 图标字体精简方案

Introduction 在现代网页设计中,图标字体是一个不可或缺的元素。它们不仅可以增添美观,还可以提升用户体验。Font Awesome 是一个流行的图标字体库,提供了丰富的图标选择。然而,大部分网站只会使用其中的一小部分字体,而 Font Awesome 字体文件的大小却有上百KB,因此我们需要对字体进行精简,以增加网站的速度。 使用 FontForge 删除不需要的图标 我们可以使用 FontForge 这样的工具来删除 Font Awesome 字体文件中不需要的图标。这将减…

Java 枚举使用 Jackson Json 序列化与反序列化

我最近遇到一个问题,Jackson Json 无法正常反序列化枚举类,尽管同一个枚举可以正常序列化。我查阅了一些资料并写下了这篇总结。 问题 enum Type { A( 11 ), B( 22 ); @JsonValue public final int code; Type(int code) { this.code = code; } } 上述枚举类可以正常序列化,序列化的结果是 code 字段的值: objec…

使用 winsw 创建 windows 服务

在 Windows 系统里有时下载一些exe文件,或者一些 portable 的软件,想把它创建成 Windows 的服务,可以已使用 winsw ,使用这个非常简单。 首先下载 winsw ,然后添加进 PATH 里,然后创建一个服务的配置文件,比如下面创建一个 openresty 的服务: <service>   <id> openresty </id>   <name> openresty </name>   <desc…

php-fpm getenv 无法获取到系统的环境变量

问题及解决方法 维护的一个 PHP 系统最近多了一个新环境,在部署的时候发现获取不到系统的环境变量,问了一下运维同学,也没什么特别的配置,在网上搜索了一圈,发现这个问题在 nginx + php-fpm 模式下挺普遍的,下面是两种解决方法: 1. 通过 nginx 的 fastcgi_param 传值给 php-fpm fastcgi_param SOME_PARAM param-value; 这种也是在网上能搜到的最多的解决方法,是可用的,但是如果有非常多的环境变量,那么这里都会配置一遍,这其实…

Docker Container Cannot Connect Internet

Question Docker 在禁用修改 iptables 后,导致 Container 无法访问外网(可能是这个原因吧),如何处理? 启用 Docker 的 iptables iptables 手动创建规则禁止 docker 的服务外网访问(但这样每个端口都得手动创建规则) https://blog.csdn.net/qq_34556414/article/details/108718522 https://blog.csdn.net/taiyangdao/article/details/8…

Hugo 渲染原始 HTML

使用 Hugo 时有时候需要插入原始的 HTML 代码进行展示,但是 Hugo 会把这些 HTML 过滤掉,HTML 里面的结果是 <!-- raw HTML omitted --> ,这并不是我想要的,查了一下有两种方式可以解决: 1. 使用 Hugo 的配置直接渲染 HTML [ markup . goldmark . renderer ] unsafe = true Copy 但这样有个缺点,Markdown 里的所有 HTML 代码都会渲染掉,而往往我们需要指定部分代码。 …

IDEA Windows 端口占用问题解决

Jetbrains IntelliJ IDEA 和全家桶其他软件在 Windows 下端口占用问题解决方法 net stop winnat netsh int ipv4 set dynamic tcp start = 49152 num = 16384 netsh int ipv6 set dynamic tcp start = 49152 num = 16384 net start winnat

Spring Data Jpa 多数据源选择无效

有个项目用的 Spring Data Jpa ,里面需要多数据源来做分库,正常流程是拦截器拿出用户信息,然后把分库信息设置到 ThreadLocal 里,后面使用就没问题了。但最近遇到个问题,在 Service 层重新分库信息居然没用,依然会使用首次获取到的数据库连接。 项目里其实有类似的用发,同一个线程重新设置了分库信息也依然可以正确选中,直接使用 JdbcTemplate 查询也没问题,So,到底什么问题呢? 还是对这套东西不熟悉, OpenEntityManagerInViewInterc…

Kafka 基础应用

每个组都保持着一份相同副本 不同组之间互不干扰,互相独立,有几组就有几份数据。 partition 数量小于消费者数量 这样会有消费者空闲 partition 数量大于消费者数量 这样会有某个消费者接收多个 partition 的消息 图片来源: Springboot and Kafka

SSL certificate problem: unable to get local issuer certificate 解决方法

最近在一台 Ubuntu 上使用 curl 时报错,比如下面: curl https://api.shellj.com/ip/1.1.1.1 curl: ( 60 ) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.haxx.se/docs/sslcerts.html curl failed to verify the legitimacy of t…

WordPress 安装后必要的插件

在国内的服务器安装了 WordPress 后最先做的事情应该是把连接到 WordPress 服务器的网络解决下,有两款插件可以满足需求。 WP-China-Yes 这款插件解决了 WordPress 升级,安装主题,安装插件出现的一些网络错误,比如常见的 429 Too Many Requests 错误 。基于反向代理技术,而且免费,开源。 地址: https://github.com/wp-china/wp-china-yes Useso take over Google 可以替换所有的Goog…

服务器配置如何选择

在 v2ex 上看到一个关于并发的帖子, 峰值 5000 并发量的服务器需要什么配置比较合理 ,自己也来算算到底什么配置比较合适。 先来看看一楼说的对不对: 2 核 8G 单台 4M 带宽就足够了。适当的把文件存储到 oss 。 先假设帖子中所说的并发就是 QPS 吧。 其实只看带宽的话就做不到了,5000个用户每人请求大小1Kb,总带宽都需要40M了, 如果数据包缩小10倍,那么带宽就只要4M了,但这在http协议里面一般是不可能的,往往协议本身就超过100字节大小了。(当然这个业务场景是以ht…

使用 git –orphan 清理git历史

git 使用一段时间后 .git 文件夹会非常大,尤其是提交了大文件,当把大文件删除后,仓库大小依旧不变小。这里使用 git checkout --orphan branch_name 把 git 的所有 commit 记录清理掉来缩减仓库,相当于重建一个新的仓库了。如果在意历史记录的话这个方法就不太适用了。 # 新分支 git checkout --orphan branch_name # 添加文件 git add -A # 提交commit git commit -am "c…

maven获取不到jar包

今天遇到一个 maven 的问题,构建一个项目的时候忘记把一个依赖的 jar 包发布到仓库,然后构建失败,问题在于把依赖的 jar 包发布到仓库后还是构建失败,说无法获取到 jar 包,报的错误如下: [ERROR] Failed to execute goal on project xxx-xxx: Could not resolve dependencies for project com.example:xxx-xxx:jar: 1.10 .2 - RELEASE : Fai…

Rust 开发环境配置

指定安装位置 #这个也可以不指定,选择默认安装位置。 export RUST_HOME=/some/path export CARGO_HOME=/some/path rustup 安装 第一次安装 rustup 的时候,如果按照官网教程   https://sh.rustup.rs   链接无法下载,可以通过   jsdelivr   下载 rustup-init.sh, 然后把脚本中的 RUSTUP_UPDATE_ROOT 变量改为   https://mirrors.u…

Mysql Communications link failure 的几种情况

问题 一个批量导数据的程序,加了一张表的导入后,有时会出现 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 错误,这个错误在网上非常常见。 问题排查 在网上搜索了一遍后,大多数方案说的原因都是一个数据库链接空闲时间太长了,导致被关闭掉了,而我的这个程序不是这种情况,因为导数据都是不断的在执行,链接不太可能会空闲,这个解决方案明显不符合我的情况,然后在网上看到一篇博客,说…

ffmpeg视频截取,ffmpeg音频截取

ffmpeg截取音频 ffmpeg -i source.mp3 -ss 00 : 01 : 12 -t 00 : 01 : 42 -acodec copy out.mp3 参数 说明 -ss 开始位置:00:01:12 -t 结束位置:00:01:42 ffmpeg截取视频 注意保持下面参数的顺序,可以更快的截取 ffmpeg -ss 00 : 44 : 02 -i source.mp4 -strict - 2 -t 00 : 04 : 06 -c:v cop…

Alacritty中文乱码问题

问题 最近在用一款名为 Alacritty 的终端,但在MAC上安装后中文和一些emoji一直乱码,在网上搜索没有结果,今天用ssh连到一台远程的机器上中文却显示出来了,看来是和终端的环境配置有关。 locale 看一下,结果什么都没有,但奇怪的是系统自带的终端和 iTerm2 里都是有值的。 LANG= LC_COLLATE="C" LC_CTYPE="C" LC_MESSAGES="C" LC_MONETARY="…

rustlang学习

下午按着 rustlings 练习了一下 rust ,比较友好的一个学习工具。

Maven项目配置了repository未生效

maven 可以从多个地方配置仓库,比如项目里面的 pom.xml 里面的 repository 和 profile,全局 settings.xml 里面的 mirror。但今天在项目里配置了仓库,但未生效,无法获取 jar,网上搜索一般优先级是项目里的比较高,所以不会存在什么问题,配置如下 <repositories> <repository> <id>somerepo</id> <name&…

加载更多博文
未找到任何结果