博客v0.8迭代记录
发表于 | 分类于 博客
一拖再拖,终于将博客升级到了v0.8.0
,主要涉及到底层框架react-vue
、服务接口vite ssr
、项目管理pnpm monorepo
和部署方式docker compose
等方面的改动,感觉可以记录一下。
使用cocos实现Cramped-Room-Of-Death
发表于 | 分类于 游戏
最近发现了一个cocos宝藏教学 [CocosCreator游戏开发教学]Steam游戏《Cramped Room Of Death》复刻教程(已完结),学到了很多东西。本文主要记录一下相关的收获
自定义React中JSX的Element类型
在react-vue中,我定义了一种setup式的函数组件,这种组件返回的是一个render函数,因此在tsx
中需要实现一种新的JSX.Element,否则会出现函数组件返回值类型冲突的问题。本文主要探究如何解决这个问题。
实现一个类React的Vue3框架
发表于 | 分类于 技术原理
上一次使用NeZha
重构博客大概是三年以前了,最近打算迭代一下,于是想着写一个融合Vue3
和React
风格的小玩具,名字也没想好(也许就叫做react-vue
了)。本文主要记录一下相关的开发过程。
初识Java多线程编程
在前端开发工作中,基本上没有接触到多线程编程,最近在整理Android开发,感觉需要深入地学习一下多线程的知识,因此整理了一下Java中的多线程编程知识点。
flutter布局计算规则
之前主要是负责Web开发的,在刚开始写Flutter
的时候很容易把Container
组件当成div
标签来使用 ,以至于在碰到Container(width:100,height:100,color:Colors.red)
,代码并没有按预期展示宽高各100的元素时感到非常诧异。
后来查阅了相关文章之后,终于了解到:Flutter与Web浏览器的布局差异非常之大!本文主要整理Flutter渲染流程中的布局计算规则。
一个基于远程模块的低代码平台
发表于 | 分类于 技术原理
在之前关于低代码平台的思考这篇文章中,我提出了一种使用”动态渲染异步组件“来规避组件化低代码平台扩展性较差问题的思路,基于这个思路,又研究了在线预览Vue组件和使用vite加载远程模块等问题的实现,最终实现了一个支持加载远程组件的低代码平台,非常有意思,本文主要记录相关的思路和实现原理。
Docker部署monorepo项目
最近在使用pnpm和monorepo搭建一个前后端项目,为了方便部署,决定统一走Docker环境,本文主要记录整个过程中遇到的一些问题。
在markdown中支持可交互组件
发表于 | 分类于 技术原理
编写markdown文档时,有时候希望直接展示一个可交互的组件,类似于ElementUI
、Antd
等主流的组件库的文档交互。由于vite已经逐渐取代webpack称为组件库开发的流行方式,本文将研究一种使用vite插件实现在markdown中实现可交互组件的思路。
富文本编辑器Quill源码分析
发表于 | 分类于 源码分析
最近在产品中遇到了定制富文本编辑器的场景,发现quill比较符合业务需求。在后续的开发中发现quill
的使用体验和扩展性都比较好,源码也比较简洁,因此决定看一下quill
的源码。
Tree-Shaking原理
JavaScript
文件的大小是前端性能优化中非常重要的一部分。
Tree Shaking
是一个用于优化JavaScript
代码体积的技术,主要通过在构建过程中移除未使用的代码,从而减小最终打包文件的大小,提高网页加载速度和性能。
浅谈各种MVX架构
发表于 | 分类于 编程技术
在Android、iOS以及Web前后端开发中,总是会接触到MVC、MVP、MVVM等术语,虽然很早以前就查阅了相关的概念并牢记于心(面试专用),但对于其中的设计思想实际上并没有很好的理解。本文尝试记录自己关于各种MV*架构的一点思考。
关于TailwindCSS的一些思考
tailwindcss是一个工具类(原子类)优先的 CSS 框架,与bootstrap、bulma等组件类框架不同,tailwind 自身并没有提供可以直接使用的组件类如.btn-primary
、.table
,而是提供了诸如px-4
、text-sm
等原子类,由开发者通过组合的形式构建页面样式。
本文将先介绍样式类的编写变化,然后介绍 tailwind 的使用体验,以及关于现在是否能够将原子类用在生产项目中的一些思考。
游戏AI的一些概念
发表于 | 分类于 游戏
游戏AI是游戏开发中非常重要的一环,在很大程度上也决定了游戏性。
这里的AI
并不是深度学习、强化学习等理论AI,而是游戏中非玩家控制的角色,在游戏运行时自动做出某些看起来比较智能的行为。
比如笔者比较喜欢的《孤胆枪手》这款游戏,游戏中形形色色的外星怪物,会源源不断地朝玩家涌来,试图攻击并杀死玩家,在玩家控制角色移动位置后,怪物也会自动调整行动路线并继续攻击。这些怪物就是比较典型的游戏智能体。
因此,本文主要研究游戏AI中涉及到的概念,以及一些基础功能的研究和实现。
使用vite加载远程模块
发表于 | 分类于 技术原理
在上一篇文章中提到了在线预览Vue组件,后面思考了一下,如果能在现有项目中加载远程模块,可以更方便地解决低代码编辑自定义组件的问题。本文沿着这个思路,尝试实现在vite中加载远程模块
初识SwiftUI
最近几年声明式UI的风在客户端也非常流行,Android有jetpack compose
,iOS有Swift UI
,本文决定尝试使用一下SwiftUI,看看开发体验如何,稍作记录
一种在线预览Vue组件的思路
发表于 | 分类于 技术原理
最近在研究一些低代码平台,设想了一种面向开发者的低代码编辑器,本文是印证这个想法的第一步,即在线预览单个组件文件。本文以Vue技术栈为例,尝试实现一个可以在线预览Vue组件的功能。
前端开发环境热更新实现原理
发表于 | 分类于 技术原理
热更新是现代前端开发环境中必不可少的一项,本文整理了一些打包工具parcel
、webpack
和vite
热更新的使用机制,同时了解热更新的实现原理。