lisp 里的 ,@ 反引号 的解释
刚接触lisp 的童鞋,看到宏代码的时候,基本都会遇到这个问题哈。【,@】 【】 中间包括的那俩个符号代表啥意思? 会郁闷很久的。 解释在这里: 反引号 (Backquote)反引号读取宏 (read-macro)使得从模版 (te...
lisp 习题 钱币换算问题
定义一个函数,接受一个整数 cents 并返回四个值,将数字用 25- , 10- , 5- , 1- 来显示,使用最少数量的硬币。(译注: 25- 是 25 美分,以此类推)CL-USER> (defun cents (n) (if (no...
lisp 习题 区分非递减的列表
给出一个列表,当且仅当 所有元素不是递减的时候返回 true CL-USER> (defun not-r (lst) (if (or (null lst) (= 1 (length lst)...
求无序数组总第n大的数
微博里内容了,原文是求 无序数组中第二大的数。 实际编程实践中,不可能只求第二大,我扩展为第n 大 给出lisp 的代码: 一个基于 list 的,一个是基于数组的。 CL-USER> (defun get-nth-max (lst n)&nb...
PG 里面的只读用户,只读数据库
pg 里面如何实现一个用户的只读访问呢? oracle 里 我们通过对每个对象的单独的授予 select 权限,解决。整个数据库级别的只读怎么做? oracle 里应该是对应到schema 级别的,设置表空间只读。pg 下面怎么做呢? PG ...
lisp 习题 用列表元素标识文件一行。
定义一个函数,接受一个文件名并返回一个由字串组成的列表,来表示文件里的每一行CL-USER> (defun pseudo-cat (file) (with-open-file (str file :direction :input) (let ((x nil))&nb...
基于pacemaker 的高可用集群架构----2 一个示例
示例是搭建一个高可用性 KVM 系统: 需要的组件 :pacemaker,corosync, libvirt,qemu-kvm and open-iscsi 可以在centos 6.1 版本上完美安装 &n...
基于pacemaker 的高可用集群架构----1 基础介绍
这是一个demo版的演习: 源作者 :Florian Haas 发表于 linuxjournal.comhttp://www.linuxjournal.com/content/ahead-pack-pacemaker-high-availability-stack高可用集群的几个主要组件: Cluster Storag...
lisp 习题 矩阵旋转
给定一个方形矩阵 (m = n) 做顺时针90度转换:CL-USER> (turn #2a((a b)(c d)))#2A((C A) (D B))1 2 3 7 4 1 &nbs...
lisp 习题 occurrences
定义一个函数,接受一个列表并返回一个列表,指出相等元素出现的次数,并由最常见至最少见的排序:> (occurrences '(a b a d a c d c a))((A . 4) (C . 2) (D . 2) (B . 1))(defun cnt-item (item lst) ...
lisp 习题 occurrences
定义一个函数,接受一个列表并返回一个列表,指出相等元素出现的次数,并由最常见至最少见的排序:> (occurrences '(a b a d a c d c a))((A . 4) (C . 2) (D . 2) (B . 1))(defun cnt-item (item lst) ...
lisp 习题 post+
假设函数 pos+ 接受一个列表并返回把每个元素加上自己的位置的列表:> (pos+ '(7 5 1 4))(7 6 3 7)CL-USER> (defun post+ (lst) (and (listp lst) ...
lisp 习题 (member '(a) '((a) (b))) 为什么返回nil
为什么 (member '(a) '((a) (b))) 返回 nil?CL-USER> (member '(a) '((a) (b)))NILCL-USER> (member '(a) '((a) (b)):test #'equal)((A) (B))CL-USER> (member 'a '((a) (b)):key #'car)((A) (B))CL-USER> ...
lisp 习题 our-union
写一个保留原本列表中元素顺序的 union 版本: > (new-union '(a b c) '(b a d))(A B C D)CL-USER> (defun our-union (fi...
PG 优化器的精彩
我们先看下面sql:[code]postgres=# SELECTpostgres-# (postgres(# SELECT string_agg(x, '')postgres(# FROM (postgres(# &nb...
PG 数据库恢复实战
早上, 同事在在做pg归档日志的清理的时候,执行代码的当前目录错了,导致删除了pg数据库的数据文件, 二进制代码,lib 包因为是内部使用库,只有dba 在用,没有做streaming 复制,只有备份,故障发生时,数据库没有...
linux-HA 系统运用在pg数据库的一些想法
pg 数据库采用streaming 复制, 或者采用drdb 做文件系统的复制如果采用drbd 则从库就不能提供只读访问了。 所以我们优先讨论streaming 复制的情况下。 1) pg的主从库的标记不足, 从库只...
PG 流复制的隐患以及处理措施
pg 的streaming复制,带来了pg的春天,数据零丢失确实很诱人,在一主一从的m-s模式下,也有一点隐患。 pg的streaming 默认是开启了 同步复制的。即 master 的事务需要等待日志写入从库,并在从库提交,主库才会返回...
heartbeat 报错 string2msg_ll
搭建了另一套linux-HA 的集群,用的默认配置,起来后, 原来测试的集群里认识到了这两台新的机器,crm_mon 显示这个新机器是down 的,/var/log/message 显示一下信息。 Jul 20 06:58:51 dba-test-11-97 last m...
nagios 插件引发的 数据库告警
pg 从库的日志里告警如下: psql postgres postgres [local] 2012-07-13 09:54:13 CSTERROR: cannot assign TransactionIds during recoverypsql postgres postgres [local] 2012-07-13 09:54:13 CSTST...