导语

最近重新把老旧的台式机拿来耍,重新安装了Ubuntu16.04,但感觉自带的桌面效果不是很好,于是就查找网上的优化博客按套路来整合,这里记录下自己的实现过程。

先看下效果

desktop

workspace

系统设置

主要对系统默认的设置进行一些配置优化,我推荐系统语言为英语,但是可以安装中文输入法。

选择软件源

System Setting(系统设置)–>Software & Updates(软件更新)–>Ubuntu Software(ubuntu软件)–>Download from(下载源)

源设置

  • 上图的3:系统会根据所有服务器的延迟自动选择最快的服务器
  • 上图的4:为中国区的一些服务器,大家可以根据自身喜好选择自己喜欢的服务器镜像

设置好源后最好进行一次源更新:

1
sudo apt-get update #更新源

阅读更多

导语

  • 最近用Spring写后台较多,每次新建一个项目要从原来项目里拷贝很多配置文件,因此就想整合一个配置好的的基本项目架构。
  • Spring boot融合了tomcat,使用后爱不释手,因此主要基于Spring boot+mvc以及一些其他必要功能进行配置使用。

说明

项目代码地址: https://github.com/jiyiren/SpbootApi

 这个仓库主要是集成Spring-boot,Spring-mvc,Mysql,Mybatis,C3p0,Swagger2的项目架构,为便于每次新建项目不用从零开始,直接基于此项目结构可快速地进行项目二次开发,免去了pom内容的复制和配置文件的编写。

整体项目结构

项目结构

阅读更多

导语

正则规则

  • 分四大类来说明:常用符号说明、符号数目匹配、逻辑语句符号匹配、目标匹配符号。

常用符号说明

  1. ^: 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与”\n”或”\r”之后的位置匹配。
  2. $: 匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与”\n”或”\r”之前的位置匹配。
  3. \: 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,”n”匹配字符”n”。”\n”匹配换行符

符号数目匹配

  1. *: 零次或多次 匹配前面的字符或子表达式。例如,zo 匹配”z”和”zoo”。 等效于{0,}
  2. +: 一次或多次 匹配前面的字符或子表达式。例如,”zo+”与”zo”和”zoo”匹配,但与”z”不匹配。+ 等效于 {1,}
  3. ?: 零次或一次 匹配前面的字符或子表达式。例如,”do(es)?”匹配”do”或”does”中的”do”。? 等效于 {0,1}
  4. {n}: n 是非负整数。正好匹配 n 次。例如,”o{2}”表示此匹配两个o
  5. {n,}: n 是非负整数。至少匹配 n 次。
  6. {n,m}: n 和 m 是非负整数,其中 n <= m。匹配至少 n 次,至多 m 次。

阅读更多

导语

  • 最近频繁使用服务器环境,以前也搭建过,但那些命令以及配置都不能铭记于心,因此今天借此记录下,以便于以后参考。
  • 记录主要有:LAMP(Linux,Apache,Mysql,Php)以及git,Java,Tomcat,ftp等安装命令及配置过程。


前言

  • 作为程序员,对于服务器的部署还是有必要会的,因为这决定了自己独立的高度。目前而言,服务器操作系统性能最好的还是Linux,不要说自己不会,没有不会的程序员,只有懒惰的程序员。
  • 对于Linux系统的学习最容易上手的还是Ubuntu桌面版了,因为它有Windows版的界面,可以给新手一个过渡阶段,之后再上手到只有命令端的Linux Server版就容易多了。
  • 这里给看云上的两个学习文档:Linux学习;The Linux Command Line 中文版

一、LAMP搭建

  • Linux系统环境选择的是Ubuntu 14.04;
  • 对于Ubuntu 16.04其内置的下载源和14.04的不一致,网上很多教程都不适用,建议大家选择Ubuntu 14.04测试。

安装MySQL

  • 安装mysql服务器端

    1
    sudo apt-get install mysql-server mysql-client

阅读更多

导语:

上篇C语言实现各排序算法的完成,使得自己对排序有了一定的了解,最近看到一个iOS图形化排序过程,因此今天就完成Android端的图形化排序过程。

前言

  • 排序算法实现很简单,其重点是要实现安卓View跟随排序的动态变化。
  • 由于计算机执行排序算法的高效性,对一定数量的数组排序都是毫秒级的,因此我们要考虑放大排序时间,给可视化界面完整的动态过程。

一、总体功能界面

界面

maingif

阅读更多

导语:

  • 最近整理了一些排序算法,并记录下实现过程!作为备忘笔记。
  • 主要有:快速排序、堆排序、归并排序、插入排序、冒泡排序、选择排序等

前言

  • 算法是程序的灵魂。无论程序多么的复杂,只要我们能够抓住程序的主要“矛盾”,就能够适时地解决这些问题,而算法就是其主要矛盾。
  • 排序算法是算法的基础。我们需要学习算法,就必然需要打好自己学习的基石,排序算法作为最基本易懂的算法,我们不精通它又怎么能驾驭得了其他高级算法呢?
  • C语言:本文选择C作为实现语言,主要是本人在看Linux下的C编程一书,于是就顺便直接在Linux系统下开写了!我想C语言是每个人都能看得懂的语言,并且其特殊性很少,几乎完全能转化为其他各式语言(Java,Php,Python等),因此这也是C的好处。

一、排序算法说明

快速排序/FastSort

  • 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序方法,其核心是分治法。
  • 实现过程:从数列中选取一个作为基准数(不妨就选第一个,通常也都是选择第一个);然后进行分区,将比它小的数放在它左边,比其大的则放在右边;然后对左右区间进行相同操作(也就是递归),直到各个区间只剩一个数。

阅读更多