Web开发
文章平均质量分 91
fanged
野生程序员。。。这里主要是一些学习笔记和心得。。。
注:标题带TODO的内容都是未完成,内容有可能不准确。觉得有帮助请:https://ko-fi.com/fanged
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Nginx的基本使用
本文简要总结了Nginx的安装配置与基本操作。通过apt命令安装Nginx后,介绍了服务状态查看、启停管理等systemctl命令。重点说明了配置文件的创建方法,包括设置监听端口、根目录以及解决文件权限问题。此外,还演示了反向代理的配置过程,通过proxy_pass指令将82端口的请求转发到81端口,并解释了反向代理在安全防护和负载均衡方面的作用。全文提供了Nginx基础使用的实用指导,涵盖从安装到基本配置的关键步骤。原创 2025-12-03 01:16:13 · 717 阅读 · 0 评论 -
GIS的坐标系统
文章摘要:GIS中常用坐标系包括WGS84(全球通用)、WebMercator(2D地图)、GCJ-02(国内加密)和BD-09(百度加密)。实验显示不同地图平台(百度、高德、Google、Cesium)采集同地点坐标存在明显偏差(200-900米),主要源于坐标系差异。海外平台多采用WGS84,误差较小(约10米)。坐标采集精度取决于设备:手机定位误差3-10米,RTK可达厘米级。建议根据项目精度需求选择采集方式,普通地图取点误差较大,高精度项目需专业设备。原创 2025-10-22 16:48:12 · 1103 阅读 · 0 评论 -
Web的iframe
这篇文章探讨了HTML中iframe标签的实际工作原理。作者通过实验发现,iframe并非如预期那样抓取远程HTML内容并嵌入,而是相当于在页面内创建一个独立的子浏览器窗口来加载指定网址。这种实现方式展现了现代浏览器的先进特性,与传统的爬虫式内容抓取有本质区别。文章以简洁的代码示例清晰地展示了这一技术特点。原创 2025-10-22 00:57:11 · 144 阅读 · 0 评论 -
Cesium6--数据更新
Cesium支持两种数据更新方式:历史数据还原和实时数据更新。历史数据主要通过DataSourceCollection处理,如CZML格式文件可还原卫星/车辆轨迹。CZML采用JSON结构,包含时间戳、坐标点等关键信息,支持插值计算实现平滑运动。此外,Cesium还支持GeoJSON、KML等静态地理数据格式,以及I3S三维场景格式。对于实时数据,可通过WebSocket/MQTT/REST协议传输,示例展示了如何建立WebSocket服务器模拟位置数据,并在客户端实时更新3D场景中的实体位置。开发者可根据原创 2025-09-17 01:52:44 · 490 阅读 · 0 评论 -
Cesium5--官方地形
本文介绍了Cesium三维地球开发环境的配置和核心功能实现。首先说明了两种运行方式(Python http.server和npm),并给出了一个加载3DTiles模型的典型代码示例。文章详细解析了Cesium的核心类:Viewer(地球容器)、Scene(场景控制)、Camera(视角操作)、Globe(地球本体)等。重点分析了地形系统的实现,包括多种地形数据源的切换(Cesium World Terrain、Ellipsoid、自定义高度图等),以及地形光照、水面效果等特性的配置方法。最后展示了通过坐标控原创 2025-09-14 13:12:23 · 282 阅读 · 0 评论 -
Cesium4--地形(OSGB到3DTiles)
本文介绍了OSGB格式及其在国产地理信息项目中的应用,指出国产软件存在使用门槛高、体验差的问题。作者尝试使用CesiumLab、SuperMapiDesktop和老子云等工具进行格式转换,均遭遇注册繁琐、功能限制等障碍。通过分析3DTiles的JSON结构,说明其通过分块存储和LOD管理实现大规模模型加载。最终虽成功用Cesium加载模型,但仍需处理方向调整等问题。整个过程暴露出国内三维数据处理工具在易用性方面的不足。原创 2025-09-14 11:51:52 · 527 阅读 · 2 评论 -
Cesium3--地形(点云建模)
CloudCompare 是一款基于 C++ 和 Qt 开发、跨平台(Windows/Linux/macOS)的开源 3D 点云与三角网格处理软件,遵循 GPL 协议。核心功能包括点云 — 点云 / 点云 — 网格的距离计算、ICP 配准、重采样、颜色 / 法线 / 标量场处理、统计分析、交互式与自动分割等。支持 PLY、OBJ、STL、LAS、E57 等多种格式,并通过插件扩展功能。界面简洁直观,广泛应用于测绘、工程、科研与逆向工程等领域。2.2 泊松重建PoissonRecon。4 Cesium导入。原创 2025-09-14 02:26:28 · 457 阅读 · 0 评论 -
Cesium2--自建模型(Blender的使用)
本文介绍了Blender在数字孪生中的应用。作为一款免费开源的3D建模工具,Blender适合制作静态模型并导出为GLB/GLTF格式。文章重点讲解了基础操作(移动/旋转/缩放等)、建模流程(以造桥为例)及导出注意事项,包括材质设置、修改器应用等。同时对比了Blender渲染与Web渲染的区别,指出数字孪生中实际由WebGPU引擎完成渲染。最后演示了如何通过Cesium加载Blender制作的模型,并提供了简单桥模型的完整制作步骤,强调建模时应注重实际尺寸把控和材质兼容性。原创 2025-09-07 03:44:05 · 472 阅读 · 0 评论 -
从声纳到Web3D展示(TODO)
本文探讨了多波束声纳数据的处理与3D建模方法。使用加州海峡群岛公开的XYZ格式声纳数据(包含经度、纬度和水深信息),通过QGIS和Python两种方式将其转换为GeoTIFF格式的DEM模型,并比较了IDW插值算法的效果差异。文章详细阐述了点云数据与栅格数据的区别,以及LAS/LAZ二进制点云格式的结构特点,提供了通过PDAL工具和Python代码实现XYZ到LAS格式转换的具体方法。最后介绍了将处理后的数据转换为3DTiles格式以支持Web端三维展示的技术路径,包括在Cesium平台上的应用实践。整个流原创 2025-07-26 01:09:15 · 363 阅读 · 0 评论 -
Angular3--Thingsboard实例
本文介绍了VSCode调试Angular环境搭建、Angular Material组件库使用以及Thingsboard前端代码结构。首先详细说明了VSCode调试环境的配置方法,包括插件安装和launch.json设置。其次介绍了Angular Material组件库的功能特点,包含表单控件、布局组件等各类UI组件及其安装方式。最后重点分析了Thingsboard前端代码的模块化架构,包括app/modules功能模块划分、services服务层设计、shared共享组件以及core核心功能等目录结构,为理原创 2025-07-16 01:11:28 · 350 阅读 · 0 评论 -
小型CI/CD搭建(TODO)
因为是在国内,所以gitbub Actions,Azure DevOps这些就直接拜拜了。目前主流的大概是三种:1 阿里云效/腾讯云CODING以前我这边是用过Jenkins的方案,不过感觉这个比较重型,人员投入不少。据说GitLab要轻量一下。至于阿里云效,感觉也是一个不错的选择,这样用的话会省下运维的成本,此外支持也会比自建更好。但是貌似现在用的人比较少,后面再观察观察吧。所以这次还是重点基于GitLab搭建。原创 2025-06-24 01:25:21 · 700 阅读 · 0 评论 -
PostgreSQL基本操作
记得在我刚开始工作的时候,最流行的还是MySQL,现在一天铺天盖地都是PostgreSQL。查了一下原因,大概是2个。1 在2009年的时候被Oracle收购。2 2010年,PostgreSQL9又突然爆发了。不管是特性还是性能都猛涨,对json,GIS还有时间数据支持更强了,更符合现在业务的需求。原创 2025-06-23 00:24:28 · 365 阅读 · 0 评论 -
Angular1--Hello
以angular.module('myApp', [])开始,以div的作用域为控制器,在里面可以初始化,设置变量。div用ng-controller修饰,数据用ng-model,按键是ng-click,变量用双括号套住直接写变量名。由此可见, AngularJS的典型结构就是两部分。原创 2025-06-19 14:21:24 · 307 阅读 · 0 评论 -
SpringBoot2--一些关键知识点
整理一下重要的前置知识。 内置注解@Override@Deprecated@SuppressWarnings主要是给编译器用的,好像用处也不是很大。元注解就是注解的注解@Target@Retention@Documented@Inherited@Repeatable (Java 8+)@NonNull自定义注解AnnotationProcessor.javaBusinessService.java Loggable.java编译:运行:这里可以看出,一个自定义注解原创 2025-06-04 01:14:23 · 276 阅读 · 0 评论 -
构建系统maven
本文介绍了Maven构建工具的基础使用和核心概念。主要内容包括:1)Maven的四大功能(依赖管理、项目构建、标准化结构和生命周期管理);2)典型POM文件配置和构建生命周期(clean、default、site);3)实际应用示例:创建简单Java项目、添加Gson依赖、打fat包;4)Maven与其他构建工具(Gradle、Make等)的对比表,分析了各工具的特点和适用场景。文章还展示了Maven自动下载依赖的特性,虽然初次构建较慢但能简化开发流程。对于Java开发者,Maven仍是主流选择之一。原创 2025-06-01 22:47:57 · 1313 阅读 · 0 评论 -
Angularjs-Hello
《AngularJS与SpringBoot前后端开发实践》 摘要:本文记录了使用AngularJS与SpringBoot实现前后端分离的开发过程。首先对比了主流前端框架的特性,AngularJS作为Google支持的全功能框架具有双向绑定等特性。后端通过SpringBoot提供API接口,重点解决了跨域访问问题(使用@CrossOrigin注解)和JSON数据格式转换。前端部分采用npm管理依赖,通过lite-server运行AngularJS应用,实现与后端API的数据交互。文中详细展示了package.原创 2025-05-31 14:03:23 · 1233 阅读 · 0 评论 -
ThingsBoard(1)(安装和基本运行篇)
也是最近要用到的项目,所以总结学习一下。中文教程,不过主要偏使用。系统架构图:可以看出也是典型的IOT系统架构。但是支持多种数据传输,MQTT,HTTP,CoAP等等。此外,内部消息做了Queue,也有Rule Engine这些东西。总体来说完成度还是很高的。一个thingsboard传输的流程:[ 现场传感器设备 ]│ 模拟/RS485/Modbus-TCP 传感器 ││(采集)▼│ 边缘计算设备 ││(Node-RED网关) │。原创 2025-05-13 14:34:34 · 650 阅读 · 0 评论 -
WebSocket
写这个是因为前阵面试被问到,当时有点懵逼。。所以下来也简单学习一下。原始的HTTP流程是一来一回的,这样导致很多业务没法开展或者开销很大,比如聊天室。虽然20年前就有聊天室了,但是当时是在网页上设置的定时轮询。比如2秒自动更新,这样的问题就导致服务器要频繁建立连接,而且每次都要带上整个HTTP头。websocket的好处就是全双工,类似于底层的socket,建立了一次之后直接用就行了,不用在去建立TCP的链接,此外,每个数据包是二进制的,也不用发整个http头,减少了带宽需要。原创 2025-04-26 03:31:14 · 243 阅读 · 0 评论 -
FastAPI搭建
因为最近正好要搭一个小服务器,所以简单记录一下。caddy是一个反向代理,如果系统简单,或者没有用到静态页面或者https,暂时先不用。。数据库用是pstgreSQL,不过demo还是用SQLlite。目前主要还是涉及gunicorn和fastapi。两者分工如下。原创 2025-05-08 03:09:10 · 509 阅读 · 0 评论 -
Cesium1--基础
Cesium 是一个开源的 JavaScript 3D 地理空间可视化引擎,专为构建高性能的虚拟地球和地图应用而设计。它支持从全球尺度到微观场景的三维数据渲染,广泛应用于测绘、智慧城市、军事仿真、气象分析等领域。集成高精度地形数据(如Cesium World Terrain),支持动态地形开挖、坡度分析。可加载(倾斜摄影/BIM)、(模型)、等格式。支持时间轴动画(如卫星轨迹模拟)、实时数据流(如气象变化)。基于WebGL,无需插件,兼容浏览器和移动端。原创 2025-05-13 14:38:32 · 457 阅读 · 0 评论 -
WebGL3(WebGL or WebGPU?)
WebGL(Web Graphics Library)是一种基于OpenGL ES的JavaScript API,用于在网页浏览器中实现高性能的3D图形渲染,无需安装额外插件。它通过着色器(Shader)编程直接调用GPU能力,支持复杂的3D场景、物理模拟和实时渲染效果。WebGL完全集成于HTML5 Canvas,可与JavaScript、CSS3和Web API无缝协作,广泛应用于游戏开发、数据可视化、虚拟/增强现实(VR/AR)、科学模拟和交互式艺术等领域,为现代Web应用带来沉浸式视觉体验。原创 2025-05-25 14:29:38 · 456 阅读 · 0 评论 -
ThingsBoard(2)(使用篇)
本篇基本来自官方文档的简单整理。原创 2025-05-27 18:45:37 · 608 阅读 · 0 评论 -
ThingsBoard(3)(编译和运行)
搞了很久,最后发现可以用的初始化脚本是在thingsboard/application/target/bin/install。因为自己编译的版本是没有/usr/share/thingsboard/bin/install/install.sh这个文件。手动下载https://services.gradle.org/distributions/gradle-7.3.3-bin.zip,拷贝到~/.gradle/wrapper/dists/gradle-7.3.3-bin/xxxxxxx。默认的配置是这样的。原创 2025-05-27 18:51:11 · 984 阅读 · 0 评论 -
SpringBoot1--简单体验
选择maven配置。增加SpringWeb的依赖。Generate之后解压,代码大致如下:demo/├── src/此时提供了main和pom.xmlPOM.xml。这个是给maven用的。修改src中的Handler。因为我的8080被thingsboard用了。所以换成8081。在src/main/resources/application.properties中添加server.port=8081安装JDK17和Maven编译运行之后访问8081就可以看到了。原创 2025-05-30 01:01:31 · 408 阅读 · 0 评论
分享