自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 【学习笔记】《Python编程 从入门到实践》第6章:字典创建、遍历与嵌套用法详解

本文介绍了Python字典的核心用法,重点包括: 字典基础:创建、访问、添加/修改/删除键值对 遍历方法:items()遍历键值对、keys()遍历键、values()遍历值 嵌套结构:字典列表、字典中存列表、字典嵌套字典 实际应用:适合存储具有多个属性的结构化数据,如用户信息表 常见错误:KeyError的解决方法及get()的使用场景 字典的核心价值在于清晰组织结构化数据,当数据需要以"字段-值"形式呈现时,字典比列表更直观实用。本文通过用户信息管理的实际案例,帮助读者掌握字典的常见应用场景和操作方法。

2026-06-04 17:42:49 307

原创 《图解HTTP》--第6章-HTTP首部

摘要 《图解HTTP》第6章系统介绍了HTTP首部字段的作用与分类。HTTP首部是报文的重要组成部分,用于传递请求和响应的元数据信息,包括内容类型、缓存控制、认证要求等。首部分为四类:通用首部(管理通信整体行为)、请求首部(补充客户端信息)、响应首部(补充服务端信息)和实体首部(描述报文主体)。此外,还区分端到端首部和逐跳首部,后者仅在当前连接有效。文章重点解析了Cache-Control等关键首部字段,并强调首部字段在内容协商、缓存控制、条件请求等方面的重要作用,是理解HTTP通信机制的关键要素。(149

2026-06-04 15:52:13 212

原创 《图解HTTP》--第5章-与HTTP协作的Web服务器

本文梳理了《图解HTTP》第五章关于HTTP协作服务器的核心概念。主要内容包括: 虚拟主机通过Host首部区分同一IP上的不同网站 HTTP通信中的三种中间角色: 代理:转发请求/响应,可用于缓存、访问控制 网关:连接非HTTP服务(如数据库、支付系统) 隧道:建立安全通信通道(如SSL) 缓存机制(服务器端和客户端)通过保存资源副本来减少源服务器访问,提升性能 实际应用中需关注缓存控制首部(Cache-Control等)和代理配置 文章以流程图和表格直观呈现了各类中间组件的区别与工作原理,并提供了curl

2026-06-03 14:59:35 345

原创 【学习笔记】《Python编程 从入门到实践》第5章:if语句、条件测试与列表处理实战

本章介绍了Python中if语句的使用方法,包括条件测试、if语句的不同结构以及如何结合列表使用if语句。主要内容包括: 条件测试:比较相等(==, !=)、数字大小、多个条件(and/or)、检查列表包含(in/not in) if语句结构:简单if、if-else、if-elif-else,以及使用多个elif代替else的优势 列表处理:检查特殊元素、判断空列表、使用多个列表对比 布尔表达式的概念和用途 示例代码演示了如何根据不同条件执行不同操作,如处理汽车品牌大小写、不同年龄段票价、披萨配料检查等场

2026-06-02 17:49:12 208

原创 04-为什么买了 SCA 工具,开源依赖还是管不住?

开源治理全生命周期设计摘要(148字): 开源治理的核心在于建立闭环流程而非单纯采购工具。完整生命周期包含三阶段:1)引入控制-通过白名单分流、统一制品库和审批流程确保组件合规准入;2)使用规范-构建自动检测体系,实施漏洞分级响应机制,实现精准风险处置;3)退出机制-设立组件淘汰标准与执行流程,完成风险组件清理。组织保障是关键,需根据企业规模建立委员会、专职团队或虚拟协调机制,明确决策、执行、验收责任主体。金融行业实践表明,工具扫描仅是基础,流程设计与组织落地才是治理成效的分水岭。

2026-06-02 17:45:36 444

原创 【学习笔记】《Python编程 从入门到实践》第4章:for循环、range()、切片与元组

本章介绍了Python列表操作的核心知识:1)使用for循环遍历列表,注意缩进规范;2)range()函数生成数值序列及列表解析的简洁写法;3)切片操作提取列表子集和复制列表;4)元组的基本使用及其不可变性。重点包括:for循环执行流程、避免缩进错误、数值列表生成方法、切片语法(如players[0:3])、列表与元组的区别。掌握这些操作能有效处理序列数据,其中列表解析和切片是Python的特色功能。

2026-05-26 22:02:51 408

原创 【学习笔记】《Python编程 从入门到实践》第3章:Python列表完全指南——创建、修改、删除与排序

本章介绍了Python列表的基本概念和操作方法。主要内容包括:列表的定义(用方括号表示,逗号分隔元素)、访问元素(通过索引,从0开始)、修改元素(直接赋值)、添加元素(append()和insert()方法)、删除元素(del、pop()和remove()方法)。还讲解了组织列表的常用操作:sort()永久排序、sorted()临时排序、reverse()反转顺序以及len()获取列表长度。最后提醒注意索引越界错误,并提供了实践练习。列表是Python中存储有序元素集合的重要数据结构。

2026-05-26 10:17:32 216

原创 Codex 换模型太麻烦?这个开源桌面工具帮你一键切换

Moon Bridge Desktop是一款专为Codex CLI设计的开源桌面工具,旨在简化模型切换流程。该工具支持DeepSeek、OpenAI等主流模型,提供一键切换、API Key管理、用量追踪等功能。基于Wails框架开发,原生支持Windows系统,无需额外运行环境。主要特点包括:系统托盘快捷操作、本地SQLite用量记录、前端日志面板等。目前仅支持Windows 10/11系统,采用MIT协议,所有数据本地存储。项目定位明确,专注于解决Codex CLI用户频繁修改配置文件的痛点。

2026-05-22 16:53:31 592 1

原创 【学习笔记】《Python编程 从入门到实践》第2章:变量命名规则、字符串操作与数值类型详解

本章介绍了Python编程基础中的变量和简单数据类型。主要内容包括:变量的命名规则和使用方法,字符串的定义、拼接、大小写转换及空白处理技巧,数字的运算规则以及整数与浮点数的区别。重点讲解了如何避免常见的命名错误和语法错误,并介绍了str()函数在类型转换中的应用。本章为后续学习更复杂的Python数据类型和操作奠定了基础。

2026-05-22 15:58:04 563

原创 【学习笔记】《Python编程 从入门到实践》第1章:Python环境搭建与Hello World(完整版)

本章介绍了Python编程环境的搭建方法,包括Python 2和3版本的选择建议(推荐使用Python 3),以及在不同操作系统(Linux、OS X、Windows)下安装Python和配置文本编辑器的详细步骤。重点演示了如何编写和运行第一个Python程序"Hello World",并提供了终端运行Python程序的方法。此外,还总结了常见错误类型及解决方法,强调Python区分大小写、文件扩展名(.py)等注意事项。最后通过动手练习帮助读者巩固所学知识,为后续Python学习打下基础。

2026-05-21 14:57:47 312

原创 很多企业做了 SBOM,为什么依然管不住依赖?

企业生成SBOM(软件物料清单)却仍管不住依赖,关键在于SBOM的生成方式和使用存在误区。常见问题包括:SBOM过时未更新、覆盖不全、依赖层级缺失,导致漏洞排查失效。SBOM生成主要有三种方式:构建时生成(最准确但需标准化流程)、扫描生成(覆盖广但准确性低)、运行时分析(最真实但成本高)。真正的治理需要SBOM具备"全、准、新"特性,这需要将SBOM嵌入开发流程,而非仅作为安全工具。仅生成SBOM不等于有效治理,必须结合标准化构建、交叉验证和流程绑定,才能实现从可见性到控制力的跨越。

2026-05-21 14:31:34 536

原创 《图解HTTP》--第4章 返回结果的HTTP状态码

HTTP状态码是Web通信的关键语言,本文系统梳理了《图解HTTP》中状态码的核心知识。状态码分为5类:1XX(信息)、2XX(成功)、3XX(重定向)、4XX(客户端错误)、5XX(服务器错误)。重点解析了200、204、206、301、302、304、400、401、403、404、500、503等常用状态码的含义和使用场景,并通过curl命令演示了实际测试方法。文章特别指出开发中常见的错误实践(如所有响应都返回200),强调正确使用状态码对API设计和前端开发的重要性,包括301/302对SEO的影响

2026-05-19 21:44:16 498

原创 「AI 学习」OpenAI 与 Anthropic 开放公共学习平台

重新整理了 openAI 与 anthropic 开发平台关于 AI 学习的课程路线

2026-05-18 10:26:00 432

原创 《图解HTTP》--第3章 HTTP报文内的HTTP信息

摘要:《图解HTTP》第3章详解HTTP报文结构,将通信比作快递流程。报文由首部(标签)和主体(内容)组成,通过空行分隔。核心内容包括:1)请求/响应报文结构差异;2)内容编码(如gzip压缩)提升传输效率;3)分块传输编码处理大文件;4)multipart格式实现文件上传;5)范围请求支持断点续传;6)内容协商机制匹配最佳资源。实践部分演示了curl命令查看报文、模拟文件上传和断点下载。本章强调首部字段的元数据作用,区分内容编码与传输编码,并指出这些技术在API设计、文件传输等场景的关键应用。(149字)

2026-05-15 17:23:01 475 1

原创 《图解HTTP》--第2章 简单的HTTP协议

摘要:《图解HTTP》第2章介绍了HTTP协议的核心特性。HTTP采用客户端-服务器模型,通过请求-响应机制通信,报文包含方法、URI、版本等信息。作为无状态协议,HTTP通过Cookie技术保持用户状态。书中详细讲解了8种HTTP方法(GET/POST/PUT等)及其应用场景,并解释了持久连接和管线化等性能优化技术。实践部分演示了使用curl模拟各种HTTP请求、观察Cookie交互、对比连接方式等操作。本章揭示了HTTP协议的设计哲学:简单高效但需要额外机制弥补无状态的不足,为后续深入理解Web技术奠定

2026-05-14 08:45:33 330

原创 为什么做了 DevOps,你还是管不好开源依赖?

摘要:DevOps提升了软件交付效率,但忽视了软件成分管理这一关键环节。企业在CI/CD流程中往往缺乏对开源组件漏洞、许可证合规性和维护状态的监控,导致安全风险。常见误区包括:依赖扫描工具但忽视结果、误以为容器化即安全、低估间接依赖风险。这些问题源于DevOps注重"交付速度"而非"交付内容",缺乏对软件成分的可见性和控制力。企业需要建立完整的开源治理流程,从可见性、控制力到决策能力三个层面进行管理,才能真正管控风险。

2026-05-10 14:21:36 410

原创 《图解HTTP》--第1章 了解Web及网络基础

《图解HTTP》学习摘要 HTTP协议是互联网的基础快递员,负责客户端与服务器间的数据传输。本书第一章揭示了Web的底层机制: 协议分层:TCP/IP四层模型(应用层、传输层、网络层、链路层)各司其职,类似快递的分拣运输系统。 核心协议: IP协议负责寻址投递 TCP协议通过三次握手确保可靠传输 DNS服务将域名转换为IP地址 URI/URL:URI是资源标识符,URL是其子集,包含完整的资源定位信息。 实践工具:nslookup、curl等命令可直观观察网络通信过程。 理解这些基础概念,就掌握了互联网&q

2026-05-08 09:00:00 337

原创 当漏洞来了,你知道系统里用了什么吗?——SBOM 的真正价值

先不讲概念,先聊个真事。

2026-05-06 15:30:00 434

原创 别再乱买API了!9大Coding Plan深度横评,谁才是程序员的最优解?

2026年国内AI编程包月套餐横评报告摘要: 本次测试覆盖9大平台45款模型,通过TTFT、TPS等指标评估性能。关键发现: 速度表现:硅基流动kimi-k2.5首Token响应最快(0.99s),阿里qwen3-coder-next解码吞吐最高(147 TPS) 昼夜波动:火山引擎kimi-k2.5白天响应延迟高达夜间7倍,MiniMax表现最稳定 性价比:MiniMax ¥29/月起性价比最高,智谱GLM模型最强但持续涨价 配额陷阱:标称18,000次/月配额实际仅支持600-3,600轮对话 最新动态

2026-04-16 10:46:58 1467 2

原创 【源码解读之 Mybatis】【核心篇】-- 第10篇:动态SQL实现原理详解

摘要:MyBatis动态SQL实现原理 本文深入解析MyBatis动态SQL的核心实现机制。动态SQL通过SqlNode接口体系实现,包含IfSqlNode、WhereSqlNode、ForEachSqlNode等实现类,对应XML中的各种动态标签。执行流程分为:1)创建DynamicContext收集SQL片段;2)SqlNode树遍历求值;3)SqlSourceBuilder解析占位符生成BoundSql。关键组件包括SqlSource、DynamicContext和ExpressionEvaluato

2025-12-14 20:31:38 848

原创 【源码解读之 Mybatis】【核心篇】-- 第9篇:MappedStatement 映射语句解析详解

本文深入解析MyBatis核心组件MappedStatement,它是单条SQL映射语句的完整描述对象。MappedStatement包含SQL来源、参数映射、结果映射、执行属性和缓存策略等关键信息,是MyBatis执行SQL的"蓝图"。文章详细介绍了MappedStatement的结构与构建流程,包括XML/注解两种配置方式,以及SqlSource与BoundSql的协作机制。同时分析了运行期MappedStatement.getBoundSql()的调用链和缓存键生成过程,并阐述了u

2025-12-04 17:12:53 900

原创 【源码解读之 Mybatis】【核心篇】-- 第8篇:ResultSetHandler结果集处理

MyBatis ResultSetHandler 核心机制解析 ResultSetHandler 是 MyBatis 处理 SQL 查询结果的核心组件,主要职责包括: 结果集处理:将 JDBC ResultSet 转换为 Java 对象集合 游标处理:支持流式查询结果处理 存储过程输出参数处理 核心实现流程: 通过 DefaultResultSetHandler 处理多个结果集 结合 ResultMap 配置进行自动/手动映射 与 TypeHandler 协作完成类型转换 支持嵌套查询和结果映射 关键特性:

2025-11-30 15:22:51 990

原创 【源码解读之 Mybatis】【核心篇】--第7篇:ParameterHandler参数处理机制

本文深入解析MyBatis的ParameterHandler参数处理机制。ParameterHandler作为"参数翻译官",负责将Java对象转换为JDBC可识别的参数。文章首先解答了上篇关于StatementHandler的思考题,随后系统介绍了ParameterHandler的核心职责、实现机制与协作关系。重点剖析了DefaultParameterHandler的工作原理、参数映射配置、TypeHandler类型转换机制,以及不同参数类型的处理策略。文章还探讨了参数验证、性能优化和

2025-10-16 17:43:45 389

原创 【源码解读之 Mybatis】【核心篇】-- 第6篇:StatementHandler语句处理器

本文是 MyBatis 源码解析系列的第6篇,深入剖析 StatementHandler 语句处理器体系在 MyBatis 执行层中的核心作用。通过源码分析、实践案例和 Mermaid 图,系统讲解了 StatementHandler 的设计思想、职责分工及实现机制

2025-10-13 17:46:52 401

原创 【源码解读之 Mybatis】【核心篇】--第5篇:Executor执行器体系详解

MyBatis Executor执行器体系解析 本文深入剖析MyBatis的Executor执行器体系架构,主要内容包括: 体系结构:采用模板方法模式(BaseExecutor)与装饰器模式(CachingExecutor)相结合的设计 执行器类型: SimpleExecutor:简单执行,每次创建新Statement ReuseExecutor:重用Statement,减少预编译开销 BatchExecutor:批量处理SQL提升性能 CachingExecutor:二级缓存管理装饰器 核心机制: 一级缓

2025-09-30 14:33:20 776

原创 【源码解读之 Mybatis】【基础篇】--第4篇:Mapper 接口的动态代理机制解析

MyBatis Mapper接口动态代理机制解析 本文深入探讨了MyBatis中Mapper接口的动态代理实现机制。核心内容包括: 代理对象创建流程:通过MapperRegistry注册接口,MapperProxyFactory使用JDK动态代理生成实例,并缓存MapperMethod以提高性能。 调用链分析:用户调用Mapper方法时,MapperProxy将请求转发给MapperMethod,后者根据SQL命令类型委托SqlSession执行。 关键组件协作: MapperProxy处理接口方法调用 M

2025-09-24 17:41:30 814

原创 Oracle清理:如何安全删除trace, alert和archivelog文件?

Oracle数据库清理摘要 本文档详细记录了Oracle 19.3开发环境数据库的清理流程,主要包括三部分内容:1)环境准备,包括环境变量设置和磁盘占用检查;2)诊断文件清理,使用ADRCI工具清理7天前的incident、trace、cdump等诊断数据;3)归档日志清理,通过RMAN删除7天前的归档日志。此外还介绍了监听日志等其他日志文件的清理方法,并建议设置定时任务实现自动化清理。整个清理过程无需停止数据库服务,可有效解决磁盘空间不足问题。

2025-09-18 17:16:08 1399

原创 【源码解读之 Mybatis】【基础篇】-- 第3篇:SqlSession的创建与生命周期

本文是 MyBatis 源码解析系列的第3篇,基于 MyBatis 3.5.x,深入剖析 SqlSession 的设计、创建流程和生命周期管理,揭示其在 MyBatis 架构中的核心作用。通过源码分析和实践案例,帮助开发者理解 SqlSession 如何协调配置、执行器、事务等组件,执行数据库操作。

2025-09-15 20:00:00 734

原创 【源码解读之 Mybatis】【基础篇】-- 第2篇:配置系统深度解析

MyBatis配置系统解析摘要 MyBatis配置系统作为框架核心基础,采用分层设计统一管理所有配置项。核心组件包括Configuration类(配置中心)、XML解析器、Mapper解析器和注解解析器。Configuration类负责配置存储、管理、验证及扩展,其核心属性涵盖环境配置、数据库设置、日志缓存、类型处理等。通过分层架构(主配置文件、Mapper XML和接口注解)实现职责分离,支持插件扩展和性能优化。理解配置系统是深入MyBatis源码的关键,因其为会话管理、执行器等模块提供基础支持。

2025-09-09 18:15:00 679

原创 【源码解读之 Mybatis】【基础篇】-- 第1篇:MyBatis 整体架构设计

MyBatis 3.x架构解析与源码环境搭建 MyBatis是一个持久层框架,采用三层架构设计:接口层(SqlSession、Mapper接口)、核心处理层(Executor、StatementHandler)和基础支持层(反射、类型转换等)。本文介绍了MyBatis 3.x版本的整体架构,包括核心组件职责和协作关系,并详细说明了源码环境搭建步骤,包括克隆仓库、IDEA配置、目录结构解析和调试技巧。文章还提供了验证环境是否搭建成功的方法,为后续深入源码分析奠定基础。

2025-09-05 17:52:10 817

原创 linux环境下编写脚本_实现启停tomcat服务

第一步:新建一个shell脚本,命名为tomcat_ctmp.sh第二步:编写shell脚本:#!/bin/bash#指定tomcat路径export TOMCAT_HOME=/ams/coms-tomcat-7.0.53#获取到进程idPID=$(ps x|grep $TOMCAT_HOME|grep -v grep|awk '{printf $1}')if ...

2019-03-03 23:15:37 583

空空如也

空空如也

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

TA关注的人

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