自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Everything should be made as simple as possible, but no simpler

  • 博客(13)
  • 资源 (6)
  • 收藏
  • 关注

翻译 Lisp.编译(Compilation)

Common Lisp 函数可以单独被编译,也可以通过编译一个文件的形式被编译。如果你仅仅是在toplevel中键入了一个defun表达式,[1]> (defun foo (x) (+ x 1))FOO很多实现都会创建一个解释的函数。你可以通过将一个函数作为参数传递给compiled-function-p来判断它是不是已经被编译了:[2]> (compiled-function-p

2012-10-31 21:51:06 2343

翻译 Lisp.闭包

一个函数可以作为一个表达式的值返回,就像其它对象一样。这里有一个接受一个参数的函数,返回对应参数类型的合并函数:(defun combiner (x) (typecase x (number #'+) (list #'append) (t #'list)))在这个函数之上,我们弄了一个通用的合并函数:(defun combine (&rest args)

2012-10-25 11:55:11 2629

翻译 Lisp.全局函数

之前的fboundp函数能够告诉我们一个给定的符号是不是已经是一个函数的名字。如果一个符号是一个函数的名字,symbol-function会返回这个函数:[1]> (fboundp '+)T[2]> (symbol-function '+)#通过设置某些名字的symbol-function到一个函数,[5]> (setf (symbol-function 'add2)

2012-10-24 10:07:31 1708

原创 MoinMoin部署:Nginx+uwsgi

本文假设nginx,uwsgi都已经安装完毕!1. 首先安装flup,不多说,easy_install flup2. 下载moinmoin,我用的是1.9.5,解压到/data下,并做符号链接ln moin-1.9.5 moin -s3. cd /data/moin/wiki;4. cp server/moin.wsgi .5. cp config/wikiconfig

2012-10-23 17:12:21 4114

翻译 Lisp.中止(Aborts)

你可以使用return从一个block中的任何一点退出。有事我们想要做更极端的事情,并且在几个函数调用之间转移控制。我们通过catch和throw来完成这样的事情。一个catch表达式接收一个标签(tag),这个标签可以是任意的种类的对象,之后跟着一个表达式的主体(body)。【译注】:不由想到了“现代”编程语言中的try...catch...(defun super () (

2012-10-22 18:38:07 1974

翻译 Lisp.多值(Multiple values)

有人曾经说过,为了强调函数式编程语言的重要性,都要说每个Lisp表达式都返回一个值。现在事情没有那么简单了;在Common Lisp中,一个表达式可以返回0个或多个值。返回值的最大个数根据实现的不同而不同。多值允许函数计算并返回几个东西,并且不需要建立一个结构来保存它们。比如,内置的函数get-decoded-time返回当前的时间,这个时间用9个值来表示:秒,分钟,小时,日期,月,日

2012-10-22 16:05:49 3361

翻译 Lisp.结构(Structure)

一个结构(structure)可以看成是一个加强版的向量(vector)。假设你需要写一个程序来跟踪许多长方体。你可能会考虑将它们表示成一个具有三个元素的向量:高,宽和长。如果你使用诸如如下的函数,而不是使用原始的svrefs,将使你的程序更加易读:[1]> (defun block-height (b) (svref b 0))BLOCK-HEIGHT你可以将一个结构看成是一个特殊

2012-10-17 15:06:47 3026

原创 Fedora 17 下运行Kettle遇到"A fatal error has been detected by the Java Runtime Environment"

遇到此问题十分纠结,具体的报错信息如下:# A fatal error has been detected by the Java Runtime Environment:## SIGSEGV (0xb) at pc=0x0000000000000000, pid=6455, tid=139924755695360## JRE version: 6.0_35-b10# Java

2012-10-16 22:59:22 2838

原创 Python使用mechanize模拟登录、抓取数据的代码

import mechanizeimport cookielibbr = mechanize.Browser()cj = cookielib.LWPCookieJar()br.set_cookiejar(cj)br.set_handle_equiv(True)br.set_handle_gzip(True)br.set_handle_redirect(True)br.set_h

2012-10-16 11:54:26 9584 2

翻译 Lisp.字符串和字符

字符串是字符的向量。我们把常量字符串看成是一系列被双引号包括的字符,一个单独的字符c被表示为#\c。通常(但不是必须的),每个字符都会有一个相关的整数,这个整数就是ASCII码。在多数的实现中,函数char-code返回与一个字符相关的数字,code-char返回对应数字的字符。函数char=(大于等于),char>(大于)和char/=(不同)用来比较字符。它们像数字比较

2012-10-15 21:51:09 9432

翻译 Lisp.集合

列表是一种表示小集合的好方式。列表中的每一个元素是它所代表的集合中的一个成员:[1]> (member 'b '(a b c))(B C)当member返回真的时候,它不是简单地返回t,而是返回以它找的元素为首的列表的一部分。逻辑上,一个cons可以代表t,并且使用这种方式函数能够返回更多的信息。默认地,member通过eql来比对对象。你可以通过一种叫做关键字参数(

2012-10-14 23:18:37 1482

翻译 Lisp.理解递归

学习递归的学生有时会被鼓励在纸上跟踪递归函数的所有调用。这种练习可能会有误导:程序员定义一个递归函数的时候,通常不会考虑因为调用它而产生的所有调用。如果有人非得以这一的方式来考虑程序,那么递归就是令人烦恼的,这可没有什么帮助。递归的好处是它的精确性,它让我们以从更加抽象的方式来观察算法。你可以不用考虑调用函数时所产生的所有的调用,就能判断出一个递归函数是否是正确的。要探明一个递归函数是

2012-10-14 22:35:32 2313

原创 RabbitMQ一些基本的管理操作备忘

一些基本的管理命令:一步启动Erlang node和Rabbit应用:./rabbitmq-server在后台启动Rabbit node:./rabbitmq-server -detached关闭整个节点(包括应用):./rabbitmqctl stop 怎样仅仅关闭应用而不关闭整个节点呢?因为rabbitmq-server一起启动了节点

2012-10-09 11:59:09 11808

ASGI 3.0规范中文版.pdf

ASGI规范 3.0;主要用于ASGI服务器的设计和开发提供基础协议规范,具体服务器实现有Django Daphne/Uvcorn这两个代表;现在Django 3 也直接集成了异步功能。

2019-12-20

Serious Python中文版.docx

Serious Python中文版(无关系数据库一章),希望对需要的同学有帮助。

2019-07-09

设计模式 书籍 程序设计

设计模式的经典巨著 参与写作的都是些牛人 哈

2009-03-13

Erlang programing

Erlang Programing Joe Armstrong

2008-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除