2000年,RobertC.Martin总结出了一套原则来指导大家进行软件设计,MichaelFeathers随后按首字母将其总结成SOLID原则。从那时起,面向对象的SOLID设计原则就不断出现在相关书籍当中,并成为业界广为人知的指导方针:单一职责原则、开/闭原则、里氏替换原则、接口隔离原则、依赖倒置原则。在过去的这二十年里,软件开发领域一直在快速演进,特别是近几年云原生和微服务的发展,在微服务
JavaScript 并不是最好的语言,特别是在复杂的应用中,它可能不太能胜任。为了避免这种情况,一些新的语言或现有语言的编译器被创造出来,不用写一行 JavaScript 或者考虑这种语言的局限,就能生产在浏览器能运行的代码。本文介绍几种能够编译为 JavaScript 的语言,可以在浏览器或者 Node.js 中执行。从代码简洁的角度考虑的话,个人还是比较喜欢 ClojureScript ,可
作者:Doug Turnbull译者:豌豆花下猫@Python猫原文:https://softwaredoug.com/blog/2021/11/12/ruby-vs-python-for-loop.htmlRuby 与 Python 之间的差异在很大程度上可通过for循环看出本质。Python 拥有for语句。对象告诉for如何进行协作,而for的循环体会处理对象返回的内容。Ruby 则相反。在
上个月,Netflix出品的《鱿鱼游戏》剧集再次引爆全球无数观众。虽然“身经百战”的观众早已对这类大逃杀题材的作品建立起充分的心理预期,但Netflix凭借着对反乌托邦题材的极致挖掘再次证明,他们有决心打造一出迄今为止最成功的原创剧集,同时也向其他竞争对手证明自己的业务高度已然遥不可及。与此同时,很多同类流媒体平台还深陷老大难问题而无法自拔:视频卡顿、控件失效或者服务崩溃等等。而Netflix却鲜
容器化的革命是从 Docker 开始的,Docker 的守护进程管理着所有的事情,并成为最受欢迎和广泛使用的容器管理系统之一。但是 Docker 并不是唯一有效的容器化方式,除了 Docker 还有其他的工具可选,比如 Podman 。官方对 Podman 的定义是 A tool for managing OCI containers and pods 。Podman 官方网站 : https:
本文最初发表于TowardsDataScience博客,经原作者DelgadoPanadero授权,InfoQ中文站翻译并分享。本文通过一个真实的例子,分析了模型选择不当还是训练数据噪声导致了模型性能不佳。前言在机器学习中,当你建立和训练一个模型并检验其准确性时,一个最常见的问题就是“准确性是我能从数据中得到的最好的,还是能找到一个更好的模型呢?”此外,一旦模型被部署,下一个常见的问题就是“为什么
在.NET6中C#对Lambda做了许多的优化,使得我们可以在C#中更加方便地使用委托和Lambda。下面我们就通过一些案例来讲解一下.NET6中的Lambda。一、增强Lambda使用增强Lambda可以使C#更好的做类型推断,在很多时候编译器能自动推断类型,我们不用再显式声明委托类型。下面来看一个简单的示例://之前版本的用法 Func func = () => 1; Func<st
昨天,RustModerationTeam(Mod团队)在GitHub上发布了辞职公告,即刻生效。根据公告,该团队辞职是为了抗议Rust核心团队(Coreteam):“除了自己,他们不受任何人的监督和约束。”因此,Mod团队一直无法按照社区的期望标准执行Rust行为准则(CoC)。 该事件基本得到了Rust官方的确认。目前官网上,KhionuSybiern和JoshuaGould组成了新的Rus
简短变量声明 :=答题热身下面两个程序运行结果是?func main() { i := 0 i, j := 1, 2 fmt.Printf(“i = %d, j = %d”, i, j) }func main() { i, j := 0, 0 if true { j, k := 1, 1 fmt.Printf(“j = %d, k = %dn”, j, k) } fmt.P
今年的Google开发者大会,是不是又给你带来一次意外惊喜? 每年,Google都会在这场年度盛会上为开发者及科技爱好者展示Google的产品和平台更新,让你更快一步了解最新产品及洞察最前沿技术。与往年不同的是,今年谷歌首次推出了Google开发者在线课程。2021年11月16日,Google开发者大会以“DevelopasOne”为主题,邀请了90多位技术专家为大家带来不同领域的技术分享,这些领
2014年,笔者有幸逛过两次正值“盛世”的潘家园,至今想来都觉得老长见识了。一个“赌青皮儿”的小摊(其实就是赌核桃),没剥皮的核桃能叫价几千上万,人还抢着买;大爷大妈戴着老花镜拿着紫光灯,搓堆儿淘换玛瑙、菩提、金星紫檀,最后都放在买菜用的小车里拖回家了;刀削面馆里,须发雪白神似仙人的老者,给两个小年轻“科普”一个串。但听他讲道,你知道《楚辞》里就记载这个吗?你知道这里能看到宇宙吗?你知道……之所以
近日,RockyLinux团队宣布推出RockyLinux8.5,此版本的主要更新之一是首次支持安全启动,且可用于x86_64和aarch64(ARM)架构。RockyLinux的诞生旨在将CentOS延续下去,对此,创始人RockyLinuxGregoryM.Kurtzer表示:“RockyLinux是一个社区企业操作系统,该操作系统与RedHatEnterpriseLinux100%兼容。”R
大家好,我是安果!最近 Google 对 Chrome 进行了一次比较大的更新,其中一项是脚本录制回放功能,它可以非常方便我们处理一些自动化场景我们可以在 Chrome 官网下载 Chrome Canary 的最新版本进行尝鲜PS:Chrome 正式版本是 95,暂时还未集成下载地址:https://www.google.com/intl/zh-CN/chrome/canary/thank-you
Java中创建线程三种方式:继承Thread类创建线程类;通过Runnable接口创建线程类;通过Callable和Future创建线程。Native 中支持的线程标准是 POSIX 线程,它定义了一套创建和操作线程的 API 。我们可以在 Native 代码中使用 POSIX 线程,就相当于使用一个库一样,首先需要包含这个库的头文件:#include 这个头文件中定义了很多
我们正在进入一个代码协作的新时代,一个具有实质性的重大变化即将出现。它到底是什么?更重要的是,它为什么会出现?本文是“持续文档化宣言”的第二部分。我们在宣言中呼吁将创建和维护高质量的文档纳入开发流程。这一次,我们重点关注经常被低估的第三类文档——代码走读文档。首先,我们一致认为,开发者和开发团队需要好文档。从理论上看,这个很容易做到。我们每个人都写出好文档,一切都会变得更好,不是吗?事情并没有那么
大家好,我是坚果,我的公众号“坚果前端”,今天教大家用vscode创建第一个项目创建新项目在安装了 Flutter 扩展的 VS Code 中,通过选择View ▸ Command Palette…或在 macOS 上按Command-Shift-P或在 Linux 或 Windows 上按Control-Shift-P打开命令面板。在面板中输入Flutter: New并按Return。默认第
程序员难逃“中年危机”?45岁程序员在国务院网站发帖求职近日,一位45岁的程序员Mary在中国政府网留言求职引发关注。Mary在留言中称:我是一名计算机专业出身的软件开发人员,今年45岁,精通Java的各种技术体系,包括微服务、大数据等技术,并能应用到实际工作中,帮助所在公司提升、改造所使用的技术框架,业余我还考取了PMP项目管理证书、系统架构师证书,成为所在公司的系统架构师、核心技术骨干。我对计
今天,我们将会一起开发一个包含 RTE (实时互动)场景的 Flutter 应用。项目介绍靠自研开发包含实时互动功能的应用非常繁琐,你要解决维护服务器、负载均衡等难题,同时还要保证稳定的低延迟。那么,如何才能在较短的时间内,将实时互动功能添加到 Flutter 应用中?你可以通过声网Agora SDK 来进行开发。在本教程中,我将带大家了解如何使用 Agora Flutter SDK 订阅多个频道
面对7.5亿换来一坨技术垃圾,三位程序员用业余时间开发了一个更好的替代版本。斯德哥尔摩官方开发的Skoplattform是一款综合性应用,可为学生、教师及家长提供及时信息。但结果堪称灾难:1.17亿美元(约7.5亿人民币)换来的只是一坨垃圾,平均评分为1.2星。这款糟糕的应用折磨着众多父母,其中一位正是软件开发者ChristianLandgren。于是Landgren联合其他两位程序员爸爸开发出了
摘要Python在许多领域都是首选语言,包括编程入门、机器学习、数据科学以及数据工程等。在这篇文章中,我想聊下Python最大的优势和不足,以不足为主,因为这些问题已经存在了许多年,而且其中有些导致了很多问题。这篇文章对Python的评价看起来非常负面。但我仍然喜欢并每天使用Python,并希望它能有所改进并不断变好。正文本文最初发布于ShantnuTiwari的个人博客,经原作者授权由InfoQ
最近,我突然发现自己好像又在逆潮流而动。可能我的想法与很多朋友不同,我认为PHP这个编程语言界的“混蛋”比以往任何时候都更受欢迎。 或许你会质疑——PHP不是已经完蛋了吗?市面上已经出现了很多“更好”的编程语言,不是吗? 答案显然是否定的,否则PHP早就消失在人们的视野当中、还被踩上一万只脚。要找到背后的根源,我们恐怕先要弄清楚所谓“更好”的语言究竟是什么意思。 如果大家还不理解PHP为什么仍然活
当前,大规模预训练模型已成为学术界和工业界都非常关注的一大研究领域。随着达摩院大模型M6突破10万亿参数,中国成功实现了全球最大AI预训练模型。M6成全球最大AI预训练模型11月8日,阿里巴巴达摩院公布多模态大模型M6最新进展,其参数已从万亿跃迁至10万亿,规模远超谷歌、微软此前发布的万亿级模型,成为全球最大的AI预训练模型。据了解,M6使用512GPU在10天内即训练出具有可用水平的10万亿模型
“欢迎使用.NET6。今天的发布是.NET团队和社区一年多来努力的结果。”当地时间11月8日,微软.NET团队项目经理RichardLander在其博文中写道。此次.NET6的推出对于微软的开发平台来说意义重大,因为.NET6是自2019年12月发布的.NETCore3.1以来的第一个LTS版本。LTS版本计划每两年发布一次,中间有短期版本。当前的.NET5.0将在2022年年中停止支持。与此同时
本人从一位测试的角度出发,基于目前项目中摄像头的直播和语音对讲业务,正寻求音视频的质量测试及一些监控分析手段。工作中发现达到一定的并发程度之后,就会出现延时、卡顿、丢帧、马赛克等问题。所以最近在网上看看专家的直播和专栏,学习一下行业内的好的测试方法。这不,前几天有幸参与了声网的音频算法工程师赵晓涵的关于《实时语音质量监控系统的过去、现在和未来》的在线直播和讨论。本次直播旨在介绍一下声网实时语音质量
随着Firefox在浏览器市场上的份额持续下滑,名为Waterfox(水狐)的项目应运而生,而且专门搭载那些用户喜闻乐见、Mozilla却不以为意的功能改进。事实上,如今对Firefox本家一意孤行的反抗已经形成潮流,Waterfox只是其中的代表之一。Firefox与Waterfox的“一进一退”Waterfox刚刚发布第四个版本,在程序层面有着重大变化,其部分浏览器引擎是由Rust编写而成。(
应该还能用
【外评】谷歌:从源头消除内存安全漏洞
【外评】在 RiSC-V 上运行《巫师 3》游戏
【外评】法官驳回大部分 GitHub Copilot 版权索赔要求
谷歌内部推出 SQL 中的管道(Pipe)语法
你们干扰不了我写开源代码
【外评】FreeBSD 将 Rust 纳入基本系统
【外评】电脑从哪里获取时间?
【外评】为什么 Stack Overflow 正在消失?
有时