当然VXLAN被引入的另外一个原因是它能够很好的解决传统VLAN ID有限的问题,能够在不同IP网络之间建立二层的互通。...这个RFC规定了BGP路由器在BGP更新消息中携带路由条目对应标签信息的方法,以便进行标签分发。当BGP被用于发布指定路由时,同样可以用于携带MPLS标签和路由的映射。...服务提供商通过支持MPLS和Labeled BGP的路由器,可以使用MPLS在数据中心之间建立隧道,BGP标签则作为在不同BGP之间交换MPLS标签的信令机制。...物理网络上可以创建多个vxlan网络,这些vxlan网络称为隧道,不同节点的虚拟机能够通过隧道直连。每个vxlan网络由唯一的VNI 标识,不同的 vxlan 可以不相互影响。...可见BGP是学习成本低网工喜闻乐见的一项技术。
另一个有趣的事实:他做那些教程视频的主要目的是练习他的英语。——BeetleB GNU EMACS 是一个可扩展、可定制、免费、自由的文本编辑器。同时,它也是一个集成开发环境。...毕竟目前大多数现代编辑器都具备插件系统,可以为用户提供几乎一切必要的临时功能,那 Emacs 的特别之处究竟在哪? 答案在于,Emacs 并不是真正的文本编辑器。...它其实是一套可编程平台,文本编辑只是其中的主要交互点之一。 Emacs 是由 Lisp 的一种方言编写而成,名为“Emacs Lisp”、也叫“Elisp”。...现在,我的几乎一切创作都在 Emacs 上进行:读写、文件管理、任务规划组织、电子邮件往来、音乐收藏与播放、互联网浏览等等。唯一的例外,就是我确实还离不开图形网络浏览器。 再聊点抽象的。...于是,Emacs 提倡一种强大的文档文化,每份 Elisp 表单都必须用自然语言解释其作用,每个功能包都必须提供使用与配置说明。我们希望用这样的方式保障最低限度的计算自由。
本期节目请来了一位使用 Emacs 15 年之久的编辑器专家领蜂,在高中竞赛时获奖后,父母送给他一台个人电脑,这打开了他的 Emacs 之旅。...由于其工作领域正好与编辑器相关,领蜂走上了一条专家型的 Emacs 学习路线,接触 Emacs 三天即开始上手 ELisp,他是怎么做的到?...更令人想不到的是嘉宾的配置仅仅 200 来行,可谓精简至极,典型的“手动挡”车用户,这背后有什么样的理念?...30:05 浏览器内核发展之路与浏览器之战 • 00:38:30 在 Emacs 社区的活动 • 00:44:44 ELisp 解释器为什么选用动态作用域 • 00:52:28 学习 ELisp 的经历...28 引入的 JIT •2018 年,嘉宾对 Effective Emacs 的回顾文章:到了2018年,还有学习Emacs的必要吗?
如果 EmacsTalk 对您有所帮助 • 欢迎在各大播客平台留言、打分、转发 • 也欢迎您为本节目进行打赏支持[1] ❤️ 概要 本期嘉宾是使用十二年的 Emacs 资深用户张泽鹏(网络ID:redraiment...使用 Emacs 多年后,万物可编辑的思维给嘉宾的日常工作带来很多启发,总结出一篇与系统设计的文章:编辑器思维与系统设计思想[2],这其中的精华都会在节目中聊到,近一个小时的节目,精彩不容错过。...时间线 • 00:00:42 嘉宾自我介绍 • 00:04:18 为什么选择 Emacs • 00:11:11 ELisp 学习经历 • 00:21:34 Emacs 对嘉宾思维的影响 • 00:33:...] • 推荐 • Emacs Keyboard Macros[5] • 《计算机程序的构造和解释》(SICP)[6] 引用链接 [1] 打赏支持: https://liujiacai.net/donate...: http://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macros.html [6] 《计算机程序的构造和解释》(SICP
编辑器是我们经常要打交道的工具,工欲善其事,必先利其器。...每一个领域都有专用的好的工具,比如android开发用android sduio, 我先用emacs填补在使用这些好用的专用ide之外的任何地方。 最近打算好好体验下emacs。...在window下的目录(我的): D:\Users\Frank\AppData\Roaming\.emacs.d D:\Users\Frank\.emacs.d emacs的配置语言elisp 配置emacs...Emacs的配置文档是用elisp语言写的。elisp是lisp的一种方言。至于lisp语言,有人说它是黑客的语言。...不过,可能想多了,现在才刚开始...刚开始) 延伸阅读 Emacs's Customization Tutorial elisp快速入门:Learn X in Y minutes The Emacs Initialization
,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs Lisp 是 Lisp 的一个分支 Emacs Lisp...,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能,它的直译器是以C语言来实作的,它受到Maclisp的影响很大,但是跟Common...;; Elisp中表达式可以通过括号来嵌套 (+ 2 (+ 1 1)) ;; 在lisp-interaction-mode模式中,我们可以直接计算一个表达式,计算的方法是 (+ 3 (+ 1 2))...窗口的最底部那行显示计算结果 ;; ELisp中的赋值函数是是setq,下面的表达式给变量my-name赋值"Bastien" (setq my-name "Bastien") ;; ^ 把光标停在这里...,知道你退出Emacs或者改变hello的定义 ;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令 ;; 在Elisp中直接输入函数的名称就是调用该函数。
C C 是开发动态模块最直接的语言,Emacs 核心部分就是用 C 开发的。...动态链接库后缀名在不同平台是不一样的,Linux 下是 so, Windows 下是 dll。...为了简化数据类型在 C 与 ELisp 之间的转化,Emacs 提供了一系列函数,比如: Elisp–>C 更多类型转化可参考官方文档: •Conversion Between Lisp and Module...,上面的宏使用了 Statement Expression,不是 C 语言的标准,是 GNU99 的扩展,但由于十分有用,大多数编译器都支持了这种语法(可通过 -std=gnu99 指定),所以可以放心使用...其次是用到了可变参的宏,这是 C99 引入的。
俗话说,工欲善其事必先利其器,完善开发工具与我而言是一件愉快的事情,所以想把经验集结成文字,便有了这篇文章。这篇文章不会介绍太多花式或有深度的emacs配置,更多是摸索学习的过程,其中充满了乐趣。...对emacs lisp不熟悉不要紧,先找个教程练习一下它的用法,比如learnxinyminutes就非常不错。完成这个教程,大体不会对elisp犯怵了。...初次看到compile time,心中难免会有疑问:lisp不是动态语言吗,怎么还需要编译?这种时候,我们就要求助于elisp的文档了。...不难发现lisp的解析器可以读取解析两种类型的lisp代码,一种是适合人类阅读的代码,以el作为后缀;另一种是编译字节码,以elc作为后缀。...小结 当然,我的emacs配置绝对不止这些,但是其余的过程大体类似。由于emacs速来有伪装成编辑器的操作系统的称号,所以我的探索是无止境的。
挫败感的主要来源是对 ELisp 里相关概念的不熟悉,比如 xref 为了能打开 symbol 定义的文件,需要提供一个 xref-location 对象,默认提供了两种实现,xref-buffer-location...后来测试了下不行,然后去看 buffer location 的定义,position 的类型是 fixnum,既然是个数字,应该表示的是 offset,那么又一个问题,是 0 开始还是 1 开始呢?...而且程序员都很懒、很忙,去仔细看 manual 不现实,而且 Emacs 的 manual 我感觉有些“重”了,文字太多了,看的累,我需要的仅仅是个很 copy 的示例,然后再根据我的需求改改就好了,就行...clojuredocs 那样,比如 reduce[2] 页面: 幸好在 Emacs China TG 组交流“心得”后,发现了 elisp-demos[3] 插件,可以在 helpful 页面中展示函数的用法...• https://github.com/chrisdone/elisp-guide 引用链接 [1] feature: https://github.com/clojure-emacs/cider/pull
但实际这个问题不大,因为很多用户都在用开发版,这可能也是 Emacs 社区的特殊文化,自己去编译 master 分支来使用应该算是常态。由于使用人数多,所以即使是开发版,质量也能得到保证。...安装选项变更 • --with-native-compilation 这个功能是近几年 Emacs 中最大的更新,没有之一。...它可以把解释执行的 elisp 代码通过 gccjit 技术直接编译成二进制代码。...比如 11:00pm • 新配置 browse-url-default-handlers 根据 url 来定制不同的打开方式 • mode-line 会展示 Elisp 作用域方式 mode-line...• hierarchy.el[11],用于操作具有层级关系数据结构的库 • shorthands.el[12] 一种 ELisp 命名空间的实现,社区内相关讨论[13] 平台相关变更 macOS • s
除了 Elisp 开发,我编写的大部分代码现在都是在 LSP 服务器的帮助下完成的,它与 Emacs 一起运行并分析我的代码,为我建议和执行更改和操作。...它现在可以在无 Xorg 的情况下构建并在 Wayland 中本地运行! 请注意,Wayland 基本上是纯 GTK Emacs 的唯一用例。...这导致了令人印象深刻的性能提升,这使得 Emacs 比以前更加敏捷。我遇到的唯一问题是 Emacs 只会在第一次加载 EmacsLisp 文件时编译它们。 这已不再是这种情况!.../usr/bin/emacs -x,Emacs 不会读取它的 init 文件(如 with -Q),而是会立即执行 Elisp 代码并将最后一个值返回给脚本的调用者(很可能是您调用脚本的 shell从)...Emacs 的 WebKit 小部件浏览器中的 WebKit 检查器 在 Emacs 中使用 WebKit 小部件浏览器时,您现在可以访问 WebKit 检查器,前提是您使用的 Emacs 版本是用它编译的
与大多数用户不同,嘉宾在接触 Emacs 不久即开始尝试攒写自己的配置,并陆陆续续发布了几个比较实用的包,比如 valign[1],嘉宾是如何做到的?...更令人好奇的是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾的学习、贡献经历,可以给听众打开 Emacs 源码的神秘面纱,让更多用户参与到 Emacs 的贡献中,一个多小时的分享...时间线 • 00:00:56 嘉宾自我介绍 • 00:02:20 Emacs 初相识 • 00:10:08 ELisp 学习经历 • 00:15:45 Emacs 的可发现性 Discoverability...,句号后两个空格 • 注释用的是 C 风格的 /* */ ,而不是 C++ 的 // • 函数名后面跟一个空格,再是括号 •读 Emacs 源码技巧 • lisp.h[12] 里面有 C 如何调用 ELisp.../manual/html_node/elisp/Regular-Expressions.html [9] 15.5 Regular Expression Search: https://www.gnu.org
使用时长,一年后开始学习 ELisp •让嘉宾对 Emacs 动心的 /r/unixporn[4] •GUI vs TUI •从 Emacs 中操作 Tmux 的插件:emamux.el[5] •如何在...Emacs 中切换 C 的源文件与头文件[6] •Emacs 提高颜值的插件:nano-emacs[7]、doom-emacs[8] •可能是最好的 Emacs 中文论坛:Emacs China[9]...•设定一个明确的目标,达到后即可 •Hack Emacs 是个放松的过程,享受它 •对 Emacs 的偏见 •Emacs make computer slow •Emacs 计算机世上的“遗产”、瑰宝...•Emacs -- 宏编辑器 Editor MACroS •如何看待 Emacs 很多功能隐藏的很深?...] native compilation: https://www.masteringemacs.org/article/speed-up-emacs-libjansson-native-elisp-compilation
本期节目请来了一位使用 Emacs 近十年的资深用户陈斌[1],他是著名文章《一年成为 Emacs 高手》[2]的作者,同时也是一位拥有近二十年软件开发经验的前辈。...抵触 Emacs 近十年后,陈斌用一年时间就成为了 Emacs 高手,他是怎么做到的?是什么样的契机让他打开了 Emacs 这个潘多拉魔盒? 作为一个拥有众多插件的开源软件维护者,如何处理用户的不满?...多久后,开始写《一年成本 Emacs 高手》文章 • 00:10:16 Emacs 为什么不那么“开箱即用” • 00:12:54 嘉宾是如何探索出学习 Emacs 最佳实践的 • 00:15:36...嘉宾列举的一些 Emacs 技巧 • 00:21:30 Emacs 的开放性,与其他编辑器的区别,“乱” VS “自由” • 00:26:31 嘉宾学习 ELisp 的经历 • 00:30:02 嘉宾对维护开源项目的态度...• 00:39:35 嘉宾对新手的建议 • 00:43:53 嘉宾现在的 Emacs 工作流 • 00:54:11 Emacs 在 Windows 上为什么性能差 • 01:01:58 Emacs 核心开发团队是怎么样的
中做运算,调用函数的最简单的方式是;; (function arg1 arg2) ;; 这相当于通常的function(arg1,arg2),下面的表达式,对两个数字进行加法运算(+ 2 2);; Elisp...并且键入Ctrl-j (之后将简写成C-j);; C-j是一个快捷命令,在后台,该快捷键将调用求值命令,并且把计算的结果;; 插入到当前的缓冲区中;; 如果不希望Emacs在缓冲区中插入计算结果,我们还可以在表达式的末尾使用...C-x C-e组合键;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口的最底部那行显示计算结果;; ELisp中的赋值函数是是...或者改变hello的定义;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令;; 在Elisp中直接输入函数的名称就是调用该函数。...RET;; C-h f a-function RET;;;; 下面的命令将打开整个Emacs Manual;;;; C-h i m elisp RET;;;; Emacs Lisp 教程;; https
C-u M-x align-regexp @[a-z]+\(\s-*\) RET 1 RET 1 RET n 解释上面的命令前,先看下其签名: (align-regexp BEG END REGEXP...&optional GROUP SPACING REPEAT) •REGEXP 用以对齐的正则,至少包含一个 group 即 () ,通过修改这个 group 来达到对齐的效果 • @[a-z]+\(\...s-*\) 这个正则表示用 @name 后的零或多个空格作为修改的 group • \s- 表示空格,具体语法可参考 Regexp-Backslash[2] • GROUP 标明正则式中哪个 group...: https://www.gnu.org/software/emacs/manual/html_node/elisp/Regexp-Backslash.html [3] Aligning text:...posts/emacs-align-columns/ [5] Emacs: Align Text: http://ergoemacs.org/emacs/emacs_align_and_sort.html
解释器模式 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。...因为时代的发展、技术的更替等等原因(你想做的解释器都有人做好了,且开源)吧,可能这个是我们很长一段时间都用不到的一种设计模式了。 你能看懂TA的“眼色”吗? 还记得那些年看过的影视剧吗?...或是表情包吗? ? ? 你能看懂柯镇恶和“老婆”的眼色吗? 反正我是看不懂,单是看这情况,完全看不懂是什么意思。 但如果我提前给你说下规则呢? 柯镇恶图 柯镇恶往左摆头,冲! 柯镇恶往右摆头,撤!...你看柯镇恶一个眼色,我就知道他想冲,他省去了复杂的“张嘴”过程。 其实解释器模式就像是我们现在用高级语言来开发软件程序一样,是怎么才能让计算机知道我们在说什么呢?...在今天,解释器模式应该很少会在我们的应用自己去设计了,毕竟这如同设计一门语言一样,过程很复杂,还记得我们正在用的正则表达式吗?
本期节目又请来了一资深 Emacs 用户 stardiviner[1],同时也是一名淘宝店主,用来售卖自己的 IT 技能。 从 org-mode 的使用者到贡献者,他是如何做到的?...更让人好奇的是他与众不同的人生经历,大学肄业后,他做过房地产销售、必胜客服务员、幼教老师、IT 支持,最后在无意间发现可以通过售卖自己的 IT 技能来赚钱,从此告别职场,走上了 freelancer 的道路...在一次次的选择中,他逐渐远离“常人”走过的路,这其中或许有一时的鲁莽,但更多的是他勇于突破传统的束缚,逐渐形成了其独特的做事风格。近一个半小时的内容,“湿货”十足,不容错过!...本期人物 • 主播:西瓜[2] • 嘉宾:stardiviner[3] 时间轴 • 00:02:09 嘉宾学习 Emacs 经历 • 00:10:35 org mode 介绍 • 00:15:15 Elisp...喜欢复古风 •org mode • 零配置复现问题,再去社区求助 • 自己想要的功能没人乐意实现 •Elisp 学习经历 • 文本处理比较删除 • 不如 common lisp 强大,主要是对异步的支持的比较差
本文将解释论文《Do Vision Transformers See Like Convolutional Neural Networks?》...ViT基础知识 首先,让我们看一下 Vision Transformer (ViT) 中使用的Transformer 编码器。...另一方面,Transformer 解码器的上部不是自注意力机制,因为它使用来自编码器的 Q 和来自解码器的 K 和 V 计算注意力。 实际应用如下图所示。...由于patches 本身是 3D 数据(高 x 宽 x 通道数),它们不能由处理语言(2D)的转换器直接处理,因此需要将它们展平并进行线性投影转换为 2D 数据。...(Frosst等人,2019年) 6、MLP-Mixer的表示更接近ViT而不是ResNet 近年来,利用多层感知器(MLPs)即具有密集层的网络,已经超过transformers成为最高精度的图像分类模型
领取专属 10元无门槛券
手把手带您无忧上云