- 博客(138)
- 资源 (59)
- 收藏
- 关注
原创 递归和分治
分治(divide and conquer)是基于多分枝递归的一种算法。简单的说就是把一个大问题分解为多个类型相同的子问题,最后把这些子问题的解合并起来就是问题的解。我们看一下典型的递归和分治算法。问题1: 插入排序的递归算法思路:1.首先找到突破点->> 如果共有n个数,如果前面n-1个都已排序,那么我只要把最后一个数插入到正确的位置即可。那如何让前n-1个都已排序呢,如
2012-08-29 00:34:57 7628
原创 浅析函数调用过程
一个函数到底是怎么调用的,返回值是如何返回的,这里面学问真的很多,让我们来小小的分析一下。。。。我们看一个很简单的C代码,通过gdb调试来分析函数调用过程。平台和工具:ubuntu12.04+gcc 4.6.3+GNU gdb 7.4-2012.04cs.c:int add(int a,int b){ return a+b;}int main(){int a=1;
2012-08-21 22:29:16 1794
原创 unix文件系统模拟-操作系统课程设计
本周进行操作系统课程设计,在很多的题目中选了个unix文件系统模拟,主要就是操作结构与文件。为了方便,文件系统结构如下:Super block -- Block bitmap -- Inode bitmap -- Inode table -- Block zone其中:Super block: 存储基本信息Block bitmap:块分配情况Inode bitma
2012-06-21 20:14:09 8099 3
原创 C语言实现MAC帧的封装与解封装
这周做计算机网络课程设计,在几个题目中选了个MAC帧的封装.首先看最后结果:这里有个bug,不知道为什么帧前导码和帧定界符前多了FFFFFF,我自己没搞懂???程序如下:/*目标:封装1.将inputFile文件中的数据封装成MAC帧,封装好的MAC帧写入outputFile文件中.2.如果数据长度小于46字节,则补全到46字节3.如果数据长度大于
2012-06-14 16:36:05 7438 4
原创 C链表和文件操作实战--图书管理系统
这个貌似是我们大一的C语言课程设计,当时是从网上下的代码,然后修改了一下.现在想想好惭愧,哎我好想重新开始,以前自己的确失去了好多东西,希望今后的自己好好......时间过的真快,现在都大三了,马上也要滚蛋了,再滚蛋之前好好修炼内功.于是我又重新拾起了久违的C语言,用了几天时间认真看完了Programming in c,个人觉得这本书讲得真好,收益亮多.回想起大一学的C语言,我们用的教材是
2012-05-26 19:52:18 23484 13
原创 C语言中,你不得不知的位运算符特性
我突然问你,-1用二进制如何表示?你最快多久能给我答案????,-1全是1啊二进制如何表示负数最左一位表示正负----->1为负,0为正将-5用二进制表示:好的算法:(1)先加1,得-4(2)求绝对值,得4(3)二进制表示:00000100(4)求补: 11111011以前我都是这么算的:-5->10000101求补->11111010加1 ->1
2012-05-23 23:41:58 2260 1
原创 C语言计算任意两日期之间天数
今天复习了会Program in c,有道题目计算任意两个日期之间的天数:想了好久,最后写了一个很挫的程序.....#include struct date{ int year; int month; int day;};int main(void){ int isPrime(int year); int dateDiff(struct date mindate,
2012-05-22 22:24:06 41165 16
原创 ubuntu安装vncserver后,一按字母D键,显示桌面,终端消失.....
据说这是一个bug,不过也不算,快捷键冲突常有的事.安装好vncserver后,从客户端登陆,一按D键就显示桌面安装gconf-editord键都不能用了,这玩意怎么装?呵呵,一个办法就是到机器前,....可是我的不在面前啊,这时候可以借助工具了,我用的是xmanager启动xstart:我选择的是7GNOME,点击Runxmanager还是
2012-05-20 16:37:17 3846
原创 python实战--web.py实战(开发新浪微博应用)
刚刚接触web.py,喜欢它的简洁与简单......于是打算实践一下,就有了下面的东西.感觉写的不是很好,有很多需要改进的地方....主要代码如下:#coding=utf-8"""本应用主要功能1.用户选择喜欢的标签加关注2.获取用户粉丝中自己还没有关注的,->加关注,提高粉丝稳定性3.获取用户关注列表中没有回粉的,并可以一键取消关注2,3两个功能基本实现,有一缺点,数据量
2012-05-17 23:07:00 29477 16
翻译 Step-by-Step SqlAlchemy Tutorial (part 2 of 2)
在Step-by-Step SqlAlchemy Tutorial的第一部分(点击打开链接),我们调用SqlAlchemy的SQL表达式与数据库交互。在我们开始更高级和更加抽象的方法之前,我们需要学习更加抽象的方式做事情。这就像许多数学课程一样,比如微积分,在你知道捷径之前,你需要很长时间去学习发现一些微积分的标准偏差。在第二部分,我们将用简单的方法去应用SqlAlchemy。它被
2012-04-22 15:54:43 2499
翻译 Step-by-Step SqlAlchemy Tutorial(part 1 of 2)
一直觉得orm很高深,今天时间比较充分打算学习下安装说一点,我的系统是win7 64位家庭普通版用easy_install安装sqlalchemy出现问题,于是下载最新版0.7.6的zip压缩包,用python setup.py install出现错误:WARNING: The C extension could not be compiled, speedups are not
2012-04-22 01:35:03 4737
原创 MongoDB入门
一、 MongoDB简介 MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。二、 Windows下
2012-04-21 16:47:08 15285 3
原创 pyqt开发新浪微博粉丝聊天软件v1(图形界面)
pyqt开发新浪微博粉丝聊天软件v1(图形界面):实现效果如下:当你点击聊友时:弹出聊天对话框当点击我自己时,弹出我所在的IP地址:代码如下:# -*- coding: utf-8 -*-from PyQt4.QtGui import *from PyQt4.QtCore import *import sysimport logging
2012-04-18 13:17:02 4333 5
原创 使用SecureCRT连接Dynamips时, 报错:The remote system refused the connection??前几天还是好好的,奇怪。。
这个问题真的很纠结,前几天明明还是可以的,今天就提示连接不上了,为什么呢?看下面这张截图:不对啊,系统怎么将localhost解析成IPV6地址的本地环回口啊?问题找到了,系统将localhost解析错了,那么如何解决呢?有两种办法:##1.修改dynamips的配置文件打开dynagen.ini,将下面这行telnet = start C:\SecureCRT
2012-03-15 10:26:20 18091
转载 PPP详解
首先看看”SLIP“协议。改协议可以理解为PPP的一个简化版本,对于加深对PPP协议的理解有些帮助。 此外,通过观察“SLIP”协议的一些不足,可以让我们更加深入的理解PPP协议的设计的巧妙和针对性SLIP简单封装方式的缺陷:因为没有一个协商的过程,所以很多参数(比如ip地址)就需要实现直到没有一个域来指定上层协议,所以这里肯定只能使用一种协议,而且因为
2012-03-10 21:32:54 2592
原创 SELinux详解(1)
#一.常见的读取控制机制1.DAC(Discretionary Access Control ):任意读取控制 在此机制下,每一个对像都会记录一个拥有者的信息,只要是对象的拥有者,就可以获得对该对象的完全控制。传统的UNIX系统提供的安全机制就是DAC思维。2.MAC(Mandatory Access Control):强制读取控制 在MAC机制下,会为每一个对
2012-03-10 17:25:32 10206
转载 screen命令使用方法
三、screen命令使用方法?1、常用的使用方法用来解决文章开始我们遇到的问题,比如在安装lnmp时。1.1 创建screen会话可以先执行:screen -S lnmp ,screen就会创建一个名字为lnmp的会话。 VPS侦探 http://www.vpser.net/1.2 暂时离开,保留screen会话中的任务或程序当需要临时离开时(会话中的程序不会关闭,仍在运行
2012-03-08 22:08:46 2784
原创 PAM常见的实操案例
#1.怎样才能强迫用户设置的密码不能与过去3次内的密码重复?修改/etc/pam.d/system-auth,增加pam_unix.so的参数,如下password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=3#2.如何要求用户设置的密码必须包含5个数字,3
2012-03-07 22:00:39 11407
原创 dynamics 关联SecureCRT,以及SecureCRT基本设置Python小脚本
##一.修改dynagen.ini配置文件 #1.注释掉原本telnet使用的putty#telnet = start ../bin/putty/putty %h %p #2.添加SecureCRT启动信息telnet = start C:\SecureCRT\SecureCRT.exe /SCRIPT C:\Users\dell\Desktop\Dynamips@ED
2012-03-06 19:43:54 9208
原创 SecureCRT 的一些快捷键
Alt + Enter -- 全屏Alt + B --打开新的连接Alt + 1/2/3/4/5.../9 -- 切换到第1/2/3/4/5.../9个标签Ctrl + A -- 光标移至行首。Ctrl + B -- 光标前移1个字符Ctrl + D -- 删除光标后1个字符Ctrl + E -- 光标移至行末Ctrl + F -- 光标后移1个字符Ctrl + H -- 删除光
2012-03-04 09:28:59 5302 1
转载 Linux-PAM
PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系 统中添加新的认证手段。PAM最初是集成在Solaris中,目前已移植到其它系统中,如Linux
2012-02-24 21:22:15 13903
原创 python获取本地位置和天气
python获取本地位置和天气觉得最大的难点就是如何将汉字转换成拼音,这是我的网盘下载地址:点击打开链接 #encoding=gbkimport urllibimport sysimport reimport pinyincity_info=urllib.urlopen( 'http://pv.sohu.com/cityjson').read()print city_inf
2012-02-23 21:54:41 5470 1
原创 python构建XML树结构
#1.构建XML元素#encoding=utf-8from xml.etree import ElementTree as ETimport sysroot=ET.Element('color') #用Element类构建标签root.text=('black') #设置元素内容tree=ET.ElementTree(root) #创建数对象,参数为根节
2012-02-18 22:33:22 4624
原创 python对XML文档的良构性和有效性验证
### 一 .XML文档的结构良好性验证结构良好的xml文档,需要遵守下面这些规则:1.所有开始标签必须有对应的结束标签2.元素可以嵌套,但是不可以重叠3.有且只能有一个根元素4.属性值必须使用引号5.一个元素不能有两个同样属性名字的属性6.注释不能出现在标签内部7.没有转义的" ### 二.如何检查XML文档是否是良构的test.xml如下:
2012-02-17 13:25:30 11828 2
转载 python time模块详解
python 的内嵌time模板翻译及说明 一、简介 time模块提供各种操作时间的函数 说明:一般有两种表示时间的方式: 第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的 第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不
2012-02-16 21:20:07 1550
原创 python对XML的解析
python有三种方法解析XML,SAX,DOM,以及ElementTree###1.SAX (simple API for XML ) pyhton 标准库包含SAX解析器,SAX是一种典型的极为快速的工具,在解析XML时,不会占用大量内存。但是这是基于回调机制的,因此在某些数据中,它会调用某些方法进行传递。这意味着必须为数据指定句柄,以维持自己的状态,这是非常困难的
2012-02-16 20:09:49 49278 2
原创 python re模块编译代码与非编译代码性能检测
首先创建1000万条测试数据,如下所示统计一下行数### 一:re非编译代码性能检测:import redef run_re(): pattern='12' infile=open('cs.txt','r') matchcount=0 lines=0 for line in infile: match=r
2012-02-16 10:59:08 2429
原创 LNMP一键安装包0.7版配置pathinfo模式
LNMP一键安装包0.7版配置pathinfo模式:修改:nginx.conf修改前:location ~ .*\.(php|php5)?${fastcgi_pass unix:/tmp/php-cgi.sock;fastcgi_index index.php;include fcgi.conf;include fastcgi.conf;}修改
2011-12-27 19:39:42 2109
转载 socket编程:SO_REUSEADDR例解
SO_REUSEADDR有什么用处和怎么使用。而且很多网友在编写网络程序时也会遇到这个问题。所以特意写了这么一篇文章,希望能够解答一些人的疑难。 其实这个问题在Richard Stevens的《Unix网络编程指南》卷一里有很详细的解答(中文版P166-168页)。这里我只是写几个基本的例子来验证这个问题。 首先声明一个问题:当两个socket的address和
2011-12-25 09:48:46 1475
原创 python实现的文本编辑器
wxpython实现的文本编辑器效果如下:主要功能:1.编辑保存文本,打开修改文本2.常用快捷键,复制,粘贴,全选等3.支持撤销功能4.支持弹出式菜单代码如下:#encoding=utf-8import wximport osclass MyFrame(wx.Frame): def __init__(self):
2011-12-23 14:50:15 11671 9
原创 I/O多路复用服务器编程
<!--@page {margin-left:1.25in; margin-right:1.25in; margin-top:0.59in; margin-bottom:0.69in}h1 {margin-top:0.24in; margin-bottom:0.23in; line-height:200%; page-break-inside:avoid}
2011-12-13 19:46:56 4308 1
原创 多线程并发服务器编程
<!--@page {margin-left:1.25in; margin-right:1.25in; margin-top:0.59in; margin-bottom:0.69in}h1 {margin-top:0.24in; margin-bottom:0.23in; line-height:200%; page-break-inside:avoid}
2011-12-12 09:47:45 14108 1
原创 多进程并发服务器编程
<!--@page {margin-left:1.25in; margin-right:1.25in; margin-top:0.59in; margin-bottom:0.69in}h1 {margin-top:0.24in; margin-bottom:0.23in; line-height:200%; page-break-inside:avoid}
2011-12-10 22:27:11 16260 2
原创 名字与IP地址转换编程
名字与IP地址转换编程一、实验目的理解名字与IP地址的转换函数,实现主机名与IP地址之间的转换。学习和掌握Linux下的gethostbyname()和gethostbyaddr()函数基本原理和基本编程方法。二、实验平台ubuntu-8.04操作系统三、实验内容1、利用gethostbyname()函数编程实现名字解析,将主机名转换成相应IP地址。2、利用gethos
2011-12-09 23:11:54 4654
原创 UDP服务器端和客户端程序设计
实验三 UDP服务器端程序设计一、实验目的学习和掌握Linux下的UDP服务器基本原理和基本编程方法,体会与TCP的区别,TCP编程:http://blog.csdn.net/yueguanghaidao/article/details/7035248二、实验平台ubuntu-8.04操作系统三、实验内容编写Linux下UDP服务器套接字程序,服务器接收客户端发送的信息并显
2011-12-09 10:44:29 95489 9
原创 虚拟机redhat三种上网方式(bridged,nat,host-only)配置知多少
一:Bridged方式:将上网方式修改为bridge#1.修改 /etc/sysconfig/network-scripts/ifcfg-eth0:#2.修改/etc/resolv.conf其实这个配置文件也可以不修改,使用bridged,会自动侦测。#3.测试:二:nat方式将上网方式修改为nat模式,与主机共享IP地址
2011-12-07 14:31:19 4016
原创 使用nat方式搭建虚拟机web(lnmp)服务器+svn服务器
需求:在centos中使用nat方式搭建nginx+php+mysql+phpmyadmin+svn服务,并通过本机浏览器访问。下面开始吧:一:将虚拟机设置为nat方式二:让centos通过nat能连接互联网 #1.修改 /etc/sysconfig/network-scripts/ifcfg-eth0 配置文件 vi /etc/sysconfig
2011-12-04 14:12:17 5805
原创 TCP服务器端和客户端程序设计
一、实验目的学习和掌握Linux下的TCP服务器基本原理和基本编程方法,体会TCP与UDP编程的不同,UDP编程:http://blog.csdn.net/yueguanghaidao/article/details/7055985二、实验平台Linux操作系统三、实验内容编写Linux下TCP服务器套接字程序,程序运行时服务器等待客户的连接,一旦连接成功,则显示客户的IP地址
2011-12-02 17:40:59 108398 13
转载 Centos 安装nginx+mysql+php+phpmyadmin 的shell脚本
#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATH# Check if user is rootif [ $(id -u) != "0" ]; then echo "Error: You must be root to run this scr
2011-11-30 20:34:05 4621
转载 CentOS 安装nginx+php+mysql
系统:CentOS 5.2 Nginx:0.9.5 php:5.3.5 MySQL:5.1.30 这时再一个网友博客的基础上,结合我自己实践,得出来的,花了好多时间。可能有人要问,为什么不采用现在最流行的lamp环境呢,web服务不能用apache么?为什么非要用nginx呢?这里需要说一下,Nginx 是一个轻量级的高性能 Http WebSe
2011-11-30 01:48:05 5628
数据科学实战
2018-04-12
图解机器学习
2018-04-12
白话统计学
2018-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人