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

编码中学习:LLM 如何隐性教导你

希望能够从规范中学习协议,通过阅读文档熟悉应用程序,并通过结构课程吸收编码技巧,但在深入某个项目,专注于一个明确目标,并能在调试器中运行实时代码之前,这些东西对来说还不够生动。...但我怀疑不是唯一这样操作学习者。在任务上有了一些进展之后,我会参阅文档丰富理解但我很少想从那里开始。仅用文档来回答已知问题已经够艰难了,用它们来回答你没有想到问题就更艰难了。...如果不理解它是什么,我会不舒服地使用它,但没有必要:不仅得到了代码,还能要求并接收解释。 (?!\s*-):这是否定前瞻断言。它检查下一行是否不是以可选空格后跟破折号(-)开头。...非本地变量 当我要求 ChatGPT 重构一个变得太复杂函数,并在此过程中使用嵌套函数时,介绍了另一种从未遇到过惯用法。...但在这里到了 nearest-enclosing-scope-that-is-not-global 变量概念

10810

来来来,咱们元编程入个门

一个语言能否有足够强大 metaprogramming 能力,取决于它多大程度将 自身语法树暴露给程序员。语法数暴露给程序员,意味着程序员可以像操作数据一样操作语法树,做出符合其希望变换。...在给出具体例子之前,为了加深你理解困难,我们再看看 wikipedia 是怎么定义 lisp 里面这几个概念: 先看 quote: Any expression can also be marked...下面是 elixir 写一个最简单例子(先别管语法),这个例子定义了 unless,使用过 ruby 同学应该对此不陌生。...(注:以上返回值为了清晰起见,把 AST metadata 删除了) 从这里面,我们可以清晰地看到,macro 输入是两个 AST:1 == 2 AST,和 3 + 4 AST。...一不小心写了这么长,作为 metaprogramming 概念入门,应该是够了。我们现在应该理解了 AST,syntax quote / unquote,和 macro 基本概念和作用。

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

    HTML5设计原理(中)

    也就是说,之所以要在文档一开头写那行XHTML 1.0doctype,是为了告诉验证器,让验证器按照该doctype验证文档。 浏览器反倒无所谓了。...这就是浏览器在解释那行字符串时真正看到内容。它必须看到这些内容,根据就是伯斯塔尔法则,对不对? 多次提到健壮性原理,但总有人不理解。...觉得语言本身应该提供一种开关,让作者能够表明自己想做什么。”比如说,想使用某种特定语法,像XHTML,而不是使用其他语法。理解这些人想法。但我不赞成在语言里设置开关。...文档中可能会包含一个分区,这个分区中可能会嵌套一个分区,或者一篇文章,然后文章再嵌套分区,分区再嵌套文章、嵌套分区,文章再嵌套文章。而且每个分区和文章都可以拥有自己H1到H6。...他在邮件中解释了对HTML理解,他说:“你知道……知道想法,认为H1、H2这样单调地排下去不好,希望它成为一种可以嵌套元素,或者说一个通用H元素,我们可以在其中嵌套不同层次。”

    1.6K10

    【Web技术】314- 前端组件设计原则

    虽然在两种不同前端框架之间进行切换确实需要学习很多,但是二者之间在很多基础概念、设计思路上是相通。其中之一就是组件设计,包括组件层次结构设计以及组件各自职责划分。...认为最好方法是给每个概念一个简洁精炼名字,然后逐一解释每个概念是什么以及为什么重要,对于比较抽象概念会举一些例子来帮助理解。...但是它们并不复杂,只是想通过这些例子来帮助更好理解概念。 层次结构和类图 应用内组件共同形成组件树, 而在设计过程中将组件树可视化展示可以帮助你全面了解应用程序布局。...而这些类图以下优点可以帮助你有效规避以上问题,优点如下: 一个易于理解组件组成和关联视图 一个易于理解应用程序 UI 层次结构概述 一个结构数据层次及其流动方式视图 一个组件功能职责快照...最后,提到了这一点,因为如果我们过分关注优势,就很容易忘记达成目标所需要做努力,所以在做出决定以前需要权衡这两个方面。

    1.3K40

    前端组件设计原则

    虽然在两种不同前端框架之间进行切换确实需要学习很多,但是二者之间在很多基础概念、设计思路上是相通。其中之一就是组件设计,包括组件层次结构设计以及组件各自职责划分。...认为最好方法是给每个概念一个简洁精炼名字,然后逐一解释每个概念是什么以及为什么重要,对于比较抽象概念会举一些例子来帮助理解。...但是它们并不复杂,只是想通过这些例子来帮助更好理解概念。 层次结构和类图 应用内组件共同形成组件树, 而在设计过程中将组件树可视化展示可以帮助你全面了解应用程序布局。...而这些类图以下优点可以帮助你有效规避以上问题,优点如下: 一个易于理解组件组成和关联视图 一个易于理解应用程序 UI 层次结构概述 一个结构数据层次及其流动方式视图 一个组件功能职责快照...最后,提到了这一点,因为如果我们过分关注优势,就很容易忘记达成目标所需要做努力,所以在做出决定以前需要权衡这两个方面。

    1K20

    前端组件设计原则

    虽然在两种不同前端框架之间进行切换确实需要学习很多,但是二者之间在很多基础概念、设计思路上是相通。其中之一就是组件设计,包括组件层次结构设计以及组件各自职责划分。...认为最好方法是给每个概念一个简洁精炼名字,然后逐一解释每个概念是什么以及为什么重要,对于比较抽象概念会举一些例子来帮助理解。...但是它们并不复杂,只是想通过这些例子来帮助更好理解概念。 层次结构和类图 应用内组件共同形成组件树, 而在设计过程中将组件树可视化展示可以帮助你全面了解应用程序布局。...而这些类图以下优点可以帮助你有效规避以上问题,优点如下: 一个易于理解组件组成和关联视图 一个易于理解应用程序 UI 层次结构概述 一个结构数据层次及其流动方式视图 一个组件功能职责快照...最后,提到了这一点,因为如果我们过分关注优势,就很容易忘记达成目标所需要做努力,所以在做出决定以前需要权衡这两个方面。

    1.7K20

    前端组件设计原则

    虽然在两种不同前端框架之间进行切换确实需要学习很多,但是二者之间在很多基础概念、设计思路上是相通。其中之一就是组件设计,包括组件层次结构设计以及组件各自职责划分。...认为最好方法是给每个概念一个简洁精炼名字,然后逐一解释每个概念是什么以及为什么重要,对于比较抽象概念会举一些例子来帮助理解。...但是它们并不复杂,只是想通过这些例子来帮助更好理解概念。 层次结构和类图 应用内组件共同形成组件树, 而在设计过程中将组件树可视化展示可以帮助你全面了解应用程序布局。...而这些类图以下优点可以帮助你有效规避以上问题,优点如下: 一个易于理解组件组成和关联视图 一个易于理解应用程序 UI 层次结构概述 一个结构数据层次及其流动方式视图 一个组件功能职责快照...最后,提到了这一点,因为如果我们过分关注优势,就很容易忘记达成目标所需要做努力,所以在做出决定以前需要权衡这两个方面。

    2.3K30

    【C语言总集篇】函数篇——从不会到会过程

    相比于其它代码,它是相对独立,这里理解需要使用它时候,它才能起作用,不需要使用它时候,它也能存在于咱们代码里这里举个例子来证明一下: 大家可以看到,在这个代码中,我们编写了一个求两数之和函数...下面举例子说明strcpy在结构体中应用: 这里我们可以看到,我们定义结构体struct book中成员name是一个字符数组,我们在第一次使用时,数组中元素是“5元如何用7天”这个字符串,如果我们需要修改这个里面的内容的话...下面我们通过实例理解自定义函数; 3.自定义函数实例理解 为了更好理解自定义函数,下面我们借助之前做过题目找出两个整数最大值来说明自定义函数各个组成部分及其作用; (1)写一个函数可以找出两个整数中最大值...嵌套调用 理解嵌套调用理解就是在函数体内调用其它函数。...可能不太好理解,怎么我们在将函数,你这里又是函数嵌套又是函数递归,现在又说迭代,咋又提到了循环呢?没关系,下面我们通过题目进一步理解: 求n! 这一题大家还有印象吗?还记不记得我们在哪里提到过?

    26211

    《代码整洁之道》读书小结

    每当写了很多业务代码之后,都会停下来反思一个问题,你代码写干净么,有需要重构地方么。...而给类命名则正好相反,再举个栗子: AddressManager.php MacAddress.php 上下两个类名,这里有点争议,其实在不同语境里两个似乎都可以完成可读性使命,但是假设一个程序...虽然上面反复提及了名字简短,但是只有很少比例命名能又短又明确阐述命名意义,所以如果是为了增加可读性,长命名也不是完全不可取,虽然很多人黑Objective-C命名是又臭又长,但是这种命名带来便利就是你扫一眼便知道函数要完成目的...这次手环模块,因为有很多蓝牙连接状态判断,写了很多Swich ifelse等判断,而ifelse因为业务逻辑复杂,还在初次编写时候夹杂了很多嵌套,所以需要重构地方还是很多。...而提到了维护,那么测试又不能不提,很可惜,还没有看全测试,平时工作中因为很多是移动端编码,view层占比重很大,有时候疏于测试,好好理解,好好实践,再来写下一篇心得吧。

    63830

    计算机领域三个重要思想:抽象,分层和高阶

    ,并且有单位元)并没有帮助我更好地理解程序意义和结构。...于是开始思考,**偏向工业程序员们应该如何对待抽象概念(尤其是从数学界借用)?**学习这些抽象概念到底能不能(以及如何能)提升一般程序员、或者是计算机产业界对代码理解和认识?...一个程序员应该以(且只以)使用或编写了技术上更佳东西为荣,而不是数学上更佳东西。 所以这就是疑问,而我急切地期待着您回复。...Others will, naturally, vehemently disagree. :-) 这些都是很好问题,但我无法回答,因为很容易就会走上 “学习理解某件事情意味着什么” 道路,而这是一个意识问题...我们这个 “高阶过程” 得到残差程序其实是一个编译器,而我们这个 “高阶过程” 所做,正是在生成编译器,即,这一过程其实是编译器编译器——如此,我们终于见到了本节概述中提到 A A 这样结构

    28910

    高效学习:源头、原理和知识地图-左耳朵耗子

    如果你能在社区里跟社区里大牛交流得到答案,那么你算是领先于这个时代了。 所以,认为你信息源要有下面几个特质。 应该是第一手资料,不是被别人理解过、消化过二手资料。...觉得,只要有时间,极客时间上所有专栏都不用写了一个人就 OK 了。 可以写得又快又好,而且超出所有的人。那我可以挣到很多钱。...但我想通过这些简单链接方式,为读者打开一个全新世界,他们可以在这个世界中自己找食吃,而不需要依赖,这才是想给大家带来东西。...当学习算法和数据结构到一定程度时候,你就会知道,算法不仅对于优化程序很重要,而且,会让你知道,该如何设计数据结构和算法程序变得更为健壮和优雅。...最后,指出,学习时一定要使用知识图,学习并不是为了要记忆那些知识点,而是为了要找到一个知识地图,你在这个地图上能通过关键路径找到你想要答案。

    38420

    篡改了系统命令惊现事故,竟要扣年终奖-Golang-cobra

    打工还是要打工。。最后也没发出去。 紧急处理以后,现在写复盘,大家随看看我到底是在学习哪些内容。...下面命令安装了cobra生成器程序和 cobra 库: $ go get github.com/spf13/cobra/cobra PS: 如果出现了golang.org/x/text库找不到之类错误...如下main.go文件中调用命令入口: import "cmd" func main() { cmd.Execute() } 最后为了编码方便,在helpers.go中封装了调用外部程序错误处理函数...,就不展开写了,有兴趣去看我源码。...cobra 库使用非常广泛,很多知名项目都有用到,前面也提到过这些项目。学习这些项目是如何使用 cobra ,可以从中学习 cobra 特性和最佳实践。这也是学习开源项目的一个很好途径。

    29110

    计算机小白成长历程——函数(5)

    理解:对于迭代理解,就是在函数体内使用循环。 我们在探讨函数嵌套调用时候有提过,所谓嵌套就是在函数体内调用函数。...到递归时候,也提过,递归就是一种特殊函数嵌套,只不过这时嵌套函数是它本身。...在上一篇内容中我们在编写按顺序打印1 2 3 4时,提到过,在进行递归时,函数就进入了循环,此时也就不需要在额外使用循环了。迭代也就是在函数体中通过使用循环让函数重复做一件事。...可能不太好理解,怎么我们在将函数,你这里又是函数嵌套又是函数递归,现在又说迭代,咋又提到了循环呢?...结语 那函数迭代内容到这里咱们就介绍完了,希望这篇能够帮助大家更好理解函数递归与迭代。接下来随着学习深入,我会继续给大家分享学习过程中感受,感谢大家翻阅,咱们下一篇见。

    10610

    SDN实战团分享(七):YANG模型与OpenDaylight南北向接口

    模块中提供功能开发者可以定义一个模型,从而可以创建对于所提供功能更简单、数据类型API。因此降低了通过服务抽象层提供数据结构错误交互。...下面简单引出NETCONF协议configuration data store。 Pic YANG模型通过树形结构节点定义描述了数据模型层级嵌套结构以及各属性数据类型。...为了描述控制器元素所提供数据结构,YANG模型作为一种服务和数据抽象建模语言就起到了作用。...) 有些container 即出现在config里,又出现在operational里,理解 一个container要么是config要么是operational,为啥会出现2个都是的情况?...没有两个都是哦 Q3:惠君 另外好像通篇都木有看到xml文件呢,倒是提到好多次,xml文件哪去了,干啥用,用来传参数

    2.9K80

    局部函数实现add(1)(2)(3)

    为了引导大家思维,下面先来点简单,例如将如下接受两个参数函数转成只接受一个参数(curry) def add (x, y): return x + y; print(add(1, 2)) 为了对上面...提示 每当你觉得xxx很难时,往往还是基础不扎实,很多人学编程时难免犯一个方法错误,他把编程知识分成两类: A:看一眼似乎能学会。 B:看一眼似乎不能学会。...对于A类知识,他反应是:这TM太简单,没必要学习;对于B类知识,他反应是:这TM太难了,完全超出了学习范畴,没法学习。 ——所以天底下就没有值得学习东西。...最后解决 可能有人会说 ,但我要求是一个add函数同时支持下面这几种用法呢: add(1, 2, 3) add(1, 2)(3) add(1)(2, 3) 如果你理解了上面两个例子运行机制(嵌套函数和函数返回值...为了帮助读者能理解解决思路,所以顺手写了本文。

    60810

    “众矢之的”马库斯回应14个问题,将深度学习质疑到底

    例如,Hinton最近“capsule”(Sabour, Frosst, & Hinton, 2017)就是一个尝试,通过使用更结构网络,构建更强大由部分到整体图像识别。...确实,没有找到一篇很好、可以引用总结性文章(LeCun也在电子邮件中告诉,现在还没有这样总结文章),但我明确提到了兴趣: 深度学习先驱Geoff Hinton和Yann LeCun最近都指出...还指出: 显然,深度学习和无监督学习在逻辑上并不是对立。深度学习主要用于带标签数据有监督环境,但我们也可以通过其他途径,以无监督方式利用深度学习结论也是积极。...很犹豫要不要谈这个问题,但是各种回复里都提到了这一点,甚至很多知名人士也在说。正如Ram Shankar所说,作为一个社区,我们批评必须限制在基于科学和价值讨论上。...与之相反是,在街上开车,可能会把树当成路灯,但不会像这些深度学习应用一样犯这么离谱错误,因为对意义和语境有深刻理解

    764100

    API设计核心原则

    这可以通过对称性实现;如果需要添加和删除方法,应该在适当地方应用这些变化。 一个 API 包含了少量概念;如果学习它,不应该学到太多东西。...这不一定适用于方法、类或参数数量,而是指 API 所涵盖概念表面积。理想情况下,一个 API 应该只致力于实现一件事情。 最好也避免为了添加而添加任何东西。...数据结构到底是什么?” 通常情况下,错误处理是一个容易被忽视地方。例如,如果你正在使用数据库作为后端存储,不要让 SQL 错误传播出去,因为如果随后想要更改存储机制,你就无法做到这一点。...保持规范简短使其更有可能被阅读,并防止你过度投入解决方案。如果你花了几个月时间写了一个100页规范,你就不太可能承认它不好。...这是危险胡言乱语。 虽然你希望你 API 易于理解学习,但它文档仍然非常重要。它应该是完整而全面的,至少应该涵盖每个方法、每个字段作用以及错误条件。

    7510

    【再论深度学习必死】马库斯回应14大质疑,重申深度学习怀疑论

    在文章第一页就提到了: 自那以后,深度学习在语音识别、图像识别、语言翻译等领域取得了许多最先进成果,并在当前AI广泛应用中起着重要作用。...“理解一点是,GaryMarcus说DL对分层结构不好,但在LeCun在他发表在《自然》评论文章中说DL特别适合于开发这样层次结构。”...[注3] 在讨论中提到层级结构概念是不同,聚焦在能够进行明确推理系统周围。一个经典例子是乔姆斯基提出层次结构,他认为一个句子是由越来越复杂语法单元组成。...诚然,找不到一篇好总结文章引用(当我问LeCun,他通过电子邮件告诉目前还没有这样一篇文章),但是明确地提到了兴趣: 深度学习先驱Geoff Hinton和Yann LeCun最近都指出...而人类则不同,在街上行驶时,可能会把一棵树错看成一个灯柱,但我错得不会太离谱(因为深深地理解了意义和场景)。

    66740

    今年海德堡论坛,Raj Reddy、Sanjeev Arora、LeCun 与 Bengio 都讲了些什么?

    1 深度学习概念在变化 Yann LeCun:觉得有一个很笼统定义,即通过组装那些函数没有被完全定义组块组装一个机器,然后通过使用梯度下降最小化某种目标函数来解决这些函数。...可微分编程(differentiable programming)这个概念可以被泛化地理解为深度学习,其含义是编写一个程序,其中函数调用不被完全定义,而是在训练中加以调整。...Sanjeev Arora:Yoshua 你谈到了自治系统,好像这些系统是在许多时间段或在无限时间里运行,但我们还不清楚是否对系统决策做出持续性解释,因为它是一个动态程序。...但我认为,我们有一个错误假设,即在我们世界中,存在于人类身上符号足以理解复杂自动驾驶汽车和其他复杂系统。...认为这是一个非常重要问题。 提问:请问 Bengio 教授,您提到了推理和归纳偏差必要性,个人更多是在适应不同模态空间中处理归纳偏差,想知道您在这方面是怎么做

    18420

    Upspin 中错误处理

    相较于初始实现,细节已经有所变化,但是,这个包背后基本理念经久不衰。它们是: 为了便于构建有用错误信息。 为了使用户易于理解错误为了错误帮助程序员进行问题诊断。...构建错误 为了协助错误构建,这个包提供了一个名为 E 函数,它简短并且便于输入。 如该函数文档注释所述,E 根据其输入参数构建 error 值。每一个参数类型决定了其自身含义。...(虽然参数实际顺序是不相干,但是按惯例,op 放在第一个): E String 方法会将其整洁地格式化: 如果错误多级嵌套,那么会抑制冗余字段,并且使用缩进来格式化嵌套: 注意,这条错误信息中提到了多种操作...这些函数确保客户端将看到服务器在构造错误时提供所有细节。 考虑下面错误报告: 它由四个嵌套 errors.E 值构成。...期望是,当用户看到这些错误时,错误第一行通常就够了;当需要进一步诊断时候,下面的细节会更有用。 我们回过头错误展示作为一个整体,我们可以通过各种网络连接组件,从错误产生一直追踪到客户端。

    2.1K100
    领券