自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Conda env & python 的包管理器

Python 有多种的工具,比如 venv, conda, uv 等等。

2025-12-22 20:56:02 368

原创 MacOS 上安装 Docker 和启动 LangBot

可以通过 下载 dmg 或者 HomeBrew 来安装。最简单还是 按豆包回答的直接装。装完后出现 Docker 图标的 APP 需要 git clone 下 LangBot code, 启动 Docker (手动打开 Docker APP 即可),然后进入相应的 .../LangBot/docker 目录 , docker-compose up -d 启动 (基于此目录中的 yaml 配置文件)

2025-12-12 09:23:14 311

原创 MacOS 安装 Docker

问豆包,按提示轻松安装好并测试通过。注意需要设置镜像加速。

2025-12-08 17:38:01 115

原创 利用和风天气服务, JWT(json web token) Token的创建

近来学习 AI Agent,LLM之外的实时能力 (工具)的构建就是一个实验对象,想到读取天气,创建这样一个 python 函数,作为工具。DeepSeek 推荐了 3 家天气 API 的供应商,

2025-12-04 13:01:09 134

原创 MacOS 安装 pytorch 出错

MacOS 15.7.2 (24G325) 安装 torch 时报错。在 Pytorch 官网 上实际是有明确 guide --尝试各种方式,花了一些时间。据此执行命令就 OK 了。

2025-11-27 15:51:32 174

原创 在 Mac上安装 Ubuntu 虚拟机的过程(通过 VMware Fusion)

1, 在 Mac上安装 Ubuntu,学习一些不依赖 英伟达 GPU 的内容。(因为 vmware 被 博通收购),然后在其浩大的网站中搜索,在学习 AI 的过程中,MacOS 并不是主流。首先在找适合 Mac 的 虚拟机(VM)工具时,尝试了。VMWare Fusion Pro 下载也很麻烦。2,租借带 GPU 的云服务器。

2025-11-27 12:20:07 423

原创 利用 Ollama 在个人电脑上做大模型的本地部署 (MacOS 为例)

本文介绍了在个人电脑上本地部署DeepSeek-R1模型的完整流程。首先需要下载安装Ollama工具,选择7b版本的deepSeek-R1模型并运行命令启动服务。然后安装Chatbox AI客户端并配置连接到本地部署。测试发现终端直接提问与通过Chatbox提问结果存在差异,且响应较慢。最终验证表明,关闭终端后仍可通过Chatbox获取答案,确认了本地部署成功。整个过程展示了如何将大语言模型部署到本地环境并进行交互测试。

2025-11-20 17:25:01 195

原创 AI Prompt 的 使用要点

这样就实现了常常讲的 --- 明确目的,表明角色(出发点/角度), 要实现的具体功能,达到具体要求/指标。同时,可以明确要求输出的格式 (markdown, json等等)0,AI prompt,是新一代司机(马车夫-> 手动档汽车夫 -> 自动挡 汽车夫 -> ...)在新时代需要的基本技能。另,在 AI 的实用写作,比如简历,务必提供好清晰描述个人的优势、目标;请它来根据岗位画像有针对性地调整简历。2, 不能尽信AI,对生成结果要: 1)验证基本事实(比如 用 baidu搜索年度,确认无误);

2025-11-20 11:52:08 181

原创 defaultdict 的使用

Python 的字典 dict 数据类型方便强大,在有 hash 表的场合常用。Collections 模块是在 dict 基础上的扩充。普通 dict 也可用 dict.get() 来避免 KeyError,而 defaultdict 更加方便。,解决了普通字典访问不存在的键时抛出。是 Python 标准库。中的一个类,用于创建。

2025-11-19 16:53:38 180

原创 备忘,pandoc -- 用于md/html 文件和 docx、pdf 等互转

MacOS : 先安装 pandoc -- “之后,命令行转换 -- “

2025-11-18 15:48:16 186

原创 Git 命令报错“error: non-monotonic index...” --- 踩坑 MacOS 对 ExFAT 磁盘的支持问题

在Intel芯片MacBook Pro双系统环境下,执行git clone到ExFAT共享分区时出现"error:non-monotonic index..."错误,且iTerm2提示符显示异常。虽然后续git命令仍可执行但持续报错。经排查发现,当将git仓库克隆到MacOS原生的APFS文件系统(~/)时运行正常,表明ExFAT文件系统对Git支持存在问题。这可能是由于ExFAT的文件系统特性与Git不兼容所致,建议在开发环境中优先使用原生APFS文件系统。

2025-11-07 12:37:04 225

原创 python 的__XX__

通过下面的 IDLE 的例子,可以看到对于一个列表的实例对象,通过 dir(a)可以 方便地列出其所有 python 属性,__XX__是所谓的 magic 方法,实现了算符运算(+,* 等),取值 (a[2]),获取帮助(__doc__) 等;还有通常的用户调用的所有方法,比如 a.sort(reversed=False), a.count(5)等等。python 的三板斧, print, type, dir 可以显现 python 语言的灵活性。

2025-10-28 12:05:56 140

原创 推荐《翦商》

在 优快云 这个讨论技术的社区,推荐人文书籍。貌似不搭界。但是看技术类的闲暇之余,更多时间喜欢花在人文类书籍上。《翦商》是过去一年反复在喜马拉雅听过,又买书来看的一本。很有启发,收获远超过对技术上的细枝末节的了解所带来的。中华古文明,辉煌灿烂的种种,不必赘述。各省博物馆里面精巧、汗牛充栋的文物,早说明了这一点。我国建国、改开以来迅速和发达国家拉平差距,归根结底是文化上、政治上的优势。

2025-10-23 15:47:27 614

原创 python 中的元祖 tuple()

Python元组是不可变序列,常用于函数多参数返回,这是Python的灵活特性之一。相比列表,元组更安全高效,适合存储不变数据。其不可变性确保数据不被修改,适合作为字典键值或函数返回值。这一设计体现了Python的简洁实用风格。

2025-10-23 13:36:03 167

原创 python 中的 dir()

对 dir,确实有所启发,在 python coding 的过程中,时长需要去上网搜一些方法,比如针对 list,string等。以下长截图来自豆包。

2025-10-23 12:30:07 213

原创 python中的[:]

本文介绍了Python中[:]切片操作符的两种主要用法及其区别。在等号后使用时(a[:])会创建列表的浅拷贝副本,适用于保护原列表不被修改;在等号前使用时(a[:]=...)则会清空原列表并替换元素,实现原地修改。通过一个合并数组的实例展示了直接赋值与[:]操作的区别:前者仅创建引用,而后者真正修改了原列表内容。文章还指出浅拷贝的局限性(对嵌套可变对象无效)及深拷贝的解决方案。该操作符主要用于安全操作列表、避免意外修改输入参数等场景。

2025-10-22 12:04:31 264

原创 Brew Install 遇到外网连不上的问题

接着就可以用 brew install xxx 来安装 wget,tree ,lua等等了。查百度,该说不说,现在百度的AI 提示非常好。使用国内镜像,早有国内大佬做的漂亮 --homebrew 的官网。这是 Brew 的介绍。

2025-09-28 12:50:51 173

原创 IPython 的使用

IPython 是增强的交互Python。比python自带的交互,以及IDLE 要强大得多。开发场景中,或者用PyCharm开发大段的、整个的项目,或者用IPython (Jupter Notebook) 做短平快的尝试。安装后,可以看到它的帮助文档。

2024-10-21 19:56:14 283

原创 Python 通过装饰器实现对函数执行时间的打印

在Pytest里面用使用了大量的装饰器,从而实现对一个基础Test Case(测试函数),通过赋予不同的输入参数实现不同Case的执行,或者记录测试结果(mark),或者做到Startup, teardown的作用(fixture)。在我们写程序过程中,也可以自己创建装饰器,来实现对函数或类的各种增强。本文用一个例子,打印函数的执行时间,来做个说明。这样就实现了工程中debug阶段对性能的初步判断,而不必在每个函数中都写重复的代码。Python 的装饰器属于Python的进阶概念,一般用于装饰函数和类。

2024-10-21 10:02:11 354

原创 Python中线程实践的一些探索

利用 threading package,threading.Lock.acquire() 和 threading.Lock.release() 方法,对某些关键变量访问的限制(锁),可以实现。遇到一个题,要求分3个线程,每个调用一个方法,实现0 1 0 2 0 3 0 4 0 5...这样的标准输出。豆包AI 提供了用threading.condition 这样比较高级的调用。结果在屏幕上秒出,应该是毫秒级别的。找了半天,没有解决。计算得知需要5秒多。

2024-09-29 09:33:00 241

原创 二叉树的遍历-- 使用顺序存储(也就是用列表)和链式存储(对象)

二叉树的遍历(Traversal)是指沿着某条搜索路线,依次对树中的每个节点做一次且仅做一次的访问。二叉树(Binary Tree)是指树中节点的度不大于2的有序树(左子树先于右子树)分为先序遍历,中序遍历,后序遍历。

2024-09-24 17:55:32 306

原创 斐波那契数列实现的几种写法---分析递归、迭代器、生成器、暴力解法的优劣

实际上,对于这种简单问题,这种实现是为了说明迭代器、生成器的基本使用方法。如果考虑到在编程中就事论事地解决问题。我们还是迭代和直接推算等方法。如果n 很大,迭代方法最不可取,因为占用大量栈空间,而且是一次算完。其次是直接暴力解法,而迭代器,生成器是基于单值, 貌似可控一些吧。前面有篇文章,描述了斐波那契数列,如何用迭代器或生成器来生成。

2024-09-20 19:57:26 335

原创 Python中 递归(Recursion)的使用浅析

对于简单的迭代,比如阶乘、斐波那契数列,用递归函数可以,但是不如迭代器、生成器高效,因为它们的本质是执行一次后停下再按要求执行下一次,而递归调用的本质是不断压栈,会占用大量的栈空间,如果递归深度过大(例如处理大规模数据或者复杂的递归结构时),可能会导致栈溢出错误。如果没有正确设置递归基例,递归函数将无限地调用自身,直到耗尽系统资源(如栈空间),导致程序崩溃。的情形,比如阶乘,树的深度等的程序设计情形,是使用递归的场景。类似功能的实现,在Python里面有迭代器和生成器(以类或函数为基础的单值生成器)。

2024-09-19 12:11:55 741

原创 Python多线程,4,协程

今天看到Python 中有协程这个概念。想起了性能测试的曲线图。

2024-09-19 11:30:15 260

原创 Python 中Collections 库的使用

说 -- “这个模块实现了一些专门化的容器,提供了对 Python 的通用内建容器。类似列表的容器,但 append 和 pop 在其两端的速度都很快。一个工厂函数,用来创建元组的子类,子类的字段是有名称的。字典的子类,通过调用用户指定的工厂函数,为键提供默认值。类似字典的类,用于创建包含多个映射的单个视图。字典的子类,能记住条目被添加进去的顺序。是Python的数据容器类。封装了字符串对象,简化了字符串子类化。封装了字典对象,简化了字典子类化。封装了列表对象,简化了列表子类化。

2024-09-03 16:42:53 370 1

原创 Python多线程,3 -- 最常用的,继承threading.Thread, 如果需要的话重写run()

从threading.Thread类派生子类,将线程相关代码放在这个子类里面,而且。这和之前用过的C++ pthread 貌似是一致的。

2023-06-01 18:00:53 301

原创 Python多线程,2 -- 提高型, threading 模块

在上篇文章中提到了基础型的_thread模块,用起来需要用户手动保障线程在主程序前执行完毕,通过延时(或等待输入)、锁和锁释放这种方式。相比而言,threading 模块使用起来更加方便。

2023-06-01 16:12:39 242

原创 Python多线程,1 -- 基础型, _thread 模块

需要注意的是,当使用strart_new_thread() 启动线程运行特定函数,必须注意有措施保障它在主程序完结前运行完成,否则主程序退出时,线程函数还没来得及执行。例如_thread,注意python2中这个模块称为thread,在python3中改名为。以前在C++中用过多线程pthread,现在尝试一下Python中的多线程(multi thread)的定义如下,可以承载一个函数,并传递其元组和字典格式的参数。只有把最后两行选择一行去掉注释,才会得到期望的执行结果,如下图。

2023-06-01 12:16:40 337

原创 Python中判断数据类型

4. 针对string, 它自身有不少相应的判断函数。3. 以上对于float, string 也类似。python中判断数据类型非常简单。中直接用内建函数type()来判断,依然在IDLE中举例。2. 代码中就可以用。

2023-05-30 10:52:32 4204 1

原创 进程间通信 Inter-process communication

进程间通信有多种方式,经历过的有message queue,socket,share memory, signal等等。看到一位大神把维基百科直接翻译了一下,觉着有用,引用一下,备忘。

2023-05-29 18:25:14 221 1

原创 Python中的“with”关键字

Python中的“with”关键字的原理和使用

2023-05-20 16:20:23 367 1

原创 Python: Socket编程举例 (和C/C++ socket 编程类似)

对编程而言,Socket是底层网络接口。简而言之,对, Socket 就是主机(主机名或者IP地址)加上端口号,是计算机开发者对传输层协议(TCP/UDP)等的封装实现。注意: 如果是对, Socket 就是 (host, port, flowinfo, scope_id)参见。

2023-05-08 18:06:25 392 1

原创 Python: 如何用Python的迭代器或生成器实现斐波那契数列

是指这样一个数列:1,1,2,3,5,8,13,21,34,55,89...这个数列从第3项开始,每一项都等于前两项之和。斐波那契数列的定义者,是意大利数学家莱昂纳多·斐波那契(Leonardo Fibonacci))。因数学家莱昂纳多·斐波那契(以兔子繁殖为例子而引入,故又称为”兔子数列“。斐波那契数列又称黄金分割数列,n越大,相邻两值的比越接近黄金分割0.618,非常有趣。百度百科上有这个数列的详细介绍斐波那契数列应用广泛。

2023-04-28 12:20:32 780 1

原创 Python 迭代器和生成器的本质

Python 的迭代器和生成器是初学者比较挑战的两个概念。本质而言,都是为了节省内存、加快速度(尤其是为大规模的计算),从而迭代(迭代就是循环的意思)生成一次单值结果,一步步迫进到最终的结果。rt: #因为 RightTriangle 是可迭代的,所以可以这么写。

2023-04-27 20:29:31 194 1

空空如也

空空如也

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

TA关注的人

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