自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 资源 (5)
  • 收藏
  • 关注

原创 Three.js 系列专题 2:几何体与材质

在 Three.js 中,几何体(Geometry)定义了 3D 物体的形状,而材质(Material)决定了它的外观(如颜色、光泽、纹理)。本专题将介绍常见的几何体类型、多种材质的特性,并通过加载纹理实现更真实的效果。

2025-04-06 00:15:00 434

原创 Three.js 系列专题 1:入门与基础

Three.js 是一个基于 WebGL 的 JavaScript 库,它简化了 3D 图形编程,让开发者无需深入了解底层 WebGL API 就能创建复杂的 3D 场景。它广泛应用于网页游戏、可视化、虚拟现实等领域。

2025-04-06 00:00:00 306

原创 QGIS实战系列(七):项目案例篇——从零开始完成一个完整的 GIS 项目

欢迎来到“QGIS实战系列”的最后一期!在前六期中,我们从基础操作到进阶应用逐步掌握了 QGIS 的核心技能。这一篇,我们将通过一个完整的项目案例——“城市洪水风险评估”,整合所学,带你体验从数据准备到成果输出的全流程。

2025-04-05 00:15:00 452

原创 QGIS实战系列(六):进阶应用篇——Python 脚本自动化与三维可视化

欢迎来到“QGIS实战系列”的第六期!在前几期中,我们从基础操作到插件应用逐步提升了 QGIS 技能。这一篇,我们将迈入进阶领域,探索如何用 Python 脚本实现自动化,以及如何创建三维可视化效果,让你的 GIS 项目更高效、更立体。

2025-04-05 00:00:00 613

原创 QGIS实战系列(四):空间分析篇——缓冲区分析、叠加分析与热力图制作

欢迎来到“QGIS实战系列”的第四期!在前几期中,我们学会了导入数据、编辑图层并优化地图样式。现在,我们将进入 GIS 的核心领域——空间分析。这一篇将带你掌握缓冲区分析、叠加分析和热力图制作,解锁 QGIS 的强大分析能力。

2025-04-04 07:46:34 493

原创 QGIS实战系列(五):插件实战篇——扩展 QGIS 功能,定制你的工作流

欢迎来到“QGIS实战系列”的第五期!在前几期中,我们从基础操作到空间分析逐步掌握了 QGIS 的核心功能。这一篇,我们将探索 QGIS 的“秘密武器”——插件。通过插件,你可以扩展 QGIS 的能力,定制专属的工作流,让它更贴合你的需求。

2025-04-04 07:43:38 838

原创 QGIS实战系列(三):地图可视化篇——样式设计与符号化,打造专业级地图

欢迎来到“QGIS实战系列”的第三期!在前两期中,我们学会了安装 QGIS、导入数据并进行基本编辑。现在,是时候让你的地图从“能看”变成“惊艳”了。这一篇将带你掌握样式设计与符号化技巧,打造专业级的可视化效果。

2025-04-03 08:22:07 613

原创 QGIS实战系列(二):数据管理篇——导入、编辑和管理地理数据

欢迎回到“QGIS实战系列”!在上期中,我们完成了 QGIS 的安装并制作了一张简单地图。今天,我们将聚焦于地理数据的核心操作:导入、编辑和管理。没有数据,GIS 就像没有颜料的画布,这一篇将教你如何为你的地图注入生命。

2025-04-03 08:20:24 358

原创 QGIS实战系列(一):QGIS入门篇——安装与界面导览,初识地图制作

欢迎正式踏入“QGIS实战系列”的第一步!今天我们将从零开始,完成 QGIS 的安装,熟悉它的界面,并制作你的第一张简单地图。无论你是 GIS 新手还是想转用开源工具的老手,这一篇都会让你快速上手。

2025-04-02 14:30:30 236

原创 Redis 源码硬核解析系列专题 - 扩展篇:Gossip协议的具体实现

收获:理解Redis中Gossip协议的实现细节。调试技巧用查看节点状态。用tcpdump抓包分析PING/PONG消息。应用:借鉴Gossip设计分布式状态同步系统。

2025-04-02 00:00:00 758

原创 Redis 源码硬核解析系列专题 - 结语:从源码看Redis的设计哲学

Redis的成功源于其对“简单即高效”的坚持。单线程模型、精心优化的数据结构、灵活的持久化策略,共同构成了一个高性能、易用的内存数据库。通过源码解析,我们不仅理解了技术细节,更能汲取设计智慧,应用到自己的开发实践中。希望这个系列为你打开了一扇深入系统设计的窗口!

2025-04-01 00:15:00 450

原创 Redis 源码硬核解析系列专题 - 第七篇:主从复制与集群模式

作用:从节点复制主节点数据,提供读扩展和容错。方式全量同步(Full Resync):初次同步或数据差异过大。增量同步(Partial Resync):通过复制偏移量同步增量命令。收获:理解主从复制与集群的实现。调试技巧用查看同步状态。用检查槽分配。下一步:回顾Redis设计哲学。

2025-04-01 00:00:00 1164

原创 Redis 源码硬核解析系列专题 - 第六篇:内存管理与持久化机制

收获:理解Redis内存分配与持久化实现。调试技巧用查看内存统计。用strace跟踪fork和文件写操作。下一步:探索主从复制与集群。

2025-03-31 00:15:00 645

原创 Redis 源码硬核解析系列专题 - 第五篇:事件驱动模型与网络层

收获:理解Redis事件驱动与网络层实现。调试技巧:用strace跟踪epoll_wait调用,或用gdb打印。下一步:探索内存管理和持久化。

2025-03-31 00:00:00 2438

原创 Redis 源码硬核解析系列专题 - 第四篇:核心数据结构之跳表(Skip List)

跳表的实现位于和中。代码片段server.hsds ele;// 元素(SDS字符串)// 分数// 后退指针// 前进指针// 跨度(到下个节点的距离)} level[];// 层数组(柔性数组)// 头节点// 尾节点// 节点数int level;// 最大层数硬核解析:每个节点包含元素、分数和多层前进指针(level[]:指向该层下一个节点。span:记录跨越的节点数,用于范围查询。backward:后退指针,便于双向遍历。zskiplist:管理整个跳表,

2025-03-30 00:15:00 875

原创 Redis 源码硬核解析系列专题 - 第三篇:核心数据结构之字典(Dict)

字典的定义在src/dict.h和src/dict.c中。代码片段dict.hvoid *key;// 键union {void *val;// 值double d;} v;// 链表,解决哈希冲突// 哈希表数组// 哈希表大小// 大小掩码,用于计算索引// 已使用槽数} dictht;// 类型特定函数(如自定义哈希)// 私有数据// 两个哈希表,用于rehash// rehash进度,-1表示未进行} dict;硬核解析dictEntry:键值对节点,

2025-03-30 00:00:00 818

原创 Redis 源码硬核解析系列专题 - 第二篇:核心数据结构之SDS(Simple Dynamic String)

SDS的定义在src/sds.h和src/sds.c中。Redis 3.2之后引入了多种SDS类型以节省内存,但核心思想一致。代码片段sds.h// 已使用长度// 未使用长度char buf[];// 实际存储数据的柔性数组len:记录字符串的实际长度,避免遍历。free:记录剩余可用空间,支持动态扩展。buf:存储字符串内容,紧跟结构体。硬核点:SDS的内存布局是连续的,sds指针直接指向buf,而通过指针偏移可以访问sdshdr。Mermaid内存布局图-len: uint。

2025-03-29 18:53:04 763

原创 Redis 源码硬核解析系列专题 - 第一篇:Redis源码入门与整体架构

收获:理解Redis启动与事件循环的核心逻辑。调试技巧:用gdb附加到Redis进程,设置断点(如aeMain),单步跟踪。下一步:深入数据结构(如SDS)或网络层。

2025-03-29 18:48:14 829

原创 信用卡核心系统设计深度系列专题 第一篇:业务全景

信用卡核心系统在10亿用户、日均20亿笔交易、峰值TPS 10万的场景下,承载着实时授权、清算结算、动态定价、分期计算、会计分录、额度管理、反欺诈检测和数据下传等复杂业务需求。与数百个关联系统(如支付网络、监管机构、征信系统)的协作进一步放大其挑战。领域驱动设计(DDD)通过划分领域和上下文,为这一庞大系统提供清晰的业务蓝图。本篇将深入剖析信用卡业务的业务全景,奠定后续技术设计的基础。本篇通过DDD和图表,呈现了亿级信用卡系统的业务全景。检查availableBalance。创建Transaction。

2025-03-28 02:45:00 527

原创 Cucumber 专题系列 - 第七篇:Cucumber 的最佳实践

Cucumber 是一个强大的 BDD 工具,但要充分发挥其潜力,需要遵循一些最佳实践。这些实践可以提高测试的可读性、可维护性和执行效率,同时确保团队协作顺畅。本篇将围绕 Feature 文件编写、Step Definitions 实现和整体测试管理提供具体建议。遵循这些最佳实践,可以让 Cucumber 测试用例更易于编写、理解和维护,同时提升团队协作效率。

2025-03-28 02:15:00 573

原创 Cucumber 专题系列 - 第六篇:Cucumber 的集成与运行

Cucumber 的强大之处不仅在于编写测试用例,还在于其与现有工具和框架的集成能力。本篇将介绍如何将 Cucumber 集成到测试框架(如 JUnit、TestNG),以及如何运行测试并生成报告。Cucumber 的集成与运行能力使其成为自动化测试的强大工具。通过与 JUnit/TestNG 集成、灵活的运行选项和丰富的报告支持,可以轻松融入开发流程。下一篇文章将探讨Cucumber 的最佳实践,提供实用建议以优化测试编写和维护。

2025-03-27 01:00:00 598

原创 Cucumber 专题系列 - 第五篇:Cucumber 的高级功能

Cucumber 提供了多种高级功能,帮助用户更高效地编写和管理测试用例。这些功能包括数据表(Data Tables)场景大纲(Scenario Outline)背景(Background)和标签(Tags)。本篇将重点介绍这些特性,并展示如何在实际测试中应用它们。Cucumber 的高级功能(如数据表、场景大纲、背景和标签)大大提升了测试用例的灵活性和可维护性。下一篇文章将探讨Cucumber 的集成与运行,包括如何与测试框架集成以及生成报告。

2025-03-27 00:30:00 1722

原创 Cucumber 专题系列 - 第四篇:创建 Step Definitions

Step Definitions(步骤定义)是 Cucumber 中连接 Gherkin 步骤与实际代码的桥梁。它们将 Feature 文件中的自然语言描述转化为可执行的自动化测试逻辑。每个 Gherkin 步骤(如GivenWhenThen)都会对应一个 Step Definition。创建 Step Definitions 是将 Gherkin 描述转化为自动化测试的关键步骤。通过注解和参数化,我们可以灵活地映射步骤到代码。下一篇文章将介绍Cucumber 的高级功能。

2025-03-26 00:45:00 671

原创 Cucumber 专题系列 - 第三篇:编写第一个 Feature 文件

Feature 文件是 Cucumber 的核心入口,用于描述软件功能和测试场景。它使用Gherkin 语法编写,以.feature为文件扩展名。Feature 文件的目标是让所有相关人员(开发人员、测试人员、业务分析师等)都能理解测试内容,同时为自动化测试提供基础。编写 Feature 文件是使用 Cucumber 的第一步。通过 Gherkin 语法,我们可以用自然语言清晰地描述功能和测试场景。下一篇文章将讲解创建 Step Definitions,展示如何将这些描述转化为可执行的自动化测试代码。

2025-03-26 00:15:00 673

原创 Cucumber 专题系列 - 第一篇:Cucumber 简介

Cucumber 是一个支持行为驱动开发(BDD, Behavior-Driven Development)的测试工具。它通过使用接近自然语言的Gherkin 语法来编写测试用例,使得测试场景对开发人员、测试人员和业务人员都易于理解和协作。Cucumber 的核心目标是弥合技术团队与非技术团队之间的沟通鸿沟,确保软件开发的功能符合业务需求。Cucumber 通过 Gherkin 语法和 BDD 方法,将测试过程变得更加透明和协作化。它不仅是一个测试工具,更是一个沟通桥梁。下一篇文章将深入探讨。

2025-03-25 04:00:00 1300

原创 Cucumber 专题系列 - 第二篇:Cucumber 的工作流程

Cucumber 的工作流程是一个从自然语言描述到自动化测试执行的协作过程。它将业务需求(以 Gherkin 语法编写)转化为可执行的代码,最终生成测试结果。理解这个流程是掌握 Cucumber 的关键。Cucumber 的工作流程将业务需求与技术实现无缝连接。从编写 Feature 文件到执行 Step Definitions,再到生成测试报告,整个过程清晰且协作性强。下一篇文章将聚焦于编写第一个 Feature 文件,并提供更多实用示例。

2025-03-25 01:00:00 2481

原创 Testcontainers 系列专题 - 第 6 篇:最佳实践与注意事项

本篇总结了 Testcontainers 的最佳实践,包括隔离性、性能优化和资源管理,同时指出了常见陷阱及调试方法。通过遵循这些建议,你可以编写高效、可靠的测试代码,避免不必要的麻烦。下一篇文章将探讨 Testcontainers 的扩展生态和未来趋势。

2025-03-24 01:00:00 1051

原创 Testcontainers 系列专题 - 第 7 篇:扩展与生态 - Testcontainers 的未来

共同点:都基于 Docker,提供类似的容器管理能力。差异:API 设计适配各语言特性(如 Python 的上下文管理、Node.js 的异步)。选择建议:根据项目技术栈选择对应版本,功能上差异不大。本篇回顾了 Testcontainers 的扩展生态,从多语言支持到社区模块,再到 Testcontainers Cloud,展示了其灵活性和适应性。同时,我们展望了容器化测试的未来趋势,包括云原生集成和性能提升。

2025-03-24 00:45:00 1683

原创 Testcontainers 系列专题 - 第 5 篇:实战案例 - 测试复杂系统

通过 Kafka 和 Elasticsearch 的实战案例,本篇展示了 Testcontainers 在测试复杂系统中的能力。无论是消息队列还是分布式存储,Testcontainers 都能提供接近生产环境的测试支持,同时对比 Mock 帮助你选择合适的测试策略。下一篇文章将分享最佳实践与注意事项。

2025-03-23 02:00:00 1451

原创 Testcontainers 系列专题 - 第 4 篇:Testcontainers 与 CI/CD 集成

本篇展示了如何将 Testcontainers 集成到 CI/CD 流程中,以 GitHub Actions 为例提供了完整配置,并介绍了性能优化和常见问题的解决方法。通过这些技巧,你可以在自动化环境中高效运行容器化测试。下一篇文章将进入实战案例,探讨如何测试复杂系统。

2025-03-23 01:00:00 1841

原创 Testcontainers 系列专题 - 第 3 篇:进阶用法 - 自定义容器与网络

Testcontainers 的内置容器(如)已经覆盖了许多常见场景,但有时你需要运行特定的镜像或自定义配置。这时,可以使用或从 Dockerfile 构建容器。假设你需要测试一个运行在 Nginx 上的静态网站,可以直接使用// 验证 Nginx 返回 200 OK } }// 验证 Nginx 返回 200 OK } }// 验证 Nginx 返回 200 OK } }

2025-03-22 01:15:00 875

原创 Testcontainers 系列专题 - 第 2 篇:核心功能与基本用法

本篇介绍了 Testcontainers 的核心功能,包括常用容器类、配置选项、生命周期管理以及与 JUnit 和 Spring Boot 的集成。通过这些工具,你可以轻松应对大多数测试场景。下一篇文章将探讨进阶用法,如自定义容器和多容器网络。

2025-03-22 01:00:00 771

原创 Testcontainers 系列专题 - 第 1 篇:Testcontainers 入门 - 什么是 Testcontainers?

Testcontainers 是一个开源库,旨在帮助开发者在测试中使用容器化技术来管理依赖。它最初是为 Java 设计的(支持 JUnit、TestNG 等测试框架),如今已扩展到 Python、Node.js、Go 等多种语言。简单来说,Testcontainers 可以在测试运行时动态启动 Docker 容器(如数据库、Web 服务器、消息队列),执行测试后自动清理,无需手动配置外部服务。隔离性:每个测试都有独立的容器,避免干扰。可重复性:容器基于镜像运行,行为一致。接近生产。

2025-03-21 10:28:18 658

原创 Dev Container 系列专题(7):最佳实践与实战案例

通过本系列,我们从 Dev Container 的基础概念到高级用法,再到实战案例,完整地探索了它的功能和应用场景。一致性:Dev Container 确保开发环境可复现。灵活性:支持单服务、多服务和云端开发。效率:自动化和优化减少配置时间。将 Dev Container 用于其他领域(如嵌入式开发、大数据处理)。结合容器编排工具(如 Kubernetes)扩展到生产环境。希望这些知识能助力你的开发之旅。如果有更多问题或想深入某个话题,随时告诉我!

2025-03-21 00:45:00 662

原创 Dev Container 系列专题(6):高级用法:Dev Container 的扩展与自动化

通过本篇,你学会了如何在云端使用 Codespaces、通过脚本自动化初始化,以及将 Dev Container 集成到 CI/CD 流程。这些高级用法让开发更加灵活和高效。下一期,我们将总结最佳实践并分享实战案例。“最佳实践与实战案例”。继续探索吧!

2025-03-20 01:00:00 680

原创 Dev Container 系列专题(5):团队协作:共享和优化 Dev Container

在下创建setup.sh/bin/bash# 示例:安装额外的工具# 示例:设置别名在},通过本篇,你学会了如何在团队中共享 Dev Container 配置、优化性能并支持个性化需求。这种方法可以显著减少环境配置时间,提升协作效率。下一期,我们将探索 Dev Container 的高级用法,如云端开发和 CI/CD 集成。“高级用法:Dev Container 的扩展与自动化”。继续探索吧!

2025-03-20 00:30:00 815

原创 Dev Container 系列专题(4):多服务开发:Dev Container 与 Docker Compose

在项目根目录创建services:frontend:build:ports:volumes:backend:build:ports:volumes:- dbdb:volumes:volumes:pgdata:通过本篇,你学会了如何使用 Docker Compose 在 Dev Container 中运行多服务应用。这种方式非常适合开发微服务或前后端分离项目。下一期,我们将探讨如何在团队中共享和优化 Dev Container 配置。

2025-03-19 04:00:00 1044

原创 Dev Container 系列专题(3):深入配置:自定义你的 Dev Container

预定义镜像(如 Node.js 或 Python 的官方镜像)虽然方便,但往往无法完全满足特定项目的需求。需要安装额外的系统工具(例如git或curl项目依赖特定版本的语言运行时。需要集成调试器、linter 或格式化工具。通过自定义配置,我们可以精确控制容器内的环境,确保它既高效又实用。使用 VS Code 打开项目文件夹(code .按,选择 “Dev Containers: Reopen in Container”。

2025-03-19 03:15:00 793

原创 Dev Container 系列专题(2):快速上手:你的第一个 Dev Container

恭喜你完成了第一个 Dev Container 的搭建!通过这次实践,你学会了如何使用预定义镜像快速启动一个开发环境,并在其中运行一个简单的 Web 服务。Dev Container 的真正威力在于它的可定制性和一致性,下一期我们将深入探讨如何根据项目需求自定义配置。“深入配置:自定义你的 Dev Container”,我们将学习如何编写 Dockerfile 和调整,打造专属的开发环境。继续加油!

2025-03-18 03:00:00 1004

原创 Dev Container 系列专题(1):什么是 Dev Container?为什么需要它?

Dev Container,全称,是一种基于容器技术的开发环境解决方案。它允许开发者将代码、依赖、工具和配置封装在一个独立的容器中,通过标准化和隔离的方式运行开发环境。简单来说,Dev Container 就像一个“便携式工作台”,你可以在任何支持容器的设备上快速复现相同的开发环境。Dev Container 最常见的实现方式是通过Docker和VS Code 的 Dev Containers 扩展配合使用。你只需要定义一个配置文件(通常是。

2025-03-18 02:00:00 1041

通用布局文件

使用voohoohda的工具自动生成applealc平台布局文件时需要的布局文件,这个默认的是layout12,大家根据实际情况自己更改id名称

2019-02-24

GetDumpXml

applealc通过voohda自动获取平台文件和布局文件的工具类,详情请看博客内容

2019-02-24

mac版phpstudy安装资源包

mac版本上安装phpstudy需要的工具包,包含mysql,apache,nginx php

2018-11-26

高分屏efiy430p

高分屏efiy430p

2018-11-20

postgresql10 yum 离线资源包

Centos 7.0 postgresql离线yum安装包,方便云维护,包含各种依赖,安装后会升级系统的版本会由7.0升级到7.5,安装需谨慎

2018-06-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除