C和C++ 开源库及示例代码.doc
Boost 大概是最重要的第三方 C++ 库。其作者有很多是 C++ 标准委员会的成员。Boost 的很多子库后来都成为 C++ 的标准库。
它的名称源自“POrtable COmponents”,是一个基于 C++ 的开源库。
它的功能以网络通讯为主,同时也提供一些其它功能(比如:多线程、进程间通讯、数据库、XML、JSON......)
流程编辑器.zip
[removed]
<!--
var listenerFieldsEditCount = 0;
jq(function(){
_listener_event_type=jq('#listenerEventType').combobox({
editable:false
});
_task_listener_fields_dg=jq('#task-listeners-fields-list').datagrid({
//title:"Listener",
//url:'${ctx}/wf/procdef/procdef!search.action',//加载表格数据的URL
singleSelect:true,
width:600,
height:300,
iconCls:'icon-edit',
//fit:true,
//idField:'id',
//pagination:true,
//pageSize:15,
//pageNumber:1,
//pageList:[10,15],
rownumbers:true,
//sortName:'id',
//sortOrder:'asc',
striped:true,
toolbar:[{
text:'New',
iconCls:'icon-add',
handler:function(){
if(listenerFieldsEditCount>0){
jq.messager.alert("error","有可编辑的单元格,不能添加!",'error');
return;
}
jq('#task-listeners-fields-list').datagrid('appendRow',{
id:'',
fieldName:'',
type:'',
value:'',
action:''
});
var index = jq('#task-listeners-fields-list').datagrid('getRows').length-1;
jq('#task-listeners-fields-list').datagrid('beginEdit', index);
}
}],
onDblClickRow:function(rowIndex,rowData){
editListenerField(rowIndex);
},
onBeforeEdit:function(index,row){
row.editing = true;
jq(this).datagrid('refreshRow', index);
listenerFieldsEditCount++;
},
onAfterEdit:function(index,row){
row.editing = false;
jq(this).datagrid('refreshRow', index);
listenerFieldsEditCount--;
},
onCancelEdit:function(index,row){
row.editing = false;
jq(this).datagrid('refreshRow', index);
listenerFieldsEditCount--;
}
});
jq('#fieldSaveBt').linkbutton({
iconCls:"icon-save"
});
jq('#fieldCancelBt').linkbutton({
iconCls:"icon-cancel"
});
jq("#listenerServiceClass").autocomplete(_process_def_provided_listeners, {
width: 450,
minChars: 0,
max: 10,
autoFill: true,
mustMatch: false,
matchContains: false,
scrollHeight: 220,
//multiple: true,
//multipleSeparator: " ",
scroll: true
});
populateListenerProperties();
});
function changeListenerServiceType(obj){
if(obj.value=='javaClass'){
jq('#listenerServiceLabel').html('Service Class:');
jq('#listenerServiceClass').show();
jq('#listenerServiceExpression').hide();
}else if(obj.value=='expression'){
jq('#listenerServiceLabel').html('Expression:');
jq('#listenerServiceClass').hide();
jq('#listenerServiceExpression').show();
}
}
function listenerFieldsActionFormatter(value,rowData,rowIndex){
var id = rowIndex;
var s='<img onclick="saveListenerField('+id+')" src="../../image/ok.png" title="'+"确定"+'" style="cursor:hand;"/>';
var c='<img onclick="cancelListenerField('+id+')" src="../../image/cancel.png" title="'+"取消"+'" style="cursor:hand;"/>';
var e='<img onclick="editListenerField('+id+')" src="../../image/modify.png" title="'+"修改"+'" style="cursor:hand;"/>';
var d='<img onclick="deleteListenerField('+id+')" src="../../image/delete.gif" title="'+"删除"+'" style="cursor:hand;"/>';
if(rowData.editing)
return s;
else
return e+' '+d;
}
function cancelListenerField(id){
_task_listener_fields_dg.datagrid('cancelEdit', id);
}
function editListenerField(id){
_task_listener_fields_dg.datagrid('beginEdit', id);
}
function saveListenerField(id){
//alert(id);
_task_listener_fields_dg.datagrid('endEdit', id);
//alert(editcount);
}
function deleteListenerField(id){
_task_listener_fields_dg.datagrid('deleteRow',id);
refreshAllListenerFields();
}
function refreshAllListenerFields(){
var rs = _task_listener_fields_dg.datagrid('getRows');
for(var i=0;i0){
jq.messager.alert("error","",'error');
return null;
}
var insertRows = _task_listener_fields_dg.datagrid('getChanges','inserted');
var updateRows = _task_listener_fields_dg.datagrid('getChanges','updated');
var deleteRows = _task_listener_fields_dg.datagrid('getChanges','deleted');
var changesRows = {
inserted : [],
updated : [],
deleted : []
};
if (insertRows.length>0) {
for (var i=0;i0) {
for (var k=0;k0) {
for (var j=0;j0){
jq.messager.alert("error","请先保存可编辑的表格!",'error');
return;
}
if(listenerId != "" && listenerId != null && listenerId!="null"&&listenerId;!="NULL"){
var listener = getExsitingListener();
var r = updateExistingListener(listener);
if(!r)return;
}else{
var listener = createNewListener();
var r = insertNewListener(listener);
if(!r)return;
}
_listener_win.window('close');
}
function insertNewListener(listener){
listener.event=_listener_event_type.combobox('getValue');
jq('input[name="listenerServiceType"]').each(function(i){
if(this.checked){
listener.serviceType=this.value;
return false;
}
});
listener.serviceClass=jq('#listenerServiceClass').val();
listener.serviceExpression=jq('#listenerServiceExpression').val();
var changesRows = getListenerFieldsGridChangeRows();
if(changesRows == null)return false;
var insertRows = changesRows['inserted'];
if (insertRows.length>0) {
for (var i=0;i0) {
for (var i=0;i0) {
for (var k=0;k0) {
for (var j=0;j<deleteRows.length;j++) {
listener.deleteField(deleteRows[j].id);
}
}
loadTaskListeners();
return true;
}
function populateListenerProperties(){
if(listenerId != "" && listenerId != null && listenerId!="null"&&listenerId;!="NULL"){
var listener = task.getTaskListener(listenerId);
_listener_event_type.combobox('setValue',listener.event);
var serviceType = listener.serviceType;
jq('input[name="listenerServiceType"]').each(function(i){
if(this.value==serviceType){
this.checked=true;
changeListenerServiceType(this);
if(this.value=='javaClass'){
jq('#listenerServiceClass').val(listener.serviceClass);
}else if(this.value=='expression'){
jq('#listenerServiceExpression').val(listener.serviceExpression);
}
return false;
}
});
var fields = listener.fields;
var _listener_fields_grid_data=[];
for(var i=0;i<fields.getSize();i++){
var field = {
id:fields.get(i).id,
fieldName:fields.get(i).name,
type:fields.get(i).type,
value:fields.get(i).value,
action:''
};
_listener_fields_grid_data[i]=field;
}
_task_listener_fields_dg.datagrid('loadData',_listener_fields_grid_data);
}
}
function closeTaskListenerWin(){
_listener_win.window('close');
}
//-->
[removed]
Event:
Create
Assignment
Complete
All
<input type="radio" id="listenerServiceType" name="listenerServiceType" value="javaClass" checked="checked" Class
<input type="radio" id="listenerServiceType" name="listenerServiceType" value="expression"
Service Class:
<input type="text" id="listenerServiceClass" name="listenerServiceClass" size="80" value=""/>
<input type="text" id="listenerServiceExpression" name="listenerServiceExpression" size="80" none;" value=""/>
Fields:
Field Name
Type
Value
Action
<a href="##" id="fieldSaveBt"
<a href="##" id="fieldCancelBt"
系统分析师考纲.pdf
系统分析员又称系统分析师,英文system analyst,简称SA。 是指具有从事计算机应用系统的分析和设计工作能力及业务水平,能指导系统设计师和高级程序员的工作的一族。在软件开发流程中主要从事需求分析、信息系统项目架构设计(包括概要设计和详细设计)、开发阶段的主要模块的规划、设计和测试,同时也涉及可行性分析的工作。系统分析师(SA)是负责设计与开发应用软件系统.使其正确的反应出有效的信息,协助企业经营者管理、营运公司的运作者。系统分析师是抽象模型的建立者,他们需要专业的conceptionmodel(概念模型)知识和基础编程技巧。富有经验的系统分析师往往是优秀技术专家和项目管理者的结合体,他们精通系统论和控制论,擅长将杂乱无章的复杂性问题整理调顺,并将其模块化,从而使项目的实施走向成功。杰出的系统分析师会利用编程技巧来辅助建立conceptionmodule。
Spring Framework 4 参考文档中文版.docx
纯手工制作,spring4 中文文档
2. Spring Framework介绍
2.1 依赖注入和控制反转
2.2 模块
...
2.3 使用场景
Spring Framework 4 参考文档中文版.docx
纯手工制作,spring4 中文文档
2. Spring Framework介绍
2.1 依赖注入和控制反转
2.2 模块
...
2.3 使用场景
Mysql 5.1 中文手册
这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问:dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。
架构真经-互联网技术架构的设计原则
规则一:避免过度设计
规则二:方案中包含拓展
规则三:三次简化方案(方案范围、方案设计、方案实施)
规则四:减少域名解析
规则五:减少页面目标
规则六:采用同构网络
规则七:X轴拓展
规则八:Y轴拆分
规则九:Z轴拆分
规则十:向外扩展
规则十一:用商品化系统
规则十二:托管方案拓展
规则十三:利用云
J2EE使用指南
准备工作 8
第1章 总 括 9
一.分布式得多层应用程序 9
二.J2EE容器 11
三.打包J2EE组件 12
四.开发者角色 13
五.本书所用的软件 14
第2章 动手做一个EJB 17
一.准备工作 18
二.创建J2EE应用程序 19
三.创建企业Bean 19
四.创建J2EE应用程序客户端 22
五.创建Web客户端 25
六.设置企业Bean的JNDI名 27
七.部署J2EE应用程序 28
八.运行J2EE应用程序客户端 29
九.运行Web客户端 29
十.修改J2EE应用程序 30
十一。常见问题和解决方法 31
第3章 企业Bean 35
1,企业Bean概述 36
2,会话Bean 36
3,EntityBean 38
4,Message-Driven Bean 40
5.定义客户端访问接口 42
6,企业Bean的“内容” 45
7,企业Bean的命名约定 46
8,企业Bean的生存周期 46
第4章 有状态会话Bean示例 51
1.购物车会话Bean CartEJB 51
二 其他的企业Bean特性 58
第5章 BMP的例子 62
一.SavingsAccountEJB 62
二.用deploytool部署BMP实现的实体Bean 74
三.为BMP映射表间关系 74
四.BMP的主键 85
五.异常处理 88
第6章 CMP的例子 89
一 RosterApp应用概述 90
二 layerEJB代码分析 90
三.RosterApp配置说明 95
四 RosterApp中的方法调用 102
五 运行RosterApp应用程序 109
六 用deploytool工具部署CMP实现的实体Bean 110
七 CMP的主键 110
第7章 一个消息驱动Bean的例子 113
一.例子应用程序介绍 113
二.J2EE应用程序客户端 114
三.消息驱动Bean类 115
四.运行本例子 116
五.用deploytool部署消息驱动Bean 117
六.用deploytool配置JMS客户端 118
第8章 EJB查询语言 120
一.术语 120
二.简单语法 121
三.查询例子 121
四.全部语法 124
五.EJB QL的限制 137
第9章 网络客户端及组件 139
第11章 JSP技术 165
第12章 JSP页面中的JavaBean组件 178
第13章 在JSP页面中自定义标签 182
第14章 事务 202
一.什么是事务 202
二.容器管理事务 203
三.Bean管理事务 208
四.企业Bean事务摘要 211
五.事务超时 211
六.隔离级别 212
七.更新多个数据库 212
八.Web 组件事务 214
第15章 安全 215
一.纵览 215
二.安全角色 216
三.Web层安全 217
四.EJB层安全 219
五.应用程序客户端层安全 220
六.EIS(Enterprise Information System)层安全 221
七.传递安全身份 223
八.J2EE用户、域和组 224
九.安装服务器证书 225
第16章 资源连接 227
一.JNDI名和资源引用 227
二.数据库连接 230
三.邮件服务连接 232
四.URL资源连接 234
第17章 DUKE的银行应用程序 236
系统架构设计师教程(第4版 带目录)
第1章 计算机组成与体系结构 1
1.1 计算机系统组成 1
1.1.1 计算机硬件的组成 1
1.1.2 计算机系统结构的分类 2
1.1.3 复杂指令集系统与精简指令集系统 3
1.1.4 总线 5
1.2 存储器系统 5
1.2.1 主存储器 6
1.2.2 辅助存储器 7
1.2.3 Cache存储器 8
1.3 流水线 13
1.3.1 流水线周期 13
1.3.2 计算流水线执行时间 13
1.3.3 流水线的吞吐率 14
1.3.4 流水线的加速比 14
C++API中文参考
C++API中文参考
C++API库和C++API参考文档
C ++参考
C++API中文参考
微服务分布式构架开发实战_人民邮电出版社
微服务分布式构架开发实战_人民邮电出版社
1 微服务介绍 1
1.1 什么是微服务架构 2
1.2 垂直应用与微服务 2
1.3 实现一个最简单的微服务框架 3
1.3.1 公共接口 4
1.3.2 服务端 4
1.3.3 客户端 7
1.3.4 完善框架 8
1.4 主流微服务框架介绍 9
1.4.1 Dubbo 9
1.4.2 Spring Cloud 10
2 模块拆分 12
2.1 拆分逻辑 13
2.2 单模块 14
2.3 基础模块 14
2.4 复杂模块 15
3 Spring Boot 16
3.1 目录结构 17
3.2 主要文件 18
3.3 编辑器集成 18
linux优化笔记
操作系统级
CPU
目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能。
在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少。
另外linux内核会将多核的处理器当做多个单独的CPU来识别,例如,两个4核的CPU会被当成8个单个CPU,从性能角度讲,两个4核的CPU整体性能要比8个单核CPU低25%-30%。
可能出现CPU瓶颈的应用有邮件服务器、动态web服务器等。
内存
内存太小,系统进程将被阻塞,应用也将变得缓慢,甚至失去响应;内存太大,导致资源浪费。
虚拟内存可以缓解物理内存的不足,但是虚拟内存的过多占用会导致应用程序的性能明显下降。
在一个32位处理器的linux系统中超过8GB的物理内存都将被浪费,因此要使用更大的内存,建议安装64位的操作系统,同时开启linux的大内存内核支持。
由于处理器寻址范围的限制,在32位linux操作系统上,应用程序单个进程最大只能使用2GB的内存。
可能出现内存瓶颈的有打印服务器、数据库服务器、静态web服务器等。
windows常用的命令
.calc:启动计算器
2.appwiz.cpl:程序和功能
3.certmgr.msc:证书管理实用程序
4.charmap:启动字符映射表
5.chkdsk.exe:Chkdsk磁盘检查(管理员身份运行命令提示符)
svn数据迁移
打开的cmd窗口,svnadmin dump C:\Repositories\ebc >F:\SVN_test\ebc.dump 进行将版本库数据导出
java时间插件
一款web开发的时间插件
直接引入就可以使用
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
spring-boot-中文参考指南
spring-boot-中文参考指南
spring-boot-中文参考指南
spring-boot-中文参考指南
Oracle SQL高级编程
Oracle SQL高级编程
Oracle SQL高级编程
Oracle SQL高级编程
Java任务调度框架Quartz教程实例
Quartz框架是一个全功能、开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统。Quartz可以执行上千上万的任务调度
基于开源框架的推荐搜索BI系统
基于开源框架的推荐搜索BI系统v2.0
基于开源框架的推荐搜索BI系统v2.0
基于开源框架的推荐搜索BI系统v2.0
Java编程思想第四版
Java编程思想第四版完整中文高清版
第1章 对象导论
1.1 抽象过程
1.2 每个对象都有一个接口
1.3 每个对象都提供服务
1.4 被隐藏的具体实现
1.5 复用具体实现
1.6 继承
1.6.1 “是一个”(is-a)与“像是一个”(is-like-a)关系
1.7 伴随多态的可互换对象
1.8 单根继承结构
1.9 容器
1.9.1 参数化类型(范型)
1.10 对象的创建和生命期
1.11 异常处理:处理错误
1.12 并发编程
1.13 Java与Internet
1.13.1 Web是什么
1.13.2客户端编程
1.13.3 服务器端编程
1.22 总结
Docker网络原理分析
Docker使用linux的bridge和veth虚拟网络设备,以及network namespace对网络进行虚拟化。Bridge看其名字是网桥,但实际上它的功能和交换机(switch)相似。
Boost程序库完全开发指南
Boost程序库完全开发指南
电子工业出版社
带目录完整版
spring整合solr
spring整合solr抽取数据,简单使用中
<!--定义solr的server-->
<bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">