files and .h for interface files if your project doesn't already follow another convention SF.1:如果你的项目没有正在遵从的其他习惯...,为代码文件使用.cpp后缀,为接口文件使用.h后缀 Reason(原因) It's a longstanding convention....这个习惯反映一个常见的使用模式:头文件更多地和C代码一起被分享并且和C++或C代码一起编译,它们通常使用.h后缀。...使用.h为所有的头文件命名比较容易,而不是只为试图和C代码一起分享的头文件使用.h后缀。...另一方面,(C++,译者注)实现文件极少和C代码一起分享,通常需要和.c文件区分开来,因此一般最好为所有的C++实现代码使用其他后缀(例如.cpp)。
但是,由于 LangChain 故意将许多细节做得很抽象,我们无法轻松编写所需的底层代码。 众所周知,人工智能和 LLM 是瞬息万变的领域,每周都会有新的概念和想法出现。...LangChain 所做的只是增加了代码的复杂性,却没有带来任何明显的好处。 这种代码对于早期原型来说可能没什么问题。...当然,这些都是微不足道的例子。但我想说的是,好的抽象可以简化代码,减少理解代码所需的认知负荷。 LangChain 试图通过隐藏细节,用更少的代码完成更多的工作,让你的生活变得更轻松。...这不可避免地会导致理解庞大的堆栈跟踪和调试你没有编写的内部框架代码,而不是实现新功能。...Agent 领域正在快速发展,带来了令人兴奋的可能性和有趣的用例,但我们建议 —— 在 Agent 的使用模式得到巩固之前,暂时保持简单。人工智能领域的许多开发工作都是由实验和原型设计驱动的。
我发布的应用让我获得了一家成长中移动开发公司的面试机会,这对我来说非常宝贵。 我知道自己没有资格胜任高级开发人员,所以只要能够得到工作和学习的机会就行,能够得到任何职位都可以。...我并没有就此罢休,我询问他们是否愿意考虑让我作为实习生加入,我甚至愿意不计报酬地工作和学习,以获得提高自己技能的机会。 最后我得到了一个机会,但不是实习生,而是一个移动应用 QA 测试员的职位。...我去做测试工作可能不会去写代码,但我可以和专家们打成一片,向他们学习。更棒的是,我在做测试时还能拿到报酬。这比做一个没有报酬的实习生要好得多。...我必须提高自己的开发技能,并在机会出现时已做好准备。 作为一名 QA 测试员,我每天必须工作 8 小时。我很羡慕那些做开发的人,他们可以边工作边学习。边工作边学习是最好的,但我没有这种机会。...我又回到了没有太多时间在工作中写代码和学习的阶段,但我仍然很喜欢我的工作,因为它仍然是相对技术性的,只是技术水平更高了。 要做出合理的高层次技术决策必须有扎实的底层技术理解。
和英国电信公司工作,还是一位顾问,帮助团队以更敏捷的方式工作。他写了一本关于 UI 设计的书,并一直在撰写技术文章......Eleventy 使用两个有用的概念来实现这一点。 模板语言允许你在你的目标输出语言(网站的 HTML)中插入代码指令。通常我们需要区分“这是代码,不要动它”的行和“将这个的结果放在屏幕上”的行。...尽管是空白的,因为用户名不存在。但我可以分配一个: <!...与变量 title 不同,变量 content 是 Eleventy 正在追踪的一个特殊变量。它理解在使用布局时,任何页面内容都放在这个位置。...如果我们清理 _site 目录(旧页面将保留)并忽略庞大的 node-modules 目录,你应该有这个: 由于没有打开的 index.html,什么都不会提供。我们只有旧的 README。
为了这个练习,我从一个详细的提示开始,其中包含样本数据,指定要在数据中识别的模式,并提供可以在测试中使用的样本输出,这些测试将证明脚本的工作符合预期。...我不确定我们为什么甚至期望 LLM 将详细的规范作为输入,并在一次操作中生成整个程序作为输出。人类程序员不会这样工作。即使 LLM 可以,我们会想要它们这样做吗?...到目前为止,我还没有成功地试图用 Cody 和 Copilot 来模拟这种效果。我可以要求它们编写一个通过测试的函数,给它们通过的测试,并将测试失败反馈给它们,但用这种方法我还没有得到一个成功的结果。...调整后的正则表达式模式正确地从变更日志中提取了所需的信息,测试验证了这种提取是准确的。 Jon:你声称它通过了测试,但实际上它没有。你为什么说它通过了?...这种情况发生了几次,我从未得到一个满意的回答,只好捕获 LLM 的建议代码更改,将其放入我的代码副本中,并自己运行测试。这并不是一个大问题。
32:29 虽然人工智能带来了工作中断风险,但我们有责任确保受影响的个人在这些变化期间得到良好的照顾、公平对待和支持。...通过给定一个文本片段,称之为提示(prompt),比如“我喜欢吃”,你可以多次运行模型,可能会得到“百吉饼奶酪”、“我妈妈的肉loaf”或者“超级朋友”等输出。人工智能系统可以生成这样的输出。...这开始打开了大量可以由许多人构建的人工智能应用的大门。我认为很多人仍然低估了即将出现的定制人工智能应用的数量。我知道你可能没有预料到我在这个演示中会编写代码,但我要做的就是编写代码。...然后我运行这个代码,我之前从未运行过,所以我真的不知道,希望,哦,谢天谢地,我们得到了正确的答案,这实际上就是构建情感分类器所需的所有代码。...但我希望你从这张图中得到一个印象,那就是所有这些技术都是通用技术。在监督学习的情况下,过去十年需要做的很多工作,但在未来十年仍将继续,是确定和执行具体的用例,这个过程也正在开始应用于生成式人工智能。
现在,这些更改可以在独立的集成包中得到适当的版本反映。 #03 可观测性 构建 LLM 应用时,系统核心将会是一个非确定性组件。...LangSmith 的一个核心优势是为你的 LLM 应用提供一流的调试体验。我们详细记录了正在执行的每个步骤、每个步骤的输入、输出、所需时间等数据。...在有替代构造函数存在且经过使用和充分测试之前,我们不会弃用遗留版本的链条。 #05 流式处理 LLM 有时反应较慢。向最终用户展示正在进行的工作,而不是让他们盯着空白屏幕,十分重要。...所有用 LCEL 构建的链条均提供标准的 stream 和 astream 方法,我们还做了大量工作,确保流处理不仅限于 LLM 调用阶段(比如在输出解析器中也实现了流处理)。...重要的是,尽管 LangChain 提供了构建高级检索系统所需的一切组件,但我们并不限制使用方式。
在过去的几天中,我编写了一个叫作 dnspeep 的小工具,它能让你看到你电脑中正进行的 DNS 查询,并且还能看得到其响应。它现在只有 250 行 Rust 代码。...如果你不想在超级用户下运行下载的二进制文件,你也能在 https://github.com/jvns/dnspeep 查看源码并且自行编译。 输出结果是什么样的 以下是输出结果。...实际上,我的一个朋友用这个工具发现,他的电脑上安装了一些以前工作时的企业监控软件,但他忘记了卸载,因此你甚至可能发现一些你想要删除的东西。...但我仍然不太了解如何在 Rust 中正确做到这一点作,但我通过将 libpcap.a 文件复制到 target/release/deps 目录下,然后直接运行 cargo build,使其得以工作。...该程序没有做的一件事就是告诉你哪个进程进行了 DNS 查询,我发现有一个名为 dnssnoop 的工具可以做到这一点。它使用 eBPF,看上去很酷,但我还没有尝试过。
世界末日 首先,我们听说机器人正在做蓝领工作。 然后,我们发现白领工作也不安全。 在我们恐慌我们将要失业,我们发现这些机器人正在背后议论我们。 可能是关于我们这些懒惰的失业人员的流言蜚语。...机器学习在许多不同的环境中都被讨论过,很难理解它到底是什么。你查一下,会得到很抽象的理论解释:高功率的拼字游戏,数学和代码墙。 你只是想知道什么是机器学习,为什么它很重要,以及它是如何工作的。...计算机视觉问题,就像识别物体一样,是非常复杂的。但我们的大脑几乎凭直觉就能解决它们。所以,我们很难提出明确的规则。 进入机器学习 我们并没有建立一个识别狗的系统。我们建立了一个可以学会识别狗的系统。...这个系统可以预测该弹簧的情况。但如果没有我们编写新的代码,它就不能预测其他的弹簧。相反,如果我们教这个程序来执行线性回归并学习模型,那就是机器学习。我们不提供模型。我们让机器学习模型。...在经历了数千次甚至上百万次的循环之后,我们可以获得比任何人类都更好的系统。 各种各样的应用程序,以及解决它们所需的技术,是机器学习与其他许多领域的交叉的原因。
总而言之,我们研究了训练脚本,并专门命名了模型推理所需的输入和输出层。请记住,我们正在使用的MNIST脚本同时进行训练和推理。了解训练和推理层之间的区别很重要。...由于我们希望准备好的模型仅用于移动平台上的推断(在MNIST数据的情况下预测手写数字),因此我们只需要预测所需的图层。请记住,我们正在使用的MNIST脚本既有训练又有预测。...得到的经验: Tensorboard是你的朋友。用它在每一步评估图形,识别不支持的图层,并找出输入和输出形状。...TensorFlow格式 - 理解每种工具和操作如何生成不同的文件格式。如果能自动获取SavedGraph并将其转换(缩减中间的一堆步骤)会很棒,但我们还没有做到。...尽管令人兴奋,但并没有太多的例子或文档。如果您希望获得先机,可以深入实际的TensorFlow代码库。
这种新编程方式的核心是提供一大堆样例作为输入,以及你期望什么样的输出。这不要求程序员具备传统编程工作所需的技术能力,却需要对于问题领域的深入了解。...Andrej的博客专注于语音识别等领域,但我想说的是,软件2.0带来的影响将遍布更多领域。...我所看到的是,因为越来越多的软件堆栈被单个深度学习模型整体替代,“技术债”的问题也开始得到解决。跟断裂点进行类比,这就像将你的所有债务都合并为一笔费用更低的贷款。...我知道这听起来就像是又一篇深度学习忽悠文,如果我不是每天都看见这样的历史进程正在发生,也会觉得这很难接受,但这是真的。...随着知识在开发者圈子里的扩散,这将会是一个长长的缓慢上升过程,但我预测,10年之内,大多数软件工作都不会再涉及编程。 就像Andrej明确指出的:深度学习比你强!
“与其他常见工作流体(如含氯氟烃的制冷剂,氨等)相比,sCO2实际上具有零臭氧消耗潜力,并且几乎没有全球升温潜能或影响,”Pandey说。...该团队使用入口温度和压力,热通量,管道直径和流体的热能作为输入,并产生管道壁温和壁面剪切应力作为输出。...在团队对协议充满信心后,他们使用这些数据开始创建一个更具商业用途的工具。使用团队最近工作的输出作为指导,该团队能够使用其DNN在标准笔记本电脑上以5.4毫秒的新数据模拟操作条件的热能。...研究人员正在与斯图加特大学空气动力学和气体动力学研究所(IAG)的团队合作,使用其FLEXI代码,该代码可提供更高的精度,并可适应更广泛的条件。...“IKE的研究人员正在进行实验和数值模拟,作为数值团队的一部分,我们正在寻找传热不良的答案。我们研究流体流动和湍流背后的物理学,但我们的最终目标是开发一个更简单的模型。”
示 例 为了更具体地演示您在使用kubectl时可能参与的工作流程,我们将在这一部分介绍将容器部署到集群的快速方案,并将其部署到非默认命名空间中。...您可以通过列出当前部署的pod来检查部署是否成功: ? 在这里,我们可以看到Nginx部署正常运行。READY那一列显示容器已就绪,状态是“正在运行”,没有出现故障。...虽然我们已经验证了pod正在运行,但我们还没有得到关于它部署到了哪个命名空间的信息。但是,我们可以通过添加--all-namespaces标志来稍微改变输出: ?...在这里,我们看到Nginx pod已正确部署到我们的rancher命名空间而不是通常的default命名空间。 这表明我们的上下文操作和我们的部署都按预期工作了。...你还可以通过键入以下内容来清理已部署的资源: ? ? 其他参考信息 虽然本章中深入讨论这些内容可能超出了本文原意的范围,但我们还是为大家列出了一些非常有用的命令。 Pod ? 资源删除 ? 服务 ?
比如我们会试验从未用过的新型 API,来理解其运作原理;我们探索正在开发的算法的行为,以查看其处理不同数据类型的方式;我们探索不同的输入组合,来调试代码…… nbdev:探索式编程 我们认为探索流程是有价值的...事实上,它不仅没有影响生产效率,我还使用它构建出了之前无法构建的东西。它帮助我在试验算法后立即得到视觉化反馈。...很多学生发现它具备试验输入、查看中间结果和输出的能力,且允许修改,从而帮助他们更完备、深刻地理解正在讨论的主题。 我们还使用 Jupyter Notebook 写了一本书,这是一件很有趣的事。...例如,它没有提供执行以下操作的方式: 创建模块化可重用代码,这些代码可在 Jupyter 外部运行; 创建可搜索超链接文档; 测试代码(包括通过持续集成实现的自动化代码测试); 代码导航; 版本控制。...因此,开发者通常需要在未得到良好集成的工具间转换,以获取这些工具的优势,而在工具间来回转换会导致冲突。不同工具的优势如下所示: ? 我们认为处理这些冲突的最好方法是,利用现有的好用工具构建所需的功能。
这类似于 Devin,一个编程的人工智能代理,其 发布公告 几个月前在网络上广为流传,据报道正在寻求新的融资,估值达到 $20 亿。我还没有得到那个(向 Devin 愤怒地挥动拳头!)...从某种意义上说,我在问我的裤子:“你是否装有我出门购买咖啡、确保我不会被锁在外面所需的所有必需品?” 根据他们的回答,——请耐心等待——我知道每个项目是存在还是缺失的。...我认为这是因为 ChatGPT 和 Claude 都只输出了我需要更改的小代码片段。相比之下,CW 重写了整个文件,这花费了更多时间。 正面看,我发现 CW 生成的代码质量更高。...当它开始编码时,我注意到它编写的代码中存在一些问题。它是根据它制定的计划编写代码的,但只有当我看到最终代码时,我才注意到计划中存在的问题。 我通常与 ChatGPT 没有这种经历。...我们正在一步一步地共同建立功能的共享模型 - 因此我们都清楚最终它应该是什么样子。 第二,我经常在 ChatGPT,我的代码编辑器和我正在构建的任何应用程序的本地版本之间进行快速反馈循环。
我的正面体验可能与 USB-C 的一些更新有关,它在 2018 年得到一些所需的关注,因此才能与其他操作系统的体验相媲美。...DisplayPort 替代模式支持 4K 甚至 8Kx4K 的视频输出,包括多声道音频。...所幸的是,多亏英特尔,这种情况正在改变。” 而在端口之外,快速浏览一下 笔记本电脑 Linux 的硬件选择,列出了比我 2000 年代初期所经历的更加完整的选择集。...也就是说,这些便利是被生态系统所困的代价。 我喜欢了解设备的工作方式。我希望能够解释使我的系统变得有趣或容易使用的环境配置,但我也想看看增加一些麻烦对我的观点有什么影响。...技术的使用是如此的方便,以至于我不再对它的工作原理感到好奇,而 Linux 使我有机会再次有了新的眼光。 受你的启发 以上所有内容足以成为探索 Linux 的理由,但我也受到了你的启发。
对所有这些问题都没有正确的答案,但我认为有一件事可以帮助很多人:首先从用户角度出发! 这是什么意思?...正如你所看到的,没有明确提供这种外部依赖; 那是因为我想把它作为一个“隐含”价值。这是一种帮助创建可测试代码的方法,但我强烈建议不要使用它,因为它会使代码难以阅读,特别是对于那些新的Scala。...如果你很幸运,你应该得到这样的输出: 我已经使用IntelliJ IDEA CE来执行测试,但是您可以直接使用这些命令来使用sbt: sbt test:它执行扩展了FunSpec和WordSpec的所有测试...,Pact文件的来源target/pacts在我们的例子中定义(但可以是共享位置或Pact Broker),设置执行所需的数据或环境所需的最终代码所有交互,然后是服务器正在侦听请求的主机和端口。...执行测试,我们应该得到一个pass和一个这样的输出: 如果你不能执行,请确保在其中包含协议文件。
由于不是 Sun 公司的员工,我对其内部项目一无所知。当时我住在澳大利亚悉尼,正在为 Sun 公司进行培训和咨询工作,帮助他们的客户提升系统管理和性能方面的工作。...我在 2004 年尝试过这个(socketsnoop.d)并将其作为开源项目发布,但我当时写的工具不完整:它没有访问内核源代码的权限,所以不得不使用黑盒分析来解决所有问题;它适用于大多数 TCP 流量类型...他没有说太多,也许并不知道发生了什么,只是从其他人那里得到了已更改版权的工具,意思是「这不怪他」,并且他似乎对我们说的话半信半疑。 会议很快结束了。...可能有人会说,这不是 Sun 公司的本意,而是个别粗心大意的工作人员的所作所为,但我认为这可能是受到了 Sun 企业文化的影响。...,因为我博士阶段的研究涉及到这个话题,所以我询问了苹果相关研究团队的成员,几个月后我得到回复:「我们正在使用一个名为 bsdiff 的工具,你熟悉它吗?」
领取专属 10元无门槛券
手把手带您无忧上云