SoundCloud 架构的演变:第一部分

我利用周末的时间研究、学习并创作这份通讯的内容。 如果您能花几秒钟时间查看一下 Clumio,这对我来说意义重大。 至少看看他们为什么能够筹集 7500 万美元。甚至 Atlassian 也在为 Jira 使用它。 这样做支持了我的工作。现在让我们继续表演。 随着 Amazon S3 存储成本的上升以及数据丢失可能带来的灾难性业务后果,您需要采取整体方法来削减不必要的开支并防范风险。 Lawrence Miller 是一位跨国公司顾问,拥有多项网络认证,他撰写了一本简明的书籍,其中列出了成功管理 S3 数据湖备份和合规性的方法。 还记得以前寻找音乐有多难吗? 人们过去使用唱片机。后来是磁带播放机。然后是 MP3 播放器。 人们通过 Napster 和 LimeWire 盗版音乐。 为了在旅途中听音乐,必须携带单独的设备。 然后一切都变了。 这款革命性的产品为今天像 SoundCloud 这样的公司铺平了道路。 作为工程师,通过分析过去二十年 SoundCloud 架构的演变,我们可以学到很多宝贵的经验教训。 扩展是一个奢侈的问题 从一开始,工程团队就针对机会进行了优化。 他们没有设计一个可以支持数百万用户的架构,而是从一个简单的设置开始:Ruby on Rails 应用程序(称为 Mothership)、Apache Web 服务器和 MySQL 数据库。 SoundCloud 的初始架构 SoundCloud 于 2008 年推出。当时没有高可用性。事实上,该架构甚至不是异步的。 如果在某首曲目上发表了新的评论,则会阻止通信,直到所有关注者都收到通知。 […]

苹果为 9 个医疗科技岗位支付薪酬

娜奥米·迪亚兹 – 2024 年 6 月 5 日,星期三 苹果继续积极招聘医疗保健职位,重点是增强其设备的健康功能。 以下是 Apple 正在招聘的 9 个与医疗保健相关的职位: 健康软件工程经理 (加利福尼亚州桑尼维尔):将为 iPhone、iPad 和 Apple Watch 开发新的健康软件功能。 薪资范围:210,900美元至316,900美元。 高级机器学习工程师,健康 (加利福尼亚州库比蒂诺):将使用人工智能制造健康和保健驱动的产品。 薪资范围:138,900美元至256,500美元。 健康研究科学家 (圣地亚哥):将推动早期调查和大规模研究项目,以开发新的健康技术。 薪资范围:125,800美元至229,400美元。 健康系统数据质量工程师 (库比蒂诺):将支持健康算法研究。 薪资范围:132,300美元至241,500美元。 iOS应用程序开发者、健康软件 (圣地亚哥):将通过扩展 iOS 和 watchOS 的功能来引领健康功能。 薪资范围:131,500美元至243,300美元。 软件工程师,健康人工智能 (西雅图):将开发旨在改善客户健康的新设备体验和技术。 薪资范围:131,500美元至243,300美元。 运动健康算法科学家 (圣地亚哥):将致力于运动健康技术。 薪资范围:131,500美元至243,300美元。 测试中的健康软件开发工程师 (桑尼维尔):将在 iOS 和 WatchOS 上测试与健康相关的项目。 薪资范围:138,900美元至256,500美元。 多模态机器学习工程师,健康感知评估 (库比蒂诺):将评估适用于现实世界健康和福祉应用的多模式和生成模型。 薪资范围:138,900美元至256,500美元。 版权所有 […]

用 400 行代码构建您自己的 React.js

React v19 测试版已发布。 与 React 18 相比,它提供了许多用户友好的 API,但其核心原理基本保持不变。 您可能已经使用 React 一段时间了,但您知道它的幕后工作原理吗? 本文将帮助您构建一个大约 400 行代码的 React 版本,该版本支持异步更新并且可以中断——这是许多高级 API 所依赖的 React 核心功能。 最终效果Gif如下: 目前它托管在我的 GitHub 上,您也可以访问在线版本来亲自尝试。 在深入探讨原理之前 迷你反应.ts,了解 JSX 代表什么很重要。 我们可以使用 JSX 来描述 DOM,并轻松应用 JavaScript 逻辑。 然而,浏览器本身并不理解JSX,所以我们编写的JSX被编译成浏览器可以理解的JavaScript。 我在这里使用了 babel,但是当然你可以使用其他构建工具,它们生成的内容将是类似的。 所以你可以看到它调用了 React.createElement,它提供以下选项: type:表示当前节点的类型,如 div。 config:表示当前元素节点的属性,例如: {id: “test”}。 Children:子元素,可以是多个元素、简单文本或由React.createElement创建的多个节点。 如果您是经验丰富的 React 用户,您可能还记得在 React 18 之前,您需要 import React from ‘react’; […]

软件很糟糕,但不一定如此

你看不到、听不到、尝不到、摸不到或闻不到它,但软件在我们周围无处不在。 它支撑着现代文明,尽管它消耗的能源、财富和时间超出了其需要,并向大气中排放了大量的二氧化碳。 软件行业及其发布的代码需要更加高效,以便最大限度地减少数据中心和传输网络上运行的程序产生的排放。 两种软件开发方法 光谱的 2024 年 4 月号 可以帮助我们到达那里。 在 ”为什么膨胀仍然是软件最大的漏洞”,伯特·休伯特向著名计算机科学家和帕斯卡发明者致敬, 尼克劳斯·沃斯,其影响深远的文章“对精益软件的呼吁”出现在 IEEE计算机 1995 年。Wirth 的文章建立在一种方法论之上,该方法论最初由 光谱 特约编辑 Robert N. Charette 在 20 世纪 90 年代初改编了 丰田生产方式 用于软件开发。 休伯特指出,臃肿的代码为不良行为者提供了巨大的攻击面。 恶意黑客和勒索软件攻击,更不用说普通的软件故障,就像现在的天气:晴间多云,您的应用程序崩溃或您的个人信息在暗网上传播的可能性为 50%。 过去,有限的计算资源迫使程序员编写精益代码。 现在,有了更强大的资源,程序员正在为相对简单的应用程序编写数百万行代码,这些应用程序调用数百个库,正如休伯特所说,“来源不明”。 “软件开发生态系统中已经有很大一部分人关心这个领域——他们只是不知道该怎么做。” ——阿西姆·侯赛因,绿色网络基金会 除其他外,他主张按照欧盟试图执行的内容进行立法:“NIS2 用于重要服务; 这 网络弹性法案 适用于几乎所有商业软件和电子设备; 以及改造后的 产品责任指令 这也延伸到了软件领域。” 休伯特本身就是一名软件开发人员,他走的是精益之路:他的 3MB 图像共享程序 三连胜 与使用数百兆代码的其他程序执行相同的工作。 理论上,精益软件应该是绿色软件。 换句话说,它应该高效运行,以减少数据中心和传输网络的能源消耗。 总体而言,IT 和通信行业预计占 2%至4% 的全球温室气体排放量,根据 […]

什么是绿色软件以及我们为什么需要它?

软件可能是 吃掉世界,但它也在加热它。 2023 年 12 月,来自近 200 个国家的代表齐聚迪拜,参加联合国气候变化会议 COP28,讨论降低排放的迫切需要。 同时, COP28 网站 产生的 3.69克二氧化碳 (一氧化碳2)根据网站可持续性评分工具,每页加载量 生态平地机。 这似乎是一个很小的数字,但如果该网站在一年内每月获得 10,000 次浏览,其排放量将略高于从旧金山到多伦多的单程航班的排放量。 这并非不可避免。 根据 Ecograder 的分析,未使用的代码、尺寸不当的图像和第三方脚本等都会影响 COP28 网站的排放量。 这些都会影响数据传输、加载和处理所用的能源,从而消耗用户设备的大量电量。 Ecograder 指出,修复和优化这些问题可以使网站每页负载的排放量减少高达 93%。 虽然软件本身不会释放任何排放,但它在数据中心的硬件上运行,并通过传输网络引导数据,这约占 与能源相关的温室气体排放量的 1% 每个。 信息和通信技术部门作为一个整体负责估计 占全球的 2% 到 4% 温室气体排放。 到 2040 年,这个数字可能会达到 14%——几乎与排放的碳一样多 空运、陆运和海运 合并。 在软件领域, 人工智能 有其自身的可持续性问题。 人工智能公司 抱脸 估算了 BLOOM 大语言模型的碳足迹 涵盖从设备制造到部署的整个生命周期。 该公司发现BLOOM的最终训练排放了50吨二氧化碳2——相当于从纽约飞往悉尼的大约十几趟航班。 […]

Arc Search 是我用过的最好的 iPhone 应用程序之一

纳迪姆·萨瓦尔 / 数字趋势 2024 年,生成式 AI 聊天机器人将为我们浏览网页并提供本质上是 信息的摘要版本 托管在不同的网站上。 这种方法很方便,让我们免去了访问多个充满广告、喜欢追踪的网站来查找所需详细信息的麻烦。 是的,信息墙并不是寻找答案的最令人愉快的方式,特别是当这些人工智能生成的摘要可能来自幻觉的错误信息或来自垃圾内容农场网站时。 值得庆幸的是,喜欢 谷歌的吟游诗人 和 微软的副驾驶 现在提供引用,但测试证明这些总结的答案仍然不完美。 这就是 Arc Search 发挥作用的地方。 这是来自浏览器公司人员的新应用程序,该应用程序是移动网络浏览器所能获得的最简单的应用程序。 它还试图像吟游诗人或副驾驶一样使用人工智能辅助的网络摘要技巧,但值得赞扬的是,这个技巧以一种更有价值、更值得信赖和更美观的方式呈现网络内容。 简化知识发现 纳迪姆·萨瓦尔 / 数字趋势 用最简单的术语来说,Arc Search 会抓取网络信息,筛选出六个网站,验证并提取有用的内容,然后将其呈现为自定义网页。 该网页的顶部有您寻求的答案,就像冗长的星球大战电影片尾字幕之前的标题一样。 但这正是 Arc Search 更进一步并提升整个体验的地方。 还记得那些学校的科学项目吗?在这些项目中,你会一直使用简洁的要点、丰富多彩的标题、图像轮播、重要亮点等等? 好吧,Arc Search 为您制作的自定义网页就是这样,翻译成手机屏幕。 所有这一切都得益于名为“为我浏览”的功能。 正如名称所表明的那样,浏览器会在网络上查找答案,从而省去您在网站之间来回切换的麻烦,然后以有组织的格式呈现它。 在此过程中,Arc Search 超越了上下文,推送更多相关信息,为您省去后续查询的麻烦。 它有点像当您开始输入查询时出现在搜索框下方的那些预先编写的搜索模板。 但在这种情况下,那些可能的后续或相关搜索都会在人工智能生成的网页上得到正确的答案。 因此,如果您正在搜索“谁发现了镭”之类的内容,浏览器的自定义网页还将提供更多相关详细信息,例如发现日期、该壮举是否获得过任何著名奖项、有关科学家的简短传记细节、一些有关镭及其工业应用等的信息。 但演示格式更像是知识的小块,而不是大量的段落,使得滚动和吸收屏幕上的信息变得不那么令人生畏。 如果您使用过 Arc 桌面版,那么此知识页面的设计会很熟悉,这是个好消息。 美丽的熟悉 纳迪姆·萨瓦尔 / 数字趋势 去年引起轰动的杰出软件产品之一是 […]