首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++核心准则SF.1:如果你项目没有正在遵从其他习惯,为代码文件使用.cpp后缀,为接口文件使用.h后缀

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)。

58310

40岁从零开始学习软件开发,四年后我成了首席研发

我发布应用让我获得了一家成长中移动开发公司面试机会,这对我来说非常宝贵。 我知道自己没有资格胜任高级开发人员,所以只要能够得到工作和学习机会就行,能够得到任何职位都可以。...我并没有就此罢休,我询问他们是否愿意考虑让我作为实习生加入,我甚至愿意不计报酬地工作和学习,以获得提高自己技能机会。 最后我得到了一个机会,但不是实习生,而是一个移动应用 QA 测试员职位。...我去做测试工作可能不会去写代码但我可以和专家们打成一片,向他们学习。更棒是,我在做测试时还能拿到报酬。这比做一个没有报酬实习生要好得多。...我必须提高自己开发技能,并在机会出现时已做好准备。 作为一名 QA 测试员,我每天必须工作 8 小时。我很羡慕那些做开发的人,他们可以边工作边学习。边工作边学习是最好但我没有这种机会。...我又回到了没有太多时间在工作中写代码和学习阶段,但我仍然很喜欢我工作,因为它仍然是相对技术性,只是技术水平更高了。 要做出合理高层次技术决策必须有扎实底层技术理解。

63730
您找到你想要的搜索结果了吗?
是的
没有找到

一个现代静态网站生成器Eleventy

和英国电信公司工作,还是一位顾问,帮助团队以更敏捷方式工作。他写了一本关于 UI 设计书,并一直在撰写技术文章......Eleventy 使用两个有用概念来实现这一点。 模板语言允许你在你目标输出语言(网站 HTML)中插入代码指令。通常我们需要区分“这是代码,不要动它”行和“将这个结果放在屏幕上”行。...尽管是空白,因为用户名不存在。但我可以分配一个: <!...与变量 title 不同,变量 content 是 Eleventy 正在追踪一个特殊变量。它理解在使用布局时,任何页面内容都放在这个位置。...如果我们清理 _site 目录(旧页面将保留)并忽略庞大 node-modules 目录,你应该有这个: 由于没有打开 index.html,什么都不会提供。我们只有旧 README。

10510

使用 LLM 进行测试驱动开发:永不相信,始终验证

为了这个练习,我从一个详细提示开始,其中包含样本数据,指定要在数据中识别的模式,并提供可以在测试中使用样本输出,这些测试将证明脚本工作符合预期。...我不确定我们为什么甚至期望 LLM 将详细规范作为输入,并在一次操作中生成整个程序作为输出。人类程序员不会这样工作。即使 LLM 可以,我们会想要它们这样做吗?...到目前为止,我还没有成功地试图用 Cody 和 Copilot 来模拟这种效果。我可以要求它们编写一个通过测试函数,给它们通过测试,并将测试失败反馈给它们,但用这种方法我还没有得到一个成功结果。...调整后正则表达式模式正确地从变更日志中提取了所需信息,测试验证了这种提取是准确。 Jon:你声称它通过了测试,但实际上它没有。你为什么说它通过了?...这种情况发生了几次,我从未得到一个满意回答,只好捕获 LLM 建议代码更改,将其放入我代码副本中,并自己运行测试。这并不是一个大问题。

11210

吴恩达最新演讲-AI新机遇!

32:29 虽然人工智能带来了工作中断风险,但我们有责任确保受影响个人在这些变化期间得到良好照顾、公平对待和支持。...通过给定一个文本片段,称之为提示(prompt),比如“我喜欢吃”,你可以多次运行模型,可能会得到“百吉饼奶酪”、“我妈妈肉loaf”或者“超级朋友”等输出。人工智能系统可以生成这样输出。...这开始打开了大量可以由许多人构建的人工智能应用大门。我认为很多人仍然低估了即将出现定制人工智能应用数量。我知道你可能没有预料到我在这个演示中会编写代码但我要做就是编写代码。...然后我运行这个代码,我之前从未运行过,所以我真的不知道,希望,哦,谢天谢地,我们得到了正确答案,这实际上就是构建情感分类器所需所有代码。...但我希望你从这张图中得到一个印象,那就是所有这些技术都是通用技术。在监督学习情况下,过去十年需要做很多工作,但在未来十年仍将继续,是确定和执行具体用例,这个过程也正在开始应用于生成式人工智能。

42110

终于可以放心使用langchain了

现在,这些更改可以在独立集成包中得到适当版本反映。 #03 可观测性 构建 LLM 应用时,系统核心将会是一个非确定性组件。...LangSmith 一个核心优势是为你 LLM 应用提供一流调试体验。我们详细记录了正在执行每个步骤、每个步骤输入、输出所需时间等数据。...在有替代构造函数存在且经过使用和充分测试之前,我们不会弃用遗留版本链条。 #05 流式处理 LLM 有时反应较慢。向最终用户展示正在进行工作,而不是让他们盯着空白屏幕,十分重要。...所有用 LCEL 构建链条均提供标准 stream 和 astream 方法,我们还做了大量工作,确保流处理不仅限于 LLM 调用阶段(比如在输出解析器中也实现了流处理)。...重要是,尽管 LangChain 提供了构建高级检索系统所需一切组件,但我们并不限制使用方式。

1K10

dnspeep:监控 DNS 查询工具

在过去几天中,我编写了一个叫作 dnspeep 小工具,它能让你看到你电脑中正进行 DNS 查询,并且还能看得到其响应。它现在只有 250 行 Rust 代码。...如果你不想在超级用户下运行下载二进制文件,你也能在 https://github.com/jvns/dnspeep 查看源码并且自行编译。 输出结果是什么样 以下是输出结果。...实际上,我一个朋友用这个工具发现,他电脑上安装了一些以前工作企业监控软件,但他忘记了卸载,因此你甚至可能发现一些你想要删除东西。...但我仍然不太了解如何在 Rust 中正确做到这一点作,但我通过将 libpcap.a 文件复制到 target/release/deps 目录下,然后直接运行 cargo build,使其得以工作。...该程序没有一件事就是告诉你哪个进程进行了 DNS 查询,我发现有一个名为 dnssnoop 工具可以做到这一点。它使用 eBPF,看上去很酷,但我没有尝试过。

3K10

【指南】非技术人员机器学习指南:如何轻松地进入机器学习

世界末日 首先,我们听说机器人正在做蓝领工作。 然后,我们发现白领工作也不安全。 在我们恐慌我们将要失业,我们发现这些机器人正在背后议论我们。 可能是关于我们这些懒惰失业人员流言蜚语。...机器学习在许多不同环境中都被讨论过,很难理解它到底是什么。你查一下,会得到很抽象理论解释:高功率拼字游戏,数学和代码墙。 你只是想知道什么是机器学习,为什么它很重要,以及它是如何工作。...计算机视觉问题,就像识别物体一样,是非常复杂但我大脑几乎凭直觉就能解决它们。所以,我们很难提出明确规则。 进入机器学习 我们并没有建立一个识别狗系统。我们建立了一个可以学会识别狗系统。...这个系统可以预测该弹簧情况。但如果没有我们编写新代码,它就不能预测其他弹簧。相反,如果我们教这个程序来执行线性回归并学习模型,那就是机器学习。我们不提供模型。我们让机器学习模型。...在经历了数千次甚至上百万次循环之后,我们可以获得比任何人类都更好系统。 各种各样应用程序,以及解决它们所需技术,是机器学习与其他许多领域交叉原因。

86160

如何将自己开发模型转换为TensorFlow Lite可用模型

总而言之,我们研究了训练脚本,并专门命名了模型推理所需输入和输出层。请记住,我们正在使用MNIST脚本同时进行训练和推理。了解训练和推理层之间区别很重要。...由于我们希望准备好模型仅用于移动平台上推断(在MNIST数据情况下预测手写数字),因此我们只需要预测所需图层。请记住,我们正在使用MNIST脚本既有训练又有预测。...得到经验: Tensorboard是你朋友。用它在每一步评估图形,识别不支持图层,并找出输入和输出形状。...TensorFlow格式 - 理解每种工具和操作如何生成不同文件格式。如果能自动获取SavedGraph并将其转换(缩减中间一堆步骤)会很棒,但我们还没有做到。...尽管令人兴奋,但并没有太多例子或文档。如果您希望获得先机,可以深入实际TensorFlow代码库。

2.9K41

深度学习蚕食软件,十年内大部分软件工作不再涉及编程

这种新编程方式核心是提供一大堆样例作为输入,以及你期望什么样输出。这不要求程序员具备传统编程工作所需技术能力,却需要对于问题领域深入了解。...Andrej博客专注于语音识别等领域,但我想说是,软件2.0带来影响将遍布更多领域。...我所看到是,因为越来越多软件堆栈被单个深度学习模型整体替代,“技术债”问题也开始得到解决。跟断裂点进行类比,这就像将你所有债务都合并为一笔费用更低贷款。...我知道这听起来就像是又一篇深度学习忽悠文,如果我不是每天都看见这样历史进程正在发生,也会觉得这很难接受,但这是真的。...随着知识在开发者圈子里扩散,这将会是一个长长缓慢上升过程,但我预测,10年之内,大多数软件工作都不会再涉及编程。 就像Andrej明确指出:深度学习比你强!

57480

超级计算模拟和机器学习:使用更加清洁高效工作流体发电

“与其他常见工作流体(如含氯氟烃制冷剂,氨等)相比,sCO2实际上具有零臭氧消耗潜力,并且几乎没有全球升温潜能或影响,”Pandey说。...该团队使用入口温度和压力,热通量,管道直径和流体热能作为输入,并产生管道壁温和壁面剪切应力作为输出。...在团队对协议充满信心后,他们使用这些数据开始创建一个更具商业用途工具。使用团队最近工作输出作为指导,该团队能够使用其DNN在标准笔记本电脑上以5.4毫秒新数据模拟操作条件热能。...研究人员正在与斯图加特大学空气动力学和气体动力学研究所(IAG)团队合作,使用其FLEXI代码,该代码可提供更高精度,并可适应更广泛条件。...“IKE研究人员正在进行实验和数值模拟,作为数值团队一部分,我们正在寻找传热不良答案。我们研究流体流动和湍流背后物理学,但我最终目标是开发一个更简单模型。”

60220

使用Kubectl管理Kubernetes全解教程

示 例 为了更具体地演示您在使用kubectl时可能参与工作流程,我们将在这一部分介绍将容器部署到集群快速方案,并将其部署到非默认命名空间中。...您可以通过列出当前部署pod来检查部署是否成功: ? 在这里,我们可以看到Nginx部署正常运行。READY那一列显示容器已就绪,状态是“正在运行”,没有出现故障。...虽然我们已经验证了pod正在运行,但我们还没有得到关于它部署到了哪个命名空间信息。但是,我们可以通过添加--all-namespaces标志来稍微改变输出: ?...在这里,我们看到Nginx pod已正确部署到我们rancher命名空间而不是通常default命名空间。 这表明我们上下文操作和我们部署都按预期工作了。...你还可以通过键入以下内容来清理已部署资源: ? ? 其他参考信息 虽然本章中深入讨论这些内容可能超出了本文原意范围,但我们还是为大家列出了一些非常有用命令。 Pod ? 资源删除 ? 服务 ?

1.6K20

青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook新型编程环境

比如我们会试验从未用过新型 API,来理解其运作原理;我们探索正在开发算法行为,以查看其处理不同数据类型方式;我们探索不同输入组合,来调试代码…… nbdev:探索式编程 我们认为探索流程是有价值...事实上,它不仅没有影响生产效率,我还使用它构建出了之前无法构建东西。它帮助我在试验算法后立即得到视觉化反馈。...很多学生发现它具备试验输入、查看中间结果和输出能力,且允许修改,从而帮助他们更完备、深刻地理解正在讨论主题。 我们还使用 Jupyter Notebook 写了一本书,这是一件很有趣事。...例如,它没有提供执行以下操作方式: 创建模块化可重用代码,这些代码可在 Jupyter 外部运行; 创建可搜索超链接文档; 测试代码(包括通过持续集成实现自动化代码测试); 代码导航; 版本控制。...因此,开发者通常需要在未得到良好集成工具间转换,以获取这些工具优势,而在工具间来回转换会导致冲突。不同工具优势如下所示: ? 我们认为处理这些冲突最好方法是,利用现有的好用工具构建所需功能。

82320

青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook新型编程环境

比如我们会试验从未用过新型 API,来理解其运作原理;我们探索正在开发算法行为,以查看其处理不同数据类型方式;我们探索不同输入组合,来调试代码…… nbdev:探索式编程 我们认为探索流程是有价值...事实上,它不仅没有影响生产效率,我还使用它构建出了之前无法构建东西。它帮助我在试验算法后立即得到视觉化反馈。...很多学生发现它具备试验输入、查看中间结果和输出能力,且允许修改,从而帮助他们更完备、深刻地理解正在讨论主题。 我们还使用 Jupyter Notebook 写了一本书,这是一件很有趣事。...例如,它没有提供执行以下操作方式: 创建模块化可重用代码,这些代码可在 Jupyter 外部运行; 创建可搜索超链接文档; 测试代码(包括通过持续集成实现自动化代码测试); 代码导航; 版本控制。...因此,开发者通常需要在未得到良好集成工具间转换,以获取这些工具优势,而在工具间来回转换会导致冲突。不同工具优势如下所示: ? 我们认为处理这些冲突最好方法是,利用现有的好用工具构建所需功能。

97610

青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook新型编程环境

比如我们会试验从未用过新型 API,来理解其运作原理;我们探索正在开发算法行为,以查看其处理不同数据类型方式;我们探索不同输入组合,来调试代码…… nbdev:探索式编程 我们认为探索流程是有价值...事实上,它不仅没有影响生产效率,我还使用它构建出了之前无法构建东西。它帮助我在试验算法后立即得到视觉化反馈。...很多学生发现它具备试验输入、查看中间结果和输出能力,且允许修改,从而帮助他们更完备、深刻地理解正在讨论主题。 我们还使用 Jupyter Notebook 写了一本书,这是一件很有趣事。...例如,它没有提供执行以下操作方式: 创建模块化可重用代码,这些代码可在 Jupyter 外部运行; 创建可搜索超链接文档; 测试代码(包括通过持续集成实现自动化代码测试); 代码导航; 版本控制。...因此,开发者通常需要在未得到良好集成工具间转换,以获取这些工具优势,而在工具间来回转换会导致冲突。不同工具优势如下所示: ? 我们认为处理这些冲突最好方法是,利用现有的好用工具构建所需功能。

74930

【译】下一个大型编程语言是英语(自然语言)

这类似于 Devin,一个编程的人工智能代理,其 发布公告 几个月前在网络上广为流传,据报道正在寻求新融资,估值达到 $20 亿。我还没有得到那个(向 Devin 愤怒地挥动拳头!)...从某种意义上说,我在问我裤子:“你是否装有我出门购买咖啡、确保我不会被锁在外面所需所有必需品?” 根据他们回答,——请耐心等待——我知道每个项目是存在还是缺失。...我认为这是因为 ChatGPT 和 Claude 都只输出了我需要更改代码片段。相比之下,CW 重写了整个文件,这花费了更多时间。 正面看,我发现 CW 生成代码质量更高。...当它开始编码时,我注意到它编写代码中存在一些问题。它是根据它制定计划编写代码,但只有当我看到最终代码时,我才注意到计划中存在问题。 我通常与 ChatGPT 没有这种经历。...我们正在一步一步地共同建立功能共享模型 - 因此我们都清楚最终它应该是什么样子。 第二,我经常在 ChatGPT,我代码编辑器和我正在构建任何应用程序本地版本之间进行快速反馈循环。

7510

为什么我从 Mac 换到了 Linux

正面体验可能与 USB-C 一些更新有关,它在 2018 年得到一些所需关注,因此才能与其他操作系统体验相媲美。...DisplayPort 替代模式支持 4K 甚至 8Kx4K 视频输出,包括多声道音频。...所幸是,多亏英特尔,这种情况正在改变。” 而在端口之外,快速浏览一下 笔记本电脑 Linux 硬件选择,列出了比我 2000 年代初期所经历更加完整选择集。...也就是说,这些便利是被生态系统所困代价。 我喜欢了解设备工作方式。我希望能够解释使我系统变得有趣或容易使用环境配置,但我也想看看增加一些麻烦对我观点有什么影响。...技术使用是如此方便,以至于我不再对它工作原理感到好奇,而 Linux 使我有机会再次有了新眼光。 受你启发 以上所有内容足以成为探索 Linux 理由,但我也受到了你启发。

1K30

中国DevOps社区经典重温:持续集成(上篇)

因为总有万一,我可能会遗漏了我机器上东西,存储库没有得到适当更新。只有当我提交更改在集成服务器上成功构建时,我工作才能完成。这个集成构建可以由我手动执行,也可以由Cruise自动完成。...(译者注:本文写于2006年,时至今日,Git更为流行) 一旦你得到一个源代码管理系统,确保它位于众所周知地方,每个人都去获取源代码没有人会问“foo-whiffle文件在哪里?”...尽管许多团队都会使用存储库,但我发现一个常见错误是,他们没有将所有内容都放在存储库中。...一般来说,你应该在源代码管理中存储构建所需所有内容,但不存储实际构建出内容。...正如人们常说那样:测试并不能证明没有缺陷。虽然你从自动化测试构建中得到反馈并不一定是完美的,经常运行不完美的测试也比根本不写完美测试要好得多。

85830

开源项目被科技巨头拿去做产品了,只不过注释中删掉了我名字

由于不是 Sun 公司员工,我对其内部项目一无所知。当时我住在澳大利亚悉尼,正在为 Sun 公司进行培训和咨询工作,帮助他们客户提升系统管理和性能方面的工作。...我在 2004 年尝试过这个(socketsnoop.d)并将其作为开源项目发布,但我当时写工具不完整:它没有访问内核源代码权限,所以不得不使用黑盒分析来解决所有问题;它适用于大多数 TCP 流量类型...他没有说太多,也许并不知道发生了什么,只是从其他人那里得到了已更改版权工具,意思是「这不怪他」,并且他似乎对我们说的话半信半疑。 会议很快结束了。...可能有人会说,这不是 Sun 公司本意,而是个别粗心大意工作人员所作所为,但我认为这可能是受到了 Sun 企业文化影响。...,因为我博士阶段研究涉及到这个话题,所以我询问了苹果相关研究团队成员,几个月后我得到回复:「我们正在使用一个名为 bsdiff 工具,你熟悉它吗?」

32120

【翻译】使用Akka HTTP构建微服务:CDC方法

对所有这些问题都没有正确答案,但我认为有一件事可以帮助很多人:首先从用户角度出发! 这是什么意思?...正如你所看到没有明确提供这种外部依赖; 那是因为我想把它作为一个“隐含”价值。这是一种帮助创建可测试代码方法,但我强烈建议不要使用它,因为它会使代码难以阅读,特别是对于那些新Scala。...如果你很幸运,你应该得到这样输出: 我已经使用IntelliJ IDEA CE来执行测试,但是您可以直接使用这些命令来使用sbt: sbt test:它执行扩展了FunSpec和WordSpec所有测试...,Pact文件来源target/pacts在我们例子中定义(但可以是共享位置或Pact Broker),设置执行所需数据或环境所需最终代码所有交互,然后是服务器正在侦听请求主机和端口。...执行测试,我们应该得到一个pass和一个这样输出: 如果你不能执行,请确保在其中包含协议文件。

2K30
领券