视频笔记-12个月内改变你生活的十二条规则
摘要: 原视频:12 Rules To Change Your Life In 12 Months 核心要点 自由与规则的平衡:绝对自由导致混乱,真正的自由需建立个人化生活规则 心流状态是幸福来源:通过掌控意识内容创造沉浸式创造力与生活投入 卓越追求需双重视野:结合理想目标与远离平庸的反面愿景进行自我修正 标准体系塑造身份:物质与精神层面的自我标准驱动多巴胺分泌与行为改变 创造力是人类本质:通过问题解决与知识积累推动文明进化,需突破单一成功范式 自由与规则的悖论 自由的幻觉 人们普遍认为自由是生活的终极目标,但这种认知存在根本性偏差。绝对自由意味着无限制、无约束的状态,实际上等同于混乱。多数人误以为自己渴望自由,实则是因为生活在他人制定的规则体系中。当个体试图逃离现有规则时,往往只能短暂获得"假期式"的解脱,最终仍会回归原有状态。 心流状态的构建 心流心理学创始人Mihi Chickpet指出,真正的幸福源于对意识内容的掌控。当个体能够创造并沉浸于心流状态时,会体验到深度的创造力与生活投入。这种意识的秩序性直接关联到生活的享受程度,而混乱的意识状态则导致精神层面的失衡。 追求卓越的路径 卓越的追求需要双重机制:正面愿景与反面愿景的结合。前者指向理想目标,后者则聚焦于远离平庸。通过持续观察社会行为模式,个体可逐步明确自身行动准则。例如,通过分析他人购物习惯、社交方式等细节,可修正自身行为轨迹。这种自我认知的建立需要长期实践,如七次失败后才能掌握工作节奏。 标准创造身份 个人身份的塑造依赖于自我设定的标准。当银行账户仅有50美分时,个体不会主动寻求改变;但当拥有10万美元时,低于该标准的状态会触发改进动力。这种标准体系不仅影响物质层面,更塑造精神层面的生存机制。多巴胺的分泌机制会促使个体主动搜索解决方案,通过微小选择的累积实现质变。 生活准则的实践 真正的自由在于创建个人化的生活规则。当个体建立清晰的愿景框架后,所有行动都将围绕该框架展开。这种结构化的思维模式能有效消除对未知的恐惧,使个体在追求卓越的过程中保持方向感。最终,通过持续解决问题的项目化实践,可实现思想、身体、精神的全面进化。 电子游戏的影响与个人成长 电子游戏常被比作快餐式的娱乐,但其对生活的影响远非表面。部分人认为游戏不会损害大脑功能,但基于个人经历,长时间沉浸于游戏(如每天12小时玩《魔兽世界》)会严重破坏生活平衡。这种现象并非需要辩护的错误,而是对自我认知的直接反映。若对生活状态有清晰认知,无需为行为寻找借口,因为自信源于对自身选择的掌控。 个人目标与项目管理 设定目标时需明确区分必要牺牲与可接受的妥协。多数人将健康、人际关系视为创业过程中的自然代价,但真正高效的方式是通过创造性思维建立可持续模式。例如,每天工作4小时而非12小时,可实现更高杠杆的商业机会。关键在于将目标转化为可执行的项目,而非单纯依赖计划或策略。项目是行动与策略的结合体,其价值体现在实际成果而非抽象规划。 日常杠杆与行动力 每日完成1-3项优先任务是推动项目进展的核心。若两周内未见明显进展,说明行动方向存在偏差。多数人潜意识中追求"保持不变"的路径,这种程式化目标阻碍了成长。通过项目构建的反馈循环,可将生活转化为持续优化的过程。重要的是区分娱乐与学习:被动观看教程或视频属于娱乐,而通过实际项目获取知识才是有效学习。 深度通才与认知重构 人类天生具备多面手特质,通过工具(物理或思维)适应不同环境。传统教育体系压抑了这种能力,使多数人失去探索未知的本能。儿童时期的好奇心与试错精神是学习的核心动力,但社会规训常将这些特质视为"不文明"。真正的成长路径应突破单一成功范式,通过多元兴趣探索构建个人认知体系。 创业精神与创造者身份 未来社会将由企业家主导,而非传统雇员。创业本质是精神状态而非头衔,体现自主性与创造性。真正的创业者能设定愿景、通过好奇心驱动学习,并创造推动人类进步的解决方案。这种精神状态与被动接受指令的雇员形成鲜明对比。每个人内心都蕴含创造潜能,关键在于突破对"工作"的刻板认知,将生活转化为持续创造的过程。 创造力与人类进化的本质 创造力的起源 创造力并非人类独有,而是自然赋予的普遍能力。人类尚未掌握事物运作规律,也未制造工具。通过逐步探索,我们发现创造火、发明飞机、开发人工智能等能力的进化过程。这种进化令人难以置信,人类通过制造工具改造地球,承担起创造者的角色,但许多人已将这一责任让渡给人工智能。 创造者的责任 保持创造者角色是善用人工智能的关键。尽管未来充满不确定性,但问题的无限性与可解决性是确定的。复杂性与进化将不断产生新问题,而这些问题会创造就业机会与创新空间。若无法解决这些问题,人类文明将延续至太阳熄灭。 创造者的实践路径 问题解决导向 通过解决感兴趣的问题创造解决方案,推动人类进步。每次解决新问题时,都能找到目的与利润的交集。 知识积累与应对复杂性 随着问题复杂度增加,个人将获得更多知识、技能与经验。学会避免混乱是提升生活品质的核心。 第二文艺复兴时代 数字化社会使任何人都能成为爱因斯坦或莎士比亚。从消费者转变为创造者,通过互联网分发解决方案,吸引志同道合者。 创造者的成长规则 第九条规则:拥抱不确定性 不确定性是信号而非噪音。成功者不畏惧不确定性,因为他们理解: 超额收益取决于驾驭不确定性的能力 最成功者将不确定性视为机遇而非威胁 投资层级从第一级(401k)逐步升级至第三级(加密货币等高风险资产) 第十条规则:激发热情 热情源于希腊语"enthusiasmos",意为"被神灵启发"。真正创造力来自个人自我之外。让每一天充满热情是实现美好生活的关键。通过逆向工程找出热情来源,消除不一致因素。 第十一条规则:自我实验 自我实验是彻底解决问题的唯一方法。例如: 人A遵循大师教诲,降低生活标准 人B通过多源信息整合形成独特方法论 避免陷入单一意识形态陷阱,如纯素饮食的极端化 第十二条规则:过独特生活 最大的错误是不犯错误。拒绝默认路径,接受失败作为成长的必然。意识到"想要什么"是未来的事,而非当下。通过彻底厌倦现状,才能开启新的人生方向。 创造者的行动指南 做自己想做的事,无需他人许可 通过派对、创业、社交等实践欲望 管理欲望与责任的平衡,确保不损害目标实现 每日投入1-2小时追求热情 持续学习与实验,构建独特解决方案体系 行动清单 建立每日1-3项优先任务清单,通过项目化实践保持行动方向 进行自我实验:整合多源信息形成独特方法论,避免单一意识形态陷阱 将兴趣转化为创造实践:通过互联网分发解决方案,吸引志同道合者协作 FAQ 如何处理自由与规则的矛盾? 通过创建个人化生活规则,在结构化框架中实现自主性与创造力 如何应对生活中的不确定性? 将不确定性视为机遇,通过持续学习与实验提升驾驭能力
视频笔记-罗永浩采访周鸿祎
摘要: 原视频:正片】周鸿祎×罗永浩!近四小时高密度输出!周鸿祎深度谈 AI 企业家的两种选择与IP时代 企业家的公开与隐匿 许多企业家选择隐匿幕后积累财富,也有企业家选择频繁露面。这种现象与过去并无本质区别。部分企业家虽未频繁露面,但媒体普遍反映其存在IP焦虑。这种焦虑源于企业家既想保持低调,又意识到公开露面能加速企业发展。因此,我们探讨企业家在公众视野中的两种选择。 IP概念的演变 作为长期活跃于公众视野的企业家,您如何看待这两种选择?您本人即是IP打造的典范。IP概念在短视频时代被重新定义。抖音等平台让8亿用户每日刷屏,短视频的魔力使用户注意力被快速格式化。如今,用户对内容的耐心大幅下降,甚至电影观看时长也缩短至三分钟。 企业传播的必然性 在流量高度集中于短视频平台的当下,企业必须跟随用户去往流量聚集地。传统通稿已无法触达用户,企业需以朋友姿态与用户互动。这种转变本质上与过去在街头打广告无异,只是传播渠道发生了变化。 企业家形象的重塑 当前社会对企业家的要求已发生变化。过去企业家多隐匿幕后,如今则更注重企业创始人的个人形象。公众更易接受具有人格魅力的企业家,而非抽象的企业符号。在AI与短视频时代,企业仅靠产品难以成功,必须通过个人IP实现传播。 网红与企业家的融合 以中国前首富为例,其遭遇网络误解正说明时代变迁。若企业家不主动发声,对手将主导舆论。因此,企业家需主动构建个人IP。这种转变并非刻意为之,而是时代需求。如张长阳等互联网先驱,其早期行为已暗合网红逻辑。 企业传播的必然路径 企业需将个人IP转化为传播工具。如华为高管的内部信、张瑞敏的管理理念传播,均属早期IP实践。硅谷创业公司普遍采用短视频进行病毒式传播,这已成为企业传播的必修课。当前网红与企业家的融合,标志着企业传播进入新阶段。 网红城市与企业家职责 网红城市现象 许多城市正在尝试打造网红打卡地。从哈尔滨冰雪节到重庆荣昌的鲁鹅歌,各地文旅部门纷纷上线直播内容。这种现象表明,网红经济已渗透至城市营销领域。 企业家双重职责 企业家的核心职责包含产品开发与市场推广。即便如乔布斯般的人物,也需要通过营销手段扩大影响力。特斯拉创始人伊隆·马斯克的案例证明,即便拥有强大技术实力,仍需通过市场推广建立品牌认知。 IP概念的辩证思考 IP概念常被误解为沉重负担,实则代表产品与市场的双重连接。通过流量积累建立影响力,可为产品发布奠定基础。但需警惕流量反噬效应,避免因过度曝光引发负面评价。 AI产品推广的利与弊 优势分析 建立差异化认知 通过持续输出内容,可消除外界对"不务正业"的误解。AI产品开发周期长,需提前积累行业影响力。 提升话语权 虽非技术最强,但通过科普内容可建立AI领域的话语权。这种影响力可转化为产品推广优势。 潜在风险 精力分配失衡 产品开发阶段需集中精力,过度投入IP运营可能影响核心业务。2023年数据显示,80%精力已转向产品开发。 内容创作挑战 保持内容质量需持续输入与输出。AI工具虽可辅助,但难以完全替代深度思考。视频创作时间较去年减少60%。 360公司B端客户影响 品牌影响力扩展 跨平台传播效应 短视频平台(抖音、小红书、视频号)的普及,使B端客户同样成为内容受众。这种传播模式打破传统渠道壁垒。 内容价值传递 通过AI科普内容,建立对国产技术的信任。两会期间,多位政界人士表示曾通过该内容了解AI知识,为政企合作奠定基础。 内容创作实践 多机位拍摄技术 通过AI工具实现多角度拍摄,弥补个人拍摄局限。虽无法达到专业拍摄效果,但可提升内容专业度。 内容优化策略 通过AI辅助生成标准化内容,减少重复性工作。但创新性内容仍需人工创作,形成"人机协作"模式。 流量的使用与影响 流量的双重作用 流量并非单纯工具,其价值取决于使用方式。若用于商业推广,可助力地方产业转型,如余老师通过宣传带动山西陶瓷出口,地方政府因此欢迎其影响力。但若过度追求私利,可能引发地方官员负面评价。流量本质是资源,关键在于如何转化为正向价值。 中年变化与自我认知 中年阶段出现情绪管理能力提升,表现为: 情绪表达更克制,遇事不再激烈反应 社交焦虑程度降低,但仍有基础社交障碍 职业人格与真实人格的分化,如主持人职业身份与日常性格的差异 对技术敏感度下降,但表达能力持续提升 职业发展与个人IP 个人IP建设需与核心业务关联,如通过数字化展示推动地方发展 媒体影响力可形成马太效应,便于接触行业精英 通过访谈获取行业知识,形成内容输出闭环 与企业建立协同关系,如通过IP影响力促进业务合作 社交焦虑与适应策略 社恐特征表现为: 面对人群时易紧张 难以记住他人面部特征 避免直视他人 适应策略包括: 通过访谈建立社交连接 利用内容创作降低社交压力 逐步提升公开表达能力 表达方式与学习方法 表达本质是知识内化过程 采用非脉学习法验证理解: 能用通俗语言解释复杂概念 避免过度技术化表述 内容创作需平衡专业性与可理解性,如对AI安全的通俗解读 职业人格与真实人格 职业身份塑造特定行为模式 公众场合表现与日常性格存在差异 职业人格可有效处理复杂社交场景 真实人格需通过专业训练才能展现 个人经历整理 账户问题 曾因账户和密码被没收,期间配合了相关处理。由于给公关部门带来诸多困扰,对此感到惭愧。但此类问题仅持续数月,后续通过恢复密码等方式解决。整体而言,该问题未造成重大影响。 ...
视频笔记-纳瓦尔拉维坎特:为什么说拒绝平庸同事才是成长捷径
摘要: 原视频:纳瓦尔拉维坎特:为什么说拒绝平庸同事才是成长捷径 核心要点 用脑力而非时间赚钱的核心在于正确决策、资源分配与复利效应 选择专注领域、合作伙伴和项目方向比单纯努力更重要 设计能力是构建竞争优势的核心护城河,AI时代更需极致审美 创业需通过执行验证决策,拒绝平庸选择并追求长期价值 技术杠杆效应指数级增长,个人可通过深度学习与跨领域协作创造价值 用脑力而非时间赚钱 演讲开场 感谢Nivol的到来。我们今天将使用这台麦克风进行采访,另一台则用于摄像。Nivol曾参与过早期规模较小的活动,当时Dylan Field还在Flipboard实习。如今看到你再次参与,我感到非常欣慰。 时间与决策的核心原则 “用脑力而非时间赚钱"并非否定努力,而是强调在有限时间内(每周168小时)通过更聪明的决策实现突破。关键在于: 正确判断重大决策方向 有效分配时间资源 理解决策的复利效应 选择比努力更重要 在科技行业和湾区的地理优势已构成基础优势,但更重要的是: 选择专注领域:找到自身具备竞争优势的垂直领域 选择合作伙伴:与最优秀的人共事 选择项目方向:聚焦自身擅长且热爱的领域 早期阶段的常见误区 多数人在初期会陷入: 仅与身边人互动 依赖偶然关系网络 忽视主动构建优质人脉 决策实践的挑战 真正有效的决策需要: 拒绝平庸选择 做出艰难取舍 放弃短期利益追求长期价值 个人实践回顾 21岁时的Dylan Field: 未制定明确计划 未听取他人建议 通过实践不断调整认知 逐渐认识到:工作伙伴标准和项目选择标准都需要持续提升 初创公司参与经历 作为创始人参与的前几家初创公司,均处于创业初期阶段。这些企业的发展历程体现了早期创业的典型特征,包括团队组建、产品开发及市场验证等关键环节。 成为创始人的动机与自我实现 早期的驱动力 当时我真正渴望成为创始人,对吧?那个阶段,成为创始人的渴望远比其他事情重要,这种欲望几乎覆盖了所有决策。后来,我开始思考:我究竟想创立什么样的公司?谁可以成为合伙人?在哪里创立?这种动机并非纯粹,而是逐渐演变为对金钱和权力的追求。尽管人们不愿承认,但这些是根本性的驱动力。我渴望赚钱,也渴望创立有影响力的公司。然而,这种动机也并非完全纯粹。 动机的演变 回顾职业生涯,我最成功的时期是专注于真正感兴趣的事物。当我对某个项目充满好奇,试图探索其本质时,比如“这背后是什么?”“这真的很酷”,这种求知欲带来了深刻的洞察力,进而推动了优质投资和创业成果。如今,我处于幸运的位置,无需为金钱或地位奔波,可以专注于创造什么?我想要构建什么独特的产品?什么是我愿意投入精力使其存在的事物?以及,我想与哪些人共事?如何组建一个能长期合作的团队? 自我实现的追求 当物质需求被满足后,人会陷入极度的空虚。没有目标的生活如同在角落冥想,最终也会感到无聊。过度享乐更是危险的陷阱,可能导致自我毁灭。最终,我意识到真正的目标是自我实现——成为最好的自己。创造比消费更有意义,它带来满足感并促进成长。我渴望创造什么?是那些他人无法或不愿在特定时间内完成的事物。同时,我希望与值得尊敬、欣赏且愿意共事的朋友合作,构建完美的团队。 早期遇到的优秀人才 20多岁时结识的某些人,至今仍是合作伙伴。最初进入行业时,我接触了许多人,但少数人因才华、智慧和热情吸引了我。当时我感到不公平——这些优秀的人为何未获得应有的认可?如今回顾,这些人无一例外都取得了巨大成功,成为行业翘楚。若能早些年识别并支持这些真正有才华、求知欲强、勤奋且有高品格的人,或许会更早获得成功。我后悔未能与他们保持更紧密的联系。 实习生的建议 目前在场的大多数人正在实习,来自美国各地,这是他们首次来到这里。初到此地时,有哪些值得推荐的体验?湾区是改变命运的捷径,其创新环境远超想象。尽管其他地区可能有更优的生活质量或更低的生活成本,但这里的收入潜力无可匹敌。天气宜人,生活充满未来感——你可乘坐Waymo无人驾驶出租车,目睹无人机群的壮观景象。 高智商人群中的交流价值 在当今世界,你所处的环境汇聚了全球最顶尖的智慧群体。这里拥有地球上最高的智商密度,是人类历史上少数几个特殊时期与地点的延续。从古希腊雅典的文艺复兴时期,到罗马帝国鼎盛时期,再到工业革命时期的曼彻斯特、伯明翰或伦敦,以及巴黎的特定历史阶段,这些地方都曾吸引全球最优秀的人才。 这些特殊场域的共同特征在于:无论身处哪个行业,艺术家、企业家或其他领域的人才都会被其独特魅力吸引。因此,当你身处这样的环境时,你已处于最佳位置。社交的核心目标不是空泛的寒暄,而是寻找志同道合且值得尊敬的同行者。 有效社交的核心原则 真正的社交应建立在相互尊重的基础上。你需要主动筛选,寻找那些具备以下特质的人:专业能力、求知欲、谦逊态度、高执行力和远见。这种尊重是通过他们的才华、好奇心、善良本性、低自我中心和高驱动力获得的。 每个人对理想社交对象的定义不同,不存在所谓"唯一目标人物”。就像无法找到某个特定的Dylan,而是要寻找那些与你理念契合、能带来启发、互动愉快且保持开放心态的同行者。这种联系需要通过实际合作建立,而非单纯的握手寒暄。 通过工作建立深度联系 最有效的合作方式是通过共同工作。无论是学校项目还是商业合作,团队中通常会有一个承担主要工作的核心成员。多数人可能只是参与讨论或拖延进度,但你应当诚实评估自己的位置。 若你不是核心成员,应主动寻找那个真正承担工作的人,并努力提升自身价值。这种投入需要长期坚持,但最终会获得回报。 Naval的创业团队构建案例 Naval目前运营着一家名为"Impossible Computer Company"的新创企业,团队由一群罕见的艺术家与工程师组成。这些人才的聚集并非偶然,而是通过以下方式形成: 共同价值观:团队成员因对特定项目的共同兴趣聚集,最终形成稳定合作 相互尊重:核心成员具备卓越的技术鉴赏力,通过持续学习与贡献建立联系 跨领域协作:团队成员不拘泥于传统职业标签,而是以创造者身份参与,灵活运用各种技能 AI时代机遇:人工智能为自主学习者提供了前所未有的工具支持,使跨领域协作更加高效 公司文化与管理理念 团队结构与工作方式 公司团队规模较小,成员不足20人。所有员工均投入大量精力工作,主要采用线下办公模式。部分远程员工因长期信任关系被纳入团队,但整体仍以线下办公为主。公司总部位于旧金山,办公环境注重私密性与高品质,员工享有优厚薪酬与股票激励。 ...
macOS统一Python编程环境配置指南
我的macOS,装机的时候,直接从旧MacBook导入的全量信息及配置,目前使用homebrew遇到了问题,发现opt和usr下,分别都有一个homebrew,另外,我在opt下还发现了anaconda3,我主要是用python进行AI coding,目前经常因为版本遇到问题,包含pip、brew、python,然后就通过GPT帮忙出了一个解决方案,使各相关组件的版本统一,故记录如下。 Homebrew→pyenv→venv→项目关系图 graph TD A[macOS ARM64 (M系列)] --> B[/opt/homebrew] B -->|安装依赖: openssl, readline, zlib, ...| C[pyenv] C -->|管理多个版本| D1[Python 3.12.6] C --> D2[Python 3.10.14] C --> D3[其他 Python 版本] D1 -->|shims 统一入口| E[~/.pyenv/shims] D2 --> E D3 --> E E -->|python / pip / python3 / pip3| F[Shell (bash / zsh)] F -->|执行 python/pip 时自动映射| E subgraph Project G[项目目录] --> H[.venv] H -->|隔离依赖| I[pip install numpy, pandas, torch...] end E -->|python -m venv .venv| H 解读 Homebrew (/opt/homebrew) ...
手机银行高并发场景下的日志优化实战
在金融级手机银行中,日志是系统的黑匣子:工程团队用它复盘链路,审计与监管用它证明事实。 单体年代,落盘归档就够用;微服务与容器云时代,实例倍增、日志暴涨;高并发下,过度日志会吃满 I/O、拖垮 CPU,主链路也会跟着失速。 因此,可用的日志系统必须同时做到 高性能、高可用、低成本,并满足 合规。 我们把方法归纳为四类:采集、配置、规范、压测。 一、采集——应用只写 stdout,平台全权接管。 LogAgent: 在节点侧采集标准输出,送到Collector,再分发到 Kafka/ES/对象存储;容器重启不丢、查询口径一致。 大对象不上链:交易日志只写摘要(size、hash、关键字段);全量请求/响应、慢SQL走异步旁路,主链路不被堵。 链路可降级:多副本冗余;背压时先丢DEBUG/INFO,保WARN/ERROR。 成本可控: 统计 GB/天、监控backlog与延迟;在日志中注入traceId/spanId,确保跨服务可追踪。 协议选择: 以gRPC/HTTP + 批量压缩为主,极端吞吐再评估Netty/TCP的复杂度。 二、配置——把“写日志”的成本从主线程挪走。 使用AsyncAppender,主线程入队、后台批量写; 注:队列大小估算:queueSize ≈ QPS × 单条日志字节数 × 可容忍积压秒数(受 JVM 可用内存约束)。 设置条件丢弃,只丢低级别。 格式输出用JSON,时间戳写epochMillis,展示端再格式化。 统一字段:traceId、spanId、app、pod、instance、thread、uid、ip、channel、uri、method、status、rt_ms;通过 MDC 注入模板输出。 归档按时间 + 大小 + 级别组合;ERROR长保,INFO/DEBUG短保; Agent 侧设置每容器限速,防止I/O被日志占满。 代码示例 2.1 logback.xml(异步、JSON、分级归档、独立 payload/ERROR 通道) 放置:src/main/resources/logback.xml 说明: APP_FILE:INFO/DEBUG 主通道(短保,JSON,Size+Time 归档)。 ERROR_FILE:ERROR 独立通道(长保)。 PAYLOAD_FILE:大负载/慢 SQL 旁路通道(短保+隔离)。 三者均用 AsyncAppender,业务线程永不阻塞。 <configuration> <!-- 可用环境变量覆盖 --> <property name="APP" value="mobile-bank"/> <property name="LOG_HOME" value="/data/logs/${APP}"/> <!-- ========== 主通道(INFO/DEBUG)JSON + epochMillis + 双归档 ========== --> <appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/app.log</file> <encoder class="net.logstash.logback.encoder.LogstashEncoder"> <includeMdc>true</includeMdc> <timeZone>UTC</timeZone> <timestampPattern>UNIX_MILLIS</timestampPattern> <!-- epoch 毫秒 --> <fieldNames> <timestamp>ts</timestamp> <level>lvl</level> <thread>th</thread> <logger>logger</logger> <message>msg</message> </fieldNames> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <maxFileSize>128MB</maxFileSize> <!-- 单卷上限 --> <maxHistory>14</maxHistory> <!-- 短保 14 天 --> <totalSizeCap>50GB</totalSizeCap> <!-- 总容量上限 --> </rollingPolicy> <!-- 拒绝 ERROR(ERROR 走专用通道) --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>DENY</onMatch> <onMismatch>NEUTRAL</onMismatch> </filter> </appender> <!-- ========== ERROR 独立通道(长保,用于审计/追责) ========== --> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/error.log</file> <encoder class="net.logstash.logback.encoder.LogstashEncoder"> <includeMdc>true</includeMdc> <timeZone>UTC</timeZone> <timestampPattern>UNIX_MILLIS</timestampPattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <maxFileSize>64MB</maxFileSize> <maxHistory>90</maxHistory> <!-- 长保 90 天(按需调整) --> <totalSizeCap>100GB</totalSizeCap> </rollingPolicy> <!-- 仅接受 ERROR --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- ========== 大负载/慢 SQL 旁路通道(短保+隔离) ========== --> <appender name="PAYLOAD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/payload.log</file> <encoder class="net.logstash.logback.encoder.LogstashEncoder"/> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${LOG_HOME}/payload.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <maxFileSize>64MB</maxFileSize> <maxHistory>3</maxHistory> <!-- 很短的留存 --> </rollingPolicy> </appender> <!-- ========== 异步包装:主线程入队,后台批量写 ========== --> <!-- 队列估算:queueSize ≈ QPS × 单条大小 × 容忍积压秒数 --> <appender name="ASYNC_APP" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="APP_FILE"/> <queueSize>20000</queueSize> <!-- 例:10k/s × 1KB × 2s --> <discardingThreshold>30</discardingThreshold> <!-- 仅丢 DEBUG/INFO --> <neverBlock>true</neverBlock> <!-- 主线程不阻塞 --> <includeCallerData>false</includeCallerData> </appender> <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="ERROR_FILE"/> <queueSize>5000</queueSize> <!-- 错误量通常较小 --> <discardingThreshold>0</discardingThreshold><!-- ERROR 永不丢 --> <neverBlock>true</neverBlock> </appender> <appender name="ASYNC_PAYLOAD" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="PAYLOAD_FILE"/> <queueSize>5000</queueSize> <discardingThreshold>10</discardingThreshold> <!-- 高水位优先丢低级别 payload --> <neverBlock>true</neverBlock> </appender> <!-- 根日志:默认 INFO,写主通道 + ERROR 通道 --> <root level="INFO"> <appender-ref ref="ASYNC_APP"/> <appender-ref ref="ASYNC_ERROR"/> </root> <!-- 独立 logger:写入完整 payload/慢 SQL 等 --> <logger name="payload.logger" level="INFO" additivity="false"> <appender-ref ref="ASYNC_PAYLOAD"/> </logger> </configuration> Maven 依赖(使用 JSON 编码器): <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>7.4</version> </dependency> 2.2 MDC 过滤器(统一注入字段) 放置:src/main/java/com/example/logging/MdcFilter.java 作用:在每个请求进入时,把统一字段放进 MDC,日志模板自动带出;请求结束后必须清理。 package com.example.logging; import org.slf4j.MDC; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.net.InetAddress; public class MdcFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; try { // 1) traceId / spanId:来自网关/APM(无则本地生成保底) String traceId = request.getHeader("X-Trace-Id"); if (traceId == null || traceId.isEmpty()) { traceId = java.util.UUID.randomUUID().toString(); } MDC.put("traceId", traceId); String spanId = request.getHeader("X-Span-Id"); if (spanId != null) MDC.put("spanId", spanId); // 2) 统一基础维度 MDC.put("app", System.getenv().getOrDefault("APP_NAME", "mobile-bank")); MDC.put("pod", System.getenv().getOrDefault("HOSTNAME", "N/A")); MDC.put("instance", InetAddress.getLocalHost().getHostName()); MDC.put("thread", Thread.currentThread().getName()); // 3) 请求维度 MDC.put("uri", request.getRequestURI()); MDC.put("method", request.getMethod()); MDC.put("ip", request.getRemoteAddr()); MDC.put("channel", request.getHeader("X-Channel") == null ? "unknown" : request.getHeader("X-Channel")); // 4) 业务维度(示例:用户ID) String uid = request.getHeader("X-User-Id"); if (uid != null) MDC.put("uid", uid); chain.doFilter(req, res); } finally { // 防止线程复用导致“脏 MDC” MDC.clear(); } } } 注册 Filter(Spring Boot): package com.example.logging; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class FilterConfig { @Bean public FilterRegistrationBean<MdcFilter> mdcFilterRegistration() { FilterRegistrationBean<MdcFilter> reg = new FilterRegistrationBean<>(); reg.setFilter(new MdcFilter()); reg.addUrlPatterns("/*"); reg.setOrder(1); // 尽量靠前,保证后续日志都有 MDC return reg; } } 2.3 Agent 侧限速(Fluent Bit → Kafka 示例) “每容器限速”通常结合匹配规则 + 背压/节流插件 + 后端限额 实现。以下为简化示例。 ...
Hugo 技术博客搭建指南:从零开始构建个人博客
这是我的第一篇 Hugo 技术博客,记录搭建的全过程。 我的电脑使用的是MacBook,windows和linux的没有试过。 🔰 Step 1:准备环境 1. 安装基础软件 • VS Code 编辑器:https://code.visualstudio.com • Git 工具:https://git-scm.com • Hugo 静态网站生成器:https://gohugo.io/getting-started/installing • Node.js(可选,用于资源管道构建):https://nodejs.org macOS 安装 hugo brew install hugo 2. 配置 VS Code 插件 插件名称 功能描述 适用场景 Hugo Language Support 提供 Hugo 语法高亮、模板补全与语法校验 Hugo 主题开发、内容编写 Markdown All in One 增强 Markdown 编辑体验,支持自动生成目录、快捷键操作、格式一键美化 所有 Markdown 文档编辑 GitLens 显示代码每行的 Git 提交信息(作者、时间、提交记录) 多人协作、代码追溯 🏗 Step 2:初始化博客项目 1. 克隆模板仓库(推荐) git clone https://github.com/gohugoio/hugoBasicExample.git myblog cd myblog 2. 初始化 Git 仓库并推送到 GitHub git init git remote add origin https://github.com/你的用户名/你的仓库名.git git add . git commit -m "init: 初始化 Hugo 博客项目" git push -u origin main ⸻ ...
欢迎来到我的技术博客
欢迎来到我的技术博客! 你好,欢迎来到我的个人技术博客!我是樊国华,一名热爱技术的开发者。 📝 关于这个博客 这个博客使用 Hugo 静态网站生成器搭建,采用 PaperMod 主题,专注于分享: 技术教程:Hugo、Java、系统设计等 实战经验:高并发、性能优化、架构设计 学习笔记:技术学习过程中的心得体会 工具推荐:提升开发效率的工具和技巧 🎯 博客特色 简洁设计:专注于内容,提供良好的阅读体验 响应式布局:完美适配各种设备 代码高亮:支持多种编程语言的语法高亮 搜索功能:快速找到感兴趣的内容 📚 最新文章 我会定期更新技术文章,分享最新的学习成果和实战经验。如果你对某个技术话题感兴趣,欢迎在评论区交流讨论。 🔗 联系方式 GitHub: https://github.com/skago 邮箱: 通过 GitHub 联系 感谢你的访问,希望这里的内容对你有帮助! 最后更新时间:2025-09-11