Japin

登高必自卑,行远必自迩

本文主要记录在使用 LaTeX 进行封面自定义的相关实现,如下图 1 所示。

图 1 LaTeX 自定义封面

阅读全文 »

在某些情况下我们可能需要对实数进行四舍五入,在 SQL 中我们可以通过 ROUND 函数来实现。

1
2
3
4
5
6
7
8
9
10
11
# SELECT ROUND(123.456)
round
-------
123
(1 row)

# SELECT ROUND(123.567)
round
-------
124
(1 row)
阅读全文 »

默认情况下,LaTeX 会在每个页面的底部生成一个页码编号,即使是标题页也是如此。通常情况下,我们不需要在标题页输出页码编号,而且目录页一般也会采用罗马数字的形式给出页码,而正文内容则以阿拉伯数字的形式给出页码编号。本文接下来介绍了 LaTeX 中基本的页码设置。

阅读全文 »

Linux I/O 调度器控制着内核读写磁盘的工作方式。系统管理员可以通过更改调度器来自定义磁盘调度算法,从而优化系统性能。有三种调度程序可供选择,每种调度程序都有其优点。这些调度器是:

  • Noop - 电梯调度算法,最简单的调度算法,该算法基于先进先出队列 (FIFO) 实现,所有的 I/O 请求都符合先进先出规则,适合于 SSD 设备。

  • Deadline - 绝对保障算法,它为读和写分别创建了 FIFO 队列,当内核收到请时,先尝试合并,不能合并则尝试排序或放入队列中,并且尽量保证在请求到达最终期限时进行调度,避免有一些请求长时间不能得到处理。该调度器适合虚拟机所在宿主机器或 I/O 压力比较重的场景,例如数据库服务器。

  • Completely Fair Queuing, CFQ - 绝对公平调度算法,它为每个进程和线程单独创建一个队列来管理该进程的 I/O 请求,然后为每个队列分配访问磁盘的时间片。时间片的长度以及允许队列提交的请求数取决于给定进程的 I/O 优先级。该调度器比较适合于通用服务器。

阅读全文 »

本文将介绍 PostgreSQL 中的 Common Table Expressions, CTE,也叫做公用表表达式。在介绍 CTE 之前,我们需要先了解 WITH 查询。WITH 查询是 PostgreSQL 针对复杂查询,允许用户在该查询内容编写辅助语句的功能,其中用户编写的辅助语句就是今天介绍的 CTE,你可以将 CTE 视为在当前查询中的一个临时表。CTE 的一大优点就是我们可将查询中的较为耗时且多次重复使用的部分通过 CTE 缓存起来,从而避免多次执行。

阅读全文 »

现在越来越多的网站采用 HTTPS 协议,今天就遇到一个关于 HTTPS 证书的问题,服务器端采用 HTTPS 加密传输,而证书是使用的自签名证书,因此客户端开发时需要将其导入到 Eclipse 中才能通过验证(客户端采用 Java 开发)。Eclipse 采用 keystore 来管理证书,可以利用工具 keytool 来管理证书文件,本文主要记录 Eclipse 证书管理的基本使用,以及使用自签名证书的格式问题。

阅读全文 »

今天遇到一个 git 远程仓库分支同步的问题,主要的诉求是将两个远程仓库的分支同步到一致状态。起初,项目只是在 GitHub 上进行维护,后期又在 GitLab 上创建了该项目,并且两个仓库之间的分支情况有所不同。我们可以使用如下命令同步两个远程仓库之间的分支信息。

1
2
3
$ git fetch --all -p
$ git push github "refs/remotes/gitlab/*:refs/heads/*"
$ git push gitlab "refs/remotes/github/*:refs/heads/*"

备注: github 指向远端的 GitHub 项目地址,同理,gitlab 指向远端的 GitLab 项目地址。

PostgreSQL 标榜自己为最先进 (Most Advance) 的开源关系数据库,它支持大部分 SQL 标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、聚集函数、索引。PostgreSQL 被设计为易于扩展,因此通过插件我们可以很容易的扩展 PostgreSQL 数据库。本文就从编写一个简单的斐波那契的数据库扩展来介绍 PostgreSQL 插件的编写。

阅读全文 »

本文主要收集日常工作中经常使用的 PostgreSQL 相关的命令;其中,主要包含相关的系统函数、使用技巧等。本文将持续更新!!!

备注: 主要基于 PostgreSQL 10 及其后续版本。

阅读全文 »
0%