[推荐] 外包到底是个什么样的东西,欢迎拍砖 [问题点数:1分]

Bbs1
本版专家分:64
结帖率 40%
Bbs1
本版专家分:64
Bbs4
本版专家分:1569
Blank
红花 2013年10月 挨踢职涯大版内专家分月排行榜第一
2013年8月 挨踢职涯大版内专家分月排行榜第一
2013年7月 挨踢职涯大版内专家分月排行榜第一
2013年6月 挨踢职涯大版内专家分月排行榜第一
Blank
黄花 2013年5月 挨踢职涯大版内专家分月排行榜第二
Blank
蓝花 2013年9月 Java大版内专家分月排行榜第三
Bbs1
本版专家分:11
Bbs7
本版专家分:11752
Bbs1
本版专家分:59
Bbs2
本版专家分:162
Bbs1
本版专家分:59
Bbs1
本版专家分:23
Bbs2
本版专家分:118
Bbs7
本版专家分:21677
Bbs1
本版专家分:97
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs1
本版专家分:23
Bbs2
本版专家分:109
Bbs2
本版专家分:487
Bbs1
本版专家分:18
Bbs2
本版专家分:170
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs2
本版专家分:123
Bbs2
本版专家分:123
Bbs1
本版专家分:64
Bbs1
本版专家分:18
Bbs1
本版专家分:64
Bbs7
本版专家分:18792
Bbs1
本版专家分:64
Bbs2
本版专家分:371
Bbs2
本版专家分:371
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs2
本版专家分:371
Bbs1
本版专家分:64
Bbs2
本版专家分:371
Bbs1
本版专家分:64
Bbs2
本版专家分:371
Bbs2
本版专家分:371
Bbs1
本版专家分:64
Bbs3
本版专家分:537
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs2
本版专家分:371
Bbs1
本版专家分:64
Bbs1
本版专家分:64
Bbs2
本版专家分:109
Bbs1
本版专家分:64
Bbs2
本版专家分:109
React编程中的常用技巧(欢迎拍砖
1、变量初始化 在react组件编写的过程中,组件都需要输入参数,但是对于代码维护者来说,一个组件的使用,首先要知道它的输入。而React中的变量检查和默认值刚好可以做到,一方面可以校验变量,另一方面,可以把组件的输入参数表现出来。 class Input extends React.Component { // ... } Input.defaultProps = { c...
一个jdbc连接池类,欢迎拍砖
import java.io.File;rnimport java.sql.Connection;rnimport java.sql.DriverManager;rnimport java.sql.SQLException;rnimport java.sql.Statement;rnrnimport javax.xml.parsers.DocumentBuilder;rnimport javax.xml.parsers.DocumentBuilderFactory;rnrnimport org.apache.log4j.Logger;rnimport org.w3c.dom.Document;rnimport org.w3c.dom.Element;rnimport org.w3c.dom.Node;rnimport org.w3c.dom.NodeList;rnrnrnpublic class DCDashBoardConnectionFactory rnrn private static Connection connection;rnrn private static String connectionURL = "jdbc:oracle:thin:@192.168.2.5:1521:DASHBOARD";rnrn private static String username = "system";rnrn private static String password = "system";rnrn private static String CONFIG_LOCATION_FILE = "config.xml";rnrn private static File configFile;rnrn private static Document document;rnrn private static Statement statement;rn rn private static Logger log =Logger.getLogger("com.dashboard.dao.DCDashBoardConnectionFactory");rn rn public DCDashBoardConnectionFactory() rn rnrn private static void getConfig() rn log.info("Reading config file...");rn DocumentBuilderFactory df = DocumentBuilderFactory.newInstance();rn DocumentBuilder builder = null;rn if (configFile == null)rn configFile = new File(CONFIG_LOCATION_FILE);rn if (document == null) rn try rn builder = df.newDocumentBuilder();rn document = builder.parse(configFile);rn document.normalize();rn catch (Exception e) rn e.printStackTrace();rn rn rnrn NodeList urlList = (NodeList) document.getElementsByTagName("url");rn Element urlelement = (Element) urlList.item(0);rn Node nodeURL = urlelement.getChildNodes().item(0);rn connectionURL = nodeURL.getNodeValue();rn log.info("Read coonectionURL ok!");rn NodeList usernameList = (NodeList) documentrn .getElementsByTagName("username");rn Element usernameElement = (Element) usernameList.item(0);rn Node usernameNode = usernameElement.getChildNodes().item(0);rn username = usernameNode.getNodeValue();rn log.info("Read username ok;");rn NodeList passwordList = (NodeList) documentrn .getElementsByTagName("password");rn Element passwordElement = (Element) passwordList.item(0);rn Node passwordNode = passwordElement.getChildNodes().item(0);rn password = passwordNode.getNodeValue();rn log.info("Read password ok;");rnrn rnrn private static void initConnection() rn getConfig();rn try rn Class.forName("oracle.jdbc.OracleDriver");rn connection = DriverManager.getConnection(connectionURL, username,rn password);rn log.info("Connection ok!");rn catch (ClassNotFoundException e) rn log.error(e.toString());rn catch (SQLException e) rn log.error(e.toString());rn rn rnrn private static Connection getConnection() rn if (connection == null) rn initConnection();rn rn return connection;rn rnrn public static Statement getStatement() rn if (statement == null) rn try rn statement = getConnection().createStatement();rn catch (SQLException e) rn log.error(e.toString());rn rn rn return statement;rn rnrnrn
新做的mfc 俄罗斯方块 欢迎大家多多拍砖
没做这个游戏之前我还以为有多难多难,真正作完后才发现根本没有想象中的那么难.rn很简单,设置3个维数组,再用数组的下标为坐标去进行作图.rnrn就是消除方块稍微有点棘手,其他的都还比较简单.rnrn以下是源代码的链接rn里面的word文档有代码说明和设计方案说明rn[url=http://download.csdn.net/source/2803243][/url]
发布同表结构的数据同步存储过程!欢迎拍砖!
/*rn近日无事,写了一存储过程实现A,B同结构表的数据同步的简单处理的存储过程,<em>欢迎</em>大家丢砖.rn基本功能为同步insert AB的记录,最后以AB其中一表为准更新另外一表的差异记录.rnrn1.对于关键或者有些列为自增类型的,应该预先处理掉,这里留代各位大侠以后处理,好像是先建立一个去掉自增属性的临时表,rn然后导入原表数据,删除原表,再重新命表名rn2.对应是否需要关闭触发器,也未作处理.可以添加一个参数进行指示是否关闭触发器rn3.应考虑外键和约束.rn4.如AB表结构不一致的复杂度将大为增加,(实用性也将大大提高)rn呵呵,所以复杂的还是要考虑很多因素,不能简单的insert update了事.rnrn主要过程:rn1.从syscolumns,sysobjects,sysindexkeys表中获取表的字段信息rn2.构造insert同步语句rn3.构造update同步语句rnrn<em>欢迎</em>指出错误及纠正.rn*/rnCREATE Procedure tb_tab(@tab1 varchar(50),@tab2 varchar(50),@itab int)rn/*rn@tab1--A表表名rn@tab2--B表表名rn@itab--2:以B的数据更新A表rn <>2:以A的数据更新B表rn*/rnasrndeclare @sql varchar(2000);rndeclare @sql_temp varchar(1000);rndeclare @field_name varchar(50);rndeclare @tabupdateto varchar(50);rndeclare @tabupdatefrom varchar(50);rnrn--声明全部列,不用rn--declare cur_field1 cursor forrn--select syscolumns.name from syscolumns,sysobjects where syscolumns.id = sysobjects.id and sysobjects.name = @tb;rn/*rn在游标声明中无法使用变量,所以将游标要使用的变量先保存到临时表.实在没办法啦:).嘻嘻,可能我不知道别的办法.rn*/rnselect @tab1 as c_tbn into #tbtmp;rnrn--声明关键字列游标rndeclare cur_key1 cursor for select syscolumns.name from syscolumns,sysobjects,sysindexkeys,#tbtmp where syscolumns.id = sysobjects.id and sysobjects.name = #tbtmp.c_tbnrnand sysobjects.id = sysindexkeys.id and sysindexkeys.colid = syscolumns.colid and sysindexkeys.indid = 1;rnrn--声明关普通列游标rndeclare cur_notkey_field cursor for select syscolumns.name from syscolumns,sysobjects,#tbtmp where syscolumns.id = sysobjects.id and sysobjects.name = #tbtmp.c_tbnrnand not exists (select * from sysindexkeys where sysobjects.id = sysindexkeys.id and sysindexkeys.colid = syscolumns.colid and sysindexkeys.indid = 1);rnrn/*rninsert into test1(*) select * from test2 where not exits (select * from test1 where test1.c_col1 = test2.c_col1 and test1.c_col2 = test2.c_col2)rnselect test2.* from test2 where not EXISTS ( select * from test1 where test2.c_col1 = test1.c_col1 and test2.c_col2 = test1.c_col2)rn*/rnrnbeginrn/*rnrn插入A表在B表中没有的数据rn--insert test1 select * from test2 where not EXISTS ( select * from test1 where test2.c_col1 = test1.c_col1 and test2.c_col2 = test1.c_col2)rn*/rnselect @sql = 'insert into ' + @tab1 +' select * from ' + @tab2 + ' where not EXISTS ( select * from ' + @tab1 + ' where ';rnselect @sql_temp = '';rnopen cur_key1;rn--PRINT @@ERROR rnFETCH NEXT FROM cur_key1 into @field_name;rn--PRINT @field_name;rn--PRINT @@FETCH_STATUS rnwhile @@FETCH_STATUS = 0rnbeginrn if @sql_temp <> ''rn beginrn select @sql_temp = @sql_temp + ' and ';rn endrn select @sql_temp = @sql_temp + @tab1 + '.' + @field_name + ' = ' + @tab2 + '.' + @field_name ;rnrn fetch next from cur_key1 into @field_name;rnendrnrnselect @sql_temp = @sql_temp + ')';rnselect @sql = @sql + @sql_temp;rnclose cur_key1; rnEXEC(@sql);rn--PRINT @@ERROR rnrn/*rn插入B表在A表中没有的数据rn--insert test2 select * from test1 where not EXISTS ( select * from test2 where test2.c_col1 = test1.c_col1 and test2.c_col2 = test1.c_col2)rn*/rnselect @sql = 'insert into ' + @tab2 +' select * from ' + @tab1 + ' where not EXISTS ( select * from ' + @tab2 + ' where ';rnselect @sql_temp = '';rnopen cur_key1;rnfetch next from cur_key1 into @field_name;rnrnwhile @@FETCH_STATUS = 0rnbeginrn if @sql_temp <> ''rn beginrn select @sql_temp = @sql_temp + ' and ';rn endrn select @sql_temp = @sql_temp + @tab2 + '.' + @field_name + ' = ' + @tab1 + '.' + @field_name ;rn fetch next from cur_key1 into @field_name;rnendrnrnselect @sql_temp = @sql_temp + ')';rnselect @sql = @sql + @sql_temp;rnclose cur_key1;rnexec(@sql);rnrn/*rn以指定表的数据为准,更新另外一个表的数据rnupdate test2 set test2.d_date = test1.d_date , test2.f_number = test1.f_numberrnfrom test1 where test2.c_col1 = test1.c_col1 and test2.c_col2 = test1.c_col2rnand ((test2.d_date <> test1.d_date or test1.d_date is null) or (test2.f_number <> test1.f_number or test1.f_number is null))rn*/rnselect @tabupdatefrom = @tab1;rnselect @tabupdateto = @tab2;rnif @itab = 2rnbeginrn select @tabupdatefrom = @tab2;rn select @tabupdateto = @tab1;rnendrnrnselect @sql = 'update ' + @tabupdateto + ' set ';rnselect @sql_temp = '(';rnopen cur_notkey_field;rnfetch next from cur_notkey_field into @field_name;rnrnwhile @@FETCH_STATUS=0rnbeginrn if @sql_temp <> '('rn beginrn select @sql_temp = @sql_temp + ' or (' + @tabupdateto + '.' + @field_name + ' <> ' + @tabupdatefrom + '.' + @field_name + ' or ' + @tabupdatefrom + '.' + @field_name + ' is null or ' + @tabupdateto + '.' + @field_name + ' is null) ';rn endrn elsern beginrn select @sql_temp = @sql_temp + ' (' + @tabupdateto + '.' + @field_name + ' <> ' + @tabupdatefrom + '.' + @field_name + ' or ' + @tabupdatefrom + '.' + @field_name + ' is null or ' + @tabupdateto + '.' + @field_name + ' is null) ';rn endrnrn if @sql <> 'update ' + @tabupdateto + ' set 'rn beginrn select @sql = @sql + ' , '+ @tabupdateto + '.' + @field_name + ' = ' + @tabupdatefrom + '.' + @field_name;rn endrn elsern beginrn select @sql = @sql + @tabupdateto + '.' + @field_name + ' = ' + @tabupdatefrom + '.' + @field_name;rn endrnrn fetch next from cur_notkey_field into @field_name;rnendrnclose cur_notkey_field;rndeallocate cur_notkey_field;rnselect @sql = @sql + ' from ' + @tabupdatefrom+ ' where ' + @sql_temp + ') and ';rnselect @sql_temp = '( ';rnrnopen cur_key1;rnfetch next from cur_key1 into @field_name;rnrnwhile @@FETCH_STATUS = 0rnbeginrn if @sql_temp <> '( 'rn beginrn select @sql_temp = @sql_temp + ' and ';rn endrn select @sql_temp = @sql_temp + @tab2 + '.' + @field_name + ' = ' + @tab1 + '.' + @field_name;rn fetch next from cur_key1 into @field_name;rnendrnrnselect @sql_temp = @sql_temp + ')';rnselect @sql = @sql + @sql_temp;rnclose cur_key1;rndeallocate cur_key1;rnexec(@sql);rn--print @sqlrndrop table #tbtmp;rnendrn
有谁能说说c#到底是个什么样的编程工具
我一直不明白,vc++和c#的区别,请诸位大虾不吝指教,小弟这里先礼过了。
以前做的flash主页,欢迎拍砖
大学的时候没事干,做了一个全flash网站,<em>欢迎</em>大家来<em>拍砖</em>;rn注:并非原创;有一些<em>东西</em>是修改别人的;rnrn以前玩过一个游戏叫"蒙特祖玛的宝藏",感觉不错,所以决定用flash写一个放到主页上去,可是等我辛辛苦苦做的差不多了才发现只有200多K的源文件居然生成了将尽2M的SWF,所以只能放弃,现在疯学linux;有兴趣研究的朋友我可以把源文件发给它.可以继续研究一下;rnrn[url=http://www.w-lifei.cn]www.w-lifei.cn[/url]
使用Jquery业余时间做的小站,欢迎拍砖
网站的网址是 http://www.usinan.com前台使用了jquery和jqueryui的基础模块,设计了自己的插件体系,使所有版块可以自定义  
C++版T-shirt设计方案,欢迎拍砖
[img=http://album.hi.csdn.net/app_uploads/coldiceangel/20090527/160006961.p.jpg?d=20090527160506227][/img]
晒一下我的模板引擎,欢迎拍砖
别不多说,直接上代码rntemplate.php(3.55K)[code=PHP]find_var($s);rn $this->data = explode('' . join(']+)/i', $this->data[$start], $reg);rn $this->data[$start] = str_replace(' '.$reg[0], '', $this->data[$start]);rnrn $m = explode(',', trim($reg[1], '\'"')) + array(0, 0, '');rn $code_start = "?php if(isset(\$_var))\$_st[]=\$_var;foreach((isset(\$_var['$m[0]'])?\$_var['$m[0]']:\$this->$m[0]('$m[1]','$m[2]')) as \$_key=>\$_var)?>";rn $code_end = "?php \$_var=array_pop(\$_st);?>";rn switch($m[1]) rn case 0:rn $t = explode('>', $this->data[$start]);rn $t[1] = "$_var) rn //include 'data://,' . $_code;rn eval('?>' . $_code);rn rn rn function __call($func, $param) rn if(function_exists($func)) return call_user_func_array($func, $param);rn return array();rn rn function __toString() rn return join('2))rn则实际生成的 html 是 1 2rn当第二个参数缺省时,同样的数据只产生 12rn3、数据源函数约定返回的是二维数组:第一维是下标数组,第二维是关联数组。请参见测试例rnrn写程序很简单,写文档就要了我的命了rnrn[color=#FF0000]相关问题解答见 #39[/color]rnrn一个扩展的用法见 #61
写了一个抛出异常的函数,欢迎拍砖
写了一个小函数,抛出异常时输出调用顺序。刚开始学习JavaScript,<em>欢迎</em>指正!rn[code=JScript]function throwMyError(name,message)rn //output the call stackrn console.trace();rn var err = new Error();rn err.name = name;rn err.message = message;rn throw(err);rn[/code]
div+css和table布局的讨论,欢迎拍砖
其实从本身来讲,这两种布局没有差异,原因很简单,DIV是一种元素容器,table也是一种元素容器,两者能有什么差别呢,真有差别的话也只是table多了个和。rnrn但DIV可以加CSS,table一样可以加CSS。rnrn那么,为什么现在人们如此鼓吹div+css,一味排斥传统的table布局呢,我觉得,无非是两种种情况。rnrn1: 设计师用table布局就过于依赖table,而不用css,但这只能说作为设计人员的问题,不能说是table布局的错!rnrn2: 人们追逐潮流,一味虚荣、比较的心态!rnrnrn下面我就针对第2个问题,来探讨下div+css和table布局的优劣。rnrn首先,说速度。rnrn这是一味鼓吹div+css的人最善于比较的。难道table布局速度真的就慢?rnrn当然不是,我们知道,我们打开一个网址,实际上是去一个远程服务器上取得一个文件,那么在带宽有限的情况,决定速度的唯一问题就是获取文件的大小,文件越大,传输时间越长!rnrn一旦文件下载完成到本地,浏览器打开网页都是一瞬间的,以现在电脑CPU的处理速度,可以说再复杂的表格嵌套,那么有10层,也是在一瞬间打开。再者而且难道div就没有嵌套了吗?可以毫不怀疑的说,用table有多少嵌套,div也要有多少嵌套。只不过还是上面所说的table多了一个和,rnrn看似页面文件字节是大了些。但是不要忘了纯粹的div要大量的css去修饰,css也是要占用字节的。rnrn就拿一个简单的例子说,目前的垂直居中对于所有的浏览器来说,table的td的垂直居中都是通用的。显示上不会有任何差别。但是如果用DIV就累的要死,ie6+ie7+ff都不相同。想法设法弄好几个DIV才能去实现通用。rnrn那么,在此我不禁想table如此简单的居中,为什么非要用div去呢,这有人又会说了,为了数据和显示分离呗!rnrnOK,下面,说这个数据和显示分离!rnrn首先,我说明我的观点,简单的网页,数据和显示可以分离,但复杂的网页,像门户类的,那么琐碎,那么精细!根本无法分离!rn但需要更换美工页面,可以肯定的说,需要花费的力气不会比table+css少,绝不会像传说种那样随便动动css就可以了。rnrn下面我举一个例子来说明。rnrn就像通常用的圆角矩形,有人说div+css我就可以首先,好,你是怎么实现的,无非也就是弄4个块状布局元素放在4角,然后用css去修饰嘛,你只不过是用文本去作了一个圆角,但,你的数据和显示还是相互黏贴在一起,这实现了数据和显示的分离了吗?这和表格用4个角作背景图片有什么差别呢?rnrn完全跟table是一个思路!!!只是实现方式的差别!rnrn而且这种方式并不万能的,稍微复杂一点的圆角怎么弄,我想要带阴影,而且要外带发光的圆角,有办法吗?没有,还是要用table的方式去实现。rnrn而如果你要想真正的实现 数据和显示 完全的分离,你大可以把这 一整个圆角矩形,用做一个css类的背景图片(这样做的代码又违背了节省带宽的初衷)。然后把这个类应用到div上,这才叫真正的分离,但这和用到table,也或者是段落P标记上有什么差别呢,还是说,只不过是table多了一个tr,td,但是还是说,那么垂直居中的问题就能累死你!rnrn所以,真正的数据和显示分离。是要把一切的显示效果都做成背静图片,才能完全分类。但对于门户网站这样琐碎的、页面和显示耦合性如此紧密的页面,估计很难!rnrn真正优化的方式应该div+table+css,而不是一个table都不用!rn
状态枚举类Enumerator源代码,欢迎拍砖
初衷是解决智力题中的较复杂的推理题,比如:rn有5个人参加某项比赛,但是参赛人员必须满足:rn1、如果A参加,则B一定参加rn2、C和D有且只有一人参加rn3、D和E要么都参加,要么都不参加rn4、如果C参加,则B一定不参加rn5、最多有两个人参加rn问满足条件的参赛人选。rn我知道Prolog擅于解决此类问题,但是我擅用的语言是C++,所以就有了下面的代码。至于实用于否就不管了,权当是做了一个codekata,<em>欢迎</em>大家<em>拍砖</em>!rn[url=http://my.csdn.net/jingtianwen/code/detail/36580][color=#0000FF]我的空间里也有[/color][/url]rn我用的是VS2012,我必须要undef max才能使用std::limits<>::max()函数,很上火!rn[code=c]rn#pragma oncernrn#includern#includern#includern#includern#undef maxrntemplaternclass Enumeratorrnrn static_assert(BASE > 2, "template parameter should greater than 2!");rnpublic:rn// typedef unsigned int TYPE;rnrn Enumerator(unsigned int count, TYPE stat = 0)rn rn status.clear();rn status.resize(count, stat);rn rn bool operator ++()rn rn int c = 1;rnrn for (size_t i = 0 ; c != 0 && i < status.size() ; ++i)rn rn status[i] += c;rn if(status[i] >= BASE)rn rn status[i] = 0;rn c = 1;rn rn elsern //不需要再继续进位rn c = 0;rn rn rn return c == 0;rn rn bool operator++(int)rn rn return this->operator++();rn rn TYPE get(size_t i) constrn rn if(i >= status.size()) rn throw std::out_of_range(std::string("i should less than ") rn + lexical_cast(status.size()));rn return status[i];rn rn void set(size_t i, TYPE s)rn rn if(i >= status.size()) rn throw std::out_of_range(string("i should less than ") rn + lexical_cast(status.size()));rn status[i] = s;rn rn size_t count(TYPE s) constrn rn size_t result = 0;rn for (const auto& p : status)rn rn if(p == s) result++;rn rn return result;rn rn size_t size() constrn rn return status.size();rn rnprotected:rnprivate:rn std::vector status;rn;rntemplaternclass Enumeratorrnrn //只要是这种2状态的<em>东西</em>,直接采用unsigned类型,忽略类型参数Trn typedef unsigned int TYPE;rnpublic:rn Enumerator(unsigned int count, bool statu = 0)rn :SIZE(count)rn rn status.clear();rn status.resize(SIZE / BITS + 1, statu ? std::numeric_limits::max() : 0);rn rn bool operator++()rn rn static const auto MAX = std::numeric_limits::max();rn int c = 1;rnrn for (size_t i = 0 ; c != 0 && i < status.size() ; ++i)rn rn if(status[i] == MAX)rn rn status[i] = 0;rn c = 1;rn rn elsern rn status[i]+=c;rn c = 0;rn rn rn return c == 0 && (status.back() >> (SIZE % BITS)) == 0;rn rn bool operator++(int)rn rn return operator++();rn rn short get(size_t i) constrn rn if(i >= SIZE) throw std::out_of_range(std::string("i should less than ") + boost::lexical_cast(SIZE));rn return (status[i / BITS] >> (i % BITS)) & 1;rn rn void set(size_t i , bool s)rn rn if(s)rn status[i / BITS] |= 1 << (i % BITS);rn elsern status[i / BITS] &= ~(1 <>= 1;rn rn rnrn return s ? result : SIZE - result;rn rn size_t size() constrn rn return SIZE;rn rnprotected:rnprivate:rn static const auto BITS = std::numeric_limits::digits;rn const size_t SIZE;rn std::vector status;rn;rn[/code]rnrn然后可以用如下代码来解上面的问题:rnrn[code=c]rn#include "Enumerator.h"rn#include rnusing std::cout;rnusing std::endl;rnbool Check(const Enumerator& e)rnrn assert(e.size() == 5);rn const int A = 0;rn const int B = 1;rn const int C = 2;rn const int D = 3;rn const int E = 4;rn //如果A参加,则B一定参加rn if(e.get(A) && !e.get(B))rn return false;rn //C和D有且只有一人参加rn if(e.get(C) == e.get(D)) return false;rn //D和E状态一致rn if(!(e.get(D) == e.get(E))) return false;rn //如果C参加,则B不参加rn if(e.get(C) && e.get(B)) return false;rn //最多有两个人参加rn if(e.count(true) > 2) return false;rnrn return true;rn rnrnint _tmain(int argc, _TCHAR* argv[])rnrn Enumerator d(5,0);rnrn dorn rn if(Check(d))rn rn for (int i = 0 ; i
收集网易数据库笔试题,欢迎大家拍砖
要求: rn1. 网易的数据库笔试题,历史或现在都行,偶想大概了解一下难度,要不心里特没底,不知道考啥rn2. 希望不要和别哥的这个帖子题目重复rnhttp://topic.csdn.net/u/20080731/21/4b8eb01e-0523-4898-be3f-9cddc3b3a5b3.htmlrnrn一道题10分,分数不够可另开贴散分rn
Windows权限管理编程当中的SE_TCB_NAME到底是个什么样的概念?
MSDN的解释好简单:rnrnLogonUser API requires "Act as part of the operating system" (SE_TCB_NAME) privilege rnrnMSDN的一个例子里面:rn LSA_UNICODE_STRING SePrivilegeString;rn InitLsaString( &SePrivilegeString, const_cast( static_cast( bstr_t( SE_TCB_NAME ) ) ) );rn Status = LsaAddAccountRights( handler, pMySid, &SePrivilegeString, 1 );rnrn这个SE_TCB_NAME<em>到底</em>是什么意思? 什么时候需要设置这样的一个特权标记?
递归到底是个什么样的算法?(说明白就给分)
今天面试的人问我会不会递归,我是一点都不明白rn请会的朋友给我说说,大概说说递归是怎么回事就行
blufr 算法的理解---理解的不对的,欢迎拍砖
现在已知的算法是lfw 有6000对,3000 对正样本,3000 对负样本,利用十重交叉验证的方式来计算识别率。 虽然在现在的lfw 数据集上已经可以达到99% 但是并不能保证在真实的场景下有比较好的性能。 作者提出了一种新的方法,主要是扩展了原来基础上只有6000 对正负样本的计算。 现在作者把lfw 数据集分成一部分训练集,一部分测试集,训练集的样本平均在3400 多张左右,训练集的选
VLC已知问题及解决办法,欢迎拍砖
研究VLC有一段时间了,发现VLC中有不少问题,做了部分修改,<em>欢迎</em>各位<em>拍砖</em>。 1、VS编译的版本不能播放tcp的流,而官网下载的release版本可以播放。 原因: 1、VS编译的版本中使用了live555的源码,其源码的版本号较低,而release版本中的 live555版本较高; 2、我们的服务器在rtsp流程中做了部分改变,在收到play请求后即发送rtp数据和play响应,为追求速
列表框(SELECT) 通用的操作函数 欢迎拍砖
操作包括:rn1,搜索;rn2,两个列表框之间互相传递;rn3,读取列表框选中的值,返回以逗号隔开的字符;rn4,清除列表框中所有的选中项;rn5,全选或清除全选;rnrn在线演示: [url=http://mbb8.com/Mbb8/demo/select/demo.html]示例[/url]rn下载JS文件: [url=http://mbb8.com/Mbb8/demo/select/select.js]select.js[/url]rnrn比较简单实用,<em>欢迎</em>补充,嘿嘿
欢迎拍砖!没有面向对象,只有面向过程。
这和没有多维数组,只有一维数组一样。在论坛混那么久,从未见过有帖阐述过什么是面向对象的本质,我武断地说没有面向对象这么一回事。只有面向过程。
[原创]db2 pk oracle,欢迎拍砖
现在市场上主要是Oracle、db2、mysql、sql sever的天下,oracle一直是王者地位,占据超过50%以上的份额,db2后起之秀,而且是ibm的产品,不会比oracle差到哪去,潜力很大,mysql因为是免费的,大部分国内网站,小公司啥的都用mysql,但对于一个有志于在数据库开发应用方面发展的人来说,mysql显然太小儿科! Sql sever,微软的狭隘,只能用于windows下,问题是大的应用都是在unix、linux环境下的,这个跟mysql一样,都太tiny了!rnrnrn前人总结的oracle和db2的比较rn1、开放性: rnOraclern能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 rndb2 rn能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%. 可伸缩性,并行性。rndb2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境.数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点 rnrn2、安全性 rnOracle Server rn获得最高认证级别的ISO标准认证。 rnDB2 rn获得最高认证级别的ISO标准认证。rnrn3、性能 rnOracle rn性能最高, 保持windowsNT下的TPC-D和TPC-C的世界记录。rnDB2 rn适用于数据仓库和在线事物处理 rn性能较高。 rn客户端支持及应用模式 rnrnOracle rn多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接 rnrnDB2 rn跨平台,多层结构,支持ODBC,JDBC等客户 rnrn4、操作简便rnOracle rn较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同 rnDB2 rn操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同rnrn5、使用风险 rnoracle rn长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 rndb2 rn在巨型企业得到广泛的应用,向下兼容性好。风险小rnrnrn俺刚接触不久,相对其他技术,更喜欢数据库。虽然oracle很流行,但就因为流行,所以俺觉得俺一个新人,发展空间不大了,囧囧囧。。。rn所以想要啃硬骨头,db2rnOracle的资料多,论坛也多,db2的论坛就少了,俺找了几个跟大伙share下rnDb2china.net是专门做db2的网站,俺猜是ibm官方支持的,很多资料,还经常搞活动,这次推了db2的最新版9.7,很多活动哇!rnItpub,老牌论坛了,不过db2只是九牛一毛,里面版主还挺多,但有的已经游到db2china去了…rnMydb2,俺本来寄予重望的db2专业网站,听说还是ibm内部的人自己搞的,可后来发现大量rss其他网站的内容,没啥自己的<em>东西</em>,可惜!rnrnrn<em>欢迎</em>大家<em>拍砖</em>!说出大家伙对于db2和oracle和谈谈发展前景,也给小弟饭碗提供参考,小弟比较倾向学习db2,大侠们给俺点建议吧!
51时间片程序,欢迎拍砖,共同提高
rn ;****************************************************************************rn ;本时间片系统的原理是利用51单片机的T0定时一个中断,切换用户的任务轮流执行,rn ;用户的任务写法和一般的一样,此处用2个流水灯和一个按键程序做实例rn ;**************程序步骤****************rnrn ;1定义一个全局变量用于存储任务号,另一个存储任务数rn task_name equ 7chrn task_amount equ 7bhrn rn ;2定义任务的堆栈区数组,由于任务的切换需要占用15个字节,所以每个任务的堆栈区大小要看程序的使用情况而定,rn ;如果按照任务有3级深度设计,则堆栈区的大小为15+6=21个字节rnrn ;tsp*_a 都只有一级深度,18个字节够用rn tsp0_a equ 30h ;31,32,33,34,35,36,37,38,39,3a,3b,3c,3d,3e,3f,40,41,rn tsp1_a equ 42h ;43,44,45,46,47,48,49,4a,4b,4c,4d,4e,4f,50,51,52,53,rn tsp2_a equ 54h ;55,56,57,58,59,5a,5b,5c,5d,5e,5f,60,61,62,63,64,65,rn tsp3_a equ 66h ;67,68,69,6a,6b,6c,6d,6e,6f,70,71,72,73,74,75,76,77,rnrn ;3定义一个数组,用于保存每个任务的栈顶,数组的长度等于任务数rn sp_a equ 78h ;79,7a,rnrn ;哈哈,内存区快用完了,还好位寻址区还有空间,当然如果是52就够用了rnrn ;4定义一个数组,用于存储每个任务的标志位,因为有的任务有运行的先后之分,也就是有条件运行,在这里是这样rn ;处理的,只有任务的标志位为零时,在任务调度时才能运行,例如要设计一个按键程序,只有先运行按键检测程序rn ;后,相应的显示的程序才能运行。我们可以这样处理,在按键程序中给显示程序的一个标志位置1,按键程序结束后将rn ;显示程序的标志位置0 ,这个数组最好设置在位寻址区(20h),长度等于任务数rn tnt_a equ 20h ;21,22,23,rnrnorg 0000hrnljmp clear ;清理内存rnorg 000bhrnljmp IntTime0 ;时间片中断rnorg 0030hrn;***********主程序**********rnmain:rn mov task_amount,#3 ;3个任务rn ;------------------rn mov dptr,#task0 ;取得任务0的入口地址,存入堆栈区rn mov tsp0_a,dplrn mov r0,#tsp0_arn inc r0rn mov @r0,dphrn ;--------------------------rn mov dptr,#task1 ;取得任务1的入口地址,存入堆栈区rn mov tsp1_a,dplrn mov r0,#tsp1_arn inc r0rn mov @r0,dphrn ;----------------------------rn mov dptr,#task2 ;取得任务2的入口地址,存入堆栈区rn mov tsp2_a,dplrn mov r0,#tsp2_arn inc r0rn mov @r0,dphrnrn ;------------------rnrn mov tmod,#00000001b ;T0的01模式,最大65536rn mov th0,#0f8h ;ff9c=65436 f830=63536rn mov tl0,#30hrn setb earn setb et0 ;开启中断rn ;---------------rn mov task_name,#0 ;0号任务rn ;--------------------------rn ;将每个任务的初次栈顶地址存入sp_a数组rn mov r0,#sp_a ;r0取得数组的首地址rn mov b,#14 ;只有第一个运行的任务的sp栈顶不用加15,其 他任务的栈;顶都要在原来的基础上加13rn ;这个和调度的运行有关,因为中断调度时要将sp弹出13次rn ;-----------rn mov a,#tsp0_arn inc arn mov @r0,a ;任务0栈顶地址(#tsp0_a) + 1rn ;---------rn inc r0 ;#sp_a + 1rn mov r1 ,#tsp1_arn mov a,r1rn add a,brn mov @r0,a ;任务1栈顶地址 (#tsp1_a) + 15rn ;--------------rn inc r0 ;#sp_a + 2rn mov r1 ,#tsp2_arn mov a,r1rn add a,brn mov @r0,a ;任务2栈顶地址 (#tsp2_a) + 15rn ;-------------rnrn mov task_name,#0rn mov sp,sp_arnrn rn setb tr0 ;启动定时器rn ret ;启动0号任务,程序的调度交给中断处理rnrn;*********清理内存*************rnclear:rn mov r0,#7fhrn clr arn clear_0:mov @r0,arn djnz r0,clear_0rn ljmp mainrn;************中断*************rnIntTime0:rn rn clr ea ;关掉中断rn clr tr0rn rn using 0rn ;存储当前断点的寄存器的值rn push pswrn push accrn push brn push dphrn push dplrn push ar7rn push ar6rn push ar5rn push ar4rn push ar3rn push ar2rn push ar1rn push ar0rn ;----保存当前任务的栈顶地址------rn rn mov b,#sp_arn mov a,task_namern add a,brn mov r0,arn mov @r0,sprn rn ;-----切换任务------rn inttime0_2:inc task_name;rn mov a,task_namern cjne a,task_amount,inttime0_3rn mov task_name,#0rn ;--检查任务是否满足运行的条件rn inttime0_3:rn mov b,#tnt_arn mov a,task_namern add a,brn mov r0,arn mov a,@r0rn jnz inttime0_2 ;不为零说明标志位还没有清零,重新切换任务rnrn ;--为零分配新任务的sp值----rn rn mov b,#sp_arn mov a,task_namern add a,brn mov r0,arn mov sp,@r0rn rn ;------恢复新任务的寄存器值弹出13次,当任务是首次运行时尽管入口地址已经放在栈底了rn ;但是要将sp加上13--------rn pop ar0rn pop ar1rn pop ar2rn pop ar3rn pop ar4rn pop ar5rn pop ar6rn pop ar7rn pop dplrn pop dphrn pop brn pop accrn pop pswrn rn mov th0,#0f8h ;ff9c=65436rn mov tl0,#30hrn setb tr0 rn setb ea ;启动中?rnrn rn retirn;***********任务**************rnrntask0: ;流水灯rn clr crn mov r5,#8rn mov a,#11111111brn task0_0:rlc arn mov p0,arn call delay1 ;调用延时函数rn djnz r5,task0_0rn sjmp task0rnrnrn;----------rntask1: ;流水灯rn clr crn mov r5,#8 ;delay里面也用到了r*,不要冲突rn mov a,#11111111brn task1_0:rlc arn mov p2,arn call delay1rn djnz r5,task1_0rn sjmp task1rn;-------------rntask2: ;按键检测rn jb p1.0,task2_0 ;按下去亮,松开灭rn call delay2rn jb p1.0, task2_0rn clr p3.0rn sjmp task2_1rn task2_0:rn setb p3.0rn ;---------------rn task2_1 :;按下去跳变,取反rn jb p1.1,task2_2rn call delay2rn jb p1.1,task2_2rn cpl p3.1rn rn ;------------------rn task2_2 : ;按下去,松开后亮,再按下松开是跳变,取反rn jb p1.3,task2_4rn call delay2rn jnb p1.3,task2_4rn cpl p3.3rn task2_4:rn rn sjmp task2rn;-----------rnrn;************延时函数 *************rndelay1:rn mov r7,#100rn delay_0:mov r6,#250rn djnz r6,$rn djnz r7,delay_0rn retrndelay2:rn mov r7,#10rn delay2_0:mov r6,#200rn djnz r6,$rn djnz r7,delay2_0rn retrnrn;到这里程序完成,在protues里面仿真通过,看着2路流水灯不停的闪烁,我可以悠闲的按着按键,不用担心流水灯会停滞不前rn;到这路心里好有成就感哪rn;QQ173173810 <em>欢迎</em>到51汇编吧做客rn;sulsan版权所有2012-10-28于上海rnrnEndrn;rn rn
web版iOS,第二版,欢迎拍砖
http://download.csdn.net/detail/qqwswxdo/4564514,rn这个算是第二版了,已经停止开发,从这版开始,将只支持webkit内核,主要是由于webkit内核性能优势,并且不想因为兼容性而写一大堆不必要的代码。目前这个版本还是有很多BUG,只是前段时间出了点事情,很久没做,回头来发现这千疮百孔的代码,决定进行一次全面的重构了,第三版的地址:https://github.com/PerterPon/iOS-for-Browser,刚刚开始做没多久,最近也因为事事不顺心,也很久没动了,怎么说呢,也算是自己的一个梦想吧,我会一直更新下去的。
发布一个开源库GooFileLib,欢迎拍砖
发布一个基于windows平台的一个开源代码库。主要封装了线程(线程池等),定时器接口,同时压缩包中含有案例代码,如何使用线程以及定时器等。rn 写这个库的主要目的是研究系统高并发(网络,以及本地io),但是存在一个让我纠结的问题,如何设计一个高度内聚的IO接口,让用户层在使用接口时不用关心并发层的实现以及接口底层的实现,他只需要关心IO接口功能 “读/写”,目前这个问题我目前还在继续的纠结中,所以我在我发布的两个版本中,我都没有添加上(网络)并发代码部分,而且最近的版本GooFileLib1_0_0_3中删除了工程中的所有垃圾代码部分,同时提供了几个封装接口的使用案例代码,在后期我会添加上IO接口的实现。同时我近期正在考虑把window版本移植到linux版本下,由于这些<em>东西</em>都是我业务时间开发,版本更新可能比较慢。附上下载地址http://sourceforge.net/projects/guufilelib/
Qtopia编程之道0.5版,欢迎下载拍砖
下载地址为:http://download.csdn.net/source/321968
螺旋二维数组,小弟不才,欢迎拍砖
其实是网上那些土逼代码看不下去了,自己实现了一个。rn但总隐约觉得应该有比这更简单的写法,高手何在……rnrn[code=C/C++][/code]rn#include rn#include rn#include rnusing namespace std;rn//如果愿意, 也可以键盘输入再new一个rn#define M 6rn#define N 5rnrnvoid print(int *a, int m, int n)rnrn for(int i=0; i
[欢迎拍砖]系统分层的三个进阶
大家都在讨论分层,我也简单地谈一谈自己的认识,<em>欢迎</em>大家<em>拍砖</em>。rn-----------------------------------------------------------------------------------------------rnrn[color=#FF0000][size=24px]以[/size][/color]我个人的智识,一个良好的系统分层,其最大的目的在于把系统分解成更小的单位、更单一的模块、更灵巧的组件。合理的分层设计,将会既方便团队开发与协作,也方便测试与集成,在提供可维护性的同时,也使系统更加健壮。OOD领域的S.O.L.I.D五大原则,就是对系统分层、系统建模的最佳诠释。rnrn而现实的情况是,一说到系统分层就言必称UI-BLL-DAL三层,而且其中大多的BLL实现是贫血的,除了CRUD,基本干不了其他什么事。除了一个空的三层架子和累赘的代码,这样的设计没有体现出任何优势。rnrn[color=#FF0000][size=24px]就[/size][/color]个人理解而言,面向领域、面向服务、面向切面和插件式的系统设计与实现方法,是当前企业应用开发的主要方向。这些方法在实际应用系统分层的实践中,可以具体体现为系统分层的三个进阶:rnrn[color=#0000FF][b]第一个阶层,是做到持久化无关和UI无关。[/b][/color]rn即一个系统的模型可以脱离具体的数据持久化方式和具体的UI表现方式,换不同的数据库平台甚至使用非数据库方式都可以承载整个系统,使用Web或者Winform的方式,都可以使UI得到正确的表达。rnrn[color=#0000FF][b]第二个阶层,是实现物理部署的无关。[/b][/color]rn分布式应用越来越广泛,一个完整的系统,其物理部署可能跨越多个不同的服务器平台。这一点类似于第一个阶层,只是实施难度会因为引入一些分布式技术和面向服务的设计而有所增加,一些困难甚至在真正实施部署前都可能是未知的。rnrn[color=#0000FF][b]第三个阶层,是实现业务规则的灵活表达。[/b][/color]rn举个简单的例子,比如说现在的系统要求一个人年龄不能小于16岁,而过一段时间以后,这个条件可能修改为不能小于18岁并且未婚,象这样的数据有效性验证规则,应该能在系统中得到灵活的改变,而不至于从根本上影响整个模型。如果是对模型实质性的改变,那么对模型的重构是必须的,也是必然的。
额,问个小白问题。欢迎拍砖
额,小白…rn老鸟,无视我吧……rnrn===咖啡的程序代码===rn[code=C/C++]#include rnmain()rnrnint g;rng=0 ;rnrnwhile(getchar()!=EOF)rnrnif(getchar()=='\n')rn++g;rnrnrnprintf("\n%d\n",g);rngetch();rnrnrnrnrn[/code]rnrn===咖啡程序的问题===rnrn1.程序说明rnrn本来目的是计算输入文本的行数。rnrn2.程序的问题rn比如下面这样:rn都是输入了3行字符。rn[img=http://firstpage.tk/wp-content/uploads/2011/10/QQ截图20111023020907.png][/img]rn[img=http://firstpage.tk/wp-content/uploads/2011/10/QQ截图20111023020833.png][/img]rnrnrnrnrn===咖啡分割线===rn已经查到的资料:rngetchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键. rngetch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行. rnrn简单的说,getch()是读取按键值常放在程序末尾起暂停作用而getchar()是从标准输入设备读取下一个字符~~所读字符若文件结束或出错则返回-1rnrnrnrn========================================谢谢=========================================rn[color=#FF0000][b][size=24px]END[/size][/b][/color]rn
自己近一年做的产品,欢迎拍砖
支持各种文档的资料在线演示,一切信息都放在桌面上谈; 灵活的随处可加的备注,让会议沟通更准确更直接; 不需要费用的多方网络通话,0元获得清晰流畅的语音服务; 不需要任何硬件支持和调试,一个浏览器解决所有问题。 www.huiyizhuo.com ...
理解Java的跨平台性,欢迎拍砖
英语是国际通用语言,但是我说的英语美国人就听不懂rnrn很多人因为用了“跨平台的语言"写没有写的出跨平台的程序而盲目的认为该语言的跨平台性是子虚乌有。rn本文以Java为例就来讨论一下”如何理解语言的跨平台性“。rnrn从开发人员或编程语言的角度来理解,”平台“就是指语言的运行时环境,比如Java的平台就是JRE(Java Runtime Environment)。是不是觉得很奇怪,难道平台不是指Windows、Linux这样的操作系统吗?没错,Windows和Linux也确实是平台,但是这个平台对于Java来说太宽泛了,就象从来没有人说Java的平台是i386、arm一样。简单理解就是光有操作系统是无法运行Java程序的。而JVM则包含在JRE里。rnrn如果某个语言对应的可执行体能够不作修改或者只做少量修改就能在其他平台运行,那么这个语言就是跨平台的。是的,允许做少量修改,但是这个过程一般是在程序员不知道的情况下进行的,通常这个任务由平台来完成。但是不管怎么说,这只跟可执行体有关,而不是源码。rnrn对于一段Java程序,要让它可以执行,得至少经过两个步骤,第一步,用Java编译器将源码编译成字节码;第二步,用Java解释器执行字节码。可见可见,Java程序并非像C程序那样直接执行,而是要有个启动器,也就是所谓的JVM(Java Virtual Machine)来加载并执行。由此可见,Java跨平台的两个重要因素是:rn1.有个能产生符合Java规范的字节码的编译器;rn2.有个能解释上述符合Java规范的字节码的解释器。rn换句话说,在任何操作系统上,只要存在JRE,就可以运行Java可执行体,而无所谓它来源于何处,只要”符合Java规范“就行。哈哈,到这里是不是有点乱,上面不是说Java的平台是JRE吗?难道JRE在不同的操作系统平台上还会变?是的,正是因为上述Java工具集是随操作系统的不同而不同的,我们才一再强调”符合Java规范的字节码“。因为Java编译器和Java解释器等一系列的工具集本身是依赖于操作系统的,只不过它们的输入和输出都符合统一的Java规范。如果上述两个条件换了其中任何一个,则很有可能使得Java不再跨平台。rnrn除了以上两点,还有第三个因素,Java针对平台设计的库,也就是所谓的Jar包,这些jar包虽然大部分都是Java编写的,但是还是有不少地方是针对平台独特设计的,比如不同操作系统之间路径的表示,从这个角度讲,平台移植后的Java字节码已经被解释器改变了。rnrn误区一:Java语言是跨平台的,所以Java程序也是跨平台的rn”Java 语言“和”Java程序“并非同一个概念,Java语言实际上只是一系列的规范,该规范为程序员规定了Java的语法和语义规则。Java程序则是根据这些规范产生的可执行体。通常情况下,程序的需求或多或少都会关系到一些操作系统之间的差异,比如,Windws的文件系统是多根的,Unix的文件系统则是单根的;再比如,Java连接数据库的程序中,用到了与平台相关的ODBC,此时当程序拿到其他平台上去难免会出错。前面说了,Java工具集是依赖于操作系统的,也就是说它们不能改变操作系统之间的差异,这就是JNI(Java Native Invoke)存在的原因之一。当一个程序使用了某个操作系统的特性并且移植后的操作系统没有此特性时,虽然它们能被该平台执行,但是还是会运行出错。rnrn误区二:Java语言是跨平台的,所以Java程序是跨Java工具集的rn从上面的说明可以看出,Java语言跨平台的本质是因为Java工具集遵循同一套规范。规范是个抽象的概念,那自然需要对应着一种实现,目前常见的有三种实现,即Sun的官方实现;IBM的实现;GNU的实现。很有可能一套工具集对应与一套实现,使得不同实现之间并不通用,况且,每套实现在满足规范后还可能增加自己的特性,比如,GNU可以直接将java源码、字节码、jar包等编译成本地可执行体。当然它们对源码规范的实现都是一样的,但是也并不保证这些实现一定不会出现不同。因此对于给定的一套工具集,Java语言才是跨平台的,其他工具集则允许不是。rnrn误区三:Java语言是跨平台的,所以Java程序是跨Java应用服务器的rn在一套给定的工具集上,Java应用服务器做为JavaEE的容器,从本质上来说是JavaEE规范的实现,这样结合误区二就很容易理解了。不过还是要说一点,误区三其实根本就不该有,因为原因和结果本就不是一个层次的<em>东西</em>。rnrn误区四:<em>欢迎</em>大家补充。rnrn
散分,自己写的MyORM,欢迎拍砖
可以到CodePlex下载,包括一个Sample和CodeSmith模板。整个工程2000多行代码,如果要自己修改也比较容易。rn[url=http://www.codeplex.com/MyOrm][/url]rnBlog里会写一些使用的介绍rn[url=http://blog.csdn.net/danjiewu/archive/2008/10/14/3075742.aspx][/url]rnrn经常看到有人讨论ORM,也贴一个自己的,<em>欢迎</em>发表看法。
个人对多重继承下虚函数表的理解。。。欢迎拍砖。。
昨天用到了多重继承,两个父类都实现了一个同样的接口,小弟对多重继承的虚函数表一片混沌。。故特地找了点资料rn下面是我自己的理解,<em>欢迎</em><em>拍砖</em>。。。rnrnclass IA//接口 IArnrnpublic:rnvirtual void fun()=0;rn;rnrnclass baseA:public IA //父类Arnrnpublic:rnvirtual void fun()cout<<<<<<<
oa系统权限管理设计(欢迎拍砖
需求:rn公司内部各个部门有相应的留言簿,也有一些留言簿是跨部门的。需要灵活的控制每个留言簿的浏览用户和修改用户。这些用户可能是跨部门的。rnrn设计思路:rn用户组是由具有相同需求的用户组成的。rn每个留言簿控制可以浏览和可以修改的用户组rnrn在每个程序页面中,输入参数是留言簿的id号,以及访问的用户号。rn例如该web页面主要是显示所有的留言,那么会根据本留言簿的id号,查看该留言簿中可以由哪几个用户组查看,再查看该用户是否在这几个用户组中。rnrn1.2.1、 数据库表设计rnrn1. 信息栏目表rn字段名 描述 备注rn 栏目名称 rn 栏目ID rn 该栏目浏览是否开放 rn 该栏目修改是否开放 rn 其他描述信息 rnrn2. 用户组表rn字段名 描述 备注rn 用户组名称 rn 用户组ID rn 其他描述信息 rnrn3. 用户表rn字段名 描述 备注rn 用户名称 rn 用户ID rn 失效标志 rn 其他描述信息 rnrnrn4. 用户、用户组对应表rn字段名 描述 备注rn 用户ID rn 用户组ID rn 其他描述信息 rnrn5. 栏目浏览权限-用户组对应表rn字段名 描述 备注rn 栏目ID rn 浏览用户组ID rn 其他描述信息 rn6. 栏目修改权限-用户组对应表rn字段名 描述 备注rn 栏目ID rn 操作用户组ID rn 其他描述信息 rn1.2.2、 权限匹配方式rn用户与用户组相对应,而用户组被赋予对栏目的浏览和操作权限。用户只有属于对某栏目具有浏览权限的用户组,才可浏览该栏目。同样,用户只有属于对某栏目具有修改权限的用户组,才可修改该栏目。rn rn
做非外包能比做外包多学哪些东西
我是做<em>外包</em>的,听说做<em>外包</em>学不到什么<em>东西</em>,但是我就是想不通不做<em>外包</em>能学到什么.
PNG图片拼接源码 欢迎测试 欢迎拍砖
前一阵子 因为要吧一组png的透明图片 拼接成一张图片,方便游戏中资源加载,主要是保持的图片需要透明度,于是做了这么个小工具,共享出来,<em>欢迎</em>测试哈。rn源码奉上:rnhttp://download.csdn.net/source/3542530
区块链到底是神马鬼东西
     区块链”的概念火了,但节奏较快的互联网世界仍有很多人不了解何为“区块链”,即便网上有太多介绍此物的“名词解释”,但也都过于古板和难懂,那么今天我给大家讲个“故事”,让更多用户秒懂何为“区块链”。区块链本质上是一个分布式的公共账本,听起来很蒙圈?别急,后面会用最深入浅出的方式来一一解释。任何人都可以对这个公共账本进行核查,但不存在一个单一的用户可以对它进行控制。在区块链系统中的参与者们,会...
VS.net2003 7CD到底是哪些东西
rt
什么样的东西该写成文档?
   1) 如果写了,不会花很多精力;    2) 如果不写,以后维护的时候效率会很低;    3) 禁得住时间的考验。       源代码注释,系统维护手册,一些checklist应该写。     详细设计就不行了,依我看,这是最废的文档,如果不是<em>外包</em>。  ...
ERP是一个什么样的东西
ERP是一个什么样的<em>东西</em>?
鼠标窗体是什么样的东西
当用软件时,把鼠标移动到某个图标上,软件会自动弹出一个半透明的窗体,上面会介绍该图标的说明。rn不知道VC里是否提供这种类,功能,请大家赐教下。
谁用过水晶报表 ? 到底是个么东西呀?
rn 1、哪家公司的 ?rn 2、主要用来做什么 ?rn 3、和 PB 怎样结合 ?rn
WPF有个 Dispatcher,这个到底是神马东西,没理解。。
[url=http://msdn.microsoft.com/zh-cn/library/ms741870.aspx][/url]rn就是这个里面提到的,查了资料还是没搞明白~~rn
谁能告诉我下:.dll文件到底是个啥东西????
我知道他叫动态连接库rnrn1 .dll文件怎么产生的? 是由整个类库项目编译而来的吗?那我可以只编译类库中的某个类而产生那个类的.dll文件吗?还是说只能编译整个类库?rn2 .dll文件里面是啥 我打开后全是乱吗 .他里面是2进制的机器代码吗?如何才能看到.dll文件里面写的是啥?rn3 我在某个项目上添加对另外1个项目的引用实际上就是把那个项目的.dll文件考入到我的项目里去吗?rn4 为什么编译后还有个同名的.pdb文件?他是干什么的???rnrn请前辈赐教 谢谢
手机程序员常说的webview到底是个啥东西
好像安卓和IOS程序员最常说的关于他们专业的名词就是webview,但是这个webview<em>到底</em>是个啥玩意? 先从安卓程序员用的webview入手,就几个webview的函数 WebView.loadUrl(&quot;http://www.ltplayer.com&quot;);// 加载url,也可以执行js函数 WebView.setWebViewClient(new SafeWebViewClien...
在w3c的html5元素定义中,category到底是个啥东西
在title元素的定义中(http://www.w3.org/TR/html5/semantics.html#the-title-element-0)rn第一个categories<em>到底</em>是干什么用的呢?rnrnCategoriesrn Metadata content.rnContexts in which this element may be used:rn In a head element containing no other title elements.rnContent model:rn Text.rnContent attributes:rn rnGlobal attributesrn DOM interface:rninterface HTMLTitleElement : HTMLElement rn attribute DOMString text;rn;rnrn我点进去是这样一个地方(http://www.w3.org/TR/html5/content-models.html#metadata-content)rn里面说明了category的分类rnMetadata content、 Flow content、Sectioning content、Heading content、Phrasing content、Embedded contentrn Interactive content、Transparent content models、Paragraphs、Annotations for assistive technology products (ARIA)这些都是干什么的?rn为什么要这样分类呢?rn谢谢您的指导!!!^-^
烦死了 谁能告诉我 游标到底是怎么个东西
在不手动打开关闭游标的情况下 oracle 什么情况打开游标 什么情况不打开游标 什么情况关闭游标 游标是用来干什么的 rn为什么 程序总是报 游标过大 所有语句什么的都关了啊 还有就是 肯定不能调高游标
真正的从零开始学编程②——AI到底是个虾米东西
就是刚刚,看了场知乎live,讲的是有关AI的知识,尽管自己也清楚,AI坑爹不止于下个围棋啦这种,但听完以后才发现,啧啧,AI涉及的方面太多了。都说知识要学会输出才能更好的理解,怎么输出呢?写博客就是个方式,所以,我也来稍稍输出一下吧2333       先说一下,AI是个什么呢?用LIVE的话说,人工智能本质就是通过大量的数据输入来建立一个模型,通过算法来改善这个模型,进而进行预测与判断...
外包估价,外包外包!又见外包
近日在上海接触一个<em>外包</em>项目,是用c#、sqlserver2000做个报表、公文、其它文件的网络文件管理系统,有用户管理,文件管理中还要做不少js右键菜单的功能,大伙帮忙估个价
【转】在你眼中Java是个什么样的东西
[color=#FF0000]在你眼中Java是个什么样的<em>东西</em>?[/color]rn 最近要招一个Java研发人员,看了几百封简历,可满意的基本没有(可能跟大部分人危机下不敢动也有关系),不是我要求高,也不是javaer技术水平低,而是同质化太严重,连精通,擅长基本都类似,什么精通Java,Spring, Struts, Hibernate, tomcat, myeclipse等等。我不知道这个世界缺少多样性会怎样,但目前国内的Java从业人员太缺少多样性了。rnrn 另一个故事,朋友开了一个小公司,给做电子政务的Java工程师就开3k多点,但投简历的人太多了,大家都去学这些容易“精通”的东东了,自然行情就压下来了。而我需要找一个对JPDA懂点的人做一个小型脚本语言调试器,却如大海捞针。rnrn 互联网成就了Java,但经过多年的发展,Java已成为一个庞大的平台。在数值计算,嵌入式,工具,编译,图形,并行计算等方面都有Java的影子,而大多数人都把眼睛盯在web上,好像java就是ssh(每天看到,随俗了),ssh就是java,为什么会这样呢?我有些迷惑,JSF我也做过,很没有乐趣,简单还特烦,一堆配置。rnrn 在我看来,绝大部分web应用基本只关联java.exe--也就是JVM,但看看JDK目录(win),就会发现有很多的exe, dll, jar,idl(corba),经常拿几个出来练练,蛮有意思的,时间长了,就会发现,Java不是你最初眼中的Java,你也不是当初的你(觉悟自己基础差,时间太少)。rnrn 我用Java几年的感受就是,Java提供庞大类库及丰富应用的同时,让我变懒了,干什么事情都是首先搜一下看有没有现成的,而不是像以前做C++的时候勤于思考,做之前首先都想一遍。那是不是沾上java web之后,人更懒了,连搜的欲望都没有了(现成的太丰富了),笑一个。rnrn在你眼中Java是个什么样的<em>东西</em>?tmd,怎么突然觉得它就是4个灰色字母。多彩的[color=#FF00FF]Java[/color]什么样?
j2ee带的cloudscape数据库是个什么样的东西
能和一般关系数据库一样使用么?rnrn怎样使用呢?
ThinkingC++下载
ThinkingC++ pdf电子书 学习C++的必备电子书 最低价格¥584.50在中国互动出版网 (北京) 相关下载链接:[url=//download.csdn.net/download/rcmfk42/2722609?utm_source=bbsseo]//download.csdn.net/download/rcmfk42/2722609?utm_source=bbsseo[/url]
李兴华Oracle笔记整理下载
李兴华Oracle笔记整理,整理了Oracle的核心基础知识,方便大家日后的学习。 相关下载链接:[url=//download.csdn.net/download/yfk360/4747636?utm_source=bbsseo]//download.csdn.net/download/yfk360/4747636?utm_source=bbsseo[/url]
jqueryEasyui demo下载
jqueryEasyui demo 里面包括基本的例子 相关下载链接:[url=//download.csdn.net/download/wuyongde0922/8923447?utm_source=bbsseo]//download.csdn.net/download/wuyongde0922/8923447?utm_source=bbsseo[/url]
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件
我们是很有底线的