- 博客(19)
- 资源 (14)
- 收藏
- 关注
原创 如何在Windows环境的域中顺利更新Ubuntu
最近在公司的域环境下切换操作系统,切换系统为ubuntu,在firfox下可以通过设置代理进行访问,但是在apt-get update 操作的时候,是无法上网的,报的错误所不能访问,502 错误和407错误。上网baidu发现问题根源是:公司安装了ISA服务器,Ubuntu 无法通过 ISA 代理更新软件.即无法使用apt-get在命令行下更新软件。解决问题开始了:工具名称
2013-07-26 14:01:25 1113
原创 c++ 的编码规范
在公司这么久了,还没有好好学习编码规范,真的很土啊,现在整理一下公司的命名规则:命名规范下面的命名规范仅供参考:A 变量名用大小写间隔单词,不使用下划线,且首字母大写,例如:cfgChn(config Channel)B 局部变量名首字母可以小写,也可全小写,且建议小写,例如:tmpC 涉及到NDT上定义的变量名首字母必须小写(和NDT上的
2013-07-24 14:56:20 903
原创 C++数组的声明
个数定义必须是常量再一看眼数组定义的语法:数据类型 数组变量名[个数常量]; 注意“常量”两字,这说明,个数必须是一个可以事先决定的值,并且该值不能被改变。比如用立即数:int arr[5000]; 或者用宏:#define MAX_CJ_COUNT 5000int arr[MAX_CJ_COUNT];
2013-07-23 17:57:42 7060 2
原创 高并发的网站架构
1.中文站单台服务器的load,vps 60,cpu load 小于1,响应时间不会超过150毫秒,服务器带宽不会超过185g。第一个,网络带宽瞬间耗尽,服务器load瞬间飙高,服务器不能相应。数据库会提前瘫痪。例子:旺旺弹出,图片太大,推广图片太大,审核:不能超过30%;迅雷推广,秒杀活动,高并发的活动,自己对自己eos攻击。并发对用户平均请求时间=浏览器渲染时
2013-07-23 16:01:48 1597
原创 删除ubuntu的内核
很多用户一般都会选择Windows + Ubuntu的双系统。用得时间久了,随着Ubuntu内核的不断升级,开机启动菜单会变得越来越臃肿。下面简单介绍一下如何删除开机启动菜单多余的内核(旧版本),以及如何调整不同操作系统的启动顺序。Ubuntu是由grub引导启动的。每当Ubuntu升级到新的版本后,grub会自动调整开机启动菜单的顺序,把新的内核放在启动菜单的开始,同时也不会删除久的内核
2013-07-23 00:02:39 1229
原创 编程范式16
生产中-消费者问题char buffer[8];Semaphore emptyBuffers(8);生产中-消费者问题char buffer[8];Semaphore emptyBuffers(8); //设置一个资源信号量empty表示仓库中目前空闲位置的数量Semaphore fullBuffers(0);//设置一个资源信号量full表示仓库中目前满的位置数量int main(){
2013-07-19 01:01:33 1024
原创 JDK1.6中文帮助文档在线阅读
http://gceclub.sun.com.cn/Java_Docs/jdk6/html/zh_CN/api/index.html
2013-07-18 14:56:29 1231
原创 semaphore实现浏览器的读写原理
在编程范式中的斯坦福大学的老师说了一个例子:好比世界上就只有一台互联网的服务器,当我们浏览网页的时候,就好比服务器进行了写操作,而浏览器则进行了读操作。我如果用简单的伪代码c++写出来是这个样子的:int main(){ITP(false);ThreadNew("write",write,0);ThreadNew("Reader",reader,0);RunAllThread(
2013-07-17 15:19:09 1374
转载 信号量和互斥锁
Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一般的用法是,用于限制对于某一资源的同时访
2013-07-17 11:31:40 1091
转载 并发与竞态控制
防止竞态的机制有:semaphore(信号量),spinlock(自旋锁),completion(完成量),原子操作等原子操作的意义:操作的不可分割。1、 什么是并发?1.1多个执行单元同时、并行被执行。1.2竞态:1.2.1并发的执行单元对共享资源的访问则很容易导致竞态。1.2.2 共享资源:硬件资源,软件上的全局变量、静态变量等。2、l
2013-07-16 16:05:47 911
原创 判断指针是否为空
C++之父的C++圣经《C++程序设计语言 特别版》中说:大家不要听某些人说判断指针是否为空用(p==NULL)或(p!=NULL)的格式,C++之父认为这样写是不好的,提倡直接写(p)或(!p)的形式。 在win32开发中,if ( NULL == p )是极好的写法。但不要写成:if ( p == NULL ) C++之父主要是反对使用“
2013-07-13 23:41:56 2883
转载 大小端模式的区别
最近在学习USB,在看Keil C51代码的时候发现从PC机接收的USB数据在Keil C51环境里要交换高低字节,这是因为Keil的数据结构是大端模式,对于大端模式不是很清楚后来网上搜索发现有一篇文章介绍的比较详细,不敢独享贴出来大家学习。 所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把
2013-07-08 14:55:30 1082
转载 c/c++ 缓冲区溢出
在 C 和 C++ 中,缓冲区通常是使用数组和诸如 malloc() 和 new 这样的内存分配例程来实现的。极其常见的缓冲区种类是简单的字符数组。溢出是指数据被添加到分配给该缓冲区的内存块之外。 在几乎所有计算机语言中,不管是新的语言还是旧的语言,使缓冲区溢出的任何尝试通常都会被该语言本身自动检测并阻止(比如通过引发一个异常或根据需要给缓冲区添加更多空间)。但是有两种语言不是这样:C 和
2013-07-08 10:36:26 5501
原创 【编程范式12】
#define //从usr/bin/include找#define "vector.h" //从当前项目找#ifndof vector.h#define vector.h__________---------------------------------endif.h文件某些定义。gcc 命令:只生成.o文件,链接器生成可执行文件。
2013-07-05 11:11:36 691
转载 ubuntu sublime 破解
1.去其官方网站http://www.sublimetext.com/ 把linux版下载下来,解开压缩包,放在你希望的路径下。2.用vim将其打开 。vim sublime_text3.将文件转成十六进制形式。vim中输入:%!xxd3.在vim中定位至“Thanks”文字附近。/Thanks4.接着查找
2013-07-04 23:22:18 1070
原创 Windows XP下MinGW的安装与配置
到http://sourceforge.net/projects/mingw/ 手动去下载最新的MinGW,或使用MinGW-5.1.4.exe,自动下载。但后者往往不能下载到最新的稳定包。 1、手动下载说明,参见:http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite 可从:http://sourcef
2013-07-04 14:49:28 1854
原创 【编程范式】汇编解释swap方法
先要熟悉一些汇编的基本知识:1.SP是什么?SP是堆栈寄存器,在调用子程序时,都会用到,保存原来程序的环境使用,如各个寄存器的内容,最重要的是,调用返回时程序的运行指令地址,这是由调用时将返回地址压入堆栈,返回时取出并传给PC寄存器来实现的。给SP的初始化值的大小,显示了堆栈的存放位置和堆栈的大小,如果堆栈太小,会出现堆栈溢出的问题。(其内容为栈顶的偏移地址。)2.
2013-07-04 12:51:20 5677
原创 【编程范式】 编译原理相关内存分配
每个寄存器在理论上都可以从RAM读取信息或将信息写入RAM中,ALU算数逻辑单元,它很容易4个字节上进行加法减法移位操作。
2013-07-02 14:17:50 1277
原创 【编程范式】连续数据的前面部分后移的实现
学习编程范式到第七节课了,直接上代码:// rotate.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "memory.h"#include "string.h"int main(int argc, char* argv[]){ prin
2013-07-01 14:49:15 1015
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人