作者归档:Jacob Nie

所缺乏的坚持

不知道从GAE到这里算不算一种坚持,因为中间也并没有断开,但已经有相当长一段时间更新博客的频率基本在一月一次了,确实对不起浪费在这里的钱。我虽然没做过成功的人,但通过观察可以了解到,坚持是每个成功人背后应该拥有的基本素质,对自己信念的坚持属于大坚持,保证自己的人生不偏向,对自己近期目标的坚持是小坚持,汇少成多,为自己的成功打基石。整个2012,我所做的事情 并不少,但更多的是停留于表面的现象,却没有最终的坚持。其实从这个方面来看,我的2012能留下来什么?能坚持下来的东西都是比较好的,人生要懂得有取舍,不舍不会有得。舍弃干扰自己正常生活的事情,舍弃一切阻碍自己人生发展的事情,人生虽然不一定需要规划,但只有好好规划的人生才能活的更精彩(听别人说的),相信不相信都由你自己来决定。碌碌无为是一生,忙忙碌碌也是一生,雁过留声,人过留名,所以我们走过的地方要有人能够刻我们,不然白来世上一遭了。

我缺乏坚持表现在很多方面,涉及到知识面广,但坚持下来的知识不多;兴趣比较广,但专业的比较少;看的比较多,记住的比较少;用的比较多,坚持用的比较少。往往得意于一时的所得;时常在想,如果我能把自己知道的哪怕坚持下来一两样,也不至于像现在这个样子。但在这样想的时候,又从身边浪费了好多时间与机会去做一件自己认为正确的事情。

还是有进步的,虽然我不擅长坚持,但零零星星的阅读也让我尝试着写点东西,当然写的任何东西最终也都是给自己看的,但起码可以使自己不要那么轻易的忘记。这也算是坚持下来的一项成果吧

最想写东西的时刻

给这次写东西做一下预计:中途而废。说这样的话不是没有原因的,每次开始的时候都想到有很多东西要写,但刚写个开始,接下去要说什么怎么也想不起来了,又或者有其他的因素导致我离开了自己的写作,然后会看到很多半半烂烂的作品在自己的草稿箱里。

关于技术方面的问题,每次遇到问题解决了我就会按照自己的解决方式记录下来,以备下次再忘记。但关于其他方面,写作没有一个固定的时间,也没有一个固定的想法。想写了就写,就像头面所说,往往写个开关就不知道怎么再继续下去了。现在我们说最想写感想的时候是什么样的时间,是你不想做正常的工作,但又不能做非常的工作(或不能),你不想干自己不喜欢的事,但你又不能干自己喜欢的事情,再有一个是心情极度的低落,会想到原来我还有一个地方可以说话,可以倾诉,但效果不好,往往倾诉个开头下面就不知道怎么继续下去了。

能产生写作的冲动,则也是有思想的时候,不然当你词穷的时候,一个字也写不出来,或者写出来的都只能算字,没有实实在在的意义,以后回忆的时候也没有任何的感情在里面,顶多算是写了一点东西而已。今天的心情复杂主要来源于移动电源,本来是一件好事情,没想到颜色给发错了,就找客服解决这个事情 ,本来是想让他们给点优惠,就算了,白色和粉色也没有那么多的差别,但那个客服一直支支吾吾,不知所云,我已经给他们算过了,我拿回去退他们也要出运费的。于是一生气选择了退货。但退货的经历又不是一帆风顺的,找了一家快递公司说我要寄电池,人家直接说不收。后来学聪明了,说是移动电源,这次人家说来了,但直到现在还没看到人影。问到圆通为什么比速尔贵的时候,收货员一脸(想象的)傲气的说,你怎么拿我们跟速尔比,你怎么不拿我们跟顺风比……,我直接没说下去,挂电话了,以为我没寄过快递,以为我离了他们家就活不了了。包装的时候一直找不到宽的透明胶,以前不需要宋的时候天天在眼前晃来晃去,今天有点事找他,他一个下午都没看到人影,气的我也没有任何想法了。

然后相关再在网上买一个移动电源,但看来看去都找不到更合适的,即使是同家店,也不知道是周末到还是下周到,所以也没敢下单。

一天遇到这些事能不让人窝心么?

JavaScript正则表达式定义常用方法

正则的定义:

var reg = /pattern/igm;
var reg = new RegExp(‘pattern’, ‘igm’);

1. 其中i的意思是忽略大小写,如:

不加i

reg = /test/;
str = ‘tEStab’;
reg.exec(str);//返回null

加上i

reg = /test/i;
str = “tEStab”;
reg.exec(str);//返回["tESt"]

2. g的意思是全局查找,

不加g

reg = /tes[ta]/;
str = ‘testatesab’;
reg.exec(str); //返回["test"]
reg.exec(str); //返回["test"]

加上g

reg = /tes[ta]/g;
str = ‘testatesab’;
reg.exec(str); //返回["test"]
reg.exec(str); //返回["tesa"]
reg.exec(str); //返回null

3. m的意思是指让^和$匹配行首和行尾

不加m

reg = /^b[ac]/g;
str=’ba.sinnbcsohu’;
reg.exec(str); //返回["ba"]
reg.exec(str); //返回null

加上m

reg = /^b[ac]/g;
str=’ba.sinnbcsohu’;
reg.exec(str); //返回["ba"]
reg.exec(str); //返回["bc"]
reg.exec(str); //返回null

正则的常用方法:

1. exec方法

result = reg.exec(str)
//返回的result是一个类数组的对象,如果在chrome的console里看到是数组,其实使用for in可以得到另外两个只读属性index, input
for(a in result) console.log(a + “:” + result[a]);

结果如下:

0:tESt
index:0
input:tEStab
result.input存放匹配的原始字符串,result.index是当前匹配的索引,其作用是当我们使用了g修饰符时,它是多次执行reg.exec(str)的依据;数据里依次存放匹配到的字符串,和正则中小括号匹配的分组数据,如:
reg = /tes(t)/;
str = ‘testab’;
reg.exec(str);//返回["test", "t"]
exec方法也同样影响RegExp(稍后介绍)

2. test方法

reg.test(str)
//测试是否匹配成功,若成功返回true,否则返回false。跟exec一样,其也返回结果,存放在RegExp.$*几个变量中,其中RegExp.$input, RegExp.$_表示输入字符串,而RegExp.$1 – RegExp.$9表示匹配的变量

3. RegExp对象

如果直接使用console.log(RegExp),function RegExp() { [native code] },这也是正则的构成方法,使用for in来看一下其中的变量:

reg = /tes(t)/;
str = ‘atestb’;
reg.exec(str);//结果为 ["test']
for(name in RegExp) console.log(name + “:” + RegExp[name]);

结果如下:

input:atestb
multiline:false
lastMatch:test
lastParen:t
leftContext:a
rightContext:b
$1:t
$2:
$3:
$4:
$5:
$6:
$7:
$8:
$9:

其中RegExp.input = RegExp.$input = RegExp.$_,RegExp.multiline表示m标签符是否被设置

总结

当然,能用正则的方法还有String对象的match, replace, split, search等方法,有时间再做一次介绍。这里只是介绍其使用方法,对于如果写正则表达式没有深入讲,内容还有很多
推荐阅读:JavaScript正则表达式

CentOS 6.2修改DNS

修改DNS如果只是修改/etc/resolv.conf,再进行service network restart,会发现原来修改过的内容又回去了。所以只配置这里是不能够修改DNS的。

找到你目前正在使用的网上,一般是eth0

  1. vim /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 修改里面的DNS1和DNS2为自己的DNS指向
  3. service network restart

这样做,resolve.conf就会自动修改了;如果还没有修改,则查一下是不是自己刚才找的网卡不对,另外再检查一下其他网卡的设置,找出可能的网上再修改一下;

另外我觉得,使用ifconfig修改ip地址也不是一个持久的做法,重启机器后也就不见了,所以最保险的办法还是修改ifcfg脚本,然后重启服务

从搜索ORA-21561对比博客写作方法

前段时间做全文检索的时候,需要使用到python连接oracle数据库,测试机上已经没有什么问题,但部署到服务器的时候产生了一个错误ORA-21561,于是我进行了艰苦的搜索工作……

当然,谷歌会以中文的为主,基本上,如果中文也有答案的话且不是特定查询(指查facebook, cnn这种比较明确的查询),基本上第一条都是中文,查询ORA-21561,得出第一条结果地址是http://www.itpub.net/thread-865749-1-1.html;再看我认为比较负责任的外国博客的答案:http://chaos667.tumblr.com/post/20006357466/ora-21561-and-oracle-instant-client-11-2;对比两者,因为itpub是以论坛的形式发出来的,所以提问者只要自己的问题能解决就可以了,不考虑过多的描述;但也给我们造成了极大的困惑,其描述如下:

今天遇到个奇怪的问题,用SQLPLUS登陆数据库的时候,总提示我:ORA-21561: OID generation failed ,然后就通知我密码不对,但我用PL/SQL是可以进到数据库里,查了半天,竟然是/etc/hosts文件里有配置ip地址和机器名,由于机器名被改,这里也一定要改掉机器名!特发此贴,以资共享!

当然,作为已经解决问题的人,我来看这段话也并没有什么难以理解的地方。但当时我确不理解,可能是限于自己的学识有限,我不能明白hosts和机器名的关系,因为我一直使用windows,我知道 127.0.0.1 可以使用localhost代替,也可以设置其他的名称指向其他的地址,如我们谷歌就是使用hosts代理。按我的理解,hosts只有两列,第一列是ip,第二列就类似于域名一样的东西。现在我们从ORA-21561得出的问题是我连接数据库服务器有问题,由于我的连接串是这样写的:’yzjs/111111@192.168.1.3/genome’,其中并没有涉及到需要hosts解析的地方,即使有解析出问题也应该是当我将ip地址用机器名的时候才出现问题,而那时也应该是要填写对方的机器名和ip到我机器的hosts里面。况且,我也不明白他说要把我机器名加入到hosts具体应该怎么样操作,所以想到这里,我只能将这条给忽略了,而接下来我看到大量都是这样的回答,几乎找不到第二种,直到我看到上述的英文网站;

这个英文博客网站的说明很清楚,你照我的1,2,3,4来做一遍,这个步骤写的非常详细,即使一个不懂电脑的人也会按照这样的流程做一遍,按照这样的说法做了一遍,结果成功了!而又让我了解到了,原来hosts可以有三列,第三列是主机的别名,局域网内使用,而我的问题就出在第三个参数的设置上,由于网络管理员将安装完的机器修改了主机名,但在hosts里的别名却不会更新,造成本机的机器名和hosts的别名不一致,传递过去的信息不一致被而被退回了!而这篇文章从如果查机器名到如何个性hosts都做了详细的说明,其实要做到这样才能成为永久被保存的项

 

CentOS 6.2图形界面和命令行调整方法

经常用到需要将图形界面调整到命令行界面的时候,对于大部分linux系统来说,只需要修改以下配置

  1. vi /etc/inittab
  2. 找到id:5:initdefault:
  3. 将其中的5改成3,保存退出
  4. reboot

重启后即可进入命令行,如果想再次进入图形界面可以使用

  • startx
如果后悔了,想每次都进入图形界面则:
  1. vi /etc/inittab
  2. 找到id:3:initdefault:
  3. 将其中的3改成5,保存退出
  4. reboot

另外查看当前release的版本,如:我当前是CentOS,但我不知道具体的版本号可以用以下命令

  • lsb_release -a
  • cat /etc/redhat-release

想查看我linux内核的版本以及我系统版本是32位系统还是64位系统,可以使用以下命令

  • uname -a

以下命令有待验证:

  • ctrl+alt+1 …… ctrl+alt+6一共六个控制台可以切换,由于我安装虚拟机,ctrl + alt跟虚拟软件有冲突,所以没实验成功

机房记录

专业机房很少去,到目前为止才去过两家,一家电信,一家就是这家,地址:泰谷路77号

第一家的时候感觉比较严格,进去都要安全锁的,但是有一个问题就是管理人员跟机房之间就没有什么安全的东西了,而第二家,也就是下面这家,机房管理人员跟真正的机房是完全隔开的,其实就是在两个楼里面;这样的好处是大家减少了辐射,但不好的地方是要去处理一些事情都要跑到里面才能处理。这家的机房还有更搞笑是的有很多铁丝网,好像分属于不同的主机托管单位;整体感觉里面太挤了,相比前一家调试起来不方便;另外这家单位办公环境也真不怎么样,到处都给人一种乱的感觉,但具体到让你指出哪里乱了,你也不能很好的指出来,总体来说机房的环境比办公环境要好很多(除了噪声和辐射)

IMG_0268

机栕看起来整齐

 

IMG_0267

铁丝网真不知道是用来做什么的

及时的问题

正当我困于某些事情的时候,有些事情可以逃避一下,你就会把这个原本会给你造成困扰的问题优化看待。

“便宜没好货”应用于我的VPS来说是再合适不过的,不过现在还有客服能够帮解决问题已经是很不容易的一件事情了。到时候所有的客服都不再理你的时候,服务器里面的东西真就都成了他们的了……

问题是这样的:已经有过三次这样的情况发生,当我打开我的网站想看看自己成果的时候,出来的总是phpinfo(),然后里面显示的服务器信息是windows nt,第一次出现这种情况的时候,我在想是不是我的服务器被别人给替换掉了,因为那里离要我续费已经不远了,难道是提前关闭?我联系了客服,他们过了好久才解决,其实并不是他们通知我的,他们通知与否我也不知道了,只是突然间我发现自己的博客又可以访问了,我想他们已经调整好了。而这一次我只当它是一次偶然事故,以后基本也不会发生了,也就没再追问是什么问题。

第二次,也就是上周五,又出现了这种情况,我也不怎么担心,因为我知道这次又是把ip给搞错了,但这次也最令人气愤;因为是比较晚的 时候,第一个客服说他不太会解决,让我第二天再来反映这个情况。我当然想越快解决越好,就让他给我转了其他的客服;中间大概转了三次客服,有一个特别牛叉,说自己很忙,让我赶快说问题,最后还很不耐烦的说我不告诉他ip地址他没办法解决,但事实是我一开始跟他说话就把用户名和ip都告诉他了;知道这一情况后,虽然我们通过QQ聊天,但我知道他脸上肯定是挂不住了,然后就发狠说少跟我来一套什么的……我也没明白他到底什么意思就直接把我踢到了第一个客服的那里;最后的结果我只好联系他们在淘宝的客服协助解决问题,大概过了20分钟问题解决了,但问题是这件事情怎么发生的以及以后还会不会发生都没有做出任何承诺,我一再追问也没人理我。

第三次,也就是刚刚发生,由于最后两次发生的时间实在太近,所以告诉我很不舒服的感觉,但这次的客服态度倒是没有问题,但解决完以后仍然没有任何回音,我对于以后是否还会发生这样的问题不敢想象

 

OCA证书

很惊奇会先下来OCA的证书,突然收到ORACLE发来的一封邮件,说让我下载OCA证书。但我的目标是OCP,所以目前还不清楚这张证书是否需要申请他们发送过来,我彩打了一下,跟真的证书差不多,然后再这里保存个备份吧
文件名:oca证书.pdf, 访问地址:http://www.kuaipan.cn/file/id_27168653149473662.htm

忙了一上午,得了三等奖,不值

刚结束读书交流的活动,本着交流的目的去的,事先的考虑也只是一种交流,但到最后去演变成了一个演讲,还请了一些所谓的“评委”,听一些不知所云的讲话,真是一种折磨……

如果只是一个交流活动,即使没有啥奖品也会大家也都能开心的体会到下一步要读什么书,有哪些人生的感悟在里面。但这次的读书明显是有针对性的,要跟我们的十八大,跟上海的精神结合起来,然后再脱稿以主持的的心情“读”出来;不知道下面听的人又做何感想?是给讲给人听,还是做给人看?是让人在交流中升华还是在听您的宣传?

如果读书活动最后却变成了宣传活动将是十分可悲的一件事情。

辛苦做了PPT,虽然内容不怎么样,找模板还是花了很长时间,留下来做个纪念吧

一句顶一万句