- 浏览: 38791 次
- 性别:
- 来自: 上海
最新评论
-
uaymt:
增加刻度盘与时间的数值显示:
require 'observe ...
设计模式 观察者模式 -- ruby/tk小时钟 -
uaymt:
上文中的 getPointAngle 函数有错误, “90.0 ...
设计模式 观察者模式 -- ruby/tk小时钟 -
uaymt:
这确实是个很好的观察者设计模式的范例!对程序优化及简化如下:只 ...
设计模式 观察者模式 -- ruby/tk小时钟
文章列表
一 Python中一切都是对象。
既然python所有的一切都是对象,那么从另一个角度去对待python中的面向对象---没有传统的类型,只有对象,类型也是对象。
那么又怎么去判断哪个是类型哪个是实在的对象呢?
python中有两类对象,一类就是type,一类就是实例对象,通过'class'语句来创建类型(type)对象(传统的定义一个类),通过'()'来创建普通的非类型对象。
用'class'语句来创建一个类型对象,免不了又要掉到传统的类型中去,再讲一个秘密:
python如何实例化对象?
通过使用type对象的__new__方法和__init__方法来创建和初始化对象, ...
0 准备
0.0 一个ubuntu server裸机(什么都没安装)
0.1 更新源列表 :
apt-get update
0.2 安装 emacs:
apt-get -y install emacs23
0.3 拷贝需要的包
1 配置mail
1.1 配置fqdn
/etc/hostname: mail
/etc/hosts mail.XXX.com mail localhost localhost.localdomain
测试: hostname -f
1.2 初步安装 大致安装一下
(因为有3个文 ...
基础安装
1.首先确定远程机器能上网,测试一下本地机器与远程机器能否互联,可以ping一下远程机器,当然要保证远程机器能响应icmp请求。可以通过检查在/etc/sysctl.conf文件中是否有
net.ipv4.icmp_echo_ignore_all = 1
这一项,如果有或者没有也ping不通的情况下将这个net.ipv4.icmp_echo_ignore_all的值设置为0重启:
sudo sysctl -p
2.测试当前机器是否能ssh上
ssh kimbo@192.168.18.112
如果登录成功,就忽略下 ...
以前看用java实现设计模式,很是头疼,那么多的java概念融合在里面,完全影响了对模式自身的理解。实现起来也是相当麻烦。但是在ruby中,模式理解起来是那么的容易,倒是觉得使用ruby来理解设计模式挺靠谱的。
先介绍一种模式-观者者模式。
百度百科名片 写道
观察者<Observer>模式(有时又被称为发布-订阅<Publish/Subscribe>模式、模型-视图<Model/View>模式、源-收听者<Source/Listener>模式或从属者<Dependents>模式)是软件设计模式的一种。在此 ...
那天写了一篇文章用于在不提交表单的情况下,重置form的reset后的值,但是那个方法有两个缺点,而这两个缺点是致命性的,1,textarea控件没办法解决,2, ie不支持,正因为第2个原因,所以不能使用这种方法。
但是,这种方法也提供了解决这个问题的思路:我们要在表单保存的时候,记录下当前控件的值,然后在reset的时候恢复这个值。既然浏览器做不了,只能在代码中做了。其实就是在保存的时候,用一个属性值来记录下控件的值,然后我们自己实现form的reset的方法,这个方法用来读取这个属性的值,重新赋值。
赋值代码:
function chang ...
背景: 产品要求提供ajax交互的体验方式,然后一张页面有那么多的表单,每个表单还有那么多的字段,而且当前页面只能显示一个form(其他form隐藏)所有的form表单的修改,添加都是在当前的页面内完成。
一个字段一 ...
偶然今天看到了《松本行弘的程序世界》一书,作者对静态类型和动态类型的优缺点做了详细的解释:
静态类型的优点:
1, IDE聪明的提示,因为静态类型的语言的类型是确定的,所以编辑器可以知道当前的变量有哪些属性和方法。
2, 编译的时候能够发现类型不匹配的错误,而动态语言至多只能发现语法错误。
3, 我们在开发过程中明确了某些变量在程序中扮演了什么角色,这是开发可靠性高的程序所必须的。
静态类型的确定:
1, 因为要定义数据类型,程序的规模也变得很大,编程应该考虑程序的本质,而不是把精力集中于一个个数据类型的定义。
...
不同浏览器下的缓存实现
- 博客分类:
- JavaScript
在浏览器的缓存数据的方式除了cookie之外,还可以有其他方法,但各个浏览器的支持的方法不一样,比如ie就不支持localstorage,写了一个util来屏蔽浏览器中实现缓存的差异,但是有些差异是不可避免的,比如存储的大小。
/**
* 根据浏览器的类型,判断出存储数据的方式
* @enum {number}
*<pre>
*[saveType = 1] 利用localStorage 的方式存储数据
*[saveType = 0] 利用userdata 方式存储数据 ie 浏览器
*&l ...
一,
Ubuntu下环境的配置
1,安装JDK
首先安装java的jdk,我是从新立得软件包中安装:
sudo apt-get install sun-java6-jdk (jdk的版本取决于你的ubuntu版本)
安装后的jdk的目录是:/usr/lib/jvm/java-6-sun-1.6.0.26/。安装好jdk
搭了一个ftp站点,没想到的是利用客户端的时候,服务器当掉了,于是自己写了一个下载ftp站点的脚本,脚本不大,不超过30行。可能利用了一点函数式的编程思想吧。
源代码:
#/usr/bin/env python
import ftplib, sys, os
local_root = '/home/calvin/learn/tsace'
host = 'localhost'
username = 'jesse'
passewd = '123456'
f = False
writeFile = lambda filename: open(filename, 'w' ...