不借助第三个变量交换两个变量的值

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法)。
阅读本文

防止数组越界处理

1、不可变数组#import “NSArray+ArrayCheck.h“ #import <objc/runtime.h> @implementation NSArray (ArrayCheck) + (void)load{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ Me
阅读本文

rabbitmq用户权限管理

安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败。翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0
阅读本文

html 模版

使用后台开发语言的都很了解语言的动态性给开发带来的好处,PHP,aspx,jsp页面都可以直接使用相应的语法和变量,输出的事就交给解释器或编译器了,用起来方便快捷,但需要额外的解释工作;      例如php模板,需要php解析后,再由apache输出;aspx需要专用dll解析后,由IIS输出;jsp需要虚拟机解析后,由tomcat输出;     总之,就是web服务器无法接识别并输出这
阅读本文

光大“乌龙指”24小时

对于身处其中的人们来说,这是最长的一天。2015年07月20日陈晓舒 上海特写 正午的话:2013年8月16日11时05分,上证综指突然上涨5.96%,50多只权重股均触及涨停。造成当天市场异动的主要原因是光大证券自营账户大额买入。经核查,光大证券自营的策略交易系统存在设计缺陷,连锁触发后生成巨额订单。这是中国A股市场上至今为止最大的乌龙事件。 这一意外让光大证券损失惨重,从总裁到部门负责人直至程
阅读本文

网络安全连接

http://www.milw0rm.com/http://www.web-hack.ru/俄罗斯的站 http://www.securitydot.net/http://www.addict3d.org/Security http://www.frsirt.com/ http://www.securiteam.com/ http://neworder.box.sk/ http://securit
阅读本文

sshSSH Secure Shell Client root用户无法登录解决办法

最近使用这个工具,普通用户可以登录root用户不可以登录。将vi /etc/ssh/sshd_config按照下述配置解决问题修改sshd配置文件:vi /etc/ssh/sshd_configPermitRootLogin yesPubkeyAuthentication noPasswordAuthentication yesUseLogin yes重启sshd服务(service sshd r
阅读本文

常用排序算法总结

我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。  排序算法大体可分为两种:    一种是比较排序,时间复杂度最少可达到O(n log n),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。    另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。  这里我们来探讨一下常用的比较排序算法,非比较排序算法将在中介绍
阅读本文

centOS7安装RabbitMQ及python实

1.rabbitmq是有erlang开发的,所以首先要先安装erlangrpm -ivh erlang-18.1-1.el7.centos.x86_64.rpmrpm -ivh rabbitmq-server-3.6.6-1.el7.noarch .rpm安装rabbimq时提示依赖包socat未安装yum -y install socat安装完成后执行service rabbitmq-serve
阅读本文

Net分布式系统之一:系统整体框架介绍

一、设计目的  从事.Net平台开发系统已有8年多了,一直思考搭建.Net分布式系统架构。基于window平台搭建的大型分布式系统不多,之前了解过myspace、stackoverflow等大型网站。搭建一个大型平台需要综合考虑很多方面,不单纯是软件架构,还包括网络和硬件设备等。由于现代大部分应用建设都面临用户多、高并发、高可用的需求,传统软件架构已不能满足需求,需要支持分布式软件架构,能支持横向
阅读本文

python连接数据库。

准备工作。需要安装pymssql 。。具体怎么安装请自行百度。教程很多。最简单的就是pip install myssql  但是可能会出现版本不兼容的问题。导致导入后不能improt。也可能导致打包的时候出错。 需要三个文件。1.解析配置文件,连接数据库# -*- coding: utf-8 -*- __author__ = ‘hero‘ import pymssql import xml.
阅读本文

C# 从后台代码同步或异步注册Javascript到页面之RegisterStartupScript和RegisterClientScriptBlock的区别

下面来讲讲同步注册JS和异步注册JS的区别同步注册JS:RegisterClientScriptBlock,相当于在 form开始处(紧接 <form runat=“server“> 标识之后)发送脚本块,在HTML节点还没加载的时候就可以先注册JS了异步注册JS:RegisterStartupScript,在 form结尾处(在 </form> 标识之前)发送脚本块,在document装载完成后
阅读本文

升级openssh带来的问题

由于之前离职的同事配置了ssh 版本也比较旧 导致跳板机不上185这台机器 其他机器通过ssh也连接不上,于是决定升级openssh,全程使用脚本升级 升级之后原来的公钥私钥还在,但是发现其他机器ssh连接185服务器会报错; 解决方法: /root/.ssh/known_hosts 删除里面的指纹信息 ssh-keygen -R 192.168.1.185(由于我升级了ssh 所以需要
阅读本文

java 中形参与实参的转换

java中有两个参数,一个是形参,一个是实参。形参:在函数定义中,整个函数体内部都可以使用,离开了该函数就不能继续使用。实参:出现在主函数中,进入被调函数后,实参变量也就不能继续使用。 1 public class Demo { 2 /* 3 * (int a,int b) 这里的a b就是形参 4 */ 5 public static void ex
阅读本文

happens-before

1、Java编译器的重排序(Reording)操作有可能导致执行顺序和代码顺序不一致。  假设代码有两条语句,代码顺序是语句1先于语句2执行;那么只要语句2不依赖于语句1的结果,打乱它们的顺序对最终的结果没有影响的话,那么真正交给CPU去执行时,他们的顺序可以是没有限制的。可以允许语句2先于语句1被CPU执行,和代码中的顺序不一致。2、从线程工作内存写回主存时顺序无法保证。  JLS中对线程和主存
阅读本文

U-Mail邮件中继服务让邮件像情人零距离接触

一年一度的情人节到了,隔壁的小王同学一直倾慕班花丽丽多日,在难以遏制的情感冲动下,在经过反复思想斗争后,他终于决定迈出一步,买了一束花夹杂一封情书,踟蹰在丽丽家楼下,准备伺机送给心上人。但是不妨让我们来设想一下,小王同学估计得迈过许多道坎:1.出门之际,自己父母会阻拦询问;2.由于自己对丽丽不了解,花的选择和包装上不对丽丽胃口,没有按通用、流行的时髦标准来设置;3.丽丽父母不准丽丽早恋,尤其是
阅读本文

一行代码实现下拉放大的HeadView

一行代码实现下拉放大的HeadView1.我们先看具体实现代码- (void)viewDidLoad { [super viewDidLoad]; // 设置tableView头部缩放图片 self.tableView.AD_headerScaleImage = [UIImage imageNamed:@“rose“]; UIView *head
阅读本文

rabbitmq的web管理界面无法使用guest用户登录

转至安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败。翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3
阅读本文

Exchange2010安装详解

1、启动Exchange安装工具 2、“选择Exchange 语言选项”至“仅从DVD安装语言”: 3、在查看过Exchange Server2010安装向导的“简介”页上,单击下一步,出现“许可协议”页,选择“我接受许可协议”,单击“下一步”4、在“错误报告”页上选择相应的选项,单击“下一步”,5、在“安装类型”页上,单击“Exchange Server典型安装”。单击下一步 6、如果这是组织中
阅读本文