来自练习2.18 请定义出过程reverse,它以一个表为参数,返回的表中所包含的元素与参数表相同,但排列顺序与参数表相反: (reverse (list 1 4 9 16 25)) (25 16 9 4 1) 有几个难点: 0.不能采用(cons (reverse (cdr lst) ) (car lst))的方式.在cons过程中,如果表参数在前,那么出来的就是嵌套表而不是单独的表. 1.不能采用之前实现的append过程,例如(append (reverse (cdr lst)) (car…
1. 在 Analysis Service 分析服务中,Cube (多维数据集) 是以一个多维数据空间来呈现的.在Cube 中,每一个纬度的属性层次结构都形成了一个轴.沿着这个轴,在属性层次结构上的每一个成员包括 “ALL” 成员都在轴上占了一个点. 2. 包含度量值的纬度叫做事实纬度或者度量纬度,度量属性层次结构和其它属性层次结构的区别就是度量属性层次结构没有 ALL 这个成员. 3. 成员的引用 – 引用属性层次结构中的成员有很多方式,但基本的成员引用可以通过与它相关联的纬度和属性层次结构来…
题目要求是,修改练习2.18所做的reverse过程,得到一个deep-reverse过程.它以一个表为参数,返回另一个表作为值,结果表中的元素反转过来,其中的子树也反转. 例如: (define x (list (list 1 2) (list 3 4))) x ((1 2) (3 4)) (reverse x) ((3 4) (1 2)) (deep-reverse x) ((4 3) (2 1)) 方法也挺简单,思路跟reverse过程一样,用一个辅助的过程来完成任务,辅助过程带有一个空表…
此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.依赖也是哲学 (1)本质诠释:“不要调用我们,我们会调用你” (2)依赖和耦合: ①无依赖,无耦合: ②单向依赖,耦合度不高: ③双向依赖,耦合度较高: (3)设计的目标:高内聚,低耦合. ①低耦合:实现最简单的依赖关系,尽可能地减少类与类.模块与模块.层次与层次.系统与系统之间的联系: ②高内聚:一方面代表了职责的统一管理,一方面又代表了关系的有效隔离: (4)控制反转(IoC):代码的控制器交由系统控…
本书可作为王富强所著<<Spring揭秘>>一书的读书笔记  第四章 BeanFactory的xml之旅 bean的scope scope有时被翻译为"作用域",scope用来声明容器中的对象所应该处的限定场景或者说该对象的存活时间,即容器在对象进入其相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象. scope共有5个,singleton,prototype,request,session,global…
表示层能有什么疑惑?很简单,我们暂时忘记所有的框架,就写一个注册的servlet来看看. index.jsp <form id="form1" name="form1" method="post" action="loginServlet"> <table width="357" border="0" align="center"> <t…
前言 前段时间整理了ES6的读书笔记:<ES6读书笔记(一)>,<ES6读书笔记(二)>,现在为第三篇,本篇内容包括: 一.Promise 二.Iterator和for of循环 三.Generator 四.async 本文笔记也主要是根据阮一峰老师的<ECMAScript 6 入门>和平时的理解进行整理的,希望对你有所帮助,喜欢的就点个赞吧! 一.Promise 1. 执行顺序 let promise = new Promise(function(resolve, r…
第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notificationsService',function(notificationsArchive){ var MAX_LEN = 10; var notifications = []; return { push:function (notification) { var notificationToA…
第二章  创建数据集 本章概要 1探索R数据结构 2使用数据编辑器 3数据导入 4数据集标注 本章所介绍内容概括例如以下. 两个方面的内容. 方面一:R数据结构 方面二:进入数据或者导入数据到数据结构 理解数据集 一个数据集通常由一个表格组合而成,行表示观測,列表示变量. 病人的数据集如表1所看到的. 表1 病人数据集 数据集可以反映数据结构.数据类型和内容. 数据结构 R数据结构如图2所看到的. 图2:R数据结构 数据结构即数据的组织方式.R数据结构包含向量.矩阵.数组.数据框和列表等. R向…
Chapter 18 调 试 18.1 准备开始 1.准备工作: 一个bug 一个藏匿bug的内核版本 相关内核代码的知识和运气 2.执行foo就会让程序立即产生核心信息转储(dump core). 18.2 内核中的bug ##往往是经由连锁反应触发的.## 1.内核bug的原因: 错误代码(如没有把正确的值存放在恰当的位置) 同步时发生的错误(如共享变量锁定不当) 错误的管理硬件(如错误的控制寄存器发送错误的指令) 2.内核bug发作的症状可能有 降低所有程序的运行性能 毁坏数据 使得系统处…
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 3. 模块化.对象和状态 4. 元语言抽象 5. 寄存器机器里的计算 Chapter 2 构造数据对象 练习答案 带有通用型操作系统 这里讲会实现一个通用型的算术包,大概可以分为几个抽象层 add sub mul div四个操作,支持所有这个算术包里所有支持的数据 有理数算术 复数算术 常规算术 最…
第七章 动态创建标记 在web浏览器中往文档添加标记,先回顾下过去使用的技术: <body> <script type="text/javascript"> document.write("<p>This is inserted.</p>"); </script> </body>document.write:缺点就是违背了"行为与表现分离的原则",即使把这句语句挪到外部,还是…
十一:持有对象 >持有对象实例 ●数组将数字与对象联系起来.它保存类型明确的对象,查询对象时,不需要对结果做类型转换.他可以是多维的. 可以保存基本的数据类型.但是,数组一旦生成,容量就不会在变. ●Collection保存单一的元素,而Map保存相关联的键值对.有了泛型,你就可以指定存放的对象类型,获取的时候,也不需要类型转换.各种Collection与Map都可以自动调整大小.容器不能持有基本类型.但是会自动包装. ●像数组一样,List也建立数字索引与对象的关联.因此,数组和List都是排…
1.在Linux系统中,每个设备都被当成一个文件来对待,每个设备都会有设备文件名.比如 IDE接口的硬盘文件名为/dev/hd[a-d] 括号内的字母为a-d当中任意一个,即/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd四个文件. 装置 装置在Linux内的档名 IDE硬碟机 /dev/hd[a-d] SCSI/SATA/USB硬碟机 /dev/sd[a-p] USB快闪碟 /dev/sd[ap](与SATA相同) 软碟机 /dev/fd[0-1] 印表机 25针: /d…
Table of Contents 1 概论 1.1 procfs (/proc 文件系统) 1.1.1 编程接口 1.2 sysctl (/proc/sys目录) 1.2.1 编程接口 1.3 sysfs (/sys 文件系统) 1.4 ioctl 系统调用 1.5 netlink 套接字 概论 procfs (/proc 文件系统) 允许内核以文件的形式向用户空间输出内部信息. 可以通过cat, more和> shell重定向进行查看与写入. 编程接口 内核proc文件系统与seq接口(1)…
首先,让我们来看几个内建函数 (cons x y),作用是把x和y绑定成一个序对 (car z),作用是提取z序对的第一个元素 (cdr z),作用是提取z序对的第二个元素 容易看出,这个东西有点类似OO语言里的类,car和cdr是get方法,x和y是成员变量. 但是,但是! 函数式的编程方式,居然可以利用过程来实现这三个函数!实在是不可思议 下面具体看看实现的过程 (define (cons x y) (lambda (m) (m x y))) (define (car z) (z (lamb…
DOM操作 三个方面;DOM core    html-dom  css-dom 注意点: 删除事件中 三种删除节点的方法   remove   detach   empty remove不解释 detach  不会把匹配的元素从jquery对象中删除   保留 绑定的事件 附加的数据 <script type="text/javascript"> $(function(){ $("ul li").click(function(){ alert($(th…
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 3. 模块化.对象和状态 4. 元语言抽象 5. 寄存器机器里的计算 Chapter 3 模块化.对象和状态 练习答案 流 之前我们引入了用局部状态的计算对象来模拟现实世界里具有局部状态的计算对象,而这其中的复杂性来自被模拟对象随着事件变化的在计算机里是通过赋值实现的.那是否存在其他办法避免计算机里…
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 3. 模块化.对象和状态 4. 元语言抽象 5. 寄存器机器里的计算 Chapter 3 模块化.对象和状态 练习答案 用变动数据做模拟 当引入赋值后就可以在之前为那些复合数据对象提出改变函数 变动的表结构 针对cons的基本改变函数,set-car!和set-cdr!函数 共享和相等 ;: (de…
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 3. 模块化.对象和状态 4. 元语言抽象 5. 寄存器机器里的计算 Chapter 2 构造数据对象 练习答案 符号数据 这里其实只是引出了符号的表示,重点应该在实例中 实例:符号求导 列出有关求导的基本算法 按愿望思维,先提取出其中有关的基本过程和数据抽象,然后根据算法构造 (vairable?…
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 3. 模块化.对象和状态 4. 元语言抽象 5. 寄存器机器里的计算 Chapter 2 构造数据对象 练习答案 层次性数据和闭包性质 闭包 这个名词来自抽象代数,一集元素称为在某个运算下封闭,如果将这个运算应用于这一集合的元素,产生的依然是该集合的元素(闭包还有另一种意义,书里提到的都是这个性质…
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 3. 模块化.对象和状态 4. 元语言抽象 5. 寄存器机器里的计算 Chapter 1 构造过程对象 练习答案 用高阶函数做抽象 或许这就是函数式和面向对象各有吸引人的地方吧,函数式的硬通货是过程,面向对象则是对象 人们对功能强大的程序设计有一个必然要求,就是能为公共模式命名,建立抽象,而后直接在…
第三章 操作多个表 表连接的内连接和外连接 A表 B表id name id name 1 a 1 b 2 b 3 c4 c内连接就是左表和右表相同的数据,查询结果只有相等的数据:select * from A inner join B on A.id=B.id select * from A,B where A.id=B.id id name id name 1 a 1 b 外连接分为:左外连接.右外连接.全外连接左外连接就是以左表为准,去匹配右表,左表有多少条数据,结果就是多少条数据selec…
第三章 JDK并发包 1.同步控制 重入锁:重入锁使用java.util.concurrent.locks.ReentrantLock类来实现,这种锁可以反复使用所以叫重入锁. 重入锁和synchronized的比较: Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现. Lock有着显示的操作过程,由开发自己决定加锁和释放锁的时间,更为灵活.synchronized的获取和释放锁由JVM实现. Lock线程在获取锁的时候可以响应中断,s…
1.input元素中的多选的,单选,不选,涉及属性checked   2.select元素中的选中,涉及selected   3.表单的验证   4.表格隔行变色 $("tr:odd") //奇数行 $("tr:even") //偶数行 $("tr:contains('张三')") //选择包含contains的元素   选中行变色等效果.   筛选包含指定字的tr显示,涉及filter(). $("#CheckAll").c…
今天有人问我repalce(),他那个题目很有意思.我也不会做,于是我就去查,结果发现就是最基础的知识的延伸. 所以啊最基础的知识才是很重要的,千万不能忽略,抓起JS就写代码完全不知到所以然,只知道写,但是为什么这么写呢?不知道. 1.JS replace()方法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replacement) 参数 描述 regexp/substr…
第6章讲的是类型和成员基础 重要认知:虚方法 虚方法的设计原则:设计一个类型时,应尽量减少所定义的虚方法的数量. 首先,调用虚方法的速度比调用非虚方法慢. 其次,JIT编译器不能内嵌虚方法,这进一步影响了性能. 第三,虚方法使组件的版本控制变得更脆弱. 第四,定义一个基类时,如果希望一些方法是多态的,最好的办法是使复杂的办法成为虚方法,简便的成为非虚方法. 引申到定义类时应遵循的原则: 1. 定义类时,除非确定要将此类作为基类使用,否则总是显示指定为sealed类:      2. virtua…
1.MySQL数据库服务配置好后,系统会有4个默认的数据库. information_schema:虚拟对象,其对象都保存在内存中 performance_schema:服务器性能指标库 mysql:记录用户权限,帮助,日志等信息 test:测试库 查看当前的所有数据库: show databases //只显示当前用户拥有权限访问的所有数据库 删除数据库 drop database if exists db_name 创建数据库 create database if not exist db_…
一般的内存分配是指堆上的分配,但也可能经过JIT编译后被拆散为标量类型并间接地在栈上分配.对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配,少数情况下直接分配在老年代中,分配的规则并不是百分之百固定的.细节取决于哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数的设置. 一.对象优先在Eden分配 优先在新生代的Eden区中分配,当不够时,发起一次Minor GC. 二.大对象直接进入老年代 需要连续大量内存空间的Java对象,长字符串和数组等. 三.…
#定义函数,打开每一个文件,找到空行,将空行后的文本返回为一个字符串向量,该向量只有一个元素,就是空行之后的所有文本拼接之后的字符串 #很多邮件都包含了非ASCII字符,因此设为latin1就可以读取非ASCII字符 #readLines,读取每一行作为一个元素 #异常捕获是自己加的,书上没有,不加会出错,因为有些邮件没有空行 get.msg <- function(path){con <- file(path, open = "rt",encoding='latin1')…