lisp初体验-Practical Common Lisp笔记-1.开篇

本文探讨了Lisp语言的历史及其在编程界的独特地位。作为一种古老但依然活跃的编程语言,Lisp因其独特的特性受到许多程序员的喜爱。文章介绍了学习Lisp的理由,并对比了其他编程语言。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实,并不是第一次接触Lisp了,曾虎头蛇尾的研究过一阵(好吧,我承认是由于读了某些博文一时激情澎湃),最后不了了之。

之前做<zeromq初体验>的笔记,好几次就想停掉,重开一栏写lisp(作为zeromq半途而废的理由~),不过天使总算是打败了恶魔。

本来是不用写这笔记的,有位叫做"冰河"(也不晓得是不是那个传说中的冰河软件的作者)的牛人据说已经完成了整书的翻译并预计印刷发售了,不过从1月至今仍未找到哪儿有出售,so,按照计划,还是开始吧。

吸取了zeromq的教训,本系列直接定位为读书笔记,所以,万一 译本 发售,仍然是值得一读、一收的。原文看[url=http://www.gigamonkeys.com/book/]这里[/url]。

为什么要用lisp?
曾看到一篇做了这个研究的博文,得出了一个结论:世上最优秀的coder都在用Lisp。先别忙着激动,研究的另一个结论是,那些coder之所以用lisp,并不是因为lisp有多高效、多牛X(虽然lisp的确是这样),最主要的原因是:这是一种图腾式的膜拜。如此,便出现了一种循环:最早的那一批牛人就用这个,之后的牛人为了瞻仰、追随或者挑战前人,也就用这个,然后更新一些的牛人亦是如此...
等等,你是不是窥见了什么?最早的coder?那是什么时候的事了?
作为最为古老的计算机语言之一,lisp当真称的上是老而弥坚、老当益壮了~
如果有人跟你说lisp代码运行效率有问题(真有许多持如此观点的人),那么,哥们你真的是遇人不淑啊。作为为了开发AI(人工智能)而诞生的语言,你竟然怀疑lisp的效能,那可是1980年代啊,那种硬件环境下都能用做人工智能!

一如既往的凌乱了,好在,这只是开篇,全书第一章,作者也无非是通过自身为什么、如何踏上Lisp道路的经历,来阐述一个观点:学lisp吧,你不会吃亏的!当然,也少不了通过与其他语言的比较来突出主角lisp。这些个就全略过了(此处略500字~)。

这里简单介绍下谁适合读本书:
1.如果你对Lisp感到好奇,想要瞅瞅而又没有什么基础
2.你是其他语言的拥护者,想要反驳lisp coder,却又找不到论据(这点感觉有险恶用心啊~)
3.已经学过lisp的其他方言,想要印证下
4.你实在无聊(我不是哦)

上面有提到lisp方言,本书介绍的可以算作Lisp的长子:common lisp.
lisp其他较有名的子嗣有:scheme,Elisp,Autolisp.书上做了一些分析,这里就不描述了。这三者还是有一些用户群体的,应该容易找到相应的说明。

絮絮叨叨的开篇算是结束了~

(未完待续)
<think>嗯,用户想在Windows系统下设置Streamlit应用的自动启动,并且需要指定运行参数,比如--server.address 0.0.0.0--server.port 6006。我需要先理清楚Windows下自动启动程序的方法有哪些。常见的可能有任务计划程序、启动文件夹或者服务的方式。 首先,启动文件夹可能比较简单,用户可以将一个批处理文件放到启动文件夹里,这样登录时就会运行。但可能的问题是需要用户登录才会触发,如果希望即使不登录也能运行,可能需要用任务计划程序或者服务。 任务计划程序的话,可以设置触发器为系统启动时,这样不需要用户登录。不过可能需要配置正确的权限和操作。服务的方式可能更复杂,需要第三方工具如NSSM来创建服务,但稳定性更好。 然后要考虑如何正确执行streamlit命令。用户需要运行的是streamlit run your_script.py并带上参数。这里需要注意路径问题,可能需要用绝对路径来避免出错。比如,如果脚本不在当前目录,或者环境变量没有设置,可能导致命令找不到。所以批处理文件中应该使用全路径,或者先激活虚拟环境。 另外,用户可能希望应用在后台运行,不显示命令行窗口。这时候使用VBScript或者PowerShell脚本可以隐藏窗口,但可能需要更多的步骤。或者使用任务计划程序运行时设置不打开窗口。 还要注意防火墙设置,如果用户需要外部访问,可能需要开放对应的端口,比如6006,这在之前的引用中提到过类似的问题,引用[4]提到端口8080的设置,这里可以类比。 另外,用户提到的参数--server.address 0.0.0.0在引用[1]中有说明,正确使用这个参数可以让其他机器访问应用。同时指定端口6006,可能需要检查该端口是否被占用,或者是否需要配置路由器的端口转发。 总结步骤应该是:创建批处理文件,测试能否正常运行,然后将批处理文件或通过任务计划程序设置自动启动。同时可能需要隐藏窗口,使用VBScript或任务计划程序的设置。此外,提醒用户注意路径、权限和端口配置。</think>以下是在Windows系统下设置Streamlit应用自动启动并指定运行参数的完整教程: ### 一、创建启动脚本 1. 新建批处理文件 `start_streamlit.bat` ```bat @echo off cd /d "D:\your_project_path" streamlit run your_script.py --server.address 0.0.0.0 --server.port 6006 ``` (注意替换实际项目路径和脚本名称) 2. 可选隐藏窗口版本(使用VBScript): 创建 `start_hidden.vbs` ```vbscript Set WshShell = CreateObject("WScript.Shell") WshShell.Run "cmd /c D:\path\to\start_streamlit.bat", 0 ``` ### 二、设置自动启动方法 #### 方法1:任务计划程序(推荐) 1. 搜索并打开"任务计划程序" 2. 创建任务: - 常规:勾选"不管用户是否登录都要运行" - 触发器:新建"启动时" - 操作:启动程序选择`start_streamlit.bat` - 条件:取消所有勾选 - 设置:勾选"如果任务失败,重新启动",间隔5分钟 #### 方法2:启动文件夹 1. 按`Win+R`输入`shell:startup` 2. 将`start_hidden.vbs`复制到此目录 (仅当用户登录时生效) ### 三、验证配置 1. 手动运行批处理文件测试参数有效性 2. 检查防火墙设置,开放TCP 6006端口[^4] 3. 使用`netstat -ano|findstr 6006`验证端口监听状态 ### 四、补充说明 1. Python环境建议使用虚拟环境并固定路径[^3] 2. 参数`--server.address 0.0.0.0`确保外网可访问[^1] 3. 后台运行时建议禁用浏览器自动打开: ```bat streamlit run your_script.py --server.address 0.0.0.0 --server.port 6006 --global.disableWatchdogWarning true --browser.gatherUsageStats false ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值