摘要:
## 前端学习C语言 - 开篇 前端学习C语言有很多理由:工作、兴趣或其他。 C 语言几个常见的使用场景: - `操作系统`开发:Linux 操作系统的内核就是主要由 C 语言编写的。其他操作系统也广泛使用 C 语言进行核心部分的开发。 - 系统级开发和嵌入式编程:C 语言具有强大的`底层`控制能力 阅读全文
摘要:
## 事件循环 本篇将对以下问题进行讨论: - 浏览器有事件循环,node 也有事件循环,两者有什么异同? - node 核心特性(事件驱动和非阻塞 I/O )和事件循环有什么关系? - node 中的高并发和高性能和事件循环有关系吗? - node 不适合什么场景? - 有人说 Node 是单线程 阅读全文
摘要:
NodeJs 实践之他说 作为前端,我们知道 node 在构建方面是成功的,我们也听说过全栈,那么 node 是否能应用在企业级的后端?一起来看一下腾讯视频的 NodeJs 改造。 Tip: 故事大概是 2018 年,主角杨浩,来源于: 背景 腾讯视频是一个内容型的网页。 在 2014 年以前使用的 阅读全文
摘要:
上传、下载和发布 前面我们已经完成了数据库的增删改查,在弄一个上传图片、下载 csv,一个最简单的后台开发就已完成,最后部署即可。 上传图片 需求 需求:做一个个人简介的表单提交,有昵称、简介和头像。后端能接收数据并保存到数据库。 接收不到数据 用 amis-editor(amis 低代码编辑器,更 阅读全文
摘要:
登录标识 系统通常只有登录成功后才能访问,而 http 是无状态的。倘若直接请求需要登录才可访问的接口,假如后端反复查询数据库,而且每个请求还得带上用户名和密码,这都是不很好。 作为前端,我们听过 cookie(session) 和 token,他们都是登录标识,各有特色,本篇都将完整实现。 Tip 阅读全文
摘要:
Node + Express 后台开发 —— 起步 前面陆续学习了一下 node、npm、模块,也稍尝试 Express,感觉得换一个思路加快进行。 比如笔者对前端的开发已较熟悉,如果领导给一个内部小网站的需求,难道说你得给我配置一个后端? 又不是做一个复杂的后端,只是简单的数据存储(增删改查)、上 阅读全文
摘要:
其他章节请看: 前端学习 node 快速入门 系列 项目版权格式化 需求 替换整个项目的版权信息,替换文件为 .c 和 .h 结尾。 分析 版权信息通常都在文件开头,通过是否有 copyright 来判断是替换版权还是新增版权 实现 通过 node 读取文件,过滤出 .c、.h 文件,然后用正则判断 阅读全文
摘要:
其他章节请看: 低代码 系列 中后台集成低代码预研 背景 笔者目前维护一个 react 中后台系统(以 spug 为例),每次来了新的需求都需要前端人员重新开发。 前面我们已经对低代码有了一定的认识,如果能通过一个可视化的配置页面就能完成前端开发,将极大的提高前端(或后端)的效率。甚至能加快企业内部 阅读全文
摘要:
其他章节请看: webgl 系列 着色器语言 本篇开始学习着色器语言 —— GLSL全称是 Graphics Library Shader Language (图形库着色器语言) GLSL 是一门独立的语言,和其他语言一样有自己的变量、运算符、函数、循环(for)、控制语句(if)、函数、数组等等。 阅读全文
摘要:
其他章节请看: webgl 系列 绘制猫 上文我们了解了如何绘制渐变彩色三角形,明白了图形装配、光栅化,以及片元着色器计算片元的颜色。 现在如果让你绘制如下一只猫。难道绘制很多三角形,然后指定它们的颜色?那样简直太难、太繁琐了。 这时可以使用三维图形学中的纹理映射技术来解决这个问题。 纹理映射简单来 阅读全文
摘要:
其他章节请看: webgl 系列 渐变三角形 本文通过一个渐变三角形的示例逐步分析:varying变量、合并缓冲区、图形装配、光栅化、varying 内插 绘制三个点v1 需求:绘制三个相同颜色的点,效果如下: 通过三角形的学习,这个需求非常容易实现。代码如下: const VSHADER_SOUR 阅读全文
摘要:
其他章节请看: webgl 系列 变换矩阵和动画 动画就是不停地将某个东西变换(transform)。例如将三角形不停地旋转就是一个动画 和 CSS transform 类似,变换有三种形式:平移、缩放和旋转。 简单的变换用普通表达式容易实现,如果事情复杂,比如旋转后平移,这时就可以使用变换矩阵。 阅读全文
摘要:
webgl 背景 工作所需... 目录 初识 WebGL 绘制一个点 三角形 变换矩阵和动画 渐变三角形 绘制猫 着色器语言 阅读全文
摘要:
其他章节请看: webgl 系列 三角形 有人说三维模型的基本单元是三角形。比如复杂的游戏角色,也只是用许多三角形画出来的。 不管上述说法是否属实,本篇先把三角形画出来。 如何绘制一个三角形 鼠标点击绘点示例我们写了这样的代码: points.forEach(item => { gl.vertexA 阅读全文
摘要:
其他章节请看: webgl 系列 绘制一个点 我们初步认识了 webgl,本篇主要围绕绘制一个点的示例,逐步实现下面功能: 点的位置从 js 传入着色器 点的大小由 js 传入着色器 通过鼠标点击绘点 通过鼠标点击绘点,并改变点的颜色 绘制一个点(版本2) 需求 在上篇中我们在canvas中心绘制了 阅读全文
摘要:
其他章节请看: webgl 系列 初识 WebGL 什么是 WebGL webgl 在支持 canvas 的浏览器中进行 2d 或 3d 渲染。 webgl 程序除了有 Html、javascript,还需要加入着色器语言(GLSL ES)。 WebGL 使得网页在支持 HTML <canvas> 阅读全文
摘要:
其他章节请看: react 高效高质量搭建后台系统 系列 尾篇 本篇主要介绍表单查询、表单验证、通知(WebSocket)、自动构建。最后附上 myspug 项目源码。 项目最终效果: 表单查询 需求:给角色管理页面增加表格查询功能,通过输入角色名称,点击查询,从后端检索出相应的数据。 效果如下: 阅读全文
摘要:
其他章节请看: react 高效高质量搭建后台系统 系列 权限 本系列已近尾声,权限是后台系统必不可少的一部分,本篇首先分析spug项目中权限的实现,最后在将权限加入到我们的项目中来。 spug 中权限的分析 权限示例 比如我要将应用发布模块的查看权限分给某用户(例如 pjl),可以这样操作: 在角 阅读全文
摘要:
其他章节请看: react 高效高质量搭建后台系统 系列 表格 有一种页面在后台系统中比较常见:页面分上下两部分,上部分是 input、select、时间等查询项,下部分是查询项对应的表格数据。包含增删改查,例如点击新建进行新增操作。就像这样: 本篇将对 ant 的表格进行封装。效果如下: spug 阅读全文
摘要:
其他章节请看: react 高效高质量搭建后台系统 系列 系统布局 前面我们用脚手架搭建了项目,并实现了登录模块,登录模块所依赖的请求数据和antd(ui框架和样式)也已完成。 本篇将完成系统布局。比如导航区、头部区域、主体区域、页脚。 最终效果如下: spug 中系统布局的分析 spug 登录成功 阅读全文