休息一下

休息一下

突然想起小时候看的一休哥,要加广告的时候,总是说休息一下,然后意犹未尽的我们就 失望了,等待这广告的结束

也许最近真的太累了,也有可能是长时间的持续神经紧张,让我麻木了。

那就休息一下,明天出去骑车

tcp接口对接

tcp接口对接

最近一直在跟着老大搞一些接口对接的事情。由于接口是tcp接口,所以用到大量的关于网络编程的知识,所以做一下简单的总结。

开始

首先,既然是接口对接,就必须先要连接上再说,只有连接上了,你才能干想要干的事情。

  1. 基本的tcp连接,知道对方的端口和地址,直接就能连接上。
  2. 连接验证,一般对方会需要你填写用户名密码之类的东西,所以这里经常出现问题,一般是如果验证不通过,对方不会回复任何消息。
  3. 验证连接,对看对方给的文档,多问问对方的开发人员,因为这个步骤通了,其他的步骤也就简单了。
  4. 加密验证,本次连接中,对方要求使用bluwfish加密算法做对称加密,但是blowfish加密的时候,需要自动补全字符,字符数量必须是8的整数倍,对方给的文档中没有提到, 他们使用什么补全,位置给了一个列子,例子中的东西也不能执行,于是只能猜,尝试无数结果,发现对方使用的ASCII的第一个字符0作为填充。这是一个不可见字符。
  5. 对方返回的数据是xml结构的,所以我们就必须将信息解密之后,再进行xml解析,得到想要的数据。
  6. xml解析,解析方法有多个库,不过由于数据量比较大,并且用户多了以后数据量上升就会是数量级的,所以必须有所取舍。
  7. 使用同步编程,简单的完成请求和对请求结果的处理。

这是一个最基本的过程,当这个过程完成之后,就开始实际业务的对接处理。

虽然是说是业务对接,其实是代码的第一次重构。首先确定重构的部分。

  1. 连接部分的重构,确保连接之后不中断,和中断之后自动重试连接。这部分代码定了之后,会很少改动的,因为它处于程序的底层。
  2. 数据发送和解析重构:
    1. 当然最初我们为了快速的验证接口的可用性,发送数据是一个恒定信息,面对业务时,我们需要根据具体的业务, 对发送的消息进行填充,简单来说,并且这样可以面对基本的业务需求。
    2. 返回数据的解析,因为返回数据的确定性和不确定性,导致如果没有一个好的通用处理,将会出现很多负面的影响, 比如再次迭代时带来的开发速度减慢。
  3. 使用编程技巧,将网络开发变成合理的现实生活模拟。

    1. 使用异步回调,将每一个来自前端api的请求进行回调注册,然后发送信息个tcp服务器,最终将得到的数据使用回调函数处理。
    2. tcp服务器可以被动的发送数据,同样可以主动的发送信息。被动信息使用回调处理,主动信息,直接处理,这些主动信息可能是一 些需要入库的数据或者是需要放入缓存的数据
    3. 将所有的模块根据项目的实际用途进行划分。

再次重构

重构对于后端工程师而言,是一个很大量的重构工作占据的整个项目开发的%80的时间,或许以前我很少这样认为。

但是这次我真真切切的感受到了

还是要感谢带我的老大,让我能每天打酱油一样的工作和不断的学习他的各种对于编程的哲学。

杂记

杂记

北京的旅程开始了,于是开启的全新的世界

大学毕业总是要写一些总结,要不然真的以后又会遗忘一些记忆

四年总结

时间总是那样快,快到令人窒息,在这四年中我也渐渐的明白了,原来我现在对于生死,已经看的很开,也就是享 受每一天,享受每一天的阳光,每一天的欢笑,品每一杯咖啡,让每一段时间都是属于自己的时间,爱上生活,享 受生命带来的奇迹

四年当中,认识了好多人,也渐渐的发现时间这个可怕的东西,他会吞噬一切,不管好的,还是坏的,尽管好的多 余坏的,每一个人的到来都注定了要离别,相遇 ,离别成了生命中不断重复的主旋律,有时也会戛然而止,然后 自己开始若有所思,开始珍重每一次相遇,开始做好每一次的道别。

毕业时,竟然意外的没有喝醉,可能是自己没有给自己找到一个喝醉的理由吧,也是真的没有理由

  • 为了爱情吗?这个不用吧,毕竟单身狗没有爱情,也就不必买醉

  • 为了友情吗?这个不用吧,毕竟我知道,我想你了,我就回去看你,你只用在你们那里的长途客车站或者火车站 接我就行,好朋友道声珍重,注意身体,以后还要不断见面的。

  • 为了成就吗?这个不用吧,毕竟我顺利的毕业了,这个已经很荣幸了,毕业设计做的人是头昏脑胀的,其实主 要是心情烦躁不想做而已,离别的一切都会,随着毕业设计答辩二结束,从而结束大学生活。这些心情是最令人深 刻的,就好像你一回头发现大家都不见了,深深的自责,没有好好的道别

其实这些都是理由,但是总感觉醉酒不好,毕竟我已经过了三两杯酒就能各种吹牛的年纪,再说到了大学最后,你 知道谁是朋友,尽管最后连一顿饭都没有一起吃,但是你知道友谊地久天长。

很多人我都想好好的给他们写一个肖像,但是发现自己如果真写出来,很多特点可能真的没法写,也许大多数人写 完之后,连朋友都不是了,因为评价一个人的时候,我们大多会出于自己的主观,但是为了真实,我们又会考虑客观, 于是结局就是人家对你好,就行了,人家对别人怎么样?不关你事。

你说是不是?

大一记忆,依旧记得军训时候自己的暴脾气,虽说东北人脾气更爆,军训时候的照片感觉自己好傻逼,但是谁无 傻逼时,不过我现在好点了,下学期带着大家lol,于是大家都被我带坑了,当时可能显示出来的就是我自己的玩 世不恭。以及觉得自己很牛逼的桀骜不驯,其实说白了就是装逼而已,自己装给自己看。

大二记忆,想想有点模糊,为什么模糊?因为可能没有大事发生,好像就记得,自己大一暑假送快递,瘦了30斤 ,那时也是家里给买了电脑,于是自己就蜷缩在自己的小世界,比如系统安装,linxu学习,家教,好像就没有其 他的事情了,大二下学期,最大的事情是,我挂了三科,于是学校给家里打电话了,老妈对于电话里面的普通话还 是表示很陌生的,于是老妈打电话给我了。这个时候我应该是在深圳,哈哈哈,深圳我干了两天送餐的活,被我哥 鄙视了,其实我也很鄙视自己的,最后拿着哥哥给的回家的火车票的钱,回家过暑假去了,老妈当时让我去我爸爸 干活的工地板砖,但是我实在是不想去,赖在家里不走,过了几天工地刮大风,塔吊被刮倒了,压死了好几个人, 这事情新闻当时还播出了,后来老爸说,辛亏你没去,要不然你一定和那帮人住一起,你的命看来还是很大的;当 时大风也把我家的树刮到了,房顶砸了一大洞,自己上房也修补好了;暑假我六舅舅去世了,从头到尾料丧事我都 在,摸着冰冷的躯体,知道这是声明的最后终点,入土为安,也许苦命的一生就这样结束了,我依旧能记得去他家 他做的奇葩的饭,我六舅舅是光棍,但是我还是记得他很喜欢我和哥哥。

大三记忆,这个上学期一直沉静大二挂科的悲伤中,因为我的三科补考都没有过,于是只能重修,想想这件事情真的 不知道怎么说自己,可能那个时候开始知道自己要真真实实的面对毕业了吧,也渐渐的不和他们一起lol了,去了一趟 合肥参加比赛,自己开始搞一些开发类的东西,期间元旦晚会时,还进行了一次无厘头的表白。大三寒假回家,三舅舅病的特别重,总 是让人感到也许每一刻都是人生的终点,不过他最终熬过了那个冬天,大三下学期,主要进行重修,压力有那样一 点,但是都不是事,也开始找实习了,最终定了去甚至实习,就要放假之时,朋友来长春实习,说让我们一起出去 玩,一切都在计划当中,最终家里传来噩耗,三舅舅去世了,接到电话的那天,买了当晚的火车票,给朋友打了电 话说了一声对不起,“也许一起都是命中注定”,感叹中自己又一次感觉到了死亡带来的失望,而不是恐惧,依旧是 冰冷的躯体,依旧周围是熟悉的亲人,依旧是入土为安,不过人数少了,渐渐的发现自己对于生命有了更加深刻的 理解。葬礼结束,我开始了自己的深圳之旅。

大四记忆,大四没有呆在学校,一直实习,在深圳这座城市里,我们不知道到底要怎么生活,可能自己还是习惯 于周围的人充满人情味。在甜品实习的记忆是那样深刻,认识了不同的人,发现了不同的世界,开始向往更加不一 样的生活,即使知道短时间不可能有什么变化,但是我知道我不一样了,无聊时自己去野海滩玩玩,闻闻腐烂味的海风, 三月辞职了,开始做外包,这个日子是我最痛苦的日子,没有之一,你永远都不知道什么时候需求会变,什么时候 他们会打电话,什么时候需要加功能,没有双休,一切都是痛苦的根源。四月去了湖南,玩了几天,然后回西安玩 了两天,然后回学校,开始毕业设计。

情感记忆

什么叫做对,什么叫做错,你永远也不知道,但是你知道自己曾经真的炽热的爱过一些人,一些事,自己经历过的 可能最终会成为别人眼中的故事或者一个笑话。

什么是生活

也许就是体会到了需要生存下来的各种必要条件,你要工作,你要吃饭,你要住房, 你要结婚,你要。。。

但是活着或许真的辛苦,真的

上班到今天已经过去一个半月了,感觉自己的工作还是做的力不从心的,每天不知道自己要干什么, 想要辞职,但是又怕辞了,之后也许连房租都交不起了,可能就是拖着,也可能是自己还没有完全适应工作生活。 第一次为了生存,感觉到了生命的无奈和难能可贵。

公司工作一切都挺好的,老大在带我的时候,也是很负责,也很抱歉总是打扰到了他的工作。 经常我自己挖的坑他去填了。这是我在这个陌生城市里面最大的安慰之一。还有一个安慰就 是在这个城市里,我有可以畅谈的朋友

今天和马哥去爬山了,爬到半山上,我们就回来了。去吃了羊肉泡馍。然后去他住的地方溜达了一下。

畅谈之时。我们聊到了一个问题,关于程序员工作的终点。是转行?还是成为业界大牛。马 哥认为当天社会上很少看到年龄很大的程序员,可能的原因就是因为有一帮很水的程序员,水 到仅仅能完成基本的工作。只会一种技能,当技术变革了,他们也就是失业了,于是就制造 出了程序员很少看到年龄很大的这个论调。是技术将他们淘汰了,是技术淘汰了他们。

马哥见我时说了一句“你越来越屌丝了!”,我才意识到,是真的,我越来越屌丝了,头发 也不会很注意,出门也不换个衣服,一双鞋穿了好久了,也没去买新的,不知道自己麻木还 是自我麻醉,或者是对生活还是出于自己大学时的状态。

今天和女神聊微信,女神去了重庆工作,就偶然提到自己的被朋友说“你越来越屌丝了”, 女神说了一句,毕业了不能不注意自己的形象了,不能在那样不修边幅了。这样下去你会 找不到女朋友的。突然发现自己的生活还在原地踏步走,就像口号喊的那样“一二一”。

生活的中点点滴滴,都在不断的变换,植物发芽,芝麻开花,咿呀学语,满头白发。

前两天自己嘴贱,和室友聊天时,说了一句“就等着你打扫”,对于有洁癖的她来说, 这句话无疑毁了一切,无疑自己将自己贱死了。别人的辛苦,换来了我这样的令人不可饶恕 的话语,我还是要用男生神经比较大条来做“推脱之词”,但是对于心思细腻的我来说,这 样的事情,或者是这样不过脑子的话,我是不应该说出来的。这些年中,我对自己从来没 有过心直口快的评价。

一切都会不断的继续,不断的重复,不断的让人回忆或者期待。

未来,就是还未到来。你需要等,努力的等,不断的生存着,不断的习惯不同的世界

数据库定义为varchar,

我竟然使用int,

太坑了,

检讨一下,

浪费半天时间

时间不尽,后会有期

实习了七个月,终于离职,这一刻感到的是不舍和轻松

没有了每天的时间很紧张的感觉,睡到自然醒,然后起来看看想吃什么,刚刚还在烙饼

毕竟我来公司的时候公司研发也只有四个人,我们一共才14个人,

现在研发10个人,公司人数现在31个,自己也算是公司的老人了

真的很舍不得这个环境,毕竟每一个人都是那样熟悉

找很多同事和领导谈了一下对自己的看法和有什么需要叮嘱我的

总结下面几条

1.公司给的任务,自己觉得有可能不太清楚的,一定要问清楚,不要觉得是这样,
就是这样,最后做出来了,领导说“不对”,你说,“白纸黑字你写的”,即使最后自己
没有被责罚,但是我们多问一句,这个问题就不会出现

2.自己接到一项任务,看看这些任务要调用那些人,调用那些资源,先把所有的资源
过一遍,看看大概什么时间可以准备齐全,自己时刻跟进自己的任务,时刻保持和他
人的沟通,不要犹豫,不要妞妞捏捏

3.一项任务完成了,不要觉得这就完事了,不是的,你还有很多事情要做的,跟进
这个任务的后续任务或者你觉得可能的连带任务

4.做好每一条数据,上线之前多做几次check,直到自己认为没有问题,再去让需求check,
不要因为自己没时间check而把任务丢给需求方,这样工作进度明显会被拖慢。

5.及时沟通,遇到问题说出来,即使很傻B的问题,问多了,自己就不傻了,也能更好的开展工作

6.多跟自己的领导交流,而不是领导找你,这样工作心情也是会很愉快的

7.英语,学好自己的英语,程序员不会英语怎么可以!

8.现在还有时间,多玩玩,好好玩几个月,下来就没有机会了!

9.不管什么时候回来,甜品人都是你的家人

时间不尽,后会有期

linux服务器重启之后postgresql 无法启动

postgresql 重新启动 linux 先找到安装目录(使用编译安装) 然后在postgre账户下面

./pg_ctl start -D /user/local/pgsql/data

此时应该可以成功登陆了

但是我的提示

postgres@AY140721213320376387Z:/usr/loca/pgsql/bin$ ./pg_ctl start -D /usr/local/pgsql/data
server starting
postgres@AY140721213320376387Z:/usr/loca/pgsql/bin$ LOG:  could not     bind IPv4 socket: Address already in use
HINT:  Is another postmaster already running on port 5432? If not,  wait a few seconds and retry.
LOG:  database system was shut down at 2015-01-27 11:53:59 CST
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started

说是我的5432端口被占用,查看被谁占用

ostgres@AY140721213320376387Z:/usr/loca/pgsql/bin$ lsof -i
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
postgres 2214 postgres    3u  IPv6  14552      0t0  TCP     *:postgresql (LISTEN)
postgres 2214 postgres    7u  IPv4  14562      0t0  UDP localhost:  46020->localhost:46020
postgres 2216 postgres    7u  IPv4  14562      0t0  UDP localhost:  46020->localhost:46020
postgres 2217 postgres    7u  IPv4  14562      0t0  UDP localhost:  46020->localhost:46020
postgres 2218 postgres    7u  IPv4  14562      0t0  UDP localhost:  46020->localhost:46020
postgres 2219 postgres    7u  IPv4  14562      0t0  UDP localhost:  46020->localhost:46020
postgres 2220 postgres    7u  IPv4  14562      0t0  UDP localhost:  46020->localhost:46020

还是没有发现,切换到具有sudo权限的账号执行:

sudo lsof -i:5432
COMMAND   PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
postgres 1266 postgres-xc    3u  IPv4  10239      0t0  TCP  localhost:postgresql (LISTEN)
postgres 1266 postgres-xc    4u  IPv4  10240      0t0  TCP  localhost.localdomain:postgresql (LISTEN)

发现问题,postgres-xc 这个账户占领了5432

postgres-xc@AY140721213320376387Z:/usr/loca/pgsql/bin$ lsof -i:5432
COMMAND   PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
postgres 1266 postgres-xc    3u  IPv4  10239      0t0  TCP localhost:postgresql (LISTEN)
postgres 1266 postgres-xc    4u  IPv4  10240      0t0  TCP localhost.localdomain:postgresql (LISTEN)

杀到他。

postgres-xc@AY140721213320376387Z:/usr/loca/pgsql/bin$ kill 1266

然后

postgres@AY140721213320376387Z:/usr/loca/pgsql/bin$ ./pg_ctl start -D /usr/local/pgsql/data

server starting
postgres@AY140721213320376387Z:/usr/loca/pgsql/bin$ LOG:  database system was shut down at 2015-01-27 11:58:33 CST
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started