- 博客(133)
- 资源 (11)
- 收藏
- 关注

原创 阮一峰科技爱好者周刊(第 325 期)推荐工具:一个基于 Next.js 的博客和 CMS 系统
近期,阮一峰在科技爱好者周刊第 325 期中推荐了一款开源工具——ReactPress,ReactPress一个基于 Next.js 的博客和 CMS 系统,可查看 demo站点。(@fecommunity 投稿)
2024-11-16 22:13:23
1415

原创 ReactPress与WordPress:两大开源发布平台的对比与选择
在当今数字化时代,内容管理系统(CMS)已成为各类网站和应用的核心组成部分。两款备受欢迎的开源发布平台——ReactPress和WordPress,各自拥有独特的优势和特点,吸引了众多开发者和内容创作者的关注。以下是二者的详细介绍,包括它们的网址,以帮助读者更好地了解两者之间的差异,以便做出明智的选择。
2024-11-13 22:43:05
1095

原创 ReactPress:基于React + AntDesign 5.0 的简约时尚的博客&CMS内容发布系统
此项目是基于 React + antd + NestJS + NextJS + MySQL 的,项目已经开源,项目地址在 github 上,喜欢的,欢迎给个 star。
2024-11-11 21:42:21
2466
1

原创 ReactPress:构建高效、灵活、可扩展的开源发布平台
在当今数字化时代,内容管理系统(CMS)已成为各类网站和应用的核心组成部分。ReactPress,作为一款融合了现代Web开发多项先进技术的开源发布平台,正以其卓越的性能、灵活性和可扩展性,赢得了广大开发者和内容创作者的青睐。
2024-11-08 21:50:36
1139

原创 【VIP视频网站项目一】搭建视频网站的前台页面(导航栏+轮播图+电影列表+底部友情链接)
首先来直接看一下最终的效果吧:项目地址:https://github.com/xiugangzhang/vip.github.io在线预览地址:https://xiugangzhang.github.io/vip.github.io/index.html目前视频网站已经实现了前台页面所有数据从后台数据库的读取,由于Github上面只能查看到静态的页面,对于动态网站还是不支持的,这个等待...
2018-09-09 12:31:01
10627
1

原创 【JavaScript游戏开发】使用HTML5 canvas开发的网页版中国象棋项目
//V1.0 : 实现棋子的布局,画布及游戏场景的初始化//V2.0 : 实现棋子的颜色改变//V3.0 :实现所有象棋的走棋规则//V4.0 : 实现所有棋子的吃子功能完整的项目源码已经开源:https://github.com/xiugangzhang/ChineseChess项目在线预览地址:http://htmlpreview.github.io/?https://gi...
2018-08-21 12:41:10
1681
1

原创 【JavaScript框架封装】使用原生js封装的类似于JQuery的框架及核心源码分享(多文件版本)
这个版本的JQuery是对上一个版本的JQuery,使用了require.js进行了二次封装,基本上把前面的每一个框架封装成为一个单独的模块,最终的目录结构如下:由于代码量和目录比较多,这个封装好的代码和目录已经全部上传到GitHub上面,需要的同学可以前往下载哈。https://github.com/xiugangzhang/JavaScript-Xframe【main.js】这...
2018-07-22 17:42:38
2424

原创 WEBGL学习【十】运动模型
<!DOCTYPE HTML><html lang="en"><head> <title>LWEBGL6.2, Animated WebGL Scene with Key Input.</title> <script src="./lib/webgl-debug.js"></script> ...
2017-11-12 17:07:10
1812
1
原创 ReactPress 标签云实现原理和代码解析
ReactPress的标签云实现通过纯JavaScript和DOM操作,实现了标签的初始化、位置计算和动画效果。这种实现方式虽然灵活,但在React项目中,更推荐将逻辑封装为React组件,利用React的状态管理和生命周期方法,实现更简洁和可维护的代码结构。通过本文的介绍,希望读者能够理解标签云的实现原理,并能在此基础上进行自定义和优化,以适应不同的应用场景。
2024-12-22 16:49:05
876
原创 ReactPress 1.6.0:重塑博客体验,引领内容创新
ReactPress 1.6.0版本的发布,标志着我们在博客平台的发展道路上又迈出了坚实的一步。我们深知,每一次更新都离不开用户的支持和反馈。因此,我们诚挚地邀请广大用户试用新版本,并提出宝贵的意见和建议。我们相信,在大家的共同努力下,ReactPress一定能够成为更加优秀、更加受欢迎的博客平台。未来,我们将继续致力于技术创新和用户体验优化,为博主和用户提供更加便捷、高效、美观的博客解决方案。让我们携手共进,共同打造更加美好的数字世界!ReactPress,让博客创作与分享变得更加简单、快乐!
2024-12-22 13:15:27
1315
原创 浏览器的跨域问题与解决方案
跨域问题的核心是请求不同源。例如,如果一个网页试图通过Ajax请求访问另一个域名的数据,而这两个域名不同源,那么请求将被浏览器阻止。在这些示例中,CORS和JSONP直接在服务器端和客户端之间工作,而代理服务器则作为一个中间层,将客户端的请求转发到目标服务器,并将响应返回给客户端。标签,并向服务器传递一个回调函数名,服务器在返回数据时,将这个回调函数名作为函数调用的前缀,从而实现跨域通信。总之,跨域问题是Web开发中常见的一个问题,但通过合理的解决方案,可以有效地实现跨域通信,满足实际应用的需求。
2024-12-15 13:51:34
1135
原创 cookie和session的主要区别
登录网站,第一天输入用户名密码登录了,第二天再打开很多情况下就直接打开了。这个时候用到的一个机制就是cookie。
2024-12-01 21:17:44
443
原创 使用ReactPress搭建的博客网站,欢迎大家吐槽提建议
ReactPress一个基于 Next.js 的博客和 CMS 系统,可查看。目前基于ReactPress源码搭建了一个网站:http://blog.gaoredu.com/欢迎大家提出宝贵的建议。
2024-11-30 17:40:11
604
原创 实现乱序函数?(面试常考)
v8 为例,v8 在处理 sort 方法时,当目标数组长度小于 10 时,使用插入排序;反之,使用快速排序和插入排序的混合排序。
2024-11-26 23:54:10
293
原创 ReactPress部署指南:为技术小白量身定制
ReactPress部署指南:为技术小白量身定制ReactPress是一个开源的发布平台,它基于React构建,用户可以在支持React和MySQL数据库的服务器上设置自己的博客和网站。ReactPress功能强大,包括博客管理、文章阅读、移动适配、组件化、国际化、主题切换、创作管理、页面管理、评论管理、媒体管理等。本文将详细介绍如何为技术小白部署ReactPress。
2024-11-26 23:01:09
1129
原创 经典面试题—操作系统进程与线程的区别?
NOTE]多个进程在运行过程中因争夺资源而造成的一种僵局。当一个进程请求资源时,如果该资源不能立即获得,那么进程就会进入等待状态。如果一个处于等待状态的进程 P1,由于所等待的资源被另一个处于等待状态的进程 p2 所占有,而 p2 所请求的资源又被 p1 占有,这样它们所请求的资源都不会获得,两进程一直处于等待状态,形成死锁。
2024-11-24 22:31:20
1144
原创 ReactPress(阮一峰推荐工具):一款基于Next.js的免费开源博客&CMS系统
此项目包含前台展示、管理后台和后端。此项目是基于 React + antd + NestJS + NextJS + MySQL 的,项目已经开源,项目地址在 github 上,喜欢的,欢迎给个 star。
2024-11-24 13:18:26
1954
1
原创 深入探索:JavaScript中实现乱序函数的艺术
乱序函数在JavaScript编程中具有广泛的应用场景,而Fisher-Yates洗牌算法则是实现这一功能的最常用和最可靠的算法之一。通过理解算法的原理和实现方法,我们可以轻松地编写出高效且可靠的乱序函数,并在实际项目中加以应用。同时,我们也可以考虑使用第三方库来简化代码和提高代码的可维护性。希望本文能够帮助你深入理解JavaScript中的乱序函数,并在你的编程实践中发挥出更大的作用。
2024-11-23 23:36:17
591
原创 深入探索:JavaScript中如何准确判断两个对象相等?—— 从0.1 + 0.2问题谈起
判断两个对象是否相等在JavaScript中是一个复杂的问题,特别是当涉及浮点数和复合类型时。理解JavaScript中的相等性判断机制。使用epsilon比较来处理浮点数精度问题。实现或使用深度相等检查函数来比较对象和数组的内容。考虑使用第三方库来简化比较过程。通过掌握这些技巧,我们可以更加准确地判断对象的相等性,避免在JavaScript编程中遇到一些常见的陷阱。
2024-11-23 23:34:15
976
原创 封装实现通用的 `forEach` 函数:深入JavaScript的迭代机制与细节优化
通过封装实现一个通用和健壮的forEach函数,我们不仅加深了对JavaScript迭代机制的理解,还提高了自己的编程能力和对函数式编程的掌握。在实际开发中,虽然我们可以直接使用JavaScript原生的forEach方法,但了解并掌握其背后的实现原理以及可能的扩展和优化点,对于我们成为更优秀的开发者是非常有帮助的。
2024-11-22 23:54:41
419
原创 Mono Repository方案与ReactPress的PNPM实践
ReactPress作为一个基于React的开源发布平台,通过采用Monorepo和PNPM的实践,实现了高效的代码管理和依赖管理。PNPM的高效存储、快速安装和严格依赖管理功能,为ReactPress项目的开发提供了有力的支持。未来,随着ReactPress项目的不断发展壮大,相信PNPM将会在其中发挥更加重要的作用。通过本文的介绍和代码示例,读者可以了解到Monorepo方案和PNPM在ReactPress项目中的应用和实践。希望这些内容能够为读者在大型项目和跨团队协作中提供有益的参考和借鉴。
2024-11-22 23:38:48
946
原创 Javascript高级—深入JS模板字符串的高级用法
标签模板是模板字符串的高级特性之一,它允许我们定义一个函数来处理模板字符串。这个函数会接收两个参数:一个是由模板字符串中的文本部分组成的数组,另一个是由模板字符串中的表达式部分组成的数组。通过这两个参数,我们可以实现自定义的字符串处理逻辑。// 输出: [ 'Hello, ', ' world ', '!' ]// 输出: [ 'Alice', 30 ]return `${// 输出: [ 'Hello, ', ' world ', '!
2024-11-21 23:39:19
576
原创 Javascript高级—JS Generator执行细节分析(co库底层实现原理)
Generator函数是一种特殊的函数,它允许在函数执行过程中暂停和恢复。与普通函数不同,Generator函数不会立即执行完毕,而是返回一个迭代器对象。这个迭代器对象具有一个next方法,用于恢复函数的执行并返回结果。定义一个Generator函数非常简单,只需在函数声明前加上一个星号()即可。yield 1;yield 2;return 3;在这个例子中,gen是一个Generator函数,它返回一个迭代器对象iterator。当我们调用时,函数会执行到第一个yield语句并暂停,返回。
2024-11-21 23:36:37
857
原创 Javascript高级—for of 与迭代器
迭代器对象: 所谓迭代器,其实就是一个具有 next() 方法的对象,每次调用 next() 都会返回一个结果对象,该结果对象有两个属性,value 表示当前的值,done 表示遍历是否结束。
2024-11-20 23:58:40
322
原创 ReactPress:基于pnpm的Mono Repository方案介绍
ReactPress是一个使用React和Node.js构建的开源发布平台,它允许用户在支持React和MySQL数据库的服务器上设置自己的博客和网站。ReactPress采用Mono Repository方案来管理项目的依赖和代码结构,其中pnpm作为包管理器发挥了关键作用。Mono Repository(单一仓库)是一种软件开发实践,它将多个项目或模块放在同一个仓库中进行管理。这种方式有助于简化依赖管理、促进代码复用和增强项目的可维护性。
2024-11-20 23:42:32
1511
原创 JavaScript 高级—模拟实现私有变量(面试必备技能)
在 JavaScript 中模拟私有变量虽然需要一些额外的技巧,但通过使用闭包和Symbol,我们可以实现类似的效果。这些技巧不仅有助于提升代码的安全性,还能在面试中展示出你对 JavaScript 的深入理解。无论你是初学者还是经验丰富的开发者,掌握这些技巧都将对你的编程技能产生积极的影响。
2024-11-19 18:49:10
443
原创 JavaScript 高级—求数组的最大值与最小值
Math.max和Math.min配合apply或扩展运算符是最简单和推荐的方式,而手动遍历数组的方法则提供了更多的灵活性和可定制性。无论你选择哪种方法,都可以轻松地在 JavaScript 中找到数组的最大值和最小值。希望这篇文章能帮助你更好地理解数组操作,并在实际编程中加以应用。
2024-11-19 18:45:27
577
原创 Javascript高级:深度解析与多种实现方式数组扁平化
在JavaScript编程中,数组扁平化是一个常见的操作,指的是将一个多维数组转换成一个一维数组。这个过程中,所有嵌套的数组元素都会被“拉平”到同一个层级。数组扁平化在处理嵌套数据结构时非常有用,比如解析多层嵌套的JSON数据,或者处理从函数返回的嵌套数组结果。综上所述,数组扁平化是处理嵌套数据结构的重要操作之一。通过选择合适的方法,可以高效地实现数组扁平化,从而简化数据处理过程。通过递归函数,可以遍历每一层数组,并将其元素添加到结果数组中。方法也可以用来实现数组扁平化,结合递归可以处理任意深度的嵌套。
2024-11-18 20:19:59
254
原创 技术探索:ReactPress 与 VuePress 的 WordPress 的角逐
ReactPress是一个基于React的开源发布平台,适用于搭建博客、网站或内容管理系统(CMS)。它以React为核心,特别适用于构建单页应用(SPA)和复杂的Web应用。ReactPress基于React+NextJS+MySQL 5.7+NestJS构建,采用了前后端分离的设计模式,使得前端和后端可以独立开发、部署和扩展,从而提高了开发效率和系统的可维护性。ReactPress的组件化开发模式使得开发者可以轻松地添加、修改或删除组件,以满足不断变化的需求。
2024-11-18 20:17:57
1651
原创 Javascript高级—数组去重的5种方式
数组去重是 JavaScript 编程中的一个常见需求,有多种方法可以实现。Set数据结构因其简洁和高效,通常是首选的方法。filterindexOfreduceforEach+ 临时对象以及Map也可以实现数组去重,但各有优缺点。选择哪种方法取决于具体的需求和性能考虑。在实际开发中,可以根据具体情况选择最适合的方法来实现数组去重。
2024-11-17 17:29:21
193
原创 Javascript高级—Arguments参数如何使用?
arguments的应用其实很多,在下个系列,也就是 JavaScript 专题系列中,我们会在 jQuery 的 extend 实现、函数柯里化、递归等场景看见 arguments 的身影。
2024-11-16 21:53:54
194
原创 Javascript高级—Arguments参数如何使用?
arguments的应用其实很多,在下个系列,也就是 JavaScript 专题系列中,我们会在 jQuery 的 extend 实现、函数柯里化、递归等场景看见 arguments 的身影。
2024-11-15 20:22:15
160
2018最新MySql+oracle+mongodb数据库调优全套视频教程
2018-09-01
2018最新Linux+NGINX服务器编程全套最新视频教程【代码+文档+视频】
2018-09-01
webgl视频教程+学习资料
2018-03-22
2018JavaScript最新高级编程完整版
2018-03-21
《HTML5+Canvas核心技术图形动画与游戏开发》.((美)David+Geary).pdf
2018-04-06
2018慕课网精品视频教程【数据结构+算法+项目实战】
2018-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人