- 浏览: 12989 次
- 性别:
- 来自: 上海
最新评论
文章列表
读canal遇到的一些问题
- 博客分类:
- Java
1. 代码bug,见图bugofread
2. 为何选择多服务器的逻辑放在client端?而不是由Proxy来维护?对Client透明?
3. NodeAccessStrategy#nextNode有问题,总是顺序取ip,起不到负载均衡的作用。
java.net.InetSocketAddress
java.net.SocketAddress
import java.net.SocketAddress;
import java.net.InetSocketAddress;
import java.nio.channels.SocketChannel;
// 连接
SocketAddress address = new InetSocketAddress("127.0.0.1", 11111);
int soTimeout = 60000;
SocketChannel channel = Sock ...
面向对象:
static: 类方法,类变量,只执行一次的代码块
static class: 只适用于内部类,用来避免每个类都实现static main函数,用于测试代码。
final: 无法被继承的类,不能被覆盖的类方法,实例方法,只能赋值一次的类变量,实例变量,无法被改变的参数。
interface: 无方法实现,可以被class implements, 可以extends另一个interface。被implements的class实例也是interface实例, 从而获得多态性(一个对象在不同运行时,可以是不同的类的对象,但是同一个interface)。
class:只能ex ...
随着业务逻辑复杂度和team人数的增长,日渐膨胀的Model层代码需要一个统一的代码约定。
以下是我参考了别人的建议后给出的约定:
require/extend/include (they are dependencies)
associations, acts_as_*(they are relationships with either other models or other instances of same model)
constants, scopes, class methods(they are all 'class methods')
accesso ...
1.安装rvm
\curl -L https://get.rvm.io | bash -s stable
2.rvm安装依赖
rvm requirements
3.安装ruby/rails依赖
sudo apt-get update
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libx ...
Code Should Be Easy to Understand
What Makes Code "Better"
The Fundamental Theorem of Readability
Is Small Always Better
Does Time-Till-Understanding Conflict with Other Goals? like efficient, well-architected, easy to test
The hard part is it requires extra work to constantly think a ...
event.js为jQuery.fn增加了如下接口:
jQuery.fn.extend({
on: function( types, selector, data, fn, /* INTERNAL */ one ){},
one: function( types, selector, data, fn ){},
off: function( types, selector, fn ){},
bind: function( types, data, fn ){},
unbind: function( types, f ...
1.perl有两套变量系统。一由our声明,又叫全局/包/符号表变量.二是my变量,又叫私有/局部/词法变量。
2.perl4.0时,只有包变量。且没有our,没有use strict 'vars';
3.perl4.0时,程序员们终于受不了了(想像一下没有私有变量的日子),于是引入了一个轻量级的解决方案: local。
4.到目前为止,你只能local一个包变量,在所在块中,你可以尽情的操弄它,出了这个块,它还是原来的它。
5.local的效果是创建了一个dynamic scope,可能只有1%的情况会使用它。具体请见http://perl.plover.com/local.html
...
源: http://ruby.about.com/od/rubyversionmanager/ss/installrvmlinux.htm。
$ sudo apt-get install build-essential
$ sudo apt-get install curl
$ sudo apt-get install zlib1g-dev libreadline5-dev libssl-dev libxml2-dev
$ sudo apt-get install ruby1.8 rubygems1.8
$ sudo gem install rvm
Just open .bashr ...
比较大部分的对象类, 我们会发现它们都包含一个共同点: RBasic.
RBasic的定义是:
struct RBasic {
unsigned long flags;
VALUE klass;
};
flags的结构如下:
ruby中有一套FL_XXX宏来专门处理这个记录了对象在C层面的类型信息的标记.
klass这个指针指向一个类对象.对一个String的实例来说, 见下图:
大家应该能猜到, Ruby对象在响应消息时, 是通过klass来进行的.
String这个Ru ...
- 2009-07-16 17:18
- 浏览 968
- 评论(0)
Ruby世界中,万物皆对象. 用Ruby"写作"时, 书写下"名词", 对这些"名词"进行修辞: 用"形容词(修饰性的名词)"丰富它们, 用"动词"让它们活泼.用OO语言来说, "对象可以拥有属性, 并响应消息&q ...
VALUE是Ruby的C实现中用来"指向/引用/代表"所有Ruby对象的"指针"的统一的类型
通过统一类型,可以获得类似"多态"的好处,ruby实现起来就更为简洁(代码方面).
然后, 同样是出于实现的考虑(性能方面), VALUE并不全是指针:
1. 小的整数
2. 符号
3. true
4. false
5. nil
6. Qundef
以上六位就是所谓的"内嵌对象"(VALUE并不是内存地址,其代表的对象是内嵌在VALUE的数值中).
小整数的内嵌规则是:
#define ...
- 2009-07-15 18:16
- 浏览 985
- 评论(0)
Fixnum是实例可以内嵌在VALUE中的Ruby内置类之一.
INT2FIX宏将C中的int数值转换成VALUE
#define INT2FIX(i) ((VALUE)(((long)(i))<<1 | FIXNUM_FLAG))
#define FIXNUM_FLAG 0x01
(ruby.h)
能内嵌到VALUE中的数值(等同于Fixnum所表示的数值)的有效bit数至多为:
sizeof(VALUE)*8-1(否则数值的符号位会因左移而丢失).
而Fixnum是有符号的,故整数部分的bit数至多为:
sizeof(VALUE)*8-2(扣掉符号位).
VA ...
当然用ri来看文档细节
文本
base64.rb 处理Base64编码的模块
csv.rb CSV(Comma Separated Values)库 ruby 1.8 特性
digest.so 消息摘要库 请参考[ruby-src:ext/digest/digest.txt.ja]
digest/md5.so
digest/rmd160.so
digest/sha1.so
digest/sha2.so
erb.rb 嵌入Ruby(ERB) ruby 1.8 特性
iconv.so 字符串编码转换库
- 2009-02-19 13:08
- 浏览 1820
- 评论(0)