TCP/IP 四层模型详解

TCP/IP 模型是互联网的基础协议模型,它将网络通信分为四个层次,每个层次负责特定的功能。从下到上依次为: 1. 链路层(Link Layer) 功能:负责在物理介质上传输数据帧。 任务:与 OSI 模型中的物理层和数据链路层相对应,负责将数据封装成帧,并进行错误检测和纠正。 示例:以太网、无线局域网。 常用命令 命令 用途 示例 ifconfig 或 ip 查看和配置网络接口 ifconfig 或 ip addr show arp 查看和管理 ARP 表 arp -a ethtool 查看和设置以太网设备参数 ethtool eth0 2. 网络层(Internet Layer) 功能:负责将数据包从源节点传输到目标节点。 任务:提供逻辑地址(如 IP 地址),实现数据包的分段和重组。 示例:IP 协议。 常用命令 命令 用途 示例 ping 测试主机之间的连通性 ping 8.8.8.8 traceroute 或 tracepath 显示数据包到达目标主机的路径 traceroute 8.8.8.8 route 或 netstat -r 查看和管理路由表 route -n 或 netstat -nr 3. 传输层(Transport Layer) 功能:负责端到端的可靠数据传输。...

July 7, 2025 · 1 min · 145 words · Jachy

Mapbox GL 图层分类详解

Layer 图层分类 Mapbox GL 提供了多种图层类型用于地图渲染: 图层类型 用途说明 background 用于地图背景 fill 适合用于渲染区域 line 适合用于渲染线条 symbol 用于显示符号和文本 raster 适用于显示栅格影像 raster-particle 适用于显示栅格粒子效果 circle 适合用于显示点数据 fill-extrusion 用于 3D 建筑物渲染 hillshade 用于 3D 地形渲染 heatmap 用于显示点的密度分布 sky 增强 3D 场景的天空效果 model 增强 3D 场景的沉浸感 Expression 表达式 1. 数据操作符 Data Expressions 用于获取要素数据相关的信息: get - 获取属性值 has - 检查属性是否存在 id - 获取要素 ID geometry-type - 获取几何类型 properties - 获取属性对象 feature-state - 获取要素状态 2. 相机操作符 Camera Expressions zoom - 获取当前缩放级别 3....

June 23, 2025 · 1 min · 93 words · Jachy

MCP 协议入门

![MCP 使用流程](pics/MCP 使用流程理解.excalidraw.png) 重要参考:MCP 中文入门指南 什么是 MCP MCP(Model Context Protocol)是一种用于 AI 模型与外部工具/数据源通信的协议标准。 调试 MCP Server 使用官方提供的 inspector 工具调试 MCP server: npx -y @modelcontextprotocol/inspector <command> <arg1> <arg2> 使用场景 连接 AI 助手到本地文件系统 访问数据库 调用外部 API 执行命令行工具

May 20, 2025 · 1 min · 34 words · Jachy

RxJS 响应式编程入门

为什么需要 Observable RxJS 说是弥补关于数据处理场景的一块空白 → 推送多个数据。 这里把我们对数据的处理方式做了两个维度的分类: Type SINGLE MULTIPLE Pull Function Iterator Push Promise Observable Pull 和 Push Pull 就是我要的时候,就能要到。生产者无感。 每个 JS 函数都是在 Pull ES2015 的生成器(function*)弥补了"拉取多个值"的空白 Push 就是我决定啥时候给,消费者无感。 典型例子就是 Promise,等 then 的时候自然会 push 给你 从生产者和消费者的角度理解: 生产者 消费者 Pull 被动:等着要数据的时候再产生数据 主动:会决定啥时候去要数据 Push 主动:按照自己的节奏产生数据,然后推出去 被动:就等着数据(等回调) 代码示例 1. 拉取单个数据 function getNum() { return Math.floor(Math.random() * 10) } function singlePull() { const num = getNum() console.log(num, 'singlePull') } 2. 推送单个数据 function getNumPromise() { return new Promise((resolve, reject) => { setTimeout(() => { resolve(getNum()) }, 1000) }) } function singlePush() { const promise = getNumPromise() promise....

January 11, 2024 · 3 min · 593 words · Jachy

Git 踩坑记录

问题:修改文件名大小写,Git 不敏感 问题描述 当修改项目某文件名的大小写时,git status 是不会查看到此文件有改动的。 解决方案 使用 git mv 命令进行两次重命名: git mv foldername tempname && git mv tempname FolderName 参考 CSDN: Git 修改文件名大小写 问题:Chrome 访问非受信证书页面提示错误 问题描述 访问非受信证书页面时,提示「您的连接不是私密连接」错误。 解决方案 在当前页面直接键盘输入: thisisunsafe 打完立刻就好了。 参考 腾讯云开发者社区 问题:Mac 浏览器连接已重置 问题描述 Mac 上浏览器访问某些网站时提示连接已重置。 解决方案 刷新 DNS 缓存: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder 问题:node 版本管理工具 n 下载 node 慢 问题描述 使用 n 工具安装 node 版本时,下载速度很慢。 解决方案 切换镜像源,并设置环境变量: # 设置环境变量 export N_NODE_MIRROR=https://npm.taobao.org/mirrors/node # 安装 sudo -E n stable 参考 墨天轮社区 问题:内容相同,MD5 竟然不一样 问题描述 两个文件内容完全相同,但计算出的 MD5 值却不一样。...

November 20, 2023 · 1 min · 89 words · Jachy