- 博客(66)
- 收藏
- 关注
原创 C++中的值传递和引用传递
在C++中,函数参数传递主要有两种方式:值传递(Pass by Value)和引用传递(Pass by Reference)。这两种方式在参数传递时处理数据的方式有所不同,下面我将详细解释它们。
2024-06-15 08:48:45
261
原创 C++中的指针和引用的区别
了解这些区别有助于你在编写C++代码时选择使用指针还是引用。通常,如果可能的话,使用引用可以提供更好的安全性和可读性。然而,在某些情况下(如需要处理空值或需要动态修改指向的对象时),指针可能是更好的选择。在C++中,指针和引用都是用于间接访问内存位置的工具,但它们之间存在一些重要的区别。
2024-06-15 08:40:25
332
原创 Python 3和Python 2之间主要区别
综上所述,Python 3在语法、数据类型、编码、库支持、错误处理和迭代器等方面都进行了显著的改进和优化,使得Python 3成为了一个更加现代化、更加强大和易于使用的编程语言。Python 3和Python 2之间存在多个显著的区别,这些区别主要体现在语法、数据类型、编码方式、库支持和错误处理等方面。
2024-06-14 22:24:39
481
原创 如何使用Python中的type()函数和isinstance()函数
然而,有一种情况可能会让人误以为参数影响了返回值类型,那就是当函数内部根据参数的不同值返回不同类型的对象时。但这并不是参数直接决定了返回值的类型,而是函数内部的逻辑根据参数的值来决定返回哪种类型的对象。因此,虽然函数的参数可以影响函数内部的逻辑和最终返回的值,但它们并不直接决定返回值的类型。的类型返回不同类型的值。但是,这并不是因为参数直接决定了返回值的类型,而是因为函数内部有逻辑来判断参数的类型并据此返回相应的值。函数接受两个参数:要检查的对象和可能的类型(或元组,包含多个可能的类型)。
2024-06-14 22:22:15
447
原创 函数用于将字符串反转以及函数的作用
如果你不希望改变原始字符串,你需要传递一个字符串的副本给这个函数,或者在函数内部创建一个新的字符串来存储反转后的结果。需要注意的是,这个函数直接修改了传入的字符串,而不是创建了一个新的反转后的字符串。语言中的字符串)的指针,然后交换数组中字符的位置,使得原本在前面的字符移动到后面,原本在后面的字符移动到前面,从而实现字符串的反转。语言中,你可以通过交换字符串中字符的位置来实现字符串的反转。:调用这个函数后,原始字符串(实际上是传入的字符数组)的内容会被改变,变为反转后的字符串。
2024-06-13 19:00:58
329
原创 是字符串定义以及在C语言中字符串是如何表示的
字符数组通常用于需要修改字符串内容的场合,而字符指针则常用于指向常量字符串或动态分配的字符串。):字符串是由一个或多个字符组成的数据类型,可以包含字母、数字、符号和空格等字符。综上所述,字符串和基本类型在数据类型定义、内存存储与分配、赋值与操作、比较与判断以及使用场景等方面都存在显著的差异。字符串:字符串的赋值是将一个字符串对象的引用赋给变量。基本类型:基本类型主要用于表示简单的字符或数字,是编程中不可或缺的基础数据类型。C语言中的字符串以空字符('\0')结尾,这个空字符是字符串结束的标志。
2024-06-13 18:57:51
639
原创 野指针定义以及如何在编程中避免野指针
当你使用free(在C中)或delete(在C++中)释放了指针所指向的内存后,该指针仍然保留原来的内存地址,但此时这个地址已经不再是有效的内存空间了。当函数返回指针时,要确保返回的指针指向的是有效的内存地址,并且在函数返回后该内存地址仍然有效。是一个指针变量,它指向一个已经被释放的内存地址,或者是一个未知的内存地址。在进行类型转换时,要确保转换是安全的,并且转换后的指针指向的是有效的内存地址。总之,避免野指针的关键在于谨慎地管理指针和内存,确保指针始终指向有效的内存地址,并在不再需要时正确地释放内存。
2024-06-12 10:10:05
474
原创 什么是指针?请给出一个使用指针交换两个整数的例子。
指针变量存储的是另一个变量的内存地址,通过这个地址可以间接访问或修改该变量的值。指针还可以进行解引用操作(即获取指针指向的值)和赋值操作(即将一个变量的地址赋值给指针)。指针:指针本身是一个变量,存储在内存中的某个地址,该地址指向另一个变量的内存位置。通过指针,我们可以实现不交换变量本身,而是交换它们所指向的值的效果。指针:通过指针访问数据是间接的,需要先通过指针找到数据的内存地址,然后再访问该地址中的数据。数组:数组访问数据是直接的,通过数组名和索引可以直接访问到数组中的元素。,并打印了它们的值。
2024-06-12 00:01:58
410
原创 Python中的函数装饰器(function decorator)和类装饰器(class decorator)的区别。
在Python中,装饰器(Decorators)是一种强大的工具,它允许程序员在不修改现有函数或类代码的情况下,为它们添加额外的功能。装饰器本质上是一个接受函数或类作为参数的可调用对象,并返回一个新的函数或类对象。
2024-06-10 21:37:35
214
原创 如何使用Python中的asyncio模块进行异步I/O操作
注意:在实际应用中,你可能会使用更复杂的异步I/O操作,如网络请求或数据库查询。对于这些操作,你可能需要使用第三方库(如。模块提供了支持异步I/O、事件循环、协程和任务的基础框架。来模拟一个异步I/O操作(在这里是等待一段时间)。),这些库提供了针对这些服务的异步API。下面是一个简单的例子,展示了如何使用。函数是一个异步函数,它使用。
2024-06-10 21:34:40
430
原创 Python中的上下文管理器(contextlib)模块
方法的对象,它们通常用于确保在代码块执行前后执行某些操作,比如资源获取与释放、设置和重置环境、错误处理等。模块提供了一些用于创建和管理上下文管理器(context managers)的工具。上下文管理器是实现了。模块,你可以更方便地创建和使用上下文管理器,以简化资源管理和错误处理代码。语句与上下文管理器一起使用,可以自动处理这些操作,使代码更加简洁和健壮。
2024-06-09 22:53:33
382
原创 如何使用Python中的collections模块提供的数据结构,如deque、Counter、OrderedDict等
Python 的模块提供了一些额外的数据结构,这些数据结构在内置的数据类型(如列表、字典、集合等)的基础上,增加了额外的功能或优化了性能。下面是如何使用模块中的dequeCounter和这三种数据结构的简单示例。
2024-06-09 22:51:51
377
原创 Python中的装饰器链(decorator chain)是什么
在Python中,装饰器是一种高级功能,它允许你在不修改函数或类代码的情况下,为它们添加额外的功能。装饰器链的工作原理是,每个装饰器都会返回一个新的函数或类,该函数或类会包装(或“装饰”)原始的函数或类。当装饰器链中的多个装饰器被应用时,它们会依次工作,每个装饰器都接受前一个装饰器返回的函数或类作为输入,并返回一个新的包装后的函数或类。每个装饰器都返回一个新的函数,该函数会调用下一个装饰器(或原始函数),并可能在其前后添加额外的功能。但是,由于装饰器链的工作方式,当你调用。),最后才是原始函数。
2024-06-07 21:57:13
227
原创 如何使用Python中的random模块生成随机数
模块中提供的一些基本功能。根据你的具体需求,你还可以探索该模块中的其他函数和功能。函数从非空序列(如列表、元组或字符串)中随机选择一个元素。模块提供了多种用于生成随机数的函数。函数生成一个介于0.0和1.0之间的随机浮点数。注意,这个函数会直接修改列表。函数也可以生成一个介于。之间的随机整数(包括。,而不返回新的列表。
2024-06-07 21:55:02
407
原创 C语言中函数的参数传递机制(值传递、指针传递)
在C语言中,函数的参数传递机制主要有两种:值传递(Pass by Value)和指针传递(Pass by Reference,虽然C语言中没有直接的“Pass by Reference”这一术语,但通常使用指针来实现类似的效果)。
2024-06-06 12:22:51
297
原创 什么是函数?在C语言中如何定义一个函数
然后,你可以在代码的其他地方定义函数的实际实现。:函数可以带有参数,这些参数是传递给函数并在函数体内使用的值。在实际编程中,为了增强代码的可读性和可维护性,通常建议显式地声明函数原型,尤其是在函数定义和使用分布在多个文件或代码块中时。语言中,定义函数主要有两种语法形式,但实际上它们只是同一种语法的不同表达方式,具体取决于你是否在函数定义之前声明函数原型。函数的调用时,它会记住这个调用,并期待在稍后的代码中看到与这个调用相匹配的函数定义。在这种情况下,函数定义的位置必须在任何调用该函数的代码之前。
2024-06-06 12:21:26
958
原创 C语言中的变量和常量是什么,以及它们的区别
例如,在循环中,我们可能使用一个变量来计数循环的迭代次数,或者作为索引来访问数组的元素。语言中一种特殊的变量类型,它存储的是另一个变量的内存地址。通过指针,我们可以直接访问和操作内存中的数据,这在处理复杂的数据结构、动态内存分配以及实现一些高级功能时非常有用。变量是用于存储数据值的内存位置。变量的应用场景在编程中非常广泛,几乎在任何需要存储或操作数据的程序中都会使用到变量。语言中,变量和常量是两种不同类型的存储单元,它们在程序执行过程中起着不同的作用。:变量的值可以改变,而常量的值在初始化后就不能改变。
2024-06-05 12:28:46
624
原创 如何进行用户研究
同时,将用户研究作为一个持续的过程,与产品的迭代和改进相结合,可以不断提升产品的竞争力和用户满意度。进行用户研究是一个系统性和目标驱动的过程,旨在深入了解用户的需求、行为和期望,以便为产品设计、优化和决策提供有力的支持。通过不断地进行用户研究,可以及时发现和解决用户遇到的问题,提高产品的竞争力和用户满意度。研究计划的制定有助于保证研究的顺利进行,并确保研究结果的准确性和可靠性。此外,进行用户研究时还可以使用一些基本工具,如用户访谈、焦点小组讨论、问卷调查、用户测试和数据分析等,以辅助研究和提升研究效果。
2024-06-05 12:23:29
346
原创 如何评估项目的进度和质量
关键是制定详细且紧凑的计划、合理组织项目团队、采用有效的进度控制方法、强化执行力,并注重质量管理。评估项目的进度和质量是项目管理中至关重要的环节,它有助于确保项目按计划进行,并达到预期的结果。:将项目进度和质量的评估结果进行综合分析,了解项目的整体状态。:在项目开始之前,明确项目的质量标准,包括功能需求、性能要求、用户体验等。:在项目开始之前,制定详细的项目计划,包括时间表、里程碑、任务分配等。这将成为评估进度的基准。:定期与团队成员一起审查项目的进度,讨论存在的问题和障碍,并制定相应的解决策略。
2024-06-04 12:14:25
368
原创 如何进行代码审查和测试的
通过审查他人的代码,开发者可以学习新的编程技巧和最佳实践,从而提升整个团队的编程能力。:代码审查和测试都是持续改进的过程。通过每次迭代中收集到的反馈,团队可以识别出代码中的常见问题,并制定相应的改进措施,以持续提升代码质量。这种流程,即结合代码审查和测试的流程,通常被认为是提升程序质量的有效方法。:经过严格的代码审查和测试后,开发者对代码的质量更有信心。通过遵循以上流程,软件开发团队可以确保代码的质量和稳定性,提高软件的可靠性和用户体验。记录代码审查的结果,包括发现的问题、提出的建议和修改情况。
2024-06-03 21:49:15
458
1
原创 如何理解敏捷开发和瀑布模型的区别
综上所述,敏捷开发和瀑布模型在开发流程、需求变更容忍度、交付时间、沟通与合作方式以及风险管理等方面存在明显的差异。选择适合的开发方法论需要考虑项目的特点和需求,并根据实际情况做出决策。敏捷开发和瀑布模型是两种不同的软件开发方法,它们在多个方面存在显著的差异。
2024-06-03 21:42:31
307
原创 什么是PYTHONPATH?它在Python中有什么作用
如果你在不同的操作系统上开发 Python 项目,并且希望在不同的环境中使用相同的项目结构,那么 PYTHONPATH 可以帮助你实现这一目标。只需在不同的操作系统上设置相同的 PYTHONPATH 值,Python 解释器就可以在不同的环境中找到相同的模块和包。:在大型项目中,你可能希望将不同的模块和包组织在不同的目录中。:在开发过程中,你可能需要频繁地修改和测试你的代码。:通过 PYTHONPATH,你可以指定额外的目录,让 Python 解释器在这些目录中查找模块和包。,你需要将其添加到你的。
2024-06-02 21:31:48
453
原创 描述Python中的命名空间和作用域。
局部作用域是最内层的作用域,它包含了在函数或方法内部定义的变量、函数和类。这些变量、函数和类只在定义它们的函数或方法内部可见,即它们的作用域仅限于该函数或方法。一旦函数或方法执行完毕,局部作用域中的所有内容都将被销毁,包括在其中定义的变量和对象(除非这些对象被全局作用域或其他作用域中的变量引用)。在函数内部,你可以使用global关键字来声明一个变量是全局的,这样你就可以在函数内部修改全局变量的值。中,局部作用域和全局作用域是两种主要的作用域类型,它们决定了变量、函数和类在代码中的可见性和生命周期。
2024-06-02 21:29:28
445
原创 如何在Python中管理内存
总的来说,虽然Python自动管理内存,但开发者仍然可以通过一些方式来优化内存使用或避免内存泄漏。然而,在大多数情况下,你应该优先考虑编写清晰、简洁和易于理解的代码,而不是过早地担心内存管理问题。Python使用引用计数和垃圾回收机制来管理内存,这大大简化了开发者的工作,因为他们通常不需要手动管理内存。生成器是迭代器的一种,它只会在迭代到某个元素时才计算该元素的值,而不是一次性计算所有元素的值并存储在内存中。这将减少对象的引用计数,如果引用计数降到0,Python的垃圾回收器就会回收这块内存。
2024-06-01 22:22:14
319
原创 解释Python中的PEP 8是什么 为什么它很重要
PEP 8 强调代码的可读性。通过规定变量名、函数名、类名等的命名规则,以及代码块的缩进和空格使用,PEP 8 有助于编写易于理解的代码。:在团队项目中,遵循 PEP 8 可以减少由于不同编码风格导致的冲突和误解。:使用空行来分隔逻辑相关的代码块,以提高代码的可读性。例如,一致的缩进和空格使用可以减少由于缩进错误导致的语法错误。这些原则涵盖了代码布局、命名约定、注释、文档字符串、编码建议、导入语句、异常、全局变量、嵌套等方面。:在一段代码前添加块注释时,应在#后加一个空格,并使用空行分隔不同的段落。
2024-06-01 22:20:16
824
原创 如何进行代码版本控制
代码版本控制是软件开发中至关重要的一环,它允许开发人员追踪代码的修改历史、协同工作、恢复误删除的代码等。通过学习和使用这些功能,你可以更高效地管理你的代码版本。确保你的提交信息清晰、简洁,并描述了你所做的更改。这将显示你所有的提交记录,包括提交者、提交日期和提交信息。之前,你需要设置你的用户名和邮箱地址,这些信息将用于你提交代码的识别。当其他团队成员提交了更改到远程仓库时,你需要将这些更改拉取到你的本地仓库。这会将指定分支的更改合并到你当前所在的分支。你可以使用标签来标记特定的提交,例如发布版本。
2024-05-31 10:55:04
432
原创 如何应对快速迭代和变化的需求
在敏捷项目中,需求管理确保团队始终关注最有价值的需求,而敏捷开发则帮助团队快速响应这些需求的变化。同时,敏捷开发中的迭代和反馈机制也为需求管理提供了宝贵的信息和机会,使团队能够不断优化和改进产品。敏捷开发和需求管理在软件开发项目中都是至关重要的,但它们的重要性因项目阶段、团队文化和业务目标而异。同时,根据客户的反馈和业务需求的变化,调整项目计划和优先级。通过引入新的工具和技术,提高团队的工作效率和响应速度。通过实施这些策略和实践,您可以更好地应对快速迭代和变化的需求,提高项目的成功率和客户满意度。
2024-05-31 10:48:46
330
原创 如何进行用户研究
:主要研究和分析用户需求、行为和情感,关注用户在使用产品或服务过程中的整体感受,包括界面设计、交互设计、视觉设计等方面,旨在提供一个让用户感到愉悦、高效、易用的产品或服务。根据研究目标,选择合适的用户研究方法。请注意,虽然参考文章中提到了多种用户研究方法,但在实际应用中,应根据具体的研究目标和资源情况选择合适的方法组合。用户研究是用户中心设计流程的第一步,旨在理解用户,将他们的目标、需求与商业宗旨相匹配。用户研究是一个持续的过程,需要定期回顾和更新研究结果,以适应市场的变化和用户需求的演变。
2024-05-30 18:58:40
257
原创 如何处理数据库的并发问题
综上所述,数据库的读写分离涉及多个方面,包括数据库服务器的部署、数据复制与同步、读写分离实现方式、负载均衡、事务处理和一致性保证以及故障恢复与高可用性策略等。数据库的读写分离是一种提高数据库系统性能和可靠性的优化策略。:例如,对于登录用户业务,可以将活跃用户数据单独存储,查询时先查询活跃用户表,没有结果再查询总表,以降低查询数据量。在主数据库或从数据库出现故障时,需要能够快速切换到其他可用的数据库服务器上,以保证业务的连续性。:在高并发情况下,可以将多个请求的查询合并到一次进行,以减少数据库的访问次数。
2024-05-30 18:13:59
418
原创 如何进行数据库分库分表
它通过将原本数据量大的数据库拆分成多个单独的数据库,将原本数据量大的表拆分成若干个数据表,使得单一的库、表性能达到最优的效果(响应速度快),以此提升整体数据库性能。将垂直分库和水平分表相结合,按照业务功能将数据库拆分为多个独立的数据库,并对每个数据库中的表进行水平切分。在拆分数据库的同时,还对每个数据库中的表进行水平切分,将一张表的数据拆分为多个小表进行存储。根据需求分析结果,设计具体的分库分表方案,包括切分键的选择、数据的映射关系、数据迁移策略等。:游标有多种类型,包括只读的、可更新的、可滚动的等。
2024-05-29 12:53:50
1029
原创 数据库事务的ACID属性定义
在并发环境中,当多个事务并发执行时,一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。:用于防止数据库处于不一致或不可用状态,需要回滚未完成的事务,并完成当发生崩溃时仍在内存中的已提交事务。一旦事务提交,其对数据库的修改就是永久性的,即使系统崩溃或故障,修改的数据也不会丢失。恢复操作可能会覆盖当前数据库的数据,因此在执行恢复操作之前,请务必做好数据的备份和确认。:记录备份的相关信息,如备份时间、备份状态、备份文件位置等,便于管理和追踪备份操作。
2024-05-29 12:51:32
511
原创 数据库技术都涵盖那些内容
如Hibernate、MyBatis、Entity Framework等,用于将对象与数据库中的表进行映射,简化数据库操作。:一个文档型数据库,使用BSON(Binary JSON)作为数据格式,提供了灵活的数据结构和强大的查询功能。:另一个强大的开源关系型数据库,它提供了许多高级功能,如全文搜索、外部数据封装和复杂的SQL支持。以上只是我熟悉的一些主要数据库技术,随着技术的不断发展,我也在不断学习和掌握新的数据库技术和工具。:这是一个流行的开源关系型数据库管理系统,支持大量的并发连接和大量的数据处理。
2024-05-28 18:49:50
420
原创 如何理解RESTful API的设计原则
HTTPS:HTTPS是HTTP的安全版本,它使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议对传输的数据进行加密。虽然HTTP和HTTPS本身并不直接影响搜索引擎排名,但使用HTTPS可以提高网站的安全性,并增加用户对网站的信任度。:为API提供清晰、详细的文档,包括资源的URI、支持的HTTP方法、请求和响应的格式、错误码和错误信息等。)是两种用于在网络上传输数据的协议,但它们之间存在一些重要的区别,主要体现在安全性和加密方面。
2024-05-27 16:55:27
430
原创 后端技术栈都有哪些
数据库:Gorilla/mux (路由), GORM (ORM), pq (PostgreSQL 驱动), Go-MySQL-Driver (MySQL 驱动)数据库:SQL Server, Entity Framework (ORM), Npgsql (PostgreSQL), MySql.Data (MySQL)数据库:H2, MySQL, PostgreSQL, Oracle, Hibernate (ORM)数据库:PostgreSQL, MySQL, SQLite, MongoDB。
2024-05-27 16:48:42
650
原创 解释Python中的多线程和多进程编程
然而,对于I/O密集型任务(如网络请求、文件读写等),GIL的影响较小,因为大部分时间线程都在等待I/O操作完成。每个进程有自己的内存空间和系统资源,并且进程间通信通常需要通过操作系统提供的机制(如管道、套接字、共享内存等)来实现。这些线程共享进程的内存空间和系统资源,但每个线程有自己的执行栈和线程本地存储(密集型任务,多线程可能是更好的选择,因为它可以简化编程模型并减少进程间通信的开销。充分利用多核CPU资源,因为每个进程都可以在其自己的CPU核心上运行。资源的场景,多进程通常是更好的选择。
2024-05-26 17:29:24
297
原创 如何使用Python进行网络编程,如socket编程
在上述例子中,服务器只处理一个客户端连接后就关闭了连接。在实际应用中,你可能希望服务器能够同时处理多个客户端连接,这通常需要使用多线程或多进程。在进行网络编程时,错误处理是非常重要的。上述例子为了简洁而省略了错误处理代码,但在实际代码中,你应该添加适当的错误处理逻辑。在发送和接收数据时,你可能需要处理数据分片和粘包问题。这通常需要使用更复杂的协议或自定义的数据格式来确保数据的完整性和顺序。在实际部署中,你可能不会使用socket.gethostname()来获取主机名,而是直接使用IP地址或特定的主机名。
2024-05-26 17:26:39
392
原创 如何使用Python中的map()、filter()和reduce()函数
是内置的高阶函数(或称为函数式编程工具),它们允许你对可迭代对象(如列表、元组等)进行批量操作。函数接受一个函数和一个或多个可迭代对象作为输入,并返回一个迭代器,该迭代器包含将函数应用于每个可迭代对象的元素后得到的结果。函数接受一个二元函数和一个可迭代对象作为输入,并返回一个单一值,该值是通过对可迭代对象的元素连续应用函数来计算的。函数接受一个函数和一个可迭代对象作为输入,并返回一个迭代器,该迭代器包含对可迭代对象中的每个元素应用函数后返回。定义一个函数,用于计算两个数的和。定义一个函数,将输入的数乘以。
2024-05-25 20:39:40
480
原创 如何使用Python中的生成器
当一个函数嵌套在另一个函数内部,并且内部函数引用了外部函数的变量(包括参数和局部变量)时,就形成了闭包。中,生成器是一种特殊的迭代器,它允许你逐个地生成值,而不是一次性地计算并存储所有的值。闭包的一个关键特性是,即使外部函数已经返回,其内部函数的引用(即闭包)仍然能够保持对外部函数作用域中变量的引用。简单来说,闭包是一个函数对象,它记住了它被定义时的词法环境(即外部作用域),即使该函数在其原始词法环境之外执行。在创建函数对象时,会保存其词法环境的一个引用,这样当函数被调用时,它可以访问这些变量。
2024-05-25 20:36:46
417
其他类别WebSpider蓝蜘蛛网页抓取 v5.1-webspider
2024-06-15
ASP.NET学生成绩管理系统
2024-06-14
asp.net学生成绩管理系统(源码)
2024-06-14
ASP.NET多语种网络硬盘系统的设计(源码)
2024-06-13
asp.net电子书城系统设计与实现(源码)
2024-06-13
ASP.NET猜数游戏的设计与开发(源代码)
2024-06-13
JAVA公共资源模块的设计与开发(源代码)
2024-06-12
JAVA3D的网络三维技术的设计与实现(源代码)
2024-06-12
JAVA本地监听与远程端口扫描(源代码)
2024-06-12
php+sql成绩查询系统(系统)
2024-06-10
php+mysql学生成绩查询系统(源代码)
2024-06-10
php+mysql社区交流系统(系统)
2024-06-10
PHP+SQL考勤系统安全性实现(源代码)
2024-06-09
PHP基于Web的subversion用户管理系统(源代码)
2024-06-09
PHP论文格式化系统-前台的设计与实现(源代码)
2024-06-09
基于PHP的产品报价系统的设计与开发(源代码)1
2024-06-08
基于PHP实现的网上留言管理系统的设计(源代码)1
2024-06-08
整站程序Wap Portal Server v1.21 (PHP+MYSQL的WAP整站)-wap
2024-06-08
PHP新闻网站系统源代码
2024-06-07
PHP基于Linux的远程管理系统服务器端的实现(源代码)
2024-06-07
PHP校园二手信息网站的设计与开发(源代码+论文)
2024-06-07
asp+sql旅游管理系统设计(源代码)
2024-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人