人类历史上最重要的36个代码片段

这个点子奏效了,也许有点太好了。通过把“赞”做成一个零阻力的手势,到了2012年,大家的点赞次数已经超过1万亿次,并且的确释放出了大量的验证。但是它的副作用也令人不安。我们发布了一张照之后片,就会坐在那里焦急地不断刷新页面,等待点赞数的增加。我们想知道为什么别人拿到的点赞数会比自己的多。于是我们开始给自己日常的在线行为放大功率:想变得更有趣、更刻薄、更迷人、更极端。

代码塑造了我们的生活。就像风投家MarcAndreessen所写那样:“软件蚕食整个世界”,尽管此刻说软件正在消化世界可能会更准确些。

从文化角度上来讲,代码是比较下层的存在。我们可以感觉到它对我们日常现实的神秘影响,但是却很少能看到它,而且对于非初学者来说有点高深莫测。(硅谷的人喜欢这样这有助于他们自我神话为巫师。)我们给电影、游戏和电视都立了十大排行榜,让那些塑造了我们灵魂的作品扬名立万。但是,即便代码跟这些类型的作品一样反映了时代思潮,我们却未曾坐下来汇编过世界上最重要的代码清单。

所以Slate杂志决定自己来做这件事。为了弄清楚有哪些让世界为之倾斜的软件,杂志编辑对计算机科学家、软件开发人员、历史学家、政策制定者以及新闻工作者进行了民意调查。这些人需要做出以下选择:哪些代码段影响巨大?哪些代码改变了我们的生活?约有75位受访者提出了各种各样的想法,Slate从中选择了36位。鉴于写成的有影响的代码如汗牛充栋,这里的清单并不完整,也不可能完整。(我很喜欢的一个并没有人选:快速排序算法!或者AdaLovelace的伯努利算法也许也算一个。)就像所有的榜单一样,它的目的是启发,去帮助我们重新思考代码是如何影响我们的生活,以及程序员所做的决策是如何影响未来的。

里面的有些代码你可能已经听说过,比如HTML什么的。有的代码功能强大(比如用来对概率建模的蒙特卡洛模拟),但一般人完全不知道是什么。有的则包含了致命错误,比方说波音737Max的缺陷。还有一些令人毛骨悚然,比方说让营销人员知道你是否已打开电子邮件的像素跟踪。

有一个趋势是很明显的:最重要的代码往往会通过消除阻力来塑造新行为。当软件让做某件事情变得更容易时,这种事情我们就会做得更多。1988年编写的代码第一次建立起“InternetRelayChat(IRC,多人在线交谈系统)”,这使得早期的网民彼此可以实时进行文字聊天。现在,实时文字聊天已经无处不在,从令人应接不暇的Slack职场闲聊吹水,到Twitch直播的钓鱼和反钓鱼之战,不一而足。

某些代码什么时候具备了划时代意义未必总是很清晰。一开始它只是个怪异的尝试,一个实验气球。《Spacewar!》是第一个获得病毒式流行的视频游戏。可是在1961年的时候,用价值12万美元(相当于2019年的100万美元)的机柜式计算机万游戏被视为一种相当无聊的使用方式。但是它独创了很多帮助计算机进入主流的概念:用图标表示数据,让用户用手持控制器操作这些图标。

代码的影响可能会让所有人感到惊讶,包括写代码的人在内。—CliveThompson,《程序员:新部落的形成和世界的重塑(Coders:TheMakingofaNewTribeandtheRemakingoftheWorld)》作者

年代:1725

第一段代码

二进制编程早在计算机诞生之前就有了。大家认为BasileBouchon是第一个给纸片打孔并用来控制机器的人:1725年,他发明了一种织布机,这种机器可以根据送入的穿孔卡片的指令编织图案。打孔的是“1”,没有打孔是“0”。尽管此后东西发生了很大的变化,但代码的基本构建块并没有改变。—ElenaBotella,Slate

年代:1948

既开辟了计算机代码的使用,也引领了塑造冷战军备竞赛的核毁灭计算机模型的使用

ENIAC(电子数字积分计算机)是第一台可编程的电子计算机。机器于1945年建成,每解决一个新问题都要靠重新连线许多部件来完成。当一项任务(比如加法)完成时,会用一个脉冲来触发下一项任务。但是几年后,克拉拉·丹·冯·诺依曼和洛斯阿拉莫斯的科学家NicholasMetropolis对ENIAC重新进行了接线,让这台机器跑出来有史以来在任何计算机上执行的第一段现代代码:从可寻址只读存储器(ENIAC的函数表开关)执行数百条数字指令。他们模拟了新墨西哥州洛斯阿拉莫斯国家实验室正在评估的几种原子弹设计的爆炸情况,用蒙特卡洛技术来模拟一个复杂系统,几乎是一步步地把可能结果的概率分布呈现出来。冯·诺依曼和Metropolis)向洛斯阿拉莫斯的核科学家发送了20000多张卡片,跟踪弹头引爆后模拟中子的变化情况。知道今天,这段代码的子孙后代还在洛斯阿拉莫斯那里发挥作用。—ThomasHaigh,《ENIACinAction:MakingandRemakingtheModernComputer(ENIAC实战:现代计算机的制造和改造)》合著者

年代:1952

令计算机处理文字成为可能

当GraceHopper决定通过以人类语言为基础来简化整个过程时,她正在对一台早期计算机进行编程。二战期间,Hopper加入了美国海军预备队,她知道,像她在部队的上司一样,大家都在努力去理解二进制代码。而如果编程语言是基于英语的话,那么这项工作就不会那么容易出错,并且对于那些没有数学博士学位的人来说也更加平易近人了。

一些人对这种想法嗤之以鼻,但1950年代初时,她设计出了一种编译器,也就是一组可以将更容易理解的代码转化为由机器处理的较低级代码的指令。通过这一工具,她和她的实验室开发出了FLOW-MATIC,这是第一种将英语纳入该过程的编程语言。——MollyOlmstead,Slate

年代:1961年

发行的第一款视频游戏

SteveRussell,收集自Bitsavers.org

很快,星际飞行!就在早期的“黑客”社区中传播开来。后来DEC把它预装进了每一台PDP-1里面,并预装到核心内存里面,准备在安装时进行演示。这个程序对1960年代规模还很小的编码社区产生了重大影响,并启发了后面数代的视频游戏创作者。现在它还从模拟者那里找到自己的存在,并且在计算机历史博物馆的最后一台可操作PDP-1上还在定期演示。2018年,游戏的首席开发者SteveRussell在史密森尼学会上说:“它已有50多年的历史。没有未解决的用户投诉。没有崩溃报告。而且支持依旧提供。”——ArthurDaemmrich,导演,勒梅森发明与创新研究中心

年代:1965

拜托,这是电子邮件。

CTSS程序员MAIL手册页

年代:1968

现代预测警务和种族定性计算机化的开始

1965年,当林登·约翰逊总统组建总统执法与司法委员会时,他下令该委员会研究如何利用计算机来帮助解决美国的的“犯罪问题”,他和该委员会对这个问题的定性是“城市问题”和“黑人问题”。这个问题的答案是“警察巡逻算法(PoliceBeatAlgorithm,PBA)”,该算法旨在解决规划问题,比方说在城市的特定区域需要安排多少名警察巡逻之类的问题。通过将PBA与犯罪数据库相结合,警方可以在犯罪实施之前根据种族人口统计数据自动生成嫌犯档案,并相应部署资源(警察,武器和其他装备)。今天的预测警务对黑人和棕色人种监视并定罪的情况相对不成比例。就像PBA的故事提醒我们那样,这种情况并不是不可预见的技术故障的结果:相反,这是这项技术50年设计的完美体现。——CharltonMcIlwain,《黑人软件(BlackSoftware:TheInternet&RacialJustice,FromtheAfronettoBlackLivesMatter)》作者

年代:1969

防止登月舱的计算机在太空中耗尽空间的代码

数字化:VirtualAGC与MITMuseum

阿波罗制导系统计算机(AGC)是一个奇迹:就像计算阿波罗重返地球轨迹的PoppyNorthcutt告诉我那样,AGC的计算能力还比不上今天记录个人信息的贺卡。但是,它却做到了该做的。

有限的计算能力和存储空间意味着必须细致地管理好任务,因此AGC始终聚焦在最重要的工作上。如果它没有足够的空间来执行任务,那就不可能完成任务。AGC软件团队知道,总有些事情是自己计划不到的。因此,他们开发了BAILOUT。当计算机有空间用完(或“溢出”)的风险时,AGC会触发BAILOUT把不太重要的数据和操作调走,从而让重要的数据和操作保持正常运行。

在阿姆斯特朗说出“鹰已降落”之前,溢出警报还会再响三声,但永远是因为事情按预期进行才会响。“救助”一词通常表示任务以失败结束,但在这里却让人类的最高成就成为现实。—史密森尼国家航空航天博物馆主任EllenStofan

日期:1972年或更早

把世代引入代码的一句话

年代:1972

计算史上最灾难性的设计错误

GNUC参考手册

1972年,丹尼斯·里奇(DennisRitchie)做出了一个重大决定:自己的新语言要用一种所谓的“空终止串”来表示文本。这个概念其实早就出现了,但是他在自己的新语言,C语言里面把它奉若神明,而这一决定的遗产从此就一直缠住了我们。

编程语言表示一段文本的主要有两种方式:它可以是内在的固定长度的——“我就包含10个字符,就这么多。”也可以用过空值(null)结尾——这里有一堆的字符,你尽管看下下去,直到最后到达零字节为止,祝你好运!”

C代码中一个极其常见的错误是把一个长字符串复制到一个较短的字符串,造成结尾处溢出,这意味着你破坏了刚好在附近的其他数据。就像在白板边上写东西一样。

除了只是导致程序发生故障外,此类错误还可以用来说服程序用经过精心设计的特定数据去覆盖某些内容,从而改变程序的行为。这就是缓冲区溢出攻击。但凡你听说过的安全漏洞几乎都是从这里开始的,其始作俑者就是1988年的莫里斯蠕虫病毒(MorrisWorm)。

仔细写代码可以避免在C语言中出现此类错误,但是这种语言的特点导致此类错误产生容易检测难。几乎所有的现代语言都避开了以null终止的字符串,但是从路由器到“智能”灯泡,C和C++仍然在世界的基础处运行着。因此,在将近50年后,我们仍跟这类bug在玩打地鼠的游戏。——JamieZawinski,Netscape开发者,Mozilla.org创始人,DNALounge老板

年代:1975

第一个基于数据包交换的公共数据网络,是当今互联网的骨干

年代:1982

一个小小的小数点之别付出的巨大代价

温哥华证券交易所使用的代码大概是这样的。

年代:1985–1987年

事实证明,过分自信会杀死人

当真相显现时,头条新闻就现代化发出了警告。《洛杉矶时报》宣称:“复杂时代的软件故障会死人。”一种本来用于治疗癌症的机器由于在几家医疗机构对六名患者进行了过大剂量的放射,造成了至少三人死亡。

研究人员经过调查发现,Therac-25的程序允许致命错误的出现。本来这台机器提供的是低功率和高功率两种类型的治疗,而后者需要金属设备来过滤光束。但是由于软件存在的错误,操作员可以在没有合适的金属设备就绪的情况下意外触发高功率模式。

在设计上,Therac-25是Therac-20的“改进”版,而且这种软件被认为已经万无一失,因此不需要外部的安全检查。结果:重大死亡的责任要归咎于过度自信的工程师,因为他们没有对错误发生的可能性做出解释。——MollyOlmstead

年代:1988

在网上闲逛的起源

让人意识到互联网已经变得有多庞大的一盆冷水

这是莫里斯蠕虫代码关键功能的摘录。RobertMorris,计算机历史博物馆和ArialdoMartini提供

当时23岁的康奈尔大学研究生莫里斯Morris释放莫里斯蠕虫(MorrisWorm),发动了所谓的“互联网的首次重大攻击”时,罗伯特·莫里斯和互联网本身都还很年轻。当时接入互联网的6万台机器里面,大概有10%遭到了破坏,造成数百万美元的损失,并导致《纽约时报》首次刊出“互联网”这一词。即使是精通技术的人,对于这个蠕虫的影响范围如此之广也感到瞠目结舌。莫里斯说,他本意并不想造成如此大的伤害,他也因此成为根据《计算机欺诈和滥用法》被起诉的第一人。在被判处三年缓刑之后,他成为了著名的创业孵化器YCombinator的共同创始人以及麻省理工学院的计算机科学助理教授。——ElenaBotella

年代:大约1990年代

一行代码的威力,以及计算机总让人惊讶的脆弱性

不要在家里跑这行代码。提供者:ChrisNoessel

你在上面看到的是一种称为“叉路炸弹(forkbomb)”的病毒——只有一行代码。当然它的发作需要满足一些特定的条件(包括Unix操作系统版本要旧一点,易感染的那种)。在条件满足的情况下,如果你在Bash里面输入这条命令,它就会一遍又一遍地复制自身,直到把计算机中的所有可用内存耗尽,导致计算机崩溃。

这段代码的美丽之处不在于代码之小与危害之大的对比,而在于它用冒号作为函数名。大多数函数(可重复使用的代码行)的命名都是描述性的,比方说“Print”或“isThisEmailValid”,但是这并不是严格要求的规矩。大多数计算语言都不能用冒号作为函数名称,但是Bash就可以。

我最早见到这行代码要追溯到2002年,当时德国法兰克福的一家艺术博物馆AngewandteKunst博物馆正在展览。博物馆展览代码可是很罕见的的——ChrisNoessel

年代:1990

让我们把所有东西连接上任何东西(甚至是难以想象的东西)的工具

蒂姆·伯纳斯·李(TimBerners-Lee)引入超链接,世界从此改变了。超链接是一段让人人皆可遨游WWW的代码。将信息链接起来的概念并不算特别新颖,但超链接的新鲜之处在于,它把各种计算机系统约定的标点符号拼凑到了一起,统一成URL冒号双斜杠的格式,从而对任何现有的条目进行命名。尽管伯纳斯·李担心向后兼容性的问题,但超链接任何东西的概念令该想法永不过时。伯纳斯·李的超链接可以随意变成“马上购买”按钮,点赞拇指、转发推特等等。这些令人意想不到的用例应该能够提醒我们,当我们站在技术革命的风口浪尖时,最难预料到的就是接下来会发生的事情。——RStreet技术和创新总监CharlesDuan

年代:1992

永远改变了我们与摄影的关系

上述代码片段是离散余弦变换算法,JPEG背后的基石。

Nayuki项目

我们现在已经把相机装满照片视为理所当然。但是过去表示图像需要大量的数据。1992年,联合图像专家组(JointPhotographicExpertsGroup)发布了JPEG的标准规范,从而让图像文件变得更小。尽管当时也可以用其他的压缩格式,但JPEG之所以能成为世界标准,部分原因是它不用交版税。JPEG采用了有损压缩,在压缩过程当中可以消除图像里面人眼无法检测到的部分,比方说颜色的细微变化。有损压缩对于1992年引入的另一项发明MP3也至关重要.类似地,这种音频文件格式通过丢弃人耳无法检测到的数据而变得紧凑。——AaronMak,Slate

年代:1993

现代web的诞生

以上是2.7版代码的一部分。

美国国家超级计算机应用中心软件开发小组,用于XWindows系统的NCSAMosaic

以前的浏览器渲染处理得很笨拙,虽然文本呈现的效果很好,但是浏览图像却一定要单独打开窗口。MarcAndreessen领导的Mosaic黑客希望做出一个能让文字和图像一起呈现的浏览器。是他们让web变得我们熟悉的样子,就好像在看一本很酷的数字杂志或报纸一样。随着世界各地的网站管理员开始要求更多的标签来让网站看起来更酷,这也促使HTML标准的发展走上了快车道。(那时候框架似乎是个超酷的主意。)——CliveThompson

Facebook的PageView跟踪像素。

Facebook'sPageViewTrackingPixel.Facebook

年代:1994

一个对搜索等应用具有重大影响的微型工具

Slate自己的robot.txt

为维基百科铺平了道路

WikiWikiWeb的WikiBase,最后编辑于2000年6月13日

年代:90年代中期

互联网的灾祸

在新窗口打开特定URL的基本代码。

自从我向全世界释放了这头邪恶的野兽之后,我出过书,创办过公司,在大学教过人,但别人总会把我跟弹出窗口联系到一起。当本文发表时,我预计仍会收到仇恨的邮件——麻省理工学院公民媒体中心主任EthanZuckerman

年代:大约1995年

语言:Perl

以代码表现激进主义的最早例子之一

MunitionsT-Shirt主页

年代:1996

革新了我们知识的组织方式

Google创建的算法,上述实现由Wikipedia提供

在PageRank之前,搜索引擎是通过寻找我们的查询关键字是否跟文档里面的单词匹配来查找信息的。但LarryPageSergeyBrin提出了一个绝妙的主意:知识是社会化的,搜索也应如此。为此,他们创建了一种算法,PageRank,这个算法会根据网上有多少其他页面链接到某个网页来对该网页的突出程度进行排名。Google今天之所以如此强大,就因为这一个洞察。——CliveThompson

年代:1990年代中期

它让网站最平凡的元素也能酷炫起来。

RoyWhittle

DouglasEnglebart和BillEnglish在1960年代后期发明的鼠标改变了我们与计算机沟通的方式。尽管使用鼠标很直观,但当时的显示技术通常无法跟上鼠标的快速移动。操作系统开发人员于是添加了鼠标轨迹,也就是瞬时的阴影图像,显示出光标在之前的位置,从而更易于跟踪和查找。

在1990年代中期,GeoCities是第一个提供免费服务,让用户可以轻松创建自己的Web内容的公司。GeoCities所见即所得(WYSIWYG)的编辑器使得创建者可以轻松地拖拽内容,添加自定义的代码段,包括用于定制访问者看到的鼠标轨迹的代码。在GeoCities的网页上,你的光标可以留下童话般的灰尘、气泡或小小的万圣节蝙蝠的痕迹。这些绚丽的像素是一个时代的缩影,说明我们已经能够自己建立自己的“网络空间”——NikkiStevens,亚利桑那州立大学博士研究生

年代:1999

让大家在一个地方就能阅读《纽约时报》、Gizmodo以及GarfieldMinusGarfield。

维基百科

一个数学错误导致一项任务失败

1999年9月23日,NASA的科学家与价值1.25亿美元的火星气候轨道器失去了联系。经过调查,确定了失联的原因:一家承包商用英制单位给轨道器写了程序,但是NASA的软件用的却是公制。就因为两段代码之间简单的沟通错误,导致轨道器飞到了未知的地方。

年代:大约2000–2001年

开辟了无人机战争的先河。

年代:2002

为技术(和猫)在现实世界的移动建立了新途径

iRobot

你永远也不会忘记自己的第一台Roomba:我的大概是在17年前在一个朋友家。当它在房子里面嗡嗡地由着自己的性子转来转去时,我正坐在沙发上哈哈大笑。这是机器人革命的曙光,一场看起来很蠢但是又很认真的革命。(跟炸弹清理机器有着一样DNA的机器人正在数百万个家庭里面吸尘,这一点着实让人吃惊。)从那以后,别人再也难以复制它的成功。Roomba证明,尽管我们的注意力重心已经开始向硬件倾斜(比如波士顿动力怪异的膝盖向后弯、会开门的机器狗)上,但软件对于一件产品的广泛采用可能更为重要。阿西莫夫化的iRobot并没有创造出第一个真空吸尘机器人,但是Roomba成为一个必备的利基产品不是因为它吸尘效果好,而是因为它在房间里面的导航效果不错。就像成千上万的小猫视频可以证明那样,在现代计算时代,几乎没有什么东西能比看着Roomba撞到桌腿、转圈一周然后前进更令人满足的了。——LowenLiu,Slate

年代:约2003年

令手机网络成为可能的解决方案

“使用路径分集公平地最大化吞吐量的定向发射机多接收机系统”,美国专利第6444990号,2002年9月10日

任何时候在任何一个地方,手机的数量通常都要比基站数量多。如果不进行调解的话,所有的传输都会相互干扰并阻碍信息的可靠接收。因此,基站需要解决优先级问题:确保所有用户都能完成通话,同时还要考虑到在嘈杂环境的用户需要赋予更多资源才能得到同样服务质量这一点。解决方案?要在个体用户需求与网络整体性能之间进行折衷。比例公平调度可确保所有用户至少享有最低级别的服务,同时最大程度地提高总的网络吞吐量。这是通过将较低的优先级赋予预期需要更多资源的用户来实现的。仅三行代码就让全球所有的3G和4G无线网络正常工作。——LavVarshney

年代:2008年

激发大家对一种货币的信心的代码,没有它就没有这种货币

中本聪

不管你是比特币的布道者还是怀疑者,或者不大确定它是什么,你大概都知道这可是个大事物。比特币本身已经获得了数千亿美元的直接投资,但是也许更重要的是,其基础的技术原理,也就是区块链,似乎有着无穷无尽的应用,从确保民主选举到结束非自愿的性接触等等都在它的应用范围。

这一切始于2008年,当匿名的中本聪发表了一份白皮书,宣布要推出比特币。上述代码就是实现的一部分,这些代码的作用是计算出攻击者接管比特币区块链的可能性极小。这里的数学让世界相信,由不可靠的人组成的系统仍然可以信任,这为至少2777种其他加密货币的创建铺平了道路。——ElenaBotella

年代:2008年10月至2009年

把受感染的计算机变成恶意的机器人大军,同时又保护其他的一些计算机

这段代码是安全研究人员TillmannWerner和FelixLeder编写的,后来还进行了功能等效性测试,为的是理解和对抗Conficker蠕虫。

TillmannWerner和FelixLeder

十年前,感染Conficker的计算机数量多达1500万台。这是一种利用Windows操作系统的漏洞的病毒。这种病毒虽然令人恐惧,但也因为它的老辣而备受推崇:它会邀请每一台计算机加入到庞大的僵尸大军,等候命令下达,还会阻止受感染的计算机打开安全程序或下载可以清除病毒的补丁程序。其最早版本还有一个非常有趣且很能说明问题的怪癖:如果驻留在任何使用乌克兰键盘或乌克兰IP地址的系统就会自毁。多年后,对该病毒进行逆向工程的主管部门和研究人员得出结论,Conficker的开发者确实是乌克兰人,他们这样设计病毒是为了避免违反自己国家的法律。幸运的是,这些黑客一直都没有动用过那支僵尸大军来作恶,截至到2018年,估计仍有35万台计算机感染这种病毒,这提醒我们娴熟的程序员要想发动国际攻击,有选择地对用户造成破坏可以是多么的容易。——JaneC.Hu

年代:2009

它催生了监视经济。

2019年9月的Facebook.com网站

年代:2009年左右

默认开启安全通道来保护网站安全

Mozilla开发人员指南

HSTS还没有普及:估计只有11.1%的网站用到。但2015年春天,重要一刻降临,美国联邦政府和行业合作伙伴对19个政府领域实施HSTS,其中包括Whitehouse.gov,AIDS.gov和donotcall.gov。此后不久,所有联邦机构均要求采用该标准。——RustyD.Pickens,奥巴马政府白宫前代理新媒体总监

年代:2012年编写,2014年被发现

计算史上传播最广、危害最大的安全漏洞之一

来自NakedSecurity

2014年,安全研究人员在OpenSSL(一个非常受欢迎的开源库)中发现了一个漏洞,大约有三分之二的网站(包括DropBox,Twitter,Yahoo和GitHub)都用到它——用于在两台计算机之间进行在线通信。Heartbleed使得犯罪分子可以通过影响数百万台设备的缓冲区读取漏洞来窃取未加密的机密信息,包括凭据和加密密钥等。这让大家注意到了依靠开源软件来实现关键安全功能所带来的风险,以及识别已被使用多年的代码漏洞的挑战。从更积极的意义上来说,Heartbleed的发现也引发了迅速而有效的全球反应,包括在全球范围内进行的协调宣传和补救工作,其力度和广度均远远超出了以前针对早期漏洞的许多同类行动。-塔夫茨大学助理教授JosephineWolff

年代:2017年推出

软件错误,加上企业的贪婪,导致数百人丧生,以及大批飞机停飞。

2018年10月,狮航610航班起飞后不久就发生了一次似乎非常怪异的事故,然后坠入海中。波音向公众保证飞机是安全的,并表示需要进行更多的飞行员培训以及“软件升级”。但是仅仅四个月后,埃塞俄比亚航空的一名飞行员抬升机头的努力做了20次,但飞机的自动系统仍然把机头往下推。起飞后的几分钟内,机上所有人员均告死亡。作为对事故的响应,全球的民航当局这这一型号的飞机都停飞了。调查显示,坠机事故是因为737Max的设计引起的,尤其是鲜为人知,了解程度不高的软件,可能会强制飞机反复做俯冲动作。——技术史学家,《写入程序的不平等》作者MarHicks

THE END
1.人工智能51CTO.COM算法 自然语言处理 语音识别 人脸识别 机器视觉 知识图谱 无人驾驶 机器人 开发 云计算 开源 大数据 网络 安全 全部话题 关注该话题的人还关注了 机器学习 2011内容 算法 1605内容 深度学习 1675内容 机器视觉 64内容 知识图谱 70内容 自然语言处理 109内容 机器人 914内容 人脸识别 460内容 我关注的话题 相关https://ai.51cto.com/
2.开源AuctionNet:针对大规模博弈环境的出价决策Benchmark为了解决这一问题,本文提出了一种基于在线广告行业的自动出价决策问题的Benchmark,并命名为AuctionNet。AuctionNet包括一个大规模广告竞拍环境、基于该环境预生成的数据集以及几种基础出价决策算法的效果评估。广告竞拍环境通过深度生成式模型生成广告流量数据,旨在缩小仿真环境与现实问题之间的差距,同时避免敏感数据暴露的https://hub.baai.ac.cn/view/41958
3.感觉更像一个知识整合网站,和编程竞赛相关的都放到这个网站上21.6K全球最大计算机竞赛知识库 | OI Wiki是Github上免费编程竞赛站点,收集21.6K赞的全球最大中文站点汇集了编程竞赛的丰富知识。在这里,你可以找到从基础知识到高级技巧的各种资源,是编程竞赛爱好者的学习宝库。OI竞赛、ICPC竞赛都可以多看看。 这个项目介绍各种赛事、赛制、题型,以及赛场上常见的坑https://www.zhihu.com/pin/1850971219928682496
4.云端问8期实践教学文本匹配需要的算法例如高端的操作通过大模型做rag,这种情况下就可以将自定义的数据源和匹配的文字都给大模型,大模型查看是否匹配成功,将数据结构告知大模型如何返回。如果想用一个简单的文字匹配可以考虑先分词,再文本匹配,但如果有两个句子意思本身相似,写法不同就会导致无法匹配,具体看匹配的要求。https://developer.aliyun.com/article/1646001
5.算法的在线演示网站数据是宝推荐一个算法在线演示网站: https://www.cs.usfca.edu/~galles/visualization/Algorithms.html eg:红黑树、 AVL树等算法都可以直接在这个网站中演示https://www.cnblogs.com/axing-articles/p/11408488.html
6.算法演示在线网站(收藏自己用)数据结构墨笔夺魂https://www.cs.usfca.edu/~galles/visualization/Algorithms.html 墨笔夺魂 华为开发者空间https://huaweicloud.csdn.net/64df0c46dc60580edc772f40.html
7.md5在线解密破解,md5解密加密本站针对md5、sha1、sha256等全球通用公开的加密算法进行反向查询,通过穷举字符组合的方式,创建了明文密文对应查询数据库,创建的记录约90万亿条,占用硬盘超过3PB,查询成功率95%以上,很多复杂密文只有本站才可查询。本站专注于各种公开算法,已稳定运行18年。 https://www.cmd5.com/
8.Hello!GitHub好用好玩值得收藏的开源项目集合~ ?awesome-leetcode(各大 IT 公司的算法面试题) GitHub地址:http://github.com/Blankj/awesome-java-leetcode LeetCode of algorithms with java solution(updating). ?BrowserQuest(JavaScript多人在线游戏) GitHub地址:http://github.com/mozilla/BrowserQuest https://maimai.cn/article/detail?fid=1475370684&efid=VfsByAn5y7pBiausQZV-1A
9.可视化数据结构算法演示Basics Stack: Array Implementation Stack: Linked List Implementation Queues: Array Implementation Queues: Linked List Implementation Lists: Array Implementation (available injavaversion) Lists: Linked List Implementation (available injavaversion) Recursion https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
10.2022年度陕西省重点研发计划项目申报指南目录考核指标:支持网络卫星节点规模不小于 1000;支持天基测控与地基测控联合利用;支持宽带、窄带等多种通信手段的综合利用;支持测控、数传联合任务的一体调度;突发测控任务平均响应时间分钟级;相比于利用传统优化工具的任务规划方式,规划时延降低 50%;建立面向大规模星座的网络化测控算法的仿真演示验证平台;申请发明专利 2 项http://www.kt180.com/html/sxs/9889.html
11.医学图像处理论文15篇通过“串烧”方式的实施,使学生通过在课堂上的医学图像处理的演示,了解、掌握了各种医学图像处理方法和其在医学临床中的应用,但众多算法都需要计算机仿编程仿真实现,为缓解由此给学生带来的压力,提高学习效率,搭建了以淋球菌感染图为例的济宁医学院医学图像处理演示平台,学生通过平台的实用,加深了对所学的医学图像处理知https://www.haoqikan.com/fanwen/19802.html
12.2023年重大网络安全政策法规盘点据国家能源局网站消息,为贯彻落实党的二十大精神,扎实做好2023年电力安全监管工作,确保电力系统安全稳定运行和电力可靠供应,推动全国电力安全生产形势持续稳定向好,国家能源局近日印发了《2023年电力安全监管重点任务》,强调推进电力行业网络与信息安全工作,修订行业网络安全事件应急预案,建立完善网络安全监督管理技术支撑体系https://www.eet-china.com/mp/a273064.html
13.Python3实现对列表按元组指定列进行排序的方法分析pythonPS:这里再为大家推荐一款关于排序的演示工具供大家参考:在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具: http://tools.jb51.net/aideddesign/paixu_ys更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《https://www.jb51.net/article/153239.htm
14.定级备案等报信息安全等保等保整改算法备案深度合成算法网站安全风险 专业评测、安全准确 为您网站安全无忧 网络域名 查询迅速 高性价比 易用安全解析稳定 软件著作权 免费查询 品质保证 应用部署 金牌服务 7x24x365全天 在线支持 Customer Case 客户案例 一起见证我们的发展,讯天科技一直秉承:客户满意是我们唯一的原则https://www.xtidc.cn/
15.iSlide博客iSlide API合作流程 iSlide AI算法安全备案 AI 时代,我们的各种工作方式和习惯都在受到潜移默化的改变,企业也在不断搭建完善自有平台,iSlide 作为PPT设计辅助工具,只想让您和您的企业在PPT设计中,简单起来!!https://www.islide.cc/blog/375
16.里诺仓库管理系统进销存软件wms仓储里诺云合同管理系统(在线版) 为解决企业内的合同管理而开发的一款软件。只需一个浏览器,软件简单易用,软件从合同起草、合同签订、合同收付款计划,合同收付,结算安排、执行进展到实际结款以及对合同结款情况统计分析都有全方位的管理,同时里诺云仓库管理系统(在线版) 本系统适用于需要异地查看管理库存的公司,客户端http://www.lenosoft.net/
17.高二数学教案在椭圆的定义的教学过程()中,可以提出“到两定点的距离的和为定值的点的轨迹一定是椭圆吗”,让学生通过课件演示“改变焦距或定值”,观察轨迹的形状,从而挖掘出定义的内涵,这样就使得学生对椭圆的定义留下了深刻的印象。 (5)注意椭圆的定义与椭圆的标准方程的联系https://www.fwsir.com/jiaoan/html/jiaoan_20221204150736_2117816.html
18.可视化算法algorithmvisualizerAlgorithm Visualizer is an interactive online platform that visualizes algorithms from code.http://algorithm-visualizer.org/
19.SIEMENSSIMATICSTEP7破解版SIEMENSSIMATICSTEP清晰的在线演示 5、GRAPH(SFC)-顺控程序的编程 顺序功能图(SFC)用于描述具有替代或并行顺控程序的过程。 在标准化的显示模式下(符合IEC 61131-3、DIN EN 61131),可以清晰快速地配置和编程定序器。 该过程以图形方式描述,并分为具有可管理功能范围的各个步骤。 基本功能 灵活的顺控器结构: 同时和交替分支、顺控器http://www.sd173.com/soft/9950.html
20.数据结构优质课程设计排序算法演示系统经管文库计算机学院 数据构造 课程设计 题 目:数据构造排序算法演示系统 班 级:姓 名:学 号:同组人姓名:https://bbs.pinggu.org/forum.php?mod=viewthread&tid=13237336&ordertype=2
21.NokiaN97Q&A问题集爱范儿同意。在光照好时,N97用的新算法效果很好。 一家非常可信的网站(Eldar)宣称N97有70M可用内存(RAM),他是怎么计算出此结果的?(你说是46M) 我不清楚,不过他是在评测一个原型机,欧洲零售版确实是46M。 或者说70M是关闭主界面widget的情况下?(可能关闭么?) https://www.ifanr.com/2990
22.河南省济源第一中学河南省济源第一中学始建于1926年,是“全国文明校园”“河南省示范性普通高中”“河南省普通高中多样化发展示范校”。https://www.hnjyyz.com/
23.Mo蓦Mo(momodel.cn)人工智能教学实训平台,浙江大学智海团队开发,助你从 Python 开始,一步步掌握机器学习、 深度学习、大模型等 AI 核心知识技能。Mo-Tutor 手把手沉浸式教学模式,理论与实操相结合,助教辅导助力高效学习。https://momodel.cn/
24.bigjpgai图片在线无损放大使用其他的放大方法如PS或PhotoZoom,放大的圖片後依然有明顯的模糊感,邊緣的重影以及噪點。我們產品的工作原理,是通過神經網絡,針對放大圖片的線條、顏色、網點等特點,做特殊的算法調整,所以放大效果非常出色, 色彩保留較好, 圖片邊緣也不會有毛刺和重影,。更重要的是,影響畫質的噪點基本在放大的圖片上看不出來。 https://bigjpg.com/
25.SG11\SG12\SG13\DECK在线PHP代码加密系统平台支持余额充值和卡密截图演示: 个人中心: 后台管理: 扒模板源码分享 关注不定时发福利 最新发布 免费分享 NineAi 新版AI系统网站源码 ChatGPT 完整源码带mj-proxy 2024龙年新版ui周易测算网站H5源码/在线起名网站源码/运势测算网站系统源码 PSD Codec(PSD缩略图插件) 完美版 http://www.bamuban.cn/php/detail5616.html
26.图灵社区[日]斋藤康毅(作者) 郑明智(译者) Hello算法 靳宇栋(@krahets)(作者) 线性代数入门 [日]斋藤正彦(作者) 游杰、段连连、康建召(译者) Python数据结构与算法分析(第3版) 布拉德利·N. 米勒,戴维·L. 拉努姆,罗曼·亚西诺夫斯基(作者) 吕能,刁寿钧(译者)https://www.ituring.com.cn/
27.好用的AI流程图软件,AI自动生成流程图boardmix还支持多人同屏协作,一键接入腾讯会议、飞书会议、钉钉会议等音视频服务,实现多人在线沟通,并在baordmix上实时编辑协作、评论、标注等,实时显示协作成员头像和光标,促进团队协作。 3. 多场景在线演示,一键分享 boardmix支持在线演示,支持开启互动演示和幻灯片演示两种模式,演示者可开启跟随者模式,带领参与者沉浸https://boardmix.cn/article/good-ai-flow-chart-software/
28.NDM免费多线程下载工具利器中文版NDM 下载软件官方演示视频: 点击开始播放视频 NDM 下载工具优点: 体积极为小巧轻量,仅 1MB 不到 采用优化的动态细分算法,能大幅增强下载速度,轻松达到带宽最高下载峰值 能根据下载状态(完整,不完整)和文件类型(音视频,文档等)来识别下载 支持HTTP / Https / FTP 下载,支持 HTTP 和 SOCKS 代理协议 支持断点续传https://www.iplaysoft.com/ndm.html
29.Pig编程指南如果用户想下载完整的数据集然后把它放到集群中(只需要几个节点就可以),那将是一个对Pig和Hadoop更加逼真的演示。在README文件中有如何下载这些数据集的Safari?图书在线 Safari图书在线是一个按需服务的数字图书馆。使用它用户可以轻松地通过检索超过7,500本技术和创意参考书以及视频教程从而快速获得用户想知道https://www.epubit.com/bookDetails?id=N31127
30.算法在线演示VisuAlgo was conceptualised in 2011 by Dr Steven Halim as a tool to help his students better understand data structures and algorithms, by allowing them to learn the basics on their own and at their own pace. Together with his students from the National http://www.visualgo.net/
31.E树企业管理系统(ERP)在线视频教程序号录像名称录像简介视频时长在线观看 112 地点标准成本 *** 地点标准成本 ***1>.E树ERP,是采用"分批次的移动加权平均"成本算法, 标准成本只是做为一个参考数据.(它并不会影响存货的成本算法) 比如: 库存现状或历史查询中,可以用标准成本做为参考值.来估算当前成本. BOM查询子料中,可以用子件的标准成本,来http://www.kntsoft.com/rx/erp/