03 2012 档案

摘要:概要什么是所谓的替换原则?开发中我们通常会通过继承实现一些子类来达到功能的扩展,比如假设我们有基类B,有个B类型的指针或引用作为某个函数的参数,这时我们创建了子类C继承于B,如果当把指向C类对象的指针作为参数传递时,出现了一些意料之外的异常时,它就违反了LSP。说的有点抽象,到实例再具体说明。目的子类类型完全能替换基类类型而不会发生异常实例与效果举个LSP经典的例子来说明下吧。比如我们有个Rectangle,可以设定长和宽,同时可以计算它的面积,我们还有正方形的需求,所以我们创建一个Square类,继承于Rectangle。具体实现如下:class Rectangle { public: .. 阅读全文
posted @ 2012-03-31 16:53 MXi4oyu 阅读(232) 评论(0) 推荐(0)
摘要:概要何谓开放关闭,其实就是对扩展是开放的,对修改是关闭的。前半句好理解,后半句什么意思?进一步说明,就是扩展的同时对固有既定模块是不需要再修改的,如果还要问什么是固有既定模块,抱歉,文字还真不好解释,到后面穿插实例再来说明吧。目的对扩展开发,对修改关闭实例与效果先看个例子,比如我们需要一个封装访问MySql数据库的类。定义一些数据库操作API供外部调用,代码和类图如下所示:class Database { public: void connect(); void execute(); void commit(); void rollback(); };然后你兴致勃勃地开... 阅读全文
posted @ 2012-03-31 08:41 MXi4oyu 阅读(230) 评论(0) 推荐(0)
摘要:概要所谓单一职责,一个类或接口应该只负责一种职责,当某个类或接口会因为两种职责的变更而引起变化时,我们就需要分割职责。目的一个类或接口应该只会因一种职责而发生改变实例与效果先看个例子吧。假设我们需要一个消息的接口类,可以设定发信者和消息内容,很容易我们会设计成这样一个接口以及实现的类,class IMessage { public: virtual void SetSenderType(string sender) = 0; virtual void SetMsgContent(string msg) = 0; }; class Message :public IMessa... 阅读全文
posted @ 2012-03-30 16:01 MXi4oyu 阅读(226) 评论(0) 推荐(0)
摘要:关于出发点从开始接触设计模式到现在也有4年多了,大小著作,文章也翻了很多,心得体会的记录却半点没留下。说到心得,不是吹,还真有些,脑袋里实在憋多了难受,忍不住拿出来晒晒吧。当然,这个方向可参考资料也确实太多了,我这点花花肠子也翻不出啥新花样了,所以大家大可不必当学习资料来看,相反,以评判,讨论的心态来看更合适些。另外,近期也确实想不到有什么其他可写的,这个系列应该可以用来打发下时间。关于内容既然是设计模式,n种设计模式肯定是会写的,而且不会光局限于GOF(四人帮)书里面的那23种。至于哪种先写哪种后写,还没决定,哪个先从我脑子里溢出的就先写哪个吧。另外,几种面向对象设计原则(oo princi 阅读全文
posted @ 2012-03-30 15:58 MXi4oyu 阅读(151) 评论(0) 推荐(0)
摘要:效果图:MainActivity.javapackage tianshuai.homePage; import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.RelativeLayout; import android.widget.TabHost; import android.widget.TabHost.TabSpec; import android.widget.TextView; public class Ma.. 阅读全文
posted @ 2012-03-29 13:56 MXi4oyu 阅读(170) 评论(0) 推荐(0)
摘要:一,创建三个Activity类MainActiviey.javapackage tianshuai.home_page; import android.app.Activity; import android.app.ActivityGroup; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TabHost; import android.widget.TabHost.TabSpec; public class MainActi.. 阅读全文
posted @ 2012-03-29 00:05 MXi4oyu 阅读(265) 评论(0) 推荐(0)
摘要:一,友元 1)可以将类作为友元,友元类的所有方法都可以访问原始类的私有成员和保护成员。 2)下面例子介绍了 电视类和遥控器类,其中遥控器类为电视类的友元类 3)注意:友元关系不具对称性。即 A 是 B 的友元,但 B 不一定是 A 的友元。 友元关系不具传递性。即 B 是 A 的友元,C 是 B 的友元,但是 C 不一定是 A 的友元。#include <iostream> using namespace std; class TV { private: int state;// on or off int volume; //assumed to be digitized ... 阅读全文
posted @ 2012-03-27 19:57 MXi4oyu 阅读(165) 评论(0) 推荐(0)
摘要:他年收入100多万开着一辆宝马5,天天被应酬折腾的要死要活,真想狠狠心不干了,当初干嘛非要自己创业,当年在那家外企也能挣个四五十万,加上些油水,能弄个大几十万,比自己干不知道要轻快多少!五险一金有公司给上着,多好啊,再看看现在,看看老婆孩子,还有跟着自己吃饭的好几十人,哪能说放手就放手,硬着头皮接着干吧,这不,一个猿类又给他打电话了,不知道又要干啥,唉。。。。。。。。。。。他年收入50多万开 着一辆a4l,天天琢磨着什么时候能换一辆q7或者陆巡什么的,可是看看手里还有两套房子的贷款没又还完,咬咬牙还是算了吧,今年的指标刚下来,麻痹的又 涨了40%,这tmd还叫人活吗?这指标这么涨下去,早晚有一 阅读全文
posted @ 2012-03-27 18:44 MXi4oyu 阅读(138) 评论(0) 推荐(0)
摘要:在JNI中,当我们使用GetFieldID/GetStaticFieldID或GetMethodID/GetStaticMethodID及定义JNINativeMethod等时,我们需要表示成员变量的类型,或函数传入参数或返回的类型。JNI把Field的类型,或函数传入参数或返回值的类型进行简写以char*的形式进行表示。 对于成员变量,直接用java类型的简写表示成员变量的类型就可以 比如:"I"表示该成员变量是Int类型 "Ljava/lang/String;"表示该成员变量是String类型 示例1: jfieldID str = (env)-&g 阅读全文
posted @ 2012-03-26 21:02 MXi4oyu 阅读(187) 评论(0) 推荐(0)
摘要:序:C++的一个主要目标是促进代码重用,其中包含公有继承、包含、使用私有或保护继承一,包含对象成员的类 1)valarray类简介 #include <valarray> 作用:处理数值,支持数值中所有元素的值相加,找最大值,最小值 用法:vallarray <int> a; //数组 a size=0 vallarray <double> b(10); //数组 b size=10 vallarray <double> c(10,8); //数组 c size=8 每个元素设置为 10 i... 阅读全文
posted @ 2012-03-26 20:57 MXi4oyu 阅读(235) 评论(0) 推荐(0)
摘要:一,使用FileWriter和FileReader读写文件import java.io.*; public class JavaApplication2 { /** * @param args the command line arguments */ public static void main(String[] args) throws FileNotFoundException, IOException { FileWriter fw = new FileWriter("test.txt"); fw.write(... 阅读全文
posted @ 2012-03-26 17:17 MXi4oyu 阅读(241) 评论(0) 推荐(0)
摘要:错误一:the application has stopped unexpectedly解释:应用程序意外停止解决方案:1)首先检查java文件逻辑问题,比如强制类型转化出错 privateImageButton button; button =(Button)findViewById(R.id.button); 还有其他类型错误,此处不一一举证 2)我第一反应是xml文件配置错误 检查layout文件夹和values文件下的xml文件看是否有语法错误 这里有一个... 阅读全文
posted @ 2012-03-26 14:46 MXi4oyu 阅读(137) 评论(0) 推荐(0)
摘要:前提:使用可以联网的模拟器或者手机调试一,更改xml文件<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_pa 阅读全文
posted @ 2012-03-26 14:43 MXi4oyu 阅读(378) 评论(0) 推荐(0)
摘要:一个月前心血来潮瞎折腾了下Nodejs,用ab和JMeter进行简单地压力测试后,不得不佩服它的速度与性能(备注:测试比较了几个框架后得出的结果)。Nodejs是什么,一个基于chrome的javascript V8引擎的platform,特点是事件驱动,异步非阻塞IO模型,轻量。本文不是给Nodejs做广告的,它只是一个引子,关于Nodejs的具体信息大家自己google吧,这里就不多作说明了。之所以是个引子,正由于它是基于V8引擎的,而让我感叹V8的威力时,不由想到另外一个firefox的JS引擎SpiderMonkey,进而忍不住想PK一下他们的性能。说明下PK用的环境吧,1. 环境一: 阅读全文
posted @ 2012-03-23 12:32 MXi4oyu 阅读(321) 评论(0) 推荐(0)
摘要:一,库:一种可执行代码的二进制形式,可以被载入内存执行。其中库分为静态库、动态库二,静态库和动态库的区别 1)Linux 下静态库:名字一般为 lib***.a利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。 2)Linux 下动态库:这类库的名字一般是libxxx.so;相对于静态函数库,动态函数库在编译的时候 并没有被编译进目标代码中,你的程序执行到相关函数时才调用该函数库里的相 阅读全文
posted @ 2012-03-20 17:48 MXi4oyu 阅读(233) 评论(0) 推荐(0)
摘要:一,类继承 定义:从已有的类派生出新的类,而派生类继承了原有类的特征,包括方法。 目标:提供可重用的代码二,一个简单的基类#include <iostream> #include <cstring> using namespace std; class student //基类 { private: char name[20]; int num; int age; public: student(const char *m_name,const int m_num,const int m_age); ~student(); virtual void display(); 阅读全文
posted @ 2012-03-20 12:58 MXi4oyu 阅读(335) 评论(0) 推荐(0)
摘要:一,开发环境配置 众所周知,万事开头难,配置开发环境是所有开发项目最基本且必须要做的一步。 所用的所有软件及开发平台:Win7+NetBeans+Vmware+ubuntu+NDK+android SDK 首先,在Win7平台下面配置好开发android的环境,具体细节参照博客:http://blog.csdn.net/tianshuai11/article/details/7367700 然后,在Vmware中的ubuntu系统中下载android-ndk-r7b的NDK开发包http://developer.android.com/sdk/ndk/index.htm... 阅读全文
posted @ 2012-03-19 17:40 MXi4oyu 阅读(189) 评论(0) 推荐(0)
摘要:【序】我是为了android研究需要才开始研究JNI的。阅读本例文之前希望你按照上一篇【java】Windows7 下环境变量设置已经对环境变量进行正确设置本文通过一个简单的例子来演示如何使用JNI。我们写一个JAVA程序,并用它调用一个C函数来打印“Hello World!”。这个过程包含下面几步: 1、 创建一个类(HelloWorld.java)声明本地方法。 2、 使用javac编译源文件HollowWorld.java,产生HelloWorld.class。使用javah –jni来生成C头文件(HelloWorld.h),这个头文件里面包含了本地方法的函数原型。3、 用C/C++代 阅读全文
posted @ 2012-03-19 11:19 MXi4oyu 阅读(256) 评论(0) 推荐(0)
摘要:Windows 7下配置JDK环境变量参数设置:1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:D:\Program Files (x86)\Java\jdk1.6.0_252.安装完成后,右击“我的电脑”,点击“属性”,单击“高级系统设置”,点击“环境变量”,如图:4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”:(1).JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\Program Files (x86)\Java\jdk1.6.0_25如图: 阅读全文
posted @ 2012-03-19 10:24 MXi4oyu 阅读(160) 评论(0) 推荐(0)
摘要:一,序言:这是我继java、VC++、C、C#……之后又入手的一门语言。二,认识python 1,简介:python是一种面向对象、直译式计算机程序设计语言,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。 2,历史:做为ABC 语言的一种继承,后缀名为.py 3,局限性:强制缩进:缩进表示同一个语法块 单行语句和命令行输出问题 4,开发环境:python 3.0 语法区别于 python 2.0三,走进python 1)入门神级的程序hello world ... 阅读全文
posted @ 2012-03-18 00:36 MXi4oyu 阅读(197) 评论(0) 推荐(0)
摘要:第十家,日资企业,《方舟信息技术(苏州)有限公司》还是老样子,先介绍下公司背景吧,留学日本的国人回国后开得一家公司,在日本和中国都有研发公司,主要做车载系统,嵌入式数据库,WEB应用这三方面的业务。苏州这边公司规模大概50人左右,前期在网上调查了一下,貌似评价还是不错的,没有什么负面报道。由于是个项目管理的职位,所以没有笔试,直接进入面试阶段。面试官应该是他们的一位主管,彼此聊的比较放松,气氛很不错,技术上主要涉及到嵌入式实时操作系统方面的问题,管理上设置了一些工作情景让我进行解答,其实问题不多,持续的时间也不长,估计也就40分钟不到(也许是自己的回答让对方觉得不再需要多问什么吧,呵呵,略微高 阅读全文
posted @ 2012-03-11 22:03 MXi4oyu 阅读(232) 评论(0) 推荐(0)
摘要:CSDN的第一篇技术博客就从这里开始吧。 对于常见的几种服务器模型,有过服务器端开发经验或研究了解过这个领域的可能都清楚。类似介绍这些模型,分析各自特点优劣的文章不胜枚举,本来在这个方向班门弄斧的挥上一笔似乎已经没有太大价值。但是,正由于以前都是看其他牛人的分析结果,虽然都基本认同,但却没有自己去验证过。前段心血来潮,就略花了点时间,自己写代码简单的实现了下几种服务器模型,然后自己写了些客户端的测试用例,得到些定量的分析结果,在整个过程中,感觉还是有点收获,所以一方面跟大家分享一下,另一方面也算是记录下自己的成果的。 开始,先说明下自己到底做了些什么吧。1. 用Python实现了以下几种服务. 阅读全文
posted @ 2012-03-06 15:28 MXi4oyu 阅读(268) 评论(0) 推荐(0)
摘要:本文主要是为小菜们服务的,如果你已经是一只老鸟呢,可能某些东西会感觉比较乏味,但只要你仔细的看,你会发现很多有趣的东西哦。阅读此文你只要明白下面的这点东西就够了。 1.明白php+mysql环境是如何搭建的,在光盘中我们收录搭建的相关文章,如果您对搭建php+mysql环境不是很清楚,请先查阅此文,在上一期的专题中也有所介绍。2.大概了解php和apache的配置,主要用到php.ini和httpd.conf 而此文我们主要用到的是php.ini的配置。为了安全起见我们一般都打开php.ini里的安全模式,即让safe_mode = On,还有一个就是返回php执行错误的display_err 阅读全文
posted @ 2012-03-02 17:24 MXi4oyu 阅读(379) 评论(0) 推荐(0)
摘要:前几今天遇到一个bt 的老外注射点: //*ps 此点目前流行的注射工具射不 *//http://cleopatra-sy.com/index.php?content=more_product&id=17http://cleopatra-sy.com/index.php?content=more_product&id=17and 1=1 正常http://cleopatra-sy.com/index.php?content=more_product&id=17and 1=2 报错http://cleopatra-sy.com/index.php?content=more 阅读全文
posted @ 2012-03-02 14:26 MXi4oyu 阅读(298) 评论(0) 推荐(0)
摘要:1.SQL Injection (classic or error based or whatever you call it) :D...2.Blind SQL Injection (the harder part)So let's start with some action :D1). Check for vulnerabilityLet's say that we have some site like thishttp://www.site.com/news.php?id=5Now to test if is vulrnable we add to the end o 阅读全文
posted @ 2012-03-02 13:08 MXi4oyu 阅读(221) 评论(0) 推荐(0)
摘要:UITEXTVIEW和UITEXTFIELD统计字符和响应RETURN键统计字符:1、UITextView- (void)textViewDidChange:(UITextView *)textView { int count = [textView.text length]; //这里的count就是字符个数了 }复制代码2、UITextField方法一:自己先为UITextField的EditingChanged事件添加一个响应方法-(IBAction)valuechange//m_TextField是UITextField的一个IBOutlet { int c... 阅读全文
posted @ 2012-03-01 11:05 MXi4oyu 阅读(230) 评论(0) 推荐(0)