- 博客(77)
- 资源 (10)
- 收藏
- 关注
原创 Redis辅助构建投票网站后台
Redis作为一款非关系型内存数据库,因为其丰富的数据结构和较高的效率和易用性。在很多系统中比如分布式消息队列和大型网站的缓存服务器等都有大规模的使用。 下面以一个对文章投票的网站作为例子,简单介绍Redis的使用:1.实现文章投票功能实现一个投票系统,并能根据票数计算出一个随时间减少的分值,并限制超过一定时间之后不能再投票。 分值的计算方法是:Votes*ConstValue + Publis
2016-11-23 17:41:11 1673
原创 Redis设计与实现之复制
Redis中用户通过执行slaveof命令或者设置slaveof选项,让一个服务器去复制另一个服务器。被复制的称为主服务器(master),复制的称为从服务器(slave)。1,旧版复制功能及其缺点redis的复制功能,分为同步和命令传播两个操作: 同步:将从服务器的状态更新至主服务器目前所处的状态 命令传播:主服务器对数据库状态进行修改导致主从服务器状态不一致时,让主从服务器数据库恢复至统一状
2016-08-22 15:13:45 680
原创 Redis设计与实现之数据库
1,数据库 Redis使用redis.h/redisServer结构保存数据库状态。其中的数组redisDb *db,保存数据库中所有的数据库。另一个变量 int dbnum属性记录当前服务器中数据库的数量。dbnum默认为16,也就是redis初始化时会默认创建16个数据库。 2,切换数据库 每一个redis客户端都有自己的目标数据库,客户端执行数据库的写/读命令时目标数据库就是成为命令操作
2016-06-06 12:05:01 1126
原创 Django中加载js和css文件
Django中加载js和css文件项目的目录结构如下: mysite |-mysite |-|-static |-|-……js和css文件 |-|-|-init.py |-| |-models.py |-| |-views.py |-|-init.py |-|-settings.py |-|-urls.py |-templates
2015-07-17 16:01:35 6859 2
原创 Centos6.4安装opennebula
Centos6.4安装opennebula#安装163源http://mirrors.163.com/.help/CentOS6-Base-163.repo#安装epel源wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpmyum localinstall epel-*#验证查看是否
2015-07-16 19:28:28 2021
原创 修改grub解决计算机启动报错:ERROR 17
修改grub解决计算机启动报错:ERROR 17 原本计算机有C,D,E,F,G。C盘windows系统盘,G盘安装了Centos。后来由于需要,就压缩卷的方式从D盘压缩出一个H盘。然后再次启动计算机的时候就遇到了错误:ERROR 17原因: 就在于先安装windows后安装Linux这样的话,grub就由位于G盘的Centos引导,现在该分区之前又划分出一个新的逻辑分区,就导致磁盘系统符号
2015-07-16 10:29:17 6184
原创 我的MySQL使用手记
我的MySQL使用手记 近期在windows下使用MySQL,简单的记录下开发中遇到的一些问题1. char,varchar和text的区别
2015-06-14 11:25:06 1147
原创 eclipse:JVM terminated. Exit code=14
Linux下安装eclipse后运行,报错:JVM terminated. Exit code=14 解决办法:# vi /etc/eclipse.ini删除第一行:-PreventMasterEclipseLaunch Done
2015-04-20 22:28:29 2724
原创 Fedora20上源码安装Xen4.3.0
Fedora20上源码安装Xen4.3.01.环境介绍Linux: Fedora 20 X86_64 Xen: Xen 4.3.02.安装Fedora官网上下载镜像,U盘引导,完成安装。 详细问题见:Fedora20系统安装及配置3.安装所需要的工具包执行命令时都是在root权限下的。3.1更新yum# yum update3.2开发包# yum groupinstall "Developmen
2015-04-20 12:05:33 1375
原创 fedora20系统安装及配置
fedora20系统安装及配置刻录系统启动盘首先在官网下载fedora镜像文件,在windows下使用软碟通,打开映像文件,插入U盘,点击:启动->写入硬盘映像。U盘启动盘就做好了。 注:打开镜像文件后要确认,是否镜像里的所有文件都被读取到了,我第一次使用的软碟通有问题,只读取了部分文件。后来换了个版本的软碟通就好了。fedora20安装时的磁盘分区在windows下有一个空盘150G用于安装
2015-04-20 11:17:35 1948
原创 进程间的通信:管道
进程间的通信:管道 Linux中将命令联系到一起使用实际上就是把一个进程的输出通过管道传递给另一个进程的输入,这些都是shell封装好的,对标准输入和输出流进行了重新连接,使数据流从键盘输入经过两个程序最终输出到屏幕上。如下:cmd1|cmd2进程管道 在两个程序之间传递数据最简单的方法就是使用popen()和pclose()了。原型如下:#include <stdio.h>FILE *pop
2015-04-11 21:47:47 652
转载 初识CGI程序
What is CGI?The Common Gateway Interface, or CGI, is a set of standards that define how information is exchanged between the web server and a custom script.The CGI specs are currently maintained by t
2015-04-10 15:52:09 1967 1
原创 让Tiny服务器运行起来
让Tiny服务器运行起来之前写了《深入理解计算机系统》一书中的Tiny服务器的源码解析,但是书中并没有介绍如何运行Tiny,下面就介绍下怎么让Tiny运行起来。Tiny的源文件有tiny.c、csapp.c和csapp.h三个。另外要在根目录下新建cgi-bin目录用于存放CGI程序。方法一:1.将所有源文件tiny.c、csapp.c和csapp.h放在同一个目录下。另外在同一目录下放置photo
2015-04-10 11:14:35 1929
转载 What really happens when you navigate to a URL
What really happens when you navigate to a URLAs a software developer, you certainly have a high-level picture of how web apps work and what kinds of technologies are involved: the browser, HTTP, HTML,
2015-04-09 22:04:26 977
原创 Tiny Web服务器代码分析
Tiny Web服务器代码分析 《深入理解计算机系统》中开发了一个小但是功能齐全的称为Tiny的web服务器,这里是Tiny服务器的源码解析。1.Tiny的main程序 Tiny是一个迭代服务器,通过命令行中传递来的端口值,调用Open_listenfd()函数打开一个监听套接字,然后Tiny执行无限循环:服务器阻塞在accept,等待监听描述符listenfd上的连接请求,当服务器从a
2015-04-09 20:11:38 1595
原创 DNS域名解析
[Tiny]Web服务器系列之DNS解析 学习《深入理解计算机系统》一书第11章关于网络编程的知识,将Tiny服务器的相关知识做个总结。 本系列文章主要有:DNS解析,HTTP协议,浏览器工作原理,Unix I/O,套接字编程。DNS(Domain Name System) 因特网中客户端与服务器互相通信时使用的是IP地址,但是对于人来说32位整数实在是太难记了,所以因特网定义了域名(
2015-04-09 15:51:08 941
原创 使用Pin监控,解析connect()系统调用获取服务器端IP
使用Pin监控解析connect系统调用获取服务器端IPconnect函数struct sockaddr addr在Pin中获取IP地址connect()函数
2015-03-25 17:26:27 1604
原创 Pin截获socket系统调用初步分析
Pin截获socket系统调用初步分析根据为知笔记中上传的Pin tool for tracing system calls,修改代码过滤出socket相关的系统调用,并进行初步的分析。主要有2点: - 过滤socket相关的系统调用 - 分析得到的系统调用参数过滤socket相关的系统调用socket编程中与访问网络相关的主要关注socket()、accept()。然后在PinTool中过滤出
2015-03-23 17:29:37 1487
原创 LeetCode:Permutations(全排列算法的递归与非递归实现)
全排列算法的递归与非递归实现全排列算法是常见的算法,用于求一个序列的全排列,本文使用C语言分别用递归与非递归两种方法实现,可以接受元素各不相同的输入序列。题目来自leetcode: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the followi
2015-03-11 17:25:56 2693
转载 为mozilla手动安装flash插件
手动安装 Flash 插件转到 Adobe.com 上的 Flash Player 下载页。当出现提示时,保存该文件(比如 install_flash_player_"version"_linux."processor".tar.gz)。点击菜单按钮 ,然后点击退出。打开终端窗口(在 Gnome 中,点击 应用程序 菜单,选择 附件,然后选择终端)。在终端
2014-12-13 17:39:16 1256
原创 Cuckoo的配置与使用Ubuntu + VirtualBox + windows Xp SP3
cuckoo简介:Cuckoo基于虚拟机技术,使用中央控制系统和模块设计,结合python的自动化特征,已经是颇为自动化的恶意软件行为研究环境。独到的蜜罐网络研发的技巧,让Cuckoo可以轻而易举的进行URL分析、网络通讯分析、程序分析、pdf分析。个人推荐使用debian或ubuntu主机安装virtualbox当作Cuckoo Host,WinXP做guest。运行环境:Ubuntu 14
2014-12-10 21:12:59 5891
原创 XML的命名空间与python解析方法
在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突,而XML 命名空间提供避免元素命名冲突的方法。XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:xmlns:namespace-prefix="namespaceURI"当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。注释:用于标
2014-12-03 19:44:13 6740 2
转载 linux下解压命令大全
.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxv
2014-11-25 10:50:16 454
原创 win7远程桌面连接
远程桌面连接1、在防火墙上设置允许允许远程桌面通过防火墙;2、为管理员设置密码,以便访问者访问;3、我的电脑-右键属性-远程设置-远程-选上“允许远程协助远程这台计算机、允许运用任意版本远程”。4、控制面板-管理工具-服务-开启Remote Desktop Services。
2014-11-09 21:59:35 900
原创 Cflow使用详解
最近使用cflow,根据Cflow提供的帮助对cflow的用法做了详细的整理。把常用的命令的用法贴出来。完整版请见http://download.csdn.net/detail/hanchaoqi/813611112、cflow选项的完整列表这一章我们以字符序列出cflow的所有选项,包括简要的说明。所有的长选项和短选项都被列出了,所以你可以将这个表作为快速参考。大部分的选项都有一
2014-11-08 17:26:30 6636
原创 CentOS6安装内核源码
1,安装依赖yum -y install gccyum -y install gcc-c++ yum install make -- 或者yum groupinstall "Development Tools" -- 或者yum install gcc gcc-c++ kernel-devel--安装ncursesyum install gcc make ncurses ncu
2014-10-31 19:52:03 1945 1
原创 ubuntu12.04 安装CS:APP Y86模拟器
先说下UBUNTU12.04下Y86模拟器的安装:(参考http://archive.cnblogs.com/a/1865627/ 作适当修改)1.安装bison和flex词法分析工具sudo apt-get install bison flex2.下载sim解压,地址http://csapp.cs.cmu.edu/public/students.html
2014-10-15 17:10:19 3218
原创 使用Cloudsim实现基于多维QoS的资源调度算法之二:实现基于多维QoS的资源调度算法
使用Cloudsim实现基于多维QoS的资源调度算法之二:实现基于多维QoS的资源调度算法简述Cloudsim的体系结构、核心类、工作模型、资源调度算法实现的步骤、对多维QoS的处理等。
2014-09-27 10:18:51 5930 3
转载 Return-into-libc 攻击及其防御
Return-into-libc 攻击及其防御本文首先分析了 return-into-libc 的攻击原理,分别介绍了在不同平台进行传统 return-into-libc 攻击的实验过程和结果。然后,本文进一步引入并解释了返回导向编程的攻击方式,这种攻击可以弥补传统 return-into-libc 攻击的不足,使得攻击更灵活、更有效。最后,本文给出了针对这些攻击方法的防御手段
2014-09-09 16:53:57 1380
转载 函数调用过程探究
引言如何定义函数、调用函数,是每个程序员学习编程的入门课。调用函数(caller)向被调函数(callee)传入参数,被调函数返回结果,看似简单的过程,其实CPU和系统内核在背后做了很多工作。下面我们通过反汇编工具,来看函数调用的底层实现。 基础知识我们先来看几个概念,这有助于理解后面反汇编的输出结果。栈(stack)栈,相信大家都十分熟悉,push
2014-09-06 16:01:42 511
原创 ProFTPD 1.3.0/1.3.0a (mod_ctrls support) Local Buffer Overflow Exploit漏洞及攻击代码分析(留个坑,以后自己填)
攻击代码网址:http://www.exploit-db.com/exploits/3330/1、运行环境: 1、ProFTPD 1.3.0/1.3.0a 2、编译ProFTPD时,--enable-ctrls选项必须打开 ./configure --enable-ctrls 3、本地用户需要有通过Unix Socket连接的权限2、
2014-09-06 15:33:40 1517
原创 ProFTPd Local pr_ctrls_connect Vulnerability - ftpdctl 漏洞及攻击代码分析
ProFTPd Local pr_ctrls_connect Vulnerability - ftpdctl 漏洞及攻击代码分析CVE-2006-6563
2014-09-04 10:55:32 1228
转载 Perl函数pack/unpack解释
函数名pack调用语法formatstr = pack(packformat, list);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(包装)到一个简单变量中。参数packformat包含一个或多个格式字符,列表中每个元素对应一个,各格式字符间可用空格或tab隔开,因为pack忽略空格。 除了格式a、A和@外,重复使用一种格式多
2014-08-26 20:20:48 922
原创 我的Kali Linux命令配置操作手册
1,配置VIM打开vim,普通模式下输入下面的命令找到vim的位置:echo $VIM/usr/share/vim打开返回目录下的文件vimrc,进行配置vim /usr/share/vim/vimrc具体配置如下:syntax on "语法高亮set autowrite "自动保存set number "显示行号set autoindent "自动缩进set tabst
2014-08-26 16:52:28 16871
转载 FTP命令大全
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。 FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中 -v显示远程服务器的所有响应信息; -n限制ftp的自动登录,即不使用; .n etrc文件;
2014-08-21 21:38:53 665
原创 ProFTPD配置匿名登录与目录访问权限控制
对ProFTPD服务器配置匿名登录;限定用户只能访问自己的目录;配置匿名用户目录访问权限;Limit容器
2014-08-21 20:54:20 12063
原创 Kali Linux下安装配置ProFTPD实例
1,安装ProFTPD在ftp://ftp.proftpd.org/下可以找到官方发布的各个ProFTPD版本,本人使用ftp://ftp.proftpd.org/historic/source/proftpd-1.3.0a.tar.gzroot@kali:~# wget ftp://ftp.proftpd.org/historic/source/proftpd-1.3.0a.tar.gz
2014-08-21 10:50:59 2194
转载 用VMware 安装Ubuntu详细过程(图解)
【原创】用VMware 8安装Ubuntu 12.04详细过程(图解)图解演示环境版本:本机系统: WIN7 虚拟机:VMware Workstation 8 (英文版) 安装目标:Ubuntu Desktop 12.04 LTS (请点击这里)先下载好iso镜像文件 详细过程图解:0. 初始画面,点击“Create a N
2014-08-20 11:20:05 1430
原创 使用Cloudsim实现基于多维QoS的资源调度算法之一:配置Cloudsim环境
Cloudsim是一款开源的云计算仿真软件,它继承了网格计算仿真软件Gridsim的编程模型,支持云计算的研究和开发。它是一个自足的支持数据中心、服务代理人、调度和分配策略的平台,支持大型云计算的基础设施的建模与仿真,并且可以在Windows和Linux上跨平台运行。本文介绍的是利用Cloudsim云仿真平台对资源调度算法进行仿真。其中包括Cloudsim环境的配置,资源调度算法的嵌入和仿真结
2014-06-30 23:13:51 4885 1
旅行代理数据库设计
2013-01-03
win7操作系统快捷键使用大全
2012-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人