- 博客(660)
- 资源 (21)
- 收藏
- 关注
原创 再一篇相当中肯的文字
靠理想滋养人生,靠现实养育生活。公司新年第一次全体会议,大家的期待中也有公司今年对员工福利待遇的目标是什么。在公司蒸蒸日上的事业发展中,员工能够分享到多少真正的实惠,员工利益与公司发展是否能够挂上钩。职位目标量化——寻找努力的方向在去年的劳动协议签订中,被告知职位与工资挂钩的说法(“……这是工资调整的唯一途径”)。那如何努力能够得到职位的晋升呢?职位的要求是什么,如何量化考核的呢?员工...
2020-02-12 10:11:21
1753
4
转载 那些出现在电影中的程序代码
高科技无关的电影也偶尔会出现一些跟计算机相关的镜头。文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言? 一、《钢铁侠》,c语言电影《钢铁侠》 最近我重新看了一遍《钢铁侠》,发现了一些有趣的事情。在钢铁侠的人工心脏第一次“初始化启动”期间,在那个“恐怖分子”的洞穴里,一些长长短短的C
2015-07-13 15:29:11
21437
原创 Eclipse:查看函数的引用情况
1. 打开Outline视图:在Eclipse中,可以通过`Window -> Show View -> Outline`来打开Outline视图(或者使用快捷键`Ctrl + O`)。2. 使用快捷键:在Eclipse中,你可以使用快捷键`Ctrl + Shift + G`(在Mac上是`Cmd + Shift + G`)来查找所有引用该函数的代码位置。1. 使用搜索功能:在Eclipse中,可以使用`Ctrl + H`(在Mac上是`Cmd + H`)打开搜索对话框。3. 使用“Outline”视图。
2026-07-31 14:41:37
45
原创 2026年8月的工作日变少了
虽然 8 月和许多其他月份一样拥有31 天,但工作日的数量确实会因周末分布和起始星期的不同而产生显著差异,通常在21 至 23 天之间浮动。2026年8月共有31天,且该月的1号恰好是星期六,31号恰好是星期日,这种首尾相接的排布方式,使整个月份完整地包含了5个星期六和5个星期日。具体日期分别为:8月1日-2日、8日-9日、15日-16日、22日-23日、29日-30日,合计10个休息日。- 无法定节假日:8 月没有全体公民放假的法定节假日,工作日的减少完全归因于日历排布带来的周末增多,而非假期调休。
2026-07-31 08:45:23
505
原创 Oracle:使用Java存储过程或函数来扩展数据库的功能
在Oracle数据库中,可以使用Java存储过程或函数来扩展数据库的功能。Oracle数据库提供了JDBC (Java Database Connectivity) 支持,这使得Java代码可以直接嵌入到PL/SQL代码中。通常,可以将它们放在数据库服务器上的某个目录中,例如`$ORACLE_HOME/javavm/lib`。确保Oracle数据库服务器上已经安装了Java JDK,并且`CLASSPATH`环境变量已正确设置,指向JDK的`lib`目录和自定义Java类所在的目录。
2026-07-30 14:58:04
334
原创 Java:List.toArray(new T)
常见错误:直接调用无参 `toArray()` 返回 `Object[]`,强制转为具体类型数组(如 `(String[])`)会在运行时抛出 `ClassCastException`。`(`T` 为元素类型,如 `String`、`Integer`)// 正确,arr 类型为 String。2. 带参版 `list.toArray(new T)`:直接返回 `T[]` 类型数组,类型安全,推荐默认使用。- 为何推荐 `new T`:相比 `new T[list.size()]`,代码更简洁,且。
2026-07-29 15:04:19
188
原创 Oracle:SELECT * FROM TABLE(...)
在 Oracle 数据库中,`SELECT * FROM TABLE(...)` 是一种特殊的语法结构,主要用于查询集合类型(Collection Type)或表函数(Table Function)返回的数据。- 查看执行计划:在性能调优中,常结合 `DBMS_XPLAN` 包使用,如 `SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(...))` 来格式化显示 SQL 执行计划。3. 查询数据:使用 `TABLE()` 包裹函数调用进行查询。
2026-07-29 15:01:14
533
原创 Oracle:参数化“常量”
在这个例子中,直接将`'admin'`作为查询的一部分,虽然在这种情况下不太可能引起SQL注入(因为`admin`是一个硬编码的字符串),但最佳实践是总是使用参数化查询。在这个PL/SQL块中,尽管`v_username`是一个变量,但它被用作一个参数传递给`EXECUTE IMMEDIATE`语句。,也应该使用参数化(例如在代码中绑定`username`为`'admin'`),这样可以保持代码的一致性和安全性。在这个例子中,可以在运行时绑定不同的`username`值。`username`是硬编码的。
2026-07-27 16:29:42
309
原创 Oracle:“miss right parenthesis“
1. Oracle 建表时数据类型带长度:如 `INT(1)`、`INT(10)` 在 Oracle 中非法(仅 MySQL 支持),应改为 `NUMBER(1)` 或直接 `INT`/`NUMBER`。"miss right parenthesis"意为缺失右括号,是编程或数据库(尤其是 Oracle SQL)中常见的语法错误提示,表示代码中左括号数量多于右括号,或解析器因语法不当误判为括号未闭合。- 字面意思:缺少右括号 `)`,导致表达式、函数调用或语句结构不完整。
2026-07-27 12:40:16
280
原创 Oracle:存在未提交的事务
在 Oracle 数据库中,存在未提交的事务通常指的是有一些事务正在执行中,但是还没有被明确地提交(COMMIT)或者回滚(ROLLBACK)。- 使用事务管理工具:在应用程序中实现良好的事务管理,确保每个事务要么完全提交,要么在发生错误时回滚。未提交的事务可能会持有锁,这可能会阻塞其他事务。这个查询会列出所有状态为“ACTIVE”的事务,这些就是当前活跃的、未提交或未回滚的事务。这个查询会显示所有活跃的会话,可以进一步查看这些会话是否持有未提交的事务。这将终止该会话,并自动回滚其中的所有未提交事务。
2026-07-24 10:35:45
191
原创 Oracle:存在重复更新的情况
通常,乐观锁和悲观锁是处理并发更新的推荐方法,因为它们提供了较好的灵活性和性能。乐观锁是一种在数据库中使用的技术,通过在数据行上添加一个版本号(例如时间戳或版本号字段),来检测在读取和更新数据之间是否有其他事务修改了数据。在Oracle数据库中,如果遇到重复更新的情况,通常是因为在并发环境下,多个事务试图同时更新同一行数据。但是,这可能会影响性能,因为它会强制所有事务按顺序执行。如果某些更新操作可能导致重复(例如,基于某些唯一约束的违反),可以在应用逻辑中先检查这些约束,或者使用触发器来处理冲突。
2026-07-24 10:26:55
236
原创 Word:更改列表级别
2. 菜单命令调整:选中目标列表项,点击“开始”选项卡 → “段落”组中“多级列表”下拉箭头 → 选择"更改列表级别" → 点击具体级别(如 1 级、2 级等)。也可通过“开始”选项卡中的“更改列表级别”菜单或标尺手动调整。1. 快捷键调整(推荐):光标置于列表项行首或选中该行,按 Tab 键降低一级(向右缩进),按 Shift+Tab 键提升一级(向左缩进)。3. 按钮调整:选中列表项后,点击“开始”选项卡“段落”组中的"增加缩进量"(降级)或"减少缩进量"(升级)按钮。
2026-07-23 10:48:42
282
原创 文档格式:OFD
OFD 是我国自主研发的版式文档国家标准格式,全称为 Open Fixed-layout Document(开放式版式文档),标准号为 GB/T 33190-2016,主要用于电子公文、电子发票、电子证照等场景。1. 定义与标准:OFD 是由工业和信息化部软件司牵头中国电子技术标准化研究院制定的版式文档国家标准,2016 年 10 月 13 日发布,2017 年 5 月 1 日正式实施。- 数科 OFD 文档处理软件:官方推荐的 OFD 处理工具(2026 年 4 月曾发现安全漏洞,厂商已修复)。
2026-07-22 16:43:36
163
原创 Eclipse 批量文本替换
或先点击 "Search" 查看结果,右键选择 `Replace Selected` 或 `Replace All` 进行确认式替换。- `File name patterns`:指定文件类型(如 `*.java`, `*.xml` 或 `*` 代表所有)。- 替换框:使用 `$1`, `$2` 引用捕获组(如将 `(\w+)` 替换为 `new_$1`)。1. 打开搜索对话框:快捷键 Ctrl+H 或菜单 `Search` → `Search`。- 直接点击 "Replace" 按钮进行全量替换;
2026-07-21 15:42:34
205
原创 JSON: [{}]
对象名仅存在于对象内部的键(key)上,而。数组元素通过索引访问,无键名概念。内无键值对,故无名。,必须为字符串且位于。JSON 标准中,。
2026-07-21 14:46:20
218
原创 AI:如果人生是一道计算题,让所有算力去计算一个结果。
生命的本质是时间的流逝。这道计算题的最终结果,不是外界赋予的分数,而是内心的自洽与幸福。有些人追求财富的最大值,有些人追求体验的丰富度,有些人追求精神的宁静。* 晚年做除法:回归本心,将一生的经历除以岁月的沉淀,求得内心的平静与通透。如果人生是一道计算题,让所有算力去计算一个结果,那么这道题的解法绝非单一的线性推导,而是一场关于变量、算法与心态的综合运算。剔除无效的社交、过度的欲望和杂乱的念头,将精力聚焦于真正重要的人和事。在不断的试错、复盘与迭代中,找到适合自己的算法,走好脚下的路,便是最好的答案。
2026-07-21 09:07:58
179
原创 Java:将 IntelliJ IDEA 项目迁移至 Eclipse
应在 Eclipse 中安装对应插件,通过 `File` > `Import` > `Maven/Gradle` 直接导入 `pom.xml` 或 `build.gradle`,这是最稳定且推荐的方式。3. 修复依赖与 JDK:检查 `Java Build Path` 确认库路径正确,并在 `Properties` > `Java Compiler` 中匹配正确的 JDK 版本(IDEA 的 SDK 不会自动映射为 Eclipse 的 JRE)。- Web 项目运行失败。
2026-07-20 16:18:10
719
原创 AI寻找重复任务:将“执行方法”蒸馏成 Skill
它不再是只会聊天的工具,而是带着行业判断标准、能 7×24 小时持续迭代的"AI 员工”,实现了从“站在岸边教游泳”到“亲自下水游第一棒”的转变。将“执行方法”蒸馏成 Skill,本质是将个人或团队的业务逻辑、判断标准与操作规范转化为 AI 可执行的标准化指令集(SKILL.md)。这一过程并非简单的文档复制,而是通过提炼核心方法论,让 AI 智能体具备“实证有效”的执行力。通过这一过程,原本藏在顾问脑海中的方法论被算法化,成为 AI 智能体可执行的行为逻辑,确保业务闭环的实证有效性。
2026-07-20 15:38:32
547
原创 Java:反序列化 JSON 数据
对于复杂的自定义需求,例如将特定格式的字符串转换为对象,可定义 `UserDeserializer` 并在实体类字段上标注 `@JsonDeserialize(using = UserDeserializer.class)`。3. 处理集合与数组:若 JSON 根节点是数组或对象中包含列表字段,需将目标类型定义为 `List<T>` 或数组 `T[]`,Jackson 会自动识别并填充数据,无需手动迭代解析。- 执行反序列化:使用 `ObjectMapper` 读取 JSON 并转换为对象。
2026-07-20 10:58:51
519
原创 C#:Thread.IsBackground
异常处理:当应用程序因所有前台线程退出而强制终止后台线程时,后台线程中的 finally 块可能不会被执行,或者执行不完整。当所有前台线程都终止时,无论后台线程是否执行完毕,公共语言运行时 (CLR) 都会自动终止所有剩余的后台线程,并结束应用程序进程。如果希望线程独立于主程序生命周期,必须完成任务后才允许程序退出,请使用前台线程 (IsBackground = false)。默认行为:通过 new Thread()创建的线程,默认 IsBackground 为 false,即前台线程。
2026-07-16 15:49:21
481
原创 C#:关闭UI,清理线程
对于WPF应用程序,当主窗口关闭时,可以使用 `Dispatcher.Shutdown` 方法来停止所有相关的调度器操作,这通常会导致应用程序的退出。对于Windows窗体应用程序,也可以在主窗体中重写 `FormClosing` 或 `Closing` 事件来处理关闭前的逻辑。但是,如果想确保在UI线程关闭时,其他后台线程也能够正确退出或处理,可以采取一些策略来优雅地管理这些线程。通过以上方法,可以有效地管理你的应用程序在关闭UI时后台线程的行为,确保资源的正确释放和程序的稳定退出。
2026-07-16 15:26:31
174
原创 Oracle:一亿条数据快速定位
在Oracle数据库中处理包含超一亿条数据的表时,快速定位最新数据是一项常见的需求。如果只需要获取最新的几条记录,可以使用`ROWNUM`或者`FETCH FIRST`子句。对于需要频繁访问最新数据的场景,可以考虑使用物化视图来存储最新的数据快照。这可以通过定期刷新物化视图来实现。分区表可以显著提高查询性能,特别是当只需要访问最新数据时。例如,可以根据日期或时间戳创建一个范围分区。如果表非常大,考虑在时间戳列上创建索引。5. 使用Oracle的闪回查询(Flashback Query)
2026-07-15 14:49:24
148
原创 释义“福流澎湃”
福流澎湃”是清华大学彭凯平教授对积极心理学核心概念"Flow"的中国化译名与主张,意指人在全神贯注、物我两忘时产生的极致愉悦与充实感,并借汉代《灵棋经》“福流卦”古义赋予其“苦尽甘来、福运流转”的文化内涵。- 概念本质:对应西方心理学"Flow"(常译“心流”),指个体在挑战与技能匹配时,完全沉浸于活动而体验到的酣畅淋漓、时间感消失的巅峰幸福状态。- 代表著作:出自彭凯平所著《吾心可鉴:澎湃的福流》(2016 年初版,获文津图书奖),“澎湃”形容该体验的强烈与生命力。
2026-07-15 13:52:47
187
原创 Java:不是抽象的,但却没有覆盖其父类抽象方法
在Java中,当遇到一个类`ServiceImpl`声称不是抽象的,但却没有覆盖其父类`Service`中的抽象方法`check(String, String[])`时,遇到编译错误。确保`ServiceImpl`类中实现了`Service`类中的所有抽象方法。要求所有继承自抽象类的子类都必须实现其父类中的所有抽象方法,除非子类本身也是抽象的。// 可以选择在这里实现一些方法,或者留空不实现其他抽象方法。// 可以选择在这里实现一些方法,或者留空不实现。如果不想在`ServiceImpl`中实现所有方法,
2026-07-15 10:14:29
344
原创 Java:“must be defined in its own file“
在Java中,公共类(即使用`public`修饰符的类)必须与其文件名完全匹配。例如,如果公共类名为`XxxxServiceImpl`,那么它的文件名应该为`XxxxServiceImpl.java`。1. 如果类不是公共的,确保它的文件名与类名匹配,但不是公共的。例如,可以将非公共类放在一个包内,文件名可以是`XxxxServiceImpl.java`,但类定义不需要是公共的。如果类不是公共的(即没有使用`public`关键字),但它位于一个公共的源文件中,这也可能导致问题。原因1:类名与文件名不匹配。
2026-07-15 10:08:01
360
原创 Java:状态机
在Java中实现状态机,可以使用多种方法,包括使用枚举、状态模式(State Pattern)或者第三方库如Apache Commons Lang的`State`类。使用Apache Commons Lang的`State`类可以简化代码,但请注意,这不是Java标准库的一部分,你需要先添加依赖。// 持有状态机的引用,以便可以更改状态机本身的状态(例如,从一种模式切换到另一种模式)// 触发当前状态的处理方法,该方法会改变状态到下一个状态。步骤4:在上下文中使用状态并触发操作(例如,事件发生)
2026-07-15 09:20:39
192
原创 C#:调用COM组件
例如,某些方法可能需要特定的参数类型或返回类型,确保这些细节与COM组件的定义相匹配。例如,如果使用的是Visual Studio,它会自动为COM组件生成一个对应的命名空间和类。2. 错误处理:在调用COM组件时,可能会遇到一些特定于COM的异常。在C#中调用COM组件是一个常见的需求,尤其是在需要与老旧软件或非.NET环境下的软件进行交互时。假设有一个COM组件名为`MyComComponent`,它有一个方法`DoSomething`。一旦添加了COM引用,就可以在C#代码中使用COM组件了。
2026-07-13 16:24:44
214
原创 Oracle:快速定位最新数据
在Oracle数据库中,要快速查询最近的数据,通常有两种主要方法:使用`ORDER BY`和`ROWNUM`(或在Oracle 12c及以上版本中使用`FETCH FIRST`语法)。对于较早的Oracle版本(12c及以下),可以使用`ORDER BY`结合`ROWNUM`来获取最新的记录。这里,我们使用了`ROW_NUMBER()`窗口函数来为每行分配一个序号,然后在外层查询中筛选出序号小于等于10的行。方法1:使用`ORDER BY`和`ROWNUM`方法3:使用`ROWNUM`(适用于所有版本)
2026-07-13 09:39:40
708
原创 Visual Studio:输出路径
Visual Studio 输出路径指编译生成的二进制文件(.exe/.dll)存放位置,默认通常为 `bin\$(Configuration)\` 或 `bin\$(Configuration)\$(Platform)\`,可通过项目属性或编辑 `.csproj/.vcxproj` 修改。- C++ 项目:默认 `解决方案目录\Debug\` 或 `\Release\`(常含 `\x86`/`\x64` 平台子目录)。- 修改后建议执行"生成 > 清理解决方案"再重新生成,避免旧文件残留。
2026-07-10 17:04:49
261
原创 Java:源代码加密
然而,需要注意的是,直接对源代码进行加密并不是一个推荐的做法,特别是在需要维护和更新代码的环境中。但是,在某些特定的场合,比如分发软件时,加密源代码可以作为一种额外的安全措施。混淆是一种常用的技术,它通过改变代码的结构(如变量名、方法名等),使得代码难以阅读和理解,而不是通过加密来保护代码。1. 使用Java的加密API:可以使用Java的加密库(如JCE)来加密整个项目文件夹或特定的文件。1. 编译和调试困难:加密后的代码在编译时无法直接理解,需要解密后才能进行编译,这增加了开发和维护的复杂性。
2026-07-10 09:27:32
369
原创 C#:代码混淆(Code Obfuscation)
2. 配置项目:在Visual Studio中,右键点击解决方案,选择“Manage NuGet Packages”,搜索并安装`Crypto Obfuscator`包。2. 配置项目:在Visual Studio中,右键点击解决方案,选择“Manage NuGet Packages”,搜索并安装`Dotfuscator`包。3. 配置混淆规则:在项目中添加一个`.dotfuscator`配置文件,并定义混淆规则。4. 运行混淆:在Visual Studio中,右键点击项目,选择“Dotfuscate”。
2026-07-10 09:14:58
168
原创 Eclipse:SVN 回复
"SVN 回复”,撤销本地未提交修改(`svn revert`)或回滚已提交的版本(`svn merge` 反向合并),两者场景与命令完全不同。请根据是否已经执行了 `svn commit` 选择对应方案:未提交用 `revert`,已提交用 `merge -c -<版本号>`。- 步骤 3:执行反向合并 `svn merge -c -REV .`(负号表示撤销该次变更)- 步骤 2:查看日志找版本号 `svn log`(假设需回退版本号为 `REV`)- 单文件:`svn revert <文件路径>`
2026-07-08 15:30:52
210
原创 Java:BeanUtils.copyProperties
3. 性能:虽然 `BeanUtils.copyProperties` 提供了极大的便利,但在性能敏感的应用中,可能需要考虑使用其他方法(如手动拷贝或使用反射库如 Spring 的 `org.springframework.beans.BeanUtils`),因为反射调用通常比直接方法调用慢。假设有两个类 `SourceBean` 和 `TargetBean`,它们有一些共有的属性,你想将 `SourceBean` 的属性值复制到 `TargetBean` 中。-- 请检查最新版本 -->
2026-07-07 10:51:18
166
原创 Java:将List对象序列化为XML
在Java中,将一个List对象转换成XML格式通常需要使用一些额外的库,比如JAXB(Java Architecture for XML Binding),或者更现代的库如Jackson或XStream。例如,如果List包含`Person`对象,需要先定义一个`Person`类。// 打印或使用XML字符串。3. 序列化List为XML:使用`JAXBContext`和`Marshaller`来序列化你的List。这段代码会输出一个格式化的XML字符串,表示`personList`的内容。
2026-07-06 10:07:45
396
原创 Java:UTF-8 BOM
1. 读取文件时:如果使用标准的`java.io.InputStreamReader`或`java.nio.file.Files`类来读取文件,而没有正确处理BOM,可能会导致解析错误或数据丢失。- 避免不必要的BOM:通常推荐在处理UTF-8编码的文件时避免使用BOM,因为它不是UTF-8标准的一部分,可能会引起一些不必要的问题。如果可能,最好在保存文件时避免添加BOM。如果需要写入一个带BOM的UTF-8文件,可以使用`java.nio.charset.Charset`类来指定编码并添加BOM。
2026-07-03 11:00:20
246
原创 Java:编译提示 “需要 class, interface 或 enum”
括号不匹配(最常见):`class`、`interface` 或方法的大括号 `{}` 缺失或错位。- 代码写在类外部:Java 不允许在 `class` 定义之外直接编写执行语句(如`System.out.println`)。- package 与 import 顺序错误:`import` 语句必须位于 `package` 声明之后、`class` 定义之前。1. 检查文件开头:确保 `package`(如有)在最前,其次是 `import`,最后是 `public class`。
2026-07-03 10:56:55
188
原创 Java:xml必须转义的字符
>`、`"`、`'` 在特定上下文(如属性值)中才强制要求,但统一转义是最佳实践。- `>` (大于号) → 转义为 `>` (防止被误认为标签结束,虽非严格强制但建议转义)- `"` (双引号) → 转义为 `"` (仅在属性值中使用双引号包裹时需转义)- `'` (单引号) → 转义为 `'` (仅在属性值中使用单引号包裹时需转义)- `&` (和号) → 转义为 `&` (最核心,用于防止解析器误认实体开始)- `<` (小于号) → 转义为 `<` (防止被误认为标签开始)
2026-07-02 16:48:57
237
原创 Java:xml字符转义
/ 或者使用CDATA区块: doc.createCDATASection("This is a <test> string & contains \"special\" characters.");在Java中,在处理XML时,经常会遇到需要将特殊字符转义的情况,以避免XML解析错误或数据不正确显示的问题。例如,在XML中,`<`、`>`、`&`、`"` 和 `'` 这些字符需要被转义。- `'` 替换为 `'`(在某些情况下使用,但不是所有XML解析器都要求)- `"` 替换为 `"`
2026-07-02 16:05:04
306
原创 Eclipse 调试时弹出 Edit Source Lookup Path
JRE 源码缺失:若断点在 JDK 内部类,需在 Source 标签页添加 JRE System Library 并关联 `src.zip`(位于 JDK 安装目录)。- 进入 `Run` > `Run Configurations...`(或 Debug Configurations)。2). 选择 Java Project(若调试本地项目)或 Java Archive(若调试第三方库)。- 找到 `Tomcat` > `Source Path`(不同版本路径可能略有差异)。2、永久避免重复弹窗。
2026-07-02 15:46:24
579
原创 XML 解析过程中遇到 `org.xml.sax.SAXParseException
摘要:XML解析时出现SAXParseException错误,通常因处理指令(PI)格式不规范引起,如目标名称错误或大小写问题。常见错误包括PI目标使用非法字符或格式不正确(如<?xmlML?>),以及XML声明大小写错误(如<?XML?>)。解决方案包括:1)检查修正PI格式,确保符合<?target data?>标准;2)移除不必要的PI;3)确保XML声明正确且位于文件开头;4)使用XML验证工具检查语法;5)参考XML规范文档。示例错误<?xmlML ver
2026-07-02 13:51:26
267
WinXP支持TLS-1.2
2025-03-17
ASN1_BER_DER_编码子集入门指南
2010-06-03
元数据的多角度透视——元数据的知识
2010-09-27
09-MapInfo-whitebook
2010-05-18
MapBasic中文参考手册
2010-05-25
TD-SCDMA网络优化指导书_第2分册指导原则
2010-05-26
基于mapx的网格维数算法设计与实现
2010-05-18
iOS技术框架及特性介绍
2011-07-13
VSS 使用手册(中文版)
2010-06-07
ASN.1探索《ASN.1 Communication between Heterogeneous Systems》
2010-06-03
VML系列教程
2012-04-20
openScale配置_Flex开源客户端
2010-10-19
flex企业开发介绍及应用
2010-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅