朋友今天上网突然网络连接出现了这个问题,也就是无法加载远程访问连接服务。Google了一下,第一种方法就是查看如下的服务是否启动,如果没有,自行启动。 服务名称:eventlog 显示名称: Windows Event Log 启动类型:自动 服务名称:TapiSrv 显示名称: Telephony 启动类型:手动 服务名称:SstpSvc 显示名称: Secure Socket Tunneling Protocol Service 启动类型:手动 服务名称:Netman 显示名称: Network Connections 启动类型:手动 服务名称:nsi 显示名称: Network Store Inte***ce Service 启动类型: 自动 服务名称:RasMan 显示名称: Remote Access Connection Manager 启动类型:手动
启动方法:对着我的电脑点右键-》管理-》服务和应用-》服务 找到对应的服务后,右键属性,启动类型就可以了 但是如上操作有时并不可以,会提示有些服务不能启动,这种情况下,
用管理员账号登陆,再打开 c:\windows\system32\logfiles 如果看到 wmi文件夹,在wmi文件夹上点右键,点 获取管理员权限 ,后重启即可修复。
附上Win7下添加右键获取管理员权限的方法:
在Win7下经常要用到管理员权限,为了方便可以添加一个右键菜单,方法如下: 新建一个“记事本”文件,复制以下内容:
复制好后选文件-另存为,保存类型选"所有文件",文件扩展名为reg 然后运行即可。
Win7下取消右键获取管理员权限方法:
同样的保存上面内容为reg格式文件即可。
Ubuntu 安装phpmyadmin
在lamp环境搭建这篇文章中,使用apt-get安装了lamp环境,可能你会发现mysql命令行操作不方便。那么需要安装web版的phpmyadmin来辅助了。两步; 1.打开终端 输入
执行过程中我记得会让输入msql的密码。和设置phpmyadmin的密码。phpmyadmin的用户名是root 然后直接访问 http://localhost/phpmyadmin,会发现不能用。因为phpmyadmin被安装在了/usr/share/phpmyadmin/目录。
建立一个软连接,不喜欢的话,你也把phpmyadmin直接复制到 /var/www/的文件夹下面也可以。
在Ubuntu下面就可以通过http://localhost/phpmyadmin正常使用phpmyadmin了。
Mysql ERROR 1064 (42000) 问题
昨天在lamp环境下写sql语句的时候,其中有一条语句是这样的,看着没什么错啊。。然后执行会报ERROR 1064这个错误。
后来解决了原来是是类型不全。必须写成
很诡异。。因为理论上unsigned应该是被识别成int unsigned。。还有其他一些情况,反正就是只要报1064.可能语法错误。可能是拼写。或者是分号,mysql的错误提示是很差的。如果把 auto_increment 自增属性加到非主键上。也会报1064的诡异错误。。
参考:stackoverflow
二级域名查找 实现演示(GAPI+Json+C#)
昨天看到了李劼杰的检索一个域名下属所有子域名的两种方法很受启发。想用C#实现一些东西,本来是打算做的相对完整一点的,结果发现Google 开放的api貌似是有限制,段时间内不同提交太多。所以就简单实现一下,有需要的朋友自己扩展
刚开始的思路是想Google应该是有开放的api吧。。于是先Google C# 收集 Google搜索结果。翻了一会,看到了 此文 ,一看我去,返回的竟然是json格式。。只听过,从来没有接触过。。。不做总是不会的,试试。
思路;访问该页面,得到字符串-》去掉多余部分-》解析成对象-》提取对象的字段 1.访问该<pre lang]“C#">http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=hello,其实hello部分就是需要查找的字串,对于查找二级域名这种事,应用到Google的一个语法就是site:leaver.me。类似这样的,可以获取到所有leaver.me上的子站和内容。。 然后分析json数据。直接访问会发现格式很乱。使用http://jsonformatter.curiousconcept.com/这个工具进行格式化。最终结果如图 可以很清楚的看出json的结构,results是结果集,我需要的是需要的是[]之间的部分,包括[],我理解的是这样。默认给出4个结果。
2.要去掉多余部分,得用正则表达式了,
json解析我在外国找到了json.net这个解析器,导入什么的就不说了,至于用法我是看的他的文档
3.Listresults = JsonConvert.DeserializeObject<List>(json); //list 存放解析的结果,result为对应自写类就是将一个json格式的字符串解析成一个list组,组内元素为一个对应的类,就是先分析json的格式。发现每个结果都有如下的格式
所以写一个类,来用于json数据的反序列号,其实就是解析啦。。这样通过对解析器的调用就能对应着吧json里面的值赋值给类对象了。
4.完成后就得到了一个List对象。里面包含四个结果的所有信息,只要调用results[i].对应属性就可以了。这里分析后可知二级域名在visibleUrl里,所有就调用它。用到了HashSet这个模板。元素唯一不重复。
最终效果: 写程序需要是处理边界情况。。感觉是。主要是我对json格式的解析很不清楚。。只能边学边做。。还有因为写之前没有规划好,打算写全一些,也没想好每个函数来干什么,结果导致后面很麻烦。竟然用了一个全局变量。。其实可以改的。还是算了,演示而已。而且。当时不太清楚google的限制。到达限制后会返回一个错误的结果,多次异常。不顾加强了调试代码的能力,也好。唉。矬人就是矬人啊。。
源码下载: [downloadicon href=http://pan.baidu.com/share/link?shareid=91790&uk=1493685990]Finder Demo[/downloadicon]
WWWScan GUI版--WebScan
网上一直有个版本是Wscan Gui Beta6,首先感谢作者的无私奉献,写代码不容易啊。但是这个我不知道为什么在我的电脑上总是有一些错误。很多功能虽然加上了,但是其实对我有点多余。毕竟,我只是用这个扫描一下。于是,决定自己用C#做个GUI版,模仿实现一下。
然后我看了一下目录结构。如下图所知 貌似作者只是简单写了。然后对应着调用扫描器。我想了下,可以通过修改文件名来实现,因为wwwscan默认只能识别cgi.list,那么我想的是当我选中一种扫描类型后。将对应的字典,比如asp.list改成cgi.list。当然为了保护原文件,复制。。然后调用。这样就不用有这么多exe了。。
第二个我想实现作者的检测网站的脚本类型的功能,想到了两种方法。一种是循环访问index.xxx文件,xxx对asp jsp等,然后判断http状态码,200的话就可以对应判断出来网站脚本了。但是这样测试了一会没成功,还是算了,,然后想了一种猥琐流的方法,就是直接访问首页。然后把源码下载下来,然后搜索".xxx"字符串,找到就行了,,当然这两种方法都是不完善的。。我也没想到什么完美的。。希望有人知道的话留言指教。
最后的目录就清爽多了
那个4p啊,,就是盲扫描了。。不知道网站脚本的时候采用。。。
界面基本完全模仿了作者的UI,进行了略微调整,希望作者不介意。
程序需要.net framework 3.5。。win7默认都有。不用担心。xp用户可以下载环境后使用。毕竟是扫描工具,国内那些2b杀软会报毒,不放心的去世界杀毒网自己扫描吧。千万不要用来干坏事,遵守我国相关法律法规。
[downloadicon href=http://pan.baidu.com/share/link?shareid=83803&uk=1493685990]WebScan下载[/downloadicon]
操作系统知识点汇总(下)
太长了,还是分成两篇。此为下
同时到达的作业使用短作业优先平均周转时间最短。
系统调用和一般过程调用的区别: 1.运行状态不同 用户态/和心态 2.进入方式不同 过程调用/访问管中断 3.代码层次不同 用户级/系统级
周转时间=完成时间-提交时间
平均带权周转时间=周转时间/执行时间
存储器分配的三种方式:1.直接分配,2.静态分配(连续),3.动态分配(需要用到重定位)
地址空间是逻辑地址的集合,内存空间是物理地址的集合
分区存储管理的策略: 分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。 a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。 b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。 c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。 d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。
内部碎片是指分配给作业的存储空间未被使用的部分,外部碎片是指系统中无法利用的小存储块。 页面置换算法: 1.最佳置换算法 永远不需要,最长的时间后才能访问的页面被调出 2.先进先出 3.最近最久未使用 传说中的LRU,最近一段时间内没被访问的页面被调出
采用分段式不会产生内部碎片,虚拟存储器的最大容量是由计算的地址结构决定的
页面的大小与可能产生缺页中断的次数成反比
作业在执行中发生了缺页中断,经操作系统处理后,应让其执行被中断的指令
段页式存储器管理系统中,内存等分成块,然后程序按照逻辑模块划分成若干段。
先进先出页面置换算法会产生Belady现象
回收分区后造成空闲分区-1的原因是有有上邻和下邻空闲分区
执行过程不能被修改的代码称为可重入代码。。 请求分页存储器管理中,地址变换可能因为地址越界,缺页,访问存在权限错误而产生中断
交换技术是以CPU时间为代价的
段页式管理中,作业分段,段内分页,页内分块,每条访问内存的指令需要三步 1.通过段号查段表。。得到页表地址 2.通过页号查页表。。得到物理块号 3.物理块号+页内地址 访问真实地址
固定分区分配和页式管理会产生内碎片,额可变分区和段式则产生外部碎片。
输出输入控制方式 ①程序I/O控制方式:适用于结构简单,只需少量硬件的电路; ②中断驱动I/O控制方式:适用于高效场合; ③直接存储访问DMA I/O控制方式:适用于无须CPU介入的控制器来控制内存与外设之间的数据交流的场合; ④I/O通道控制方式:适用于以字节为单位的干预,同时实现CPU,通道和I/O设备三者并行操作的场合。
设备处理程序又称为设备驱动程序,其主要任务是接收来自上层的与设备无关的输入输出请求,进行与设备相关的处理
通道又称为I/0处理机,用来实现内存与外设之间的信息传输。
为了使多个进程能够更有效的同时处理输入和输出请求,最好使用缓冲池结构的缓冲技术
缺页中断属于外部中断,Ctrl+C属于程序性中断
设备分配时涉及到的主要数据结构设备控制表,控制器控制表,通道控制表,系统设备表
从资源分配的角度可将I/0分为独享设备,共享设备,虚拟设备
引入缓冲技术的原因: 1.缓和cpu和I/0之间的速度不匹配的矛盾 2.减少中断cpu的次数 3.提高cpu和I/o之间设备的并行性
文件系统是指文件,管理文件的软件以及数据结构的总体
文件系统的目的是为了实现对文件的按名存取。 逻辑文件的两种类型:记录式和流式
二进制的那个位图表行号=(盘块号-1)/列数。 转载请注明:http://leaver.me/archives/328.html
操作系统知识点汇总(上)
这两天为了考试看完了操作系统习题与解析 写了一些笔记,然后今天整理成电子版,,我去。写完发现2500字了都.唉,苦啊。。顺序没有过多整理。也能加深印象,太长了,还是分成两篇。此为上
操作系统的发展与形成:1.手工操作阶段,2.脱机输入输出阶段,3.批处理技术,4.多道程序设计技术。
操作系统的基本类型:1.批处理,2.分时,3.实时。
操作系统的特征:并发,共享,虚拟性,不确定性
实时操作系统必须在规定时间内处理完来自外部的事件。。
现代操作系统的两个基本特征是并发和共享
内部命令是由系统定义的,常驻内存的处理程序的集合。
操作系统的结构层次: 裸机-》cpu调度-》内存管理-》设备管理-》文件管理-》作业管理-》命令管理-》用户
程序顺序执行的特征。顺序性。封闭性,可再现性。
程序并发执行的特征:间断性,失去封闭性,不可再现性。
进程的几个基本状态:就绪,执行,阻塞。
引入进程的目的是使多道程序并发执行,以改善资源利用率,及提高系统吞吐量,而引入线程,则是为了减少并发执行所付出的时空开销,具有更好的并发性。
每个进程中,访问临界资源的那段程序称之为临界区。
进程互斥的准则;1.空闲放进,2.忙则等待,3.有限等待,4.让权等待
管程:局部于管程的共享变量说明了对该数据结构进行操作的一组过程,以及局部与管程的数据设置初始值。
P,V操作是低级进程通信原语。原语是对进程进行管理和控制的。进程不是指令的集合。
创建原语的主要工作:向系统申请一个空闲PCB,并为创建进程分配必要的资源,然后初始化PCB,并插入到就绪队列。返回进程的标识号
一个进程会唤醒,指的是进入就绪状态。
资源分配的基本单位是进程,CPU分配的基本单位是线程。
进程的基本特征:
动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。 并发性:任何进程都可以同其他进程一起并发执行 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位; 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进 结构特征:进程由程序、数据和进程控制块三部分组成。 进程之间的关系:同步和互斥
m个进程访问临界资源,信号量的变化在1- (1-m)之间
进程是由一个具有一定功能的程序关于某个数据集合的一次运行活动。
调度的类型: 1.作业调度(也叫;宏观,高级,长程),是从外存调到内存然后进入竞争执行 2.进程调度(也叫:微观,低级,短程),取就绪状态的进程进入执行阶段 3.交换调度(也叫:中级,中程)是将外存中具备执行条件的进程调入内存或者相反
调度的两种方法:1.剥夺方式,2.非剥夺方式
进程调度的算法:1.先来先服务,2.最高优先权,3.时间片轮转,4.多级反馈。具体的课本上有。也可以看此文
死锁的原因:1.资源不足。2.推进顺序不当
形成死锁的必要条件:1.互斥,2.不剥夺。3.部分分配。4.环路等待。
并非所有不安全状态就为死锁。但反之成立
银行家算法其实很简单。就是规范化比较麻烦。看维基百科吧。
破坏资源互斥这个条件来避免死锁是不现实的。
资源的按序分配 这种算法资源按某种规则系统中的所有资源统一编号(例如打印机为1、磁带机为2、磁盘为3、等等),申请时必须以上升的次序。系统要求申请进程: 1、对它所必须使用的而且属于同一类的所有资源,必须一次申请完; 2、在申请不同类资源时,必须按各类设备的编号依次申请。 这样申请的时候要么没有。要么全部分配,破坏了循环等待的条件
调度算法中程序的相应比=1+等待时间/估计运行时间 操作系统提供给程序员的接口是系统调用 作业生存期的四个状态:1.提交。2.后备,3.开始,3.完成
转载请注明:http://leaver.me/archives/317.html
php的一些知识点
一.php中单双引号的区别
"" 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 '' 单引号里面的不进行解释,直接输出。 从字面意思上就可以看出,单引号比双引号要快了。单引号支持'和\的转义,但其他一些转义字符就必须是在双引号里了。 例如: 二.require和include的区别 在于,出现错误时,require是error,也就是说脚本会停止执行,而include是warning。也就说说代码会继续执行,另外,无论require的位置如何。即使是放在一个if代码块里面。他也会将指定文件包含进来。。即使该if部分不执行。顺带说下include 和include_once。其实类似于c里面的ifdef。。就是只包含一次。不重复包含。
三。php类 php类的构造函数命名为_construct.析构函数为_destruct,需要调用父类的构造函数时,使用parent::_construct()来调用
四。pear包 PEAR是"PHP Extension and Application Repository"的缩写,也就是一个PHP扩展和应用的管理工具, 具体可参考:http://www.berlinix.com/php_pear.html
五。PDO PDO(PHP Data Objects)扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用。其实就是一个访问数据库的一个类,连数据库的时候实例一个。调用方法就这样。前提是这个装好了。 linux下具体可以参考:LINUX下手动安装PDO_MYSQL window下和例子(例子也可以在linux下使用)参考此文:PHP5中PDO的简单使用
六。Zend
准确地讲 Zend 框架究竟是什么呢?Zend 框架具有以下特征: 是基于 PHP 建立的。 是面向对象的。 使用 MVC 范例。 具有开放源码贡献者。 有贡献者负责保证他们的代码不是他人的知识产权。 通过建立 MVC 模式,Zend 框架的目标是使编程生活更加轻松,这不仅体现在通用领域,而且对您始终想要做的具体的事情也是如此,比如访问数据库或输出 PDF 文件。
具体可参考:理解 Zend 框架,第 1 部分: 基础
七。GD库 百科上的解释: GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。在PHP处理图像,可使用GD库, 如何检测Lamp是否已经有了GD库呢。将下面的代码保存为phpinfo.php,然后传到服务器的网站目录下,在浏览器访问这个文件,如: localhost/phpinfo.php,然后找到一行为GD Support,后面如果是enabled,那就说明系统已经有了GD库 使用的例子可以参见官方一个例子,在指定的图片上添加文字。 例子参见:http://www.php.net/manual/en/image.examples-png.php
八。Smarty引擎 Smarty主要就是分离了前台和后台的实现。使得多人合作开发程序更加方便。因为前后台在代码上基本完全分离,一般实现就是一个模板文件,以tpl结尾,一个php文件。在tpl文件里面用变量来指示内容。而在php文件中将内容传递过去。来完成页面显示。 参考:smarty安装及初级使用只看第一部分的例子即可。
《PHP和MySQL程序设计》& 《细说PHP》
今天从早上到下午一使劲把PHP和MySQL程序设计 这本书读完了。因为昨天读完了head first的那本php书。所以看这本书难度也不是很大。先对这本书整体评价一下。
这本书我其实之前并没有在豆瓣上看看评论。豆瓣也不适合看这类专业书的评论。只是看到是第三版。说明这本书还是不错的。一般国内的专业书很少看到出过第二版的。。因为质量实在是太差了。选好书的一个方法就是看版本。。能出到第N版的都是有其可圈可点之处的。于是把这本书拿来就看。
书从头看到尾。我只能说大叔把代码贴的太多了。但是好事情就是代码给出了执行结果。这基本上方便了我直接看代码。文字部分跳过一些。但是,大叔,我也是人啊。 你把代码贴这么多。。函数给这么全。这也记不住啊。而且书也并不是有个循序渐进的过程。对比昨天看的head first的书。深深体会到一本好的入门书是多么重要啊。这本书并不如它的宣传那样适合新手读。很多地方都用了结果还没解释。到后面又开始解释。完全无条理。。最最重要的是错误太多了。。 不过。对我还是有很大收获的。因为看了这本书就发现head first的书确实是入门书。讲的比较浅。(但非常重要),一些框架。模板。类在这里面都有讨论。需要花些时间搞清楚。我已经记下来了。稍后准备阅读一下这些主题,
中午还用了一个多小时看完了《细说PHP》,不便于多说什么。。和《PHP和MySQL程序设计》的区别就是代码没有执行结果。讲的倒还算清楚。因为我看这本书不仔细。只是捡自己不会的去看。所以对本书评价不是太高。相比前一本书。这本书列的函数没那么多。都是比较实用的。。这点很好。但是看豆瓣和亚马逊到评分倒还挺高的。。令我情何以堪啊。 一会把一点知识点贴上来。记录一下今日的收获吧。。
ubuntu终端su认证失败解决
这个以前碰到过。不过今天又遇到了。记录一下。Ubuntu 安装后,root用户默认被锁定,不允许登录,也不允许“su”到 root。对于开发人员来说貌似有些麻烦了。。
解决方法:打开终端。输入sudo passwd 回车,然后输入安装ubuntu时设置的密码。回车后要求输入新密码。新密码可以和安装时的密码相同。所以继续输吧。然后确认一次。就可以了
然后正常su root 就可以切换到root了