站点动态:欢迎你!今天是 2022-09-28 星期三!

冒泡排序算法是一个经典的常用排序算法,当然还有一些其他的常用排序算,比如选择排序,插入排序,希尔排序,快速排序。所以也是一种必学的算法,甚至很多公司面试的题目中也有冒泡排序的。

但是冒泡排序毕竟是一种效率低下的排序方法,在数据规模很小时,可以采用。数据规模比较大时,最好用其它排序方法。


冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面,直到达到升序排列。

比如:这个数组array(4,3,5,1,2)用冒泡排序算法进行升序排列。

第1个循环循环开始,当前排序:4,3,5,1,2

Windows查看端口以及端口占用

在日常工作中,经常会碰到启动某个程序时,提示某个端口已经被占用,导致程序无法正常启动。 或者在未正常关闭程序的情况下,端口仍然被占用。那么在Windows下如何查看端口占用情况?以及如何根据端口查找进程,如何释放端口占用呢?


Windows查看端口占用情况(Netstat命令)

华三交换机禁用非法DHCP服务

由于 DHCP 协议是二层的,无法找到网络中那台非法 DHCP 服务器的源、目的 IP 地址。如果网络里面同时有多台 DHCP 服务器,而你的交换机没有阻止 DHCP 协议的发布,那么这种情况很容易造成无法上网的问题。


一、环境模拟

如以下图示3台交换机,交换机1接正常的DHCP服务器(10.0.0.X),但是交换机3被接入了1台非法的DHCP服务器(192.168.10.X),那么PC_5或PC_6很容易接入到非法的DHCP服务中去。所以需要在接入层交换机上开启DHCP SNOOPING功能,用来防止非法DHCP。

Bug描述

今天论坛有人说评论有BUG,我看了一下,无意中注意到isLogCanComment函数。

function isLogCanComment($blogId) { if (Option::get('iscomment') == 'n') { return false; } $query = $this->db->query("SELECT allow_remark FROM ".DB_PREFIX."blog WHERE gid=$blogId"); $show_remark = $this->db->fetch_array($query); if ($show_remark['allow_remark'] == 'n' || $show_remark === false) { return false; }else { return true; } }

以上是isLogCanComment函数的代码,数据库(连接方式使用mysqli)查询$show_remark的值应该是空值NULL,所以不能用===false。

注意:数据库连接方式使用mysqli就会出现这个问题

影响就是POST伪造gid,可以把评论发布到不存在或者未审核未发布的文章下,影响应该不大。

RouterOS重置密码

Routeros(ROS)X86的由于没有重置出厂值的按钮,忘记了密码,而且还要保留配置,就会变得比较麻烦,只能通过删除文件的方法来重置密码破解密码。


操作方法:

(我这边以ROS 6.47.9版本为例)

1、实体机可以通过Windows PE使用DiskGenius删除 rw/store/user.dat 即可。虚拟化使用DiskGenius专业版加载vmdk镜像,之后直接删除 rw/store/user.dat 即可。(Windows PE无法直接访问linux分区格式必须借助工具)。老版本的ROS 6.x到这步重启即可

2、新版本ROS,比如这边演示的6.47.9,还需要删除  rw/store/user.idx 文件和 rw/store/user 文件夹。

RouterOS使用虚拟路由冗余协议VRRP实现双机热备

RouterOS(以下简称ROS)使用虚拟路由冗余协议Virtual Router Redundancy Protocol(以下简称VRRP)创建虚拟网关来实现双机热备功能。


VRRP协议原理:

VRRP协议可以通过多台路由器组成一个网关集合,使用VRRP虚拟网关作为终端用户的网关,当VRRP master路由器停止运行的时候,VRRP优先级最高的backup路由器就会重新生成为master状态,所有网络会切换到该路由器上。vrrp是master路由广播所有backup路由器。当backup收不到master的数据时,触发backup路由变为新的master路由。


实验环境和拓扑图:

主ROS:R1,备ROS:R2,双线公网,一台交换机

VMWARE ESXI 6.5U1离线补丁包升级教程

这里先讲讲VMWARE ESXI 6.5U1离线补丁包升级过程,因为离线升级是所有升级方法中最简单最快捷的。


一、升级准备

1、备份,重要资料一定要备份。


2、去VMWARE官网下载补丁包。

地址:http://www.vmware.com/patchmgr/download.portal(需要注册账号,请自行注册)

目前有两种补丁包:

1、每月提供的补丁包,文件名为:“ESXi650-201710001”,下载后是zip格式的

2、累计更新补丁包,文件名为:“update-from-esxi6.5-6.5_update01”,下载后是zip格式的

Windows10快速启动原理和如何关闭

Windows10快速启动称为混合启动(HybridBoot),在Windows8操作系统就引入了这个功能:

以往如 Windows 7关机的时候会将用户会话和系统内核会话同时关闭掉,但在Windows 8 开始的操作系统中新增加了一个“混合启动”(Hybrid Boot)新功能,其原理是关机的时候只关闭用户会话,而系统内核会话则转入休眠状态(保存到一个文件中,下次开机时直接从这个文件中写回内存),从而提高系统启动速度,而微软更是把这个“混合启动”功能默认替代了关机功能。


“睡眠”模式

系统会将正在处理的数据保存到内存中,除内存以外的所有设备都停止供电,可以通过鼠标键盘等唤醒电脑,唤醒后的运行状态和睡眠之前一模一样,睡眠期间不可断电,断电的话内存上的所有数据全部丢失,只能重新开机。

Windows10分区调准

新买的电脑,一般只有一个系统分区,那么在不重装系统的情况下Windows10如何调准分区呢?通过Win10自带的磁盘管理来操作。


一、压缩卷

1、“此电脑” ,右击属性,点击“管理”,打开计算机管理,点击“存储” --> "磁盘管理“


2、右击C盘,点击”压缩卷“


3、正在查询空间,稍等就好。


4、输入压缩空间量(MB),这边输入要划分出来的空间大小,直接输入大小就好,如果有强迫症的,需要整数划分出来的(按照GB大小*1024,填入就好)