通过 systemctl 设置自定义 Service

如果要在Linux 上设置一个开机自启,出现问题自动重启,并且有良好日志的程序,比较流行的方法有supervisordsystemd,除此之外,还有 upstart、runit 等类似的工具。但是自从 systemd 被 ubuntu、centos 等主流 Linux 发行版应用以来,systemd 渐渐成为主流方案。

SQL 基础笔记(三)约束

个人笔记不保证正确。

数据类型是限制我们可以在表里存储什么数据的一种方法。不过,对于许多应用来说, 这种限制实在是太粗糙了。比如,一个包含产品价格的字段应该只接受正数。 但是没有哪种标准数据类型只接受正数。 另外一个问题是你可能需要根据其它字段或者其它行的数据来约束字段数据。比如, 在一个包含产品信息的表中,每个产品编号都应该只有一行。

Julia 学习笔记(一):数组

个人向,只会记录一些需要注意的点。

学习 Julia 已经有一段时间了,但是进步缓慢。这一方面是最近代码写得少,一方面是 Julia 学习资料少、中文资料更少,但也有我没做笔记的缘故导致学习效率不佳。

常见压缩格式的区别,及 Linux 下的压缩相关指令

可先浏览加粗部分

*.zip        |    zip 程序压缩打包的档案;  (很常见,但是因为不包含文档名编码信息,跨平台可能会乱码)
*.rar        |    rar 程序压缩打包的档案;(在windows上很常见,但是是商业软件。)
*.gz         |   gzip 程序压缩的档案; (linux目前使用最广泛的压缩格式)
*.bz2        |   bzip2 程序压缩的档案;
*.xz         |    xz 程序压缩的档案;
*.tar        |    tar 程序打包的资料,并没有压缩过;
*.tar.gz     |    tar 程序打包的档案,其中并且经过 gzip 的压缩 (最常见)
*.tar.bz2    |   tar 程序打包的档案,其中并且经过 bzip2 的压缩
*.tar.xz     |   tar 程序打包的档案,其中并且经过 xz 的压缩 (新一代压缩选择)
*.7z         |  7zip 程序压缩打包的档案。

目前最常见的是 tar.gz tar.xz tar.7z 这三种格式。

在回声中重历

高中考虑志向的时候,我最开始想选择电子信息工程,因为小时候就喜欢摆弄各种电子器件,这个方向硬件软件都能玩,就感觉很有趣,只是担心自己高三太放浪形骸考不上。偶然想起在学校阅览室读杂志时,曾被科幻世界2013年12期里沖氏武彦的《在回声中重历》给打动——用耳朵“看见”世界实在是太奇妙了,我当时痴痴地幻想了好几天。

SQL 基础笔记(一)

本笔记整理自《SQL 基础教程》《MySQL 必知必会》和网上资料。个人笔记不保证正确。

SQL,即结构化查询语言,是为访问与操作关系数据库中的数据而设计的语言。

  1. 关系数据库以行(row)为单位读写数据
  2. SQL 根据功能的不同,可分为三类(其中DML用得最多,增删查改嘛)
    1. DDL(Data Definition Language, 数据定义语言): CREATE/DROP/ALTER
    2. DML(Data Manipulation Language, 数据操作语言): SELECT/INSERT/UPDATE/DELETE
    3. DCL(Data Control Language, 数据控制语言): COMMIT/ROLLBACK/GRANT/REVOKE
  3. SQL 语句要以分号结尾。换行在 SQL 中不表示结束,而等同于空格。
  4. SQL 不区分**关键字(Keyword)**的大小写,但是描述符就不一定了。
    • 这里有个坑:MySQL 中,数据库和表其实就是数据目录下的目录和文件,因而,操作系统的敏感性决定数据库名和表名 是否大小写敏感。这就意味着数据库名表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix/Linux 系统中是大小写敏感的。(注意仅指数据库名和表名)可通过修改配置文件的lower_case_table_names属性来统一这一行为。
    • 字段名字段内容都是内部数据,是操作系统无关的。它们的大小写敏感性,由 MySQL 的的校对(COLLATE)规则来控制。该规则体现在 MySQL 的 校对字符集(COLLATION)的后缀上:比如 utf8字符集,utf8_general_ci表示不区分大小写,这个是 utf8 字符集默认的校对规则;utf8_general_cs 表示区分大小写,utf8_bin 表示二进制比较,同样也区分大小写 。
  5. SQL 中的字符串和日期需要用单引号引用起来,日期有特定格式年-月-日

修改字符集:set names <字符集名> 记住在 MySQL 中,utf-8mb4 才是完全的 utf-8字符集。