在抖音上被喷惨了
我大概两个月前开始做一个抖音账号。
因为是业余时间做的,基本上都是下班路上随便找个地方坐下来讲一些话题,或者就是在书房录制一些视频。算是佛系更新吧。
我前天没有啥话题,正好在南京南的站台上有很多人抽烟,我就随手拍了一张照片吐槽一下。没想到因为这个只有一张照片的短视频,我被喷惨了。
我大概两个月前开始做一个抖音账号。
因为是业余时间做的,基本上都是下班路上随便找个地方坐下来讲一些话题,或者就是在书房录制一些视频。算是佛系更新吧。
我前天没有啥话题,正好在南京南的站台上有很多人抽烟,我就随手拍了一张照片吐槽一下。没想到因为这个只有一张照片的短视频,我被喷惨了。
作为一名cursor的重度用户,在差不多连续订阅一年之后,它几乎成为了我在编码过程中不可或缺的助手。
但是,就像跟任何队友协作一样,沟通的质量决定的协作的效率。
尽管已经使用cursor快一年了,但是还从来没有写过任何关于cursor的博客。
我最近几年非常怀念高中时期,尤其是高一第二个学期和高二的第一个学期,准确地说是怀念高中时期可以专注的那种状态。
那段时间,是我人生三十多年来“最专注”的一段时间。
我还很清楚地记得那段时间可以忘记一切专心写试卷(看错题或者看书)的状态,甚至有点对那种状态有一点上瘾。我现在知道那种状态叫做“心流”。
这篇文章是由我跟 AI(大模型)共同创作的,大致的流程是我在写代码的时候用到了这个模块,在 IDE 中通过 AI(Github Copilot/cursor 等)已经关于这个话题有了一个比较深入的交流,AI 和我都阅读了相关的代码,然后让它写成一个博客。我会人工 review 这个博客,修改其中不合理或者不正确的地方。
我发现这么做可以加深我对相关技术栈的印象和理解,但是这好像也不太符合独立博客的调性,所以我为了这一类博客加了一个特定的 tag:AI共创,如果你不喜欢这一类文章,就请忽略带有这个tag 的文章。
MarkItDown是由微软AutoGen团队开发的轻量级Python工具,专注于将各种文件格式转换为Markdown。与其他文本提取工具相比,它的特点在于能够保留文档的重要结构和内容元素(如标题、列表、表格和链接等),使转换后的内容更加适合大模型(LLM)处理和文本分析。
我昨天看到一个朋友发了一个动态,内容是他让 chatgpt 根据对他的记忆提出批判性的建议,帮助他改善人生。(chatgpt 有一个功能,可以引用我们跟它所有的聊天记录)
我觉得很有趣,而且提出来建议也确实很准,我今天也试了一下。感觉一下子就被戳中心灵。
我的问题是:
下面的内容是我跟 Gemini 2.5 Pro 探讨关于Pydantic 的 Alias 问题之后,让它总结的一篇技术博客。
我已经有很长一段时间没有好好写技术类的博客了,这就是原因。
作为一名后端开发者,我经常面临的一个挑战是如何优雅地处理外部数据表示(比如 JSON API 中的字段名)与我期望在 Python 代码中使用的内部表示之间的差异。很多时候,前端开发者或者外部服务期望 JSON 键使用camelCase
(驼峰命名),而我那颗 Pythonic 的心则呼唤着snake_case
(蛇形命名)。又或者,我可能需要与一些遗留系统集成,它们使用的字段名可能相当晦涩,我希望能将它们映射到内部更有意义的名称上。
这正是 Pydantic——FastAPI 的数据验证和序列化主力军——凭借其强大的别名功能大放异彩的地方。在这篇博客中,我想和大家分享我对alias
、serialization_alias
、validation_alias
以及强大的model_config
(在 Pydantic V1 中是Config
类)的理解和实践经验,看看它们是如何帮助我驯服这些命名“丛林”的。