自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

brucexia的专栏

清华大学出版社夏编辑

  • 博客(295)
  • 资源 (10)
  • 收藏
  • 关注

原创 Meta和多表继承,继承与反向关系

在Django模型继承中,由于多表继承使用隐式的OneToOneField连接子类和父类,因此直接从父类访问子类是可能的。第01~04行代码中,定义了一个子类Restaurant,它继承自父类Place。其中,在第02行代码中定义了子类与父类的ManyToManyField关系。但是,如果在继承父类模型的子类中添加了这些关联,则必须指定related_name属性。第02行代码在定义子类与父类的ManyToManyField关系中,添加了“related_name='provider'”属性。

2024-04-24 08:52:09 627

原创 Django模型继承之多表继承

在Django模型继承中,支持的第二种模型继承方式是层次结构中的每个模型都是一个单独的模型。每个模型都指向分离的数据表,并且可以被独立查询和创建。在第07~10行代码中,定义了一个继承自抽象基类Place的、用于表示酒店的子类Hotel。在上述例子中,如果p不是一个Hotel对象,而仅仅是一个Place对象(又或是其他类的父类对象),那么指向p.hotel就会抛出一个Hotel.DoesNotExist类型的异常。在第03~05行代码中,定义了一个用于表示地点的抽象基类Place。

2024-04-24 08:49:28 287

原创 related_name和related_query_name属性

在Django模型继承中,假如在外键或多对多字段中使用了related_name属性或related_query_name属性,则必须为该字段提供一个独一无二的反向名字和查询名字。但是,这样在抽象基类中一般会引发问题,因为基类中的字段都被子类继承并且保持了同样的值,这其中当然也包括related_name属性和related_query_name属性。不过,如果在设计时忘了使用“%(class)s”和“%(app_label)s”,那么Django会在执行系统检查或运行迁移时抛出错误。

2024-04-23 08:27:22 168

原创 Django模型继承之Meta继承

最后,基于Python语法继承的工作机制,如果子类继承了多个抽象基类,则默认情况下仅继承第一个列出基类的Meta选项。在Django模型继承中,当一个抽象基类被设计完成后,它会将该基类中定义的Meta内部类以属性的形式提供给子类。在第12~14行代码中,在Meta类中添加了属性“abstract=True”,表明Unmanaged类为抽象基类。另外,如果想让一个抽象基类的子类也同样成为一个抽象基类,则必须显式地在该子类的Meta类中同样声明一个“abstract=True”属性。

2024-04-23 08:25:12 851

原创 Django模型的继承

Django模型的继承,包括模型的抽象基类、Meta继承、related_name和related_query_name属性、多表继承、Meta和多表继承、继承与反向关系、代理模型、代理模型继承和未托管模型,以及多重继承等内容。子类UserInfo因为继承自基类CommonInfo,所以顺带继承了基类CommonInfo中的name和age属性,这样子类UserInfo就拥有了3个字段属性,即name、age和home_group。在Django模型中,抽象基类在将公共信息放入很多模型时会非常有用。

2024-04-22 10:03:36 901

原创 Django模型的属性与方法

Django模型中最重要的属性就是Manager,它是Django模型和数据库查询操作之间的接口,并且被用作从数据库当中获取实例的途径。Django模型中还有一个关于模型方法的集合,其中包含了一些可能是自定义的数据库行为,比如save()方法和delete()方法就是两个最有可能定制的方法。在第07~24行代码中,定义了PersonAge类的模型方法person_age_status(),返回具体年龄段的信息。本节介绍Django模型的属性和方法,以及如何重写之前定义的模型方法等内容。

2024-04-22 10:00:48 920

原创 通过PyCharm平台开发Django应用程序

借助PyCharm开发平台,可以极大提高开发Django应用程序的效率,同时可以使用到很多非常实用的第三方插件。不过读者也要清楚,PyCharm开发平台所实现的功能,在底层也是借助Django命令行工具完成的。(1)打开PyCharm Pro专业版开发平台,通过文件菜单(File)的新建工程(New Project)选项创建Django项目,如图1.30所示。由上图可知,HelloDjango应用程序中的文件与之前通过命令行工具(django-admin.py)创建的结果是一致的。

2024-04-19 11:09:28 577

原创 通过命令行构建Django应用程序

通过命令行构建Django应用程序的关键,是使用一个Django框架自带的管理工具——django-admin.py,这是一个Python脚本文件。进入Django项目的根目录,运行上述简写命令,Django框架会以127.0.0.1:8000(ip:port)这个默认配置启动开发服务器。请读者再查看一下图1.20,它就在django目录下的bin目录中,具体如图1.25所示。在图1.26中可以看到,目录中已经有了通过django-admin命令新创建的Django项目(HelloDjango)。

2024-04-19 10:59:58 713

原创 Django模型的字段选项

在第14~18行代码中定义了一个字符型域变量year_in_college,将choices值定义为变量YEAR_IN_COLLEGE_CHOICES,默认值为FRESHMAN。在第08~13行代码中定义了一个choices类型的变量YEAR_IN_COLLEGE_CHOICES,其中包含了4个元组,使用了第04~07行代码中定义的变量。null的默认值为False,如果设置为True,则当该字段为空时,Django模型会将数据库中的该字段设置为NULL。如果未指定,则使用该域的名称。

2024-04-18 16:32:14 853 4

原创 Django模型的字段类型

字段类型用以指定数据库的数据类型,例如Integer、VARCHAR和TEXT这几种比较常用的数据类型。在Django模型定义中,字段类型均派生自Field类的实例。Django框架中的Field类是一个抽象类,专门用于定义数据库表的列表项。Django模型中最重要并且也是唯一必须执行的就是字段定义。字段在类中进行定义,对应于实体数据库的字段。另外,定义模型字段名时为了避免冲突,不建议使用模型API中已经定义的关键字。Django模型一共内置了多种字段类型,基本能够满足一般的设计需求。

2024-04-18 16:29:00 829

原创 Django模型入门

第03~06行代码定义了一个PersonInfo类,并通过models对象调用CharField()方法定义了name(姓名)、gender(性别)和age(年龄)3个字段,且每个字段的长度不一。这个类属性其实就相当于实体数据库中的数据项(也称数据列)。如果需要设计实现一个简单的个人信息模型(名称为PersonInfo),我们一般会定义这个个人信息模型的模型名称、字段名称、字段类型等参数,如表3.1所示。在第01行代码中,通过调用django.db模块导入了models对象(Django模型对象)。

2024-04-13 09:59:15 561

原创 Django模型基础

Django模型在业务逻辑层和实体数据库之间充当着桥梁的作用,通过使用描述对象和实体数据库之间的映射的元数据,将程序中的对象自动持久化到实体数据库中。MySQL是Web应用开发中比较常用的关系数据库,这里我们就以MySQL数据库为例,详细介绍在Django模型中使用数据库的方法。此时,ORM就相当于一个中间层的逻辑数据,连接着上层的编程语言与底层的实体数据库。本节先介绍一下Django框架模型的基础知识,主要包括Django模型介绍、Django模型与ORM,以及Django模型与MySQL等方面的内容。

2024-04-13 09:55:56 742

原创 Django框架设计原理

不过从严格意义上讲,Django框架采用了一种更为特殊的MTV设计模式,其中的“M”代表模型(Model),“T”代表模板(Template),“V”代表视图(View)。这样做的好处就是将设计人员从烦琐的控制层逻辑中解脱出来,通过编写更少的代码来实现用户需求,而控制层逻辑交由Django框架底层自动去完成,从而大大地提高了设计人员的开发效率。模板接收用户输入后交由视图去处理,视图负责连接模型进行数据操作,并将操作结果传递给模板进行展示,以上就是Django框架所设计的MTV模式的基本工作原理。

2024-04-12 08:45:12 585

原创 Django框架的基础知识

Django框架的诞生,最初是用来开发和管理Lawrence Publishing Group(劳伦斯出版集团)旗下的新闻网站,它是一款属于CMS(内容管理系统)类的软件,并于2005年7月取得了BSD许可证下的发布权限。Django框架的设计初衷是简便、快速地开发出易于维护的数据库驱动型网站,其所独具的代码复用功能,支持将各种组件以“插件”方式嵌入整个应用框架,从而极大地提高了应用开发的效率。Django框架的缓存系统采用与memcached、Redis等结合使用的方式,提高了页面的加载速度。

2024-04-12 08:43:04 335

原创 Vue3使用组件的计算属性设计购物车效果

商城网站中经常需要设计购物车效果。购物车页面中会显示商品名称、商品单价、商品数量、单项商品的合计价格,最后会有一个购物车中所有商品的总价。在Chrome浏览器中运行程序,选择不同的商品,并设置商品的数量后,结果如图3-20 所示。3.x+Element Plus从入门到精通(视频教学版)》,获出版社和作者授权发布。【例3.17】 使用计算属性设计购物车效果(源代码\ch03\3.17.html)。

2024-04-03 09:02:17 385

原创 Vue3使用组件的计算属性代替v-for和v-if

从上面的示例可以发现,计算属性可以代替v-for和v-if组合的功能。在处理业务时,推荐使用计算属性,这是因为即使v-if指令的使用只渲染了一部分元素,但在每次重新渲染的时候仍然要遍历整个列表,而无论渲染的元素内容是否发生了改变。使用v-for="goods in outGoodss"之后,在渲染的时候只遍历已出库的商品,渲染更高效。在业务逻辑处理中,一般会使用v-for指令渲染列表的内容,有时也会使用v-if指令的条件判断过滤列表中不满足条件的列表项。实际上,这个功能也可以使用计算属性来完成。

2024-04-03 08:57:19 542

原创 Vue3组件计算属性的缓存

反之,如果使用方法的形式实现,当使用reversedMessage方法时,无论message属性是否发生了改变,方法都会重新执行一次,这无形中增加了系统的开销。例如下面的示例,定义了两个方法:add1和add2,分别打印number+a、number+b,当调用其中的add1时,add2也将被调用。其实,计算属性的本质就是一个方法,只不过在使用计算属性的时候,把计算属性的名称直接作为属性来使用,并不会把计算属性作为一个方法来调用。在某些情况下,计算属性和方法可以实现相同的功能,但有一个重要的不同点。

2024-04-02 10:18:47 1372

原创 Vue3组件计算属性的get和set方法

在浏览器的控制台中设置计算属性namePrice的值为“空调 5900元”,按回车键,可以发现计算属性的内容变成了“空调 5900元”,效果如图3-8所示。计算属性中的每一个属性都对应一个对象,对象中包括get和set方法,分别用来获取计算属性和设置计算属性。提示:通常情况下,get()方法需要使用return返回内容。而set()方法不需要,它用来改变计算属性的内容。默认情况下是不能直接修改计算属性的,如果需要修改计算属性,这时就需要提供一个set方法。

2024-04-02 10:13:11 346

原创 使用Vue3组件的计算属性

下面是完整的字符串反转的示例,定义一个reversedMessage计算属性,在input输入框中输入字符串时,绑定的message属性值发生变化,触发reversedMessage计算属性,执行对应的函数,最终使字符串反转。上面的插值语法中的表达式调用了3个方法来实现字符串的反转,逻辑过于复杂,如果在模板中还要多次使用此处的表达式,就更加难以维护了,此时应该使用计算属性。在上面的示例中,当message属性的值发生改变时,reversedMessage的值也会自动更新,并且会自动同步更新DOM部分。

2024-04-01 10:18:16 974

原创 Vue.js3组件的方法

在Vue.js中,可以很方便地将数据使用插值表达式的方式渲染到页面元素中,但是插值表达式的设计初衷是用于简单运算,不应该对差值做过多的操作。在页面中首先使用插值渲染num的值,使用v-on指令绑定click事件,然后在事件中调用add()方法。在input中通过v-model指令双向绑定message,然后在methods选项中定义reversedMessage方法,让message的内容反转,然后使用插值语法渲染到页面中。在Vue.js 3.x中,组件的方法可以在实例的methods选项中定义。

2024-04-01 10:15:38 1196

原创 机器学习和深度学习的简单对比

为了提高深层神经网络的训练效果,人们对神经元的连接方法以及激活函数等做出了调整,其目的在于建立、模拟人脑进行分析学习的神经网络,模仿人脑的机制来解释数据,如文本、图像、声音。如果是传统机器学习方法,我们会首先定义一些特征,如有没有胡须,耳朵、鼻子、嘴巴的模样,等等。总之,首先要确定相应的“面部特征”作为机器学习的特征,以此来对对象进行分类识别。深度学习的“深”是因为它通常有较多的隐藏层,正是因为有那么多隐藏层存在,深度学习网络才拥有表达更复杂函数的能力,这样才能识别更复杂的特征,继而完成更复杂的任务。

2024-03-29 10:18:29 494

原创 PyTorch构建神经网络的简单示例

PyTorch的一个重要功能就是autograd,它是为方便用户使用,而专门开发的一套自动求导引擎,能够根据输入和前向传播过程自动构建计算图,并执行反向传播。当一个Epoch的样本(也就是训练集)数量太过庞大的时候,进行一次训练可能会消耗过多的时间,并且每次训练都使用训练集的全部数据是不必要的。人工神经网络(Artificial Neural Network,ANN)也简称为神经网络(NN),它是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型。

2024-03-29 10:09:03 643

原创 Pandas数据清洗

在下面的代码中,dropna()方法是删除包含空数据的行。Pandas使用 mean()、median() 和 mode() 方法计算列的均值(所有值加起来的平均值)、中位数值(排序后排在中间的数)和众数(出现频率最高的数)。这个例子中,我们看到Pandas把n/a和NA当作空数据,na不是空数据,不符合我们的要求,可以指定空数据类型。数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、数据错误或数据重复的情况,如果要使数据分析更加准确,就需要对这些没有用的数据进行处理。

2024-03-28 08:00:40 307

原创 Pandas处理CSV文件

Pandas在读取CSV文件时通过read_csv函数读取,读取CSV文件时指定的分隔符默认为逗号,代码如下。Pandas的head(n)方法用于读取前面的n行,如果不填参数n,则默认返回5行。tail(n)方法用于读取尾部的n行,如果不填参数n,则则默认返回5行。还要注意Pandas的to_string()用于返回 DataFrame 类型的数据,如果不使用该函数,则直接print(df)输出结果为数据的前面 5 行和末尾 5 行,中间部分以…运行结果如图3-7所示。运行结果如图3-8所示。

2024-03-28 07:55:53 455

原创 数据处理库Pandas数据结构DataFrame

Dataframe是一种二维数据结构,数据以表格形式(与Excel类似)存储,有对应的行和列,如图3-3所示。如下面的代码所示,Pandas可以使用 loc 属性返回指定行的数据,如果没有设置索引,第一行索引为0,第二行索引为1,以此类推。它也可以返回多行数据,使用[[ ... ]]格式,...为各行的索引,以逗号隔开。另外,也可以只获取 dataframe 中的几列,比如当处理数据的时候series较多,我们可以只关注其中一些特定的列,代码如下,假设只关注apple和banana数据列。

2024-03-27 09:04:25 490

原创 数据处理库Pandas的数据结构Series

因为传给构造器的是一个列表,所以 index 的值是从 0 起递增的整数,如果传入的是一个类字典的键-值对结构,就会生成 index-value 对应的 Series;注意:Series 的 index 和 values 的元素之间虽然存在对应关系,但这与字典的映射不同。ndarray也有索引,但它是位置索引,Series的标签索引使用起来更加方便。Series是一种一维数据结构,每个元素都带有一个索引,与一维数组的含义相似,其中索引可以为数字或字符串,如图3-1所示。运行结果如图3-2所示。

2024-03-27 08:56:44 291

原创 Vue3中v-for循环渲染之v-for与v-if一同使用

v-for与v-if一同使用,当它们处于同一节点上时,v-for的优先级比v-if更高,这意味着v-if将分别重复运行于每个v-for循环中。当只想渲染部分列表选项时,可以使用这种组合方式。【例2.20】 v-for与v-if一同使用(源代码\ch02\2.20.html)。3.x+Element Plus从入门到精通(视频教学版)》,获出版社和作者授权发布。Vue3中v-for循环渲染之v-for与v-if一同使用。在Chrome浏览器中运行程序,结果如图2-28所示。

2024-03-26 08:24:41 522

原创 Vue3中v-for循环渲染之v-for指令遍历对象

3.x+Element Plus从入门到精通(视频教学版)》,获出版社和作者授权发布。【例2.13】 v-for指令遍历对象(源代码\ch02\2.13.html)。【例2.14】 添加第二和第三个参数(源代码\ch02\2.14.html)。要获取选项的索引,可以添加第三个参数。其中object是被迭代的对象,value是被迭代的对象属性的别名。遍历对象的语法和遍历数组的语法是一样的。在Chrome浏览器中运行程序,结果如图2-15所示。在Chrome浏览器中运行程序,结果如图2-16所示。

2024-03-26 08:21:49 545

原创 Vue3使用v-if指令进行条件渲染

在上面的示例中,使用v-if="no"的元素并没有被渲染,使用v-if="ok"的元素正常渲染了。也就是说,当表达式的值为false时,v-if指令不会创建该元素,只有当表达式的值为true时,v-if指令才会真正创建该元素。使用v-else-if和v-else指令时,它们要紧跟在v-if或者v-else-if指令之后。v-else-if指令与v-if指令一起使用,用法与JavaScript中的if…else if类似。在Vue中使用v-if、v-else-if和v-else指令实现条件判断。

2024-03-25 16:59:56 448

原创 Vue.js 3.4的新特性

无论是小型还是大型的 Vue.js 模板,新解析器都能保持2倍的性能提升,同时确保了向后兼容性。而在 Vue.js 3.4 中,优化后的系统确保只有在计算结果实际变化时,相关的效果才会被触发,从而减少了组件的不必要渲染,提升了整体的性能。(2)v-bind 的同名简写功能:Vue.js 3.4引入了 v-bind 的同名简写功能,使得开发者在模板中绑定属性时,可以省略重复的变量名。目前,Vue.js的版本已经更新到3.4,这次更新不仅带来了性能上的飞跃,还引入了许多新特性,进一步优化了开发效率。

2024-03-25 16:54:06 374

原创 Java常见的垃圾回收器GC

它采用标记-清除算法进行垃圾回收,因此很容易产生内存碎片,但是CMS回收器做了一些小的性能优化,优化措施是把未分配的内存空间汇总成一个内存地址列表,当JVM需要分配内存空间时会搜索这个列表,找到符合条件的内存空间来存储这个对象,如果寻找不到符合条件的内存空间,就会产生Full GC。这是JVM新推出的垃圾回收器,同时支持新生代和老年代回收,能充分利用多核CPU的硬件优势,可以并行来缩短用户线程停顿的时间,也可以并发让垃圾收集与用户程序同时进行。G1同时采用标记-整理和复制等多种回收算法进行垃圾回收。

2024-03-21 09:16:12 341 1

原创 如何读懂Java GC日志

(1)“Heap before GC invocations=1 (full 0)”描述了发生了一次GC垃圾回收,“full 0”表示发生了0次Full GC,在之后描述了发生GC垃圾回收之前和之后年轻代区域(PSYoungGen)、eden区域(eden space)、From Survivor空间区域(from space)、To Survivor空间区域(to space)、年老代区域(ParOldGen)、元数据区域(Metaspace)、class space 的内存空间使用情况。

2024-03-21 09:08:05 1185

原创 Vue3案例——使用组件创建树状项目分类

本文节选自《Vue.js 3.x+Element Plus从入门到精通(视频教学版)》,获出版社和作者授权发布。树状项目分类是Web应用中心常见的信息展示方式,本案例使用组件创建树状项目分类。运行上述程序,结果如图6-23所示。

2024-03-20 08:22:06 371

原创 Vue3组件的注册

在大多数系统网页中,网页都包含header、body、footer等部分,很多情况下,同一个系统中的多个页面,可能仅仅是页面中body部分显示的内容不同,因此,这里就可以将系统中重复出现的页面元素设计成一个个组件,当需要使用的时候,引用这个组件即可。需要注意一个问题,当采用小驼峰(myCom)的方式命名组件时,在使用这个组件的时候,需要将大写字母改为小写字母,同时两个字母之间需要使用“-”进行连接,例如<my-com>。组件是Vue.js中的一个重要概念,它是一种抽象,是一个可以复用的Vue.js实例。

2024-03-20 08:18:30 667

原创 如何查看MySQL数据库的连接数

SHOW PROCESSLIST默认情况下只显示前100条记录的详情,如果需要显示超过100条的所有记录,可以通过执行SHOW FULL PROCESSLIST命令来查看,如图6-1-2所示。连接数是指用户已经创建多少个连接,也就是MySQL中通过执行 SHOW PROCESSLIST命令输出数据库中运行着的线程个数的详情,如图6-1-1所示。show global status like 'max_used_connections' 命令可以查询当前已经使用过的最大连接数,如图6-1-4所示。

2024-03-19 07:47:50 527

原创 MySQL中数据库表的监控

如果该值很高,则可能存在很多查询需要进行整表扫描,或者查询时一些表的关联连接没有正确使用主键或者索引。Handler_read_rnd_next:从数据库数据文件中读取下一行的请求数。如果越低,表示索引的利用很低。(4)查看数据库中的表被扫描的情况:show global status like 'handler_read%',如图6-1-8所示。Handler_read_rnd_deleted:从数据库数据文件中读取被删除记录行的请求数。Handler_read_last:读取索引中最后一个键的请求数。

2024-03-19 07:43:32 675

原创 Tomcat容器的I/O分析与调优

(4)I/O多路复用:在传统的I/O处理方式中,每来一个I/O请求就需要开启一个进程或者线程来处理,如果是在高并发的调用方式中,就需要开启大量的进程和线程来进行I/O处理,而大量的进程或者线程必然会需要大量的服务器硬件资源来支撑。I/O多路复用的处理方式很好地解决了这个问题,只需要开启单个进程或者线程,通过记录I/O流的状态来同时管理多个I/O,就可以有效地节省服务器资源,以及减少线程过多时带来的服务器CPU的中断和切换,从而提高资源的有效利用,也可以提高服务器的吞吐能力。

2024-03-18 10:35:10 937

原创 性能分析调优模型

(1)网络分发:网络分发是高速发展的互联网时代常用的降低网络拥塞、快速响应用户请求的一种技术手段,最常用的网络分发就是CDN(Content Delivery Network,即内容分发网络),它依靠部署在世界各地的边缘服务器,通过中心平台的负载均衡、源服务器内容分发、调度等功能模块,使世界各地用户就近获取所需内容,而不用每次都到中心平台的源服务器获取响应结果。比如,南京的用户直接访问部署在南京的边缘服务器,而不需要访问部署在遥远的北京的服务器。(2)Web服务器:Web服务器用于部署Web服务。

2024-03-18 10:25:46 493

原创 常见的软件系统性能测试指标

针对并发用户我们举例说明。每个请求或者事务对系统资源的消耗,用来衡量请求或者事务对资源的消耗程度,例如对CPU的消耗可以用占用CPU的秒数或者核数来衡量,对内存的消耗可以用内存使用率来衡量,对IO的消耗可以用每秒读写磁盘的字节数来衡量。在真实的用户操作中,用户的每个相邻操作之间都会有一定的间隔时间(在性能测试中,我们称为用户思考时间),所以,并发用户一般有绝对并发和相对并发之分,绝对并发是指某个时间点同时一起向服务器发出请求的并发用户数,相对并发是指一段时间内向服务器发出请求的并发用户总数。

2024-03-15 16:30:13 1036

原创 Vue3案例——使用监听器设计购物车效果

在Chrome浏览器中运行程序,输入商品名称后多次单击“加一个”按钮,然后单击“加入购物车”按钮,结果如图5-25所示。本文节选自《Vue.js 3.x+Element Plus从入门到精通(视频教学版)》,获出版社和作者授权发布。(2)对购物车数据进行侦听,每次单击“加入购物车”按钮,会显示商品名称和数量。【例5.18】 设计购物车效果(源代码\ch05\5.18.html)。(1)当用户每次修改预购买商品的名称的时候,都需要清空购买数量。Vue3案例——使用监听器设计购物车效果。

2024-03-14 11:04:04 509

Ambari+HDP+HDP-UTILS.rar

Ambari-2.7.5+HDP-GPL-2.6.4.0+HDP-UTILS-1.1.0.22

2021-03-28

OpenAL v2.1.rar

OPENAL是一个音效API,负责系统和声卡之间的沟通。

2020-05-18

java web设计模式

java web设计模式代码

2012-12-26

PHP+MySQL动态网站开发全程实例

《PHP+MySQL动态网站开发全程实例》随书光盘。 下载有问题,请邮件联系[email protected], 邮件标题为“求PHP+MySQL代码”

2012-11-07

Android 4.X从入门到精通

我的资源都不大,如果有下载不了的情况, 请联系邮箱[email protected], 我有邮件发送好了,谢谢。

2012-10-30

《Excel VBA从入门到实战》示例文件

《Excel VBA从入门到实战》示例文件

2012-08-06

《UML基础、建模与设计实战》课件和例子

《UML基础、建模与设计实战》课件和例子

2012-07-22

html5+css3+JS代码

《精通html5+css3+JavaScript页面设计》代码

2012-05-22

PowerDesigner15建模文件例子

《PowerDesigner 15 系统分析与建模实战》一书的建模文件

2012-05-15

软件公司研发部部门职责和业务流程

软件公司研发部部门职责和业务流程软件公司研发部部门职责和业务流程

2009-06-25

空空如也

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

TA关注的人

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