自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(289)
  • 资源 (6)
  • 收藏
  • 关注

原创 2.2 复合类型

Rust中的元组和数组都是固定长度的复合类型,但存在关键区别:元组可存储不同类型元素(异构),通过索引或解构访问;数组要求同类型元素,支持切片和内置方法。两者都存储在栈上,支持模式匹配和类型推导。元组适用于组合少量异构数据(如函数多返回值),数组适合存储同构数据集合。访问时需注意索引越界问题,直接越界会编译报错,间接越界则会导致运行时错误。

2025-10-27 21:05:29 272

原创 第二章 数据类型

Rust是静态类型语言,数据类型分为标量类型和复合类型。标量类型包括整型(i8/u8等)、浮点型(f32/f64)、布尔型和字符型(char),各自具有固定字节长度和取值范围。整型支持多种进制表示,并定义了溢出处理机制(调试模式报错/发布模式环绕)。数值运算支持基本算术操作(加减乘除取余)。字符型采用Unicode编码,占4字节。类型由显式定义或编译器推断,推断失败会报错。

2025-10-27 21:01:50 419

原创 1.3 常量

本文介绍了编程中的常量概念及其特性。常量是不可更改的值,其值在编译时确定,作用域内有效。通过Rust代码示例展示了常量的定义方式,并说明同一作用域内不能重复定义同名常量。文章对比了常量与变量的主要区别:常量不可变、必须显式类型注解、可全局作用域等。最后指出常量的适用场景,如配置参数、数字常数等在程序生命周期中不变的量。

2025-10-22 10:55:37 155

原创 1.2 变量的重新赋值——遮蔽

Rust中的遮蔽(Shadowing)允许在同一作用域内重新声明同名变量,甚至可以改变变量类型。遮蔽会创建新变量,旧变量不再可用。与可变变量(mut)不同,遮蔽采用重新声明(let)方式,能更改变量类型,而mut变量只能修改值。示例展示了遮蔽的基本用法、类型转换和局部作用域特性,适用于需要临时转换变量类型的场景。这种机制提供了比可变变量更灵活的类型转换能力,同时保持了Rust的安全特性。

2025-10-21 16:08:58 161

原创 第一章 不可变的变量

Rust语言中变量默认是不可变的(immutable),这是其独特特性。示例代码尝试修改不可变变量x时会报错"cannot assign twice to immutable variable"。如需可变变量,需使用mut关键字声明:let mut x=5。通过比较错误代码和正确代码的执行结果,展示了Rust的变量可变性控制机制。这一特性有助于提高代码安全性,防止意外修改变量值。修改后的可变变量代码能正常执行并输出预期结果。

2025-10-21 15:30:44 150

翻译 Rust代码示例——24.2.演练场

Rust演练场提供了一种通过web界面体验Rust编程的方式。在mdbook中,可以通过添加"editable"关键字使代码块可交互,读者可修改并运行示例代码。使用"ignore"关键字可跳过编译测试。此外,通过在文档中添加html_playground_url属性,可实现类似官方文档的"Run"按钮功能,点击后将在演练场打开代码。这些特性增强了Rust文档的交互性,便于读者实践学习。

2025-09-10 14:44:56 108

翻译 Rust代码示例——24.1.文档

Rust文档工具使用指南 本文介绍了Rust的文档工具rustdoc的使用方法。主要内容包括:使用cargodoc构建文档并自动打开浏览器;运行测试的命令区别;文档注释的格式要求(///开头,支持Markdown);结构体和方法的文档示例;文档测试的编写和运行方法;以及三个重要的文档属性:#[doc(inline)](内联文档)、#[doc(no_inline)](禁止内联)和#[doc(hidden)](隐藏文档内容)。这些工具和属性帮助开发者生成高质量的API文档,其中rustdoc被Rust标准库广泛

2025-09-10 11:00:31 110

翻译 Rust代码示例——24.元数据

标题虽不能直接指导编程,但提供了工具链和底层支持以优化开发体验,如rustdoc自动生成库文档,演练场整合Rust示例代码便于测试。这些功能简化了编程流程,提升了开发效率。

2025-09-10 10:57:43 109

翻译 Rust代码示例——23.兼容性

Rust语言引入了原始标识符(r#)来解决关键字冲突问题。当新版本引入的关键字与旧代码中的标识符重名时,可以通过在标识符前加r#来使用这些保留字。例如,若旧库函数名"try"与新关键字冲突,可通过foo::r#try()调用。这一机制保障了代码的向后兼容性,使老代码能继续使用成为关键字的标识符。

2025-09-10 10:09:40 45

翻译 Rust代码示例——22.1.内联汇编

Rust通过asm!宏支持内联汇编,允许在代码中直接嵌入汇编指令。这主要用于性能优化或硬件访问场景,但需注意安全风险,必须包含在unsafe块中。内联汇编支持x86、ARM、AArch64和RISC-V架构,支持输入输出操作数、显式寄存器指定、ABI调用约定等功能。汇编模板支持格式化参数,可使用in、out、inout等限定符控制寄存器分配。此外还支持标签复用、内存操作数和多种优化选项(如pure、nomem等),以帮助编译器优化生成的代码。需谨慎处理寄存器占用问题,避免未预期的副作用。

2025-09-09 17:44:52 124

翻译 Rust代码示例——22.不安全的操作

Rust的unsafe机制允许突破编译器安全检查,但需开发者自行确保代码安全。官方强调应尽量少用unsafe代码,主要应用于四种场景:解引用原始指针、调用不安全函数、操作可变静态变量及实现不安全trait。例如,std::slice::from_raw_parts要求指针必须有效且类型正确。使用unsafe时,安全责任从编译器转移给开发者,因此必须为unsafe代码提供明确文档,并保持代码块尽可能小。unsafe的真正价值在于实现编译器无法验证的安全操作、与底层系统交互及性能优化。

2025-09-08 09:46:43 98

翻译 Rust代码示例——21.4.Dev-dependencies

Rust通过在Cargo.toml中使用[dev-dependencies]来声明仅测试环境需要的依赖(如pretty_assertions),这些依赖不会影响生产代码。测试模块通过#[cfg(test)]确保测试专用代码隔离,pretty_assertions等工具可增强断言输出可读性但不会增加用户依赖或影响编译性能。这体现了Rust的最小化、可扩展性和零成本抽象设计理念。

2025-09-07 13:02:07 63

翻译 Rust代码示例——21.3.集成测试

Rust中的测试分为单元测试和集成测试。单元测试针对单个模块,可以测试私有代码;集成测试则验证多个模块的公共接口能否协同工作。集成测试文件存放在tests目录下,每个文件会被编译为独立crate。示例中展示了如何测试adder库的add函数,并通过cargo test运行测试。对于需要在多个测试间共享的代码,可以创建common模块(推荐使用tests/common/mod.rs而非tests/common.rs),以避免被误认为测试文件。这种测试结构有助于确保Rust库各部分正常协作。

2025-09-07 11:45:02 88

翻译 Rust代码示例——21.2.文档测试

Rust项目通过文档注释(///)来生成文档,支持Markdown格式并自动测试代码示例。文档注释包含函数摘要、详细说明和特殊区块(如"Examples"、"Panics")。代码块会被编译执行作为文档测试,隐藏代码可用#前缀。cargo test会运行这些测试,确保示例代码的正确性。文档测试旨在展示函数用法,复杂示例可通过隐藏try_main实现错误处理。这种机制既提供使用说明又验证代码可靠性。

2025-09-07 11:26:39 102

翻译 Rust代码示例——21.1.单元测试

Rust测试功能摘要:Rust提供了内置的单元测试框架,通过#[test]属性标记测试函数。测试可使用assert!、assert_eq!等宏验证结果。Rust 2018后支持返回Result的测试函数,便于使用?操作符。#[should_panic]可测试预期panic,#[ignore]可忽略特定测试。cargo test支持按名称运行指定测试,--ignored参数可运行被忽略的测试。测试模块需用#[cfg(test)]标记,私有函数也可测试。

2025-09-07 10:54:18 75

翻译 Rust代码示例——21.测试

Rust内置强大的测试系统,支持单元测试、集成测试和文档测试三种类型。测试特性包括多种断言宏(assert!, assert_eq!等)、测试控制(#[ignore]标记)和并行执行机制。最佳实践建议分层测试结构、隔离运行测试,并使用dev-dependencies管理测试专用依赖。Rust将测试作为语言核心功能,通过全面的验证机制确保代码可靠性,这是实现内存安全和无畏并发的重要保障。

2025-09-06 10:11:01 121

翻译 Rust代码示例——20.8.外部函数接口

Rust通过外部函数接口(FFI)实现与C库的互操作。代码展示了如何声明extern块并使用#[link]属性链接不同平台的C库(Windows的msvcrt和Unix的libm)。关键点包括:使用unsafe标记外部函数调用,通过#[repr(C)]确保内存布局兼容,以及将不安全操作封装为安全API。示例实现了复数运算,包括平方根和余弦函数,并自定义了Debug输出格式。这体现了Rust在保持内存安全的同时与C生态交互的能力,是跨平台系统编程的典型应用。

2025-09-06 09:35:25 60

翻译 Rust代码示例——20.7.程序参数的处理

Rust中处理命令行参数的方法:标准库提供env::args()获取参数,返回字符串向量。通过模式匹配可进行简单参数解析,如检查特定值或执行不同操作。对于更复杂需求,推荐使用第三方库如clap。示例展示了如何实现参数验证、数值运算和错误处理,包括帮助信息显示。程序可编译为match_args执行文件,支持不同参数组合,如检查42是否为答案,或对数字进行增减操作。

2025-09-06 09:09:05 61

翻译 Rust代码示例——20.6.文件系统操作

本文展示了如何使用Rust的std::fs模块实现常见的文件系统操作,模拟了Unix命令的功能。代码实现了cat、echo、touch、mkdir等命令的核心功能,包括读取文件内容、写入文件、创建目录和文件等操作。重点解析了文件操作的错误处理机制,使用io::Result作为返回类型,并演示了如何通过Path类型进行跨平台路径处理。文章还详细说明了使用OpenOptions进行灵活文件操作的方法,以及在不同平台下创建符号链接的差异。最后展示了完整的文件系统操作流程,从创建目录到删除文件的全过程。

2025-09-05 18:41:28 45

翻译 Rust代码示例——20.5.2.进程等候

摘要:Rust代码示例展示了如何通过Command::new("sleep").arg("5").spawn()创建子进程,并使用child.wait()阻塞等待进程结束。关键点包括:1) wait()是阻塞调用,会暂停当前线程;2) 必须调用wait()避免僵尸进程;3) 返回ExitStatus可检查执行结果。代码执行时会暂停5秒,待子进程结束后才打印最终信息。这种模式适用于需要顺序执行命令或获取子进程状态的场景。非阻塞版本可使用try_wait()。(149字)

2025-09-05 18:15:08 66

翻译 Rust代码示例——20.5.1.管道

本文演示了Rust中通过管道与子进程交互的方法。代码创建了一个子进程(Windows下使用PowerShell,其他系统使用wc命令),向其stdin写入一段包含所有字母的英文句子,然后读取并打印子进程的输出结果。关键点包括:1) 使用std::process::Command创建子进程;2) 通过Stdio::piped()建立管道通信;3) 正确处理管道生命周期,写入完成后自动关闭stdin;4) 跨平台兼容性处理;5) 错误处理机制。这段代码展示了Rust中进程间通信的典型模式。

2025-09-05 17:48:01 68

翻译 Rust代码示例——20.5.子线程

Rust使用process::Command执行外部命令的基本模式:通过链式调用配置命令参数,.output()同步执行并获取process::Output结果。输出包含状态码(stdout/stderr),用success()判断执行状态,String::from_utf8_lossy转换输出。示例演示了执行rustc --version及错误处理,展示了Rust类型安全的系统编程特点,包括显式错误处理、灵活命令配置和资源管理。适用于需要调用系统命令的工具开发。

2025-09-04 16:18:19 65

翻译 Rust代码示例——20.4.3.按行读取文件

本文介绍了Rust中文件按行读取的三种实现方法:1)基础方法使用read_to_string和lines();2)简化版使用map和collect;3)高效方法采用BufReader和迭代器。对比了不同方法在内存使用、性能和错误处理上的差异,指出基础方法适合学习和小文件,而高效方法更适合生产环境和大文件处理。文章展示了Rust从简单到高效的编程演进路径,体现了所有权系统、错误处理和迭代器等核心特性,为不同场景下的文件读取提供了实用建议。

2025-09-04 11:03:12 84

翻译 Rust代码示例——20.4.2.创建文件

本文演示了Rust中使用File::create()进行文件写入操作。通过静态字符串LOREM_IPSUM作为写入内容,展示了如何以只写模式创建/覆盖文件,并将文本转换为字节序列写入。代码包含完整的错误处理,使用match处理创建和写入阶段的潜在错误(如权限问题),成功时输出确认信息。关键点包括:文件操作的原子性、自动关闭机制、显式错误处理策略,以及字符串到字节的安全转换。该示例体现了Rust文件I/O的安全性(类型系统保证)和简洁性(几行代码完成完整操作),是学习基础文件操作的标准范例。

2025-09-03 22:16:49 81

翻译 Rust代码示例——20.4.1.打开文件

Rust文件读取示例展示了安全高效的文件操作方式:通过File::open()以只读模式打开文件,使用read_to_string()读取内容到字符串,并利用match处理可能的错误。核心特点包括自动资源管理(File离开作用域自动关闭)、显式错误处理和路径安全操作。该示例演示了Rust系统编程的优势,实现了完整的文件读取流程:路径准备→文件打开→内容读取→资源清理,同时通过模式匹配提供健壮的错误处理机制,是Rust文件I/O的典型实现模式。

2025-09-03 21:43:16 57

翻译 Rust代码示例——20.4.文件读写

摘要: Rust的File结构体封装了操作系统的文件描述符,提供安全的文件读写功能。所有I/O操作均返回显式错误类型io::Result<T>,强制程序员处理潜在错误,确保可靠性和内存安全。其设计特点包括: 显式错误处理:通过Result类型强制覆盖所有错误路径; 零成本抽象:自动管理文件描述符,无运行时性能损耗; 跨平台一致性:统一接口适配不同操作系统; 主动安全:编译时检查错误处理,避免资源泄漏。 这种模式虽增加代码量,但显著提升系统程序的健壮性和可维护性。 (字数:149)

2025-09-03 16:38:42 56

翻译 Rust代码示例——20.3.路径

Rust的Path系统提供跨平台路径处理能力,核心结构体Path和PathBuf分别对应不可变引用和可变所有权路径。通过Path::new()创建路径,使用join()、push()等方法进行路径操作,支持安全类型转换如to_str()和as_os_str()。该系统自动适配不同操作系统格式,利用Rust的所有权机制确保内存安全,强制处理非UTF-8路径转换,并保持零成本抽象。作为文件操作基础,它解决了跨平台路径处理难题,体现了Rust在系统编程中平衡安全性与性能的设计理念。

2025-09-03 14:50:34 85

翻译 Rust代码示例——20.2.通道

Rust通过mpsc::channel()实现多生产者单消费者的线程通信,提供Sender<T>和Receiver<T>端点。关键特性包括非阻塞发送(send())和阻塞接收(recv()),配合所有权机制确保线程安全。该模式适合任务分发场景,主线程创建工作线程发送消息后统一收集结果,充分体现Rust在并发编程中的内存安全和高性能优势,编译期即可保证无数据竞争。

2025-09-03 13:51:35 53

翻译 Rust代码示例——20.1.线程

摘要:Rust通过std::thread模块支持原生OS线程操作。示例代码展示了如何创建10个线程(使用spawn和move闭包),将线程句柄存入向量,并通过join()等待所有线程完成。关键特性包括:真正的操作系统线程、所有权转移确保线程安全、join同步机制。相比异步/绿色线程,OS线程适合CPU密集型任务但开销较大。最佳实践建议控制线程数量,使用Arc和互斥锁处理共享数据,注意错误处理。该示例体现了Rust在并发编程中兼顾底层控制与线程安全的特性。(149字)

2025-09-02 11:17:21 43

翻译 Rust代码示例——20.标准库杂项

标准库提供了多种类型来支持线程、通道和文件读写等高级功能,扩展了基本类型的能力。这些工具增强了程序的并发性和I/O操作效率。

2025-09-02 11:13:52 31

翻译 Rust代码示例——19.9.Arc(原子引用计数)

摘要:Arc(原子引用计数)是Rust中用于多线程共享数据所有权的智能指针。它通过原子操作管理引用计数,确保线程安全地将数据存储在堆内存中。创建Arc会增加引用计数,克隆操作会原子性地增加计数并返回新指针。与Rc不同,Arc具有线程安全性但性能略低。典型应用场景包括多线程数据共享、并发数据结构和线程池实现。当所有引用离开作用域时,Arc会自动清理内存。示例代码展示了如何在10个线程中安全共享同一个Arc指针。

2025-09-01 15:31:19 77

翻译 Rust代码示例——19.8.Rc(引用计数)

Rc是Rust中用于实现多重所有权的智能指针,通过引用计数机制跟踪值的使用情况。当克隆Rc时仅增加引用计数而不深拷贝数据,当计数归零时自动清理内存。示例展示了Rc的创建、克隆、引用计数变化及值访问方式。Rc适用于单线程环境下共享数据所有权的场景,如构建复杂数据结构,但不支持线程安全或可变性操作,需注意循环引用风险。其核心特性包括浅拷贝、自动内存管理和不可变共享。

2025-09-01 15:10:08 56

翻译 Rust代码示例——19.7.2.HashSet

HashSet是基于HashMap实现的只存储键值的数据结构,其核心特性是保证元素唯一性。相比Vec,它提供了O(1)时间复杂度的查找性能,并支持四种集合运算:并集(union)、差集(difference)、交集(intersection)和对称差集(symmetric_difference)。HashSet适合需要去重、快速存在性检查或数据集比较的场景,使用时需注意元素需实现Eq和Hash特性,且迭代顺序不确定。这种数据结构在需要确保元素唯一性或进行集合运算时特别有用。

2025-09-01 14:44:35 34

翻译 Rust代码示例——19.7.1.更改/自定义键值类型

本文介绍了Rust中HashMap键类型的限制和要求。实现Eq和Hash接口的类型可用作键,包括布尔值、整数、字符串等,但f32/f64因精度问题不适用。通过#[derive(PartialEq,Eq,Hash)]可自动为自定义类型实现相关特性。文章以用户登录系统为例,展示了如何定义Account结构体作为键,使用HashMap存储账户信息,并演示了登录验证过程。关键点包括:自动派生特性简化实现、生命周期处理字符串引用、类型安全保证和模式匹配处理结果。

2025-09-01 11:10:59 39

翻译 Rust代码示例——19.7.哈希镜像(HashMap)

本文介绍了Rust中HashMap的基本特性和使用方法。HashMap是一种键值对存储结构,支持布尔值、整型、字符串等多种键类型,并可根据需要自动调整容量。文章通过示例代码展示了如何创建HashMap、插入/更新键值对、获取值(使用模式匹配)、删除键值对以及遍历操作。重点说明了insert方法返回None(新插入)或Some(value)(更新),get方法返回Option<&V>,以及iter方法返回无序键值对迭代器等关键行为。HashMap为Rust程序提供了灵活高效的键值存储解决方

2025-09-01 10:09:02 44

翻译 Rust代码示例——19.6.panic!

摘要:Rust的panic!宏用于处理不可恢复错误,触发线程终止和栈回退。示例演示了除零错误时的panic处理:当divisor为0时,调用panic!终止程序,执行栈回退并释放资源(如Box分配的内存)。单线程中panic会导致程序退出并打印错误信息。Rust通过逆序析构保证资源安全,与Result不同,panic适用于不可恢复错误。典型应用包括前置条件验证和测试断言,但需注意性能影响,嵌入式系统可配置为直接终止。该机制体现了Rust的内存安全原则。

2025-08-31 16:03:09 65

翻译 Rust代码示例——19.5.1.?操作符

本文介绍了Rust中使用?操作符简化错误处理的方法。通过对比展示了?操作符如何将嵌套的match表达式转换为线性代码结构,使错误处理更清晰。代码示例演示了数学运算中的错误处理,包括除法、对数和平方根的异常情况。?操作符会自动展开Result类型,成功返回值,失败则提前返回错误,并支持自动错误类型转换。这种改进使代码更简洁、可读性更强,同时保持了Rust错误处理的显式特性,适用于需要连续多个可能失败操作的场景。

2025-08-31 15:34:35 80

翻译 Rust代码示例——19.5.结果类型(Result)

Rust中的Result枚举类型用于处理可能失败的操作,能携带成功值或错误信息。代码展示了如何定义MathError枚举表示数学错误,并使用Result<f64, MathError>作为返回类型。通过三个安全运算函数(除法、对数、平方根)演示错误处理,最终在op函数中嵌套match实现链式操作。当计算√(ln(1.0/10.0))时会因负数平方根而panic。这种处理方式虽显式但易形成嵌套金字塔,实际可用?运算符优化。

2025-08-31 15:04:45 76

翻译 Rust代码示例——19.4.可选项(Option)

本文介绍了Rust中使用Option枚举处理可能失败操作的方法。通过checked_division函数展示了如何用Option<T>(Some/None)安全处理除零错误,避免panic。文章重点解析了模式匹配处理Option、None类型注解、unwrap()方法的风险,并建议使用更安全的替代方案。最后指出Option枚举强制显式处理缺失值的优势,是Rust避免空指针错误的核心机制。

2025-08-28 17:55:00 108

翻译 Rust代码示例——19.3.字符串

本文介绍了Rust中的字符串处理,主要涉及两种类型:String(堆分配、可增长的UTF-8字符串)和&str(字符串切片)。演示了字符串反转、字符排序去重、动态构建字符串等操作。详细说明了字符串字面量的转义规则,包括十六进制和Unicode转义。特别介绍了字节字符串(b前缀)的处理,包括原始字节字符串(br前缀)、编码转换(str::from_utf8)以及非UTF-8数据的处理注意事项。文章强调常规字符串必须保证UTF-8有效性,而字节字符串更适合处理二进制数据或混合文本。

2025-08-28 17:34:45 79

Rust代码示例,是学习Rust语言的最佳向导 本文翻译自Rust的官方文档:Rust By Example

本文翻译自Rust的官方文档:Rust By Example。原文链接地址:https://doc.rust-lang.org/rust-by-example/index.html Hello World——按照传统的惯例,从“你好世界”开始rust的代码之旅 Primitives——学习有符号整形,无符号整形和其他基本类型 Custom Types——结构和枚举类型 Variable Bindings——可变的绑定,作用域和遮蔽 Types——学习类型的定义和更改 Conversion——不同类型之间的转换,例如:字符串,整形和浮点类型 Expressions——学习表达式和如何使用它们 Flow of Control——if/else,for和其他 Functions——关于方法、闭包和高序函数 Modules——使用模块来组织代码 Crates——在Rust中一个crate是一个编译单元。学习建立一个库。 Cargo——详细介绍官方Rust打包管理工具的一些基本特性 Attributes——属性是应用到某些模块、crate或子项目的元数据 Generics——学习写一个函数或数据类型可以使用不同的参数类型 Scoping rules——在拥有者、借用和生命周期中扮演重要角色的作用域 Traits——定义未知类型的方法的集合 Macros——宏是一种编写代码的方式,它用于编写其他代码中,也被认为是元编程 Error Handling——学习Rust处理错误的方式 Std library types——学习std标准库提供的一些自定义类型 Std misc——文件处理和线程的自定义类型

2025-09-10

给BW的数据存储对象建立索引

为了提高SAP BW中DSO的查询效率,需要对DSO建立索引

2015-06-19

使用ActiveMQ 5.X

为了有助于使用Apache ActiveMQ 5,你也许希望从Version 5 Getting Started手册或Configuring Version 5 Transports开始。除此之外,下面还有一份手册列表:  Configure version 5 Brokers(版本5代理的配置)  Configuring Version 5 Transports(版本5端口配置)  LDAP Broker Discovery Mechanism(LDAP代理查找机制)  Version 5 Examples(实例)  Version 5 Getting Started(开始)  Version 5 Hello World(你好)  Version 5 Initial Configuration(初始化配置)  Version 5 Installation(安装)  Version 5 Performance Tuning(性能调整)  Version 5 Run Broker(运行代理)  Version 5 Topologies(架构)  Version 5 Web Samples(Web实例)  Version 5 XML Configuration(XML配置)

2012-02-14

信息系统项目管理师教程

信息系统项目管理师教程 第四章 项目可行性研究与评估 对项目所涉及到的领域、投资的额度、投资的效益、采用的技术、所处的环境、融资的措施、产生的社会效益等方面进行全面的评价。

2014-05-02

电子商务网站建设-第一章电子商务前期策划

以赢在电子商务——php+mysql电商网站设计与制作为蓝本进行的课程

2014-07-19

DB2 odbc 驱动程序 windows 64位

数据库DB2的windows操作系统64位odbc 驱动程序 windows 64位,可以提供通过odbc连接DB2数据库。

2020-11-20

Linux 网络配置与应用

Linux 网络配置与应用 以Ubuntu为系统讲述linux的网络配置与应用

2014-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除