作者 | Kieran Potts 译者 | 王强 策划 | 蔡芳芳 在这篇博文中,我会讨论为什么我们应该淘汰“REST API”这个术语。...相比之下,我们应该改用“HTTP API”和“hypermedia API”这两个说法,使用它们可以更好地区分两种不同的 Web 服务编程接口设计。...我们不会再说什么 RESTful 网站了,对吗?那为什么我们要谈论 RESTful API 呢?...我们今天所说的“REST API”应该重新分类为“HTTP API”或“hypermedia API”。 HTTP API 是围绕 HTTP 设计的。...——Roy Fielding 因此,我们不应该完全放弃“REST”一词,但是把它作为“API”的形容词是没有任何意义的。
正确地说法应该是 “JavaScript” 是指 Mozilla 指定的 ECMAScript 的子集,但是这个词可用来表示多个不同的 ECMAScript 超集,具体取决于其上下文意思。...新的 JavaScript 如果我们确实重命名了 JavaScript,将会如何称呼它? JavaScript 已经有了很多名字。...在软件领域,这个名字仅与 Node.js 的 Mocha 测试框架和 Java 的旧版反编译器冲突。 但我个人更喜欢将 JavaScript 重命名为 JS。...而且我们可以将无处不在的黑底黄字的社区徽标转变为官方标志。 随着时间的流逝,JS 名称的来源将在很大程度上被遗忘,就像大多数 PHP 开发人员无法告诉你 PHP 究竟代表什么一样。...最后,ECMAScript 的年度发布周期和版本约定非常方便,应该将其扩展到新品牌的 JS 的所有版本。
版本 日期 备注 1.0 2019.3.21 文章首发 1.1 2021.5.21 修改标题:再谈自动化测试——我们在编写测试时,应该注意什么-> 技巧:我们在编写测试时,应该注意什么 背景 最近项目在测试阶段陆陆续续的测出了一些...bug.这个情况刚出现的时候,让笔者很困惑——平时我们的每个feature代码都是跟随着大量看起来考虑很周全的case进入代码仓库的,然而事实还是打了我们的脸.故在本文,笔者将会从最近的所学所想来谈谈编写测试的时候我们应该注意什么...当业务代码在线上运行时,可能感觉不到测试用例的存在和价值,但在代码质量的保障上,却是非常关键的。新增代码应该同步增加测试用例,修改代码逻辑时也应该同步保证测试用例成功执行。...那么我们该如何编写这样的测试呢?...Correct Test && Design Test 正确性测试听起来应该会很简单,(比如调用一个API,然后看结果返回是否正确)但如果放到集成测试中,我们还是可以拓展出一些额外的关注点的.还是以上面提到的
前言 我们在做wordpress速度优化时总可以发现很多插件都提供了css/js合并功能。那么我们真的需要启用这个功能吗?...当我们将css/js合并为一个或几个文件中,对网站的性能是有益的, Http/1.1协议原理 因为http/1.1协议的连接数量有限。...我们经常看到带有组合CSS/JS文件的页面,这些文件远远超过 2 MB 在 未压缩的 大小。这对浏览器来说是一项巨大的任务,尤其是在中端移动设备等低功耗硬件上。 ...无论使用哪个插件来组合CSS/JS文件,我的建议是 始终广泛测试你的网站 以确保站点功能不会被破坏。...如果你发现组合某些CSS/JS文件破坏了站点功能,则需要从组合中排除相关文件 我应该合并我的网站上的CSS/JS文件吗?
p=6408 我们应该担心多重性吗? 事实证明(或许不足为奇)在多臂试验的设定中,某种多样性调整是否合适的问题一直备受争议 。...这使我们能够检查类型1错误。 贝叶斯方法 遵循安德鲁·格尔曼与之前相关的论文,似乎处理前面问题的方法是贝叶斯分析。
case进入代码仓库的,然而事实还是打了我们的脸.故在本文,笔者将会从最近的所学所想来谈谈编写测试的时候我们应该注意什么....当业务代码在线上运行时,可能感觉不到测试用例的存在和价值,但在代码质量的保障上,却是非常关键的。新增代码应该同步增加测试用例,修改代码逻辑时也应该同步保证测试用例成功执行。...AIR原则具体包括: A: Automatic (自动化) I: Independent (独立性) R: Repeatable (可重复) 简单的解释一下三个原则: 单元测试应该是全自动执行的...那么我们该如何编写这样的测试呢?...Correct Test && Design Test 正确性测试听起来应该会很简单,(比如调用一个API,然后看结果返回是否正确)但如果放到集成测试中,我们还是可以拓展出一些额外的关注点的.还是以上面提到的
我们应该对自己有足够的信心,以便能够作出判断和呼吁,但也需要因此更加谨慎。特别是对于我们正在研究的核心领域。...我们应该借鉴来自物理学、社会科学和经济学的有益经验,并且使其它领域的新预印本服务器能够将其用来对抗错误信息。...我们应该将其看作是一个机会,能让更多人也参与到研究过程和学术交流中来,而不是因为其他人不是专家就贬低他们。...相反,在这个简单的技术「非问题」之外,我们应该认识到发布文章早期版本的巨大价值(在绝大多数情况下)。...结论 最后,我们还需认识到没有任何一种系统是完美的,特别是在学术出版上。我们应该做的是对过程进行循证意见的评估,以确保内容对所有社区成员最有利的。特别是那些缺乏声音或边缘化的人。
知道STL容器的allocator吗? 手写代码:实现无锁同步(×:我写成了CAS操作,被打断,说特定的ARM处理器没有这个同步原语,不能依赖相关指令。包括信号量等也不行。)...手写代码:自定场景,实现一个满足需求的内存池(×:晕乎乎写出了几个bug,面试官眼尖…而且自我感觉回收算法不够好,感谢放过) 手写代码:从长序列中找出前K大的数字,堆排序 JVM的垃圾回收算法了解吗?...用过IntentService吗?(×:没用过,感觉就是个适合处理单次计算任务的方便设施) 我的提问: 面试官是做什么的? 面试官对非科班学生有什么看法? 面试官认为我存在哪些不足?...毕竟面经只是面试官拿来采样你的水平的测试用例,我遇到过各种奇怪的问题…… 六、一、大体知识储备(方向) 1.数据结构+算法(非常重要!)...大佬那里收集到的一些2019-2020BAT 面试真题解析,里面内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助我们深刻理解
但是,谁又能说的清楚,人类的大脑到底是如何实现这些创造的,真的比机器更出色吗?...目前,我们在这些领域没有足够的数据来训练好的模型,但这只是时间问题。 音乐建模 生成音乐建模是一个困难的问题,但我们已经探索了很久。...大多数我们现在听的音乐都是复调的。复调的音乐是指在同一时间段内由多个音阶组成,对应着我们所熟知的和弦,或者多个乐器在同一时间同时演奏。这样的话,可行的音乐序列的数量可使用 ? 进行计算。...这里我们只讨 AI 艺术创作的蓝图。在未来,我们可以期待机器学习成为艺术家的创作工具,如在草图中进行填色、「自动完成」图像、生成诗歌或小说的提纲或框架等。...随着日益强大的机器计算能力,我们可以训练来自不同媒体越来越多的数据,包括音频、视频或很多其他的形式等。我们现在已经有一些模型生成的案例,文本与音频和视频同步。
href属性 href属性的值,类型不同,产生的效果也不同,有人叫这是标签的多种不同的表现形式,或者说是不同种类的,好吧其实就是一个意思,我们来看看有哪些情况。...内容 2、跳转到其他页锚点处 内容 5、链接到JS 执行JS功能 我们应该经常会看到这样的写法...body=xxx">给 10000 和 10086 发送内容为"xxx"的短信 href属性说到这也差不多了,我们来看另一属性target(目标) target属性 target 属性规定在何处打开链接文档
最近明月收到了不少站长们关于 SEO 方面的咨询,感觉不少新手站长们对现在的网站 SEO 有很大的曲解甚至误解,甚至不少站长为此花费不菲。明月自己对 SEO 也...
我们咋一看一下 的 React 文档,关于 useMemo,它在应该使用它的时候并没有被提及。他们只是简单地提到它的作用和使用方法。...在我们看到使用 useMemo 的性能优势之前,数据应该有多复杂或大?开发者应该什么时候使用 useMemo? 实验 在我们开始实验之前,让我们先定义一个假设。...重新渲染触发机制 为了保持结果的清晰,我们总是在开始测试之前从一个新的浏览器页面开始(除了重新渲染) ,以清除任何可能仍然在页面上并影响我们的结果的缓存。...我们已经重新运行了几次测试,甚至在得到结果之后,我们可以说后续的结果是非常一致的,类似于我们已经记录下来的最初结果。...这些发现会改变你何时使用 useMemo 的想法吗?请在评论中告诉我们!
但是,谁又能说的清楚,人类的大脑到底是如何实现这些创造的,真的比机器更出色吗?...目前,我们在这些领域没有足够的数据来训练好的模型,但这只是时间问题。 音乐建模 生成音乐建模是一个困难的问题,但我们已经探索了很久。...这里我们只讨 AI 艺术创作的蓝图。在未来,我们可以期待机器学习成为艺术家的创作工具,如在草图中进行填色、「自动完成」图像、生成诗歌或小说的提纲或框架等。...随着日益强大的机器计算能力,我们可以训练来自不同媒体越来越多的数据,包括音频、视频或很多其他的形式等。我们现在已经有一些模型生成的案例,文本与音频和视频同步。...但是,也许我们可以从另外一个角度看待这个问题。通过将人类创作过程进行的数学化,我们也许更近一步的了解到人类的创作如此深远悠长的真正原因了。
问题是,需求会源源不断地进来,我们永远也不可能清空所有需求,996也做不完,这辈子都不可能。 我们能做的,是不断将需求排序,实现优先级最高的需求。那么问题来了,我们应该如何给需求排序?...用户真的不知道他们想要什么吗?很多时候并非如此。 我负责产品,每天都会和用户交流,他们知道自己想要什么功能,有时会做好简单的交互设计、帮忙想想算法、甚至给我开源代码。...程序员应该都知道,代码怎么可能没有BUG呢?很多时候只是我们没有发现,或者是知道了却没有及时修复。 然而,对于当前产品的BUG,我们往往容易忽视。...还有一种微妙的情况,当用户反馈貌似不可能出现的BUG时,我们会本能的觉得产品应该没有问题,问题应该出在用户那里,大概是他的浏览器或者网络,或者某种无法解释的原因导致的。...你有什么更好的想法吗?欢迎留言讨论!本文作者为Fundebug的技术总监,欢迎添加微信交流:KiwenLau。 参考 产品需求优先级的艺术 -- Kano模型 如何成为优秀的技术主管?
那么使用 useMemo 的性能优势之前,数据应该有多复杂或大?开发者应该什么时候使用 useMemo? 实验 在我们开始实验之前,让我们先定义一个假设。...基准测试设置 我们设置了一个小的 React 组件如下,它将生成一个复杂度为 n 的对象,复杂度定义在 props level 。...重新渲染触发机制 为了保持结果的清晰,我们总是在开始测试之前从一个新的浏览器页面开始(除了重新渲染) ,来排除任何可能浏览器缓存。...我们重新测试了所有的实验,发现结果是相似的。这些比率相似,但实际值可能更低。最终结论都是一样的。...以上统计会改变你何时使用 useMemo 的想法吗?请在评论中告诉我!
在随后的日子里,我们看到了数字化的更多可能:人们习惯了开线上会议;制造业采用AI技术进行工业质检,效率是人工的10倍;各个地区甚至开启了“云会展”模式,不仅节省了办展成本,优化了陈列效果,还实现了更精准的用户触达...从“数字抗疫”到“数实融合”,我们惊喜地发现产业互联网的蓬勃发展为重塑数字经济新生态、加速产业数字化转型带来了无尽的想象空间。 而身处于数字经济洪流中的我们,如何寻找机遇,把握机遇?...11月3日,2021腾讯数字生态大会将于武汉召开,这一次,我们带来了300+大咖,40+场专场共论产业数字化价值,包含制造、能源、金融等实体经济议题,以及AI、云原生、低代码等前沿技术议题。...这一年我们在产品方面做出了大量探索,也取得了诸多突破: 企点客服,覆盖超过100万家企业,连接用户3.5亿,涵盖年会话数达42亿;企业微信、腾讯文档、腾讯会议等通信与效率办公SaaS产品进一步相互打通·...亮点五 首设Techo Day回响日,看看我们的新技术 数实融合的高效发展同样需要新技术的支撑。
我们应该如何成长成什么样子?或者说,未来需要什么样的人? 我们首先来了解一下对个人能力的各种理论的演变。...随着移动互联网的时代到来,人类的社会生活节奏越来越快,固态理论已经不能指导我们的生活了。...针对越来越快的社会变化,我们要找到更新的理论来指导我们的生活。...---- 社会发展越来越快,但我们每个人学习成长的速度却几乎是不变的,这就是一个矛盾。那我们应该如何培养自己的各项能力,或者说:我们应该成长成什么样子,才能适应这个越来越快的社会?...这里,有专长而无缺陷,是最后状态,是我们最后要成为的样子。如何长成这个样子,则需要我们不断的学习不断的修炼。 下一篇就继续分析,我们如何才能成长成我们想要的样子?
但我们是否已经准备好让人工智能进入我们的社会?我们真的准备张开双臂欢迎他们吗? 许多专家担心人工智能和它的发展速度。
整个事故的时间线为了让问题更直观,我们把整个过程按照时间顺序展开,像复盘一样:09:00——新架构上线项目正式切到Serverless环境。...这次事故让我们重新审视了“Serverless+浏览器爬虫”这一组合的现实挑战。问题到底出在哪里?总结下来,问题不是某一块技术失效,而是多层叠加导致的连锁反应。...我们做了下面这些调整:问题解决方向冷启动太慢使用Browserless/PlaywrightRemote,让浏览器不随实例重复启动并发压缩代理池设计访问调度器,控制速率并动态轮换IP网络波动导致超时增加重试规则...但要让它能跑稳,我们必须接受一个现实:Serverless不是“把脚本丢进去就能飞”的万能模型,而是需要配合浏览器常驻服务、访问调度器、代理策略和缓存体系,才能真正发挥优势。