- 博客(163)
- 资源 (1)
- 收藏
- 关注
原创 PHP 使用 Redis
phpredis 扩展下载地址为: https://github.com/phpredis/phpredis/releases。phpredis 扩展官方地址为 https://github.com/phpredis/phpredis。安装完成后重启 php-fpm 或 apache,查看 phpinfo 信息,就能看到 redis 扩展。PHP 语言访问 Redis 需要先安装 Redis 服务和 PHP Redis 扩展。运行以上 PHP 脚本,输出结果如下。或者输入以下命令来检查。
2023-11-10 16:19:08
215
原创 Java 使用 Redis
JAVA 语言访问 Redis 需要先安装 Redis 服务和 jedis 包。如果你还未安装 JAVA,可以移步我们的 JAVA 开发环境配置。然后通过以下地址下载 jedis 包: jedis 2.9.0。Java 存储/获取 Redis 字符串( String )JAVA 访问 Redis 列表( List )编译运行以上 JAVA 范例,输出结果如下。编译运行以上 JAVA 范例,输出结果如下。编译运行以上 JAVA 范例,输出结果如下。编译运行以上 JAVA 范例,输出结果如下。
2023-11-10 16:13:34
224
原创 Redis 命令 (五)服务器
下面的范例演示客户端如何通过密码验证连接到 Redis 服务,并检测服务是否在运行。Redis 服务器命令主要是用于管理 redis 服务。以下范例演示了如何获取 redis 服务器的统计信息。下表列出了用于 Redis 连接相关的命令。下表列出了管理 redis 服务相关的命令。
2023-11-10 16:09:20
215
原创 Redis 命令 (四)
下图展示了频道 channel1,以及订阅这个频道的三个客户端 : client2 、 client5 和 client1 之间的关系。它先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令。当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端。下表列出了 redis 发布订阅相关的命令。下表列出了 Redis 事务的相关命令。下面的范例演示了发布订阅是如何工作的。
2023-11-10 16:00:36
149
原创 Redis 命令 (三)
假如我们有一个数据集 {1, 3, 5, 7, 5, 7, 8}那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数 (不重复元素个数) 为5基数估计 就是在误差可接受的范围内,快速计算基数。
2023-11-03 23:11:49
72
原创 Redis 命令 (二)
上面的范例,我们使用 LPUSH 命令将三个值插入了名为 language 的列表当中。Redis 字符串数据类型的相关命令用于管理 Redis 字符串值。更多命令请参考:https://redis.io/commands。更多命令请参考:https://redis.io/commands。Redis List(列表) 是简单的字符串列表,按照插入顺序排序。可以添加一个元素到 Redis 列表的头部(左边)或者尾部(右边)Redis 哈希(Hash) 命令。Redis hash 命令。
2023-10-28 22:08:38
60
原创 Redis 命令(一)
下面的范例演示了如何连接到主机为 192.168.1.100,端口为 6379 ,密码为 123456 的 Redis 服务上。如果键被删除成功,命令执行后输出 (integer) 1 ,否则将输出 (integer) 0。我们使用 Redis 服务自带的 redis-cli 客户端来发送命令。下面的范例演示了如何启动 redis 客户端,并发送 ping 命令。最新版的 redis-cli 会有命令提示功能,方便学些。Redis 键相关的命令用于管理 redis 的键。
2023-10-28 22:00:45
74
原创 一分钟理解负载LoadAverage
系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。[Load1,单核][Load2,双核]希望上面的图对大家理解Load Average有帮助,赶快uptime一下,看一下自己系统的负载吧。
2023-10-26 08:58:35
366
原创 1分钟了解Leader-Follower线程模型
(2)假设共N个线程,其中只有1个leading线程(等待任务),x个processing线程(处理),余下有N-1-x个following线程(空闲)此观点不对,一个消息队列,其仍是临界资源,仍需要一把锁来保证互斥,只是锁竞争从leading移到了消息队列上,此时消息队列仅仅只能起到消息缓冲的作用。(4)事件/任务来到时,leading线程会对其进行处理,从而转化为processing状态,处理完成之后,又转变为following。(6)following不干事,就是抢锁,力图成为leading。
2023-10-26 08:54:50
289
原创 二十二、锁支持工具 LockSupport
本节带领大家认识第三个常用的 Java 并发锁工具之。本节先介绍工具类的用途,然后介绍关键的编程方法,最后通过一个编程例子为大家展示工具类的用法。下面我们正式开始介绍吧。
2023-10-26 08:47:47
82
原创 二十一、读写锁 StampedLock
本节带领大家认识第二个常用的 Java 并发锁工具之。本节先简单介绍的基本概念,然后介绍关键的编程方法,最后通过一个编程例子为大家展示工具类的用法。
2023-10-26 08:45:33
55
原创 二十、可重入读写锁 ReentrantReadWrite
从本节开始,我们学习新一章内容 —— 并发锁。在 “Java 并发原理教程” 中,介绍了锁相关概念和原理知识,本章各小节内容不再过多解释概念,重点为大家介绍具体锁工具的 API 和使用方法。本节带领大家认识第一个常用的 Java 并发锁工具之。本节先简单介绍的基本概念,然后介绍关键的编程方法,最后通过一个编程例子为大家展示工具类的用法。下面我们正式开始介绍吧。
2023-10-26 08:40:52
67
原创 这才是真正的分布式锁
Chubby系统提供粗粒度的分布式锁服务,Chubby的使用者不需要关注复杂的同步协议,而是通过已经封装好的客户端直接调用Chubby的锁服务,就可以保证数据操作的一致性。Chubby具有广泛的应用场景,例如:(1)GFS选主服务器;(2)BigTable中的表锁;
2023-10-25 22:06:14
64
原创 一分钟实现分布式锁
分布式环境下,多台机器上多个进程对一个数据进行操作,如果不做互斥,就有可能出现“余额扣成负数”,或者“商品超卖”的情况,如何实现简易分布式锁,对分布式环境下的临界资源做互斥,是今天将要讨论的话题。原理:多个访问方对同一个资源进行操作,需要进行互斥,通常是利用一个这些访问方同时能够访问到的lock来实施互斥的。(2)只有一个进程会抢到这个锁,即只有一个进程对缓存set key=123能够成功,不成功的进程下次再来抢。(1)多台机器上多个进程对这个锁进行争抢,例如在缓存上同时进行set key=123操作。
2023-10-25 21:55:56
55
原创 从IDC到云端架构迁移之路
通常有两种方案,一种是自顶向下的迁移,一种是自底向上的迁移,这两种方案在58到家和58同城分别实行过,都是可行的,方案有类似的地方,也有很多细节不一样,因为时间关系展开说一种,在58到家实施过的“自顶向下”的机房迁移方案,整个过程是平滑的,逐步迁移的,可回滚的,对业务无影响的。充分的测试完一个业务的站点层和服务层之后,为了求稳,先切1%的流量到新机房,观察新机房的站点与服务有没有异常,没有问题的话,再5%,10%,20%,50%,100%的逐步放量,直至第一波蚂蚁搬完家。多机房架构是什么样的架构呢?
2023-10-25 21:50:52
138
原创 二、Redis 配置
Redis swap 文件分成了很多的 page,一个对象可以保存在多个 page 上面,但一个 page 上不能被多个对象共享,VM 机制将数据分页存放,由 Redis 将访问量较少的页即冷数据 swap 到磁盘上,访问多的页面由磁盘自动换出到内存中。Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key。Redis 在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。
2023-10-23 11:03:03
80
原创 一、Redis 基础教程
Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用Redis 不仅支持 key-value 类型的数据,还提供list,set,zset,hash等数据结构的存储Redis 支持数据的备份,即 master-slave 模式的数据备份。
2023-10-23 10:46:09
57
原创 十九、ForkJoin 应用示例
首先做了 (0,3)~(3,6),之后对 (0,3) 做了 (0,1), (1,3) 的拆分,对 (3,6) 做了 (3,4), (4,6)其底层使用多线程的方式处理任务,涉及到线程上下文的切换,当数据量不大的时候使用串行会比使用多线程快。上面代码注释已经很清楚了,我们观察下面的代码,看看任务是怎么切分的,以及子任务的结果是怎么做汇总的。当待处理的数据集的每一部分的数据处理逻辑基本一致,且可以很好拆分成小的数据集进行处理时,使用。本节先描述待实现的案例内容,接着做编码实现,然后总结使用过程中的注意事项。
2023-10-23 10:33:21
118
原创 十八、ForkJoin 并发框架介绍
框架的基本思想是将一个大任务拆分成多个处理逻辑相同的子任务,最后将这些子任务的结果再汇总起来,从而得到大任务的结果。即在任务处理时,先进行任务切分,然后进行切分后的各子任务的计算,最后做结果合并。一般我们只需要根据实际情况,选择继承上面的两个子类之一,然后实现自己的逻辑就可以了。并发框架实现一个综合例子,让大家从整体概念、接口实现、应用有一个较全面的了解。并发框架的整个体系结构,接着介绍各部分中的核心接口和实现类,下一节中使用。整体结构已经了解了,接着我们继续了解各部分的核心接口和实现类。
2023-10-23 10:30:59
53
原创 十七、Executor 应用示例
我们可以通过手工创建线程做逻辑单元的执行,但是当存在大量的需要执行的逻辑单元也是这样处理,就会出现很多麻烦的事情,且效率非常低下。手工创建线程并做线程管理,需要我们实现很多与业务无关的控制代码,另外手工不停的创建线程并做线程销毁,会浪费很多系统资源。我们在实际项目中,常常通过使用 java 提供好的非常好用的线程框架 Executor 进行任务执行操作。本节先描述待实现的案例内容,接着做编码实现,然后总结使用过程中的注意事项。上面代码注释已经很清楚了,我们观察下面的代码,看看任务代码。
2023-10-22 20:49:34
57
原创 十六、Executor 并发框架介绍
并行框架对工作单元、以及工作单元的执行做了高度抽象,形成了一整套完整模型。并发框架实现一个综合例子,让大家从整体概念、接口实现、应用有一个较全面的了解。任务的执行机制,即如何组织任务的提交、如何管理提交的任务、如何组织多个线程执行。并发框架的整个体系结构,接着介绍各部分中的核心接口和实现类,下一节中使用。对任务执行结果的抽象,即如何跟踪任务执行状态,如何获取任务执行结果。整体结构已经了解了,接着我们继续了解各部分的核心接口和实现类。的唯一实现类,其职责是提供方便地构建带有返回结果的任务。
2023-10-22 20:08:05
52
原创 十五、阻塞队列 BlockingQueue
我们举一个生活中汽车排队加油的例子说明:每一个加油站台就是一个阻塞队列,汽车依次排队进入,先进入的先出站。当站台满了后继车辆就需要排队等待,当前面的汽车加好油离开(出队)后,后面的汽车进入(入队)开始加油。首先作为一个队列,可以适用于任何需要队列数据结构的场合,其次其具有阻塞操作的特征,可用于线程间协同操作的场合。在计算机中,队列具有先入先出的特征,不允许插队的情况出现。等,这些实现类之间主要区别体现在存储结构或元素操作上,但入队和出队操作却是类似的。工具类的使用场合,然后通过简单的编码实现此场景。
2023-10-22 20:04:37
46
原创 如何快速实现高并发短文检索
普及:DAT是double array trie的缩写,是trie树的一个变体优化数据结构,它在保证trie树检索效率的前提下,能大大减少内存的使用,经常用来解决检索,信息过滤等问题。查询的步骤为:对查询词进行分词,对分词进行hash,直接查询hash表格,获取doc_id的list,然后多个词进行合并。龙哥:没错,每个分词遍历一次trie树,可以得到doc_id的list,多个分词得到的list合并,就是最终的结果。龙哥:存内存操作,能满足很大的并发,时延也很低,占用内存也不大,实现非常简单快速。
2023-10-19 09:31:52
60
原创 58同城推荐系统架构设计与实现
答案是通过策略和配置。分流服务,它是推荐系统中一个非常有特色也非常重要的一个服务,它的作用是将上游过来的请求,按照不同的策略,以不同的比例,分流到不同的推荐算法实验平台(也就是下游的推荐内核)中去。该服务的实现要点是:实现一个通用的服务框架,让算法人员能够快速的生成module服务,并将自己的需求在module中实现,且能够在算法实验平台方便的进行module服务的调用。推荐内核,是各类线上推荐算法实施的核心,它其实只是一个通用的实验平台容器,每个推荐服务内部可能跑的是不同类型的推荐算法。
2023-10-19 09:28:21
196
原创 微信为啥这么省流量?
答:本地数据不能直接使用的原因是,不确定数据是否最新,拉取服务器时间戳与本地时间戳进行比对,如果本地是最新的数据,就能避免重新拉取。故,对于微信,登录时只需要拉取好友列表(id+name)与群组列表(id+name)即可,而其他数据,等用户真正点击和使用时再拉取即可,这样就可以大大减少拉取流量。(2)“服务端”收到客户端上传的时间戳,与最新时间戳对比,找出差异,假设有10个好友的信息发生了变化,服务端可以直接将有差异的10个好友的数据返回。答:不能直接复用客户端本地的数据,因为不能确保本地的数据是最新的。
2023-10-19 09:19:18
58
原创 十四、写时复制的CopyOnWriteArrayList
因为采用了写时复制的实现原理,当存在大量写的时候,内存中会频繁复制原有数据的副本,如果原有数据集很大,则很容易造成内存飙升甚至内存异常。我们举一个 IP 黑名单判定的例子:当应用接入外部请求后,为了防范风险,一般会对请求做一些特征判定,如对请求 IP 是否合法的判定就是一种。顾名思义,就是 “写数据的时候先拷贝一份副本,在副本上写数据”。方式,可以做到读操作不用加锁,而只对写操作加锁,且可以很方便地反馈写后的结果给到读操作。工具类的使用场合,然后通过简单的编码实现此场景。观察结果,和我们的预期一致。
2023-10-19 09:15:21
77
原创 十三、线程安全的 ConcurrentHashMap
此场合下统计结果是多个键值对,键是单词,值是字母出现的总次数,采用。如果 key 对应的当前值是 oldValue,则替换为 newValue,返回 true。,是仅仅因为其安全,相比全局加锁的方式而且很高效,还有很多已经提供好的简便方法,不用我们自己再另行实现。如果 key 对应的值是 value,则移除 K-V,返回 true。翻译过来是并发的意思,字面理解它的作用就是提供并发情况下的。工具类的使用场合并通过简单的编码实现此场景,最后介绍。的升级,采用了分段加锁而非全局加锁的策略,增强了。
2023-10-19 09:11:30
61
原创 互联网智能广告系统简易流程与架构
既然bid*CTR是所有广告综合打分的依据,且 出价bid又是广告主事先设定好的,那么实际上,广告排序问题的核心又转向了广告CTR的预测, CTR预测是推荐系统、广告系统、搜索系统里非常重要的一部分,是一个工程,算法,业务三方结合的问题,本文就不展开讨论了。展示了广告后,展现端js会上报广告 展示日志,有部分用户点击了广告,服务端会记录 点击日志,这些日志可以作为广告算法实施的数据源,同时,他们经过统计分析之后,会被展示给广告主,让他们能够看到自己广告的展示信息,点击信息。
2023-10-18 20:51:21
273
原创 十二、交换者 Exchanger
我们举一个生活中的例子说明:快递员为客户派送物品,客户要求订单采用货到付款的方式进行支付。在这个例子中,快递员交换出去的是货物收到的是款项,而客户正好相反。允许设置交换等待的超时时间,当时间过后还未交换到需要的对方数据,则不再等待,继续后继逻辑执行。表示 “交换者”,此工具类提供了两个线程在某个时间点彼此交换信息的功能。工具类表达的概念和最基本用法,接着通过一个生活中的例子为大家解释。工具类的使用场合,然后通过简单的编码实现此场景,最后带领大家熟悉。方法,除过上面代码中使用的方法之外,其还对进行了重载。
2023-10-18 20:33:59
65
原创 十一、移相器 Phaser
适合用于具有多阶段处理的任务,在每个阶段有多个线程并行处理的场景。这样描述很抽象,我们举一个生活中的例子:有一个开发小组总共 4 个人,约定一起去旅游。这个工具类相对而言比较复杂,大家不要着急,结合后面的案例仔细体会。上述代码在注册好需要同步控制的所有线程之后,开启了每一个线程(每位同事)的处理。是不是又强大又抽象,没关系,我们通过一张图可以直白了解其提供的逻辑模型。工具类表达的概念和最基本用法,接着通过一个生活中的例子为大家解释。工具类的使用场合,然后通过简单的编码实现此场景,最后带领大家熟悉。
2023-10-18 20:31:13
281
原创 十、循环栅栏 CyclicBarrier
工具类允许一组线程相互等待,直到所有线程都到达一个公共的屏障点,然后这些线程一起继续执行后继逻辑。之所以称之为 “循环”,是因为在所有线程都释放了对这个屏障的使用后,这个屏障还可以重新使用。这样描述很抽象,我们还是举一个生活中的例子说明:某学习班总共 5 位同学,约定周末一起乘坐大巴出游,约定了共同的集合地点,雇佣了 1 位司机。除过上面代码中使用的最基本的 await () 方法之外,还有下面几个方法大家可以了解一下。工具类的表达的概念和最基本用法,接着通过一个生活中的例子为大家解释。
2023-10-16 09:17:53
102
原创 九、同步计数器 CountDownLatch
工具类从字面理解为 “倒计数锁”,其内部使用一个计数器进行实现,计数器初始值为线程的数量。当每一个线程完成自己的任务后,计数器的值就会减一。当计数器的值为 0 时,表示所有的线程都已经完成了任务,然后在。比如我们制作一张复杂报表,报表的各部分可以安排对应的一个线程进行计算,只有当所有线程都执行完毕后,再由最终的报表输出线程进行报表文件生成。工具类表达的概念和最基本用法,接着通过一个生活中的例子为大家解释。工具类的使用场合,然后通过简单的编码实现此场景,最后带领大家熟悉。提供的多线程共同协作的模型。
2023-10-16 09:13:09
100
原创 八、计数信号量 Semaphore
当某个时刻有乘客需要使用闸机过站时,首先他需要找到一台没有人使用的闸机,现实中他通过眼睛观察即可知道,在我们程序里面就是需要观察信号量,看能不能申请到代表可用闸机的信号量,如果能则表示有空闲闸机 (资源) 可用,否则需要等待其他乘客使用完毕 (信号量释放)后再使用。上图中的乘客就类比是我们程序里面的各类线程,闸机就类比是一类线程需要使用的资源,而信号量就是某一时刻可用的闸机数量。工具最常用的场合说明,然后通过简单的编码实现文中提到的生活案例,让大家有一个理性的认识,之后带领大家熟悉。
2023-10-16 09:08:58
84
原创 七、本章小结
每一个工具类介绍了基本的用法,并且搭配了编程案例。在介绍每一类工具类时,没有过多地做彼此之间的对比,为了大家有一个更深刻的认识,下面总结这些工具类之间的应用差异。JDK 提供了这么多原子操作工具类,且这些工具类在功能上或多或少有重叠,我们该怎么加以选择使用呢?至此本章介绍完毕了,希望大家能反复琢磨,反复练习,争取早日掌握,早日体会到这些工具类带来的便捷。通过前面几个小节的学习,相信大家已经掌握了不少知识和技巧,本节我们一起做一个回顾总结。本章总共 4 个小节,介绍了 4 个典型的原子操作类,分别是。
2023-10-14 22:58:26
59
原创 六、原子操作之LongAccumulator
一些简单的累加计算可以直接使用我们之前课程中介绍的工具类,但是当运行规则比较复杂或者 JDK 没有提供对应的工具类时,可以考虑。对象表示统计结果,然后创建了 30 个商场入口检测设备模拟检测识别,接下来每个检测设备如何动作呢,看下面的代码。还能自定义计算规则,比如做乘法运行,或其他任何你想要的计算规则。这样描述是不是有点抽象,别着急,看下面的图示。工具类实现上一节中的生活实例,为了简化叙述,本节我们只统计男性客户总数量。工具类最常用的场合说明,然后通过简单的编码实现一个实际案例,最后带领大家熟悉。
2023-10-14 22:51:55
192
原创 五、原子操作之DoubleAdder
工具类采用了 “分头计算最后汇总” 的思路,避免每一次(细粒度)操作的并发控制,提高了并发的性能。所谓细粒度的同步控制,指的是对待同步控制对象的每一次操作都需要加以控制,这样描述是不是有点抽象,别着急,看下面的图示。在统计过程中,每一个线程只需要累加自己的那份统计结果,所以不需要做同步控制,只要在最后进行汇总统计结果时做同步控制进行汇总即可。工具类最常用的场合说明,然后通过简单的编码实现一个实际案例,让大家有一个理性的认识,最后带领大家熟悉。,用法大同小异,希望大家在日常研发中多比较多总结,早日掌握之。
2023-10-14 22:47:24
152
原创 四、原子操作之 AtomicReference
引用就是为对象另起一个名字,引用对象本身指向被引用对象,对引用对象的操作都会反映到被引用对象上。包中还提供了更多更细场景的原子操作类,此包下的大部分工具类都是基于 CAS 原理实现,正因为如此,有很多相似之处,用法大同小异,希望大家在日常研发中多比较多总结,早日掌握之。工具类实现生活中汽车牌照竞拍的例子:假设总共有 10 位客户参与竞拍,每位客户只有一次竞拍机会,竞拍是资格竞拍不以竞拍价格为目的。则是对普通的对象引用的封装,可将多个变量作为一个整体对象,操控多个属性的原子性的并发类。
2023-10-13 10:25:21
699
原创 三、原子操作之AtomicInteger
在 java 中,当我们在多线程情况下,对一个整型变量做加减操作时,如果不加任何的多线程并发控制,大概率会出现线程安全问题,也就是说当多线程同时操作一个整型变量的增减时,会出现运算结果错误的问题。第 1 个方法是先获取值,之后再对原值做增 1 操作,注意获取的值是变更之前的值。在这个包下面,还有很多类似的工具类,也是对基本类型原子操作的封装,如。大家记住,在多线程并发下,所有不是原子性的操作但需要保证原子性时,都需要进行原子操作处理,否则会出现线程安全问题。所谓原子操作,就是一个独立且不可分割的操作。
2023-10-13 10:19:27
302
原创 二、操作系统的并发
为了避免长时间的线程等待,我们一方面提升硬件指标(如多级高速缓存的诞生,这里不做讨论),另一方面引入了并发概念,充分的利用处理器(CPU)的每一个核,减少 CPU 资源等待的时间,以达到最高的处理性能。官方定义: 线程是操作系统能够进行资源调度的最小单位,它被包含在进程之中,是进程中的实际运作单位,每个线程执行的都是进程代码的某个片段,特定的线程总是在执行特定的任务。我们首先来看看,三者之间的关系,从图中可以看到,操作系统是包含多个进程的容器,而每个进程又是容纳多个线程的容器。并发:穿插执行,减少等待。
2023-10-12 17:52:55
86
微信小程序电商源码:外卖小程序,电商小程序,门店类小程序,展示类小程序,批发商城小程序 项目介绍 1.此项目是一套完整的电商系
2023-02-15
为面馆打造的小程序,本项目是纯原生开发的小程序项目,没有使用第三方的开发框架,具有较高的研究学习价值 本项目为专业的小程序项
2023-02-15
小肥羊答题小程序源码在线答题小程序是一款专业的在线出题考试服务平台,适用于企业、事业单位、政府机构、学校和教育培训机构在线评测考
2023-02-15
Mall4j商城 小程序商城端 微信小程序商城源码
2023-02-15
云影评1.0(原617看)视频小程序
2023-02-15
1.什么是设计模式? 2.设计模式是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案 3.说出
2023-02-15
程序员面试题精选100题 随着高校的持续扩张,每年应届毕业生的数目都在不断增长,伴随而来的是应届毕业生的就业压力也越来越大
2023-02-15
本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试 题的内涵 文中的大多数面试题来自各大论坛,部
2023-02-15
计算机毕业设计要求 一、选题要求学生要独立编写(编程语言不限)一个应用软件或较大软件中的一个模块,要 有足够的工作量,能够独立在
2023-02-15
中央广播电视大学 计算机信息管理专业毕业设计 学 校 教育层次 年 级 学 号 姓 名
2023-02-15
基于B/S模式的学生信息管理系统
2023-02-15
伴我汽车电商平台系统是全新汽车电商平台
2023-08-05
在线客服系统源码软件代码+自动回复+可生成接入+手机版管理后台
2023-04-23
云开发谁是卧底线下小游戏发牌助手微信小程序源码
2023-04-23
未来老婆查询生成器微信小程序源码 流量主系列
2023-04-23
小型医疗门诊挂号系统 医院管理系统后台thinkphp内核源码
2023-04-23
柒微自动发卡系统源码 (对接微信公众号)
2023-04-23
CI框架PHP漫画小说二合一CMS网站系统源码
2023-04-23
2023最新文件快递柜系统网站源码
2023-04-23
微信小程序云工具箱源码
2023-04-23
ChatGPT3.5小程序开源vue
2023-04-23
ThinkPHP v5.0.24 完整版
2023-04-23
PHP青苹果影视CMS系统
2023-04-23
微信小程序-餐饮点餐商城 微信小程序-餐饮点餐商城,是针对餐饮行业推出的一套完整的餐饮解决方案,实现了用户在线点餐下单、外卖
2023-02-15
微信小程序电商平台(前后端开源PHP),包含拼团,Fen销,多店,会员制,种草社交,新零售,社区团购等功能,整个系统架构非常简单
2023-02-15
运动场馆预约小程序是一款主要针对城市运动预约的工具类程序, 产品主要服务人群为20-45岁运动爱好者,程序前后端完整代码,包括场
2023-02-15
UrShop小程序商城 基于 微信小程序 + NetCore + layui 技术
2023-02-15
Jshop小程序uniapp前台简约模板 介绍 当前版本已支持可视化操作首页
2023-02-15
uniapp+若依 开发租房小程序
2023-02-15
凑热闹~王者荣耀战力小程序源码分享
2023-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人