北京

启动PostgreSql远程连接

启动PostgreSql远程连接 PostgreSql安装后,默认是不允许远程连接的,需要进行一些配置。配置有两种办法,一种是界面配置,另外一种通过修改文件(界面配置也就是修改文件的)。界面配置方法: 打开pgAdmin,工具-服务器配置。 1.配置postgresql.conf 2.配置pg_hba.conf修改文件方法:1.修改PostgreSQL9.2datapostgresql.conf,将listen_addresses的值修改为’*’,监听所有IP。如下:listen_addresses = ‘*’2.修改PostgreSQL9.2datapg_hba.conf,将注释着IPV4的127.0.0.1修改数据库服务器IP,如下:TYPE DATABASE USER ADDRESS METHOD #IPv4 local connections: host all all 192.168.1.20/24 md5注:24对应服务器网关为255.255.255.0 32对应服务器网关为255.255.255.255 配置完成后,重启PostgreSQL服务。关于pg_hba.conf中的几个参数说明:TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 md5 这里面的字段的含义是:连接类型、可用数据库名、使用者、DIDR地址、验证方法 一、TYPE可选择local或者host,分别区分只能本地,与可远程二、DATABASEall或者具体数据库的名字三、USERall或者指定用户的名字四、DIDR-ADDRESS这个是指地址与掩码,指示一个IP或者IP网段,格式 IP/掩码。掩使用小于等于32的正数来表示。 掩码24,表示255.255.255.0 说明高24位是1. 掩码32,表示255.255.255.255,说明高32位是1.即这个掩码只表示当前一个IP地址。 所以直接使用32来表示一个指定的IP。五、METHOD验证方法可以选择以下几个: reject :拒绝访问 md5 :以MD5作为hash编码 password :密码作为明文传输 krb5 :密码以krb5作为hash编码 trust :可信任的

代码设计的几个基本原则【转载】

原文网址:http://www.cnblogs.com/mailingfeng/archive/2012/09/13/2683246.htmlOCP(Open-Close Principle)开闭原则 Software entities should be open for extension,but closed for modification,(在设计一个模块的时候,应当使这个模块可以在不被修改的前提下扩展)。 对扩展开放open,对修改关闭close。 如何实现? 1.抽象化是关键 2.对可变性的封装原则(Principle of Encapsulation of Variation EVP)。 3.对可能的拓展预留接口 备注: 1) 对于抽象化, 我的理解是, 接口是相对稳定的, 实现是根据需求多变的. 对于大多数可能预料的变化点, 我们可以抽取出共性或者常态点, 进行接口的封装, 而选择不同的实现类嵌入模块, 从而达到可扩展的作用. 2) 对于某个业务点, 可能以后有多种介入处理的情况, 那么这时候可以将业务抽象成事件(event)接口和监听器(listener)接口, 不同的处理需求生成不同的listener, 接入模块的listener收集器, 从而得到业务点的介入机会. 最后达到功能的扩展. 典型容易理解的例子,工厂模式。当需要新增加一个类的时候,直接继承product接口就可以了 , 由工厂类来组装产生需要的product, 而不用大范围修改原有代码。OCP~Liskov Subsitution Principle(LSP)里氏代换原则 就是子类可以代替父类出现的任何地方,在抽象的时候,重要的要理解的一个地方两个类之间是什么关系,是“has-A”?还是“Is-a”的关系。在 “has-a”的关系中,两个类存在的是依赖的关系(在类A里面存在类B的的变量);在“Is-a”的关系中,可以提取这两个类的“共同代码”放在抽象类 C中,然后A,B继承与C,这也是一种重构。Dependency Inversion Principle(DIP)依赖倒转原则 就是在我们编程的时候方法的参数类型,变量,对于其他具体类的依赖,我们尽量的使用抽象类 。 就是说尽量依赖于抽象,而不是依赖于实现。 在书中两种表述: (1),Abstraction should not depend on details.details should depend on abstraction. (抽象不应当依赖于细节,细节应当依赖于抽象)。Abstraction就像是建筑物的基础,而其实现类就是在基础上面一层一层的往上面走。你拆掉最上面 那层,和拿走最下面的基础,有什么不同了,这就是差异了。所以Abstraction是要相当的稳定,是维护的重点。也正是因为稳定,所以我们尽量的依赖 于Abstraction,既是稳定系统,也是灵活系统。 (2),Program to an Interface,not an implementation(要针对接口编程,不要针对实现编程) 应当使用java接口和抽象java类进行变量的类型声明,参数的类型声明,方法返回值的类型和数据类型的转换。 备注: 依赖倒转原则的作用在于多模块或者类间有统一的"知识", 都知道有这个接口, 都知道这个接口是这样用,会返回什么数据. 至于最初的实现类是什么, 只有提供该接口功能的实现类自己关心, 其他模块或者类只管用就行了. 即使以后需求更改, 实现会换成别的一个, 其他模块和类也无需修改代码. 例如A模块提供了一个接口是: List getProducts() 而B和C会使用该模块, 他们只知道这个方法就会返回List , 他们知道List和Product代表什么. 但他们不会管你的接口内部是使用List list = new ArrayList() , 还是List lis = new LinkedList() 或者具体的Product是什么(可能是衣服,鞋子等)Interface Segregation Principle(ISP)接口隔离原则 限制一个实体对另一个实体通信时候的宽度。 就是一个类对另外一个类依赖的时候,应当是建立在最小的接口上面。对于接口隔离原则来说,有两种接口,一种是真正意义上面的“java 接口”Interface;另外一种是指一个类的方法的集合。对于这来两种有,两个接口隔离的原则,对于一个类里面的方法的集合的接口隔离,我们称作是 “角色隔离原则”;另外一种叫做“定制服务”。 定制服务,就是一个类,我给你这个客户端一些方法,我放在一个java接口(Interface)里面。给另外一个客户端另外一些方法,放在另外一个接口(Interface). 角色隔离原则,是指客户端要多个不同的类的方法,我们就搞几个不同类别的接口(Interface),在书中,这么比喻的,就相当于电影剧本里面的人物,我们找人来演,这个人就是具体的类。这就叫做角色隔离原则。Composition/Aggregation Reuse Principle(CARP)组合/聚合复用原则 就是说要尽量的使用合成和聚合,而不是继承关系达到复用的目的。 其实这里最终要的地方就是区分“has-a”和“is-a”的区别。相对于合成和聚合,继承的缺点在于:父类的方法全部暴露给子类。父类如果发生变化,子类也得发生变化。聚合的复用的时候就对另外的类依赖的比较的少。Least Knowledge Principle(LKP)最少知识原则,又称为“Law of Demeter”迪米特原则。 和ISP接口隔离原则一样,限制类与类之间的通信。ISP限制的是宽度,而LoD迪米特原则限制的是通信的广度和深度。 LoD在广度上面,尽量减少远距离类的关联,而使用与自己有关的类,并且也与远距离类有关的类。 可是这种做法有一点麻烦。多个远距离类产生关联的时候,不怎么容易处理,所以增加一个远距离类的抽象类。所有的远距离类都是通过抽象类的形式来访问。 在深度上面,控制权限是最重要的,对于类,一个是default 和public,尽量最小权限;对于成员,private,default,protected,public。往上面走,权限越小,依赖的耦合就越小。 有几种描述: (a)Only talk to your immediate friends. (b)Don’t talk to strangers. 设计模式“facade”,"调停者模式"。在这里是IoD的典型表现。 备注: 当一个系统比较大的时候, 如果所有的模块都自己去寻找与自己相关的类的时候, 那么引用关系就会变得极度复杂, 耦合度高. 这个时候最好就设定一个为各个模块所熟悉的对象, 例如Context容器. 另外,各个模块可以应用facade模式, 提供一个简单的对外接口, 并将其嵌入Context容器. 这样, 模块间通过熟人Context来获取其他模块的Facade接口,…

小米音效增强

小米的音效,还算是一般吧!如果把音量放到最大,偶尔会听到一些爆音。这里强烈推荐使用DSP管理器,来进行管理。这边已经由puterjam进行整理打包好的工具了。puterjam就是pjblog的大神,相当不错一款博客程序。我对这些音效也算是个音盲,可用过Beats Audio + DSP 管理器后,也能十分的发现音效的确变了,音效可以自己选择,我选择的是改变的低音,这样听起来深沉些。 截图:    安装方法:方法1:第一次安装前先执行 1.备份系统文件.bat 根据引导即可自动完成安装。方法2:执行 1.备份系统文件.bat 后中断继续安装流程,可以选择不带DSP的安装方式 2.安装(不带DSP).bat (注意:已经安装过7.1版本的,备份文件系统是无效的,请参考安装问题解决中的 6.1或者6.2 来解决卸载问题)卸载方法:3.卸载.bat 不用多说了吧 (卸载的时候,自动把system_bak目录中备份的文件进行覆盖,需要手动制作备份文件的请参考安装问题解决中 的 6.2 说明) ————————————————— 我是分割线 —————————————————安装问题 Q&A 1. 安装失败的问题,建议在 MIUI V4 (我是最新的2.6.29版本)下试试看(其他版本系统没尝试过),如果是android 2.3内核的这个不保证可以安装。 2. DSP安装有问题的,可以尝试下载 去掉DSP 的audio_effects.conf 的文件 覆盖/system/etc/audio_effects.conf 下的文件,别忘记修改权限成644 wr-r-r 以及用RE删除 /system/app/DSPManager.apk 可以保留BA的音效 3. 如果还出现其他问题,小米手机可以切换到另外的系统来修复。 4. 安装先关闭 豌豆莱或者QQ手机管家等软件,避免adb server冲突 5. 如果发现copy文件失败,请手动执行一下 adb root 后在执行install.bat6. 安装方式因为修改到了系统文件可能会导致OTA升级时文件验证失败而无法升级系统,7.1号安装的朋友请根据一下方式解决6.1 情况1: 如果是 2.6.29 的系统,可以下载这个版本对应的系统文件,解压到心的安装包里system_bak目录下,然后执行 3.卸载.bat 进行系统文件还原。6.2 情况2:如果不是这个系统的,需要自己找到对应系统的的几个文件按照system的目录结构放到system_bak目录中进行还原 系统升级需要检查的文件列表, 这些文件可以在您的系统对应的完整安装里找到/system/etc/audio_effects.conf/system/lib/soundfx/libvisualizer.so/system/lib/soundfx/libreverbwrapper.so/system/lib/soundfx/libbundlewrapper.so/system/lib/soundfx/libaudiopreprocessing.so/system/lib/libwebrtc_audio_preprocessing.so/system/lib/libSR_AudioIn.so/system/lib/libaudcal.so/system/lib/libacdbmapper.so_复制代码_对应备份目录的结构图6 天前 上传下载附件(17.06 KB)发送到手机 最后同样执行,3.卸载.bat 进行系统还原后进行OTA升级。 7. 最后,还是需要你要胆大心细 :P原文地址:http://www.miui.com/thread-630072-1-1.html下载地址:http://l3.yunpan.cn/lk/080fswmvve

很漂亮的火山喷发的摄影照片

很佩服那些为了追求自然景观,竟然跑到火山口,摄影的人,看看他们带回来的漂亮、惊险的摄影照片吧!很喜欢这张,天空和火山共存的,一边是火山的喷发,一边是宇宙的浩瀚。还带闪电的。更多的看原文。40张惊险的火山喷发摄影照片

myeclipse插件安装

myeclipse7以前都是可以很容易通过link方式来安装eclipse的插件的,自从myeclipse7以后,myeclipse修改的安装配置的方式,直接用link方式安装插件很麻烦,这里找到一个用link方式的插件配置代码的生成器,用这个安装,简单的一米,推荐必备软件。步骤如下1.比如给myeclipse10安装hibernate的插件,我的hibernate插件之前是eclipse3.2的版本安装的里面。在D:toolsMyEclipse 10MyEclipse 10建立myplugins文件,将hibernate插件放入文件中,不要有eclipse的目录。hibernate插件目录如下    D:toolsMyEclipse 10MyEclipse 10mypluginshibernatepluginscom.hudson.hibernatesynchronizer_3.1.9_lclgv1.02.使用MyEclipse插件配置代码生成器,修改里面的路径import java.io.File;import java.util.ArrayList;import java.util.List;/** * *@ClassName : PluginConfigCreator@ClassDescription : MyEclipse插件配置代码生成器@Author : dapeng@CreateTime : 2011-12-18 下午8:39:31 */public class PluginConfigCreator {public PluginConfigCreator() {}public void print(String path) { List<String> list = getFileList(path); if (list == null) { return; } int length = list.size(); for (int i = 0; i < length; i++) { String result = ""; String thePath = getFormatPath(getString(list.get(i))); File file = new File(thePath); if (file.isDirectory()) { String fileName = file.getName(); if (fileName.indexOf("_") < 0) { print(thePath); continue; } String[] filenames = fileName.split("_"); String filename1 = filenames[0]; String filename2 = filenames[1]; result = filename1 + "," + filename2 + ",file:/" + path + "/" + fileName + "\,4,false"; System.out.println(result); } else if (file.isFile()) { String fileName = file.getName(); if (fileName.indexOf("_") < 0) { continue; } int last = fileName.lastIndexOf("_");// 最后一个下划线的位 置 String filename1 = fileName.substring(0, last); String filename2 = fileName.substring(last + 1, fileName.length() - 4); result…

迷失的“迷失”

看完了很迷失的“迷失”,从迷失的第三季就开始迷失了,最终到最后还是迷失了。“迷失”从出现要一直输入那些数字的时候,我才觉得可能是部科幻片,到之后出现什么时空转移,才肯定是部科幻片,不过科幻的内容仅仅超时空的特色,比起现在那些“英雄”,科幻的特色少了不少。“迷失”用一条线来看的,那肯定是迷失,一会认识、一会不认识的,不迷失才怪的,“迷失”的特色就是不同的时空,迷失在时空中了,看“迷失”就得有不同的时空感。那个Locke到底是个什么,从什么地方冒出来的,我一直以为黑烟就是Locke,不过,到底是不是,凭想象了。看“迷失”如果追求一个结果的,那失望大了,“迷失”给人的结果就是迷,看看中间情节吧!不同的时空,不同的人,有不同经历,同一个人,也有不同的感情,从每个人都最后,都有个变字,看看也不错,本来就是变了嘛!

从win7换到ubuntu之后

前前后后花了半个月的时间,把自己的工作环境迁移到ubuntu上面了.对我来说,最重要的就是eclipse,我装的ubuntu是64位的,jdk是32位的,之后安装了svn插件,ibatis一些常用的插件。好多windows下的软件还要常常要用的,wine必须要装的,刚好wine发布了1.34的版本。自己下载编译,这样装的稳定些。插一句,我很佩服这个软件的,我知道wine这个软件时,是wine发布1.0正式版的时候,wine发布1.0的正式版,用了15年。做一个开源的软件,用了15年,不容易,相当的不容易,和做人一样,做一件能坚持15年的事情,不容易。再就是装QQ了,对qq,我的要求也简单,可以聊天,稳定,能把备注姓名显示出来,聊天记录能保存,就行了。目前能达到这样的,没发现。勉勉强强用的是QQ2009SP6的版本,不是很稳定,经常崩溃。现在经常要使用虚拟机,开始用的是vmware server2,折腾了两天,终于装起来了,但问题还是出了一大堆,最后就装了vmware workstation7.1,用这和windows一样。其他一些ssh,ftp,图形等工具,在linux都有对应的工具,这样的一个工作环境基本满足了我的需要。可等我装好了这一切的时候,好像感觉没必要一样,换了工作环境又能如何。要实际常常使用的还必须在win下面。

IT人睡眠不足的惊人恶果

IT人睡眠不足的惊人恶果成年人通常需要每晚睡7到9个小时才能感到恢复彻底、状态良好。然而,美国人的睡眠时间与过去相比越来越少。全国睡眠基金会在2005年的一次调查中发现,美国人平均睡眠时间为每晚6.9个小时,与19世紀过相比,每晚减少约2小时,与50年前相比,每晚减少1小时,甚至与2001年相比也减少了约15至25分钟。遗憾的是,我们没有很好地意識到睡眠不足的不良影响。宾夕法尼亚大学的研究人员要求志愿者在两周时间内每晚睡眠时间少于6小時。这些志愿者只是稍稍感到睏 意,并认为他们的身体咿D相对正常。然而,測試表明,两周时间里,他们的认知能力和反应时间逐渐下降。到测试结束时,他们健康受损程度那些48小时不睡覺 的实验对象是一样的。不仅如此,睡眠过少的后果可能不只是认知能力和情绪问题。芝加哥大学的研究人员已经证明,睡眠过少能够改变体内某些激素的分泌。这些变化会促进食欲,削弱对饱食的感觉,井改变身体对糖类摄入量的反应,导致体重增加,增加患糖尿病的风险。由凯斯-西部保留地大学医学院的苏珊·雷德兰及其同事进行的一项研究显示,高中生的睡眠时间与肥胖程度成反比。睡眠时间越短,超重的可能性就越大,睡眠时间为6到7个小时的学生身体超重的可能性是睡眠超过8小时的那些学生的2.5倍以上。 在人们发现睡眠不足和肥胖之间可能存在联系之前,研究人员已经把睡眠不足和高血压、心脏病患病几率加大联系起来。 好消息是,充足的睡眠可以抵消这些影响。研究发现,让实验對象連續兩天睡10个小时可以把激素水平平恢復到正常,饥饿感和食慾水平下降近25%。"原文网址:http://www.cnbeta.com/articles/114902.htm

倒霉真遇到了吗?

真的是遇到倒霉了吗?相信还是不相信啊!熬了几个通宵,终于到周四系统割接上线,本来打算早走的,同事手里的活搞不定,硬是挨到了早上8点,才回去,12点去了公司,出了大事了,我们的正式库连接了人家测试库,系统出问题了。昨天我都看出来点倪端,怎么就没有去细细查一下啊!创了大祸了,以前还有经理在顶着,今天经理请了婚嫁回去了!昨天晚系统上线的主力今天都没来,我一个人能顶个什么啊!顶着,真怕!怕事情没有处理好!系统更新的问题解决了,我操作数据库的时候,又大意了,删了不该删的数据,请我们的DBA恢复了,但恢复了多少,肯定还有部分数据没有被恢复,咋搞啊!自己订了一台电脑,被告知已经到了,下午也想出去走走了,跑了大半个南京,终于在人家下班之前,拿到了,心里还想着,还好,有点安慰了,我的电脑来了。电脑是在22号就到了,快递的人说,他们都是集中在周末才送的,什么嘛!快递,快递,这叫什么快递啊!回来的时候,堵了20多分钟的车,堵吧!堵吧!让我也好好想想。回来了,电脑很漂亮,很兴奋,装的是windows7 home系统,肯定不能用这个了,成功的升级到了旗舰版,一个D盘200多G,太大了,按照我的计划,30:50:80:80:80,这样来分,重装系统,分不了区,好歹也玩过电脑,用这个盘,用那个盘都装不了系统,用一些工具查了一些,硬盘有问题,修复也是失败,真崩溃了!咋办啊!周末还有一个培训,被领导点名要求去的。今天一个,就这么倒霉的啊!倒霉的事情一件接着一件,能不能帮一下我啊!前两天刚看到我朋友的话,我不是圣人,我也仅仅是个普通人。一向认为我自己能抗事情,我一直在挑战我自己,这次,我能抗过去吗?拜托,给我的信心吧!明天去检修电脑,希望我的认为是错误的。仅此而已!

学会安静[学会系列]

最近有些吵闹,因为吵闹所以烦,做不好事情,生气。学会安静,安安静静的,做好自己的事情。