博客

  • 最值得关注的AI/出海/创业/独立开发/副业博主的大合集

    在X上不乏有能人异士和各路高人神仙,下面这些博主都是行业翘楚。留作备份日后关注。以下内容为转载。

    经过Gemini、Grok、ChatGPT、Claude四个顶尖大模型的深度分析与多轮交叉验证,再结合人工严格筛选和去重,整理出了这份《中文X各领域最值得关注的头部博主清单》。
    这份清单严格遵循以下标准:
    • 粉丝量均在5k以上
    • 推文活跃度高、热度高、粉丝互动积极
    • 内容干货价值高、实战性强、深受认可(无割韭菜、无水贴)
    • 每个博主仅归入最匹配的一个领域(零重复)
    目的就是帮你快速构建一个信息密度极高、噪音极低的高质量中文信息时间线。 只要关注这些账号,你就能第一时间获取AI、出海、创业、SaaS、副业等领域的最新干货和实战经验。
    以下按领域分类整理,不分排名先后。
    一、AI 领域
    1. 中文 AI 圈高频信息源,长期分享 Prompt 工程、AI 实战、前沿工具与模型解读。宝玉

    2. AIGC 周刊主理人,专注 AI 绘画、视频生成、设计工作流和工具趋势。歸藏

    3. 以 AI 资讯日报和前沿动态整理见长,适合追踪新模型、新产品和热点变化。Gorden_Sun

    4. 科技与 AI 工具分享型账号,覆盖 ChatGPT、AI 工具导航、产品资讯和使用技巧。小互

    5. 偏 Web 与 AI 技术实践,常分享 AI 论文、开源项目和产品落地思考。shao__meng

    6. 聚焦 AI 工具普及与产品体验,内容偏实用、面向普通用户和工具使用者。thinkingjimmy

    7. AI 开发与产品结合型账号,偏开发者视角,适合关注工具构建和应用实践。goocarlos

    8. 偏 AI 创业和 LLM、RAG、Agent 方向,关注技术趋势与商业落地。Tumeng05

    9. 擅长把复杂 AI 技术讲清楚,常写 AI 产品、开发实践和工具应用心得。Axton Liu

    10. 偏 AI 视频和生成式视觉创作,适合关注创意类 AI 方向。海辛

    11. 常分享 AI 工具、生产力提升和趋势观察,内容完整度和信息密度都较高。倪爽

    12. 偏 AI 产品、工作流、Vibe Coding 和趋势判断,兼具产品感和表达能力。向阳乔木

    13. 深度 Prompt 探索者,内容偏 AI 思考、创意应用和方法论总结。李继刚

    14. 华人 AI 领域最具影响力的意见领袖之一,偏产业、创业和大模型趋势判断。李开复

    15. 中文 AI 知识整理型头部账号,适合体系化学习和追踪前沿资源。WaytoAGI

    16. 偏 LLM、AI 实战和开发者视角,内容通常信息密度较高。响马

    17. 更偏 AI 创业者视角,关注 Agent、产品机会和模型能力变化。Orange AI

    18. 聚焦 AI 编程、AI Native 产品和具体工具实操,内容落地性强。AI进化论 花生

    19. 覆盖 AI 工具、AI 认知和开发者实践,适合看一线新工具和新玩法。DN-Samuel

    20. 常做 AI 工具拆解、项目观察和开发者生态内容,适合追踪新项目。艾略特

    21. 偏 AI Builder 和内容创作者路线,连接产品、创作和增长。早见 Hayami

    22. 以创意型 AI 应用、提示词、自动化和生产流为主。

     
    二、创业者领域
    1. 偏创业、投资、学习成长与人生避坑,具有较强个人观点输出。立党

    2. AI 创业与赚钱实践结合型账号,兼顾产品、流量和实战经验。铁锤人

    3. 连续创业者视角,常分享创业故事、商业认知和实战经历。李自然

    4. 非典型开发者创业路线,内容涵盖 AIGC 应用、商业化和个人经历。yan5xu

    5. 海外创业者视角,偏普通人出海创业路径和真实经验。圣总聊出海

    6. 偏 AI 创业和产品落地,适合看从想法到产品化的过程。Cydiar404

    7. AI 创业者视角,关注产品构建、市场验证和实际增长。JefferyTatsuya

    8. 结合 AI 趋势、创业视角和产品运营,偏实战型表达。seclink

    9. 互联网老兵型创业观察者,擅长商业评论、创业反思和行业判断。Fenng

    10. 连续创业者视角,常写科技、创业和数字生活方式。郭宇

    11. 资深技术创业者,内容偏创业心态、技术路线和行业选择。Tinyfool

    12. 长期关注科技周期和公司战略,对创业和技术趋势有独到看法。霍炬

    13. 技术创业老兵,常分享创业复盘、技术产品和行业经验。范凯

    14. 创业洞察、工具推荐和书单类内容较多,兼顾实用和思考。XDash

    15. 前工程师转独立开发与创业,分享 build in public 和 AI 产品实践。idoubi

    16. 设计与品牌创业交叉视角,常写工作室经营和创作型创业经验。倪爽

    17. 偏 SaaS 海外营销、认知升级和案例拆解。子木

    18. 偏开源 Agent 产品和创业工具链,内容兼具产品与创业思考。Tom Huang

    19. 跨境和 AI 创业结合较深,适合关注出海创业实战路径。Tony出海

    20. 偏科技创业和高质量访谈内容,适合看产业视角和创业认知。泓君 Jane

    21. 科技媒体与创业观察结合,信息密度较高。陈茜 Qian Chen

     
    三、SaaS 和 APP 产品领域
    1. 独立开发与出海 SaaS 路线代表账号,分享模板、建站、流量和变现经验。indie_maker_fox

    2. 出海 SaaS 和 AI 产品创业者,偏产品开发、增长和 SEO 实战。HongyuanCao

    3. 偏 SaaS 开发工具、模板和产品构建经验。nextify2024

    4. 连续创业者和产品经理视角,分享 SaaS 出海和产品思考。readyfor2025

    5. Next.js 和 SaaS 出海方向账号,偏开发工具和产品搭建。weijunext

    6. 结合 SaaS 独立开发与知识产品变现,内容偏实操和经营思路。yihui_indie

    7. 偏 SaaS 工具和 APP 产品观察,常做产品体验和优化案例整理。JinsFavorites

    8. 数据工具与 SaaS 创业方向,偏产品实践与业务理解。xiongchun007

    9. 产品设计哲学和用户体验表达强,适合看高质量 APP 产品思考。王俊煜

    10. 从全栈与体验角度看产品,常做各类 SaaS 和 APP 分析。罗磊

    11. 独立 APP 开发者视角,关注移动产品从零到一和上架运营。Plidezus

    12. 偏 AI 产品和实际应用,常写 Prompt 与产品落地。遁一子

    13. 独立创业者,关注 AI 和硬件、产品思维与新形态产品尝试。王乐

    14. iOS/Mac 独立开发者路线,订阅变现和 App Store 经验较多。Axton

    15. 高质量 iOS 独立开发者,产品审美和完成度都很强。图拉鼎

    16. 工程与产品兼具,偏开发者工具和 SaaS 思维。子骅 Zihua Li

    17. AI 编程教育、产品化和内容转化结合较好。程序员鱼皮

    18. 把 AI 工具、冷启动和求职产品化思维结合起来,产品感较强。Y11

    19. 偏多 Agent、工具链和落地能力,适合看下一代 AI 产品形态。huangserva

    20. AI、内容和副业式产品思维结合,面向普通用户的表达能力强。程序员小灰

     
    四、出海领域
    1. 中文出海建站、SEO 流量和 SaaS 增长方向的高频实战派。哥飞

    2. 偏 AI 出海独立开发和产品增长经验分享。lyc_zh

    3. 兼顾 AI、出海、SaaS、APP 和海外手机卡 eSIM 实操干货,是交叉领域影响力账号。鱼总聊AI

    4. 出海、被动收入和海外创业路径结合型账号。JourneymanChina

    5. 前端工程师出海探索路线,分享英推增长和产品出海。dev_afei

    6. 工具站构建和出海实战分享为主。luobogooooo

    7. AI SaaS 出海独立开发实践者,偏全球化经验。GoSailGlobal

    8. 偏出海创业生态、社区活动和项目观察,机构属性较强。出海去孵化器

    9. 出海 SEO 和自然流量打法代表账号。大罗 SEO

     
    五、海外手机卡领域
    1. 偏 eSIM、虚拟手机号和海外手机卡使用教程。奶昔

    2. 数字游民路线,专注境外手机卡、eSIM 和海外银行卡实用方案。DigitalNomadLC

    3. 常分享海外手机卡、eSIM 和相关黑科技使用经验。RocM301

    4. 偏海外手机卡和 eSIM 交易、使用经验与 deal 分享。Eva树姐

    5. 覆盖海外手机卡、银行账户和数字身份搭建。数字移民

    6. 不仅做 AI 和出海,也长期覆盖海外手机卡 eSIM 的实操内容。鱼总聊AI

    7. 海外手机卡和数字生活方向账号,偏美国和欧洲 eSIM 保号攻略。小糖

     
    六、独立开发者领域
    1. 靠写代码养活自己的独立开发者路线,常写 AI 编程和收入内容。austinit

    2. 出海独立开发和 AI 工具折腾者,常写构建过程和真实故事。guishou_56

    3. 关注产品迭代、开源贡献和独立开发经验。9yearfish

    4. 分享 build in public 和技术实战笔记。benshandebiao

    5. 偏 iOS 独立开发和 APP 构建经验。hwwaanng

    6. 沉浸式翻译作者,产品与工具出海结合的代表型独立开发者。OwenYoungZh

    7. 知名独立开发者,常分享开发日常、产品思考和生态观察。图拉鼎

    8. iOS 独立开发视角,适合看应用打磨和推广经验。Baye

    9. 活跃开源作者和独立开发者,技术前沿感强。Randy

    10. 中文独立开发者和极客社区代表人物之一。Livid

    11. 前端讲师和独立开发者路线,内容覆盖 Web、英语和独立开发。花果山大圣

    12. 关注独立开发者破冰、个人品牌建设和社交推广。郎瀚威 Will

    13. 高质量 iOS 应用作者,偏产品审美和完成度。61

    14. Indie hacker 和 AI 路线,适合看个人开发者如何持续做产品。马天翼

    15. OpenClaw、Agent、工具开发结合较深,也是 builder 型独立开发账号。知县

    16. 更新频率高,常写 AI 工具、自动化、增长和 OpenClaw 生态。雪踏乌云

     
    七、OpenClaw 领域(小垂直领域)
    1. 活跃分享 OpenClaw 使用教程和 AI Agent 资源。abskoop

    2. 偏 OpenClaw 教程和 Agent 工具实战案例。stark_nico99

    3. 分享 OpenClaw 指南、社区构建和应用经验。hongming731

    4. 偏 OpenClaw 项目展示、演示和优化经验。penny777

    5. 偏 OpenClaw 教程与资源整理。quarktalksss

    6. AI Agent 和 OpenClaw 实践方向,偏工具优化和案例。Khazix0918

    7. OpenClaw 和多 Agent 开发者路线,偏高级应用与社区资源。servasyy_ai

    8. AI 专业媒体账号,适合跟 OpenClaw 等前沿项目的技术解读,机构属性较强。机器之心

    9. 安全视角强,适合看 AI Agent 的越权风险和攻防问题。余弦

    10. OpenClaw 创始人,适合直接追踪项目演进和一手动态。Peter Steinberger

    11. 中文 OpenClaw 传播链中影响力较强,偏部署、认知和生态扩散。铁锤人

    12. 偏 OpenClaw 生态整理、教程汇总和趋势跟踪。雪踏乌云

    13. 偏独立开发者如何把 OpenClaw 和技能生态做产品化。马天翼

     
    八、知识分享领域
    1. 知识、成长、AI 副业和咨询内容结合,适合看结构化表达。kasong2048

    2. AI 应用开发者与播客路线,偏独立工作者知识和资源整理。cellinlab

    3. 适合小白入门的 AI 工具和知识分享账号,表达通俗。wshuyi

    4. 知识付费、成长和个人建设内容较多,也连接独立开发与表达。FinanceYF5

    5. 前沿 AI 知识库型账号,体系化整理能力强,机构属性偏强。WaytoAGI

    6. 中文互联网知识分享常青树,科技与工具类内容长期稳定高质量。阮一峰

    7. 擅长深度长推,内容涉及历史、商业、科技与认知。王川

    8. 数字生活和高效工具的头部知识平台号,机构属性较强。少数派

    9. 偏外语阅读、信息获取与效率提升的方法论分享。Owen

    10. 科技资讯和商业观察结合型账号,视野较广。阑夕

    11. 思维方法和认知科学分享很有代表性。刘未鹏

    12. 前沿研究和多模态、推理方向知识分享。Bob Fu 符尧

    13. 高质量访谈和行业内容,信息筛选层级高。泓君 Jane

    14. 偏科技媒体和产业内容,长期看有价值。陈茜 Qian Chen

     
    九、副业领域
    1. 专注 X 平台起号和 AI 工具变现实战。Astronaut_1216

    2. 覆盖 AI、跨境、自媒体和副业变现路径。ityouknows

    3. 偏 AI 副业、咨询和知识变现路线。kasong2048

    4. 出海、被动收入和副业实践结合型账号。JourneymanChina

    5. 偏代码养活自己和个人开发变现路径。austinit

    6. AIGC 商业化和个人重整经历结合,副业属性明显。yan5xu

    7. 地理套利、出海工具和副业工具分享。expatlevi

     
    ✅ 以上共9大领域、129位(去重后约119位)中文X头部博主,已全部验证粉丝5k+、活跃度高、干货价值强。 直接一键关注,即可拥有一个信息密度极高、无广告、无水贴的优质中文时间线。
    📌 建议关注顺序: 先跟每个领域前3-4位,观察1周后再批量跟进。
    数据基于2026年3月实时验证,
  • meta标签总结之解决url分享到社交平台不显示缩略图问题

    当我把 https://diyikaoshi.com/news/117668 分享到微信朋友圈的时候发现一个问题:分享到朋友圈后缩略图没有。下面直接说方法:

    在头部增加如下标签。具体增加那些内容请继续看。

    <meta property="og:image">
    <meta>标签可提供页面数据的元信息(meta information)。
    <meta>标签位于文档头部,不包含内容,其属性定义了与文档关联的键值对。
    简单来说,<meta>就是文档信息描述的标签。我们从以下几个方面来看看<meta>的实际用途。比如:
    搜索引擎优化(SEO)
    定义页面使用语言
    自动刷新并指向新的页面
    实现网页转换时的动态效果
    控制页面缓冲
    网页定级评价
    控制网页显示的窗口
    一、meta标签的属性
    1、charset属性
    该特性申明文档的字符编码但,该声明可以被任何一个元素的 lang 特性的值覆盖。推荐使用utf-8国际通用编码。如:
    <meta charset=”utf-8″>
    智能体编程
    2、content属性
    此属性包含http-equiv 或name 属性的值,具体取决于所使用的值。
    3、http-equiv属性
    这个枚举属性定义了能改变服务器和用户引擎行为的编译。这个编译值使用content 来定义,如下:
    content-language(过时)
    指定页面的默认语言,推荐使用<html>设置全局lang属性来代替。
    content-security-policy:内容安全策略
    它允许页面作者定义当前页的 内容策略。 内容策略主要指定允许的服务器源和脚本端点,这有助于防止跨站点脚本攻击。
    content-type(过时)
    设置文档字符编码,推荐使用meat的charset属性代替。
    default-style:默认样式(首选样式)
    该属性指定了文档首选的默认样式。content的值必须包含link元素的标题、href属性链接到CSS样式表或包含CSS样式表的“元素的标题。
    refresh:页面刷新时间
    如果content值为正整数,则设置为指定时间间隔刷新当前页面,值为正整数后跟字符串的形式则指定时间间隔内跳转到指定页面。以上时间单位为秒。
    <!– Redirect page after 3 seconds –>
    <meta http-equiv=”refresh” content=”3;url=http://www.cnblogs.com/fzz9/”>
    <meta http-equiv=”refresh” content=”3 <http://www.cnblogs.com/fzz9/>”>
    智能体编程
    set-cookie(过时)
    为页面设置cookie,请改用HTTP的Set-Cookie头部。
    4、name属性
    该属性定义文档级元数据的名称。如果以下其中一个属性设置了itemprop, http-equiv or charset ,就不能再设置这个属性了。
    name属性可包含以下值(不完整):
    application-name
    定义正运行在该网页上的网络应用名称。
    author
    文档的作者名称,自由格式。
    description
    其中包含页面内容的简短和精确的描述。 一些浏览器,如Firefox和Opera,将其用作书签页面的默认描述。
    generator
    包含生成页面的软件的标示符。
    keywords
    包含与逗号分隔的页面内容相关的单词。
    referrer(实验中的属性)
    控制所有从该文档发出的 HTTP 请求中HTTP Referer首部的内容。
    creator
    定义文档创建者的名称,与author类似。
    googlebot
    属性robots的同义词,该属性只有googleBot(谷歌索引抓取工具)才会使用。
    publisher
    自由格式定义文档发布者的名称。
    robots
    定义搜索引擎爬虫与页面应具有的行为。 它是以逗号分隔的值列表,可选值:
    Untitled
    viewport(供移动设备使用)
    该属性提供有关视口初始大小的提示,仅供移动设备使用。
    可选值为:
    Untitled
    我们常使用下面这个设置来适配移动端页面:
    <meta name=”viewport” content=”width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0,user-scalable=no”>
    智能体编程
    二、meta标签的实际使用
    1、各大网站首页的meta
    我们可以从各大网站的页面查看他们对meta的使用,比如:
    淘宝首页
    <meta charset=”utf-8″>
    <meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″>
    <meta name=”renderer” content=”webkit”>
    <meta name=”spm-id” content=”a21bo”>
    <meta name=”description” content=”淘宝网 – 亚洲较大的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值… 数亿优质商品,同时提供担保交易(先收货后付款)等安全交易保障服务,并由商家提供退货承诺、破损补寄等消费者保障服务,让你安心享受网上购物乐趣!”>
    <meta name=”aplus-xplug” content=”NONE”>
    <meta name=”keyword” content=”淘宝,掏宝,网上购物,C2C,在线交易,交易市场,网上交易,交易市场,网上买,网上卖,购物网站,团购,网上贸易,安全购物,电子商务,放心买,供应,买卖信息,网店,一口价,拍卖,网上开店,网络购物,打折,免费开店,网购,频道,店铺”>
    微博首页
    <meta charset=”utf-8″>
    <meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″>
    <meta name=”viewport” content=”initial-scale=1,minimum-scale=1″>
    <meta content=”随时随地发现新鲜事!微博带你欣赏世界上每一个精彩瞬间,了解每一个幕后故事。分享你想表达的,让全世界都能听到你的心声!” name=”description”>
    github首页
    <meta charset=”utf-8″>
    <meta name=”viewport” content=”width=device-width”>
    <meta name=”description” content=”GitHub is where people build software. More than 36 million people use GitHub to discover, fork, and contribute to over 100 million projects.”>
    <meta property=”fb:app_id” content=”1401488693436528″>
    <meta property=”og:url” content=”<https://github.com>”>
    <meta property=”og:site_name” content=”GitHub”>
    <meta property=”og:title” content=”Build software better, together”>
    <meta property=”og:description” content=”GitHub is where people build software. More than 36 million people use GitHub to discover, fork, and contribute to over 100 million projects.”>
    <meta property=”og:image” content=”<https://github.githubassets.com/images/modules/open_graph/github-logo.png>”>
    <meta property=”og:image:type” content=”image/png”>
    <meta property=”og:image:width” content=”1200″>
    <meta property=”og:image:height” content=”1200″>
    <meta property=”og:image” content=”<https://github.githubassets.com/images/modules/open_graph/github-mark.png>”>
    <meta property=”og:image:type” content=”image/png”>
    <meta property=”og:image:width” content=”1200″>
    <meta property=”og:image:height” content=”620″>
    <meta property=”og:image” content=”<https://github.githubassets.com/images/modules/open_graph/github-octocat.png>”>
    <meta property=”og:image:type” content=”image/png”>
    <meta property=”og:image:width” content=”1200″>
    <meta property=”og:image:height” content=”620″>
    <meta property=”twitter:site” content=”github”>
    <meta property=”twitter:site:id” content=”13334762″>
    <meta property=”twitter:creator” content=”github”>
    <meta property=”twitter:creator:id” content=”13334762″>
    <meta property=”twitter:card” content=”summary_large_image”>
    <meta property=”twitter:title” content=”GitHub”>
    <meta property=”twitter:description” content=”GitHub is where people build software. More than 36 million people use GitHub to discover, fork, and contribute to over 100 million projects.”>
    <meta property=”twitter:image:src” content=”<https://github.githubassets.com/images/modules/open_graph/github-logo.png>”>
    <meta property=”twitter:image:width” content=”1200″>
    <meta property=”twitter:image:height” content=”1200″>
    <meta name=”pjax-timeout” content=”1000″>
    <meta name=”request-id” content=”2ED9:0DCF:16C7FB:216F9D:5CC52252″ data-pjax-transient=””>
    <meta name=”selected-link” value=”/” data-pjax-transient=””>
    <meta name=”google-site-verification” content=”KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU”>
    <meta name=”google-site-verification” content=”ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA”>
    <meta name=”google-site-verification” content=”GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc”>
    <meta name=”octolytics-host” content=”collector.githubapp.com”>
    <meta name=”octolytics-app-id” content=”github”>
    <meta name=”octolytics-event-url” content=”<https://collector.githubapp.com/github-external/browser_event>”>
    <meta name=”octolytics-dimension-request_id” content=”2ED9:0DCF:16C7FB:216F9D:5CC52252″>
    <meta name=”octolytics-dimension-region_edge” content=”ap-southeast-1″>
    <meta name=”octolytics-dimension-region_render” content=”iad”>
    <meta name=”octolytics-actor-id” content=”30432876″>
    <meta name=”octolytics-actor-login” content=”fongzhizhi”>
    <meta name=”octolytics-actor-hash” content=”7746069481520fac3723891a8bbfada265f7541285b3ba8dce727e3dd67e5af2″>
    <meta name=”analytics-location” content=”/dashboard” data-pjax-transient=”true”>
    <meta name=”google-analytics” content=”UA-3769691-2″>
    <meta class=”js-ga-set” name=”userId” content=”d47384dc9e738b855285fea4b0c3b639″>
    <meta class=”js-ga-set” name=”dimension1″ content=”Logged In”>
    <meta name=”hostname” content=”github.com”>
    <meta name=”user-login” content=”fongzhizhi”>
    <meta name=”expected-hostname” content=”github.com”>
    <meta name=”js-proxy-site-detection-payload” content=”NDE0ZmM0YmRlYTcyMmYxMmM3OTcxN2NkMmJlMDFkZmM2ODEwNjA5YjI2YzIxNjlhNTVjODQ0NjJlY2Q4NWI0Ynx7InJlbW90ZV9hZGRyZXNzIjoiMTE2LjI0Ljk5LjEwMSIsInJlcXVlc3RfaWQiOiIyRUQ5OjBEQ0Y6MTZDN0ZCOjIxNkY5RDo1Q0M1MjI1MiIsInRpbWVzdGFtcCI6MTU1NjQyMzI1NCwiaG9zdCI6ImdpdGh1Yi5jb20ifQ==”>
    <meta name=”enabled-features” content=”SPONSORS_TIERS,UNIVERSE_BANNER,MARKETPLACE_INVOICED_BILLING,MARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETPLACE_RECOMMENDATIONS,NOTIFY_ON_BLOCK,RELATED_ISSUES”>
    <meta name=”html-safe-nonce” content=”df3a1b9bcd5d110071c16fe060650098953e13ef”>
    <meta http-equiv=”x-pjax-version” content=”5b8034c4a9fa0ce9faea05e0eaa63e01″>
    <meta name=”browser-stats-url” content=”<https://api.github.com/_private/browser/stats>”>
    <meta name=”browser-errors-url” content=”<https://api.github.com/_private/browser/errors>”>
    <meta name=”theme-color” content=”#1e2327″>
    stackoverflow首页
    <meta name=”description” content=”S tack Overflow is the largest, most trusted online community for developers to learn, share their programming knowledge, and build their careers.”>
    <meta name=”viewport” content=”width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0″>
    <meta property=”og:type” content=”website”>
    <meta property=”og:url” content=”<https://stackoverflow.com/>”>
    <meta property=”og:site_name” content=”Stack Overflow”>
    <meta property=”og:image” itemprop=”image primaryImageOfPage” content=”<https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded>”>
    <meta name=”twitter:card” content=”summary”>
    <meta name=”twitter:domain” content=”stackoverflow.com”>
    <meta name=”twitter:title” property=”og:title” itemprop=”name” content=”Stack Overflow – Where Developers Learn, Share, &amp; Build Careers”>
    <meta name=”twitter:description” property=”og:description” itemprop=”description” content=”Stack Overflow | The World’s Largest Online Community for Developers”>
    2、meta一些的具体作用
    浏览器兼容性设置
    <meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″ />
    智能体编程
    当指定的content值为IE=edge,chrome=1时,优先使用 IE 最新版本和 Chrome。
    假定客户端安装了Google Chrome Frame,则在IE中使用chrome的渲染引擎来渲染页面,否则,将会使用客户端IE最高的标准模式对页面进行渲染。
    还能这样设置:
    <!– 使用IE6 –>
    <meta http-equiv=”X-UA-Compatible” content=”IE=6″ >
    浏览器内核控制
    很多浏览器是双核的,比如webkit内核高速浏览,IE内核兼容网页和旧版网站。除了浏览器的默认设置外,我们还可通过设置meta标签的属性来设置当前页面的内核渲染模式。
    <meta name=”renderer” content=”webkit|ie-comp|ie-stand”>
    智能体编程
    站点适配
    主要是移动端手机协议选择,主要用于PC-手机页的对应关系:
    <!– [wml|xhtml|html5] 根据手机页的协议语言,选择其中一种;
    url=”url” 后者代表当前PC页所对应的手机页URL,两者必须是一一对应关系。
    –>
    <meta name=”mobile-agent” content=”format=[wml|xhtml|html5]; url=url”>
    SEO(搜索引擎优化)
    根据搜索引擎爬取网页内容的特点,我们可以对页面信息进行定义,以便更好地让搜索引擎识别到,以此来提高网站或页面的识别度,增加搜索时的排名等。
    页面关键字:keyword
    这是name属性的属性值,我们可以使用该属性值对页面进行关键字描述,以便于搜索引擎的准确抓取。
    页面描述:description
    同keyword类似,该属性值可对页面进行总结性描述。
    搜索引擎的搜素方式相关设置:robots

     

     

  • 网页前端优化,让SEO更优秀

    一、资源加载优化(省流量就是省钱!)
    1. 图片三板斧
    WebP格式转换:体积直接腰斩!用<picture>标签做兼容:

    <picture>
    <source srcset=”image.webp” type=”image/webp”>
    <img src=”image.jpg” alt=”…”>
    </picture>

    懒加载:首屏外的图片统统延迟加载!推荐使用loading=”lazy”原生属性
    响应式适配:不同设备加载不同尺寸(移动端加载2K图纯属浪费流量!)

    2. 代码瘦身计划
    Tree Shaking:Webpack配置走起!把没用到的代码统统踢出打包文件
    代码分割:动态import()拆分路由组件,首屏只需加载必要代码
    Gzip/Brotli压缩:服务器配置搞起来,传输体积再减70%(Nginx配置示例):
    gzip on;
    gzip_types text/plain text/css application/json application/javascript;

    3. CDN加速秘籍
    静态资源全上CDN:把js/css/图片扔到离用户最近的节点
    域名分片:突破浏览器并发限制,试试把资源分布到static1.example.com、static2.example.com
    HTTP/2加持:多路复用真香!记得升级服务器协议

    二、渲染性能提升(拒绝卡顿!)
    4. 关键渲染路径优化
    CSS放在头部:阻止渲染?不存在的!
    JS异步加载:给script标签加上async或defer属性
    字体加载策略:使用font-display: swap避免文字闪动

    5. 重排重绘终结者
    批量DOM操作:用documentFragment打包修改
    GPU加速:对动画元素使用transform: translateZ(0)
    防抖节流:滚动事件用requestAnimationFrame节流

    6. 虚拟列表黑科技
    面对万级数据列表时,千万别傻傻渲染全部DOM!试试这些方案:

    react-virtualized(React首选)
    vue-virtual-scroller(Vue生态)
    自己实现:只渲染可视区域+缓冲区的元素

    三、缓存策略大全(让重复访问快到飞起)
    7. HTTP缓存配置
    Cache-Control: max-age=31536000, immutable # 永久缓存静态资源
    ETag: “123456789” # 协商缓存标配

    8. Service Worker实战
    注册SW实现离线访问(PWA必备):

    navigator.serviceWorker.register(‘/sw.js’).then(() => {
    console.log(‘Service Worker 注册成功!’);
    });

    9. localStorage缓存API数据
    对时效性要求不高的接口数据,可以这样玩:

    const cacheData = localStorage.getItem(‘apiCache’);
    if (cacheData) {
    render(JSON.parse(cacheData));
    }
    fetch(‘/api/data’).then(res => {
    localStorage.setItem(‘apiCache’, JSON.stringify(res));
    });

    四、性能监控体系(持续优化必备)
    10. 核心性能指标
    LCP (最大内容渲染):<2.5s
    FID (首次输入延迟):<100ms
    CLS (累积布局偏移):<0.1
    11. 监控工具全家桶
    Lighthouse:本地检测神器(Chrome DevTools直接集成)
    Web Vitals:Google官方库,一行代码接入:
    import {getCLS, getFID, getLCP} from ‘web-vitals’;
    getCLS(console.log);
    getFID(console.log);
    getLCP(console.log);

    Sentry:错误监控+性能追踪二合一
    12. 真实用户数据收集
    用PerformanceObserver捕获用户真实性能数据:

    const observer = new PerformanceObserver((list) => {
    for (const entry of list.getEntries()) {
    console.log(entry.name + “: ” + entry.startTime);
    }
    });
    observer.observe({type: ‘longtask’, buffered: true});

    五、进阶优化技巧(高手必备)
    13. 预加载预渲染
    preload 关键资源:
    <link rel=”preload” href=”style.css” as=”style”>

    prerender 下一页:
    <link rel=”prerender” href=”/next-page.html”>

    14. Web Worker多线程
    把耗时任务扔到后台线程:

    const worker = new Worker(‘worker.js’);
    worker.postMessage(data);

    15. WASM性能爆破
    对计算密集型任务(如图像处理),可以用Rust编译成WebAssembly,性能提升10倍不是梦!

    六、避坑指南(血泪经验)
    16. 字体文件加载的坑
    务必使用font-display: swap
    用unicode-range分割字体文件
    别用超过3种字体家族

    17. 第三方库的陷阱
    用bundlephobia.com检查库体积
    按需引入(比如lodash的单个方法)
    定期清理不再使用的依赖

    18. 动画性能黑洞
    避免用left/top做动画,改用transform
    对高频动画启用硬件加速
    复杂的动画请用CSS的will-change属性
    结语:优化是永无止境的征程
    记得上次优化完以为到天花板了,结果用上Serverless边缘计算后,又压了300ms!性能优化就像打地鼠游戏,永远有新的瓶颈出现。但每次优化成功带来的数据提升,那种成就感真的爽到飞起!

    (实战小贴士)建议每个月做一次全面的性能审计,把Lighthouse跑分纳入KPI考核。优化到极致时,甚至可以尝试SSR+CSR混合渲染、边缘缓存等黑科技。记住:用户不会为慢吞吞的网页买单,快,才是王道!

  • Redis远程连接失败-“Connection reset by peer”的解决方式

    但在测试Redis的远程连接时,遇到了连接失败的错误。

    问题解决:
    在网上查找原因,说是要将配置文件中的bind 127.0.0.1注释掉。但为什么这么做呢?

    分析原因如下:

    redis-server在启动时,如果没有指定配置文件的话,它使用的是默认的配置文件。

    需要注意的是,这里bind选项绑定的 并不是请求连接的客户机的IP ,而是 提供redis-server服务的服务器的网络接口,或者说是 网卡 。

    当配置bind 127.0.0.1时,意味着 只有127.0.0.1网络接口接收连接请求 ,而 不是只接受来自127.0.0.1的请求。

    切记127.0.0.1 不等于你的本机IP,这是两个不同的网络接口。

     

    当客户机使用redis-cli -h your_ip_address -p 6379 命令请求连接时,应该是your_ip_address 这个网络接口在接收请求,所以可以做出以下修改:

    直接将bind 127.0.0.1注释掉 。这时,你所有的网络接口都在接收连接请求。(包括127.0.0.1, your_ip_address,…(如果还有其它接口,也在接收请求))(客户机可以远程连接)

    将bind 127.0.0.1修改为 bind your_ip_address。这时,只有your_ip_address这个接口在接收请求。(客户机可以远程连接,更安全)

    修改配置文件后需要重启redis-server: 命令为:sudo /etc/init.d/redis-server restart

     

    在配置文件中将bind 127.0.0.1注释掉,重启Redis服务。
    发现 连接成功,但数据操作时发生了错误。

    查找原因,发现是需要修改配置文件中protected-mode配置项。
    查看注释可知protected-mode配置项默认开启yes,redis处于保护模式状态,会拒绝来自其它主机的连接。

    解决方式:将protected-mode配置项设为no,注意 要在配置文件中修改,若直接在客户端中通过config set protected-mode no命令修改,只对本次有效,redis-server重启后,还是为yes.
    对比发现,Ubuntu系统中Redis配置文件中不存在此配置项,该配置项应该是较新版本才加入的(3.2版本后)。

    修改为 no 后,再次测试,请求连接,数据操作均可正常使用。

     

    ————————————————

    原文链接:https://blog.csdn.net/Ha_hha/article/details/79993929

  • 如果出现“Running pip as the ‘root’”请尝试这种办法

    如果在Centos版的云服务器上,用pip安装包的时候出现“WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv” 这样的话,请尝试一下这种方式解决:

    命令行依次执行:

    1 export PIP_ROOT_USER_ACTION=ignore

    2 pip install –root-user-action=ignore requests

    3 pip install –upgrade pip

    4 pip install xxxxx

  • 腾讯云下 python的flask项目 外网无法访问解决

    有一个自用工具需要放到外网,正好腾讯云的服务器还有一年,于是开始倒腾。好容易Flask的项目能正常运行了,但是外网缺不能访问。

    如果你也碰到这样的情况,请看直接看结果。

    需要注意的是:host 一定要换成云主机的内网ip(如果是127.0.0.1是访问不到的)

  • Linux(centos7.6)下升级python3.8

    1.先去这个网址 ​https://www.python.org/ftp/python/3.8.0/,找到相应的版本,找到.tgz结尾的文件。
    2.我找到的是py3.8的,下载链接为https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
    ​补充:最好以root身份登录,避免不必要的麻烦
    3.去linux下找到一个下载的目录(任意都行),执行下面的代码

    wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
    # -C 后面的路径是你需要解压到的位置,根据实际情况填写即可,我这里是在/usr/local/python3
    tar -zxvf Python-3.8.0.tgz -C /usr/local/python3
    # 将里面的文件 移动到python3文件夹中
    mv /usr/local/python3/Python-3.8.0/* /usr/local/python3
    # 删除Python-3.8.0文件夹
    rm -rf /usr/local/python3/Python-3.8.0

    4.先安装一个C的编辑器和一些必备环境,没有yum源自行百度,先进行搭建

    yum -y update
    yum -y groupinstall “Development Tools”
    yum -y install gcc openssl-devel bzip2-devel libffi-devel
    yum -y install zlib*

    如果是apt 就用这个

    sudo apt update
    sudo apt install build-essential
    sudo apt install gcc libssl-dev libbz2-dev libffi-dev
    sudo apt install zlib1g-dev

    5.进入python3文件夹,然后配置安装

    cd /usr/local/python3
    # –with-ssl 是配置https协议,–with-ensurepip=install是安装pip工具
    ./configure prefix=/usr/local/python3 –with-ssl –with-ensurepip=install
    # 在编译前需要进行编译配置,./configure –enable-optimizations –with-ssl –with-ensurepip=install,
    #官方文档有提到加–enable-optimizations参数可以提升后期python百分之10的运行速度,不过我加上后发现会编译失败,所以去掉了
    #如果你加了以后执行下面的命令报错了,可以执行 `make clean`,然后再执行` make && make install `
    make && make install

    6.备份原来的python链接,配置软连接

    cd /usr/bin
    mv python python.bak
    ln -s /usr/local/python3/bin/python3 /usr/bin/python

    7.查看python版本
    python -V

    8.配置pip

    # 进入到python3的bin目录
    cd /usr/local/python3/bin

    # 给pip3建立软连接为pip
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

    之后输入pip -V,pip3 -V就都可以使用了

    9.设置国内源(可自行百度,这里介绍方法和一个例子)
    pip config主要包含以下子命令:set、get、edit、list、unset。
    pip config set
    这个命令允许我们以name=value的形式配置某些项,比如设置镜像源:

    pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple

    pip config get
    这个命令允许我们查看某个配置项的值,比如查看镜像源配置:

    pip config get global.index-url

    编辑配置文件采用这个命令:pip config –editor=vi edit
    查看配置信息pip config list

    global.index-url=’https://mirrors.cloud.tencent.com/pypi/simple’

    pip config unset
    这个命令允许我们删除一个配置,比如下面命令删除了镜像的配置:

    pip config unset global.index-url

    最简单的方法是,输入: pip config –editor=vi edit,然后把下面的复制过去,然后保存即可。

    [global]
    index = https://pypi.tuna.tsinghua.edu.cn/
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    trusted-host = pypi.tuna.tsinghua.edu.cn
    timeout = 6000

    10.补充一下,yum是没法用了的问题,需要解决版本冲突问题
    输入vi /usr/libexec/urlgrabber-ext-down,将python改为python2,修改第一行,然后退出保存

    #! /usr/bin/python2

    修改yum的内容 输入vim /usr/bin/yum,将python改为python2,修改第一行,然后退出保存

    #! /usr/bin/python2

    然后yum就可以使用了,如果不想改的话,可以升级yum,请自行百度,不做演示。

     

  • 宝塔面板中安装MongoDB的几个问题

    1 mac下的宝塔面板安装MongoDB只能安装 4.4版本的

    2 如果出现 “pid文件不存在:/www/server/mongodb/log/configsvr.pid”,请如下操作:

    sudo chown -R mongod:mongod /tmp/mongodb-27017.sock

    sudo chmod 777 /tmp

    或者
    sudo rm -f /tmp/mongodb-27017.sock

    3. 安装后不能启动或者启动失败,需要如下设置

    bindIp=> 0.0.0.0

    authorization: enabled

    4 设置数据库的用户角色

    cd /www/server/mongodb

    mongo

    use admin

    db.createUser({user:‘root’,pwd:‘123456’,roles:[‘root’]})

    db.auth(‘root’,‘123456’) //返回1成功

     

     

  • Failed to get D-Bus connection: Operation not permitted 的解决

    Mac下的宝塔面板中安装了MongoDB,但是启动时候执行 sudo systemctl start mongod 报错“Failed to get D-Bus connection: Operation not permitted”。经过查找记录一下解决方法:

    1 先做备份

    mv /usr/bin/systemctl /usr/bin/systemctl.old

    2 下载 systemctl文件

    curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl

    3 赋予权限

    chmod +x /usr/bin/systemctl

    4 完成

     

     

  • OpenCloudOS中安装MongoDB

    OpenCloudOS上安装mongodb需要按照如下执行:

    添加MongoDB仓库

    首先需要添加MongoDB的官方仓库到你的系统中。打开终端,执行以下命令:

    sudo tee /etc/yum.repos.d/mongodb-org-8.0.repo << EOF
    [mongodb-org-8.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/8.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc
    EOF
    

    请注意,这里使用的是MongoDB 6.0版本的仓库。如果需要其他版本,可以相应地调整版本号。

    安装MongoDB

    添加完仓库后,可以通过yum来安装MongoDB:

    sudo yum install -y mongodb-org
    

    启动MongoDB服务

    安装完成后,启动MongoDB服务,并设置开机自启:

    sudo systemctl start mongod
    sudo systemctl enable mongod
  • MongoDB和Mysql,我有个想法要用到MongoDB

    有个想法要存储文本数据,所以想到了MongoDB。所以这里做个前期铺垫。

    一、介绍:

    MongoDB 是一种非关系型数据库管理系统,它使用文档(document)来存储数据。文档是一种类似于 JSON 的格式,它由键值对(key-value pair)组成,每一个键值对代表一个属性。文档之间没有固定的结构,可以根据需要灵活地添加或删除属性。文档存储在集合(collection)中,集合类似于表,但没有预定义的模式(schema)。集合之间可以通过引用(reference)或嵌入(embedding)来建立关联,实现数据的灵活性和效率。

     

    二、MongoDB和Mysql的相似之处
    MySQL 和 MongoDB 都是数据库管理系统。它们存储数据并具有内置的用户界面和查询语言,因此我们都可以进行添加、编辑、修改和分析数据等操作。

    1、开源许可证

    MySQL 和早期版本的 MongoDB 都有开源许可证,可以免费下载开源版本。我们可以根据需要对代码执行的操作来对其进行修改。

    MySQL 使用 GPL 协议,使得任何人均可以免费使用 MySQL 并且可以对其进行代码修改。而 MonogoDB 在 2018 年 10 月 16 日更改 License 为 SSPL 协议,这对于开源社区没啥影响,但是对于云厂商而言 MongoDB 公司会明确要求托管 MongoDB 实例的云厂商要么从 MongoDB 公司获取商业许可证,要么向社区开源其服务代码。

    2、索引支持

    MySQL 和 MongoDB 使用索引来提高查询速度和性能。索引是加快数据查询的一种数据库结构,有助于非常快速地查找和检索数据。

    MySQL 和 MongoDB 数据库平台都使用哈希索引、B- 树索引和其他几种索引。

    3、用户界面

    MongoDB 和 MySQL 都易于使用。它们提供基于自然语言的查询语言来更新和读取数据,还提供图形用户界面(GUI),以便更直观地管理和分析数据。

    4、编程语言

    MySQL 和 MongoDB 与各种相同的编程语言兼容。MongoDB 和 MySQL 都可以与 Java、Python、Node.js、PHP、Ruby 以及 C# 结合使用。

    5、安全性

    MySQL 和 MongoDB 都使用身份验证、访问控制和加密手段来确保其数据库的安全。它们使用 TLS/SSL 加密来保护传输中数据和静态数据,还允许定义不同的用户访问级别。

    6、文档和社区支持

    MySQL 和 MongoDB 在各自的网站上都有详细的官方文档。两者的教程、手册和指南包含安装、配置和运行操作任务的完整说明。

    MongoDB 和 MySQL 都有一个活跃的开发人员社区,可以回答问题并帮助进行故障排除。它们还提供企业版,针对特定要求提供专属支持。

    三、MongoDB和Mysql的主要区别
    MySQL 是一个关系数据库管理系统,MongoDB 则是一个 NoSQL 数据库系统。MySQL 使用 SQL,大多数开发人员都有这方面的经验。相反 MongoDB 使用 MongoDB 查询语言(MQL)。尽管 MQL 和 SQL 有相似之处,但 MQL 通常需要额外花费精力进行学习。接下来,博主将介绍一些主要差异。

    1、数据模型

    MySQL 是一个关系数据库系统,它将数据存储在列、行和表中。我们将数据存储在行中,每列代表不同类型的数据。然后我们就可以使用外键和主键定义数据之间的关系。每个表都有一个用于标识它的主键,外键用于创建关系。

    MongoDB 是一个面向文档的数据库,将其所有数据存储为二进制 JSON(BSON)文档。BSON 允许序列化多种形式的数据。使用 BSON 文档可以存储非结构化、半结构化和结构化数据。MongoDB 没有使用数据库架构,而是采用了一种灵活的方法,将文档存储在集合中。

    2、可扩展性

    在 MySQL 数据库系统中,可用的扩展选项是有限的。有以下方案可供选择:

    • 通过向当前数据库服务器添加更多资源来实现纵向可扩展性
    • 通过在其他服务器上创建数据库的只读副本来读取复制

    创建制度副本有限制,最多只能有五个副本。副本还可能滞后于主副本,会造成一致性问题。纵向可扩展性也受限于单机性能瓶颈。

    相比之下,MongoDB 在可扩展性方面具有显著的优势。它具有两个用于扩展的关键功能:

    • 副本集 — 包含相同数据的 MongoDB 服务器备份
    • 分片 — 将数据分布在不同的服务器上

    MongoDB 允许创建分片集群,因此我们的部分数据将在多个服务器上复制。例如如果我们有大量的客户记录,则可以对其进行分发,以便将 A-J 的姓名和 K-Z 的姓名保存在各自的副本集中。因此 MongoDB 可以横向扩展,以大规模优化读写性能。

    3、性能

    MySQL 设计为可在建立适当索引的多个表之间实现高性能连接。但是它需要逐行插入数据,因此写入性能较慢。

    MongoDB 文档遵循分层数据模型,将大部分数据保存在单个文档中,从而减少了跨多个文档进行联接的需要。通过 $lookup 操作支持联接,但并未针对性能对其进行优化。但是 MongoDB 提供了 insertMany() API,用于快速插入数据,可优先考虑写入性能。

    4、灵活性

    作为关系数据库管理系统,MySQL 的结构比 MongoDB 更严格。MySQL 使用固定架构,将数据整理成行和表。必须将数据结构化并放入表格系统中才能使用 MySQL。

    通过将数据存储为 JSON 文档,MongoDB 允许构建具有许多不同数据类型的复杂应用程序。例如可以通过更新嵌套数组字段来创建新字段。还可以使用聚合管道(这是一个 MongoDB 功能),允许通过将多个操作合并为一个工作流程来转换数据。

    5、访问控制

    在 MongoDB 中,可以控制操作、集合或数据库级别的访问权限。它使用 Kerberos、X.509 和 LDAP 证书对用户进行身份验证。相比之下,MySQL 允许在用户、数据库和表级别上限制用户访问权限。MySQL 使用自己的身份验证系统。它会在 SQL 注入攻击中带来另一个安全漏洞,MongoDB 的无架构方法则可以避免这个漏洞。

    四、MongoDB和Mysql的差异表格
    五、MongoDB和Mysql的优缺点
    MySQL 和 MongoDB 各有优缺点,如下展示:

    MySQL 的优点:

    成熟稳定:MySQL 是一个历史悠久、广泛使用、经过测试的数据库系统,有着丰富的文档和社区支持。

    易用强大:MySQL 提供了一个简单易用、功能强大的 SQL 语言,可以实现复杂的查询和操作。

    数据安全:MySQL 支持 ACID 事务,可以保证数据的完整性和一致性,避免数据丢失或错误。

    MySQL 的缺点:

    灵活性低:MySQL 需要预先定义好数据的结构和类型,不适合存储动态变化或非结构化的数据。

    扩展性差:MySQL 只支持垂直扩展,不适合处理海量或分布式的数据。

    性能瓶颈:MySQL 在处理大量的连接、并发、索引、关联等操作时,可能会出现性能瓶颈或故障。

    MongoDB 的优点:

    灵活性高:MongoDB 使用文档模型,可以动态地调整数据的结构和类型,适合存储动态变化或非结构化的数据。

    扩展性好:MongoDB 支持水平扩展,可以处理海量或分布式的数据,提高系统的可用性和容错性。

    性能高效:MongoDB 在处理大量的读写、索引、嵌入等操作时,可以实现高效的性能和吞吐量。

    MongoDB 的缺点:

    难用复杂:MongoDB 提供了一个难用复杂、功能有限的 MQL 语言,不能实现复杂的查询和操作。

    数据不安全:MongoDB 不支持 ACID 事务,不能保证数据的完整性和一致性,可能导致数据丢失或错误。

    六、MongoDB和Mysql的应用场景
    MySQL 和 MongoDB 适合不同的应用场景,以下是一些主要的例子:

    MySQL 适合以下场景:
    • MySQL 中的数据存储格式使其适用于数据仓库和在线分析处理。它符合 ACID 标准,这使得 MySQL 适用于处理复杂事务,例如在电子商务、交易应用场景中。
    • 需要确保数据安全、一致性、可靠性等特性的场景,例如政府、金融等领域。
    MongoDB 适合以下场景:
    • MongoDB 在社交网络、媒体或物联网(IoT)等应用场景中处理非结构化数据时,该数据库更为合适。
    • 需要进行大量的读写、索引、嵌入等操作的场景,并且需要数据可扩展可变化,例如内容管理、个性化推荐等领域。

     

     

  • 豆瓣API 能用篇

    多年前豆瓣API就已经悄然下线,不过经过一番试探发现竟然有些还能用。正好我的P7电影网(http://www.p7dy.com)和灯塔阅读(http://www.dengtayuedu.com)有这方面的需要。

    本着互联网的精神,整理如下。

    V2 版 API 权限分 3 类:

    • 公开(对应 Required Scope URI :movie_basic_r, movie_basic_w)- 所有开发者均可申请,审核通过。限定 40 次请求/分钟。开放基本数据接口,一般的个人爱好者自建网站或应用都会满足。
    • 高级(对应 Required Scope URI :movie_advance_r, movie_advance_w) – 在运行过一段时间之后,如果这个非商业网站(例如非盈利性质的图书馆,学校,公益组织等)的确出众,且价值观符合 Douban,无版权问题,又不和豆瓣电影有正面的商业竞争,可以申请高级权限。开放基本上所有的接口。
    • 商务(对应 Required Scope URI :movie_premium_r, movie_premium_w)- 应用于商务合作,不限制次数,开放有限接口。已经商业化网站请使用此接口。 移植到 V2 之后,只要满足我们的 API 规定要求(见后),即可开通。

      申请开通高级或商务接口请联系 bd-team@douban.com

    • 评分需和资料任一项同时显示,并且标注“豆瓣评分”
    • 如使用资料,须在影片资料下增加链接“去豆瓣电影查看详情”,链接指向为相应条目 url
    • 影评须单独注明“豆瓣电影”,不可和其他方评论数据混合显示
    • 如果应用包含客户端服务,此客户端不得使用包含“豆瓣“和”豆瓣电影”字样显示在名称及相应 logo 内
    • 如果应用使用豆瓣资料、评分、影评,则此应用不得采用其他平台方提供的同类型数据,且应用不得自建评分、影评服务

    API 列表

    电影条目

    影人条目

    搜索

    榜单

    TODO

    • [ ] 电影条目信息中删除 pubdate 字段, 含义和 mainland_pubdate 重复了
    • 根URL:https://api.douban.com/v2/***
    • 请求方式为POST或GET,需自行调试使用
    • 下面的有些接口已经失效,需自行调试使用
    • apitoken: 需要自行搜寻

    电影条目信息


    Resources URI

    /v2/movie/subject/:id
    https://api.douban.com/v2/movie/imdb/tt6718170 (用imbd的id来获取)
    

    Required Scope

    movie_basic_r
    

    Example:

    GET /v2/movie/subject/1764796
    

    Status:

    200 OK
    

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    id 条目 id str Y Y Y –
    title 中文名 str Y Y Y –
    original_title 原名 str Y Y Y ’’
    aka 又名 array Y Y Y []
    alt 条目页 URL str Y Y Y –
    mobile_url 移动版条目页 URL str Y Y Y –
    rating 评分,见附录 dict Y Y Y –
    ratings_count 评分人数 int Y Y Y 0
    wish_count 想看人数 int Y Y Y 0
    collect_count 看过人数 int Y Y Y 0
    do_count 在看人数,如果是电视剧,默认值为 0,如果是电影值为 null int Y Y Y 0 / null
    images 电影海报图,分别提供 288px x 465px(大),96px x 155px(中) 64px x 103px(小)尺寸 dict Y Y Y –
    subtype 条目分类, movie 或者 tv str Y Y Y movie
    directors 导演,数据结构为影人的简化描述,见附录 array Y Y Y []
    casts 主演,最多可获得 4 个,数据结构为影人的简化描述,见附录 array Y Y Y []
    writers 编剧,数据结构为影人的简化描述,见附录 array N Y Y []
    website 官方网站 str N Y Y ’’
    douban_site 豆瓣小站 str Y Y Y ’’
    pubdates 如果条目类型是电影则为上映日期,如果是电视剧则为首 Ï 日期 array N Y Y []
    mainland_pubdate 大陆上映日期,如果条目类型是电影则为上映日期,如果是电视剧则为首播日期 str N Y Y ’’
    pubdate 兼容性数据,未来会去掉,大陆上映日期,如果条目类型是电影则为上映日期,如果是电视剧则为首播日期 str N Y Y ’’
    year 年代 str Y Y Y ’’
    languages 语言 array N Y Y []
    durations 片长 array N Y Y []
    genres 影片类型,最多提供 3 个 array Y Y Y []
    countries 制片国家/地区 array Y Y Y []
    summary 简介 str Y Y Y ’’
    comments_count 短评数量 int Y Y Y 0
    reviews_count 影评数量 int Y Y Y 0
    seasons_count 总季数(tv only) int Y Y Y 0 / null
    current_season 当前季数(tv only) int Y Y Y 0 / null
    episodes_count 当前季的集数(tv only) int Y Y Y 0 / null
    schedule_url 影讯页 URL(movie only) str Y Y Y ’’
    trailer_urls 预告片 URL,对高级用户以上开放,最多开放 4 个地址 array N Y Y []
    clip_urls 片段 URL,对高级用户以上开放,最多开放 4 个地址 array N Y Y []
    blooper_urls 花絮 URL,对高级用户以上开放,最多开放 4 个地址 array N Y Y []
    photos 电影剧照,前 10 张,见附录 array N Y Y []
    popular_reviews 影评,前 10 条,影评结构,见附录 array N Y Y []

    影人条目信息


    Resources URI

    /v2/movie/celebrity/:id
    

    Required Scope

    movie_basic_r
    

    Example:

    GET /v2/movie/celebrity/1054395
    

    Status:

    200 OK
    

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    id 条目 id str Y Y N/A –
    name 中文名 str Y Y N/A –
    name_en 英文名 str Y Y N/A ’’
    alt 条目页 URL str Y Y N/A –
    mobile_url 条目移动版 URL str Y Y N/A –
    avatars 影人头像,分别提供 420px x 600px(大),140px x 200px(中) 70px x 100px(小)尺寸 dict Y Y N/A –
    summary 简介 str N Y N/A ’’
    aka 更多中文名 array Y Y N/A []
    aka_en 更多英文名 array Y Y N/A []
    website 官方网站 str N Y N/A ’’
    gender 性别 str Y Y N/A ’’
    birthday 出生日期 str N Y N/A ’’
    born_place 出生地 str Y Y N/A ’’
    professions 职业 array N Y N/A []
    constellation 星座 str N Y N/A ’’
    photos 影人剧照,最多 10 张,见附录 array N Y N/A []
    works 影人作品,最多 5 部,简版电影条目结构,见附录 array Y Y N/A []

    电影条目剧照


    Resources URI

    /v2/movie/subject/:id/photos
    

    Required Scope

    movie_advance_r
    

    Example:

    GET /v2/movie/subject/1054395/photos
    

    Status:

    200 OK
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10
    total 总数 int N/A Y Y 0
    subject 电影条目,见附录 dict N/A Y Y –
    photos 查询结果,见附录 array N/A Y Y –

    电影条目影评列表


    Resources URI

    /v2/movie/subject/:id/reviews
    

    Required Scope

    movie_advance_r
    

    Example:

    GET /v2/movie/subject/1054395/reviews
    

    Status:

    200 OK
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10
    total 总数 int N/A Y Y 0
    subject 电影条目,见附录 dict N/A Y Y –
    reviews 影评列表,见附录 array N/A Y Y –

    电影条目短评列表


    Resources URI

    /v2/movie/subject/:id/comments
    

    Required Scope

    movie_advance_r
    

    Example:

    GET /v2/movie/subject/1054395/comments
    

    Status:

    200 OK
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10
    total 总数 int N/A Y Y 0
    subject 电影条目,见附录 dict N/A Y Y –
    comments 短评列表,见附录 array N/A Y Y –

    影人作品


    Resources URI

    /v2/movie/celebrity/:id/works
    

    Required Scope

    movie_advance_r
    

    Example:

    GET /v2/movie/celebrity/1054395/works
    

    Status:

    200 OK
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 5

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 5
    total 总数 int N/A Y Y 0
    celebrity 影人条目,见附录 dict N/A Y Y –
    works 作品列表,包括作品及对应的角色,见附录 array N/A Y Y –

    影人剧照


    Resources URI

    /v2/movie/celebrity/:id/photos
    

    Required Scope

    movie_advance_r
    

    Example:

    GET /v2/movie/celebrity/1054395/photos
    

    Status:

    200 OK
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 10
    total 总数 int N/A Y Y 0
    celebrity 影人条目,见附录 dict N/A Y Y –
    photos 剧照列表,见附录 array N/A Y Y –

    电影条目搜索


    Resources URI

    /v2/movie/search?q={text}
    

    Required Scope

    movie_basic_r
    

    Example:

    GET /v2/movie/search?q=张艺谋 GET /v2/movie/search?tag=喜剧
    

    Status:

    200 OK
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    q query string str Y Y Y –
    tag tag query string str Y Y Y –
    start start int Y Y Y 0
    count count int Y Y Y 20

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int Y Y Y 0
    count count int Y Y Y 20
    total 总数, Basic 最多只返回 20 条记录 int Y Y Y 0
    query 搜索字符串 str Y Y Y –
    tag 搜索标签 str Y Y Y –
    subjects 搜索结果列表,见附录 array Y Y Y –

    Top250


    Resources URI

    /v2/movie/top250
    

    Required Scope

    movie_basic_r
    

    Example:

    GET /v2/movie/top250
    

    Status:

    200 OK
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    start start int Y Y N/A 0
    count count int Y Y N/A 10

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int Y Y N/A 0
    count count int Y Y N/A 10
    total 总数 int Y Y N/A 0
    title 排行榜名称 str Y Y N/A –
    subjects 条目列表,见附录 array Y Y N/A –

    北美票房榜


    Resources URI

    /v2/movie/us_box
    

    Required Scope

    movie_basic_r
    

    Example:

    GET /v2/movie/us_box
    

    Status:

    200 OK
    

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    title 排行榜名称 str Y Y N/A –
    date 排行榜日期范围 str Y Y N/A –
    subjects usbox 条目列表,见附录 array Y Y N/A –

    口碑榜


    Resources URI

    /v2/movie/weekly
    

    Required Scope

    movie_advance_r
    

    Example:

    GET /v2/movie/weekly
    

    Status:

    200 OK
    

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    title 排行榜名称 str N/A Y N/A –
    subjects weekly 条目列表,见附录 array N/A Y N/A –

    新片榜


    Resources URI

    /v2/movie/new_movies
    

    Required Scope

    movie_advance_r
    

    Example:

    GET /v2/movie/new_movies
    

    Status:

    200 OK
    

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    title 排行榜名称 str N/A Y N/A –
    subjects 条目列表,见附录 array N/A Y N/A –

    正在上映


    Resources URI

    /v2/movie/in_theaters
    

    Required Scope

    movie_premium_r
    

    Example:

    GET /v2/movie/in_theaters
    

    Status:

    200 OK

    {
        "title": "正在上映的电影-北京",
        "total": 39,
        "start": 0,
        "count": 20,
        "subjects": [<Subject>, ...],
    }
    

    Request Properties:

    Name Type Optional Note
    city string yes(default: 北京) 中文,如: “北京” 或者数字 ID: 108288

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 20
    total 总数 int N/A Y Y 0
    subject 电影条目,见附录 dict N/A Y Y –
    title 标题 str N/A Y Y 正在上映的电影-北京

    即将上映


    Resources URI

    /v2/movie/coming_soon
    

    Required Scope

    movie_premium_r
    

    Example:

    GET /v2/movie/coming_soon
    

    Status:

    200 OK

    {
        "start": 0,
        "count": 20,
        "title": "即将上映的电影",
        "total": 39,
        "subjects": [<Subject>, ...],
    }
    

    Request Properties:

    Property Description Type Basic Advance Premium Default
    start start int Y Y N/A 0
    count count int Y Y N/A 20

    Resources Properties:

    Property Description Type Basic Advance Premium Default
    start start int N/A Y Y 0
    count count int N/A Y Y 20
    total 总数 int N/A Y Y 0
    subject 电影条目,见附录 dict N/A Y Y –
    title 标题 str N/A Y Y 即将上映的电影

    Appendix

    Simple Celebrity Properties


    Property Description Type Basic Advance Premium Default
    id 影人条目 id str Y Y Y –
    name 中文名 str Y Y Y –
    alt 影人条目 URL str Y Y Y –
    avatars 影人头像,分别提供 420px x 600px(大),140px x 200px(中) 70px x 100px(小)尺寸 dict Y Y Y –

    Simple Rating Properties


    Property Description Type Basic Advance Premium Default
    min 最低评分 int Y Y Y –
    max 最高评分 int Y Y Y –
    average 评分 float(1) Y Y Y –
    stars 评星数 int Y Y Y –

    Rating Properties


    Property Description Type Basic Advance Premium Default
    min 最低评分 int Y Y Y –
    max 最高评分 int Y Y Y –
    value 评分 int Y Y Y –

    Simple Subject Properties


    Property Description Type Basic Advance Premium Default
    id 条目 id str Y Y Y –
    title 中文名 str Y Y Y –
    original_title 原名 str Y Y Y ’’
    alt 条目 URL float(1) Y Y Y –
    images 电影海报图,分别提供 288px x 465px(大),96px x 155px(中) 64px x 103px(小)尺寸 dict Y Y Y –
    rating 评分,见附录 dict Y Y Y –
    pubdates 如果条目类型是电影则为上映日期,如果是电视剧则为首播日期 array N Y Y []
    year 年代 str Y Y Y ’’
    subtype 条目分类, movie 或者 tv str Y Y Y movie

    Photo Properties


    Property Description Type Basic Advance Premium Default
    id 图片 id str N/A Y Y –
    subject_id 条目 id str N/A Y Y –
    alt 图片展示页 url str N/A Y Y –
    icon 图片地址,icon 尺寸 str N/A Y Y –
    image 图片地址,image 尺寸 str N/A Y Y –
    thumb 图片地址,thumb 尺寸 str N/A Y Y –
    cover 图片地址,cover 尺寸 str N/A Y Y –
    created_at 发布日期 str N/A Y Y –
    desc 图片描述 str N/A Y Y ’’
    author 上传用户,见附录 dict N/A Y Y –
    album_id 相册 id str N/A Y Y –
    album_title 相册标题 str N/A Y Y –
    album_url 相册地址 str N/A Y Y –
    next_photo 下一张图片 str N/A Y Y ’’
    prev_photo 上一张图片 str N/A Y Y ’’
    position 图片在相册中的位置,按照时间排序 int N/A Y Y 0
    comments_count 评论数 int N/A Y Y 0
    photos_count 全部剧照数量 int N/A Y Y 0

    Simple Photo Properties


    Property Description Type Basic Advance Premium Default
    id 图片 id str N/A Y Y –
    alt 图片展示页 url str N/A Y Y –
    icon 图片地址,icon 尺寸 str N/A Y Y –
    image 图片地址,image 尺寸 str N/A Y Y –
    thumb 图片地址,thumb 尺寸 str N/A Y Y –
    cover 图片地址,cover 尺寸 str N/A Y Y –

    Review Properties


    Property Description Type Basic Advance Premium Default
    id 影评 id str Y Y Y –
    title 影评名 str Y Y Y –
    alt 影评 url str Y Y Y –
    created_at 发布日期 str Y Y Y –
    updated_at 更新日期 str Y Y Y –
    subject_id 条目 id str Y Y Y –
    author 上传用户,见附录 dict Y Y Y –
    summary 摘要,100 字以内 str Y Y Y –
    rating 影评评分,见附录 dict Y Y Y –
    useful_count 有用数 int Y Y Y 0
    useless_count 无用数 int Y Y Y 0
    comments_count 评论数 int Y Y Y 0

    Simple Review Properties


    Property Description Type Basic Advance Premium Default
    id 影评 id str Y Y Y –
    title 影评名 str Y Y Y –
    alt 影评 url str Y Y Y –
    subject_id 条目 id str Y Y Y –
    author 上传用户,见附录 dict Y Y Y –
    rating 影评评分,见附录 dict Y Y Y –
    summary 摘要,100 字以内 str Y Y Y –

    Comment Properties


    Property Description Type Basic Advance Premium Default
    id 短评 id str Y Y Y –
    created_at 发布日期 str Y Y Y –
    subject_id 条目 id str Y Y Y –
    author 上传用户,见附录 dict Y Y Y –
    content 短评内容,140 字以内 str Y Y Y –
    rating 短评评分,见附录 dict Y Y Y –
    useful_count 有用数 int Y Y Y 0

    Simple User Properties


    Property Description Type Basic Advance Premium Default
    id 用户 id str Y Y Y –
    name 用户名 str Y Y Y –
    uid 用户唯一标识 str Y Y Y –
    signature 用户签名 str Y Y Y ’’
    alt 用户个人主页 url str Y Y Y –
    avatar 用户头像 str Y Y Y –

    Box-Subject Properties


    Property Description Type Basic Advance Premium Default
    rank 排名 int Y Y Y –
    box 票房 int Y Y Y –
    new 是否新上映 bool Y Y –
    subject 电影条目见附录 dict Y Y Y –

    Weekly-Subject Properties


    Property Description Type Basic Advance Premium Default
    rank 排名 int Y Y Y –
    delta 排名改变量 int Y Y Y Y

     

     

     

  • DeepSeek-R1 7B、32B、671B差距有多大?

    看到宝塔面板的Docker模块可以安装DeepSeek,于是想动手,但是看到版本后有点懵,于是查了一下。最后只能说幸亏没有动手。

    DeepSeek开园后关于本地部署Deepseek-R1的教程,更是如同雨后春笋般出现在各个网络平台上。然而,这些本地部署教程往往会告诉你Deepseek-R1有多强大,但不会告诉你本地部署的“蒸馏版”Deepseek-R1相比“满血版”究竟有多差。

     

    值得注意的是,目前公开发布的小尺寸的DeepSeek-R1模型,均是通过Qwen或Llama从R1中蒸馏过来,尺寸有所缩小,以适应不同性能设备调用DeepSeek-R1模型。

    换句话说,无论是7B还是32B的DeepSeek-R1,本质上更像是“R1味儿”的Qwen模型,差不多是“牛肉风味肉卷”和“牛肉卷”的差距。虽然拥有前者部分特性,但更多是后者照猫画虎实现类似的推理功能。

    毋庸置疑的是,随着模型尺寸的缩小,其性能也会变得更差,与“满血版”R1的差距也会更大。而今天,大模型之家就带你来看看,不同尺寸的DeepSeek-R1与“满血版”差距究竟有多大?

    注:B=十亿参数

    语言能力测试

    在语言能力测试环节,大模型之家让7B、32B、671B的DeepSeek-R1,分别用“新年快乐万事如意”写一首藏头诗。

    在这个似乎已经被各大模型“玩烂了”的场景下,在很多人看来是LLM最小儿科的场景。

    然而正如那句“如果不出意外的话,就要出意外了”。在这一环节中,7B版本的R1竟然率先出现了bug!

    可以看到,左边的7B版本R1的输出结果既没能“藏头”,也不像一首“诗”,甚至还在文中开始说起了英语。显然,在最基础的文字生成能力上,7B并没有达到“及格线”。

    相比之下,32B的R1可以正常输出文本内容,成功完成了“藏头诗”的创作。虽然从押韵方面存在些许瑕疵,但胜在七言律诗对仗工整,内容上也没有逻辑错误。

    当然,效果最好的还要数“满血版”的R1,不仅对仗工整,韵脚得体,同时还给出了诗词的赏析内容。明确了“新年快乐万事如意”的“藏头诗”背后,寄寓了对新岁万事顺遂的美好祝愿。

    为了探究是否是因为小尺寸导致语言能力下降,大模型之家还采用了尺寸相近的9B的GLM4用同样的提示词进行测试。结果发现在语言表达能力方面,GLM4并不输给DeepSeek-R1,可见,当R1规模小到一定程度时,其基本的文本能力方面也会受到严重影响。

    联网总结测试

    在测试完语言能力之后,我们在将R1与网络搜索相结合,测试一下不同尺寸下,对于网络内容的汇总能力。

    大模型之家以一首杜甫的《登高》来测试一下R1大模型在联网状态下的表现。

    乍一看7B模型输出的表现足够优秀(左),但是实际测试中,大模型之家发现7B模型的输出结果并不稳定。偶尔会出现右边对于诗词理解出现偏差的场景,由此也能够看出,在同等的网络搜索情况下,R1模型因为尺寸缩小,在语言理解与生成能力方面受到了较大的影响。

    相比之下,32B的R1输出就相对稳定,虽然在输出结果上会存在显示“整首诗”和“一句诗”的左右横跳,但对于诗词内容理解的准确性有了较大提高。

    而“满血版”R1依旧是表现最为优秀,不仅能够完整展示诗句内容,同时还会在答案中增加一些点评与背景陈述,增加回答的知识性与专业性。

    另一组测试,大模型之家选用了目前游戏中某角色的配队,来测试7B与32B的语言理解能力。

    在这一组测试中,7B模型出现了游戏中不存在的角色,而32B则能够准确把握角色名称,同时,在配队的推荐理由方面,32B模型给出的内容也更加科学合理。

    逻辑推理测试

    而在测试的第二个环节,我们用一道经典的“鸡兔同笼”问题来考考不同尺寸的R1模型。提示词为:一个笼子,里头有鸡和兔子,一共有25个头和76只脚,请问笼子里边鸡和兔子各有多少只?

    也许是“鸡兔同笼”的问题对于R1而言过于简单,那么换一道更难的“一个三棱柱的上底和下底为两个等腰直角三角形,每个等腰三角形的直角边长为16。直棱柱的高度等于等腰直角三角形的斜边长度。求直棱柱的表面积。”

    比较令人惊讶的是,无论是7B还是32B的模型,都可以输出正确的答案。可见,在数学运算能力方面,蒸馏尽可能保留了R1模型的数学能力。

    代码能力测试

    最后,让我们再来对比一下7B与32B的代码能力。这个环节,大模型之家要求R1编写一个“可以在浏览器上打开的贪吃蛇游戏”。

    代码太长,让我们直接来看生成好的结果:

    Deepseek-R1 7B的生成的游戏程序存在bug,只是一张静态的图片,蛇无法移动。

    而Deepseek-R1 32B的生成的游戏程序可以正常运行,可以通过键盘方向键控制蛇的正常移动,同时面板可以正常计分。

    本地部署门槛高,普通用户慎尝试

    从一系列的测试看来,DeepSeek-R1的7B、32B,都与“满血版”671B存在比较明显的差距,因此本地部署更多是用来搭建私有数据库,或让有能力的开发者进行微调与部署使用。对于一般用户而言,无论从技术还是设备门槛都比较高。

    官方测试结论也显示,32B的DeepSeek-R1大约能够实现90%的671B的性能,且在AIME 2024、GPQA Daimond、MATH-500等部分场景之下效果略优于OpenAI的o1-mini。

    而在实际体验中,也能够看到与官方测试结论基本吻合,32B以上模型勉强尚有本地化部署的可用性,而再小尺寸的模型在基础能力方面有些过于薄弱,甚至输出结果不敌同尺寸其他模型。尤其是网络上大量的本地部署教程所推荐的1.5B、7B、8B尺寸模型,还是忘了它们吧……除了配置需求低、速度快,用起来并不理想。

    左为7B模型生成信息、右为32B模型生成信息 前者生成速度是后者3.5倍

    所以,从结论上来说,如果你真想本地部署一个DeepSeek-R1模型,那么大模型之家建议从32B起步开始搭建,才有相对完整的大模型体验。

    那么,部署32B模型的代价是什么呢?

    图片来源:51CTO

    运行32B的R1模型,官方建议是64GB内存和32-48GB显存,再配合对应的CPU,一台电脑主机的价格大约在20000元以上。如果以最低配置运行,(20GB内存+24GB显存),价格也要超过万元。(除非你买API)

    笔者所使用的设备是M2 Max的MacBook Pro(12核CPU+30核GPU+32GB统一内存),在运行32B模型时,每秒仅能输出8-9 tokens,生成速度很慢,同时整机功耗持续维持在60-80W,这也意味着,如果用电池供电持续使用大模型,仅有1个小时的使用时间。

    不仅如此,本地化部署R1大模型后,还需要附加的方式为模型增加联网功能或本地化数据库,否则模型内的数据会与日新月异的互联网脱节,体验上多数情况远不及目前已经全面接入联网功能的免费大模型产品。

    所以,对于大多数普通用户而言,你费劲心力搭建的本地大模型,可能真的未必有市面上主流的免费大模型产品来得简单、方便、效果好,更多只是让你过一把部署本地大模型的瘾。

  • Write for us sponsored posts

    Write for Us Sponsored Posts!

    To discuss your ideas for contributing please send an email to

    netherlandsmark@proton.me

    Please include in the subject line: guest post for [website]

    And send us the article you’d like to post attached or in the email itself.

     

    General Submission Guidelines

    What topics can I write about?

    We have no limit on which subject you can write about, however some websites retain the last call on accepting a guest post or not, they will all be read before posting by our editors.

    What language can I write in?

    We accept only posts in english, if you need a post in another language please email us first to discuss in which websites we could accept it in.

    However you could write in english and include foreign anchor texts for your links, we do accept it that way.

    Can I contribute an edit to an existing post on the site?

    Yes you can, tell us which page and which piece of content you’d like to add or edit with your respective edit or addition including your link in that piece of content.

    Use Original Content

    The content you submit must be unique and not be posted anywhere else on the internet, we’ll check with copyscape your entire article.

    Be Free of Errors

    Ensure your submission contains no typos or grammatical errors.

    Length of Content

    Your article must be between 1000 and 3000 words, please stick to this guidelines, any smaller or bigger article will be rejected.

    Time it takes to publish

    After approval the article takes 2-4 days to be published in your desired website, you’ll be notified via email about the published status of your article.

    Links

    You can insert up to 3 outbound links in the body of your article.

  • Gin在Mac打包后在阿里云上提示“cannot execute binary file”的解决

    在Mac下打包的Gin放到了阿里云的服务器上(Centos系统)一直报错“cannot execute binary file”

    查看centos系统后

    #lscpu
    > Architecture: x86_64
    > CPU op-mode(s): 32-bit, 64-bit

    即使从新安装了对应版本的Go之后依旧报错。

    同样的打包文件在Mac下可以运行。于是问题便锁定在系统上:Mac下的打包文件在Centos下能运行。

    经过多方翻阅资料终于找到原因,这里一定不能搞错也一定要记住的是:这条命令是一行,不能分行来写。

    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o diyikaoshi main.go