自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

水逝流年

不忘初心,方能始终。(本博旨在学习交流,旨在将问题尽可能说清楚,部分内容来自网络。慎重转载。)

  • 博客(96)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据库中的并发控制

1、写在前面1.1 为什么要并发控制如果事务在并发执行时,来自各个并发事务的所有指令的执行控制都是由操作系统负责,那么许多调度都是可能的。这样,很可能会导致数据库处于不一致的状态。所以,必须保证数据库执行的任何调度都能是数据库保持一致状态,这是数据库中并发控制(concurrency-control)模块的功能。 具体地说,数据库的并发控制模块就是为用户提交的多个事务产生满足需求的调度。1.2 并

2017-03-11 17:54:02 1666 1

原创 Vim快速移动光标

1、字符粒度的移动 快捷键 助记 作用 h 向左移动一个字符 l 向右移动一个字符 n| 移动到文本行的第n列 fX **f**ind 移动到光标后面的下一个字符X(X可以是任何字符) FX **F**ind 移动到光标前面的上一个字符X(X可以是任何字符)(f、F会将光标定位在字符X上) tX **t**ill

2016-07-30 01:40:57 1205

原创 九宫格手机解锁有多少种情况?

0、写在前面:本文的内容大概搬运自果壳和知乎的两篇文章,在结尾有注明参考。安卓手势解锁是安卓手机解除锁定的密码方案,究竟这种方式一定有多少种可能呢?这是本文要讨论的问题。1、问题定义问题很简单:安卓的手势解锁是3*3的点阵,在这个点阵上的解锁手势一共有多少种情况?这里一个合格的解锁手势轨迹必须满足以下两个条件:至少连接点阵中的四个点。手势的轨迹不能跨过一个还没有经过的节点。不允许重复经过某个定

2016-07-02 00:12:59 4985

原创 Shell脚本遍历目录

这里,主要通过该脚本来练习Shell函数的写法,其功能主要是用来递归地遍历Unix目录,列出其中的文件和目录,并且能够通过缩进来展示文件的目录层级关系。tree.sh:function listFiles(){ #1st param, the dir name #2nd param, the aligning space for file in `l

2016-06-21 00:13:45 1345

翻译 Java Servlet Development Without Eclipse

0、写在前面在用Java进行Web开发的过程中,往往都会使用Eclipse或者MyEclipse等集成开发环境。这些IDE固然方便,然而,对于新手来说,却屏蔽了许多实现的细节。本文的目的是通过一个简单的Servlet例子,来说明IDE到底帮我们完成了哪些工作。Via: Servlets - Examples。1、简单的Servlet代码HelloWorldServlets是响应处理HTTP请求,实现

2016-04-05 23:24:07 491

翻译 使用Bash快捷键提高效率

这是一篇翻译的文章,原文:Bash Shortcuts For Maximum Productivity。稍有修改和整理。你可能知道,Bash有非常丰富的快捷键,能够让使用命令行轻松很多。Bash这种用快捷键编辑命令行的功能,是通过GNU Readline library实现的。这个库也被除了Bash之外的许多其它Unix或者Linux应用使用,因此,学习这些快捷键不仅能够使你更加方便地使用Bash

2016-03-31 00:05:27 463

原创 Java之jar打包

1、jar简介Java归档文件格式(Java Archive, JAR)能够将多个源码、资源等文件打包到一个归档文件中。这样,有如下好处:安全性 可以对整个jar包的内容进行签名。减少了下载时间 如果applet被打包成一个jar文件,那么所有相关的资源就可以在一个HTTP transaction中下载完成,而无需为每一个文件新建一个连接。压缩 减少了磁盘空间的占用。容易扩展 通过j

2016-03-30 00:29:26 26358

原创 Java环境变量PATH和CLASSPATH

Java开发中常用到环境变量的配置,下面简单介绍下Java中经常配置的环境变量:PATH和CLASSPATH。1、PATH环境变量1.1 作用简介安装完JDK(Java Development Kit,Java开发套件)之后,可以在安装目录下找到两个子目录(bin目录和lib目录)。bin目录中包含着Java编译器等可执行文件。如果要运行执行java命令,必须得执行java命令对应的可执行文件的路径

2016-03-28 23:28:57 34414 5

原创 Linux中的pushd和popd

其实,很早就知道pushd和popd在linux中可以用来方便地在多个目录之间切换。那时比较浮躁,感觉切换目录没必要这么复杂。在实际中,发现通过使用pushd和popd能够极大地提高效率。0、使用cd -进行目录切换一般,Shell中都可以通过cd -命令回到之前的目录,下面是一个例子:$ pwd/home/lfqy$ cd /$ cd -/home/lfqy$ 实际上,cd -中,-就

2016-02-24 00:36:27 12050

原创 Unix文本处理工具之awk

Unix命令行下输入的命令是文本,输出也都是文本。因此,掌握Unix文本处理工具是很重要的一种能力。awk是Unix常用的文本处理工具中的一种,它是以其发明者(Aho,Weinberger和Kernighan)的名字首字符命名的,是一种基于模式匹配检查输入然后将期望的匹配结果处理后输出到屏幕的文本数据处理工具。1、awk命令格式awk ‘模式 {操作}’ 文件1 文件2 ……awk命令的工作过程是这

2015-11-12 23:24:44 618

原创 数据库中的并发

简介所谓并发操作,是指在多用户共享系统中,许多用户可能同时对同一数据进行操作。并发操作带来的问题是数据的不一致性,主要有三类:丢失更新、不可重复读和读脏数据。主要原因是事务的并发操作破坏了事务的隔离性。DBMS的并发控制子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,避免用户得到不正确的数据。并发操作带来的问题并发操作带来的数据不一致性有三类:丢失更新、不可重复读和读脏数据,如下图:丢失

2015-10-29 23:36:37 1025

原创 Centos yum安装并启动telnet

今天想从windows机器telnet到虚拟机的时候,遇到了各种小问题,这里记录下。Window8.1开启telnetcmd中输入telnet命令,提示找不到。原来windows不知道从哪个版本开始把这个服务给关了。开启方式:程序和功能->打开或关闭Windows功能,如下图: 确定,然后重新打开cmd,即可使用telnet。安装telnet接下来,连接失败:C:\Users\lfqy>tel

2015-10-29 00:46:37 1390

原创 Linux shell按行读文件

写在前面这里采用的测试文件的内容如下:$ cat read_test.txt 1 a a,b,d,f2 b alsdjf,apple,kdjf3 c 163.2.201.14 d www.google.com5 e http://blog.csdn.net/xia7139另外,这里的脚本都会放在test.sh中运行,当然,我不说你也可以看出来^_^Linux按行读文件的方法Linux中按

2015-10-27 22:20:59 1318

翻译 Markdown语法入门

1、写在前面1.1 段和行Markdown中一段(Pragraph)是一行或多行连续的文本。段与段之间由一个或多个空行隔开。空行就是看起来没有内容的行,只包含空格或者tab的行都叫做空行。Markdown中一般的不包含特殊格式的文本,不应该用空格或者tab缩进。1.2 “Hard wraped” text paragraph A paragraph is simply one or more c

2015-09-05 21:35:05 878

原创 Win8.1更新之后没法启动,如何修复?

1、问题今天开笔记本的时候,发现电脑没法启动,屏幕显示“Recovery Your PC needs to be repaired...”。具体内容见下图:2、解决办法2.1 用U盘制作启动盘于是,想到应该是系统更新之后,崩溃了。按照提示应该用一个系统盘修复下,又没有别的办法,只好照做,找了一个win8.1 64位的iso镜像,用ultraiso打开该镜像,然后选择写入硬盘

2015-03-14 17:10:38 3016

原创 Screen命令使用指南

如果你问我什么命令最能提高工作过程中的幸福感,就目前的情况来看,我一定会毫不犹豫地回答:“screen!没错就是screen,一定要会用screen!”至于原因且听下段分解。1、screen简介GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面

2015-02-02 15:32:35 3045

原创 Python用两个list模拟有序字典

python语言中的dict(字典)类型是无序的。但是,实际中,我们有时会用到有序字典这种结构,也就是在一个有序的结构中存储一系列键值对。这里介绍的是,如何用两个list来实现这个结构。1、bisect模块1.1 介绍python中的bisect模块可以实现向有序列表中插入元素,同时维护列表的顺序。bisect的实现也比较简单,大致的原理是首先使用二分查找,查找应该插入的位置,然后用l

2015-01-27 15:50:47 1030

原创 Python模块的使用

模块是Python组织代码的基本方式。Python的脚本都是用扩展名py的文本文件来保存的,一个脚本可以单独运行,也可以导入另一个脚本中运行。我们称导入其他脚本中运行的脚本为模块(module)。1、脚本的导入方式模块的名称和脚本名称相同,如果在一个名为operation.py的文件中定义了加减乘除等四种操作运算函数:operation.py:#!/usr/bin/python#-

2015-01-23 10:54:52 643

原创 Linux下sort命令的使用

Linux下的sort命令默认将文件中的每一行为单位,进行排序,然后输出。具体地,就是从每行的第一个字符开始,依次按ASCII码值进行比较,最后将结果按升序排序输出。1、sort常用选项-u 在排序的时候忽略相同的行,类似于uniq命令,不过uniq命令只能跳过相邻的相同行,并不能进行排序。

2015-01-20 21:50:28 1325

原创 Linux下cut命令的使用

Linux下有诸多进行文本处理的命令,这里介绍的是cut命令。cut命令能够对文本文件中的行,进行按字节、字符和字段进行剪切,然后将指定的相应部分写到标准输出。如果没有给定文件名,cut命令将默认读取标准输入。1、cut命令的语法总括cut { -b list [-n] | -c list | -f list [-s] [-d charcter] } [file..]从上面的格

2015-01-08 15:40:43 971

原创 Linux删除破折号开头的文件与Windows下批量去掉文件的隐藏属性

昨天去打印店打印材料,结果中毒了,所有的文件都隐藏了,生成了一堆快捷方式。回来之后,我顺手把它查到Linux的机器上,想删掉那些诡异的文件。下面是这个过程中,遇到的问题。1、无法删除‘-’开头的文件本来看到有好多windows下.lnk结尾的快捷方式文件,所以,直接简单粗暴的用rm -rf *.lnk 删除,结果报错。为了说明情况,我下面做了一个例子,目录中只有一个名为“-a.txt”的文

2014-11-14 21:47:38 2023

原创 Linux在所有文件中查找和替换

Linux中,经常会碰到这样的情况:查找某个目录下所有

2014-09-16 04:34:30 2509

原创 linux下的打包和压缩

linux中常见的两种压缩包文件的格式是.tar、.gz和.tar.gz。.tar只是将文件简单地打包,文件的大小没有变化,也就是说.tar文件只是一个包,没有被压缩;.tar.gz文件是打包后用gzip压缩得到的,文件会被压缩存放,可以减小压缩文件的大小,可以便于传输和存储;.gz文件是将一个文件用gzip压缩之后得到的压缩文件。常用的文件打包和压缩的命令是tar命令和gzip命令,下面分别

2014-07-02 16:54:35 2567

原创 Checkio: Roman numerals

题目:Roman numerals come from the ancient Roman numbering system. They are based on specific letters of the alphabet which are combined to signify the sum (or, in some cases, the difference) of th

2014-06-03 23:47:37 1233

原创 Checkio: Feed Pigeons

题目如下:I start to feed one of the pigeons. A minute later two more fly by and a minute after that another 3. Then 4, and so on (Ex: 1+2+3+4+...). One portion of food lasts a pigeon for a minute, b

2014-06-03 18:45:33 1492

原创 Python Checkio

今天偶尔从一个师兄那里看到了checkio,感觉很好玩。我看到的第一个题是要求写一个函数,接收一个数组,然后返回其中的重复元素,而且元素的顺序不能发生变化。换句话说,就是去掉其中不含重复的元素。比如:checkio([1,2,3,1,3])==[1,3,1,3],"1st example"checkio([1,2,3,

2014-05-29 20:47:06 3715

原创 kmp算法

关于kmp算法,相信大家都不会陌生。但是,对于我自己而言,da'bu'fen

2014-05-29 15:52:29 2347

原创 Python面向对象编程-封装

大家使用Python这门语言,大多是作为一门脚本语言来使用。这里熟悉下python的面向对象的特性。1、几个基本概念1.1 面向过程和面向对象根据操作数据的函数或语句块来设计程序的过程,叫做面向过程编程。与之相对应的,如果把数据和功能结合起来,用称为对象的东西包裹起来,这种组织程序的方法称为面向对象的编程。面向对象的编程一般用在稍微大型的项目或者是要求更加合理的解决方案的场合,相对与面

2014-05-19 17:11:26 1851

原创 python文件读写操作

python中,可以通过open()函数打开一个文件创建一个file类的对象来操作文件,也可以在打开文件创建file对象时指定文件打开的模式(如果没有指定打开模式,默认为r),来决定能对文件进行的操作。这里说的文件读写操作就是利用file类中提供的read、readline、readlines和write等方法来操作文件。1、read和writeread([size]) -> read a

2014-05-11 15:25:30 3214

原创 Python全局变量和局部变量

简单地说,在python中,在函数内部定义的变量称为局部变量。在函数wai'bu

2014-05-09 00:38:54 5744 2

原创 Unix shell输入输出重定向

写程序的时候,适当地打印出一些进度或者日志信息

2014-05-04 01:00:28 2171

原创 unix改变shell显示颜色

shell下面想通过改变显示内容的颜色来xian

2014-04-29 00:50:59 1937

原创 循环链表与双向链表

1、循环链表循环链表也是一种链式存储结构,他的

2014-04-21 14:55:36 2416 2

原创 静态链表

在有些没有指针类型的语言中,可以使用一维数组来实现链表

2014-04-18 11:29:20 1406

原创 数据结构_线性表

线性结构有这样的特点,在数据元素的非空有限集中:(1)存在唯一的一个被称作“第一个”的元素;(2)存在唯一的一个被称作“最后一个”的数据元素;(3)除第一个之外,集合中的每个数据元素均只有一个前驱;(4)除最后一个之外,集合中的每个数据元素均只有一个后继。1、介绍线性表(linear List)是最常用而且最简单的一种数据结构,简单地说,一个线性表是n个数据元素的有限序列。在稍微复杂的线性

2014-04-09 12:42:08 4148

原创 VMware、Centos和Unity模式以及其它VMware虚拟机相关

这里用的是centos 6.4的64位版本。1、双系统和虚拟机刚学Linux的时候,老师强调不要用虚拟机,因为可能会比 cd /tmp/vmware-tools-distrib/较卡,而且ubuntu有非常方便的五笔安装,所以一般会双系统的方式来用linux。转眼间几年过去了(且不讨论时间都去哪儿了),现在我觉得这个方式最大的问题在于在Linux和windows之间切换比较麻烦,还得重启。

2014-04-08 10:58:17 9515 1

原创 数据结构_栈

栈和队列是两种重要的线性结构。从数据结构的角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此,可以称它们为限定性的数据结构。但从数据类型角度看,它们是和线性表大不相同的两类重要的抽象数据类型。1、介绍栈(stack)是限定仅在表尾进行插入或删除操作的线性表。因此,对于栈来说,表尾端有其特殊含义,称为栈顶(top),相应地,表头端称为栈

2014-03-31 22:58:51 784

原创 C语言内存分配函数malloc、calloc和realloc

C语言中常用的内存分配函数有malloc、calloc和realloc等三个,其中,最常用的肯定是malloc,这里简单说一下这三者的区别和联系。1、声明这三个函数都在stdlib.h库文件中,声明如下:void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(si

2014-03-31 20:14:11 4467

原创 如何判断机器是大端还是小端

这是一篇没多少新意的文章,对big endian和little endian熟悉的人没必要看,免得浪费时间。1、概念所谓大端小端,指的是对于多字节的数据类型(比如,int)在内存中存放的字节顺序。小端是指低地址的字节存放的是数据的低位,高地址字节存放的是数据的高位。大端是指低地址字节存放的是数据的高位,高地址字节存放数据的高位。简单地说,低位字节存放数据的高位就是大端,低位就是小端。下

2014-03-20 23:46:38 1398

原创 Gitlab搭建

下面是gitlab官网上面的安装说明,复制过来的。因为折腾起来的确挺费劲,所以这里把要注意的几个没说清楚的地方记录下。OverviewThe GitLab installation consists of setting up the following components:Packages / DependenciesRubySystem UsersGitLab she

2013-12-18 13:24:54 1843

java连接MongoDB的jar包

java连接MongoDB的jar包,亲测可用。连接实例见博客。

2013-07-05

java连SqlServer所需jdbc驱动

java连SqlServer所需jdbc驱动 结合文章链接

2013-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除