Ubuntu18.04优化教程

前言 因为最近Ubuntu用的比较频繁,所以前一阵把Ubuntu16.04换成Ubuntu18.04了,并且囿于机械硬盘那启动速度,我忍痛割爱把我80G的固态硬盘分给了Ubuntu。 后来,用着用着就觉得这个Ubuntu的原始界面确实不是特别的好看,配色偏基佬紫的感觉。“工欲善其事,必先利其器“,我们只有将自己的工作环境布置的舒心一些才能有做下去的动力!所以我想给Ubuntu换一个看起来舒服点的界面,然后上网找教程乱七八糟的倒腾了一会,感觉换完以后完全不一样了,这个界面真的好看!!用起来也特别的舒心,感觉自己马上就要告别Windows投奔Linux的怀抱了。后续还有一些其他的优化,例如装QQ、微信、配置终端等,一并写在这里吧。 Ubuntu界面的优化 具体效果 先放几张效果图上来,是我改后的界面。大概就是这样(自我感觉挺好看的),当然也有其他的主题可供选择。 1.安装GNOME桌面环境主题配置工具 如果要改主题,那么首先要有一个利器,这里我用的Ubuntu18.04,桌面环境为 GNOME 3.28.2 ,因为我目前接触的只有GNOME桌面环境的,Ubuntu18.04本来的桌面环境就是GNOME,但是Ubuntu16.04好像没有自带,但是可以安装,这里大家可以自行百度了解。 然后我们已经有了GNOME桌面环境后,安装主题配置工具 GNOME Tweaks ,在终端中输入如下内容: sudo apt-get update sudo apt-get install gnome-tweak-tool 我们先更新软件源,然后安装后直接打开他就行,在系统软件中中文大概叫 优化 。 2.拓展上述工具 安装完上述工具后,我们可能发现了一个问题,就是外观那一栏目的Shell有一个感叹号,无法更改,这是因为我们没有安装拓展导致的。我们在终端中运行 sudo apt-get install gnome-shell-extensions 然后重启一下电脑。再打开软件找到左侧的拓展,把 User themes 那一栏目打开。切换回去就可以发现Shell那边的感叹号无了。 3.寻找自己喜欢的主题 这里我大家可以去这个网址去找自己喜欢的 GNOME-LOOK.ORG 这里面包含了图标,主题这些,下面介绍一下如何安装。 好比我们找到一个自己喜欢的主题,然后我们点击下面的 Files ,可能会有很多文件,但是多是同一个主题的不同风格,好比暗风格和亮风格这样的,还有不同的版本的,我多是安装那个下载量最多的,我们下载那个对应的文件(多是tar.xz安装包)。 对于主题的安装,我们只需要把解压出来的文件,移动或复制到 /usr/share/themes/ 目录下,如果是光标\图标的安装,那么就把文件夹移动到 /usr/share/icons 目录下。 然后我们回到 GNOME Tweaks 软件中就可以发现,我们已经可以在主题\图标\光标\Shell清单中找到我们移动到文件夹中的文件了,然后选择就可以切换了。这里需要注意的,很多主题都是自带Shell的,你下了一个主题,那么你可以在Shell和主题这两个栏目中都找到他们,是一个配套的。 4.一些后续的调整 我们后续可以改变左边收藏夹的位置,我觉得放在左边有一丢丢的丑,所以我选择把它放在的下面。 我们去Ubuntu软件中搜索 Dash to dock,然后安装这个拓展,然后打开 GNOME Tweaks 软件在拓展中找到他就可以随心所欲的调我们的收藏夹的位置了。 5.我自己的配置 theme&shell Canta-light-compact icons 01-McMojave-circle 6.界面修改的参考链接 Ubuntu18.04美化主题(mac主题) Ubuntu18.04美化主题(完整版) GNOME-LOOK.ORG 30个非常不错的Ubuntu主题供你选择 ubuntu18.04更换鼠标游标主题 配置终端 前言 唔,终端本来用起来感觉也还行,感觉终端就是linux的灵魂,啥都能干。 ...

December 4, 2020 · zzsqwq

“程序星编程之路”第二次作业题解

“程序星编程之路”第二次作业题解 A. Zs的回文质数 题目描述 读入一个整数 $n$ ,输出 $[1,n]$ 的所有回文质数,我们规定 $1\sim9$ 也是回文数。 思路 首先我们需要了解什么是回文数,以及什么是质数。 简单点说,回文数就是正着读反着读都是一样的,也就是对称的,形如 $abcba $ 或者 $123321$ 这样的。 质数的话,对于一个数 $n$ ,如果他是质数,那它除了 $1$ 和 $n$ 没有其他因子。例如 $2,3,5,7,11$ 这样的。 那么接下来我们考虑一下解决这个问题应该怎么做,首先我们看一下数据范围,$[1,100000]$ ,还是挺小的,我们可以考虑直接枚举每一个数来判断它是不是回文数,然后再判断一下是不是质数,如果两个都满足,我们就输出它。 判断回文数,我们可以考虑到 NOJ05 幸运数 一题的解题思路,也就是说我们把一个数倒置过来,好比一个数 $xyz$ 倒置成 $zyx$ ,然后判断是否 $xyz == zyx$ ,如果相等的话就是回文数,如果不相等就不是。 判断质数,我们可以在 $[2,\lfloor\sqrt{n}\rfloor]$ 枚举它的因子,这个的完备性我上课的时候证明过,不再赘述。这里需要注意 $1,2$ 需要特判一下。 代码 #include<stdio.h> #include<math.h> //我们需要用到sqrt函数,因此需要引入数学库 int main() { int n; bool flag = false; // 标记 i 是否满足条件 scanf("%d",&n); for(int i=1;i<=n;i++) { flag = true; int p=i,j=0; while(p) // 将 p 反转为 j { j=j*10+p%10; p/=10; } if(j==i) { if(j==1) continue; // 特判 1 if(j==2) // 特判 2 { printf("2\n"); continue; } int sqrtj = sqrt(j); for(int k=2;k<=sqrtj;k++) // 枚举 [2,sqrt(n)] { if(j%k==0) // 如果能够整除(余数为0),那么是 j 的因子 { flag = false; break; } } if(flag) { printf("%d\n",j); } } } } 其他 因为我们讲到这里的时候,我们没讲函数,但是这道题如果我们把判断是否为回文数,判断是否为质数,都另成一个函数模块,将使得程序变得更加简洁。我在这里也将函数版本的贴出来,有兴趣的可以看一下。 ...

November 12, 2020 · zzsqwq

Visual Studio 2019 中 OpenCV 配置教程

Windows 平台 Visual Studio 2019 中 OpenCV 配置教程 前言 我这里配置用的是4.5.0版本,但实际配置过程中需要的大部分时间只是路径,因此和版本基本无关。 只有一个地方是和版本有关系的,在配置链接器的 opencv_wordxyzd.lib 时,大家一定要注意!! ...

October 31, 2020 · zzsqwq

数据库的一些基础知识总结

了解SQL 一.什么是SQL SQL是结构化查询语言(Structured Query Language)的缩写。是一种专门用来与数据库通信的语言。 二.什么是数据库? 数据库(Database):保存有组织的数据的容器(通常是一个文件或一组文件)。 ​[scode type = “yellow”]需要注意的是,有时候我们把数据库软件也简称为数据库,但是数据库软件和数据库有本质区别,数据库软件应称为DBMS(数据库管理系统),我们通过数据库软件对数据库进行删减等操作,他代替你操作和访问数据库。[/scode] 三.数据库的组成 表 数据库中通常有多张表,这类似于一个清单。就好像我们管理两个班级就可以用两个表单。 表单之间用表名区分,在同一个数据库中不能有两个具有相同表名的表单。 行(又称记录) 在表中可以有很多行,我们可以把表看成一个二维数组。每一行代表了一个成员。 列 每一行有好多列,一列可以代表着成员的一个属性,例如id,班级,姓名等等······ 数据类型 每一列都有着特定的数据类型,例如字符串和数字就是两种不同的数据类型。 主键(primary key) 对于表中的每一行,我们都有一个唯一标识他的记号,这称作他的主键。 可以发现,主键有以下特征:1.每一行都必须有一个主键,不能为空。2.不同行的主键不同。 我们可以用多列作为主键,这样只需要确保多列组合起来的标识是唯一的。 外键(foreign key) 外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的值,通过DBMS的操作可以将两个表联结起来。 通俗点讲,好比有两张表,分别存储了所有供应商的信息,和所有产品的信息,在前面那张表定义了每个供应商的id,作为其主键。然后我们为每个产品定义外键的id,填上对应供应商的id,然后通过连结,我们就能知道每个产品供应商的详细信息了。 可伸缩性(scale) 能够适应不断增加的工作量而不失败。设计良好的数据库或应用程序称之为可伸缩性好(scale well)。 四.数据库的连结 ​在上面我们讲外键的时候有讲到联结,连结的意思大概就是把多个表,根据一些命令串在一起。 等值连结(内部连结) 顾名思义,等值连结就是通过两个表之间元素值的相同来把两个表连结起来。 自联结 这个用于查找在同一表中某一特性相同的所有成员。有的时候自联结要比子查询快很多。 自然联结 在自然联结中,排除相同的列多次出现,使每个列只返回一次。 外部联结 联结包含了那些在相关表中没有关联行的行。这种类型的联结称为外部连结。 五.数据库设计范式 范式:当一个关系中的所有分类都是不可再分的数据项时,该关系是规范化的。不可再分的数据项,即不存在组合数据项和多项数据项。一个低一级的关系模式,通过模式分解可以转换为若干高一级范式的关系模式的集合,这个过程就叫规范化。 第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的关系模式中实现不了。 第二范式:如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。 第三范式:设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF。 用我们学长的一句话,范式不是必须满足的,但是我们尽量按照范式来设计数据库,毕竟这是这么多程序员实战经验总结出来的。 参考链接 数据库设计三大范式_dosthing 数据库设计三大范式_张龙豪 mysql必知必会

September 11, 2020 · zzsqwq

自买服务器建站教程

引言 本来之前是用的 Hexo + Github 搭建的,虽然用的是 Github 的服务器,但是我用家里的移动网访问起来还是没什么压力,就是慢一点,可以接受。 后来到了学校,我们学校网访问 Github 的速度简直可以用龟速来形容,白天可以说不开代理根本进不去,只有晚上了才能勉强进得去。然后我就寻思,能不能换成国内的服务器,然后就发现了 Gitee ,这个可以算是中国版的 Github ,他具有的服务 Gitee Pages 在国内可以飞速的访问,But如果想要自定义域名/每次推送自动更新需要开 Github Pages Pro ,还挺贵的,一年大概 120¥ 吧。此外,如果想要将域名解析到国内的服务器必须要备案,备案又必须有服务器,那我有服务器了还费那些事了,于是考虑自己买服务器重构一下博客。 ...

August 26, 2020 · zzsqwq