- 博客(38)
- 收藏
- 关注
原创 一踩一个坑
在 async/await 的上下文中,虽然代码看起来是顺序执行的,但它其实是异步的,这意味着当你在 await 之后执行后续代码时,可能某些处理没有被完全同步,尤其是在与像 Cesium 这样的大型库进行交互时。then 与 await 虽然表现相同,但在某些情况下,then 是回调机制,会保证操作完成后才触发回调,而 await 在某些场景下可能会提前执行后续代码,造成逻辑上的一些不同步现象。异步函数的执行顺序问题。
2024-09-27 13:46:59
229
原创 TS 调试技巧
当你在使用TypeScript编辑器(如Visual Studio Code、WebStorm、Sublime Text等)时,如果跳转(如通过F12或Go to Definition)只是跳到了.d.ts(声明文件)而不是实际的源码,这通常是因为你的项目设置或依赖配置没有正确地指向源码。使用sourceMap: 如果.d.ts文件是通过编译TypeScript源码生成的,并且源码有sourceMap,则编辑器可能会使用这些sourceMap来跳转到源码。这允许你指定从.d.ts文件到实际源码的路径。
2024-07-24 00:17:10
566
原创 TS config
它提供了基本的模块解析行为,但在现代 TypeScript 项目中可能不是最佳选择,因为它不完全遵循现代模块系统的行为。它按照 Node.js 的标准模块解析规则来查找模块,适用于大多数基于 Node.js 的项目。这是目前最常用的模块解析策略之一。Node16: 这个选项与 Node 类似,但是它遵循的是 Node.js v16 及更高版本的模块解析规则。NodeNext: 这个选项遵循的是 Node.js 实验性模块解析规则,通常用于那些想要利用 Node.js 最新特性的项目。
2024-07-23 23:39:30
395
原创 观察者模式
发布订阅模式(Publish-Subscribe Pattern),也称为观察者模式,是一种常用的设计模式,用于对象之间的消息传递。在这个模式中,订阅者(Observer)注册到发布者(Subject),当发布者状态发生变化时,通知所有订阅者。
2024-07-23 18:18:55
493
原创 寄生组合式继承
寄生组合式继承(Parasitic Combination Inheritance)是 JavaScript 中实现继承的一种方式,它结合了组合继承和寄生继承的优点,同时避免了组合继承中的性能问题。组合继承会导致父类构造函数被调用两次,而寄生组合式继承通过使用原型链来避免这一问题。给子类添加一个调用父类构造函数的函数,并传递相应的参数。创建父类原型的一个副本,并将其赋值给子类的原型。修正子类的构造函数指针。
2024-07-23 18:10:03
438
2
原创 call apply bind 的实现
定义: 这段代码是在上定义了一个名为mybind的方法,目的是为了模拟 JavaScript 原生的功能。目标: 允许你将一个函数绑定到特定的上下文 (context) 并预先设置一些参数,从而返回一个新的函数,这个新函数在被调用时会使用预设的上下文和参数。
2024-07-23 17:54:41
363
原创 通视分析——cesium
Cesium是一款强大的开源JavaScript库,用于创建3D地球和地图。它可以在网页浏览器中高效地渲染海量的地理数据。Cesium的核心是其高度优化的渲染引擎,使其非常适合进行复杂的三维地理分析。确定进行通视分析的两个点的地理坐标。Cesium 的 pick 功能主要用于确定用户在场景中点击的位置对应的对象。这个功能在许多应用中都非常有用,例如交互式地图、3D 模型选择和数据可视化等。
2024-07-17 23:43:20
1727
原创 GIS开发——空间索引
在各种数据库系统中,地理空间索引的实现和使用方式可能略有不同,下面将介绍几种常见数据库系统中地理空间索引的基本概念和用法。索引的管理和优化:索引的存在会增加数据的存储空间和维护成本,同时过多或不必要的索引可能会导致插入、更新和删除操作的性能下降。一个表可以拥有多个索引:根据查询的需要和数据库设计的复杂性,一个表可以有多个不同的索引,每个索引针对不同的查询模式或者频繁使用的字段。混合索引:在一些数据库中,可以将空间索引与常规索引(如 B 树索引)结合使用,以优化复杂查询的性能。
2024-07-16 15:33:46
1200
原创 Vite的WebSocket
Socket:Socket 是传统的网络通信方式,使用 TCP(传输控制协议)或 UDP(用户数据报协议)进行点对点通信。API:Java 提供了 java.net 包中的 Socket 类和 ServerSocket 类来实现客户端和服务器之间的通信。WebSocket:WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,适用于需要实时通信的 Web 应用。API:Java 提供了 javax.websocket 包来实现 WebSocket 客户端和服务器。
2024-07-15 21:48:00
1349
原创 Vite切换主题
zougt/vite-plugin-theme-preprocessor 插件通过配置多主题的预处理器来帮助你在 Vite 项目中实现动态主题切换。dist/browser-utils 中的工具函数可以简化在浏览器端的主题切换逻辑。通过引入和调用这些函数,可以轻松实现基于按钮的主题切换功能。
2024-07-15 14:42:03
538
原创 生命周期的妙用——Vue3
Vue 3 引入了组合 API,增加了更多灵活性和更好的 TypeScript 支持,同时也保留了大部分 Vue 2 的生命周期钩子,使得开发者可以选择使用传统的选项 API 还是新的组合 API。通过对比,可以看到 Vue 3 的生命周期钩子和 Vue 2 的钩子有一定的对应关系,同时引入了新的钩子来增强调试和响应式功能。
2024-07-14 11:50:56
1162
原创 优雅的加载条——React版
React 应用中使用组件库的加载条(Loading Bar)并保持代码优雅,可以遵循以下步骤。以下示例将使用 Ant Design 组件库的 Spin 组件作为加载条示例,并通过组件化、状态管理和样式组织实现优雅的代码。
2024-07-14 10:30:59
827
原创 Tailwind CSS指南
PostCSS 插件Vite 使用 PostCSS 插件处理 CSS 文件。在构建过程中,PostCSS 解析你的 CSS 文件并将其转换为 Tailwind CSS 样式。JIT 模式Tailwind CSS 的 JIT 编译模式可以在开发过程中动态生成所需的样式类。这意味着只会生成你实际使用到的 CSS 类,从而减小最终的 CSS 文件大小并提高性能。并且Tailwind CSS 提供了方便的响应式设计工具。你可以通过添加断点前缀来指定不同屏幕尺寸下的样式。配置文件。
2024-07-13 16:53:14
1315
原创 嘿!openlayer(三)
OpenLayers 是一个开源的 JavaScript 库,用于构建丰富的地理信息系统(GIS)应用程序。它提供了多种核心类和功能,用于处理地图、图层、交互、源、视图等。以下是 OpenLayers 的一些类及其关系的详细说明。
2024-07-12 14:33:55
1941
原创 webGL——体现烟雾,火焰,喷泉不同粒子对象的主要因素
在计算机图形学和游戏开发中,烟雾、火焰和喷泉等效果通常通过粒子系统来实现。粒子系统是一种用于模拟复杂效果的方法,通过大量简单的粒子来创建复杂的视觉效果。不同的粒子效果主要通过以下因素来体现。
2024-07-12 13:36:10
594
1
原创 嘿! openlayer(二)
OGC(Open Geospatial Consortium,开放地理空间联盟)是一个国际性的组织,致力于制定和推广地理空间数据标准,以促进地理信息系统(GIS)和地理信息技术(GIT)的互操作性和应用发展。
2024-07-11 17:50:20
418
原创 嘿! openlayer
在地理信息系统(GIS)应用开发中,往往需要整合来自不同数据源的地理数据,以提供丰富的地图展示效果。OpenLayers 是一个强大的开源 JavaScript 库,能够帮助开发者轻松实现这一目标。本文将介绍如何使用 OpenLayers 集成和展示多源数据。OpenLayers 是一个高性能的开源 JavaScript 库,用于展示动态地图,它支持多种地图服务和数据格式,包括 WMS(Web Map Service)、WMTS(Web Map Tile Service)、GeoJSON、KML 等。
2024-07-11 17:05:48
1003
1
原创 Redis: 从入门到精通(三)
理解 Redis 源码可以帮助深入了解其内部工作原理和实现细节,以下是 Redis 源码结构和关键部分的简要讲解:Redis 的源码主要分为以下几个部分
2024-07-11 15:06:45
269
原创 Redis: 从入门到精通(二)
Redis 不仅仅是一个简单的缓存系统,而是一个功能强大的数据存储和处理平台,适用于各种需要高性能和实时性的应用场景。这里有Node.js结合Redis的常见示例
2024-07-11 11:53:50
201
原创 Redis: 从入门到精通
Redis 是一个开源的内存数据结构存储系统,可以用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、哈希、列表、集合、有序集合、位图、HyperLogLogs 和地理空间索引。本文将全面介绍 Redis 的基础知识、高级功能及其在实际项目中的应用。Redis 是一个强大的内存数据存储系统,适用于各种高性能和实时应用场景。通过学习和掌握 Redis 的基础知识、高级功能和实战技巧,可以在实际项目中充分利用其优势,提高系统性能和可靠性。希望本文能帮助你快速入门并深入了解 Redis。参考资料。
2024-07-11 11:41:23
3342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人