05 2012 档案
摘要:其中fixup和fixdown就是堆排序的使用。 /** * This class represents a timer task queue: a priority queue of TimerTasks, * ordered on nextExecutionTime. Each Timer object has one of these, which it * shares with its TimerThread. Internally this class uses a heap, which * offers log(n) performance for the add,...
阅读全文
摘要:这个异常经过在jetty的一个简单程序的测试验证,确定问题及分析如下:这个程序在使用response输出结果时,先调用response的getWriter获得PrintWrite对象后输出内容,然后再调用getOutputStream方法获得outputStream对象后输出二进制内容,然后就跑出上面那个异常了。 这两个方法在jetty容易中是这么处理:
org.eclipse.jetty.server.Response继承自j2ee里面的HttpServletResponse.java类
org.eclipse.jetty.server.Response.java类里面 publ...
阅读全文
摘要:最近有个需求需要对于获取URL页面进行host绑定并且立即生效,在java里面实现可以用代理服务器来实现:因为在测试环境下可能需要通过绑定来访问测试环境的应用
实现代码如下: public static String getResponseText(String queryUrl,String host,String ip) { //queryUrl,完整的url,host和ip需要绑定的host和ip InputStream is = null; BufferedReader br = null; StringBuffer res = n...
阅读全文
摘要:jetty启动分析
jetty启动命令:java -jar /usr/alibaba/jetty/start.jar -Djetty.home=/usr/alibaba/jetty --ini=/home/admin/deploy/jetty/start.ini 如果加上--help参数,则显示jetty启动的参数设置和配置设置,如下:
#java -jar /usr/alibaba/jetty/start.jar -Djetty.home=/usr/alibaba/jetty --ini=/home/admin/deploy/jetty/start.ini --help
propertie.
阅读全文
摘要:public class HttpStatus
{ public final static int CONTINUE_100 = 100; public final static int SWITCHING_PROTOCOLS_101 = 101; public final static int PROCESSING_102 = 102; public final static int OK_200 = 200; public final static int CREATED_201 = 201; public final static int...
阅读全文
摘要:mysql> show table status like 'mytable' \G;*************************** 1. row *************************** Name: mytable 表名 Engine: InnoDB 存储引擎伟InnoDB Version: 10 mysql版本 Row_format: Compact 行格式。有Dynamic,fixed,Compact等格式。Dynamic是动态行,表字段里面宝航varchar,BloB等不定长字段。fixed是定长行。Compact是行压缩。 Ro...
阅读全文
摘要:1.定义java类中的native方法,新建下面一个类public class NativeDemo { public static native void say(); //static的native方法 public native void sayHello(); //实例的native方法,两者的处理不一样 public static int number = 10; int a = 2; public void callThis(){ System.out.println("c++ c...
阅读全文
摘要:import java.io.IOException;
import java.util.Arrays; import javax.tools.Diagnostic;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider; public class CompilerDemo { ...
阅读全文
摘要:软件包 java.lang.management提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。接口摘要ClassLoadingMXBean用于 Java 虚拟机的类加载系统的管理接口。CompilationMXBean用于 Java 虚拟机的编译系统的管理接口。GarbageCollectorMXBean用于 Java 虚拟机的垃圾回收的管理接口。MemoryManagerMXBean内存管理器的管理接口。MemoryMXBeanJava 虚拟机的内存系统的管理接口。MemoryPoolMXBean内存池的管理接口。OperatingSystemMX
阅读全文
摘要:安装mongodb$ # replace "1.6.4" in the url below with the version you want$ curl http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.6.4.tgz > mongo.tgz$ tar xzf mongo.tgz$ cd mongo$./mongod #启动服务器$./mongo #启动客户端1.mongodb 命令列表 Mongo查询语法与SQL语法对照表MySQL executableOracle executableMongo
阅读全文
摘要:redis主从复制机器1. 一个master支持多个slave2. slave可以接受其他slave的连接,作为其他slave的master,从而形成一个master-slave的多级结构3. 复制在master端是非阻塞的,也就是master在向client复制时可处理其他client的命令,而slave在第一次同步时是阻塞的4. 复制被利用来提供可扩展性,比如可以将slave端用作数据冗余,也可以将耗时的命令(比如sort)发往某些slave从而避免master的阻塞,另外也可以用slave做持久化,这只需要将master的配置文件中的save指令注释掉。client可以在一开始时作为sl
阅读全文
摘要:redis当前最新稳定版本是2.2.81.安装redis$ wget http://redis.googlecode.com/files/redis-2.2.8.tar.gz$ tar xzf redis-2.2.8.tar.gz$ cd redis-2.2.8$ make2.启动redis $ src/redis-server3.使用redis Redis命令总结Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法,比如上面例子中使用的sadd方法,就是对
阅读全文
摘要:/* Our hash table capability is a power of two */
static unsigned long _dictNextPower(unsigned long size)
{ unsigned long i = DICT_HT_INITIAL_SIZE; //DICT_HT_INITIAL_SIZE=4 if (size >= LONG_MAX) return LONG_MAX; while(1) { if (i >= size) return i; i *= 2; ...
阅读全文
摘要:不同类型的资源,需要用不同的方法来访问。访问CLASSPATH中的资源将资源放在CLASSPATH是最简单的做法。我们只要把所需的资源文件打包到Jar文件中,或是在运行java时,用-classpath参数中指定的路径中。接下来我们就可以用下面的代码来访问这些资源:例5.1.访问CLASSPATH中的资源URL resourceURL = getClassLoader().getResource("java/lang/String.class"); // 取得URL
InputStream resourceContent = getClassLoader().getReso
阅读全文
摘要:package com.mine; import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectableChannel;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.
阅读全文
摘要:jmeter是一个简单开源的纯java的性能测试工具。今天学习了jmeter使用了下jmeter,使用起来非常简单。如果我们要对163的首页性能进行简单测试,我们可以按照以下步骤进行。1.在测试计划里面创建一个线程组,在这个线程组下这个线程组的线程数,也就是并发用户数,循环次数每个并发用户的请求数。参数 ramp-up period 用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。假如未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程,假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JM
阅读全文
摘要:1.安装apache安装apache,用的是2.2.15这里用的是mod_proxy作为apache转发到jetty的模块,这里需要把mod_proxy装上2.安装jetty Jetty官方网站:http://www.mortbay.org/jetty/ 安装jetty,用的是7.03.在apache的http.conf加上 </IfModule><IfModule mod_proxy.c> ProxyRequests Off ProxyVia Off ProxyPreserveHost On<Proxy *> AddDefaultCharset off O
阅读全文
摘要:import java.lang.reflect.Method; import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; public class NewTest { @DataProvider(name = "dp") public Object[][] createData(Method m) { System.out.println(m.getName()); // print test method name return new Object[...
阅读全文
摘要:import java.io.IOException;
import java.net.MalformedURLException; import org.xml.sax.SAXException; import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.PostMethodWebRequest;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebForm;
import co..
阅读全文
摘要:jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。jstat -class pid:显示加载class的数量,及所占空间等信息。jstat -compiler pid:显示VM实时编译的数量等信息。jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)
阅读全文
摘要:时间限制:1000ms内存限制:65536kB描述继百度搜索框大厦之后,百度又于2012年初在深圳奠基了新的百度国际大厦,作为未来百度国际化的桥头堡。不同于百度在北京的搜索框大厦,新的百度国际大厦是一栋高楼,有非常多的楼层,让每个楼中的电梯都能到达所有楼层将是一个极为不明智的设计。因此,设计师给出了一个特别的设计——一共大厦有m个电梯,每个电梯只有两个按钮,(针对第i个电梯)两个按钮分别可以使电梯向上或ui层向下一定di层;百度国际大厦很高,你永远到不了顶层,也就是说电梯没有上限,但是,电梯不可以钻入地下,也就是说是有下限的。我们将每层楼用整数标记,为了体现IT公司的特质,我们以0作为地面这一
阅读全文
摘要:时间限制:1000ms内存限制:65536kB描述百度地图有自己的一套坐标系(你可以把它看作一个笛卡尔坐标系),在这套坐标系里,一个标准单位为1km。而在这坐标系上针对地理信息进行标注的数据,大多数时候是通过购买的方式完成的。为了节约数据更新的成本,数据组里的鑫哥想出了一个好主意——自己测数据。鑫哥按照他的预想开始实验;在每组试验中,鑫哥选取了三个已经被准确标注在百度地图的坐标系里的移动运营商的基站作为信号接收点(这里可以准确的得到信号的接收时间信息)。当信号接收点附近的用户手机签到时,三个信号接收点就会先后接收到这个信号,并可以准确的知晓接收到信号的时间(将第一个信号点接收到信号的时间记为0
阅读全文
摘要:时间限制:1000ms内存限制:65536kB描述馅饼同学是一个在百度工作,做用户请求(query)分析的同学,他在用户请求中经常会遇到一些很奇葩的词汇。在比方说“johnsonjohnson”、“duckduck”,这些词汇虽然看起来是一些词汇的单纯重复,但是往往都是一些特殊品牌的词汇,不能被拆分开。为了侦测出这种词的存在,你今天需要完成我给出的这个任务——“找出用户请求中循环节最多的子串”。输入输入数据包括多组,每组为一个全部由小写字母组成的不含空格的用户请求(字符串),占一行。用户请求的长度不大于100,000。最后一行输入为#,作为结束的标志。输出对于每组输入,先输出这个组的编号(第n
阅读全文
摘要:时间限制:1000ms内存限制:65536kB描述百度Hi作为百度旗下的即时聊天工具,在百度公司内部很是流行。要实现这样的一个聊天工具,最重要的问题就是要能保证我发出的内容能原封不动的在接收同学那里显示出来。今天,就给你一个机会,让你模拟一下百度Hi传递信息的过程,把我发给Robin的聊天内容原封不动的输出出来。输入输入的聊天内容数据有多组,每组数据占一行。输出与输入聊天内容完全相同的内容。请注意每组数据中的空格也要原封不动的被传过去噢~样例输入Hello Robin
今天下午去五福颁奖,具体时间是2012年8月3日 15:40噢~样例输出Hello Robin
今天下午去五福颁奖,具体时间是
阅读全文
摘要:时间限制:1000ms内存限制:65536kB描述百度百科有一支神奇的队伍,他们叫自己“百科蝌蚪团”。为了更好的让蝌蚪团的成员们安排工作,百度百科的运营团队定出了一个24小时制的时间表。例如:1.每个蝌蚪团成员工作时长相同;2.必须安排蝌蚪团成员在他们方便的时间段工作;3.蝌蚪团成员安排时间最小安排时间节点(开始工作或停止工作)为半小时,比如04:00或04:30,而不是04:15;4.蝌蚪团成员一天在百度百科工作的时间是有上限的,他们会根据自己的情况给出上限。5.在特定时间段内必须有一定数量的蝌蚪团成员工作,以保证百度百科不断的进步请帮运营团队计算一下,能保持24小时稳定在岗的蝌蚪团最少成员
阅读全文
摘要:时间限制:2000ms内存限制:65536kB描述在百度之星的贴吧里面,Java的爱好者和C++的爱好者总是能为这两种语言哪个更好争论上几个小时。Java的爱好者会说他们的程序更加整洁且不易出错。C++的爱好者则会嘲笑Java程序很慢而且代码很长。另一个Java和C++爱好者不能达成一致的争论点就是命名问题。在Java中一个多个单词构成的变量名应该按照如下格式命名:第一个单词的开头用小写字母,其余单词都以大写字母开头,单词与单词之间不加分隔符,除单词的首字母之外的字母一律使用小写。例如:javaIdentifier, longAndMnemonicIdentifier, name, bAIDU
阅读全文
摘要:时间限制:1000ms内存限制:131072kB描述百度2005年8月5日上市时,在北京和纳斯达克的同学们每一个小时整点时就会通一次电话,对一下表,确认一切相关活动都精确同步。但是要注意,在两边的同学位于不同的时区,在夏时制时,两地时差12小时,因此,每次对表都需要做一下时区转换。你来帮我们完成这个有点麻烦的工作吧。输入输入的第一行包括一个整数T(T ≤ 30),表示测试数据的组数;接下去的T行每行包括一个时间,表示两地中的一个地方同学报出的整点的时间,表示成“H:M”的形式,其中H是小时(0 ≤ H < 24,且当H小于10的时候可以表示成1位或者2位的形式)、M是分钟(0 ≤ M < 60
阅读全文
摘要:时间限制:1000ms内存限制:10000kB描述装载百度易平台的易手机已经上市,为了更好的为大家提供服务。百度与合作的运营商正在讨论为易手机用户推出一款特别的套餐,帮助大家更好的利用易手机。作为这个项目负责人的晓萌调研了大量用户使用这个套餐后会出现的资费预估,让我们来看看这个特别的套餐到底会带来怎样资费情况吧。输入输入数据包括十二行,每行包括一个数字(不含金钱符号$),表示晓萌调研的某一用户使用特别套餐后,一月到十二月消费的资费情况。每行包括的这个数字精确到小数点后两位。输出输出仅一行,表示用户使用该套餐后,针对给出的12个月的资费的均值情况。在分位采用四舍五入进位。输出以金钱符号$开头,输
阅读全文
摘要:时间限制:1000ms内存限制:65536kB描述在百度工作的小诺是一个USB设备迷,在他桌上有一堆的USB设备——USB鼠标、USB小音箱、USB按摩器……但是,公司配给小诺的ThinkPad X系列的电脑只有一个能用的USB接口。不过还好,小诺有一堆的USB Hub,可以把一个可用的USB接口变成多个USB接口。但是,小诺很难确定这些USB Hub能否满足他他众多的USB设备的需求。输入输入首行包括一个整数N(1 ≤ N ≤ 20),表示测试数据组数。接下去的N行,每行包括一组测试数据。每组测试数据行以一个整数K开头(1 ≤ K ≤ 10),表示这组测试数据提供的USB Hub的数量;紧接
阅读全文
摘要:时间限制:1000ms内存限制:10000kB描述百度框计算中提供了计算器这个功能,模拟计算器中的复杂功能,我们最先需要解决的就是实现加法模块。今天就给你个机会,和百度计算器一样,计算一下十以内的加法吧。输入仅有一组数据,包含两个正整数,分别为a, b(0 <= a, b <= 10)输出一个正整数,暨输入a, b后对应的a+b的计算结果样例输入5 2样例输出7#include <stdio.h>
#include <stdlib.h>
int Add(int a,int b)
{ int jw=a&b; int jg=a^b; while(jw)
阅读全文
摘要:以前写过:http://blog.chinaunix.net/uid-259788-id-2139370.html这次增加了大写字母的处理。DELIMITER $$ USE `t_girl`$$ DROP FUNCTION IF EXISTS `func_rand_string`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `func_rand_string`(f_num TINYINT UNSIGNED,f_type TINYINT UNSIGNED) RETURNS VARCHAR(32) CHARSET utf8
BEGIN ...
阅读全文
摘要:cocos2d-x有个问题,即使暂停sence运行,触摸仍然有效,有些菜单和按钮仍然会被触发。所以有的时候我们要手动屏蔽触摸,尤其是在弹出计费画面的,或者使用一些本平台自带控件的时候。做法有几种:第一种方案是:每一个继承自CCLayer的类都可以关闭触摸,使用这个函数setIsTouchEnabled(false);在暂停sence时,我们只需要关闭那些主要的CCLayer即可,也就是当前CCScene的主CCLayer和相关的CCMenu等。但这种方法,有时候会造成莫名其妙的crash。调试发现,如果在同一个frame的同一个函数中,先关闭再恢复触摸,就可能造成crash。crash的原因是
阅读全文
摘要:g10589119在【windows8开发】深入浅出C++/CX一文中提出了一下这个问题,特以此文进行回复,大家如果有不同意见和想法可以留言分享下。g10589119的问题如下:----------------------------------------------------------------------------------------------Fromg10589119楼主你好,最近遇到一个问题,就是在metro的开发中,想用c#调用C++ /CX写的DLL,public ref class test_class sealed
{
public:
void fun(int
阅读全文
摘要:一,题目 1.用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的。使用x次天平,最多可以从y个小球中找出较轻的那个,求y与x的关系式 2.有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入流中随机取得m个记录 3.大量的URL字符串,如何从中去除重复的,优化时间空间复杂度二,分析 1. y=3^x 2. 每次输入一个记录时,随机产生一个0到1之间的随机数,用这些随机数维护一个大小为m的堆。 3.采用取模hash函数,找一个hash函数了,映射过去,采用链接法避免冲撞 ,如果A映射后的值A!=B,C,D...,把A加入链表,...
阅读全文
摘要:选择工程, 编译的 (targets)选择Build Settings 菜单查找Library Search Paths 和 Framework Search Paths, 删掉编译报warning的路径即OK
阅读全文
摘要:1. 空间换时间法则 1.1修改数据结构 例如:计算球面距离:输入为球面上5000个点组成的集合S,再输入20000个点组成的序列,每个点实用经度和纬度表示,对于20000个点的序列,程序必须求出S中哪个点最接近它,距离使用球体中心与两个点的连线之间的夹角来度量。 直接计算需要用到大量的三角函数,开销很大,而两个点的距离随其欧氏距离单调增加(减小),故可将(经度,纬度)表示的数据结构变换为三维坐标形式,从而以更低的开销完成程序的需求。 1.2 存储预先计算好的结果 对于开销较大的函数,可以只计算一次,然后将计算结果存储起来以减少开销。以后再需要该函数时,可以直接查表而不...
阅读全文
摘要:一,概述 1)统计每个字符串出现的个数的程序实现,利用Map容器:#include <iostream>
#include <map>
using namespace std;
int main()
{ map <string ,int> M; map <string ,int>::iterator j; string t[5]={"abc","dd","abc","dd","dd"}; for(int i=0;i<5;++i) M[t[i]
阅读全文
摘要:一般来讲,签约分为两种:签offer和签三方协议。其中,前者对个人及企业的约束效力远不及后者。下面分别来介绍。1、签offeroffer一般是单位提供给你的一个录用意向,以合同的形式提供给你,要求你在上面签字,表明你接受对方的录用意向,愿意到单位工作。所以,这实际上相当于个人和企业签署的一个合同。一般这种形式在外企中比较常见,另外就是那些不给解决户口的单位,通常也会跟你签署一个这样的offer,然后等你正式工作后,再签署劳动合同。在此提醒大家,签offer前应了解以下几点:1)offer的作用。offer是你和公司签署的一个录用意向,并不涉及学校,所以,对你的约束力不大,同样,对公司的约束力也
阅读全文
摘要:作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provideradb shell //进入emulator 环境cd /data/datals SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为S...
阅读全文
摘要:概要Template Method模式,这里的Template跟C++或java的模板是两回事,只是表达含义的模式名而已。从名字来理解,Template Method模式就是一种把处理模板化的模式。详细来说,Template Method模式会把一些比较稳定的算法封装到抽象层的基类方法中,在Template Method中通过多态去调用一些子类的具体实现。目的在基类中定义算法框架的方法,通过该方法去调用子类中封装的算法各个步骤的具体实现。实例设计一个绘图程序,会根据实际情况使用多个第三方库绘制直线的方法,在我们的程序中要实现矩形绘制的方法。分析一下这个绘图程序的需求,首先会有多个库提供绘制直线
阅读全文
摘要:概要系统中会包含很多行为,有些行为总是存在并需要被执行,而有些行为在某些场合或某种设置下就不希望被执行,通常很多人会通过一些条件对系统行为进行限制来达到目的,但是这样会给本来很简单纯粹的处理增加额外的逻辑,而通过NULL Object模式会提供一个具有代理式的空白行为的对象来解决问题。目的通过NULL Object模式提供一个具有代理式的空白行为的对象,从而隐藏一些判断逻辑。实例看这样一个例子,系统中有类Action,一些具体行为都从类Action继承来扩展,类Manager会使用Action类型的对象来处理相应的动作。类图和代码如下:class Action {
public: v...
阅读全文
摘要:概要Observer模式算是一种大名鼎鼎的设计模式了,如果你还没听说过Observer模式,那你总多少听说过MVC模式吧?其实MVC就是基于Observer模式的细化和扩展。所以如果要理解MVC,就应该首先掌握Observer模式。Observer模式反映的是一种面向对象的一对多的事件触发关系,当某个对象希望在发生某种变化时能通知其他多个对象,而这个对象又不希望跟他希望通知的其他对象产生耦合时,Observer模式会是一种很好的解决方法。目的在对象间建立一对多的对应关系,当发生某种变化时可以通知已建立关系的多个对象。而对象间本身不产生任何耦合。实例Observer模式的例子其实有很多,所有涉及
阅读全文
摘要:在Windows上安装ActivePerl所需要的读取Excel文件一般用Win32::OLE,但对于跨平台来说,还是选择另外的 Spreadsheet::ParseExcel及Spreadsheet::WriteExcel最好。前者是读Excel文件用的,后者用于写Excel文件。Spreadsheet::ParseExcel只能读95-2003格式的Excel文档,对于office 2007 Excel则要安装Spreadsheet::XLSX。(自己写的excel文件则可以直接转成2003格式的)一,安装Windows下安装ppm>installOLE::Storage_Lite
阅读全文
摘要:自从MySQL 5.5 发布第一个版本以来,就在GRANT权限列表里面新增加了一条记录: PROXY。 不要以为这个是以前的MySQL Proxy 哦。其实这个是用来给用户做马甲用的。 我们来看下具体用法吧。这里,我用的是MYSQL 5.2.23.安装插件哦 现在我们来做对应的操作。 先创建真实用户:现在创建PROXY USER:行了,我们来退出,试试这个伪装用户。 下图中,如果伪装没成功,那么@@proxy_user 这个只读变量就为NULL。我们来看看其他的:OK。 看到了,和之前的用户有一样的权限哦。
阅读全文
摘要:在win8系列前面的文章里跟大家分享过,win8下基于WinRT有3种开发Metro UI App的方式,一种是XAML+C++,一种是html+css+javascript,一种是XAML+C#。开发平台和框架相关的详细内容可以参考这篇文章:《【windows8开发】开发平台与开发框架》先说明下自己的开发环境吧,我是用VMWare装了Win8的消费者预览版,然后又装了Visual Studio11 Express Beta for Windows8,大家也可以尝试下,毕竟实际动手敲下代码跑一下,感觉会更直观一点。在本文中会跟大家一起来讨论下用C++结合XAML怎么去开发Metro App。还
阅读全文
摘要:目前遇到这样一个外键定义:`t_girl`.`tb1` CONSTRAINT `fk_1` FOREIGN KEY (`r_id`) REFERENCES `tb1` (`id`) ON DELETE CASCADE目的是对于自己的另外一个字段进行约束, 其实这样看来, 后面的级联删除就没有必要了,因为针对的是同一张表的同一条记录。/* Trigger structure for table `tb1` */DELIMITER $$/*!50003 DROP TRIGGER*//*!50032 IF EXISTS */ /*!50003 `tr_tb1_before_insert` */$$/
阅读全文
摘要:概要开发中,经常会碰到一些基本逻辑相同,个别算法或处理行为不同的情况,这时如果把所有处理都耦合在一起,会增加模块的复杂度,同时给扩展带来一定难度。一种比较好的方法就是使用Strategy模式来对处理进行解耦,提高扩展性。同时Strategy模式还可以更好的支持"运行时"行为或算法的切换。目的对类行为进行解耦,使算法可以相对独立的变化而不至于对Client产生过多的影响。(每次写概要和目的都比较痛苦,因为这些内容相对比较抽象,自己的文字功底不够,有时要把自己的想法用抽象的文字真正说明清楚还是挺累的)实例看这样一个例子吧。设计一个绘图程序,会用到多个第三方绘图方法,首先我们需要
阅读全文
摘要:由于前端解决跨域问题的局限性比较大,对于 Ajax 跨域或是 iframe 跨域,建议用服务器端解决方案。此方案的原理是接受客户端发来的请求后,经由本域服务器代理向目标服务器发送请求,并将响应数据返回给客户端。用 apache 的 mod_proxy 模块开启反向代理功能来实现:1 修改 apache 配置文件 httpd.conf ,去掉以下两行前面 # 号 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
2 在 server ...
阅读全文

浙公网安备 33010602011771号