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

Emacs 折腾记

我工作中倒并没有用得到 Lisp 的地方,但是最近眼前晃过的一些书,比如《计算机程序的构造和解释》、《码农》杂志第 13 期,都对这门古老的语言推崇备至,还有垠神也撰文《Lisp 已死,Lisp 万岁!...历数现代 Lisp 方言的先进性,再者我也一直有学习一门函数式编程语言的想法,看起来,Lisp 是不二之选。...我使用网友们力荐的 Emacs + slime + sbcl 的组合,配置步骤如下: 去 http://www.sbcl.org/ 下载安装 sbcl 的最新版。...Update: 后来经验证,发现实际上是 sbcl 在安装过程中写的环境变量没有生效导致的,sbcl 在安装过程中会设置两个环境变量,新建一个 SBCL_HOME 值为 sbcl 安装路径,在 PATH...在 Vim 中我一直是用 :!

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

    各种编程语言对尾递归的支持

    注:递归论区分递归和迭代(迭置),和计算机上定义有一点区别,在此不深入。 C/C++   我们从底层的语言开始,首先还是上面的加法实现。...不过这里栈似乎小了点,可以用sys.setrlimit来修改栈的大小,这实际上是UNIX-like的系统调用。   有人用捕捉异常的方式让其强行支持尾递归,效率当然是损失很多的,不过这个想法倒是很好。...但是似乎也改变了Lisp的味道,do显然此处只能在设计编译器、解释器的时候就得单独实现,虽然按理Lisp下这些都应该是宏,但是无论用宏如何将函数式编程映射为显示的迭代,因为尾clisp递归优化不支持,则无法和系统提供的...sbcl是Common Lisp的另外一个实现,在这个实现中,我们使用第一个add函数的版本,没有发生崩栈。...看来,至少参考了Scheme的尾递归优化。 Ruby   Ruby的作者松本行弘也是Lisp的粉丝,当然,我想大多数编程语言的作者都会是Lisp的粉丝,因为它会给人很多启发。

    2.7K20

    Linux基础之软件包管理 原

    .,9):压缩等级,1最快,但是压缩比最差;9最慢,但是压缩比最好,默认是6。  -l:查看压缩文件的压缩比:gzip -l *.gz 示例1: 用gzip压缩。...-Va:列出目前系统上面rpm安装的所有包中被修改过的文件! -Vp:后面加的是rpm文件名,列出rpm包中的文件在当前系统中是否修改。...,中括号是必须带的,里面名字可以自定义,但不能有两个相同的名字,否则yum找不到相关的软件列表  name:只是描述容器。...(仅作了解,建议手动配置,第一是学习,第二是将来的面试会有人问集群的搭建步骤和集群的配置文件。) 1、查看当前系统中yum支持的所有软件包中是否存在hadoop。...[root@xinghan yum.repos.d]# yum list|grep hadoop  #发现没有 2、如果想要当前系统的yum支持hadoop软件包,需要本地/etc/yum.repos.d

    1.8K20

    一种用markdown写PPT的方法,再也不用费劲排版了

    参考marp 官方文档可以很快学会用法,但是用的时候去翻比较麻烦,我提炼了常用的语法,最后做了一个 PPT 练手,才算是学会了,现在分享出来以便以后翻阅。 marp 是个什么?...安装和上手 下载个VSCode, 天然支持 markdown ,然后在左侧的插件栏中搜索并安装 Marp for VS Code 就可以开始了。...优化样式 当然没有漂亮是样式是不行的,好在可以简单设置呈现,为此我专门做了一个 ppt ? 有三款主题可以选择,可以参考themes,有的主题只能居中,我选了一个可居中也可居左的主题。...在当前页面头部,用 html 中的注释语法 是上下排布的长图就不需要加bg了,直接放上去就好了。 ### prometheus 此处的图片加阴影`drop-shadow` !

    4.4K20

    Ubuntu 安装 Tengine、申请 SSL 证书、配置 gzip 、http2.0 教程

    本文将讲述如何在腾讯云云服务器中安装 Tengine ,并配置 gzip 、http2.0等模块。 重装系统 由于我之前已经在腾讯云云服务器中配置过 Tengine,所以我这里重装一下系统。...[重装系统] 使用 SecureCRT 远程登录 [配置 Session] 由于首次登录会弹出密码登录框,腾讯云云服务器在重装系统的时候是有让用户填写登录密码的: [登录界面] 首次登录可以使用密码,之后我们可以配置...安装 Tengine 下载最新的 Tengine 代码 cd /home/ubuntu/ git clone https://github.com/alibaba/tengine.git 备注: 我将其下载到用户...不过你可以用'--prefix'来指定你想要的安装目录。我在 ....如何判断是否开启 gzip 可以 nginx 的 response headers 中的 Content-Encoding 是 gzip 来判断是否开启了。

    1.7K40

    优雅的使用vscode(插件分享)

    对TODO和FIXME高亮 其中,Copilot需要登录GitHub才能使用 Code Runner我的配置: { "files.associations...,我使用的是七牛云(也可以用其他很多图床,imgur 微博 gitee等都是免费的,uPic都支持),下载uPic配置好开机自启动和相应图床。...然后给upload from clipboard加一个快捷键 例如我是shift+cmd+8 然后把output format改为Markdown 这样想要将图片插入md只要先用截图工具截图...(我用的snipaste),图片自动保存到剪切板,然后摁一下shift+cmd+8上传到图床,此时上传后的结果自动保存到剪切板,再直接cmd+v粘贴进来即可。...当然,uPic的upload from screenshot更方便,直接截图+上传,设定一个快捷键(我是cmd+shift+9)直接就可以,对于直接贴一个图进来是比较方便的,如果需要对图片进行加工(加文字框框等

    57230

    tortoisegit安装与github上传

    弹出框中url是git版本库的路径 directory下载到哪里 4、新建一个文件 5、右击add 6、右击commit 填写配置信息 7、push 代码冲突了怎么解决?...如何在github构建代码仓库 如何将本地项目上传到github中 如何删除代码仓库 github:一个网站,网站搭建了一个供用户管理代码的平台(而且是基于git操作进行管理的一个平台) 使用github...、类库、插件的源代码基本上都在github上有托管 github还有一个作用:可以在平台上发布前端项目文件 基于当前的仓库发布我们的博客 github中的一个账号可以创建多个仓库,每一个仓库一般只存储和管理一个项目...1、新建仓库 new repository 2、把本地文件上传到这个仓库中git clone https://github.com/zhangxiaohuan/aaa.git (这时候本地的文件和远程仓库保持了连接...,我们可以把本地文件推送到远程仓库中) 3、git add .

    77920

    Elixir和ScyllaDB教你创建CRUD CLI,惊人的效率提升!

    另一方面,Elixir 是一种编程语言,以很好地处理并发和容错等概念的适用性而闻名,这要归功于 Erlang 生态系统,在这种情况下,Elixir 使用名为 BEAM 的虚拟机,专为与大容量消息传递应用程序配合使用而设计...:我们定义一个本地cluster函数,它除了初始化并将连接链接返回到集群之外什么也不做;我们定义run_query/1一个只接受一个参数的函数(只是查询,毕竟集群已经是一个本地函数,我们知道我们总是会对其执行操作...(我建议更多地了解原子),所以我们用映射绑定值!...您可能没有注意到的一个细节:两个函数具有相同的名称,但是它们的参数数量不同!这使得 Elixir 发挥了神奇的作用。函数是与它们期望接收的参数数量一起定义的,因此我将函数名称后跟斜杠“/”和参数数量。...本文的目的是演示如何将 ScyllaDB 与 Elixir 结合使用,并使用 Xandra 负责两者之间的连接进行简单演示。

    48630

    【Git开发教程 四 —— Git远程库交互】

    如何将本地库推送到远程库 创建好远程库后,我们重新创建一个本地库来进行测试(仓库名为TestGitHub): 本地仓库名不用非得和远程仓库名一致,但为了区分,通常都设置为同一个名字。...这样本地库和远程库都创建好了,接下来如何将本地库推送到远程库呢? 我们需要获取远程库的地址,复制如下内容: 这就是远程库的地址,通过该地址我们就能够将本地库推送上去。...克隆项目到本地有三个效果: 完整地把远程库下载到本地 创建origin远程库地址别名 初始化本地库 克隆完成后,我在克隆下来的项目中新建一个test111.txt文件模拟开发过程: 接下来我们提交一下该操作...会发现,第二次推送的时候系统并没有要求我们去输入用户名和密码,其实是系统自动帮你记录了: 如果想切换账户,把原来的凭据删除,下次推送就又会让你输入用户名和密码了。...在该文件夹下启动Git终端,执行指令: git fetch origin master 执行结果: 该指令会将指定地址的远程库下载到本地,但是这个时候工作区的文件内容是没有改变的,可以查看工作区

    76510

    MAVEN 極速快速教程

    /download.cgi 1.3.2 配置maven环境变量 我的电脑---》右键--》高级--》环境变量--》系统变量---》编辑--》新增:maven的地址 E:\apache-maven-3.6.1...版本不一致,开发者使用jar包版本不一致的问题。 2.1中央仓库 ​ 远程存储jar包的仓库,是一个大的集中式仓库,maven 下载jar包---》从哪里下载--》maven中央仓库。...我们开发的时候,将远程中央仓库的jar包下载到本地仓库,项目读取本地仓库的jar。...三.MAVEN原理和项目构建 ​ Maven的基本原理很简单,采用远程中央仓库和本地仓库以及一个pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的...3.1 POM概念 项目对象模型(Project Object Model) Maven有一个官方的仓库,是一个微内核,通过网络将需要的文件下载到本地,通过官方仓库将相应的类库进行统一管理。

    13910

    Clojure 开发那些事

    除了最基本的圆括号()外,方括号[]与花括号{}在 Clojure 用的也比其他 Lisp 方言中多。...,我发现一个特点,Lisp 语言的英文介绍往往过于精炼,不适合初学者直接阅读,为了夯实基础,还是建议大家找本书来看,看书的好处是不仅仅知道某个知识点,更重要的是了解不同知识点之间的区别与联系,初学期间,...这里主要介绍 Intellj + Cursive 与 Emacs + Cider 两个环境,这两个是我用的最顺手,也是现在较为流行的方式。...“操作系统”,对以括号著称的 Lisp 语言有天然的支持,括号匹配主要是 Paredit mode,可以方便的把括号作为一个整体操作,不过像 Cursive 这种插件也集成了 Paredit 的主要功能...nrepl Clojure 的 REPL 可以连接到远程服务器上的进程中,直接对进程中的函数或变量进行修改,这是非常便利的,对于很多运行时的错误可以采用这种方式解决,Emacs 与 Intellj 里面都提供了连接远程

    1.6K20

    一名Clojurian的Emacs配置

    首先,我们需要用到emacs的包管理工具package.el,因为emacs 24及其以上的版本都已经内置,所以无需下载到本地,直接通过require加载到emacs的运行时。..."http://melpa.org/packages/")中的点号(dot)表示法也比较奇怪,其实这是lisp中的Dotted pair表示法,用法和普通的列表类似,但因为是pair的缘故,你可以使用(...接下来,只需要使用c-h v和c-h f查看elisp中定义的变量函数就能很快上手自行配置。...幸运的是,有人已经很好地解决了这部分问题,use-package就是非常好用的包,它将包的配置和包的定义聚合到了一块,并且保证包一定会安装在你的系统当中。...小结 当然,我的emacs配置绝对不止这些,但是其余的过程大体类似。由于emacs速来有伪装成编辑器的操作系统的称号,所以我的探索是无止境的。

    2.8K20

    java struts2 漏洞_struts2漏洞原理及解决办法

    大家好,又见面了,我是你们的朋友全栈君。...1、原理 Struts2的核心是使用的webwork框架,处理action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介绍...context[‘xwork.MethodAccessor.denyMethodExecution’]=#foo’)(#foo=new%20java.lang.Boolean(“false”)))&(asdf...2、解决方法 网上很多文章都介绍了三种解决方法,个人觉得将struts2的jar包更新到最新版本最简单,不用更改任何程序代码,目前最新版本2.3.4 下载到的更新包中有很多jar包,我系统中主要用到以下几个替换掉旧版本的...: commons-lang3-3.1.jar (保留commons-lang-2.6.jar) javassist-3.11.0.GA.jar (新加包) ognl-3.0.5

    63420

    无侵入增强 Istio,网易数帆践行这三条原则

    ,轻舟服务网格演进过程中的扩展增强,以及这些扩展增强和无侵入的关系。...,filter 是 Istio 提供的一个几乎是纯数据结构级别的 Patch 机制,它直接操作 Istio 下发给 Envoy 的 xDS 配置,它的数据结构的描述、定义和类型都是 Envoy 侧的一些概念...的支持,相当于用标准的 API 去支持 Dubbo 的类似于服务依赖描述和按需下发。...我们定义了一个比较明确的框架层来管理上层的模块,同时也提供一些基础能力给上层,包含定义的一些 metric 框架,让上层可以用很少的代码去获取到一些像 Kubernetes 乃至更多类型的 metric...i9s 本质上是用 K9s 这种交互式的视图去展示 Istio 的各种内部信息,比如可以去查看 Istio 上面连接哪些 Sidecar,每个 Sidecar 的运行状态,下发的配置,它的配置是否和应有的配置一致

    46020

    如何用Python来制作简单的爬虫,爬取到你想要的图片

    但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。...一,获取整个页面数据 首先我们可以先获取要下载图片的整个页面信息。 getjpg.py Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。...re模块主要包含了正则表达式: 如果你在学习Python的过程中遇见了很多疑问和难题,可以加-q-u-n   227 -435-450里面有软件视频资料免费 运行脚本将得到整个页面中包含图片的URL地址...三,将页面筛选的数据保存到本地 把筛选的图片地址通过for循环遍历并保存到本地,代码如下:  这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。...通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。 程序运行完成,将在目录下看到下载到本地的文件。

    56030

    Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)「建议收藏」

    点我访问 … … 持续更新,欢迎关注我,QQ群讨论群:434878850 ---- 很多人怎么联系我一起学习进步,下面打个小小公告和干货无偿分享: 玩转esp8266带你飞、加群付费QQ群,提高门槛...,不喜的朋友勿喷勿加:434878850 esp8266源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266 esp32源代码免费学习汇总...前往EMQ下载地址:http://emqtt.com/downloads ,下载您的系统的版本,一般选择稳定版。目前的稳定版最新版是:2.2.0 。本博文用的是2.2.0版本。...为MQTT服务器IP和PORT,目前是使用本地的MQTT服务器,所以是修改为自己电脑的IP地址,注意不是 : 127 . 0 . 0 . 1和MQTT_PORT :1883,关于怎么获取本地的Ip地址,...那是因为这个Demo是加载到flash的,你要在mqtt_config.h的 宏定义CFG_HOLDER 的值改变一下,加一或减一即可!切记切记!

    1.3K30

    上来就对标 20k Star 的开源项目,是自不量力还是后起之秀?

    举个例子,用 Java 的开发者可能会遇见的问题,公司的项目是万年不变 JDK 8,但个人项目用的是最新的 JDK 21。...二、对比 asdf 这里主要从操作系统兼容性、性能和插件换源三个方面进行对比。...而 vfox 是用 Go + Lua 实现的,因此天生支持 Windows 和其他操作系统。...asdf 是通过 asdf-vm/asdf-nodejs 插件实现了对于 Node.js 的支持,但该插件是需要手动预定义一个环境变量来修改下载源,多语言换源还需要设置多个不同的环境变量。...更重要的是,插件系统使用 Lua 作为插件的开发语言,内置了一些常用模块,如 http、json、html、file 等,这使得插件系统不仅功能强大,而且易于开发和自定义。

    25210

    如何用Python来制作简单的爬虫,爬取到你想要的图片

    但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。...一,获取整个页面数据 首先我们可以先获取要下载图片的整个页面信息。 getjpg.py ? Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。...imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 如果你在学习Python的过程中遇见了很多疑问和难题,可以加-q-u-n 227 -435-450...三,将页面筛选的数据保存到本地 把筛选的图片地址通过for循环遍历并保存到本地,代码如下: ? ? ? 这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。...通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。 程序运行完成,将在目录下看到下载到本地的文件。 ?

    1.4K30
    领券