惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - NeilChen

恢复 Windows 7 的“回到父目录”按钮 FireFox 脑残的安全设定 SQL Server 事务自动回滚 下载 infoq 网站视频 也做了一下腾讯前端面试题 Select prototyping tools Lisp in Small Parts TechTalk by Peter Seibel on Common Lisp 时隔3年,再做双倍超立方数的题目,这次用Lisp Racket, SICP stream learning Operation is not valid due to the current state of the object lisp 笔记 - 闭包 Common Lisp 在 Windows 上的开发环境比较 翻译英文技术文章是一件很可耻的事情吗? 写了个博客备份的 ruby 程序 体验 Clozure CL Windows XP, Emacs, CLisp, SLIME 关于 Business Rule Engine Irony - 一个 .NET 语言实现工具包
试用 Portable Allegro Serve
NeilChen · 2011-12-15 · via 博客园 - NeilChen

安装好 Common Lisp 的开发环境后,想试试看 web 开发。

虽然 Allegro Serve 运行起来更简单,但是要在 Allegro CL 中运行,而后者是个商业软件,暂时我没有购买的打算。退而求其次,只好用 Portable Allegro Serve.

这个开源代码貌似很久没更新了。下载后,运行出了很多小问题。简要记录如下:

  1. 用 CLisp 来运行的时候,可能下载的 aserve 代码里包含的那些中间文件是由其他 lisp 实现生成的,也可能是 clisp 的早期版本,会报错误提示这些中间文件 out-dated 了。解决的办法很简单,只要将 aserve 代码的子孙目录中所有 .fas 和 .lib 文件全部删掉即可,可以写个简单的脚本来做这个 clean 的工作。删掉后,重新加载时会自动重新生成这些中间文件。这个非常类似于 Python 的 .pyc 文件。
  2. 加载 install.lisp 的时候会报一个函数调用 ipaddr-to-dotted 找不到。这是因为代码里有个地方的调用少写了该函数所在包的前缀。解决办法是,打开 aserve\log.cl, 找到这个函数调用的地方,将函数写法替换为 acl-compat.socket:ipaddr-to-dotted 即可。
  3. 执行 (start :port 8080) 启动服务器的时候,会报错如下:
  4. Evaluation aborted on #<SIMPLE-TYPE-ERROR #x1A2AAEF9>.
    Lisp connection closed unexpectedly: connection broken by remote peer

    首先需要通过 Emacs 里打开 *inferior-lisp* buffer,然后重新加载这些代码来测试。得到一个更为详细的错误:

    *** - FUNCALL: undefined function ACL-COMPAT.MP:MAKE-PROCESS

    可以判断是因为 clisp 不支持多线程造成的问题。

    解决办法:启动 aserve 多提供一个参数如下:

    (start :port 8080 :listeners 0)