携程前端训练营后台开发
在中大型互联网企业中,中后台系统(Mid-end/Backend System)是支撑业务运转的核心骨架。无论是通过 SSO 实现多系统互通,还是利用 Ant Design Pro 快速构建高效的 Admin 界面,掌握这套技术栈对于前端开发者来说至关重要。 中台系统技术架构与安全在构建庞大的企业级应用群时,我们首先面临的是“孤岛问题”。如何让成百上千个子系统共享用户状态?如何统一权限管理? SSO 单点登录设计单点登录(Single Sign-On, SSO)的核心目标是:一处登录,处处访问。 核心流程解析: 登录触发:用户访问业务系统(如人事系统),未登录时被拦截。 重定向:前端将用户重定向到 SSO 认证中心(SSO Server)。 身份验证:用户输入用户名/密码,SSO Server 验证通过后,生成一个加密凭据(Ticket/Token)。 凭据交换:SSO Server 将 Ticket 返回给前端(通常写入 Cookie 或 URL 参数)。 业务鉴权:前端携带 Ticket 再次访问业务系统,业务系统后端拿着 Ticket 去 S...
携程前端训练营PC/H5开发(React)
React 基础 Demo、手搓 SSR 同构项目、以及 Next.js 企业级框架应用,代码仓库Fork自上游 项目导航与启动本项目包含三个配套项目,分别对应不同的学习阶段,根据教程启动后可参照源码进行练习: react_study_demo: React 核心知识学习(Hooks, Router, Redux) react_ssr: 手动实现 React 服务端渲染(原理篇) react_ssr_next: 基于 Next.js 14 的企业级应用(实战篇) 快速启动12345678910# 1. React 基础学习cd react_study_demo && npm install && npm run dev# 2. 手搓 SSR 同构cd react_ssr && npm install && npm run build && npm start# 访问 http://localhost:3000# 3. Next.js 实战cd react_ssr_next &&...
携程前端训练营TypeScript
为什么选择 TypeScriptJavaScript 的痛点JavaScript 作为动态类型语言,在大型项目开发中存在明显短板: 作用域问题:ES5 及之前的var存在变量提升和函数级作用域隐患 类型安全缺失:无类型检测机制,错误只能在运行时发现 数组设计缺陷:早期 JS 数组内存空间不连续,影响性能 示例:JS 类型隐患的 TS 模拟(无类型约束场景) 12345// 模拟 JS 无类型检测的隐患(TS 中关闭类型检查的等效场景)function getStrLen(str: any) { // 用 any 模拟 JS 无类型约束 return str.length; // 若传入非字符串类型将报错}getStrLen(8); // 运行时错误:Cannot read properties of undefined (reading 'length') TypeScript 的核心价值TypeScript(简称 TS)是 JavaScript 的超集,官方定义为: “TypeScript = JavaScrip...
携程前端训练营JavaScript/ES6
JavaScript (简称 JS) 是前端开发“三件套”中至关重要的一环,三者各司其职,共同构建了现代 Web 的基石: HTML (结构):定义网页的骨架和内容。 CSS (表现):负责网页的美化和布局。 JavaScript (行为):赋予网页灵魂,负责用户交互、动态渲染及逻辑处理。 正如 Jeff Atwood 提出的著名的 Atwood 定律 所言:“Any application that can be written in JavaScript, will eventually be written in JavaScript.” 如今的 JS 生态早已超越了浏览器的边界,它的触角延伸到了软件开发的各个领域: Web 前端:传统的网页开发核心。 移动端:借助 React Native、Weex、Uniapp 等框架实现跨平台 App 开发。 桌面端:利用 Electron 开发跨操作系统的桌面应用(如 VS Code, Slack)。 服务端:Node.js 让 JS 能够编写高性能的后端服务。 机器学习:TensorFlow.js 等库让浏览器也能进行 AI...
携程前端训练营CSS
CSS(Cascading Style Sheets,层叠样式表)是用于描述 HTML 元素在屏幕、纸张等媒体上显示样式的语言。它的核心优势在于层叠性(多个样式规则可叠加应用)和复用性(单个样式文件可控制多个网页),极大地简化了网页样式管理。与 HTML(结构)和 JS(交互)相比,CSS 的调试复杂度主要源于样式优先级和层叠规则,但掌握其核心知识点后,就能灵活实现各类网页布局与美化效果。 CSS 语法和选择器基本语法CSS 规则集(rule-set)由选择器和声明块组成,核心结构如下: 选择器:指定要设置样式的 HTML 元素 声明块:包含 1 条或多条声明,用花括号{}包裹 每条声明:由属性名: 属性值组成,多条声明用分号;分隔 123456789/* 选择器 { 声明1; 声明2; ... } */h1 { color: red; /* 文本颜色为红色 */ font-size: 14px; /* 字体大小14px */}p { color: blue; text-align: center; /...
携程前端训练营HTML
基于 Trip.com Group (携程集团) 前端训练营资料整理,适用对象:前端初学者、需要巩固 HTML5 基础的开发者 HTML(超文本标记语言)往往被认为是 Web 开发中最简单的部分,很多人认为“两三天就能学会”。但正如冰山理论所示,入门虽易,精通却难。HTML 涉及 Web 交互、SEO(搜索引擎优化)、安全、无障碍访问(A11y)等多个领域。 本文将梳理 HTML 的核心演进、关键元素、语义化结构以及表单交互,帮助你建立正确且专业的 HTML 认知体系。 Web 技术三大基石在深入 HTML 之前,我们需要明确它在 Web 技术栈中的定位: 技术 角色 比喻 HTML 结构骨架 人的骨骼,支撑起整个身体 CSS 视觉表现 人的皮肤和衣服,决定外观是否美观 JavaScript 行为交互 人的肌肉和神经,赋予页面动作和生命力 虽然 HTML 运行门槛低(改个后缀名就能跑),但要写出健壮、可维护、对机器(搜索引擎/屏幕阅读器)友好的代码,需要深厚的功底。 HTML 的演进:从 4.01 到 HTML5HTML5 不仅仅是一个版本的更...
Linux信号的使用
进程间异步通信的核心机制信号(Signal)是 Linux 系统中用于进程间异步通信的一种基础机制,主要用于通知进程发生了某种特定事件(如用户交互、硬件错误、超时等)。当进程接收到信号时,会暂时中断当前的执行流程,转而处理信号(执行预设的处理函数、遵循系统默认行为或直接忽略)。与信号相关的系统调用及宏定义均在 <signal.h> 头文件中声明,是 Linux 进程管理与事件响应的核心组件。 信号的核心特点信号的设计围绕“异步通知”展开,具备以下四个关键特性,使其能灵活应对各类系统事件: 异步性信号的产生和处理时机是不确定的,进程无法提前预测信号何时到达。例如,用户在进程运行过程中突然按下 Ctrl+C(触发 SIGINT 信号),进程会立即中断当前的循环或计算,优先处理该信号。这种异步性让进程无需持续轮询事件,大幅提升了资源利用率。 事件驱动每个信号都对应一种特定的系统事件,信号本身就是“事件发生”的通知载体。例如: SIGSEGV 对应“进程访问无效内存地址”(如空指针解引用); SIGCHLD 对应“子进程终止或状态改变”; SIGALRM 对应“定时器超时”...
Timestamp时间戳
Timestamp是一款专注于时间戳高效处理的轻量级C++工具库,支持微秒级精度时间获取与多格式输出,适用于日志系统、文件命名、时间戳记录等场景,可跨Windows与Linux平台使用。 核心功能特点 高精度时间获取:支持获取当前微秒级时间戳,满足对时间精度要求较高的场景(如高频日志、性能统计)。 多格式格式化输出: 标准可读格式:YYYY/MM/DD HH:MM:SS.微秒(例:2025/11/23 17:45:09.812002),适合人类阅读与日志记录; 文件友好格式:YYYYMMDD-HHMMSS.微秒(例:20251123-174509.812002),无特殊字符,可直接作为文件名避免系统兼容问题。 时间戳有效性校验:通过vaild()方法判断时间戳是否有效(微秒数>0即为有效),规避无效时间数据。 多粒度数值获取:支持直接获取微秒级(getMicroSec())与秒级(getSeconds())时间数值,便于时间差计算、时间戳存储等场景。 跨平台兼容:Linux系统依赖gettimeofday实现,Windows系统基于std::chro...
轻量云Meetup 西安站
轻云之上,无尽想象 2025年11月22日,恰逢农历十月初三小雪,我们参与了在西安新长安广场C座举办轻量云Meetup西安站,与一众云技术领域的产品、爱好者相聚,在秋日的氛围里,共同开启了一场技术交流与思想碰撞的活动。 破冰互动,以趣味形式拉近距离 活动伊始,现场设置了“你画我猜”的破冰环节,旨在通过轻松的互动快速消除陌生感,为后续的交流奠定良好氛围。 我所在的小组抽取的题目为“裸金属云服务器”,小组成员通过图形化的方式逐步呈现相关元素,从硬件形态延伸至云服务属性,虽最终未成功猜出答案,但过程中的思考与协作,让大家快速建立了默契; 其他小组的题目涵盖“混元大模型”“王者荣耀”“CNB”等内容,不同主题的呈现与互动,既结合了技术相关的专业方向,也融入了大众熟悉的内容,现场在有序的讨论与轻松的笑声中,让原本来自不同领域的参与者迅速熟络,为后续的深度交流做好了铺垫。 干货分享,聚焦云技术的实践与探索在主题分享环节,各位嘉宾与参与者依次带来了精彩的内容: 小杨现场演示了通过腾讯云HAI部署腾讯混元大模型的实操过程,详细讲解了相关技术逻辑与操作要点; 天下结合自身经历,分享了在腾讯云...
LangChain Agents
代码仓库ChainReaction 代理将语言模型与工具结合,创建能够推理任务、决定使用哪些工具,并迭代地工作以寻求解决方案的系统。create_agent提供了一种生产就绪的代理实现。LLM 代理在循环中运行工具以实现目标。代理会一直运行,直到满足停止条件——即模型发出最终输出或达到迭代限制。 核心组件Model 模型模型是您代理的推理引擎。它可以通过多种方式指定,支持静态和动态模型选择。 Static model 静态模型静态模型在创建代理时配置一次,并在整个执行过程中保持不变。这是最常见和直接的方法。 从模型标识符字符串初始化静态模型: 123456789101112@tooldef get_weather_for_location(city: str) -> str: """Get weather for a given city.""" return f"It's always sunny in {city}!"model = ChatO...





