在 linux mint 20 中安装 chromium

linux mint 20 中不再包含 chromium 浏览器,需要借助第三方包,或者可以选择 Brave

方案1

Dev PPA包含最新的Chromium Dev版本,并启用了硬件视频解码(隐藏在flag后面),并支持Widevine(需要在Netflix和Youtube上观看付费视频)。

以root身份将以下内容添加到 /etc/apt/preferences.d/saiarcot895-chromium-dev.pref

# Ensure packages from saiarcot895-chromium-dev PPA have priority
Package: *
Pin: release o=LP-PPA-saiarcot895-chromium-dev
Pin-Priority: 800

继续阅读

安装 Brave 浏览器

Brave是一个基于Chromium网页浏览器及其Blink排版引擎的自由及开放源代码网页浏览器,由Mozilla项目的联合创始人、JavaScript的创造者布兰登·艾克宣布。它宣称阻止网站跟踪器和移除侵入式网络广告。该浏览器也宣称通过与广告客户分享更少数据来改善网络隐私。

访问 brave.com 可能需要梯子。

Debian 9+, Ubuntu 14.04+ and Mint 17+

sudo apt install apt-transport-https curl
curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add -
echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser

继续阅读

在 Linux 上运行 ZFS

本演示使用了 ZFS-FUSE。FUSE 是一种机制,允许您在没有内核代码(除 FUSE 内核模块和现有的文件系统代码以外)情况下在用户空间中实现文件系统。该模块为用户和文件系统实现提供从内核文件系统接口到用户空间的桥梁。首先,安装 ZFS-FUSE 包(下面的演示针对 Ubuntu)。

安装 ZFS-FUSE

安装 ZFS-FUSE 很简单,尤其是在使用 apt 的 Ubuntu 上。下面的命令行安装了您开始使用 ZFS-FUSE 所需的一切:

$ sudo apt-get install zfs-fuse

此命令行安装 ZFS-FUSE 和所有其他依赖包( 我的也需要 libaiol),为新的程序包执行必要的设置并启动 zfs-fuse 守护进程。

继续阅读

清理 linux 系统垃圾

检查空间大小

du -hm --max-depth=1 /var/ | sort -h
# 或者
du -sh * | sort -h

/var/log/journal

journalctl --vacuum-size=10M

docker

用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
-a 命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了

docker system prune
# 或
docker system prune -a

mysql 5.7 无法使用 group by 的解决办法

出错的提示可能是这样的

[Err] 1055 – Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

解决办法

1、查看 sql_mode

select @@global.sql_mode;

2、查出来的值

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

3、去掉 ONLY_FULL_GROUP_BY ,重新设置值

set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

4、修改 my.cnf ,添加以下行

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;

设置的值和第3步的值一样,该操作要重启 mysql 服务。

BigDecimal 加减乘除计算

BigDecimal有多种构造函数,常用的有2种。建议使用String构造方式,不建议使用double构造方式。

// 强制使用String的构造函数,double也有可能计算不太准确
// 原则是使用BigDecimal并且一定要用String来构造。
public BigDecimal(String val);
public BigDecimal(double val);

方法

  • add() 加法
  • subtract() 减法
  • multiply() 乘法
  • divide() 除法
  • abs() 绝对值

舍入

new BigDecimal("12.34").setScale(0, BigDecimal.ROUND_HALF_UP);
  • ROUND_UP 始终对非零舍弃部分前面的数字加1
  • ROUND_DOWN 从不对舍弃部分前面的数字加1,即截短
  • ROUND_CEILING 如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;如果为负,则舍入行为与 ROUND_DOWN 相同
  • ROUND_FLOOR 如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;如果为负,则舍入行为与 ROUND_UP 相同
  • ROUND_HALF_UP 四舍五入
  • ROUND_HALF_DOWN 五舍六入
  • ROUND_HALF_EVEN “银行家舍入法”,主要在美国使用。四舍六入,五分两种情况。如果前一位为奇数,则入位,否则舍去

更多来源:https://www.jianshu.com/p/683b2406342f