Symfony 常被当成「Laravel 的竞争对手」,其实它更像PHP 的标准库。
赋值把名字绑定到对象,两个名字可以指向同一个列表。不可变值的重新绑定与可变对象的原地修改需要分开理解。
Laravel 入口:路由把请求交给控制器,容器提供依赖,视图或 JSON 形成响应。约定减少配置,但每一步仍有可追踪的输入输出。
模块被导入时会执行顶层代码。name 判断帮助区分“直接运行入口”和“作为工具被导入”。
Throwable 是可捕获错误与异常的共同接口。捕获后应恢复、转换或传播,不是把所有失败都变成成功返回。
一、现象与影响面:加了 swap,卡顿没走 症状:小内存服务器(1-2G)周期性卡顿几十秒又自己恢复,SSH 敲命令都慢半拍;或者你已经加了 swap,"该好一点了"却没有——卡顿照旧,只是换了个姿势。内存压力的卡是全场一起卡:接口超时、数据库慢、命令行卡顿同时出现,这与单进程吃 CPU 的问题形态完全不同。 动手之前先立一个判断原则:swap 是…
解释器决定语言行为,虚拟环境隔离项目依赖,uv 等工具管理安装与解析。当前终端找到的 Python 不一定是项目使用的 Python。
AI 成本失控不是因为模型贵,而是设计上没做节约。先认清输入是主要成本(RAG 场景片段占 80%);七个降本手段按投入产出排序;缓存只对 temperature≈0;片段压缩与输出限制的具体做法;任务路由常降 50-70%;以及一个从 4500 降到 900 的真实案例。
提示词不是「说得客气」,而是把输出空间约束到想要的形状。讲 schema + 示例的结构化输出、few-shot 的示例选择(覆盖边界比数量重要)、CoT 何时有用何时有害、角色描述为何有效、六类失败模式的针对性修法、以及为什么必须维护测试集。
Agent 是「调用工具、观察结果、决定下一步」的循环,难在写稳。完整骨架 + 三重防护(max_steps、重复调用检测、结果截断)、工具描述要写「何时使用」、错误作为观察结果返回而非抛异常、上下文膨胀的三种压缩、trace 记录每步成本。