- 博客(69)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 开启AI大模型之旅
如果你也渴望踏入这个激动人心的领域,那么"AI大模型基础预习篇"的学习目标将为你指明方向。提示工程(Prompt Engineering)是一门设计和优化输入(即"提示"或"Prompt")的学科,旨在引导大模型生成更准确、相关和有用的输出。AI大模型是未来的趋势,而掌握其基础原理和提示工程的艺术,将是你在这场技术浪潮中乘风破浪的关键能力。**提示工程让你知道"如何做"**:如何与模型有效交互?**原理让你理解"为什么"**:为什么模型能工作?AI技术日新月异,新的模型架构、训练方法、应用场景不断涌现。
2025-11-11 01:39:49
690
原创 Python列表推导与Pythonic编程:从表象到本质的深度解析
1. **解释器开销**:每次循环中,Python解释器都需要确定序列中的哪个部分被修改,增加了运行时开销。**实际情况:** 对于简单操作,列表推导确实更快。3. **内存操作**:频繁的`append`操作可能导致列表的多次内存重新分配。**原则:** 如果列表推导超过3-4行,或者包含复杂的嵌套逻辑,考虑使用循环。- **性能提升**:列表推导在C层面实现,比Python循环快得多。**建议:** 对于复杂逻辑,优先考虑可读性,性能差异通常可以忽略。
2025-11-07 15:31:22
690
原创 二十年编程路:从 Hello World 到技术导师的成长历程
在计算机的世界里,二十年意味着什么?对于我来说,这是从懵懂少年到技术导师的完整旅程,是见证了编程语言从 C/C++ 到 Python、从单体应用到微服务架构的变迁史,更是从单纯追求技术到理解技术本质的认知升华。今天,我想分享这二十年来的心路历程,希望能给正在路上的程序员朋友们一些启发
2025-11-05 20:04:34
866
原创 Django 深度解析:从架构原理到生产实践的高级Web开发指南
Django 作为 Python 生态系统中最成熟的 Web 框架之一,以其"约定优于配置"的设计哲学和完整的开箱即用功能而闻名。然而,要真正掌握 Django 并构建高性能、可扩展的生产级应用,需要深入理解其核心架构、中间件机制、ORM 优化、安全实践等高级主题。本文将从架构设计、性能优化、安全加固、最佳实践等多个维度,深入探讨 Django 的精髓。
2025-11-05 20:04:07
440
原创 Asyncio 深度解析:从原理到实践的高级异步编程指南
Python 的 asyncio 模块自 Python 3.4 引入以来,已成为现代 Python 异步编程的核心。然而,许多开发者仅仅停留在表面使用,对其内部机制和高级特性缺乏深入理解。本文将从事件循环的底层实现、协程调度机制、性能优化策略、常见陷阱与最佳实践等多个维度,深入探讨 asyncio 的精髓。
2025-11-04 16:05:20
522
原创 Excel 处理库深度对比:openpyxl 与 xlrd 的实战解析
在Python数据处理领域,Excel文件操作是最常见的需求之一。无论是数据分析、报表生成还是数据交换,选择合适的Excel处理库至关重要。本文将对Python生态中两个重要的Excel处理库 openpyxl 和 xlrd 进行深度解析和对比,帮助开发者根据实际场景选择最适合的工具。
2025-11-04 01:08:10
1041
原创 itertools 模块深度解析:高效迭代工具的使用与实践
在Python编程中,处理迭代器和生成器是日常开发中经常遇到的任务。Python标准库中的itertools模块提供了一系列高效、优雅的工具函数,可以帮助我们更简洁地处理各种迭代场景。本文将深入解析itertools模块的核心功能、使用技巧以及实际应用场景。
2025-11-04 00:50:25
555
原创 金蝶物料明细增量查询入库
print(f" ✅ 第 {batch_num}/{total_batches} 批: 已插入 {batch_inserted}/{total_rows} 条记录")print(f" ⚠️ {table_name}: 成功插入 {batch_inserted}/{total_rows} 条记录,失败 {len(failed_batches)} 批")print(f" ⚠️ 第 {batch_num} 批插入失败,重试中... ({retry_count}/{max_retries})")
2025-11-04 00:32:07
750
原创 WDT 平台货品查询接口数据增量提取入库
print(f"✅ 成功加载数据库配置: {db_config['host']}:{db_config['port']}/{db_config['database']}")1. API响应格式:标准响应 {'status': 0, 'data': {'goods_list': [...], 'total_count': N}}return value, MATCH_TARGET_TYPE_MAP.get(type_code, f'未知({value})')
2025-11-04 00:29:39
764
原创 subprocess 模块深入解析:系统交互的必备技能
最近在写一个自动化部署脚本,需要调用很多系统命令。刚开始用的是 `os.system()`,后来发现不够灵活,而且有些坑。查了资料后改用 `subprocess`,发现这玩意儿功能强大得多。今天就把我用 subprocess 的经验分享一下。
2025-11-03 02:45:30
902
原创 Pandas 实战:用它解决的数据处理问题
最近在做一个数据分析项目,用 Pandas 处理了几百万行的数据。我用它处理过几百万行的数据,做过各种复杂的数据清洗和转换。df = pd.read_csv('large_file.csv', usecols=['列1', '列2', '列3'])user_stats.columns = ['用户ID', '总消费', '平均消费', '订单数', '最后购买日期']'城市': ['北京', '上海', '北京', None, '广州', '北京', '深圳', '北京']
2025-11-03 02:29:38
755
原创 聊聊 Python 的 heapq:你可能不知道的那些用法
heapreplace()` 这个函数挺有意思的,它先把堆顶元素拿出来,然后把新元素放进去,一步到位。`heappush()` 用来添加元素,会自动维护堆的性质,时间复杂度 O(log n)。总的来说,`heapq` 是个非常实用的模块,特别是在刷题和做算法优化的时候。有时候只是想知道最小值是啥,不想真的取出来,直接用 `heap[0]` 就行,O(1) 操作,快得很。这个用得不多,但在某些场景下还是很有用的,比如在做滑动窗口的时候,需要频繁查看最小值但不想立马删除。这个在实现优先队列的时候是核心操作。
2025-11-03 02:14:53
850
原创 Python技术应用工程师认证需要学习什么?
Python技术应用工程师证书考试旨在评估考生在实际项目开发中运用Python技术的能力,包括基础语法、常用库、Web开发、数据处理、系统运维等多个维度的综合应用能力。
2025-11-03 00:36:24
1010
原创 实时获取气象信息
weather_keywords = ['晴', '雨', '雪', '阴', '雾', '霾', '多云', '小雨', '中雨', '大雨']print(f" 天气: {forecast.get('weather', '未知')}")print(f"🕐 更新时间: {data.get('update_time', '未知')}")print(f" 日期: {forecast.get('date', '未知')}")print(f"📍 城市: {data.get('city', '未知')}")
2025-11-01 17:48:03
757
原创 自动注释接口不存在的字段
在调用金蝶云星空接口时,用金蝶云星空API文档提供的字段参数,由于API文档未及时更新,调用接口时,会有多次提示字段不存在,这样会严重影响开发效率,为了提高开发效率,需要在调用接口时,在返回结果中包含“字段不存在”字样时能自动注释不存在的字段
2025-10-23 00:36:39
760
原创 python读取金蝶物料接口
print(f"正在获取第 {start_row//page_size + 1} 页数据 (StartRow: {start_row}, Limit: {page_size})")print(f"✅ 成功加载数据库配置: {db_config['host']}:{db_config['port']}/{db_config['database']}")print(f"✅ 第 {start_row//page_size + 1} 页获取到 {len(current_page_materials)} 条数据")
2025-10-21 19:01:58
764
原创 网络爬虫模拟浏览器,欺骗服务器,获取和浏览器一致的内容
print(f"✅ 成功获取页面内容,长度: {len(content)} 字符")print(f"POST响应: {response[:200]}...")print(f"✅ 已更新请求头: {custom_headers}")print(f"页面标题: {content[:100]}...")print(f"正在发送POST请求: {url}")print(f"使用请求头: {headers}")print(f"JSON数据: {json_data}")
2025-10-19 07:48:02
661
翻译 ORACLE锁
DML锁又可以分为,行锁、表锁、死锁-行锁:当事务执行数据库插入、更新、删除操作时,该事务自动获得操作表中操作行的排它锁。 -表级锁:当事务获得行锁后,此事务也将自动获得该行的表锁(共享锁),以防止其它事务进行DDL语句影响记录行的更新。事务也可以在进行过程中获得共享锁或排它锁,只有当事务显示使用LOCK TABLE语句显示的定义一个排它锁时,事务才会获得表上的排它锁,也可使用LOCK T
2014-12-30 14:24:06
653
原创 随想
人往往在不同的阶段碰到不同的坑,当你发现前面有个小坑时,用力跳过这个小坑,结果却掉进更大的坑。事情往往就是这样,是生不逢时,还是现实的无奈,不管如何,天地间你总似渺小的一粒尘埃。沮丧也罢,愤怒也罢,所有一切无事无补。
2014-11-26 14:28:24
501
原创 此生真的就这样了吗?
不知不觉间时光从一个懵懂少年流淌至而立之年,而立之年却不知从何而立,何处可立。努力过,没有坚持目标去践行;而今感觉是自己价值无从体现,生命的意义和价值都背离了最初的誓言,而今何去何从,此生真的就这样了吗?
2013-12-06 13:49:37
745
原创 xml 中的xsi 是什么意思
http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">xsi全名:
2013-06-22 20:07:54
1665
原创 在适合自己的地方闪光
五月份辞职了,现在正在找工作,GIS行业,现在一下没有了经济来源,压力超大,希望这个月能幸运找到适合的工作。几年来做了几家公司,总的来说,不要频繁的跳槽,多了对自己没有好处。要有一个明确的职业规划,再做几年可能会考虑转型,转顾问或管理之类的,比较理想的状况是拥有自己的公司,前面有面试的公司,尽是些如:as2和as3,flex builder3 和flash builder4的区别等一些东西,真是无
2013-05-08 11:05:23
573
转载 高级SQL优化(三) 常用优化工具
SQL*PLUS下使用AUTOTRACE1.AUTOTRACE简介 AUTOTRACE是SQL*Plus的一项功能,其作用是自动跟踪SQL语句,为SQL 语句生成一个 执行计划并且提供与该语句的处理有关的统计信息。SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是不必设置跟踪文件的格式,并且它将自动为 S
2013-05-05 19:04:00
889
转载 高级SQL优化(二)
充分利用索引索引的限制1. 索引对不等号和NOT的限制 如果WHERE条件中出现!=或者Oracle 10g起,在基于CBO的优化器模式下Oralce会进行自动优化,但在基于RBO(基于规则)的优化器模式下,依然保持此规则。 1. 索引对不等号和NOT的限制 RBO模式下,执行计划如下:
2013-05-05 19:03:00
530
转载 高级SQL优化(一)
SQL优化简介一般在应用中, 糟糕的SQL语句是造成系统性能低下的最主要原因,例如大小写的不统一、同样的SQL语句不同的写法等。而且,随着数据量的增加,情况会变得越来越严重。(题外话:优秀的Oracle数据库优化人才,是任何公司都稀缺的) SQL优化又称SQL调节,其步骤一般包括: SQL调节的目标 SQL调节包括三大目
2013-05-05 19:02:05
667
转载 海量数据库及分区4
管理分区增加索引分区本地索引无法明确的增加分区,其增加只能是基表增加分区,此时新增加的索引分区的名字是Oracle自命名的,但可以给其重新命名。也可是使用ALTER INDEX index_name MODIFY DEFAULT ARRTIBUTES TABLASEPACE tablespace_name修改本地索引分区默认的表空间后,再使用ADD PAR
2013-05-05 19:00:57
650
转载 海量数据库及分区3
分区的性能分区剪切分区剪切功能能极大的提高SQL性能,原因是Oracle优化器分析SQL的FROM语句和WHERE子句时,在构建分区访问列表时会首先排除掉不需要的分区,因而确保SQL只在相关的分区上操作,这就必然会带来数据范围的缩减,降低了I/O,中众所周知I/O是性能的瓶颈。1.环境准备 创建一个与表ACCOUNT_TRADE_CLL结构完全想相同
2013-05-05 19:00:02
639
转载 海量数据库及分区2
分区表组合分区组合分区又称为复合分区,是使用三种基本分区策略在一种分区的基础上再进行二次分区,即子分区。对于某个分区的子分区来说,其实际上是该分区数据的逻辑子集。组合分区支持历史操作,如增加新的范围分区,其同时也支持更细粒度的分区修剪。 1.复合范围-范围分区 复合范围-范围分区允许在两个维度的逻辑范围内分区。其语法:
2013-05-05 18:58:40
550
转载 海量数据库及分区1
原规划本课的内容为表分区,即单级分区表的简要知识,规划为一课。由于近年来行业内海量数据处理人才紧缺,现根据读者反馈将内容调整为四课,以详细讨论海量数据库的全部主要知识,并辅以大量实践练习,以期有志于研究学习VLDB的读者通过加量的课程学习能达到建立起VLDB基础理论体系,迅速适应相应的海量数据库设计和开发工作的效果。 VLDB概述引子
2013-05-05 18:57:39
691
转载 Oracle体系结构2
Oracle实例当把一个关闭的数据库手动启动并装载和打开,从而使数据库变得有效时,分别经历的阶段如下:l启动实例而不装载数据库l数据库装载l数据库打开1.启动实例,此时执行如下操作:l从OS指定位置处检索服务器参数文件,如果没找到则通过启动命令中是使用SPFILE还是PFILE替代默认的文件使用该文本初始化参数文件l从初始化文
2013-05-05 18:56:42
623
转载 Oracle体系结构1
关系模型关系数据库是一个符合关系模型理论的数据库。 关系模型主要有以下三方面特性:l结构性:定义良好的数据存储和访问机制l易操作性:具有清晰定义的访问机制,通过应用能操纵数据中的结构和数据l完整性规则:完整性规则用来管理结构和数据 关系数据库适用简单的关系(二维表)存储数据,而关系是一个元组、元组中存储的是无序的属性值。表是一个行(元组)
2013-05-05 18:55:11
675
转载 表分析、约束及表间关系
表分析Oracle优化器简述 Oracle提供两种优化器,CBO(Cost based Optimizer)和RBO(Ruler Based Optimizer)。CBO要求的是 最有效的方式是成本最小的访问方法,其中成本也称为开销,主要指I/O时间和CPU时间,大多数情况下,主要开销在对磁盘的I/O的开销。CBO的依据包括:
2013-05-05 18:53:48
1331
转载 索引及优化之表分析
本课内容属于Oracle性能调优部分的初级内容,为常规的工作内容,包括 索引的使用和 表分析。环境准备概述针对前面章节中用到的数据库表teachers:1.建立一个1:1的表记录其银行账户记录表;2.再建立一个1:n的账户交易信息表,用来记录用户从账户中存钱和取钱的交易记录。3.编写一个程序,生成该交易表的记录信息,要求至
2013-05-05 18:52:45
1003
转载 《12年资深DBA教你Oracle开发与优化——性能优化部分》-Oracle数据完整性和锁机制
本课内容属于Oracle高级课程范畴,内容略微偏向理论性,但是与数据库程序开发和管理、优化密切相关;另外本课的部分内容在前面章节已经涉及,请注意理论联系实际。事务 事务(Transaction)从 通讯的角度看:是用户定义的数据库操作序列,这些操作要么全做、要么全不做,是不可分割的一个工作单元。事务控制语句称为TCL,一般包括Commit和Rol
2013-05-05 18:50:08
578
转载 算法之快速排序
import java.util.Comparator;import java.util.Random; public class Quicksort { public static final Random RND = new Random(); private static void swap(Object[] array, int i, int j) {
2012-12-11 15:23:18
376
转载 算法之冒泡排序
public static void main(String[] args){ //测试数据 int arr[] = {5, 4, 1, 3, 6}; //冒泡排序 bubbleSort(arr, 5); //打印排序结果 int i; for(i = 0; i System.out.print
2012-12-11 15:10:19
382
转载 算法之希尔排序
public static void main(String[] args){ Random r = new Random(); Comparable[] data = new Comparable[20]; for(int i = 0; i data[i] = r.nextIn
2012-12-11 14:47:38
350
转载 算法之分冶法合并算法
//递归分成小部分 public void merge_sort(int[] arrays,int start,int end){ if(start<end){ int m=(start+end)/2; merge_sort(arrays,start,m); merge_sort(arrays,m+1,
2012-12-11 11:43:53
799
转载 算法之分冶算法-合并算法
private static int[] mergeSort(int[] array) { //如果数组的长度大于1,继续分解数组 if (array.length > 1) { int leftLength = array.length / 2; int rightLength = array.lengt
2012-12-11 11:41:17
407
spring boot数据同步工具源码,spring boot框架,quartz+多线程+ReentrantLock管理
2025-10-31
仿GOOGLE地图简易地图引擎
2019-11-26
语言集成查询LINQPAD
2015-10-12
IMP-00038无法转换为环境字符集句柄
2015-04-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅