`
tuhaitao
  • 浏览: 375676 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
根据不使用中间变量交换两个变量值算法可进一步扩展到数组中:     #include <stdio.h> void change(int* a, int* b) { *b = *a ^ *b; *a = *a ^ *b; *b = *a ^ *b; } // a[] 为数组 // cnt为数组长度 void reverse_array(int a[], int cnt) { int first, last; for(first = 0, last = cnt -1; first < last; first ...
这个算法是由布尔代数的而来, 在布尔代数中 有几个基本的运算,   与、或、非、异或  ,分别对应C语言中的 &、|、~、^运算符号   其中运算的规则是:   与:   &     0     1 -------------   0     0     0 1     0     1   或:   |      0     1 -------------   0     0     1 1     1     1   非:     ~      ---------   0     1     1 ...
drop function if exists rand_string; create function rand_string(str_length tinyint unsigned, str_type tinyint unsigned) returns varchar(255) begin -- Function : rand_string -- Author : reymondtu#opencfg.com -- Date : 2011/03/27 -- Params : str_length int unsig ...
mysql 4.1.18 中存在不支持函数order by的bug   select a, sum(b) from tablename group by a order by sum(b)   此时会出现ERROR 1111 (HY000): Invalid use of group function   绕过此bug的方法是给sum(b) 加上as   select a, sum(b) as ss from tablename group by a order by ss   这样就OK了
selinux 是个安全性极高的软件,在安装了发行版linux的操作系统中,都有一些各个厂家的配置,   因为在发行版linux出厂时,安装了各种编程工具、网络服务,有些安全性软件本身有很强大的功能,   需要对其进行限制, selinux的做法是 ,使用者能被分配预先定义好的角色,以便他们不能存取文件   或者访问他们不用的程序.   这里我给出一些常用的配置以及命令.   selinux 在redhat类型的linux中配置目录为:/etc/selinux/   1.配置selinux   修改配置文件: /etc/selinux/config   默认为: ...
  关于web应用,从html的产生,到客户端浏览器的渲染,有3个重要的组成部分:   1.html在服务端生成 2.网络传输 3.浏览器渲染   在html生成的过程中,可能会用到cache,可能会链接数据库等等,对于负责的html页面,都要经过很多业务流程   facebook的做法是使html的生成变成多个步骤,每生成一小部分html(facebook给这种编程模型起了个名字叫做PageLet),就发送到网络上,浏览器就先展示最先发送的一部分,使整个页面传输的过程流水化,提高页面呈现速度。   经过流水化的页面生成后,整个过程变为:     可以很直观的 ...
万能的SimpleDateFormat可以把java.util.Date对象, 或者类似 "2010-11-24 23:23:11.666"的   字符串转换成我们需要的格式或者时间对象。   但是由于时间的概念复杂,又牵扯到时区与本地化,导致了SimpleDateFormat需要处理太多的时间细节, new一个SimpleDateFormat需要华为太多的时间,这样可能会想到缓存SimpleDateFormat对象 但是万能的SimpleDateFormat恰恰又不是现成安全的。   如果在单线程情况下,缓存SimpleDateFormat对象是不错的选择。 ...
以NAT方式启动VBox中的Linux,会发现本机无法访问虚拟机中启动的服务,当然以桥接方式启动就不会有这样的问题,但有时候我们不得不去选择NAT方式,这里是我使用NAT映射的一点经验:   VBoxManage modifyvm "Fedora-13 " --natpf1 "guestmysql-proxy ,tcp ,127.0.0.1 ,4040 ,,4040 "   简单说一下这里参数的意思   Fedora-13              这里是虚拟操作系统的名字 --natpf1                 N ...
在MBean中有只要遵循以下两个规则,我们就可以在jconsole中动态的改变MBean中的属性值 1. JMX中要定义接口必须以xxxMBean的规范定义 2. 得有类实现xxxMBean接口   例如:   package com.haitao.jmx.mxbean; /** * Server Configure MBean * * @author haitao.tu * */ public interface ServerConfigureMBean { public int getPort(); public void s ...
Notification   通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知.     这里写一个简单的Server配置例子, 首先定义我们的MBean接口:     package com.haitao.jmx.mbeans.server; /** * * Server Configure MBean * * @author haitao.tu * */ public interface ServerConfigureMBean ...
JMX        即 Java Management Extensions   Java管理扩展MBean   即 managed beans                         被管理的Beans一个MBean是一个被管理的Java对象,有点类似于JavaBean,一个设备、一个应用或者任何资源都可以被表示为MBean,MBean会暴露一个接口对外,这个接口可以读取或者写入一些对象中的属性,通常一个MBean需要定义一个接口,以MBean结尾, 例如: EchoMBean, 格式为XXXMBean,这个是规范,必须得遵守。例如:     package com.haita ...
    Apache Tomcat Native library 是 Apache 为了提升 Tomcat 的性能搞的一套本地化 Socket, Thread, IO 组件也就是说它有高级 IO 功能, 操作系统级别的功能调用, 以及本地进程处理等等, 这些都能使 Tomcat 更像一个 Web Server(像Apache那样), 而不是只能用来解释JSP, 大大增加了Tomcat作为服务器的吞吐性能,尤其是处理静态文件能力。      在安装nactive lib之前必须安装以下linux lib 1.APR library 2.OpenSSL libraries 3.Java SE ...
    一般人都习惯直接修改/etc/profile文件,但是这个不便于管理,万一环境变量一多,对系统的部署造成了很大的麻烦,分不清哪些配置对应哪些应用安装下载步骤就不说了 (linux不同发行版的目录结构不一样,但是每一种都有自己的体系结构,有机会多研究下,可以借鉴到app工程里来用) 安装jdk的路径是: [root@localhost jdk1.6.0_21]# pwd /usr/share/java-1.6.0/jdk1.6.0_21 配置/etc/profile.d/java.sh JAVA_HOME="/usr/share/java-1.6.0/jdk1 ...
    在Nginx中的默认Proxy是只能对后面Real Server做端口转发的,而不能做域名转发。如果想使用Nginx对后端是同一IP、同一端口 转发不同的域名则需要配置Nginx Proxy。     这个是因为默认情况下:     proxy_set_header Host $proxy_host;     这样就等于前端输入域名后到nginx这里直接转换成IP进行转发了。     于是我们需要修改proxy_set_header的参数。     proxy_set_header Host $http_host;     下面这个例子中backend1权重为5,其他默认为1,最 ...
cookie的domian,path,expires,这些在cookie操作中都会经常用到 但是对于客户端浏览器来说这些都是可见的,通过document.cookie可以直接在脚本里输出,这里很容易被注入一些js脚本,获取到本地的cookie,发送到其他地方去,泄露个人隐 ...
Global site tag (gtag.js) - Google Analytics