- 博客(259)
- 资源 (13)
- 收藏
- 关注
转载 例解 Linux 下 Make 命令
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题。本文我们将用一些实例来讨论 make 命令背后的工作机制。Make 如何工作的对于不知道背后机理的人来说,make 命令像命令行参数一样接收目标。这些目标通常存放在以 “Makefile” 来命名的特殊文件中,同时文件也
2016-04-06 23:40:29 383
转载 SecureCRT rz 上传文件失败问题
在把Windows上的文件传至Linux端时用到SecureCRT,一般小文件都没有问题,文件太大时则出现了上传后的文件只有几K大小,当然大于2个G的是不可能传的上去的了。对于几百M到1G多的大文件要如下处理。单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。
2016-03-30 12:01:30 4181
转载 Linux的inode的理解
一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector
2016-03-28 19:26:13 355
转载 vi/vim编辑器必知必会
一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因: (1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。 (2)很多软件的编辑接口都会主动调用vi。 (3)vim具有程序编
2016-03-21 15:12:25 1779
转载 勿在头文件中定义static变量
一、问题看到有一位同学在头文件中这么写:static const wchar_t* g_str1 = …static const wchar_t* g_str2 = …这种定义变量的方式我从来没有见过,而且它还能顺利通过编译,于是我很想知道编译器是如何处理这种变量定义的。定义全局变量时使用static,意味着该变量的作用域只限于定义它的源文件中,其它源文件不能访问。既然这种定义方式出现在头文件中,
2016-02-29 22:05:20 20916 5
转载 (好)C++ 多继承和虚继承的内存布局
警告. 本文有点技术难度,需要读者了解C++和一些汇编语言知识。 在本文中,我们解释由gcc编译器实现多继承和虚继承的对象的布局。虽然在理想的C++程序中不需要知道这些编译器内部细节,但不幸的是多重继承(特别是虚拟继承)的实现方式有各种各样的不太明确的结论(尤其是,关于向下转型指针,使用指向指针的指针,还有虚拟基类的构造方法的调用命令)。 如果你了解多重继承是如何实现的,你就能预见到这些结论并运用
2016-01-28 21:06:41 7962
转载 用C++11的std::async代替线程的创建and std::future、std::promise和std::packaged_task
c++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的:void f(int n);std::thread t(f, n + 1);t.join(); 但是线程毕竟是属于比较低层次的东西,有时候使用有些不便,比如我希望获取线程函数的返回结果的时候,我就不能直接通过thread.join()得到结果,这时就必须定义一个变量,在线程函数中去给这个变量赋值,然
2016-01-27 18:04:47 3542
转载 友元类与友元函数的继承与传递问题
【转自:http://blog.csdn.net/yucan1001/article/details/6926087】 C++ Primer中有如下描述:友元关系不能被继承,基类的友元对派生类没有特殊的访问权限。 然而通过实践发现,VS编译器并没有安装上述描述来处理,下面的规则与上述描述相悖,却符合VS编译器的处理规则。 注:有待通过g++编译器来验证。
2016-01-27 16:17:01 2132
原创 Python中通过多个字符分割(split)字符串的方法
python中字符串自带的split方法一次只能使用一个字符对字符串进行分割,但是python的正则模块则可以实现多个字符分割import rere.split('_#|','this_is#a|test')返回的是一个列表(list),输出结果如下:['this', 'is', 'a', 'test']
2015-09-08 21:47:02 72015 8
原创 Python爬虫教程——实战二三四五
后面几个实战暂时不看了,备注一下吧Python爬虫实战二之爬取百度贴吧帖子Python爬虫实战三之计算大学本学期绩点Python爬虫实战四之抓取淘宝MM照片Python爬虫实战五之模拟登录淘宝并获取所有订单
2015-09-05 02:18:36 1504
转载 Python爬虫教程——实战一之爬取糗事百科段子
大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧。那么这次为大家带来,Python爬取糗事百科的小段子的例子。首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来。友情提示糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故。现在,博主已经对程序进行了重
2015-09-05 02:13:59 2269
转载 Python爬虫教程——进阶一之爬虫框架Scrapy安装配置
初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下。Windows 平台:我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同。官网文档:http://doc.scrapy.org/en/latest/intro/install.ht
2015-09-05 01:53:04 1478 1
转载 Python爬虫教程——入门七之正则表达式
在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式!1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是用来匹配字符串非常强大的工具,在其他编程语言
2015-09-05 01:32:47 1208
转载 Python爬虫教程——入门六之Cookie的使用
大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用。为什么要使用Cookie呢?Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到
2015-09-05 01:10:40 2834
转载 Python爬虫教程——入门五之URLError异常处理
大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理。1.URLError首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常。下面是一个例子,先感受下它的风骚import urllib2requset = urllib
2015-09-05 00:23:58 3291
转载 Python爬虫教程——入门四之Urllib库的高级用法
1.设置Headers有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性。首先,打开我们的浏览器,调试浏览器F12,我用的是Chrome,打开网络监听,示意如下,比如知乎,点登录之后,我们会发现登陆之后界面都变化了,出现一个新的界面,实质上这个页面包含了许许多多的内容,这些内容也不是一次性就加载完成
2015-09-05 00:20:42 1637
转载 Python爬虫教程——入门三之Urllib库的基本使用
那么接下来,小伙伴们就一起和我真正迈向我们的爬虫之路吧。1.分分钟扒一个网页下来怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS、CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服。所以最重要的部分是存在于HTML中的,下面我们就写个例子来扒
2015-09-05 00:14:53 1515
转载 Python爬虫教程——入门一之爬虫基础了解
1.什么是爬虫爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。2.浏览网页的过程在
2015-09-05 00:08:23 2852
转载 Python爬虫教程——入门一之综述
(from me:偶然看到一个python爬虫系列教程,写的很详细,通过step by step,便可以从入门逐步深入,这里就偷懒直接转了,格式上再整理一下。)Python版本:2.7,Python 3请另寻其他博文。首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。根据我的经验,要
2015-09-05 00:06:16 3765
转载 理解Python中的with…as…语法
先说明一个常见问题,文件打开:try: f = open('xxx') do somethingexcept: do somethingfinally: f.close()其实我个人不止一次在网上看到有这么写的了,这个是错的。 首先正确的如下:try: f = open('xxx')except: print 'fail to open'
2015-08-29 17:33:50 2277 1
原创 正则表达式快速入门
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。所以我们判断一个字符串是否是合法的Email的方法是: 创建一个匹配Email的正则表达式; 用该正则表达式去匹配用户的输入来判断是否合法。 因为正则表达式也是用字符串表示的,所以,我们要首先了解如何用字符
2015-08-22 14:55:53 556
转载 boost::any的用法、优点和缺点以及源代码分析
boost::any用法示例:#include <iostream>#include <list>#include <boost/any.hpp>typedef std::list<boost::any> list_any;//关键部分:可以存放任意类型的对象void fill_list(list_any& la){ la.push_back(10);//存放常数
2015-08-20 20:20:46 4753
转载 (!)Python 各种测试框架简介
一、doctestdoctest 是一个 Python 发行版自带的标准模块。本篇将分别对使用 doctest 的两种方式——嵌入到源代码中和做成独立文件做基本介绍。1.doctest的概念模型在 Python 的官方文档中,对 doctest 的介绍是这样的: doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果即使从没接触过 doctest,我
2015-08-11 09:40:24 12838 2
原创 [Python]psutil模块:用于获得处理器、系统和进程相关信息
模块地址:https://pypi.python.org/pypi/psutil/psutil功能提供接口可以用来获取信息,包括:当前运行的进程系统(资源使用)信息 CPU 内存 磁盘 网络 用户安装:windows下安装比较简单,从这里下相应的安装包exe,傻瓜安装即可。psutil区分python2.7和python3.x,所以针对自己的环境下不同的包。测试写了一段代码,主要测试
2015-07-26 20:55:34 3687
转载 std::advance 给迭代器增加指定偏移量
template < class InputIterator, class Distance > void advance (InputIterator& it, Distance n); 迭代器辅助函数。 使迭代器it偏移n,其中n为整数。#include <iostream> // std::cout#include <iterator> // std:
2015-06-16 19:34:50 5081 3
原创 System权限下进程遇到的问题以及如何降权启动进程
一. 背景最近项目上踩到一个坑,即偶现升级过程中通过计划任务调起新安装包,程序安装到了错误的地方,并且桌面快捷方式等入口均没有生成,总而言之就是一个“自杀”行为。二. 原因通过测试发现原因:在有些情况下,通过计划任务(通过服务也是如此)调起的进程是system权限的。而在system权限下进程可能会遇到很多问题: 通过注册表或expand 环境变量等方法得到的系统目录并不是我们想要的,例如
2015-06-10 20:23:57 8700 2
原创 Win7桌面移到其他磁盘方法
桌面文件是默认存储在C盘的。有时整个系统崩溃,无法进入系统只能重装的时候,将会导致桌面上的资料全部丢失,损失很大。另外,桌面文件放太多也导致电脑运行的非常缓慢。那么Win7系统桌面要怎么移动呢?在win7系统中每个帐户的桌面文件夹都是独立存在的,而且个人文件夹存放路径也可以修改,通常我们可以将他移动至D盘或者其他的盘。方法:更改注册表中桌面路径 步骤: 1. 先在d盘建一个文件夹,如建立一个De
2015-06-03 21:42:33 3238
转载 Python文档生成工具pydoc
在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc、doxygen、sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介绍pydocpydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的、也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现!【用法】Windows
2015-06-03 21:34:02 2458
原创 Python-中文编码
编码以’哈’来解释作示例解释所有的问题,“哈”的各种编码如下: 1. UNICODE (UTF8-16),C854; 2. UTF-8,E59388; 3. GBK,B9FE。 python中的中文编码就是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个什么东西呢? 在python中提到unicode,一般指的是unicode对象,
2015-06-01 00:41:56 2615
转载 UAC提升权限的细节
UAC提升权限的细节一,桌面运行一个程序时桌面运行一个程序时,Explorer调用ShellExecuteEx(),ShellExecuteEx()进一步调用CreateProcess()创建进程,由于这个进程需要管理员权限才能运行,于是CreateProcess返回ERROR_ELEVATION_REQUIRED (740);二,ShellExecuteEx接到这个返回值后ShellExecute
2015-05-28 20:40:17 3228
原创 python的range()函数,list的slide用法
1.range()用法代码>>> range(1,5) #代表从1到5(不包含5)[1, 2, 3, 4]>>> range(1,5,2) #代表从1到5,间隔2(不包含5)[1, 3]>>> range(5) #代表从0到5(不包含5)[0, 1, 2, 3, 4]2.list的slide用法array = [1, 2, 5, 3, 6, 8, 4] 其实这里的顺序标识是 [1,
2015-05-19 21:32:05 1772
原创 弹出UAC窗口让用户提权
这里讨论的UAC 自我提权是指:先检查当前进程的等级,然后弹出窗口显示提醒用户进行授权。 最重要的代码: // 1.Check the current process's "run as administrator" status BOOL fIsRunAsAdmin; try
2015-03-30 20:26:58 4873
原创 OrderedDict 有序字典以及读取json串时如何保持原有顺序
OrderedDict是dict的子类,它记住了内容添加的顺序。比较时,OrderedDict要内容和顺序完全相同才会视为相等。示例:import collectionsd = collections.OrderedDict()d[3] = 'A'd[2] = 'B'd[1] = 'C'for k, v in d.items(): print k, v结果:
2015-03-04 21:02:29 18660 2
转载 boost::condition的用法
首先我们看只有一个reader/一个writer的情形#include #include #include #include #include int number;boost::mutex m;boost::condition not_full;boost::condition not_empty;void writer(){ while (1) {
2015-02-06 16:12:20 2619
转载 Python:文件操作技巧(File operation)
读写文件 # ! /usr/bin/python # -*- coding: utf8 -*- spath = " D:/download/baa.txt " f = open(spath, " w " ) # Opens file for writing.Creates this file doesn't exist. f.write( " First line 1.\
2015-01-30 20:52:07 722
原创 使用boost库serialize序列化map等STL容器的最常见错误——error C2039
error C2039: 'serialize' : is not a member of 'stdext::map'原因:因为序列化的是map类型,内部是多个键值对,如果序列化非集合类型应该不会出现这种错误 ,如果你序列化的是其他的集合类型,可以到boost/serialization/下对应的头文件,除此外还要加上boost链接库。解决方法:(1)一定要包含
2015-01-30 15:20:10 4891 1
转载 boost::condition_variable、boost::time_wait使用方法
boost的线程库不能强行终止,所以通过time_wait可以让其自然的结束#include #include #include #include #include using namespace std;using namespace boost;boost::mutex test_mutex;boost::condition_variable test_conditio
2014-12-26 00:25:09 9450
protobuf-2.4.1
2018-01-25
很全的驱动开发工具大全
2009-06-19
MFC有界面RSA加密解密算法实现
2009-05-22
华为3com内部绝密培训资料linux 基础
2008-12-30
学生成绩单存取(MFC单文档文件的保存和打开的两种方法)
2008-12-30
司机售票员PV操作MFC程序模拟
2008-12-30
基于对话框的MFC程序加载位图为背景图案
2008-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人