<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ssjssh的专栏]]></title><description><![CDATA[计算机学科从来都是输入大于输出]]></description><link>https://blog.youkuaiyun.com/ssjssh</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ssjssh]]></copyright><item><title><![CDATA[Disruptor入门]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/37726577</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/37726577</guid><author>ssjssh</author><pubDate>Sat, 12 Jul 2014 15:38:00 +0800</pubDate><description><![CDATA[翻译自Disruptor git库教程

英文地址：https://github.com/LMAX-Exchange/disruptor/wiki/Getting-Started

获得Disruptor

可以通过Maven或者下载jar来安装Disruptor。只要把对应的jar放在Java classpath就可以了。

基本的事件生产和消费

我们从一个简单的例子开始学]]></description><category></category></item><item><title><![CDATA[动态语言比较学习--基础]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/16954031</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/16954031</guid><author>ssjssh</author><pubDate>Mon, 25 Nov 2013 23:29:05 +0800</pubDate><description><![CDATA[前言
写这个系列文章的目的就是在每一个小小的语法上面对于Python和Ruby进行比较。注意，我并不是简单的列一列他们的好处。这个过程首先非常有趣，而且是一个学习的好途径。为了比较，我把我的Python和Ruby的学习比较合成了一个学习笔记。通过比较两个语言里面的的长处和对方是怎么实现的，让我更加熟悉了。
源程序
命令行参数
Ruby：
       ARGV存放了所有的命令行参数
例]]></description><category></category></item><item><title><![CDATA[我的Python3学习笔记（3）：面向对象]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/16858847</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/16858847</guid><author>ssjssh</author><pubDate>Thu, 21 Nov 2013 12:09:59 +0800</pubDate><description><![CDATA[面向对象
模块
导入
Python导入有两种形式
一是importmodule，这种形式还得写全名。不同于Java
例如：
import cmath
cmath.sqrt
另一种是
from module import function.
from somemodule import somefunction, anotherfunction, yetanotherfunction]]></description><category></category></item><item><title><![CDATA[我的Python3学习笔记（2）：python函数式编程]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/16858491</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/16858491</guid><author>ssjssh</author><pubDate>Thu, 21 Nov 2013 11:38:02 +0800</pubDate><description><![CDATA[函数式编程
深拷贝
>>>from copy import deepcopy
>>>d = {}
>>>d['names'] = ['Alfred', 'Bertrand']
>>>c = d.copy()
>>>dc = deepcopy(d)
>>>d['names'].append('Clive')
>>>c
{'names':['Alfred', 'Bertrand', 'Clive']]></description><category></category></item><item><title><![CDATA[我的Python3学习笔记（1）：python基础]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/16857325</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/16857325</guid><author>ssjssh</author><pubDate>Thu, 21 Nov 2013 10:53:27 +0800</pubDate><description><![CDATA[Python基础
数学运算

新旧除法
在新的Python中，使用的不是传统C语言中的地板除，而是用的完整数学意义上的除法。原来的地板除则使用//来代替。在新的Python中，使用的不是传统C语言中的地板除，而是用的完整数学意义上的除法。原来的地板除则使用//来代替。


整数
在Python，ruby和Scala中，都可以用int型来表示大数。

标准输入输出

输入]]></description><category></category></item><item><title><![CDATA[计算机程序的构造与解释作业：练习1.16到1.19]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/15340341</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/15340341</guid><author>ssjssh</author><pubDate>Mon, 11 Nov 2013 17:05:42 +0800</pubDate><description><![CDATA[1.16 这个题目就是直译一下题目里面的公式。看开始我看了一下前面的题目，就高高兴兴的写出来了。如下：

(define (even? n)
		(= (remainder n 2) 0))

(define (fast-expt b n)
		(cond((= n 0) 1)
			((even? n) (fast-expt (* b b) (/ n 2)))
			(else (* b (]]></description><category></category></item><item><title><![CDATA[计算机程序的构造与解释作业：练习1.11到1.13]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/13288051</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/13288051</guid><author>ssjssh</author><pubDate>Mon, 28 Oct 2013 09:25:15 +0800</pubDate><description><![CDATA[1,11 首先使用递归就是把这个函数直接翻译成Scheme

(define (f n)
	(cond ((< n 3) n)
		(else (+ (f (- n 1)) (f (- n 2)) (f (- n 3))))))


如果使用的是递归，那么这个思路就是首相给每个计算中间值设定一个状态变量。




(define (f n)
	(f-iter n))

(d]]></description><category></category></item><item><title><![CDATA[计算机程序的构造与解释作业：练习1.9到1.10]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12874887</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12874887</guid><author>ssjssh</author><pubDate>Sat, 19 Oct 2013 20:42:42 +0800</pubDate><description><![CDATA[1.9 
第一个过程显然是递归，用替换模型张开后，这个过程是一个先增大后减小的过程。从状态变量的反面来说，a在这个过程里面存储了一个状态，他是一个计数器（判断是不是变量一个状态变量的基本方法就是这个变量是不是可变）。但是b则完全没有状态，这个程序的结果依赖于每一个中间步骤，这个过程的执行也不能停下来。
而第二个过程则是铁定的过程，因为a和b都是一个状态变量。a是一个计数器，b则就是结果。因此这]]></description><category></category></item><item><title><![CDATA[计算机程序的构造和解释作业：1.6到1.8]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12873227</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12873227</guid><author>ssjssh</author><pubDate>Sat, 19 Oct 2013 18:32:55 +0800</pubDate><description><![CDATA[(define (new-if pre then-clause else-clause)
	(cond (pre then-clause)
		(else else-clause)))
(define (sqrt-iter guess target)
	(new-if (good-enough? guess target)
		guess
		(sqrt-iter (improve guess t]]></description><category></category></item><item><title><![CDATA[计算机程序的构造与解释作业：练习1.1到1.5]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12857815</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12857815</guid><author>ssjssh</author><pubDate>Fri, 18 Oct 2013 20:16:05 +0800</pubDate><description><![CDATA[1.1，我用的是kawa，这是用java实现的一个scheme的解释器，kawa（在window下直接双击打开就可以运行）
#|kawa:1|# 10
10
#|kawa:2|# (+ 5 3 4)
12
#|kawa:3|# (- 9 1)
8
#|kawa:4|# (/ 6 2)
3
#|kawa:5|# (+ (* 2 4) (- 4 6))
6
#|kawa:6|#]]></description><category></category></item><item><title><![CDATA[Ruby，Scala和JavaScript中的函数式编程(一)]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12176447</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12176447</guid><author>ssjssh</author><pubDate>Sun, 29 Sep 2013 20:42:19 +0800</pubDate><description><![CDATA[函数式编程（英语：Functional programming）或者函数程序设计，又称泛函编程，是一种编程范型，它将电脑运算视为数学上的函数计算，并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算（lambda calculus）。而且λ演算的函数可以接受函数当作输入（引数）和输出（传出值）。
从具体的编程语言实现来来看，数据的不变性，一等函数，高等函数，lambda运算，闭包，]]></description><category></category></item><item><title><![CDATA[Ruby和JavaScript对象模型的比较]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12143005</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12143005</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 20:43:52 +0800</pubDate><description><![CDATA[概要
Ruby和JavaScript都是动态脚本语言，他们有许多地方是类似的。比如函数都是一等对象，都有高阶函数等等。。。但是我觉得最像的要属他们的对象模型，比如：他们的类型不伦不类，对象非要搞得像一个属性槽。
Ruby的对象模型
Ruby，一种为简单快捷面向对象编程而创的脚本语言。他的最大的特点就是面向对象的模型和元编程的能力，Ruby是完全面向对象的，没有任何的原始类型。要注意的是：Ru]]></description><category></category></item><item><title><![CDATA[求贤（Scala，Groovy，Clojure）]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12126867</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12126867</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 13:34:40 +0800</pubDate><description><![CDATA[我本人学过Scala，故现在求一个会Groovy 或Clojure的大神同时做这个项目（注意不是合作，是各做各的）。为的就是比较一下Scala和其他JVM语言的方方面面。到时候我会把项目的各个文件都放到优快云上（会把Matlab函数打包成jar提供，还有项目原型），然后每天的进度和代码也都会贴到优快云上。这个系统是用来识别邮票的，有一个标准的邮票库DataSet，还有一些从淘宝上得到的邮票图片用来做算法的测试。]]></description><category></category></item><item><title><![CDATA[Scala学习笔记之Scala标准库]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12126685</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12126685</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 12:52:15 +0800</pubDate><description><![CDATA[IO

  1.打开Source.fromFile(filename,encoding)
  2.关闭source.close
  3.获取所有行，getLines
  4.迭代行用source.getLines
  5.迭代字符用source
  5.buffered不移动文件指针但是可以读取字符
  @注意文件读取有一个文件的指针，如果文件都到结尾就不能在读到文件了。

隐]]></description><category></category></item><item><title><![CDATA[Scala学习笔记之面向对象]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12126521</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12126521</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 12:46:26 +0800</pubDate><description><![CDATA[创建对象

val greetStrings = new Array[String](3)
如果类还实现了apply方法，那么可以简写
val greetStrings = Array[String](3)

object



1.object声明时和类声明时一样
2.一个object可以继承一个类的实现,并可以覆盖方法
3.java中的所有接口在scala中都可以用做特]]></description><category></category></item><item><title><![CDATA[Scala学习笔记之Scala函数及函数式编程]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12126477</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12126477</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 12:40:06 +0800</pubDate><description><![CDATA[Scala函数及函数式编程


函数声明



函数相当于Java中的静态方法:除了递归之外不需要声明返回类型
  as：def as（x:Double）={if(x>=0) x else -x}
  as2:def fac(n:Int):Int={if(n
  as3:def fvb(){
注意：一，函数声明中并没有声明变量是否可变。
二.不写没有返回值的方法必须用大括号]]></description><category></category></item><item><title><![CDATA[Scala学习笔记之Scala基础]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12126467</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12126467</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 12:34:31 +0800</pubDate><description><![CDATA[Scala基础



Scala中的每一个表达式都有一个值

变量声明



1.val不变量，var变量，建议使用val，申明不用加类型
2.加类型申明：val xmax，ymax：String = null

val细节

val声明的变量仅仅不允许引用重新分配，而不阻止对象内部的变化

Unit

scala中的()叫做Unit类，相当于其他语言中的vo]]></description><category></category></item><item><title><![CDATA[Scala学习笔记之Scala特性]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12126437</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12126437</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 12:31:36 +0800</pubDate><description><![CDATA[Scala



scala特性


动态性

scala 就像动态语言，使用了类型推测

scala不需要分号
输入输出内建

scala输入readXXX，输出print或者println，注意不需要引入任何东西

没有break和continue
默认参数

scala有默认参数，规则和C++一样

重载操作符
类型转换

由于scala中的所]]></description><category></category></item><item><title><![CDATA[Ruby学习笔记之反射和元编程]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12125803</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12125803</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 12:09:02 +0800</pubDate><description><![CDATA[反射和元编程


匿名Class对象

如果把一个Class对象，赋值给一个常量，那么这个常量就是一个类名。因此在Ruby中每一个类都是一个Class常量对象。因此Object.class = Class
例子:
C = Class.new # A new class with no body, assigned to a constant
c = C.new # Create a]]></description><category></category></item><item><title><![CDATA[Ruby学习笔记之面向对象]]></title><link>https://blog.youkuaiyun.com/ssjssh/article/details/12125253</link><guid>https://blog.youkuaiyun.com/ssjssh/article/details/12125253</guid><author>ssjssh</author><pubDate>Sat, 28 Sep 2013 12:01:52 +0800</pubDate><description><![CDATA[面向对象


创建对象

a_book = BookInStock.new
another_book = BookInStock.new

类声明



class BookInStock
def initialize(isbn, price)
@isbn = isbn
@price = Float(price)
end
def to_s
"ISBN: #{@i]]></description><category></category></item></channel></rss>