字节编码–精选的编程新闻通讯

2020-12-04 21:01:21

字节编码是我,Alex,从周一到周四每周发布四次的通讯。每期包含三篇文章,我本人是从各个Web站点策划的。我相信您可以在最意想不到的地方找到灵感,所以我选择的主题涵盖了整个编程领域。每篇文章都有我写的一些摘要。

深入了解(着眼于某些事物的工作方式和原因,而不是"如何...")

在上个月内(尽管取决于文章的质量和永恒性,但有例外)

增量vs.虚拟DOM是我阅读但后来被拒绝的文章的示例。为什么?因为尽管作者概述了这两种方法的优缺点,但它们未能解释为什么增量DOM比虚拟DOM慢的要点之一,这使我感到本文不完整。最重要的是,很多内容都是重复的。

如果这对您有吸引力,建议您在下面订阅!如果您束手无策,请在下面查看最新一期和更多内容。

因此,今天我发现了一个令人震惊的事实,即您可以使用JavaScript更改从网站复制的任何内容(https://medium.com/javascript-in-plain-english/why-you-should-never-rashly-copy-commands -from-websites-4ae476441530)。那很糟糕。保持警惕,保持警惕。有一个pipin'问题,在房子上。

继承与组合:哪个对您的JavaScript项目更好?作为一个编写代码的人,我发现总的来说,最好是在两个地方都没有具有相同功能的代码。这是一个非常普遍的设计原则,也是OOP真正追求的目标。在本文中,费尔南多·多格里奥(Fernando Doglio)提出了两种OOP原则,它们以相同的方式实现相同的事物。

变异测试发现的三类问题变异测试涉及以较小的方式修改软件。如果您熟悉模糊测试,则可以将其视为特定类型的突变测试。在这篇简洁的文章中,Devon C. Estes演示了变异测试如何在Elixir程序中捕获意外的错误,该程序被宣称具有100%的测试覆盖率。

使用Bloom过滤器有效地同步散列图如何解决两个节点需要相互发送以使其图相同的最小提交集。在git中?好吧,您可以像马丁·克莱普曼(Martin Kleppmann)和海蒂·霍华德(Heidi Howard)一样在上面写一篇研究论文。在这篇广泛的文章中,Martin讨论了问题的范围,以Bloom过滤器的形式介绍了解决方案,描述了实际的相关性,并详细介绍了为什么Bloom过滤器比git使用的当前算法更适合。

“我一定不要害怕。恐惧是心灵的杀手。恐惧是带来彻底灭绝的小死。我将面对我的恐惧。我将允许它通过我并通过我。当它过去时,我会转向内在的目光,看看它的路径。恐惧消失的地方将一无所有。只有我会留下。” -沙丘,弗兰克·赫伯特我一直很喜欢那句话。书也很好。有人收到了不错的科幻推荐吗?

大型数据库的特征伤亡大型数据库很快就会失控。快速抛出编写的代码而不遵循最佳实践,这可能是一场噩梦。在本文中,Brandur Leach涵盖了当数据库开始变得混乱时首先(错误地)首先删除的一些内容。

哪些机器可以做什么,哪些机器不能做什么。如果您想要这篇文章的精彩介绍,请打开它并阅读第一段。我只想说的是Ramkumar Ramachandra在探索机器的局限性方面做得非常出色,这可能消除了人们对机器替代我们的担忧。

蛋白质折叠和人工智能解决方案:面向非科学家的入门知识Abhirath Batra的文章紧随机器学习主题之后,讲述了(很好地)利用和滥用机器学习和计算能力的生物学领域之一。 Abhirath介绍和讨论了蛋白质折叠建模的复杂世界,以及计算机科学家和深度学习模型使用的一些有趣方法。

有人写信说,只要我没什么特别要说的,他们都希望我收录诗歌。我肯定会在将来,但就目前而言,我将是一个挑逗,而是给您一个谜。我是人们喜欢或讨厌的东西。我改变人们的外表和思想。如果一个人照顾好自己,我会变得更高。我会欺骗某些人。对于其他人,我是一个谜。有些人可能想尝试隐藏我,但我会展示。无论人们多么努力,我都永远不会失败。我是什么?PS:问候语中有一个提示。

Gamedev从零开始:Groundwork"这不是教程。请相应地设定您的期望。老实说,我什至不喜欢教程-太多的教程被设计为可以教会您技能的东西,但是然后只告诉您按什么按钮可以重新创建作者已经制作的内容,而对他们为什么制作却不了解他们的决定,甚至他们为什么按下这些特定的按钮。"在本系列文章中,Eevee致力于使用PICO-8从头开始构建游戏,并在此过程中对选择进行了深刻的评论。

功能语言中的对象OOP与功能编程之战,是本世纪的战斗!坦率地说,我认为辩论哪种更好就像是辩论建造房屋,锤子或锯子的更好。但是我离题了。如标题所示,本文中的盖蒂·里特(Getty Ritter)涵盖了以类似Haskell的功能编程语言实现对象的方式。盖蒂还强调了使用这种实现的优缺点。

面向组件的编程至少从1968年开始(https://en.wikipedia.org/wiki/Component-based_software_engineering#History),基于组件的软件工程就已经存在了,并且由于诸如Web框架之类的东西在过去十年中更加流行。反应它仍然确实适用于编程的所有领域。 Brian Picciano的文章定义了什么是组件,提供了一个示例,阐明了其好处,并解决了一些明显的批评。

因此,一位读者引起了我的注意,我无意中忘记了在问题37的简介中删除填充文本。尽管它在那里并没有什么本质上的坏处(我确实写了更多个人信息,但是,哦,不错),但是我没有包含某种形式的信用很不好。题诗是约翰·沃尔夫冈·冯·歌德(Johann Wolfgang von Goethe)写的,这是问题所在。

2Q缓存管理算法数据库访问模式在许多应用程序中很常见,因为大多数应用程序都具有相似的要求。一些数据应该被大量访问,而某些数据则几乎不能被访问。当您通常不明确指出边界在哪里时,您将如何为此优化系统?在这篇内容丰富的文章中,Arpit Bhayani介绍了Postgres用来使用多个队列解决常见数据库访问模式的缓存系统。

眼见为实:以客户端为中心的数据库隔离规范了解数据库的局限性和可能出现的问题并非总是容易的。它不仅需要扎实地掌握查询的工作方式,还需要了解数据库可以发挥作用的黑匣子的内部运作方式。 Adrian Colyer写了一篇文章,总结了有关数据库快照隔离状态的论文。这里有动机的解释,示例和大量定义,可让您快速掌握重要但行话繁重的主题。

ARM和无锁编程编程中的一个常见问题是异步代码中数据竞争的形成。当您在线程之间共享数据时,通常会出现这种情况。解决这些问题的一种方法是类似于日本没有钉子的木工。无锁并发编程。在这篇指导性文章中,布鲁斯·道森(Bruce Dawson)介绍了跨线程数据访问的示例问题,强调了可能导致的一些问题,解释了为什么潜在的解决方案实际上不是解决方案,并最终提供了更可靠的替代方案,全部使用C ++。

如果那是你的事,那就吃火鸡。想一想如果您感恩并通常不属于您的事情,那您会感激不已。我认为这是一件被低估的事情。我得到的最好的建议之一是,每当我感到沮丧时,都要思考我所感激的一切。奇迹般有效。现在,我非常感谢您能回到家中获得自来水,电和wifi :)那您呢?这就是问题所在吗?

我为您的火鸡度过的一天提供的魔术数字列表如果您玩了足够长的技术,就会开始看到数字模式。 256、1024、0x15或420。在本文中,雷切尔列出了当您涉足计算机和网络时可能遇到的大量魔术数字。在此过程中,她指出了来自所有数字频谱的一些有用信息。

现代存储非常快。不好的是API。硬件一直以如此快的速度开发性能,以至于许多现代优化问题大部分是软件赶不上的结果。 I / O进程就是这样的例子。在这篇翔实的文章中,Glauber Costa利用他的专业知识消除了一些有关与I / O交互的时间成本的常见误解,并强调了真正的罪魁祸首。 API编写得不好。

卡伦(Karen)使用Python模拟:线程化。计时器重构是任何类型编程的重要组成部分,因为您将从事的任何项目都会有某种技术上的负担。我们有时有时会走捷径。帕勃罗·阿吉亚尔(Pablo Aguiar)的模因很好,很好。 Karen,并让她为懒惰的Python开发人员重写单元测试,这些开发人员在异步功能上使用time.sleep。

感谢ЄвгенГрицай,Scott Munro,zturak和pek等支持者,此新闻简讯免费提供给您。如果您也想表示支持和帮助,可以在Patreon页面上捐款。没必要,但是它让我知道我做得很好,并且您正在内容中寻找价值。