当前位置: 首页 > news >正文

Killed by Google数据格式详解:JSON结构与字段规范完整说明

Killed by Google数据格式详解:JSON结构与字段规范完整说明

【免费下载链接】killedbygooglePart guillotine, part graveyard for Google's doomed apps, services, and hardware.项目地址: https://gitcode.com/gh_mirrors/ki/killedbygoogle

Killed by Google是一个记录Google已停止产品和服务的开源项目,它使用结构化的JSON数据格式来存储Google产品的生命周期信息。这个完整的数据格式指南将帮助开发者理解如何正确使用和贡献数据到项目中。📊

项目概述与核心功能

Killed by Google项目通过简洁的JSON数据结构记录了Google历史上所有已停止的产品、服务和应用。该项目不仅是一个纪念Google已逝产品的墓碑,更是一个宝贵的数据资源库,为开发者、研究者和技术爱好者提供了Google产品生态系统的完整历史视图。

JSON数据结构完整解析

基础数据模型

每个Google已停止产品在graveyard.json文件中都遵循统一的数据结构。让我们深入了解每个字段的详细规范:

{ "name": "Google Reader", "dateOpen": "2005-10-07", "dateClose": "2013-07-01", "description": "Google Reader was an RSS/Atom feed aggregator.", "link": "https://en.wikipedia.org/wiki/Google_Reader", "type": "service" }

字段规范详解

1.name字段:产品名称
  • 要求:必须使用产品的官方名称
  • 格式:字符串类型,首字母大写
  • 示例"Google Reader""Google+""Chromecast Audio"
  • 注意事项:保持名称的一致性,避免使用缩写或非官方名称
2.dateOpen字段:发布日期
  • 格式:ISO 8601标准日期格式YYYY-MM-DD
  • 验证规则:必须是有效日期,且早于dateClose
  • 数据来源:官方公告、新闻稿或可靠历史记录
  • 示例"2005-10-07""2013-09-29"
3.dateClose字段:停止日期
  • 格式:ISO 8601标准日期格式YYYY-MM-DD
  • 验证规则:必须是有效日期,且晚于dateOpen
  • 重要说明:必须是实际停止服务的日期
  • 示例"2013-07-01""2024-08-06"
4.description字段:产品描述
  • 要求:单句描述,以产品名称开头
  • 语法:使用过去时态,保持客观中立
  • 格式"{产品名称} was {功能描述}"
  • 示例"Google Reader was an RSS/Atom feed aggregator."
  • 长度限制:建议不超过200个字符
5.link字段:引用链接
  • 优先级:Wikipedia > 新闻机构 > 官方公告
  • 禁止链接:Google支持文章、产品营销页面
  • 要求:必须包含产品停止的相关信息
  • 示例"https://en.wikipedia.org/wiki/Google_Reader"
6.type字段:产品类型
  • 允许值"app""service""hardware"
  • 定义
    • app:移动或桌面应用程序
    • service:在线服务或平台
    • hardware:物理硬件设备

数据类型定义与枚举

项目使用TypeScript类型定义确保数据一致性。查看类型定义文件:

export enum ProductType { APP = 'app', SERVICE = 'service', HARDWARE = 'hardware', } export interface Product { name: string; description: string; dateClose: string; dateOpen: string; link: string; type: ProductType; }

数据验证与质量保证

自动化测试验证

项目包含严格的测试套件来验证数据完整性:

  1. 必填字段检查:确保所有字段都有值
  2. 日期格式验证:验证日期格式为YYYY-MM-DD
  3. 日期逻辑检查:确保停止日期晚于发布日期
  4. 类型枚举验证:只允许预定义的产品类型
  5. 唯一性检查:确保产品名称不重复

编辑指南

  • 描述编写:使用过去时态,客观描述产品功能
  • 链接选择:优先选择Wikipedia或权威新闻来源
  • 类型判断:准确分类为app、service或hardware
  • 日期确认:使用可靠来源确认准确的发布日期和停止日期

数据使用示例

前端组件数据消费

查看List组件如何展示产品数据:

// 计算产品生命周期 const getYears = () => { const duration = formatDistance(dateClose, dateOpen); return `It was ${duration} old.`; }; // 根据状态显示不同图标 const getIcon = () => { return isPast() ? { src: 'tombstone.svg', alt: 'Tombstone' } : { src: 'guillotine.svg', alt: 'Guillotine' }; };

API数据端点

项目提供RESTful API端点,访问API路由获取处理后的数据:

export async function GET() { const data = await require('../../../graveyard.json'); const processedData = data.map((item: Product) => ({ ...item, type: item.type as ProductType, slug: slugify(item.name, { lower: true }), })); return NextResponse.json(processedData); }

贡献数据的最佳实践

数据添加流程

  1. 收集信息:获取产品的完整信息
  2. 验证数据:确保所有字段符合规范
  3. 运行测试:执行yarn test验证数据格式
  4. 提交PR:创建包含完整信息的拉取请求

常见错误避免

  • ❌ 不要使用Google官方支持文章作为链接
  • ❌ 不要使用现在时态描述已停止产品
  • ❌ 不要使用非标准日期格式
  • ❌ 不要使用非官方产品名称
  • ✅ 使用Wikipedia作为首选链接来源
  • ✅ 保持描述简洁客观
  • ✅ 准确分类产品类型
  • ✅ 验证日期信息的准确性

数据统计与分析

按类型分布统计

通过对graveyard.json数据的分析,可以发现:

  • 服务类产品:占比最高,反映了Google频繁调整在线服务
  • 应用程序:移动应用生命周期相对较短
  • 硬件设备:物理产品通常有较长的生命周期

时间趋势分析

  • 产品生命周期:从几个月到十几年不等
  • 停止高峰期:特定年份有大量产品停止服务
  • 类型演变:不同类型产品的停止趋势变化

技术实现细节

数据存储结构

项目使用单一JSON文件存储所有数据,这种设计具有以下优势:

  1. 简单性:易于理解和维护
  2. 版本控制友好:Git可以清晰跟踪变更历史
  3. 快速加载:前端可以直接导入使用
  4. 易于扩展:添加新产品只需追加JSON对象

数据验证脚本

查看测试文件了解完整的验证逻辑:

test('Dates are valid', () => { data.forEach((product: Product) => { const dateClose = moment(product.dateClose); const dateOpen = moment(product.dateOpen); expect(dateClose.isValid()).toBe(true); expect(dateOpen.isValid()).toBe(true); }); }); test('`dateClose` is after `dateOpen`', () => { data.forEach((product: Product) => { const dateClose = moment(product.dateClose); const dateOpen = moment(product.dateOpen); expect(dateClose.isAfter(dateOpen)).toBe(true); }); });

实际应用场景

开发者使用案例

  1. 数据分析:研究Google产品战略演变
  2. 历史研究:了解科技产品生命周期
  3. 教育工具:学习产品管理和技术趋势
  4. API集成:构建基于该数据的应用程序

数据导出格式

项目数据可以轻松转换为多种格式:

  • CSV格式:用于电子表格分析
  • JSON-LD:用于语义网应用
  • GraphQL:用于现代API查询
  • RSS Feed:用于订阅更新

总结与最佳实践

Killed by Google项目的数据格式设计体现了简洁性、一致性和可维护性的原则。通过遵循本文所述的JSON结构规范和字段要求,开发者可以:

  1. 正确贡献数据:确保新条目符合项目标准
  2. 有效使用数据:在各种应用中集成产品信息
  3. 进行分析研究:基于结构化数据进行深入分析
  4. 构建衍生项目:创建基于该数据集的应用程序

这个数据格式不仅记录了Google产品的历史,也为开发者提供了一个高质量的数据集范例。通过严格的数据验证和清晰的规范,项目确保了数据的准确性和一致性,为技术社区提供了宝贵的资源。🚀

【免费下载链接】killedbygooglePart guillotine, part graveyard for Google's doomed apps, services, and hardware.项目地址: https://gitcode.com/gh_mirrors/ki/killedbygoogle

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/1780895.html

相关文章:

  • C++编程初探:从Hello World到基础语法全解析
  • QMC音频解密工具:让加密音乐文件重获自由的技术方案
  • ESP32-CAM实战:从零构建高精度QR二维码识别系统
  • 你的第一台自制无人机飞控:用Arduino Uno+RC接收机解读摇杆PWM信号(实战篇)
  • RAG 回答总“差点意思“?小白程序员必备:附代码实战两把索引优化钥匙(收藏版)
  • 代码审查的心理学:批评与建议的平衡
  • 3个技术创新:R3nzSkin英雄联盟换肤工具的内存注入与动态管理探索
  • 期刊论文发表不用愁!Paperxie 智能写作,一键打通投稿录用全链路
  • 百川2-13B中文优势:OpenClaw在古籍数字化中的实践案例
  • 宁德时代斥资41亿入股中恒投资科技 后者实控人朱国锭已未任职
  • 手把手教学:SDXL 1.0电影级绘图工坊,快速将人像照片变动漫风格
  • MifareOneTool:如何轻松管理你的智能卡?完整新手入门指南
  • 3大核心优势+4步部署+5个进阶技巧:ModTheSpire模组加载器完全指南
  • 智慧交通-城市交通治理中违章停车自动化识别 illegal-parking-detection 违章停车检测数据集 YOLO模型如何训练 构建基于 YOLOv11 的**违章停车自动化检测系统
  • 3步打造企业级WiFi热点:Windows用户的开源网络共享解决方案
  • 从零到一:基于Docker与Go的Jaeger链路追踪实战入门
  • Tensorflow-101深度学习入门:线性回归与逻辑回归实战解析
  • 如何快速配置Browserify与Gulp工作流:现代化前端构建终极指南 [特殊字符]
  • 终极mPDF图片优化指南:从嵌入到压缩的完整解决方案
  • 设备管理系统数据看板设计:关键指标可视化,运维一眼看透
  • 内容访问工具深度解析:突破信息获取边界的技术实践
  • 郭老师-人生四次开悟:错过一次,代价沉重
  • 高效驱动安装与USB共享优化:Windows系统下的效率工具指南
  • 网盘直链下载助手:八大主流网盘高速下载的完整解决方案
  • 多尺度卷积MCNN和它的一些组合体,MATLAB代码,几个小创新故障诊断模型,
  • 3步打造静音高效散热:Fan Control风扇控制完全指南
  • HS2-HF Patch完全指南:3步打造完美游戏体验
  • WechatBakTool聊天记录管理工具全攻略
  • Phi-4-mini-reasoning应用场景:AI竞赛训练营自动出题与评分系统
  • 解锁连续血糖监测数据宝藏:10+数据集如何加速你的糖尿病研究