
读书笔记
文章平均质量分 64
rucefan
人的记忆力就是这样,所以一旦选择了一个行业,最好不要轻易转行,因为很多知识需要不断的重复才能真正的掌握,而一个行业又需要很多真正掌握的知识,有人称这是积累的过程。不管怎么说,不论哪个行业都不是熬几个通宵就搞定的。而你的积累也就变成想转此行别人的壁垒,你积累的越多,壁垒也就越高。所以一旦选择,就要一直走下去,相信不久的将来你会看到不一样的曙光,因为有很多人在路上半途而废。我坚信这一点。
展开
-
最大类间方差法(大津法OTSU)
public static byte OstuThreshold(Bitmap bitmap) { byte threshold = 128; if (bitmap.PixelFormat == PixelFormat.Format8bppIndexed) { Rect原创 2012-05-05 21:07:55 · 1286 阅读 · 0 评论 -
Linux进程管理
一、 &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &,二、ctrl + z可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行 三、jobs查看当前有多少在后台运行的命令jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前转载 2014-11-10 23:19:44 · 422 阅读 · 0 评论 -
How to Enable IP Forwarding in Linux
By default any modern Linux distributions will have IP Forwarding disabled. This is normally a good idea, as most peoples will not need IP Forwarding, but if we are setting up a Linux router/gateway转载 2014-11-10 23:31:43 · 624 阅读 · 0 评论 -
全虚拟化&半虚拟化&硬件辅助搜索虚拟化&操作系统级虚拟化
全虚拟化(Full Virtulization)简介:主要是在客户操作系统和硬件之间捕捉和处理那些对虚拟化敏感的特权指令,使客户操作系统无需修改就能运行,速度会根据不同的实现而不同,但大致能满足用户的需求。这种方式是业界现今最成熟和最常见的,而且属于 Hosted 模式和 Hypervisor 模式的都有,知名的产品有IBM CP/CMS,VirtualBox,KVM,VMware Works转载 2014-10-26 22:40:36 · 1100 阅读 · 0 评论 -
Linux虚拟机网卡改名方法
因为虚拟机的配置是需要通过其他初始化脚本来生成的,所以网卡的设备名不能改变,如果需要把eth3修改为eth0以rhel6为例,把以下文件作修改如下:1、把eth0 ,eth1 ,eth2的相关行删除掉2、把eth3的相关行保留,并把eth3改为eth0即可。[root@ovm0246 ~]# vim /etc/udev/rules.d/70-persistent-n转载 2014-10-30 22:18:54 · 1526 阅读 · 0 评论 -
PO、VO、BO、DTO、POJO、DAO之间的关系
PO:persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。BO:business object业务对象主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会关系等等。我们可以把教育经历转载 2014-12-28 22:54:21 · 498 阅读 · 0 评论 -
shell编程中用到的特殊变量
shell中定义一个数组: arrayname=(value1 value2 ... valuen);获取数组元素的个数: 那么${#arrayname[@]}表示数组中元素的个数。特别注意: 在shell中分隔符是空格"",不能用","。获取数组中的一个元素: $arrayname[index]修改转载 2015-07-12 21:59:18 · 486 阅读 · 0 评论 -
Linux下新建分区步骤
1、fdisk /dev/sdx,指定待分磁盘,进入分区工具;2、根据提示划分好分区后输入w保存分区;3、执行partprobe使分区在系统中立即生效;4、执行mkfs.xxx /dev/sdx格式化新分区;5、执行mount即时挂载,若要重启仍可生效,添加分区信息到/etc/fstab文件。原创 2015-07-22 13:38:25 · 990 阅读 · 0 评论 -
修改initrd方法
打开终端,进入initrd.gz所在目录,先解压initrd.gz:#gunzip initrd.gz 在当前目录下建立一临时目录tmp:#mkdir tmp#cd tmp把上级目录内解包的initrd进一步用cpio解包:#cpio -i -F ../initrd对目录内解包的initrd导出清单列表以便反向封包时用:#cpio -i -t -F ../initrd转载 2015-08-20 09:54:19 · 909 阅读 · 0 评论 -
如何统计Python代码行数
import osimport sys# Scan all python files name and path.def _scan_file_by_type(file_path, last_dir, file_type, file_list): if last_dir == '': full_path = file_path else:原创 2015-10-29 15:36:01 · 1311 阅读 · 0 评论 -
如何定制支持用户自定义boot参数的基于debian os的live cd
Step 1 – Installing the necessary softwareapt-get install xorriso live-build syslinux squashfs-toolsStep 2 – Create a basic filesystemmkdir ~/livework && cd ~/liveworkdebootstrap --arch=amd64原创 2015-10-19 11:14:37 · 1600 阅读 · 0 评论 -
C++读取某一目录下的所有文件名
#include // project->settings->general->Use MFC in a shared DLL#include using namespace std;void FindAllFile(CString path, CString* filenames, int& count){ CFileFind finder; BOOL work转载 2012-12-12 16:16:55 · 813 阅读 · 0 评论 -
Linux虚拟机NAT共享上网设置方法
1.在虚拟机中设置网络适配器连接方式为NAT。2.打开虚拟网络编辑器,查看NAT标签下的网关设置,并开启服务。3.打开Linux中的网络配置,注意到最后设置完后,需要在此激活。4.双击上图中红色圈定部分,打开网络设备配置选项卡,默认网关和子网掩码按照第二步查看到的值填写,IP地址只要末尾字段与默认网关不同就行。5.查看宿主机DNS。6.将Li原创 2012-05-20 18:33:26 · 841 阅读 · 0 评论 -
Visual Studio中如何删除所有空行?
Enter: Ctrl+H Find what: ^:b*$\n Replace with: [Empty] Look in: Current Document Find Option: Use Regular Expressions Click: Replace All在正则表达式^:b*$\n中,^表示一行的开始,$表示一行的结束,:b表示空格或tab,*表示0个或多个。\n表示换行符。转载 2012-05-05 20:41:36 · 1579 阅读 · 0 评论 -
Laplacian of Gaussian (LoG)
As Laplace operator may detect edges as well as noise (isolated, out-of-range), it may be desirable to smooth the image first by convolution with a Gaussian kernel of widthof Gaussian (LoG)" height=转载 2012-05-09 15:43:10 · 437 阅读 · 0 评论 -
用C语言写出带有面向对象特点的程序
比如在一个项目中,有大量的数据结构,他们都是双向链表,但又想共用一套对链表的操作算法,这怎么做到呢,C中又没有C++中的继承,不然我可以继承一父(类中只有两个指针,一个向前一个向后),而其算法可以写在你类中的虚函数中,供子类使用。如:class Links{public: Links* back; Links* forword; virtual Add()转载 2012-05-27 22:06:41 · 448 阅读 · 0 评论 -
寻找有向图的强连通分支
求有向图G的强连通分支可以通过下面的步骤进行:(1)对G执行深度优先搜索,求出每个顶点的后序遍历顺序号postOrder。(2)反转有向图G中的边,构造一个新的有向图G*。(3)由最高的postOrder编号开始,对G*执行深度优先搜索。如果深度优先搜索未达到所有顶点,由未访问的最高postOrder编号的顶点开始,继续深度优先搜索。(4)步骤三所产生的森林中的每一棵树,对应于一个转载 2012-05-13 22:46:51 · 1607 阅读 · 0 评论 -
RHEL5.0 的软件包管理
RHEL(Red Hat Enterprise Linux)升级到5.0以后,开始用yum(Yellow dog Update Manager)来管理软件包,包括软件包的更新和补丁的下发。这个可不是一个小变化!这样以来: 1,如果没有购买 Redhat的订阅,就不能得到安装号码(注意不是开始安装时的序列号),从而不能注册系统,就不能得到红帽的软件更新和补丁服务; 2,“添加/删转载 2012-05-13 23:14:34 · 453 阅读 · 0 评论 -
递归VS非递归
递归与非递归转换的基础知识是能够正确理解三种树的遍历方法:前序,中序和后序,第一篇就是关于这三种遍历方法的递归和非递归算法。一、为什么要学习递归与非递归的转换的实现方法?1)并不是每一门语言都支持递归的。2)有助于理解递归的本质。3)有助于理解栈,树等数据结构。二、三种遍历树的递归和非递归算法递 归与非递归的转换基于以下的原理:所有的递归程序都可以用树结构表示出来。需要说明转载 2012-05-13 23:23:11 · 450 阅读 · 0 评论 -
KMP算法深度解析
摘要:KMP算法是字符串匹配的经典算法,由于其O(m+n)的时间复杂度,至今仍被广泛应用。大道至简,KMP算法非常简洁,然而,其内部却蕴含着玄妙的理论,以至许多人知其然而不知其所以然。本文旨在解开KMP算法的内部玄妙所在,希望能够有助于学习与理解。1、KMP算法 一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此称之为KMP算法。此转载 2012-05-13 23:09:32 · 522 阅读 · 0 评论 -
C/C++返回内部静态成员的陷阱
背景在我们用C/C++开发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困扰和很多开发人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放,所以,你一定要返回一块函数外部还有效的内存。这是一个让无数人困扰的问题。如果你一不小心,你就很有可能在这个上面犯错误。当然目前有很多解转载 2012-06-04 20:19:22 · 413 阅读 · 0 评论 -
如何使用virtualbox+devstack搭建neutron网络模式的openstack
本地搭建openstack环境最方便的方式还是使用虚拟机,目前主流的虚拟化软件有vmware workstation和oraclevirtualbox,推荐使用virtualbox,虽然没有workstation功能全面但免费轻量,完全能够满足需求。网络配置是openstack中比较复杂的内容,即使使用devstack这种自动化工具搭建也不是件容易的事,一开始参照网上别人的经验反复尝试,单网卡,双原创 2015-12-18 08:39:43 · 1159 阅读 · 0 评论