自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在Linux环境中启动了Jupyter Notebook服务器,如何在Windows的VS Code中编辑和运行.ipynb文件(需要Linux环境中配好的虚拟环境)

如果你的Linux环境是本机的(比如通过WSL [Windows Subsystem for Linux] 在Windows上运行的Linux子系统),并且在这个Linux环境中启动了Jupyter Notebook服务器,那么在Windows的VS Code中编辑和运行.ipynb文件会很简单,核心是利用VS Code对WSL的原生支持和Jupyter的本地连接能力。

2025-10-15 23:55:17 825

原创 Python 开发中:`.ipynb`(Jupyter Notebook 文件)和 `.py`(Python 脚本文件)

在 Python 开发中,源码常用两种文件:.ipynb(Jupyter Notebook 文件)和 .py(Python 脚本文件),通常先用.ipynb文件进行原型开发,再用 .py文件做成产品。在这两阶段之间,需要一个软件资产转换,为此,这里为你提供一个非常适用的程序ipynb2py.py:它将.ipynb文件中的代码单元格合并成一个.py文件。

2025-10-14 10:55:22 834

原创 科普:在分布式系统日志分析中的概念:`span`、`child_spans` 和 `trace`

在软件运行日志分析(尤其是分布式系统追踪)中,span、child_spans 和 trace 是分布式追踪(Distributed Tracing)领域的核心概念,用于描述请求在系统中的流转路径和执行细节。

2025-10-13 22:06:26 541

原创 科普:Python 中, `return`与`yield` (及<generator object fibonacci at 0x.........>)

<generator object fibonacci at 0x0000017FF0903850>(地址可能不同)。即:这里直接打印 `gen` 就会显示生成器对象的信息,而不是斐波那契数列的具体值——这是生成器“惰性计算”的特性决定的(不会提前生成数据,而是生成生成器的对象,然后由生成器的对象按需生成数据)。我们比较`return`与`yield`两关键字:他俩都是用于在函数中返回值的关键字,但它们的行为和适用场景有本质区别,核心差异在于**是否终止函数执行**以及**返回值的方式

2025-10-12 22:45:18 509

原创 科普:LLM应用编程中,response.choices[0].message[‘content‘]与response.choices[0].message.content

本文对比了在LLM应用编程中获取模型回复内容的两种写法:response.choices[0].message['content'](字典键访问)和response.choices[0].message.content(对象属性访问)。核心区别在于数据结构访问方式不同:前者适用于字典类型,后者适用于对象属性。使用OpenAI官方Python库时,两种方式结果一致,因为返回的message对象同时支持两种访问。建议优先使用.content属性写法,更符合Python习惯且可读性更强。但需注意不同语言或库可能仅

2025-10-10 08:39:52 312

原创 python中,将包安装到用户个人目录中、安装到虚拟环境中、安装到当前工作目录中的区别与选择

作为程序员,个人电脑中,安装Python包时,也要避免“全局”安装,通常有三种“局部”的安装方式:将包安装到用户个人目录中、安装到虚拟环境中、安装到当前工作目录中。

2025-10-09 09:58:12 1085

原创 科普:select中的`array_agg()` 与 `row()`的不同点

`array_agg()` 是“多行合为一个数组”(纵向聚合),`row()` 是“多字段合为一个结构”(横向组合),两者的“组合逻辑”和结果结构完全不同。

2025-10-08 07:30:42 385

原创 科普:让大模型生成SQL语句需要什么样的prompt?

让大模型生成SQL语句的关键是:提供足够的上下文(表结构、业务逻辑)+ 清晰的查询目标,避免模糊表述。有效的prompt需要包含3个核心要素:数据库表结构(表名、字段、类型、关系)、具体查询需求(要获取什么数据、条件是什么)、额外约束(如SQL方言、格式要求)

2025-10-07 22:19:27 311

原创 对字典按值进行“排序”:sorted()、items()及lambda函数联合使用

对字典按值排序的核心是利用 sorted() 函数,结合字典的 items() 方法(获取键值对)和 key 参数(指定按值排序)key=lambda x: x[1]:x 代表列表中的每个元组 (key, value),x[1] 表示按元组的第二个元素(即字典的“值”)作为排序依据。

2025-10-03 22:18:13 414

原创 科普:Python 中,字典的“动态创建键”特性

在 Python 中,对字典中**不存在的键进行“赋值操作”时,字典会自动创建这个键并赋予对应的值**,不会报错;只有对“不存在的键进行“访问操作”(如直接读取 `dict[key]`)时,才会抛出 `KeyError`。

2025-10-03 21:13:51 406

原创 科普:脱掉字符串的外衣:result = eval(data_str)

# 假设 get_result 是从某个接口获取的字符串形式数据get_result = '{"code": 200, "data": null}'# 判断 get_result 是否为字符串if isinstance(get_result, str): # 将字符串中的 'null' 替换为 'None',确保语法正确 data_str = get_result.replace('null', 'None') # 将字符串解析为 Python 对象,即脱掉字符串的外衣,变为

2025-10-02 08:01:52 692

原创 科普:使用 apt 或 pip安装软件包前,为何要执行更新update操作

在使用 `apt` 或 `pip` 安装软件包前执行“更新”操作,核心目的是**让本地工具获取远程仓库的最新信息**,确保安装过程能找到正确的包版本并顺利完成。两者的原理类似,但具体机制因工具设计略有不同。

2025-10-01 16:42:13 319

原创 科普:Python 中`str.join(iterable)` 方法用于逻辑连接

在 Python 中,`str.join(iterable)` 方法可以将可迭代对象(如列表)中的元素用指定字符串(`str`)连接成一个新字符串。用逻辑符(如 `" and "`、`" || "`、`" && "` 等)作为字符串(`str`),产生连接条件,适用于生成查询语句、筛选条件等场景。

2025-10-01 16:37:38 323

原创 科普:在类中定义函数(方法)我们并不陌生,但你们知道在 函数中也可以定义函数吗?

在 Python 中,允许在一个函数内部定义另一个函数,这种结构称为函数嵌套(Nested Functions)。内部定义的函数称为“内部函数”,包含内部函数的函数称为“外部函数”。这种机制为代码封装、作用域控制和闭包等高级特性提供了基础。

2025-09-30 22:30:22 843

原创 虚拟环境中多个activate:.bat、.fish、ps1以及无后缀的

建立虚拟环境后,.venv\Scripts目录下有多个activate,以后缀来分:无后缀、.bat、.fish、ps1,它们是为了适配**不同的命令行/Shell环境**而设计的——不同的Shell(命令解释器)有各自的语法规则,激活虚拟环境的脚本必须遵循对应环境的语法才能正常工作。

2025-09-28 19:16:52 346

原创 设置环境变量时避坑:set不要引号不要空格,如:set API_KEY=.....

在前文设置环境变量的方法中,尤其是跨终端(如CMD、PowerShell、bash)或在程序中读取时,细节处理不当很容易导致“设置值与程序读取值不一致”的问题。本文总结避坑方法

2025-09-25 22:14:51 1076

原创 科普:设置环境变量的命令:set 与 export

set 和 export 都是用于设置变量的命令,但它们的 适用环境、作用范围 和 功能 有本质区别,核心差异在于 是否将变量提升为“环境变量”(可被子进程继承) 以及 支持的操作系统/shell。

2025-09-25 11:22:21 976

原创 Python中的“倒装句”现象:status = “成年“ if age >= 18 else “未成年“

status = "成年" if age >= 18 else "未成年",这句代码形式上是“结果在前,条件在中间”,感觉像“倒装句”。这就是三元运算符。 Python 中除了令人疑惑的三元运算符外,还有其他一些 特殊的语法结构 或 运算符的独特用法,可以实现类似“简洁条件判断”或“简化代码”的效果。

2025-09-24 16:48:44 374

原创 Python的大杀器:Jupyter Notebook处理.ipynb文件

Python的源代码文件有两大类:后缀为.py和后缀为.ipynb,后者由Jupyter Notebook 处理。Jupyter Notebook 是 跨平台工具,既可以在 Linux 中使用,也可以在 Windows 中使用。Jupyter Notebook 的核心价值在于 “代码即文档,文档可执行”,它打破了传统代码与说明文档分离的模式,极大提升了交互式计算和结果展示的效率,是数据科学和编程学习的重要工具。

2025-09-23 22:37:23 1096

原创 Linux 中的包安装,`pip install`与 `apt install`

在 Linux 中,pip install 和 apt install 是两种完全不同的包管理工具,分别用于处理 Python 生态内的库 和 系统级软件/库,核心区别体现在管理对象、安装来源、权限要求等方面。

2025-09-23 21:26:20 1030

原创 pip install -r requirements.txt报错ReadTimeoutError: HTTPSConnectionPool

这个错误 ReadTimeoutError 是 网络连接超时 导致的,核心原因是网络无法稳定访问 PyPI 官方仓库(files.pythonhosted.org 是 Python 官方包仓库的文件存储地址),常见于网络不稳定、访问速度慢或被墙的情况。

2025-09-23 21:10:37 267

原创 科普:Linux 命令行中如何“cd 到 Windows 工作目录”

你是不是常常碰到这样一个问题:从GitHub中下载的开源码在windows的某个目录中,而该开源项目又是linux环境项目?这就产生了一个小问题:Linux 命令行中如何“cd 到 Windows 工作目录”?本文就讨论这个小问题,总结所有场景下通过 `cd` 访问 Windows 目录的方式

2025-09-23 12:55:43 967

原创 科普:Windows 系统中如何使用Linux?

进入 Linux 环境最便捷的方式是通过 Docker 启动一个 Linux 容器并进入其交互式终端。默认情况下,使用 docker run -it [Linux镜像名] bash 进入容器后,会处于容器内的 /(根目录)下的默认用户目录。

2025-09-23 10:13:26 848

原创 科普:通配符表达式(Wildcard)与正则表达式(Regular Expression)

通配符表达式(Wildcard)和正则表达式(Regular Expression,简称 Regex)都用于模式匹配(根据规则查找/匹配字符串),但二者在设计目标、语法复杂度和应用场景上存在本质区别。

2025-09-21 23:03:42 1035

原创 三种查询语言比较:SQL、SPL、PromQL

若处理的是关系型数据库中的结构化数据,需求是简单的查询、关联、聚合(如业务报表、订单统计),SQL 是最通用、最高效的选择。若面临复杂数据处理场景(如多源数据融合、分步依赖的计算、非结构化数据处理、漏斗/留存分析),SQL 实现困难时,SPL 是更优解。若需分析监控系统的时序指标(如 CPU 使用率、QPS、告警规则配置),PromQL 是专为该场景设计的“原生语言”,无法被 SQL/SPL 替代。

2025-09-21 22:26:55 929

原创 科普:build与make

build(Python 的 build 模块)和 make 都与“构建”相关,但二者的定位、功能和适用场景有本质区别。简单说:make 是通用的“任务自动化工具”,而 build 是专用的“Python 项目打包工具”。

2025-09-17 16:56:24 885

原创 在 Windows 系统上通过WSL来使用Makefile的方法

整个流程核心是「通过 WSL 搭建 Linux 兼容环境 → 安装依赖工具 → 访问项目 → 执行 Makefile」,若遇到具体错误,可根据终端输出的报错信息定位问题(通常是依赖缺失或路径错误)。

2025-09-17 13:07:44 797

原创 Node.js后端工程师需了解的前端技术:HTML5、JavaScript、CSS、工具(Axios、EJS、 Chart.js)及资源CDN和MDN

作为Node.js后端工程师,为调试目的学习前端技术时,核心需求是快速构建简单界面、测试API交互、展示数据,无需深入复杂的前端框架。需要的是轻量、易上手且能满足调试需求的最小化前端技术栈,本文整理了适合Node.js后端工程师的前端技术。包括HTML5、JavaScript、CSS、工具(Axios、EJS、 Chart.js)及资源CDN和MDN。它可作为Node.js后端工程师的快速入门指南,帮助您快速上手前端技术,提高开发效率。

2025-09-17 10:11:51 905 1

原创 基于 Node.js 的后端框架:NestJS 和 Express(二)

Express 是基于 Node.js 平台的轻量级 Web 应用框架,它简化了原生 Node.js 开发 HTTP 服务器的复杂度,提供了简洁的 API 和丰富的功能,是 Node.js 生态中最流行的后端框架之一。NestJS 是一个基于 Node.js 的企业级后端框架,由 Kamil Myśliwiec 于 2017 年创建。它借鉴了 Angular 的模块化架构思想,结合了面向对象编程(OOP)、函数式编程(FP)和函数式响应式编程(FRP)的特点,旨在为 Node.js 开发提供结构化、可扩展

2025-09-17 09:30:18 930

原创 基于 Node.js 的后端框架:NestJS 和 Express(一)

简单说:小项目、快迭代、小团队用 Express;大项目、长期维护、大团队用 NestJS。如果项目初期不确定规模,也可先从 Express 入手,后期再根据需求迁移到 NestJS(两者生态兼容,迁移成本可控)。

2025-09-17 09:04:52 1233

原创 科普:Python中为什么“from .utils” 不能写成 “from ./utils”?

- **包结构是“逻辑关系网”**:用点号描述模块在代码组织中的位置,服务于Python的导入系统,确保代码能被正确引用和复用。 - **文件结构是“物理存储图”**:用路径分隔符描述文件在磁盘中的位置,服务于操作系统的文件管理,确保数据能被正确读写。

2025-09-15 22:03:28 354

原创 科普:Python 的包管理工具:uv 与 pip

- **pip**:Python 包管理的“基石”,兼容所有场景,但性能一般、功能零散(需配合其他工具),适合简单需求或老旧项目。- **uv**:现代 Python 包管理的“升级替代品”,以 Rust 为核心实现极致性能,整合虚拟环境、锁文件、规范兼容等功能,适合中大型项目、团队协作或追求效率的开发者。

2025-09-15 16:40:50 836

原创 科普:RAM(随机存取内存)和Flash(闪存)

RAM(随机存取内存)和Flash(闪存)的物理原理差异源于它们存储数据的底层机制,这些机制决定了它们的特性(如易失性/非易失性、读写速度等)。单片机中的 RAM(随机存取内存)和 Flash(闪存)是两种不同类型的存储器,它们在功能、特性和用途上有显著区别,共同支撑着单片机的正常工作。数据的保持完全依赖触发器的供电——断电后,晶体管失去驱动电压,触发器状态被破坏,数据立即丢失。这种物理机制的差异,导致了RAM适合高速临时存储,而Flash适合长期保存程序和固定数据,二者在单片机中形成互补。

2025-09-14 10:32:37 995

原创 科普:“烧录”和“刻录”

“烧录”更偏向**硬件底层的程序写入**,让设备“知道如何工作”;“刻录”更偏向**通用数据的存储**,让介质“保存需要的数据”。两者虽都用“烧”字,但其技术场景和目标截然不同。 对单片机进行烧录程序,不是真的“烧”,虽然早期部分存储器写入程序时会有物理层面的改变,如熔断丝,但现代单片机烧录主要是通过电信号将程序代码写入非易失性存储器中,是一种“下载”操作。

2025-09-14 10:11:39 574

原创 创建自己的Docker镜像,使用工具:GitHub(远程仓库)、GitHub Desktop(版本控制工具)、VSCode(代码编辑器)

通过添加`Dockerfile`和`.dockerignore`,并结合VSCode编辑、GitHub Desktop版本控制、Docker命令构建,即可为Python项目创建标准化镜像。核心价值在于:**确保项目在任何安装Docker的环境中都能以相同方式运行**,解决“本地能跑,部署崩了”的环境一致性问题。

2025-09-12 17:19:46 1088

原创 建自己的Python项目仓库,使用工具:GitHub(远程仓库)、GitHub Desktop(版本控制工具)、VSCode(代码编辑器)

通过本文介绍的流程,三个工具各司其职:GitHub负责远程托管,GitHub Desktop简化版本控制,VSCode专注代码开发,形成高效的协作闭环。即使是新手,也能通过可视化操作完成规范的Python项目管理。

2025-09-12 12:26:33 1093

原创 科普:管理你的代码:Git、GitHub及GitHub Desktop

1. 在 VSCode 中编辑项目代码(新建或修改)。 2. 在 GitHub Desktop 中查看修改、提交到本地仓库。 3. 通过 GitHub Desktop 推送到 GitHub 远程(或拉取远程更新)。

2025-09-12 00:00:35 1141

原创 科普:环境隔离的工具:虚拟环境与容器Docker

- 虚拟环境是“轻量级的语言依赖隔离”,适合开发时管理项目依赖; - Docker是“重量级的系统级隔离”,适合应用的打包、分发和跨环境部署; - 二者是独立的:既不冲突也不嵌套,而是可以互补:用虚拟环境做本地开发,用Docker做环境固化和部署。

2025-09-11 22:07:14 474

原创 科普:在Windows个人电脑上使用Docker的极简指南

拉取镜像 docker pull nginx:alpine 获取轻量级Nginx镜像启动容器 docker run -d -p 8080:80 nginx 映射端口到本地8080进入容器 docker exec -it <容器ID> sh 进入运行中的容器终端停止容器 docker stop <容器ID> 优雅停止容器清理资源 docker system prune -a 删除所有未使用的镜像/容器

2025-09-11 15:55:46 1052

原创 科普:企业微信的第三方应用涉及的“配置应用权限”

企业微信的第三方应用涉及“配置应用权限”,它在不同阶段含义不同:开发阶段意指**应用自身所需的功能权限**,安装阶段意指**企业管理员对应用使用范围的控制**,产生此歧义的问题,归根到低还是语言的缩写问题,设想一下,这两部分文档由不同的人员编写,是不是很容易产生这类问题?我们的文档编写人员一方面应尽量避免这方面的问题,另一方面应进行统稿工作,即各部分的内容的一致性检查。

2025-09-05 22:15:40 930

空空如也

空空如也

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

TA关注的人

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